diff --git a/Readme.md b/Readme.md index b251df6..06b7755 100644 --- a/Readme.md +++ b/Readme.md @@ -54,7 +54,7 @@ import "sigpro-ui/css"; const App = () => { const show = $(false); - return Button( + return button( { class: "btn-primary", onclick: () => show(true) @@ -77,7 +77,7 @@ import "sigpro-ui/css"; // All components (Button, Table, Input, Alert, etc.) are now globally available. // No need to import anything else! -const myApp = () => Table({ items: [], columns: [] }); +const myApp = () => table({ items: [], columns: [] }); ``` --- @@ -91,10 +91,10 @@ import "sigpro-ui/css"; const App = () => { const count = $(0); - return Div({ class: "p-10 flex flex-col gap-4" }, [ + return div({ class: "p-10 flex flex-col gap-4" }, [ H1({ class: "text-2xl font-bold" }, "Welcome to SigPro UI"), - Button({ + button({ class: "btn-primary", onclick: () => { count(c => c + 1); @@ -148,7 +148,7 @@ import { tt, Locale } from "sigpro-ui"; Locale('en'); // Use translations -const closeButton = Button({}, tt('close')()); +const closeButton = button({}, tt('close')()); ``` --- diff --git a/components/accordion.js b/components/Accordion.js similarity index 81% rename from components/accordion.js rename to components/Accordion.js index 2fb8d35..e25582b 100644 --- a/components/accordion.js +++ b/components/Accordion.js @@ -1,7 +1,7 @@ // components/Accordion.js import { h } from "sigpro"; -export const Accordion = (props) => { +export const Accordion = (props, children) => { const name = props.name || `accordion-${Math.random().toString(36).slice(2, 9)}`; if (props.items && Array.isArray(props.items)) { @@ -9,7 +9,7 @@ export const Accordion = (props) => { props.items.map(item => h("div", { class: `collapse ${item.class ?? ''}` }, [ h("input", { type: "radio", name, checked: item.open }), h("div", { class: "collapse-title text-xl font-medium" }, item.title), - h("div", { class: "collapse-content" }, item.children) + h("div", { class: "collapse-content" }, children) ])) ); } @@ -17,6 +17,6 @@ export const Accordion = (props) => { return h("div", { class: `collapse ${props.class ?? ''}` }, [ h("input", { type: "radio", name, checked: props.open }), h("div", { class: "collapse-title text-xl font-medium" }, props.title), - h("div", { class: "collapse-content" }, props.children) + h("div", { class: "collapse-content" }, children) ]); }; \ No newline at end of file diff --git a/components/alert.js b/components/Alert.js similarity index 100% rename from components/alert.js rename to components/Alert.js diff --git a/components/autocomplete.js b/components/Autocomplete.js similarity index 100% rename from components/autocomplete.js rename to components/Autocomplete.js diff --git a/components/badge.js b/components/Badge.js similarity index 92% rename from components/badge.js rename to components/Badge.js index 88a9446..9cac366 100644 --- a/components/badge.js +++ b/components/Badge.js @@ -1,6 +1,6 @@ // components/Badge.js import { h } from "sigpro"; - +const colors = [""] export const Badge = (props, children) => { children === undefined && (children = props, props = {}); return h("span", { ...props, class: `badge ${props.class ?? ''}` }, children); diff --git a/components/calendar.js b/components/Calendar.js similarity index 100% rename from components/calendar.js rename to components/Calendar.js diff --git a/components/datepicker.js b/components/Datepicker.js similarity index 98% rename from components/datepicker.js rename to components/Datepicker.js index 7465752..d02a5e7 100644 --- a/components/datepicker.js +++ b/components/Datepicker.js @@ -1,6 +1,6 @@ // components/Datepicker.js import { $, h, when, watch } from "sigpro"; -import { Calendar } from "./calendar.js"; +import { Calendar } from "./Calendar.js"; export const Datepicker = (props) => { const isOpen = $(false); diff --git a/components/Input.js b/components/Input.js new file mode 100644 index 0000000..5745f40 --- /dev/null +++ b/components/Input.js @@ -0,0 +1,60 @@ +import { h, $, when, fx } from 'sigpro'; +import { get, cls, isFunc } from './_core.js'; + +export const Input = (props) => { + const { label, icon, float, placeholder, value, left, right, content, ...rest } = props; + + const showPassword = $(false); + const isFocused = $(false); + const isPassword = props.type === 'password'; + + const inputType = () => isPassword + ? (get(showPassword) ? 'text' : 'password') + : (props.type || 'text'); + + return h("div", { + class: "input-container", + onfocusin: () => isFocused(true), + onfocusout: (e) => { + if (!e.currentTarget.contains(e.relatedTarget)) { + isFocused(false); + } + } + }, [ + h('label', { class: "floating-label" }, [ + float ? h("span", {}, label) : null, + h("label", { + class: () => cls('input', props.class) + }, [ + label && !float ? h('span', { class: 'label' }, label) : null, + left ?? null, + h('input', { + ...rest, + type: inputType, + class: 'grow', + placeholder: placeholder || label || ' ', + value: value + }), + right ?? null, + + isPassword ? h('label', { class: 'swap swap-rotate ml-2' }, [ + h('input', { + type: 'checkbox', + onchange: (e) => showPassword(e.target.checked) + }), + h('span', { class: 'swap-on icon-[lucide--eye]' }), + h('span', { class: 'swap-off icon-[lucide--eye-off]' }) + ]) : null + ]), + + when(isFocused, () => fx({ duration: 300, slide: true }, + h('div', { + class: 'input-content', + onmousedown: e => e.preventDefault() + }, [ + isFunc(content) ? content(isFocused) : content + ]) + )) + ]) + ]); +}; \ No newline at end of file diff --git a/components/InputBase.js b/components/InputBase.js new file mode 100644 index 0000000..3fd2e9e --- /dev/null +++ b/components/InputBase.js @@ -0,0 +1,58 @@ +import { h, $ } from 'sigpro.js'; +import { ui, cls, get } from './_core.js'; + +export const InputBase = ({ + loading = false, + ui: uiOptions = '', + class: className = '', + type = 'text', + value, + onInput, + ...inputProps +}) => { + const isPassword = type === 'password'; + const showPassword = $(false); + + const inputClasses = cls( + ui('input', uiOptions), + className, + isPassword && 'pr-10', + loading && 'loading loading-spinner loading-xs absolute right-2 top-1/2 -translate-y-1/2' + ); + + let inputEl = h('input', { + class: inputClasses + (isPassword ? ' pr-10' : ''), + type: isPassword ? 'text' : 'password', + value, + oninput: onInput, + ...inputProps + }); + + if (isPassword) { + const toggle = h('label', { + class: 'swap swap-rotate absolute right-2 top-1/2 -translate-y-1/2 cursor-pointer' + }, [ + h('input', { + type: 'checkbox', + checked: showPassword(), + onchange: (e) => showPassword(e.target.checked) + }), + h('span', { class: 'swap-on icon-[lucide--eye]' }), + h('span', { class: 'swap-off icon-[lucide--eye-off]' }) + ]); + inputEl = h('div', { class: 'relative w-full' }, [inputEl, toggle]); + } + + if (icon) { + const isIconClass = icon.includes('-') || icon.includes('icon-'); + const iconElement = isIconClass + ? h('span', { class: icon }) + : h('span', { class: 'opacity-50' }, icon); + content = h('label', { class: ui('input', uiOptions).replace('input-', '') }, [ + iconElement, + h('span', { class: 'opacity-70' }) + ]); + } + + return inputEl; +}; \ No newline at end of file diff --git a/components/_core.js b/components/_core.js new file mode 100644 index 0000000..421c10f --- /dev/null +++ b/components/_core.js @@ -0,0 +1,61 @@ +// _core.js +import { $, watch } from 'sigpro'; + +export const ui = (base, extras = '') => { + if (!extras) return base; + const extraClasses = extras + .split(' ') + .map(part => part.trim()) + .filter(Boolean) + .map(part => part.startsWith(base + '-') ? part : `${base}-${part}`) + .join(' '); + return `${base} ${extraClasses}`.trim(); +}; + +export const get = val => typeof val === "function" ? val() : val; + +export const filterBy = (items, query, field = 'label') => { + const q = String(query).toLowerCase(); + if (!q) return get(items); + return get(items).filter(item => { + const text = typeof item === 'string' ? item : item[field]; + return String(text).toLowerCase().includes(q); + }); +}; + +export const listKey = (items, isOpen) => { + const cursor = $(-1); + + watch([items, isOpen], () => { + if (!get(isOpen)) cursor(-1); + }); + + const onKey = (e, select) => { + const list = get(items); + if (!list.length) return; + + if (e.key === 'ArrowDown') { + e.preventDefault(); + isOpen(true); + cursor(Math.min(cursor() + 1, list.length - 1)); + } else if (e.key === 'ArrowUp') { + e.preventDefault(); + cursor(Math.max(cursor() - 1, 0)); + } else if (e.key === 'Enter' && cursor() >= 0) { + e.preventDefault(); + select(list[cursor()]); + } else if (e.key === 'Escape') { + isOpen(false); + } + }; + + return { cursor, onKey }; +}; + +export const cls = (...classes) => classes.filter(Boolean).join(' ').trim(); + +export const getBy = (item, field = 'label') => { + return typeof item === 'string' ? item : item[field]; +}; + +export const isFunc = f => typeof f === "function"; \ No newline at end of file diff --git a/components/button.js b/components/button.js index 83726d5..933c3c2 100644 --- a/components/button.js +++ b/components/button.js @@ -3,4 +3,4 @@ import { h } from "sigpro"; export const Button = (props, children) => { children === undefined && (children = props, props = {}); return h("button", { ...props, class: `btn ${props.class ?? ''}` }, children); -}; \ No newline at end of file +}; diff --git a/components/input.js b/components/input.js deleted file mode 100644 index b93ac36..0000000 --- a/components/input.js +++ /dev/null @@ -1,13 +0,0 @@ -// components/Input.js -import { h } from "sigpro"; - -export const Input = (props) => h("input", { ...props, class: `input ${props.class ?? ''}` }); - -export const InputLabel = (props) => h("label", { class: `${props.float ? 'floating-label' : 'input'}` }, - [ - h("span", { class: props.float ? '' : 'label opacity-50' }, props.label), - props.left ?? null, - h("input", { ...props, class: `${props.float ? 'input' : ''} ${props.class ?? ''}` }), - props.right ?? null - ] -); \ No newline at end of file diff --git a/dist/sigpro-ui.css b/dist/sigpro-ui.css index 4e2c706..09410de 100644 --- a/dist/sigpro-ui.css +++ b/dist/sigpro-ui.css @@ -3101,6 +3101,9 @@ .top-0 { top: calc(var(--spacing) * 0); } + .top-1\/2 { + top: calc(1 / 2 * 100%); + } .top-2 { top: calc(var(--spacing) * 2); } @@ -3122,6 +3125,9 @@ .right-1\/4 { right: calc(1 / 4 * 100%); } + .right-2 { + right: calc(var(--spacing) * 2); + } .right-3 { right: calc(var(--spacing) * 3); } @@ -4153,6 +4159,19 @@ mask-size: 100% 100%; --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M21.801 10A10 10 0 1 1 17 3.335'/%3E%3Cpath d='m9 11l3 3L22 4'/%3E%3C/g%3E%3C/svg%3E"); } + .icon-\[lucide--check\] { + display: inline-block; + width: 1em; + height: 1em; + background-color: currentColor; + -webkit-mask-image: var(--svg); + mask-image: var(--svg); + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; + -webkit-mask-size: 100% 100%; + mask-size: 100% 100%; + --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M20 6L9 17l-5-5'/%3E%3C/svg%3E"); + } .icon-\[lucide--chevron-left\] { display: inline-block; width: 1em; @@ -4831,6 +4850,11 @@ width: 100%; } } + .loading-xs { + @layer daisyui.l1.l2 { + width: calc(var(--size-selector, 0.25rem) * 4); + } + } .w-3\.5 { width: calc(var(--spacing) * 3.5); } @@ -4941,6 +4965,10 @@ --tw-translate-x: 100%; translate: var(--tw-translate-x) var(--tw-translate-y); } + .-translate-y-1\/2 { + --tw-translate-y: calc(calc(1 / 2 * 100%) * -1); + translate: var(--tw-translate-x) var(--tw-translate-y); + } .translate-y-2 { --tw-translate-y: calc(var(--spacing) * 2); translate: var(--tw-translate-x) var(--tw-translate-y); @@ -5395,12 +5423,6 @@ .border-primary { border-color: var(--color-primary); } - .border-primary\/20 { - border-color: var(--color-primary); - @supports (color: color-mix(in lab, red, red)) { - border-color: color-mix(in oklab, var(--color-primary) 20%, transparent); - } - } .border-transparent { border-color: transparent; } @@ -6992,13 +7014,6 @@ } } } - .hover\:bg-base-100 { - &:hover { - @media (hover: hover) { - background-color: var(--color-base-100); - } - } - } .hover\:bg-base-200 { &:hover { @media (hover: hover) { @@ -7128,48 +7143,15 @@ :root { font-size: 14px; } -.input, .select, .textarea { +.input, .label, .select, .textarea { transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); &:focus, &:focus-within { - outline: 1px solid transparent !important; - outline-offset: 1px !important; + outline: none !important; + box-shadow: 0 0 4px 0px; } &:hover:not(:focus) { background-color: oklch(from var(--color-base-100) calc(l - 0.03) c h); } - &:focus { - --focus-color: var(--color-primary); - &[class*="-secondary"] { - --focus-color: var(--color-secondary); - } - &[class*="-accent"] { - --focus-color: var(--color-accent); - } - &[class*="-neutral"] { - --focus-color: var(--color-neutral); - } - &[class*="-ghost"] { - --focus-color: var(--color-base-content); - } - &[class*="-info"] { - --focus-color: var(--color-info); - } - &[class*="-success"] { - --focus-color: var(--color-success); - } - &[class*="-warning"] { - --focus-color: var(--color-warning); - } - &[class*="-error"] { - --focus-color: var(--color-error); - } - background-color: oklch(from var(--focus-color) l c h / 0.05); - border-color: var(--focus-color); - box-shadow: 0 0 0 4px oklch(from var(--focus-color) l c h / 0.25); - &[class*="-ghost"] { - border-width: 1px; - } - } } .floating-label span { color: oklch(30% 0.01 260); @@ -7188,6 +7170,15 @@ animation: tabFadeIn 0.3s cubic-bezier(0.4, 0, 0.2, 1); transform-origin: top; } +.input-content { + position: absolute; + top: 100%; + left: 0; + width: 100%; + z-index: 100; + background: white; + box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); +} @keyframes tabFadeIn { from { opacity: 0; @@ -7198,6 +7189,31 @@ transform: scaleY(1); } } +@layer utilities { + @keyframes fade-in { + from { + opacity: 0; + transform: translateY(-8px); + } + to { + opacity: 1; + transform: translateY(0); + } + } + @keyframes fade-out { + from { + opacity: 1; + transform: translateY(0); + } + to { + opacity: 0; + transform: translateY(-8px); + } + } + .animate-fade-in { + animation: fade-in 0.15s ease-out forwards; + } +} @layer base { :where(:root),:root:has(input.theme-controller[value=light]:checked),[data-theme=light] { color-scheme: light; diff --git a/dist/sigpro-ui.esm.js b/dist/sigpro-ui.esm.js index a12ae32..682f1b5 100644 --- a/dist/sigpro-ui.esm.js +++ b/dist/sigpro-ui.esm.js @@ -13,454 +13,481 @@ var __export = (target, all) => { }); }; -// components/accordion.js -var exports_accordion = {}; -__export(exports_accordion, { +// components/Accordion.js +var exports_Accordion = {}; +__export(exports_Accordion, { Accordion: () => Accordion }); // node_modules/sigpro/dist/sigpro.esm.min.js var y = (e) => typeof e === "function"; -var j = (e) => e && typeof e === "object"; +var P = (e) => e && typeof e === "object"; var b = Array.isArray; -var E = typeof document < "u" ? document : null; -var B = (e) => e?._isRuntime ? e.container : e instanceof Node ? e : E.createTextNode(e == null ? "" : String(e)); -var u = null; +var g = typeof document < "u" ? document : null; +var k = (e) => e?._isRuntime ? e.container : e instanceof Node ? e : g.createTextNode(e == null ? "" : String(e)); +var p = null; var _ = null; -var S = false; -var O = 0; -var A = new Set; -var k = new WeakMap; -var T = Symbol("iter"); -var L = new WeakMap; -var g = (e) => { +var x = false; +var A = 0; +var C = new Set; +var D = new WeakMap; +var $ = Symbol("iter"); +var B = new WeakMap; +var E = (e) => { if (!e || e._disposed) return; e._disposed = true; - let n = [e]; - while (n.length) { - let t = n.pop(); - if (t._cleanups) - t._cleanups.forEach((r) => r()), t._cleanups.clear(); - if (t._children) - t._children.forEach((r) => n.push(r)), t._children.clear(); - if (t._deps) - t._deps.forEach((r) => r.delete(t)), t._deps.clear(); + let o = [e]; + while (o.length) { + let n = o.pop(); + if (n._cleanups) + n._cleanups.forEach((i) => i()), n._cleanups.clear(); + if (n._children) + n._children.forEach((i) => o.push(i)), n._children.clear(); + if (n._deps) + n._deps.forEach((i) => i.delete(n)), n._deps.clear(); } }; -var v = (e) => { +var N = (e) => { if (_) (_._cleanups ||= new Set).add(e); }; -var W = (e) => { - let n = u; - u = null; +var V = (e) => { + let o = p; + p = null; try { return e(); } finally { - u = n; + p = o; } }; -var x = (e, n = false) => { - let t = () => { - if (t._disposed) +var T = (e, o = false) => { + let n = () => { + if (n._disposed) return; - if (t._deps) - t._deps.forEach((c) => c.delete(t)); - if (t._cleanups) - t._cleanups.forEach((c) => c()), t._cleanups.clear(); - let r = u, s = _; - u = _ = t; + if (n._deps) + n._deps.forEach((c) => c.delete(n)); + if (n._cleanups) + n._cleanups.forEach((c) => c()), n._cleanups.clear(); + let i = p, s = _; + p = _ = n; try { - return t._result = e(); + return n._result = e(); } catch (c) { console.error("[SigPro]", c); } finally { - u = r, _ = s; + p = i, _ = s; } }; - if (t._deps = t._cleanups = t._children = null, t._disposed = false, t._isComputed = n, t._depth = u ? u._depth + 1 : 0, t._mounts = [], t._parent = _, _) - (_._children ||= new Set).add(t); - return t; + if (n._deps = n._cleanups = n._children = null, n._disposed = false, n._isComputed = o, n._depth = p ? p._depth + 1 : 0, n._mounts = [], n._parent = _, _) + (_._children ||= new Set).add(n); + return n; }; -var D = () => { - if (S) +var q = () => { + if (x) return; - S = true; - let e = Array.from(A).sort((n, t) => n._depth - t._depth); - A.clear(); - for (let n of e) - if (!n._disposed) - n(); - S = false; + x = true; + let e = Array.from(C).sort((o, n) => o._depth - n._depth); + C.clear(); + for (let o of e) + if (!o._disposed) + o(); + x = false; }; -var q = (e) => { - O++; +var W = (e) => { + A++; try { return e(); } finally { - if (O--, O === 0 && A.size > 0 && !S) - D(); + if (A--, A === 0 && C.size > 0 && !x) + q(); } }; -var m = (e, n = false) => { - if (!n && u && !u._disposed) - e.add(u), (u._deps ||= new Set).add(e); - else if (n && e.size > 0) { - let t = false; - for (let r of e) { - if (r === u || r._disposed) +var w = (e, o = false) => { + if (!o && p && !p._disposed) + e.add(p), (p._deps ||= new Set).add(e); + else if (o && e.size > 0) { + let n = false; + for (let i of e) { + if (i === p || i._disposed) continue; - if (r._isComputed) { - if (r._dirty = true, r._subs) - m(r._subs, true); + if (i._isComputed) { + if (i._dirty = true, i._subs) + w(i._subs, true); } else - A.add(r), t = true; + C.add(i), n = true; } - if (t && !S && O === 0) - queueMicrotask(D); + if (n && !x && A === 0) + queueMicrotask(q); } }; -var P = (e, n = null) => { - let t = new Set; +var S = (e, o = null) => { + let n = new Set; if (y(e)) { - let r, s = () => { + let i, s = () => { if (s._dirty) { - let c = u; - u = s; + let c = p; + p = s; try { - let i = e(); - if (!Object.is(r, i)) - r = i, m(t, true); + let t = e(); + if (!Object.is(i, t)) + i = t, w(n, true); } finally { - u = c; + p = c; } s._dirty = false; } - return m(t), r; + return w(n), i; }; - if (s._isComputed = true, s._subs = t, s._dirty = true, s._deps = null, s._disposed = false, s.stop = () => {}, _) - v(s.stop); + if (s._isComputed = true, s._subs = n, s._dirty = true, s._deps = null, s._disposed = false, s.stop = () => {}, _) + N(s.stop); return s; } - if (n) + if (o) try { - e = JSON.parse(localStorage.getItem(n)) ?? e; - } catch (r) {} - return (...r) => { - if (r.length) { - let s = y(r[0]) ? r[0](e) : r[0]; + e = JSON.parse(localStorage.getItem(o)) ?? e; + } catch (i) {} + return (...i) => { + if (i.length) { + let s = y(i[0]) ? i[0](e) : i[0]; if (!Object.is(e, s)) { - if (e = s, n) - localStorage.setItem(n, JSON.stringify(e)); - m(t, true); + if (e = s, o) + localStorage.setItem(o, JSON.stringify(e)); + w(n, true); } } - return m(t), e; + return w(n), e; }; }; var I = (e) => { - if (!j(e)) + if (!P(e)) return e; - let n = k.get(e); - if (n) - return n; - let t = new Map, r = (s) => { - let c = t.get(s); - if (!c) - t.set(s, c = new Set); - return c; - }; - return n = new Proxy(e, { get(s, c, i) { - if (typeof c !== "symbol") - m(r(c)); - return I(Reflect.get(s, c, i)); - }, set(s, c, i, o) { - let l = !Reflect.has(s, c), a = Reflect.get(s, c, o), f = Reflect.set(s, c, i, o); - if (f && !Object.is(a, i)) { - if (m(r(c), true), l) - m(r(T), true); + let o = D.get(e); + if (o) + return o; + let n = new Map, i = (c) => { + let t = n.get(c); + if (!t) + n.set(c, t = new Set); + return t; + }, s = new Proxy(e, { get(c, t, r) { + if (typeof t !== "symbol") + w(i(t)); + return I(Reflect.get(c, t, r)); + }, set(c, t, r, l) { + let u = Reflect.has(c, t), a = Reflect.get(c, t, l), f = Reflect.set(c, t, r, l); + if (f && !Object.is(a, r)) { + if (w(i(t), true), !u) + w(i($), true); } return f; - }, deleteProperty(s, c) { - let i = Reflect.deleteProperty(s, c); - if (i) - m(r(c), true), m(r(T), true); - return i; - }, ownKeys(s) { - return m(r(T)), Reflect.ownKeys(s); - } }), k.set(e, n), n; + }, deleteProperty(c, t) { + let r = Reflect.deleteProperty(c, t); + if (r) + w(i(t), true), w(i($), true); + return r; + }, ownKeys(c) { + return w(i($)), Reflect.ownKeys(c); + } }); + return D.set(e, s), s; }; -var R = (e, n) => { - if (n === undefined) { - let r = x(e); - return r(), () => g(r); +var R = (e, o) => { + if (o === undefined) { + let i = T(e); + return i(), () => E(i); } - let t = x(() => { - let r = Array.isArray(e) ? e.map((s) => s()) : e(); - W(() => n(r)); + let n = T(() => { + let i = Array.isArray(e) ? e.map((s) => s()) : e(); + V(() => o(i)); }); - return t(), () => g(t); + return n(), () => E(n); }; -var M = (e) => { +var L = (e) => { + if (!e) + return; if (e._cleanups) - e._cleanups.forEach((n) => n()), e._cleanups.clear(); + e._cleanups.forEach((o) => o()), e._cleanups.clear(); if (e._ownerEffect) - g(e._ownerEffect); + E(e._ownerEffect); if (e.childNodes) - e.childNodes.forEach(M); + e.childNodes.forEach((o) => L(o)); }; -var z = /^\s*(javascript|data|vbscript):/i; -var G = (e) => e === "src" || e === "href" || e.startsWith("on"); -var U = (e, n) => { - if (n == null || n === false) +var F = /^\s*(javascript|data|vbscript):/i; +var J = (e) => e === "src" || e === "href" || e.startsWith("on"); +var M = (e, o) => { + if (o == null || o === false) return null; - if (G(e)) { - let t = String(n); - if (z.test(t)) + if (J(e)) { + let n = String(o); + if (F.test(n)) return console.warn(`[SigPro] Bloqueado protocolo peligroso en ${e}`), "#"; } - return n; + return o; }; -var C = (e, n = {}, t = []) => { - if (n instanceof Node || b(n) || !j(n)) - t = n, n = {}; +var O = (e, o = {}, n = []) => { + if (o instanceof Node || b(o) || !P(o)) + n = o, o = {}; if (y(e)) { - let i = x(() => { - let f = e(n, { children: t, emit: (d, ...h) => n[`on${d[0].toUpperCase()}${d.slice(1)}`]?.(...h) }); - return i._result = f, f; + let t = T(() => { + let a = e(o, { children: n, emit: (f, ...h) => o[`on${f[0].toUpperCase()}${f.slice(1)}`]?.(...h) }); + return t._result = a, a; }); - i(); - let o = i._result; - if (o == null) + t(); + let r = t._result; + if (r == null) return null; - let l = o instanceof Node || b(o) && o.every((f) => f instanceof Node) ? o : E.createTextNode(String(o)), a = (f) => { - if (j(f) && !f._isRuntime) - f._mounts = i._mounts || [], f._cleanups = i._cleanups || new Set, f._ownerEffect = i; + let l = r instanceof Node || b(r) && r.every((a) => a instanceof Node) ? r : g.createTextNode(String(r)), u = (a) => { + if (P(a) && !a._isRuntime) + a._mounts = t._mounts || [], a._cleanups = t._cleanups || new Set, a._ownerEffect = t; }; - return b(l) ? l.forEach(a) : a(l), l; + return b(l) ? l.forEach(u) : u(l), l; } - let r = /^(svg|path|circle|rect|line|poly(line|gon)|g|defs|text(path)?|tspan|use|symbol|image|marker|ellipse)$/i.test(e), s = r ? E.createElementNS("http://www.w3.org/2000/svg", e) : E.createElement(e); + let i = /^(svg|path|circle|rect|line|poly(line|gon)|g|defs|text(path)?|tspan|use|symbol|image|marker|ellipse)$/i.test(e), s = i ? g.createElementNS("http://www.w3.org/2000/svg", e) : g.createElement(e); s._cleanups = new Set; - for (let i in n) { - if (!n.hasOwnProperty(i)) + for (let t in o) { + if (!o.hasOwnProperty(t)) continue; - let o = n[i]; - if (i === "ref") { - y(o) ? o(s) : o.current = s; + let r = o[t]; + if (t === "ref") { + y(r) ? r(s) : r.current = s; continue; } - if (r && i.startsWith("xlink:")) { - o == null ? s.removeAttributeNS("http://www.w3.org/1999/xlink", i.slice(6)) : s.setAttributeNS("http://www.w3.org/1999/xlink", i.slice(6), o); + if (i && t.startsWith("xlink:")) { + r == null ? s.removeAttributeNS("http://www.w3.org/1999/xlink", t.slice(6)) : s.setAttributeNS("http://www.w3.org/1999/xlink", t.slice(6), r); continue; } - if (i.startsWith("on")) { - let l = i.slice(2).toLowerCase(); - s.addEventListener(l, o); - let a = () => s.removeEventListener(l, o); - s._cleanups.add(a), v(a); - } else if (y(o)) { - let l = x(() => { - let a = U(i, o()); - if (i === "class") - s.className = a || ""; - else if (a == null) - s.removeAttribute(i); - else if (i in s && !r) - s[i] = a; + if (t.startsWith("on")) { + let l = t.slice(2).toLowerCase(); + s.addEventListener(l, r); + let u = () => s.removeEventListener(l, r); + s._cleanups.add(u), N(u); + } else if (y(r)) { + let l = T(() => { + let u = M(t, r()); + if (t === "class") + s.className = u || ""; + else if (u == null) + s.removeAttribute(t); + else if (t in s && !i) + s[t] = u; else - s.setAttribute(i, a === true ? "" : a); + s.setAttribute(t, u === true ? "" : u); }); - if (l(), s._cleanups.add(() => g(l)), v(() => g(l)), /^(INPUT|TEXTAREA|SELECT)$/.test(s.tagName) && (i === "value" || i === "checked")) { - let a = i === "checked" ? "change" : "input"; - s.addEventListener(a, (f) => o(f.target[i])); + if (l(), s._cleanups.add(() => E(l)), N(() => E(l)), /^(INPUT|TEXTAREA|SELECT)$/.test(s.tagName) && (t === "value" || t === "checked")) { + let u = t === "checked" ? "change" : "input"; + s.addEventListener(u, (a) => r(a.target[t])); } } else { - let l = U(i, o); + let l = M(t, r); if (l != null) - if (i in s && !r) - s[i] = l; + if (t in s && !i) + s[t] = l; else - s.setAttribute(i, l === true ? "" : l); + s.setAttribute(t, l === true ? "" : l); } } - let c = (i) => { - if (b(i)) - return i.forEach(c); - if (y(i)) { - let o = E.createTextNode(""); - s.appendChild(o); - let l = [], a = x(() => { - let f = i(), d = (b(f) ? f : [f]).map(B); - l.forEach((p) => { - if (p._isRuntime) - p.destroy(); + let c = (t) => { + if (b(t)) + return t.forEach(c); + if (y(t)) { + let r = g.createTextNode(""); + s.appendChild(r); + let l = [], u = T(() => { + let a = t(), f = (b(a) ? a : [a]).map(k); + l.forEach((d) => { + if (d._isRuntime) + d.destroy(); else - M(p); - if (p.parentNode) - p.remove(); + L(d); + if (d.parentNode) + d.remove(); }); - let h = o; - for (let p = d.length - 1;p >= 0; p--) { - let w = d[p]; - if (w.parentNode !== h.parentNode) - h.parentNode?.insertBefore(w, h); - if (w._mounts) - w._mounts.forEach((V) => V()); - h = w; + let h = r; + for (let d = f.length - 1;d >= 0; d--) { + let m = f[d]; + if (m.parentNode !== h.parentNode) + h.parentNode?.insertBefore(m, h); + if (m._mounts) + m._mounts.forEach((U) => U()); + h = m; } - l = d; + l = f; }); - a(), s._cleanups.add(() => g(a)), v(() => g(a)); + u(), s._cleanups.add(() => E(u)), N(() => E(u)); } else { - let o = B(i); - if (s.appendChild(o), o._mounts) - o._mounts.forEach((l) => l()); + let r = k(t); + if (s.appendChild(r), r._mounts) + r._mounts.forEach((l) => l()); } }; - return c(t), s; + return c(n), s; }; -var $ = (e) => { - let n = new Set, t = [], r = _, s = u, c = E.createElement("div"); - c.style.display = "contents", c.setAttribute("role", "presentation"), _ = { _cleanups: n, _mounts: t }, u = null; - let i = (o) => { - if (!o) +var j = (e) => { + let o = new Set, n = _, i = p, s = g.createElement("div"); + s.style.display = "contents", s.setAttribute("role", "presentation"), _ = { _cleanups: o }, p = null; + let c = (t) => { + if (!t) return; - if (o._isRuntime) - n.add(o.destroy), c.appendChild(o.container); - else if (b(o)) - o.forEach(i); + if (t._isRuntime) + o.add(t.destroy), s.appendChild(t.container); + else if (b(t)) + t.forEach(c); else - c.appendChild(o instanceof Node ? o : E.createTextNode(String(o == null ? "" : o))); + s.appendChild(t instanceof Node ? t : g.createTextNode(String(t == null ? "" : t))); }; try { - i(e({ onCleanup: (o) => n.add(o) })); + c(e({ onCleanup: (t) => o.add(t) })); } finally { - _ = r, u = s; + _ = n, p = i; } - return t.forEach((o) => o()), { _isRuntime: true, container: c, destroy: () => { - n.forEach((o) => o()), M(c), c.remove(); + return { _isRuntime: true, container: s, destroy: () => { + o.forEach((t) => t()), L(s), s.remove(); } }; }; -var J = (e, n, { enter: t, leave: r } = {}) => { - let s = C("div", { style: "display:contents" }), c = null, i = (o, l) => { - if (!o) - return l(); - let a = false, f = () => !a && (a = true, l()); - o.addEventListener("transitionend", f, { once: true }), o.addEventListener("animationend", f, { once: true }), setTimeout(f, 500); - }; - return R(e, (o) => { - if (o && !c) { - let l = (c = n(n)).container.firstChild; - if (s.appendChild(c.container), t && l) - l.classList.add(t), l.clientTop, l.classList.add(t + "-active"), i(l, () => l.classList.remove(t, t + "-active")); - } else if (!o && c) { - let l = c.container.firstChild, a = () => (c.destroy(), c = null); - if (r && l) - l.classList.add(r), i(l, a); - else - a(); - } - }), v(() => c?.destroy()), s; +var z = (e, o, n = null) => { + let i = g.createTextNode(""), s = O("div", { style: "display:contents" }, [i]), c = null; + return R(() => !!(y(e) ? e() : e), (t) => { + if (c) + c.destroy(), c = null; + let r = t ? o : n; + if (r) + c = j(() => y(r) ? r() : r), s.insertBefore(c.container, i); + }), N(() => c?.destroy()), s; }; -var K = (e, n, t) => { - let r = E.createTextNode(""), s = C("div", { style: "display:contents" }, [r]), c = new Map; - return R(() => (y(e) ? e() : e) || [], (i) => { - let o = new Map, l = [], a = i || []; - for (let d = 0;d < a.length; d++) { - let h = a[d], p = t ? t(h, d) : h?.id ?? d, w = c.get(p); - if (!w) - w = $(() => n(h, d)); +var G = ({ name: e, duration: o = 200, scale: n, slide: i, rotate: s, blur: c }, t) => { + let r = typeof t === "function" ? t() : t; + if (!(r instanceof Node)) + return r; + if (e) + return r.style.animation = `${e}-in ${o}ms`, r; + let l = n || i || s || c, u = [n ? "scale(0.95)" : "", i ? "translateY(-10px)" : "", s ? "rotate(-2deg)" : ""].filter(Boolean).join(" "); + if (r.style.transition = `all ${o}ms ease`, r.style.opacity = "0", l) + r.style.transform = u; + if (c) + r.style.filter = "blur(4px)"; + return requestAnimationFrame(() => { + if (r.style.opacity = "1", l) + r.style.transform = "none"; + if (c) + r.style.filter = "none"; + }), r; +}; +var K = (e, o, n) => { + let i = g.createTextNode(""), s = O("div", { style: "display:contents" }, [i]), c = new Map; + return R(() => (y(e) ? e() : e) || [], (t) => { + let r = new Map, l = [], u = t || []; + for (let f = 0;f < u.length; f++) { + let h = u[f], d = n ? n(h, f) : h?.id ?? f, m = c.get(d); + if (!m) + m = j(() => o(h, f)); else - c.delete(p); - o.set(p, w), l.push(w); + c.delete(d); + r.set(d, m), l.push(m); } - c.forEach((d) => d.destroy()); - let f = r; - for (let d = l.length - 1;d >= 0; d--) { - let p = l[d].container; - if (p.nextSibling !== f) - s.insertBefore(p, f); - f = p; + c.forEach((f) => f.destroy()); + let a = i; + for (let f = l.length - 1;f >= 0; f--) { + let d = l[f].container; + if (d.nextSibling !== a) + s.insertBefore(d, a); + a = d; } - c = o; + c = r; }), s; }; -var N = (e) => { - let n = () => window.location.hash.slice(1) || "/", t = P(n()), r = () => t(n()); - window.addEventListener("hashchange", r), v(() => window.removeEventListener("hashchange", r)); - let s = C("div", { class: "router-hook" }), c = null; - return R([t], () => { - let i = t(), o = e.find((l) => { - let a = l.path.split("/").filter(Boolean), f = i.split("/").filter(Boolean); - return a.length === f.length && a.every((d, h) => d[0] === ":" || d === f[h]); +var v = (e) => { + let o = () => window.location.hash.slice(1) || "/", n = S(o()), i = () => n(o()); + window.addEventListener("hashchange", i), N(() => window.removeEventListener("hashchange", i)); + let s = O("div", { class: "router-hook" }), c = null; + return R([n], () => { + let t = n(), r = e.find((l) => { + let u = l.path.split("/").filter(Boolean), a = t.split("/").filter(Boolean); + return u.length === a.length && u.every((f, h) => f[0] === ":" || f === a[h]); }) || e.find((l) => l.path === "*"); - if (o) { + if (r) { c?.destroy(); let l = {}; - o.path.split("/").filter(Boolean).forEach((a, f) => { - if (a[0] === ":") - l[a.slice(1)] = i.split("/").filter(Boolean)[f]; - }), N.params(l), c = $(() => y(o.component) ? o.component(l) : o.component), s.replaceChildren(c.container); + r.path.split("/").filter(Boolean).forEach((u, a) => { + if (u[0] === ":") + l[u.slice(1)] = t.split("/").filter(Boolean)[a]; + }), v.params(l), c = j(() => y(r.component) ? r.component(l) : r.component), s.replaceChildren(c.container); } }), s; }; -N.params = P({}); -N.to = (e) => window.location.hash = e.replace(/^#?\/?/, "#/"); -N.back = () => window.history.back(); -N.path = () => window.location.hash.replace(/^#/, "") || "/"; -var Q = (e, n) => { - let t = typeof n === "string" ? E.querySelector(n) : n; - if (!t) - return; - if (L.has(t)) - L.get(t).destroy(); - let r = $(y(e) ? e : () => e); - return t.replaceChildren(r.container), L.set(t, r), r; +v.params = S({}); +v.to = (e) => window.location.hash = e.replace(/^#?\/?/, "#/"); +v.back = () => window.history.back(); +v.path = () => window.location.hash.replace(/^#/, "") || "/"; +var Q = ({ url: e, method: o = "GET", headers: n = {} }) => { + let i = S(false), s = S(null), c = S(null), t = null, r = null; + return { run: async (a = null) => { + t?.abort(), clearTimeout(r), t = new AbortController, r = setTimeout(() => t.abort(), 1e4), i(true), s(null); + try { + let f = a instanceof FormData, h = await fetch(e, { method: o, headers: f ? n : { "Content-Type": "application/json", ...n }, body: f ? a : a ? JSON.stringify(a) : undefined, signal: t.signal }), d = await h.text(), m = d ? JSON.parse(d) : null; + if (!h.ok) + throw Error(m?.message || h.statusText); + return c(m), m; + } catch (f) { + if (f.name !== "AbortError") + s(f.message); + throw f; + } finally { + i(false), clearTimeout(r), t = null, r = null; + } + }, abort: () => t?.abort(), loading: i, error: s, data: c }; }; -var F = Object.freeze({ $: P, $$: I, watch: R, h: C, when: J, each: K, router: N, mount: Q, batch: q }); +var H = (e, o) => { + let n = typeof o === "string" ? g.querySelector(o) : o; + if (!n) + return; + if (B.has(n)) + B.get(n).destroy(); + let i = j(y(e) ? e : () => e); + return n.replaceChildren(i.container), B.set(n, i), i; +}; +var X = Object.freeze({ $: S, $$: I, watch: R, h: O, when: z, each: K, fx: G, router: v, req: Q, mount: H, batch: W }); if (typeof window < "u") - Object.assign(window, F), "a abbr article aside audio b blockquote br button canvas caption cite code col colgroup datalist dd del details dfn dialog div dl dt em embed fieldset figcaption figure footer form h1 h2 h3 h4 h5 h6 header hr i iframe img input ins kbd label legend li main mark meter nav object ol optgroup option output p picture pre progress section select slot small source span strong sub summary sup svg table tbody td template textarea tfoot th thead time tr u ul video".split(" ").forEach((e) => { - window[e] = (n, t) => C(e, n, t); + Object.assign(window, X), "a abbr article aside audio b blockquote br button canvas caption cite code col colgroup datalist dd del details dfn dialog div dl dt em embed fieldset figcaption figure footer form h1 h2 h3 h4 h5 h6 header hr i iframe img input ins kbd label legend li main mark meter nav object ol optgroup option output p picture pre progress section select slot small source span strong sub summary sup svg table tbody td template textarea tfoot th thead time tr u ul video".split(" ").forEach((e) => { + window[e] = (o, n) => O(e, o, n); }); -// components/accordion.js -var Accordion = (props) => { +// components/Accordion.js +var Accordion = (props, children) => { const name = props.name || `accordion-${Math.random().toString(36).slice(2, 9)}`; if (props.items && Array.isArray(props.items)) { - return C("div", { class: `space-y-2 ${props.class ?? ""}` }, props.items.map((item) => C("div", { class: `collapse ${item.class ?? ""}` }, [ - C("input", { type: "radio", name, checked: item.open }), - C("div", { class: "collapse-title text-xl font-medium" }, item.title), - C("div", { class: "collapse-content" }, item.children) + return O("div", { class: `space-y-2 ${props.class ?? ""}` }, props.items.map((item) => O("div", { class: `collapse ${item.class ?? ""}` }, [ + O("input", { type: "radio", name, checked: item.open }), + O("div", { class: "collapse-title text-xl font-medium" }, item.title), + O("div", { class: "collapse-content" }, children) ]))); } - return C("div", { class: `collapse ${props.class ?? ""}` }, [ - C("input", { type: "radio", name, checked: props.open }), - C("div", { class: "collapse-title text-xl font-medium" }, props.title), - C("div", { class: "collapse-content" }, props.children) + return O("div", { class: `collapse ${props.class ?? ""}` }, [ + O("input", { type: "radio", name, checked: props.open }), + O("div", { class: "collapse-title text-xl font-medium" }, props.title), + O("div", { class: "collapse-content" }, children) ]); }; -// components/alert.js -var exports_alert = {}; -__export(exports_alert, { +// components/Alert.js +var exports_Alert = {}; +__export(exports_Alert, { Alert: () => Alert }); var Alert = (props, children) => { children === undefined && (children = props, props = {}); - return C("div", { ...props, class: `alert ${props.class ?? ""}` }, children); + return O("div", { ...props, class: `alert ${props.class ?? ""}` }, children); }; -// components/autocomplete.js -var exports_autocomplete = {}; -__export(exports_autocomplete, { +// components/Autocomplete.js +var exports_Autocomplete = {}; +__export(exports_Autocomplete, { Autocomplete: () => Autocomplete }); var Autocomplete = (props) => { - const query = P(""); - const isOpen = P(false); - const cursor = P(-1); - const filteredItems = P([]); + const query = S(""); + const isOpen = S(false); + const cursor = S(-1); + const filteredItems = S([]); R(() => { const v2 = typeof props.value === "function" ? props.value() : props.value; return v2 || ""; @@ -497,10 +524,10 @@ var Autocomplete = (props) => { isOpen(false); } }; - return C("div", { class: `relative w-full ${props.class ?? ""}` }, [ - C("label", { class: "input input-bordered w-full" }, [ - C("span", { class: "icon-[lucide--search]" }), - C("input", { + return O("div", { class: `relative w-full ${props.class ?? ""}` }, [ + O("label", { class: "input input-bordered w-full" }, [ + O("span", { class: "icon-[lucide--search]" }), + O("input", { ...props, type: "text", class: "grow", @@ -519,30 +546,30 @@ var Autocomplete = (props) => { } }) ]), - C("ul", { + O("ul", { class: "absolute left-0 w-full menu bg-base-100 rounded-box mt-1 p-2 shadow-xl max-h-60 overflow-y-auto border border-base-300 z-50", style: () => `display: ${isOpen() && filteredItems().length ? "block" : "none"};` }, [ - K(filteredItems, (item, idx) => C("li", {}, [ - C("a", { + K(filteredItems, (item, idx) => O("li", {}, [ + O("a", { class: () => `block w-full ${cursor() === idx ? "active bg-primary text-primary-content" : ""}`, onclick: () => pick(item), onmouseenter: () => cursor(idx) }, typeof item === "string" ? item : item.label) ]), (item, idx) => (typeof item === "string" ? item : item.value) + idx), - () => filteredItems().length === 0 ? C("li", { class: "flex justify-center p-4 opacity-50" }, C("span", { class: "icon-[lucide--search-x] text-2xl" })) : null + () => filteredItems().length === 0 ? O("li", { class: "flex justify-center p-4 opacity-50" }, O("span", { class: "icon-[lucide--search-x] text-2xl" })) : null ]) ]); }; -// components/badge.js -var exports_badge = {}; -__export(exports_badge, { +// components/Badge.js +var exports_Badge = {}; +__export(exports_Badge, { Badge: () => Badge }); var Badge = (props, children) => { children === undefined && (children = props, props = {}); - return C("span", { ...props, class: `badge ${props.class ?? ""}` }, children); + return O("span", { ...props, class: `badge ${props.class ?? ""}` }, children); }; // components/button.js @@ -552,19 +579,19 @@ __export(exports_button, { }); var Button = (props, children) => { children === undefined && (children = props, props = {}); - return C("button", { ...props, class: `btn ${props.class ?? ""}` }, children); + return O("button", { ...props, class: `btn ${props.class ?? ""}` }, children); }; -// components/calendar.js -var exports_calendar = {}; -__export(exports_calendar, { +// components/Calendar.js +var exports_Calendar = {}; +__export(exports_Calendar, { Calendar: () => Calendar }); var Calendar = (props) => { - const internalDate = P(new Date); - const hoverDate = P(null); - const startHour = P(0); - const endHour = P(0); + const internalDate = S(new Date); + const hoverDate = S(null); + const startHour = S(0); + const endHour = S(0); const isRangeMode = () => { const r = typeof props.range === "function" ? props.range() : props.range; return r === true; @@ -610,18 +637,18 @@ var Calendar = (props) => { props.onChange?.(newValue); } }; - const move = (m2) => { + const move = (m) => { const d = internalDate(); - internalDate(new Date(d.getFullYear(), d.getMonth() + m2, 1)); + internalDate(new Date(d.getFullYear(), d.getMonth() + m, 1)); }; const moveYear = (y2) => { const d = internalDate(); internalDate(new Date(d.getFullYear() + y2, d.getMonth(), 1)); }; const HourSlider = ({ value: hVal, onChange: onHourChange }) => { - return C("div", { class: "flex-1" }, [ - C("div", { class: "flex gap-2 items-center" }, [ - C("input", { + return O("div", { class: "flex-1" }, [ + O("div", { class: "flex gap-2 items-center" }, [ + O("input", { type: "range", min: 0, max: 23, @@ -629,26 +656,26 @@ var Calendar = (props) => { class: "range range-xs flex-1", oninput: (e) => onHourChange(parseInt(e.target.value)) }), - C("span", { class: "text-sm font-mono min-w-[48px] text-center" }, () => String(typeof hVal === "function" ? hVal() : hVal).padStart(2, "0") + ":00") + O("span", { class: "text-sm font-mono min-w-[48px] text-center" }, () => String(typeof hVal === "function" ? hVal() : hVal).padStart(2, "0") + ":00") ]) ]); }; - return C("div", { class: `p-4 bg-base-100 border border-base-300 shadow-2xl rounded-box w-80 select-none ${props.class ?? ""}`.trim() }, [ - C("div", { class: "flex justify-between items-center mb-4 gap-1" }, [ - C("div", { class: "flex gap-0.5" }, [ - C("button", { type: "button", class: "btn btn-ghost btn-xs px-1", onclick: () => moveYear(-1) }, C("span", { class: "icon-[lucide--chevrons-left]" })), - C("button", { type: "button", class: "btn btn-ghost btn-xs px-1", onclick: () => move(-1) }, C("span", { class: "icon-[lucide--chevron-left]" })) + return O("div", { class: `p-4 bg-base-100 border border-base-300 shadow-2xl rounded-box w-80 select-none ${props.class ?? ""}`.trim() }, [ + O("div", { class: "flex justify-between items-center mb-4 gap-1" }, [ + O("div", { class: "flex gap-0.5" }, [ + O("button", { type: "button", class: "btn btn-ghost btn-xs px-1", onclick: () => moveYear(-1) }, O("span", { class: "icon-[lucide--chevrons-left]" })), + O("button", { type: "button", class: "btn btn-ghost btn-xs px-1", onclick: () => move(-1) }, O("span", { class: "icon-[lucide--chevron-left]" })) ]), - C("span", { class: "font-bold uppercase flex-1 text-center" }, [ + O("span", { class: "font-bold uppercase flex-1 text-center" }, [ () => internalDate().toLocaleString("es-ES", { month: "short", year: "numeric" }) ]), - C("div", { class: "flex gap-0.5" }, [ - C("button", { type: "button", class: "btn btn-ghost btn-xs px-1", onclick: () => move(1) }, C("span", { class: "icon-[lucide--chevron-right]" })), - C("button", { type: "button", class: "btn btn-ghost btn-xs px-1", onclick: () => moveYear(1) }, C("span", { class: "icon-[lucide--chevrons-right]" })) + O("div", { class: "flex gap-0.5" }, [ + O("button", { type: "button", class: "btn btn-ghost btn-xs px-1", onclick: () => move(1) }, O("span", { class: "icon-[lucide--chevron-right]" })), + O("button", { type: "button", class: "btn btn-ghost btn-xs px-1", onclick: () => moveYear(1) }, O("span", { class: "icon-[lucide--chevrons-right]" })) ]) ]), - C("div", { class: "grid grid-cols-7 gap-1", onmouseleave: () => hoverDate(null) }, [ - ...["L", "M", "X", "J", "V", "S", "D"].map((d) => C("div", { class: "text-[10px] opacity-40 font-bold text-center" }, d)), + O("div", { class: "grid grid-cols-7 gap-1", onmouseleave: () => hoverDate(null) }, [ + ...["L", "M", "X", "J", "V", "S", "D"].map((d) => O("div", { class: "text-[10px] opacity-40 font-bold text-center" }, d)), () => { const d = internalDate(); const year = d.getFullYear(); @@ -658,11 +685,11 @@ var Calendar = (props) => { const daysInMonth = new Date(year, month + 1, 0).getDate(); const cells = []; for (let i = 0;i < offset; i++) - cells.push(C("div")); + cells.push(O("div")); for (let i = 1;i <= daysInMonth; i++) { const date = new Date(year, month, i); const dStr = formatDate(date); - cells.push(C("button", { + cells.push(O("button", { type: "button", class: () => { const v2 = getCurrentValue(); @@ -693,8 +720,8 @@ var Calendar = (props) => { return cells; } ]), - props.hour ? C("div", { class: "mt-3 pt-2 border-t border-base-300" }, [ - isRangeMode() ? C("div", { class: "flex gap-4" }, [ + props.hour ? O("div", { class: "mt-3 pt-2 border-t border-base-300" }, [ + isRangeMode() ? O("div", { class: "flex gap-4" }, [ HourSlider({ value: startHour, onChange: (h) => startHour(h) }), HourSlider({ value: endHour, onChange: (h) => endHour(h) }) ]) : HourSlider({ value: startHour, onChange: (h) => startHour(h) }) @@ -712,19 +739,19 @@ __export(exports_card, { }); var Card = (props, children) => { children === undefined && (children = props, props = {}); - return C("div", { ...props, class: `card ${props.class ?? ""}` }, children); + return O("div", { ...props, class: `card ${props.class ?? ""}` }, children); }; var CardTitle = (props, children) => { children === undefined && (children = props, props = {}); - return C("div", { ...props, class: `card-title ${props.class ?? ""}` }, children); + return O("div", { ...props, class: `card-title ${props.class ?? ""}` }, children); }; var CardBody = (props, children) => { children === undefined && (children = props, props = {}); - return C("div", { ...props, class: `card-body ${props.class ?? ""}` }, children); + return O("div", { ...props, class: `card-body ${props.class ?? ""}` }, children); }; var CardActions = (props, children) => { children === undefined && (children = props, props = {}); - return C("div", { ...props, class: `card-actions ${props.class ?? ""}` }, children); + return O("div", { ...props, class: `card-actions ${props.class ?? ""}` }, children); }; // components/carousel.js @@ -735,11 +762,11 @@ __export(exports_carousel, { }); var Carousel = (props, children) => { children === undefined && (children = props, props = {}); - return C("div", { ...props, class: `carousel ${props.class ?? ""}` }, children); + return O("div", { ...props, class: `carousel ${props.class ?? ""}` }, children); }; var CarouselItem = (props, children) => { children === undefined && (children = props, props = {}); - return C("div", { ...props, class: `carousel-item ${props.class ?? ""}` }, children); + return O("div", { ...props, class: `carousel-item ${props.class ?? ""}` }, children); }; // components/chat.js @@ -754,23 +781,23 @@ __export(exports_chat, { }); var Chat = (props, children) => { children === undefined && (children = props, props = {}); - return C("div", { ...props, class: `chat ${props.class ?? ""}` }, children); + return O("div", { ...props, class: `chat ${props.class ?? ""}` }, children); }; var ChatImage = (props, children) => { children === undefined && (children = props, props = {}); - return C("div", { ...props, class: `chat-image avatar ${props.class ?? ""}` }, C("div", { class: "w-10 rounded-full" }, typeof children === "string" ? C("img", { src: children, alt: "avatar" }) : children)); + return O("div", { ...props, class: `chat-image avatar ${props.class ?? ""}` }, O("div", { class: "w-10 rounded-full" }, typeof children === "string" ? O("img", { src: children, alt: "avatar" }) : children)); }; var ChatHeader = (props, children) => { children === undefined && (children = props, props = {}); - return C("div", { ...props, class: `chat-header ${props.class ?? ""}` }, children); + return O("div", { ...props, class: `chat-header ${props.class ?? ""}` }, children); }; var ChatFooter = (props, children) => { children === undefined && (children = props, props = {}); - return C("div", { ...props, class: `chat-footer ${props.class ?? ""}` }, children); + return O("div", { ...props, class: `chat-footer ${props.class ?? ""}` }, children); }; var ChatBubble = (props, children) => { children === undefined && (children = props, props = {}); - return C("div", { ...props, class: `chat-bubble ${props.class ?? ""}` }, children); + return O("div", { ...props, class: `chat-bubble ${props.class ?? ""}` }, children); }; var ChatMessage = (props) => { const { position = "start", avatar, header, message, footer, bubbleClass, ...rest } = props; @@ -787,7 +814,7 @@ var exports_checkbox = {}; __export(exports_checkbox, { Checkbox: () => Checkbox }); -var Checkbox = (props) => C("input", { ...props, type: "checkbox", class: `checkbox ${props.class ?? ""}` }); +var Checkbox = (props) => O("input", { ...props, type: "checkbox", class: `checkbox ${props.class ?? ""}` }); // components/colorpicker.js var exports_colorpicker = {}; @@ -795,7 +822,7 @@ __export(exports_colorpicker, { Colorpicker: () => Colorpicker }); var Colorpicker = (props) => { - const isOpen = P(false); + const isOpen = S(false); const palette = [ ...["#000", "#1A1A1A", "#333", "#4D4D4D", "#666", "#808080", "#B3B3B3", "#FFF"], ...["#450a0a", "#7f1d1d", "#991b1b", "#b91c1c", "#dc2626", "#ef4444", "#f87171", "#fca5a5"], @@ -810,8 +837,8 @@ var Colorpicker = (props) => { const v2 = props.value; return (typeof v2 === "function" ? v2() : v2) || "#000000"; }; - return C("div", { class: `relative w-fit ${props.class ?? ""}` }, [ - C("button", { + return O("div", { class: `relative w-fit ${props.class ?? ""}` }, [ + O("button", { type: "button", class: "btn px-3 bg-base-100 border-base-300 hover:border-primary/50 flex items-center gap-2 shadow-sm font-normal normal-case", onclick: (e) => { @@ -820,17 +847,17 @@ var Colorpicker = (props) => { }, ...props }, [ - C("div", { + O("div", { class: "size-5 rounded-sm shadow-inner border border-black/10 shrink-0", style: () => `background-color: ${getColor()}` }), - props.label ? C("span", { class: "opacity-80" }, props.label) : null + props.label ? O("span", { class: "opacity-80" }, props.label) : null ]), - J(isOpen, () => C("div", { + z(isOpen, () => O("div", { class: "absolute left-0 mt-2 p-3 bg-base-100 border border-base-300 shadow-2xl rounded-box z-[110] w-64 select-none", onclick: (e) => e.stopPropagation() }, [ - C("div", { class: "grid grid-cols-8 gap-1" }, palette.map((c) => C("button", { + O("div", { class: "grid grid-cols-8 gap-1" }, palette.map((c) => O("button", { type: "button", style: `background-color: ${c}`, class: () => { @@ -844,25 +871,25 @@ var Colorpicker = (props) => { } }))) ])), - J(isOpen, () => C("div", { + z(isOpen, () => O("div", { class: "fixed inset-0 z-[100]", onclick: () => isOpen(false) })) ]); }; -// components/datepicker.js -var exports_datepicker = {}; -__export(exports_datepicker, { +// components/Datepicker.js +var exports_Datepicker = {}; +__export(exports_Datepicker, { Datepicker: () => Datepicker }); var Datepicker = (props) => { - const isOpen = P(false); + const isOpen = S(false); const isRangeMode = () => { const r = typeof props.range === "function" ? props.range() : props.range; return r === true; }; - const displayValue = P(""); + const displayValue = S(""); R(() => { const v2 = typeof props.value === "function" ? props.value() : props.value; if (!v2) { @@ -893,10 +920,10 @@ var Datepicker = (props) => { e.stopPropagation(); isOpen(!isOpen()); }; - return C("div", { class: `relative w-full ${props.class ?? ""}` }, [ - C("label", { class: "input input-bordered w-full", onclick: toggleOpen }, [ - C("span", { class: "icon-[lucide--calendar]" }), - C("input", { + return O("div", { class: `relative w-full ${props.class ?? ""}` }, [ + O("label", { class: "input input-bordered w-full", onclick: toggleOpen }, [ + O("span", { class: "icon-[lucide--calendar]" }), + O("input", { ...props, type: "text", class: "grow", @@ -905,7 +932,7 @@ var Datepicker = (props) => { placeholder: props.placeholder || (isRangeMode() ? "Seleccionar rango..." : "Seleccionar fecha...") }) ]), - J(isOpen, () => C("div", { + z(isOpen, () => O("div", { class: "absolute left-0 mt-2 z-[100]", onclick: (e) => e.stopPropagation() }, [ @@ -916,7 +943,7 @@ var Datepicker = (props) => { onChange: handleCalendarChange }) ])), - J(isOpen, () => C("div", { class: "fixed inset-0 z-[90]", onclick: () => isOpen(false) })) + z(isOpen, () => O("div", { class: "fixed inset-0 z-[90]", onclick: () => isOpen(false) })) ]); }; @@ -928,26 +955,26 @@ __export(exports_drawer, { }); var Drawer = (props, children) => { children === undefined && (children = props, props = {}); - return C("div", { ...props, class: `drawer ${props.class ?? ""}` }, children); + return O("div", { ...props, class: `drawer ${props.class ?? ""}` }, children); }; var Sidebar = (props) => { const id = props.id || `drawer-${Math.random().toString(36).slice(2, 9)}`; - return C("div", { ...props, class: `drawer ${props.class ?? ""}` }, [ - C("input", { + return O("div", { ...props, class: `drawer ${props.class ?? ""}` }, [ + O("input", { id, type: "checkbox", class: "drawer-toggle", checked: () => typeof props.open === "function" ? props.open() : props.open, onchange: (e) => typeof props.open === "function" && props.open(e.target.checked) }), - C("div", { class: "drawer-content" }, props.children), - C("div", { class: "drawer-side" }, [ - C("label", { + O("div", { class: "drawer-content" }, props.children), + O("div", { class: "drawer-side" }, [ + O("label", { for: id, class: "drawer-overlay", onclick: () => typeof props.open === "function" && props.open(false) }), - C("div", { class: "min-h-full bg-base-200 w-80 p-4" }, typeof props.content === "function" ? props.content() : props.content) + O("div", { class: "min-h-full bg-base-200 w-80 p-4" }, typeof props.content === "function" ? props.content() : props.content) ]) ]); }; @@ -967,7 +994,7 @@ if (typeof window !== "undefined" && !window.__dropdownHandlerRegistered) { }); window.__dropdownHandlerRegistered = true; } -var Dropdown = (props) => C("details", { +var Dropdown = (props) => O("details", { ...props, class: `dropdown ${props.class ?? ""}`, onclick: (e) => { @@ -987,7 +1014,7 @@ __export(exports_fab, { }); var Fab = (props, children) => { children === undefined && (children = props, props = {}); - return C("div", { ...props, class: `fab ${props.class ?? ""}` }, children); + return O("div", { ...props, class: `fab ${props.class ?? ""}` }, children); }; // components/fieldset.js @@ -995,11 +1022,11 @@ var exports_fieldset = {}; __export(exports_fieldset, { Fieldset: () => Fieldset }); -var Fieldset = (props, children) => C("fieldset", { +var Fieldset = (props, children) => O("fieldset", { ...props, class: `fieldset ${props.class ?? ""}` }, [ - props.legend ? C("legend", { class: "fieldset-legend" }, props.legend) : null, + props.legend ? O("legend", { class: "fieldset-legend" }, props.legend) : null, children ]); @@ -1009,9 +1036,9 @@ __export(exports_fileinput, { Fileinput: () => Fileinput }); var Fileinput = (props) => { - const selectedFiles = P([]); - const isDragging = P(false); - const error = P(null); + const selectedFiles = S([]); + const isDragging = S(false); + const error = S(null); const maxBytes = (props.max || 2) * 1024 * 1024; const handleFiles = (files) => { const fileList = Array.from(files); @@ -1028,8 +1055,8 @@ var Fileinput = (props) => { selectedFiles(updated); props.onselect?.(updated); }; - return C("div", { ...props, class: `fieldset w-full p-0 ${props.class ?? ""}` }, [ - C("label", { + return O("div", { ...props, class: `fieldset w-full p-0 ${props.class ?? ""}` }, [ + O("label", { class: () => `relative flex items-center justify-between w-full h-12 px-4 border-2 border-dashed rounded-lg cursor-pointer transition-all duration-200 ${isDragging() ? "border-primary bg-primary/10" : "border-base-content/20 bg-base-100 hover:bg-base-200"}`, ondragover: (e) => { e.preventDefault(); @@ -1042,12 +1069,12 @@ var Fileinput = (props) => { handleFiles(e.dataTransfer.files); } }, [ - C("div", { class: "flex items-center gap-3 w-full" }, [ - C("span", { class: "icon-[lucide--upload]" }), - C("span", { class: "text-sm opacity-70 truncate grow text-left" }, "Arrastra o selecciona archivos..."), - C("span", { class: "text-[10px] opacity-40 shrink-0" }, `Máx ${props.max || 2}MB`) + O("div", { class: "flex items-center gap-3 w-full" }, [ + O("span", { class: "icon-[lucide--upload]" }), + O("span", { class: "text-sm opacity-70 truncate grow text-left" }, "Arrastra o selecciona archivos..."), + O("span", { class: "text-[10px] opacity-40 shrink-0" }, `Máx ${props.max || 2}MB`) ]), - C("input", { + O("input", { type: "file", multiple: true, accept: props.accept || "*", @@ -1055,22 +1082,22 @@ var Fileinput = (props) => { onchange: (e) => handleFiles(e.target.files) }) ]), - () => error() && C("span", { class: "text-[10px] text-error mt-1 px-1 font-medium" }, error()), - J(() => selectedFiles().length > 0, () => C("ul", { class: "mt-2 space-y-1" }, [ - K(selectedFiles, (file, idx) => C("li", { class: "flex items-center justify-between p-1.5 pl-3 text-xs bg-base-200/50 rounded-md border border-base-300" }, [ - C("div", { class: "flex items-center gap-2 truncate" }, [ - C("span", { class: "opacity-50" }, "\uD83D\uDCC4"), - C("span", { class: "truncate font-medium max-w-[200px]" }, file.name), - C("span", { class: "text-[9px] opacity-40" }, `(${(file.size / 1024).toFixed(0)} KB)`) + () => error() && O("span", { class: "text-[10px] text-error mt-1 px-1 font-medium" }, error()), + z(() => selectedFiles().length > 0, () => O("ul", { class: "mt-2 space-y-1" }, [ + K(selectedFiles, (file, idx) => O("li", { class: "flex items-center justify-between p-1.5 pl-3 text-xs bg-base-200/50 rounded-md border border-base-300" }, [ + O("div", { class: "flex items-center gap-2 truncate" }, [ + O("span", { class: "opacity-50" }, "\uD83D\uDCC4"), + O("span", { class: "truncate font-medium max-w-[200px]" }, file.name), + O("span", { class: "text-[9px] opacity-40" }, `(${(file.size / 1024).toFixed(0)} KB)`) ]), - C("button", { + O("button", { type: "button", class: "btn btn-ghost btn-xs btn-circle", onclick: (e) => { e.preventDefault(); removeFile(idx); } - }, C("span", { class: "icon-[lucide--x]" })) + }, O("span", { class: "icon-[lucide--x]" })) ]), (file) => file.name + file.lastModified) ])) ]); @@ -1084,14 +1111,14 @@ __export(exports_icon, { var Icon = (props, children) => { if (typeof props === "string") { if (props.includes("icon-") || props.startsWith("lucide-")) { - return C("span", { class: props }, children); + return O("span", { class: props }, children); } - return C("span", { class: "icon" }, props); + return O("span", { class: "icon" }, props); } if (!props) return null; const { class: className, ...rest } = props; - return C("span", { ...rest, class: className }, children); + return O("span", { ...rest, class: className }, children); }; // components/indicator.js @@ -1101,25 +1128,72 @@ __export(exports_indicator, { }); var Indicator = (props, children) => { children === undefined && (children = props, props = {}); - return C("div", { ...props, class: `indicator ${props.class ?? ""}` }, [ - props.value ? C("span", { class: `indicator-item badge ${props.class ?? ""}` }, props.value) : null, + return O("div", { ...props, class: `indicator ${props.class ?? ""}` }, [ + props.value ? O("span", { class: `indicator-item badge ${props.class ?? ""}` }, props.value) : null, children ]); }; -// components/input.js -var exports_input = {}; -__export(exports_input, { - InputLabel: () => InputLabel, +// components/Input.js +var exports_Input = {}; +__export(exports_Input, { Input: () => Input }); -var Input = (props) => C("input", { ...props, class: `input ${props.class ?? ""}` }); -var InputLabel = (props) => C("label", { class: `${props.float ? "floating-label" : "input"}` }, [ - C("span", { class: props.float ? "" : "label opacity-50" }, props.label), - props.left ?? null, - C("input", { ...props, class: `${props.float ? "input" : ""} ${props.class ?? ""}` }), - props.right ?? null -]); + +// components/_core.js +var get = (val) => typeof val === "function" ? val() : val; +var cls = (...classes) => classes.filter(Boolean).join(" ").trim(); +var isFunc = (f) => typeof f === "function"; + +// components/Input.js +var Input = (props) => { + const { label, icon, float, placeholder, value, left, right, content, ...rest } = props; + const showPassword = S(false); + const isFocused = S(false); + const isPassword = props.type === "password"; + const inputType = () => isPassword ? get(showPassword) ? "text" : "password" : props.type || "text"; + return O("div", { + class: "input-container", + onfocusin: () => isFocused(true), + onfocusout: (e) => { + if (!e.currentTarget.contains(e.relatedTarget)) { + isFocused(false); + } + } + }, [ + O("label", { class: "floating-label" }, [ + float ? O("span", {}, label) : null, + O("label", { + class: () => cls("input", props.class) + }, [ + label && !float ? O("span", { class: "label" }, label) : null, + left ?? null, + O("input", { + ...rest, + type: inputType, + class: "grow", + placeholder: placeholder || label || " ", + value + }), + right ?? null, + isPassword ? O("label", { class: "swap swap-rotate ml-2" }, [ + O("input", { + type: "checkbox", + onchange: (e) => showPassword(e.target.checked) + }), + O("span", { class: "swap-on icon-[lucide--eye]" }), + O("span", { class: "swap-off icon-[lucide--eye-off]" }) + ]) : null + ]), + z(isFocused, () => G({ duration: 300, slide: true }, O("div", { + class: "input-content", + onmousedown: (e) => e.preventDefault() + }, [ + isFunc(content) ? content(isFocused) : content + ]))) + ]) + ]); +}; // components/kbd.js var exports_kbd = {}; @@ -1128,7 +1202,7 @@ __export(exports_kbd, { }); var Kbd = (props, children) => { children === undefined && (children = props, props = {}); - return C("kbd", { ...props, class: `kbd ${props.class ?? ""}` }, children); + return O("kbd", { ...props, class: `kbd ${props.class ?? ""}` }, children); }; // components/loading.js @@ -1138,7 +1212,7 @@ __export(exports_loading, { }); var Loading = (props, children) => { children === undefined && (children = props, props = {}); - return C("span", { ...props, class: `loading loading-spinner ${props.class ?? ""}` }, children); + return O("span", { ...props, class: `loading loading-spinner ${props.class ?? ""}` }, children); }; // components/menu.js @@ -1149,21 +1223,21 @@ __export(exports_menu, { }); var Menu = (props, children) => { children === undefined && (children = props, props = {}); - return C("ul", { ...props, class: `menu ${props.class ?? ""}` }, children); + return O("ul", { ...props, class: `menu ${props.class ?? ""}` }, children); }; var MenuItems = (props) => { const { items, keyFn = (item, idx) => item.id ?? idx } = props; const itemsSignal = typeof items === "function" ? items : () => items || []; const renderItem = (item) => { if (item.children) { - return C("li", {}, [ - C("details", {}, [ - C("summary", {}, item.label), - C("ul", {}, MenuItems({ items: item.children })) + return O("li", {}, [ + O("details", {}, [ + O("summary", {}, item.label), + O("ul", {}, MenuItems({ items: item.children })) ]) ]); } - return C("li", {}, C("a", { + return O("li", {}, O("a", { href: item.href, onclick: item.onclick ? (e) => { if (!item.href) @@ -1189,22 +1263,22 @@ var Modal = (props) => { isOpen ? dialogRef.showModal() : dialogRef.close(); }); const close = () => typeof props.open === "function" && props.open(false); - return C("dialog", { + return O("dialog", { ...props, ref: (el) => dialogRef = el, class: `modal ${props.class ?? ""}`, onclose: close, oncancel: close }, [ - C("div", { class: "modal-box" }, [ - props.title && C("h3", { class: "text-lg font-bold" }, props.title), + O("div", { class: "modal-box" }, [ + props.title && O("h3", { class: "text-lg font-bold" }, props.title), props.children, - C("div", { class: "modal-action" }, [ - props.actions || C("button", { class: "btn", onclick: close }, "Cerrar") + O("div", { class: "modal-action" }, [ + props.actions || O("button", { class: "btn", onclick: close }, "Cerrar") ]) ]), - C("form", { method: "dialog", class: "modal-backdrop" }, [ - C("button", {}, "close") + O("form", { method: "dialog", class: "modal-backdrop" }, [ + O("button", {}, "close") ]) ]); }; @@ -1216,7 +1290,7 @@ __export(exports_navbar, { }); var Navbar = (props, children) => { children === undefined && (children = props, props = {}); - return C("div", { ...props, class: `navbar ${props.class ?? ""}` }, children); + return O("div", { ...props, class: `navbar ${props.class ?? ""}` }, children); }; // components/radial.js @@ -1228,7 +1302,7 @@ var Radial = (props, children) => { children === undefined && (children = props, props = {}); const percentage = props.value != null ? props.value / (props.max || 100) * 100 : 0; const style = `--value: ${percentage}; --max: 100;`; - return C("div", { + return O("div", { ...props, class: `radial-progress ${props.class ?? ""}`, style, @@ -1244,14 +1318,14 @@ var exports_radio = {}; __export(exports_radio, { Radio: () => Radio }); -var Radio = (props) => C("input", { ...props, type: "radio", class: `radio ${props.class ?? ""}` }); +var Radio = (props) => O("input", { ...props, type: "radio", class: `radio ${props.class ?? ""}` }); // components/range.js var exports_range = {}; __export(exports_range, { Range: () => Range }); -var Range = (props) => C("input", { ...props, type: "range", class: `range ${props.class ?? ""}` }); +var Range = (props) => O("input", { ...props, type: "range", class: `range ${props.class ?? ""}` }); // components/rating.js var exports_rating = {}; @@ -1261,9 +1335,9 @@ __export(exports_rating, { var Rating = (props, children) => { children === undefined && (children = props, props = {}); const name = `rating-${Math.random().toString(36).slice(2, 7)}`; - return C("div", { ...props, class: `rating ${props.class ?? ""}` }, children || Array.from({ length: props.count || 5 }, (_2, i) => { + return O("div", { ...props, class: `rating ${props.class ?? ""}` }, children || Array.from({ length: props.count || 5 }, (_2, i) => { const starValue = i + 1; - return C("input", { + return O("input", { type: "radio", name, class: `mask ${props.mask || "mask-star"}`, @@ -1284,9 +1358,9 @@ __export(exports_skeleton, { SkeletonText: () => SkeletonText, Skeleton: () => Skeleton }); -var Skeleton = (props) => C("div", { ...props, class: `skeleton ${props.class ?? ""}` }); +var Skeleton = (props) => O("div", { ...props, class: `skeleton ${props.class ?? ""}` }); var SkeletonText = (props) => { - return C("div", { ...props, class: "space-y-2" }, Array.from({ length: props.lines || 3 }, () => C("div", { class: `skeleton h-4 w-full ${props.class ?? ""}` }))); + return O("div", { ...props, class: "space-y-2" }, Array.from({ length: props.lines || 3 }, () => O("div", { class: `skeleton h-4 w-full ${props.class ?? ""}` }))); }; // components/select.js @@ -1298,21 +1372,21 @@ __export(exports_select, { }); var Select = (props, children) => { children === undefined && (children = props, props = {}); - return C("select", { ...props, class: `select ${props.class ?? ""}` }, children); + return O("select", { ...props, class: `select ${props.class ?? ""}` }, children); }; var SelectItems = (props) => { - const placeholderOption = props.placeholder ? C("option", { disabled: props.placeholderDisabled ?? true, selected: true }, props.placeholder) : null; + const placeholderOption = props.placeholder ? O("option", { disabled: props.placeholderDisabled ?? true, selected: true }, props.placeholder) : null; const dynamicOptions = K(() => [...typeof props.items === "function" ? props.items() : props.items || []], (item) => { const val = typeof item === "string" ? item : item.value; const label = typeof item === "string" ? item : item.label; - return C("option", { value: val }, label); + return O("option", { value: val }, label); }, props.keyFn || ((item) => typeof item === "string" ? item : item.value)); return placeholderOption ? [placeholderOption, dynamicOptions] : dynamicOptions; }; -var SelectLabel = (props, children) => C("label", { class: `${props.float ? "floating-label" : "select"}` }, [ - C("span", { class: props.float ? "" : "label opacity-50" }, props.label), +var SelectLabel = (props, children) => O("label", { class: `${props.float ? "floating-label" : "select"}` }, [ + O("span", { class: props.float ? "" : "label opacity-50" }, props.label), props.left ?? null, - C("select", { ...props, class: `${props.float ? "select" : ""} ${props.class ?? ""}` }, children), + O("select", { ...props, class: `${props.float ? "select" : ""} ${props.class ?? ""}` }, children), props.right ?? null ]); @@ -1323,7 +1397,7 @@ __export(exports_stack, { }); var Stack = (props, children) => { children === undefined && (children = props, props = {}); - return C("div", { ...props, class: `stack ${props.class ?? ""}` }, children); + return O("div", { ...props, class: `stack ${props.class ?? ""}` }, children); }; // components/stat.js @@ -1335,16 +1409,16 @@ __export(exports_stat, { var Stats = (props, children) => { children === undefined && (children = props, props = {}); const direction = props.vertical ? "stats-vertical" : "stats-horizontal"; - return C("div", { ...props, class: `stats ${direction} ${props.class ?? ""}`.trim() }, children); + return O("div", { ...props, class: `stats ${direction} ${props.class ?? ""}`.trim() }, children); }; var Stat = (props, children) => { children === undefined && (children = props, props = {}); - return C("div", { ...props, class: `stat ${props.class ?? ""}` }, [ - props.icon && C("div", { class: "stat-figure" }, props.icon), - props.label && C("div", { class: "stat-title" }, props.label), - props.value && C("div", { class: "stat-value" }, props.value), - props.desc && C("div", { class: "stat-desc" }, props.desc), - props.actions && C("div", { class: "stat-actions" }, props.actions), + return O("div", { ...props, class: `stat ${props.class ?? ""}` }, [ + props.icon && O("div", { class: "stat-figure" }, props.icon), + props.label && O("div", { class: "stat-title" }, props.label), + props.value && O("div", { class: "stat-value" }, props.value), + props.desc && O("div", { class: "stat-desc" }, props.desc), + props.actions && O("div", { class: "stat-actions" }, props.actions), children ]); }; @@ -1355,14 +1429,14 @@ __export(exports_swap, { Swap: () => Swap }); var Swap = (props) => { - return C("label", { ...props, class: `swap ${props.class ?? ""}` }, [ - C("input", { + return O("label", { ...props, class: `swap ${props.class ?? ""}` }, [ + O("input", { type: "checkbox", checked: () => typeof props.value === "function" ? props.value() : props.value, onchange: (e) => typeof props.value === "function" && props.value(e.target.checked) }), - C("div", { class: "swap-on" }, props.on), - C("div", { class: "swap-off" }, props.off) + O("div", { class: "swap-on" }, props.on), + O("div", { class: "swap-off" }, props.off) ]); }; @@ -1374,15 +1448,15 @@ __export(exports_table, { }); var Table = (props, children) => { children === undefined && (children = props, props = {}); - return C("table", { ...props, class: `table ${props.class ?? ""}` }, children); + return O("table", { ...props, class: `table ${props.class ?? ""}` }, children); }; var TableItems = (props) => { const itemArray = typeof props.items === "function" ? props.items() : props.items || []; - const thead = props.header !== false && props.columns?.some((col) => col.label) ? C("thead", {}, C("tr", {}, props.columns.map((col) => C("th", { class: col.class }, col.label)))) : null; - const tbody = C("tbody", {}, [ - K(itemArray, (item, idx) => C("tr", {}, props.columns.map((col) => { + const thead = props.header !== false && props.columns?.some((col) => col.label) ? O("thead", {}, O("tr", {}, props.columns.map((col) => O("th", { class: col.class }, col.label)))) : null; + const tbody = O("tbody", {}, [ + K(itemArray, (item, idx) => O("tr", {}, props.columns.map((col) => { const content = col.render ? col.render(item, idx) : item[col.key]; - return C("td", { class: col.class }, content); + return O("td", { class: col.class }, content); })), props.keyFn || ((item, idx) => item.id ?? idx)) ]); return [thead, tbody]; @@ -1399,20 +1473,20 @@ __export(exports_tabs, { }); var Tabs = (props, children) => { children === undefined && (children = props, props = {}); - return C("div", { ...props, class: `tabs ${props.class ?? ""}` }, children); + return O("div", { ...props, class: `tabs ${props.class ?? ""}` }, children); }; var Tab = (props, children) => { children === undefined && (children = props, props = {}); - return C("a", { ...props, role: "tab", class: `tab ${props.class ?? ""}` }, children); + return O("a", { ...props, role: "tab", class: `tab ${props.class ?? ""}` }, children); }; var TabContent = (props, children) => { children === undefined && (children = props, props = {}); - return C("div", { ...props, class: `tab-content ${props.class ?? ""}` }, children); + return O("div", { ...props, class: `tab-content ${props.class ?? ""}` }, children); }; -var TabClose = (props) => C("a", { ...props, role: "tab", class: `tab ${props.class ?? ""}` }, [ - C("span", { class: "flex items-center" }, [ +var TabClose = (props) => O("a", { ...props, role: "tab", class: `tab ${props.class ?? ""}` }, [ + O("span", { class: "flex items-center" }, [ props.label, - C("span", { + O("span", { class: "icon-[lucide--x] w-3.5 h-3.5 ml-2 cursor-pointer hover:opacity-70", onclick: (e) => { e.stopPropagation(); @@ -1448,7 +1522,7 @@ var exports_textarea = {}; __export(exports_textarea, { Textarea: () => Textarea }); -var Textarea = (props) => C("textarea", { ...props, class: `textarea ${props.class ?? ""}` }); +var Textarea = (props) => O("textarea", { ...props, class: `textarea ${props.class ?? ""}` }); // components/textrotate.js var exports_textrotate = {}; @@ -1457,8 +1531,8 @@ __export(exports_textrotate, { }); var TextRotate = (props) => { const wordsArray = Array.isArray(props.words) ? props.words : typeof props.words === "string" ? props.words.split(",") : []; - return C("span", { ...props, class: `text-rotate ${props.class ?? ""}` }, [ - C("span", {}, wordsArray.map((word) => C("span", {}, word))) + return O("span", { ...props, class: `text-rotate ${props.class ?? ""}` }, [ + O("span", {}, wordsArray.map((word) => O("span", {}, word))) ]); }; @@ -1471,7 +1545,7 @@ var Timeline = (props, children) => { children === undefined && (children = props, props = {}); const vertical = props.vertical !== false; const compact = props.compact === true; - return C("ul", { + return O("ul", { ...props, class: `timeline ${vertical ? "timeline-vertical" : "timeline-horizontal"} ${compact ? "timeline-compact" : ""} ${props.class ?? ""}`.trim() }, children); @@ -1485,13 +1559,13 @@ __export(exports_toast, { var Toast = (message, type = "alert-success", duration = 3500) => { let container = document.getElementById("sigpro-toast-container"); if (!container) { - container = C("div", { + container = O("div", { id: "sigpro-toast-container", class: "fixed top-0 right-0 z-[9999] p-4 flex flex-col gap-2 pointer-events-none" }); document.body.appendChild(container); } - const toastHost = C("div", { style: "display: contents" }); + const toastHost = O("div", { style: "display: contents" }); container.appendChild(toastHost); let timeoutId; const close = () => { @@ -1511,21 +1585,21 @@ var Toast = (message, type = "alert-success", duration = 3500) => { } }; const ToastComponent = () => { - const closeIcon = C("span", { class: "icon-[lucide--x]" }); - const closeBtn = C("button", { + const closeIcon = O("span", { class: "icon-[lucide--x]" }); + const closeBtn = O("button", { class: "btn btn-xs btn-circle btn-ghost", onclick: close }, closeIcon); - const alertDiv = C("div", { + const alertDiv = O("div", { class: `alert alert-soft ${type} shadow-lg transition-all duration-300 translate-x-10 opacity-0 pointer-events-auto` }, [ - C("span", {}, typeof message === "function" ? message() : message), + O("span", {}, typeof message === "function" ? message() : message), closeBtn ]); requestAnimationFrame(() => alertDiv.classList.remove("translate-x-10", "opacity-0")); return alertDiv; }; - const instance = Q(ToastComponent, toastHost); + const instance = H(ToastComponent, toastHost); if (duration > 0) timeoutId = setTimeout(close, duration); return close; @@ -1538,7 +1612,7 @@ __export(exports_tooltip, { }); var Tooltip = (props, children) => { children === undefined && (children = props, props = {}); - return C("div", { ...props, class: `tooltip ${props.class ?? ""}`, "data-tip": props.tip }, children); + return O("div", { ...props, class: `tooltip ${props.class ?? ""}`, "data-tip": props.tip }, children); }; // utils.js @@ -1560,24 +1634,24 @@ var i18n = { nodata: "No data" } }; -var currentLocale = P("es"); +var currentLocale = S("es"); var Locale = (t) => currentLocale(t); var tt = (t) => () => i18n[currentLocale()][t] || t; // index.js var Components = { - ...exports_accordion, - ...exports_alert, - ...exports_autocomplete, - ...exports_badge, + ...exports_Accordion, + ...exports_Alert, + ...exports_Autocomplete, + ...exports_Badge, ...exports_button, - ...exports_calendar, + ...exports_Calendar, ...exports_card, ...exports_carousel, ...exports_chat, ...exports_checkbox, ...exports_colorpicker, - ...exports_datepicker, + ...exports_Datepicker, ...exports_drawer, ...exports_dropdown, ...exports_fab, @@ -1585,7 +1659,7 @@ var Components = { ...exports_fileinput, ...exports_icon, ...exports_indicator, - ...exports_input, + ...exports_Input, ...exports_kbd, ...exports_loading, ...exports_menu, diff --git a/dist/sigpro-ui.esm.min.js b/dist/sigpro-ui.esm.min.js index 39194fc..840c7e8 100644 --- a/dist/sigpro-ui.esm.min.js +++ b/dist/sigpro-ui.esm.min.js @@ -1 +1 @@ -var oe=Object.defineProperty;var re=(t)=>t;function ie(t,e){this[t]=re.bind(null,e)}var d=(t,e)=>{for(var a in e)oe(t,a,{get:e[a],enumerable:!0,configurable:!0,set:ie.bind(e,a)})};var M={};d(M,{Accordion:()=>ge});var D=(t)=>typeof t==="function",G=(t)=>t&&typeof t==="object",z=Array.isArray,A=typeof document<"u"?document:null,qt=(t)=>t?._isRuntime?t.container:t instanceof Node?t:A.createTextNode(t==null?"":String(t)),y=null,_=null,O=!1,q=0,W=new Set,Wt=new WeakMap,V=Symbol("iter"),X=new WeakMap,B=(t)=>{if(!t||t._disposed)return;t._disposed=!0;let e=[t];while(e.length){let a=e.pop();if(a._cleanups)a._cleanups.forEach((s)=>s()),a._cleanups.clear();if(a._children)a._children.forEach((s)=>e.push(s)),a._children.clear();if(a._deps)a._deps.forEach((s)=>s.delete(a)),a._deps.clear()}},F=(t)=>{if(_)(_._cleanups||=new Set).add(t)},ue=(t)=>{let e=y;y=null;try{return t()}finally{y=e}},P=(t,e=!1)=>{let a=()=>{if(a._disposed)return;if(a._deps)a._deps.forEach((r)=>r.delete(a));if(a._cleanups)a._cleanups.forEach((r)=>r()),a._cleanups.clear();let s=y,c=_;y=_=a;try{return a._result=t()}catch(r){console.error("[SigPro]",r)}finally{y=s,_=c}};if(a._deps=a._cleanups=a._children=null,a._disposed=!1,a._isComputed=e,a._depth=y?y._depth+1:0,a._mounts=[],a._parent=_,_)(_._children||=new Set).add(a);return a},Yt=()=>{if(O)return;O=!0;let t=Array.from(W).sort((e,a)=>e._depth-a._depth);W.clear();for(let e of t)if(!e._disposed)e();O=!1},fe=(t)=>{q++;try{return t()}finally{if(q--,q===0&&W.size>0&&!O)Yt()}},C=(t,e=!1)=>{if(!e&&y&&!y._disposed)t.add(y),(y._deps||=new Set).add(t);else if(e&&t.size>0){let a=!1;for(let s of t){if(s===y||s._disposed)continue;if(s._isComputed){if(s._dirty=!0,s._subs)C(s._subs,!0)}else W.add(s),a=!0}if(a&&!O&&q===0)queueMicrotask(Yt)}},g=(t,e=null)=>{let a=new Set;if(D(t)){let s,c=()=>{if(c._dirty){let r=y;y=c;try{let o=t();if(!Object.is(s,o))s=o,C(a,!0)}finally{y=r}c._dirty=!1}return C(a),s};if(c._isComputed=!0,c._subs=a,c._dirty=!0,c._deps=null,c._disposed=!1,c.stop=()=>{},_)F(c.stop);return c}if(e)try{t=JSON.parse(localStorage.getItem(e))??t}catch(s){}return(...s)=>{if(s.length){let c=D(s[0])?s[0](t):s[0];if(!Object.is(t,c)){if(t=c,e)localStorage.setItem(e,JSON.stringify(t));C(a,!0)}}return C(a),t}},Jt=(t)=>{if(!G(t))return t;let e=Wt.get(t);if(e)return e;let a=new Map,s=(c)=>{let r=a.get(c);if(!r)a.set(c,r=new Set);return r};return e=new Proxy(t,{get(c,r,o){if(typeof r!=="symbol")C(s(r));return Jt(Reflect.get(c,r,o))},set(c,r,o,l){let i=!Reflect.has(c,r),u=Reflect.get(c,r,l),f=Reflect.set(c,r,o,l);if(f&&!Object.is(u,o)){if(C(s(r),!0),i)C(s(V),!0)}return f},deleteProperty(c,r){let o=Reflect.deleteProperty(c,r);if(o)C(s(r),!0),C(s(V),!0);return o},ownKeys(c){return C(s(V)),Reflect.ownKeys(c)}}),Wt.set(t,e),e},E=(t,e)=>{if(e===void 0){let s=P(t);return s(),()=>B(s)}let a=P(()=>{let s=Array.isArray(t)?t.map((c)=>c()):t();ue(()=>e(s))});return a(),()=>B(a)},Q=(t)=>{if(t._cleanups)t._cleanups.forEach((e)=>e()),t._cleanups.clear();if(t._ownerEffect)B(t._ownerEffect);if(t.childNodes)t.childNodes.forEach(Q)},de=/^\s*(javascript|data|vbscript):/i,me=(t)=>t==="src"||t==="href"||t.startsWith("on"),Kt=(t,e)=>{if(e==null||e===!1)return null;if(me(t)){let a=String(e);if(de.test(a))return console.warn(`[SigPro] Bloqueado protocolo peligroso en ${t}`),"#"}return e},n=(t,e={},a=[])=>{if(e instanceof Node||z(e)||!G(e))a=e,e={};if(D(t)){let o=P(()=>{let f=t(e,{children:a,emit:(h,...v)=>e[`on${h[0].toUpperCase()}${h.slice(1)}`]?.(...v)});return o._result=f,f});o();let l=o._result;if(l==null)return null;let i=l instanceof Node||z(l)&&l.every((f)=>f instanceof Node)?l:A.createTextNode(String(l)),u=(f)=>{if(G(f)&&!f._isRuntime)f._mounts=o._mounts||[],f._cleanups=o._cleanups||new Set,f._ownerEffect=o};return z(i)?i.forEach(u):u(i),i}let s=/^(svg|path|circle|rect|line|poly(line|gon)|g|defs|text(path)?|tspan|use|symbol|image|marker|ellipse)$/i.test(t),c=s?A.createElementNS("http://www.w3.org/2000/svg",t):A.createElement(t);c._cleanups=new Set;for(let o in e){if(!e.hasOwnProperty(o))continue;let l=e[o];if(o==="ref"){D(l)?l(c):l.current=c;continue}if(s&&o.startsWith("xlink:")){l==null?c.removeAttributeNS("http://www.w3.org/1999/xlink",o.slice(6)):c.setAttributeNS("http://www.w3.org/1999/xlink",o.slice(6),l);continue}if(o.startsWith("on")){let i=o.slice(2).toLowerCase();c.addEventListener(i,l);let u=()=>c.removeEventListener(i,l);c._cleanups.add(u),F(u)}else if(D(l)){let i=P(()=>{let u=Kt(o,l());if(o==="class")c.className=u||"";else if(u==null)c.removeAttribute(o);else if(o in c&&!s)c[o]=u;else c.setAttribute(o,u===!0?"":u)});if(i(),c._cleanups.add(()=>B(i)),F(()=>B(i)),/^(INPUT|TEXTAREA|SELECT)$/.test(c.tagName)&&(o==="value"||o==="checked")){let u=o==="checked"?"change":"input";c.addEventListener(u,(f)=>l(f.target[o]))}}else{let i=Kt(o,l);if(i!=null)if(o in c&&!s)c[o]=i;else c.setAttribute(o,i===!0?"":i)}}let r=(o)=>{if(z(o))return o.forEach(r);if(D(o)){let l=A.createTextNode("");c.appendChild(l);let i=[],u=P(()=>{let f=o(),h=(z(f)?f:[f]).map(qt);i.forEach((x)=>{if(x._isRuntime)x.destroy();else Q(x);if(x.parentNode)x.remove()});let v=l;for(let x=h.length-1;x>=0;x--){let m=h[x];if(m.parentNode!==v.parentNode)v.parentNode?.insertBefore(m,v);if(m._mounts)m._mounts.forEach((b)=>b());v=m}i=h});u(),c._cleanups.add(()=>B(u)),F(()=>B(u))}else{let l=qt(o);if(c.appendChild(l),l._mounts)l._mounts.forEach((i)=>i())}};return r(a),c},Z=(t)=>{let e=new Set,a=[],s=_,c=y,r=A.createElement("div");r.style.display="contents",r.setAttribute("role","presentation"),_={_cleanups:e,_mounts:a},y=null;let o=(l)=>{if(!l)return;if(l._isRuntime)e.add(l.destroy),r.appendChild(l.container);else if(z(l))l.forEach(o);else r.appendChild(l instanceof Node?l:A.createTextNode(String(l==null?"":l)))};try{o(t({onCleanup:(l)=>e.add(l)}))}finally{_=s,y=c}return a.forEach((l)=>l()),{_isRuntime:!0,container:r,destroy:()=>{e.forEach((l)=>l()),Q(r),r.remove()}}},N=(t,e,{enter:a,leave:s}={})=>{let c=n("div",{style:"display:contents"}),r=null,o=(l,i)=>{if(!l)return i();let u=!1,f=()=>!u&&(u=!0,i());l.addEventListener("transitionend",f,{once:!0}),l.addEventListener("animationend",f,{once:!0}),setTimeout(f,500)};return E(t,(l)=>{if(l&&!r){let i=(r=e(e)).container.firstChild;if(c.appendChild(r.container),a&&i)i.classList.add(a),i.clientTop,i.classList.add(a+"-active"),o(i,()=>i.classList.remove(a,a+"-active"))}else if(!l&&r){let i=r.container.firstChild,u=()=>(r.destroy(),r=null);if(s&&i)i.classList.add(s),o(i,u);else u()}}),F(()=>r?.destroy()),c},$=(t,e,a)=>{let s=A.createTextNode(""),c=n("div",{style:"display:contents"},[s]),r=new Map;return E(()=>(D(t)?t():t)||[],(o)=>{let l=new Map,i=[],u=o||[];for(let h=0;he(v,h));else r.delete(x);l.set(x,m),i.push(m)}r.forEach((h)=>h.destroy());let f=s;for(let h=i.length-1;h>=0;h--){let v=i[h].container;if(v.nextSibling!==f)c.insertBefore(v,f);f=v}r=l}),c},H=(t)=>{let e=()=>window.location.hash.slice(1)||"/",a=g(e()),s=()=>a(e());window.addEventListener("hashchange",s),F(()=>window.removeEventListener("hashchange",s));let c=n("div",{class:"router-hook"}),r=null;return E([a],()=>{let o=a(),l=t.find((i)=>{let u=i.path.split("/").filter(Boolean),f=o.split("/").filter(Boolean);return u.length===f.length&&u.every((h,v)=>h[0]===":"||h===f[v])})||t.find((i)=>i.path==="*");if(l){r?.destroy();let i={};l.path.split("/").filter(Boolean).forEach((u,f)=>{if(u[0]===":")i[u.slice(1)]=o.split("/").filter(Boolean)[f]}),H.params(i),r=Z(()=>D(l.component)?l.component(i):l.component),c.replaceChildren(r.container)}}),c};H.params=g({});H.to=(t)=>window.location.hash=t.replace(/^#?\/?/,"#/");H.back=()=>window.history.back();H.path=()=>window.location.hash.replace(/^#/,"")||"/";var p=(t,e)=>{let a=typeof e==="string"?A.querySelector(e):e;if(!a)return;if(X.has(a))X.get(a).destroy();let s=Z(D(t)?t:()=>t);return a.replaceChildren(s.container),X.set(a,s),s},he=Object.freeze({$:g,$$:Jt,watch:E,h:n,when:N,each:$,router:H,mount:p,batch:fe});if(typeof window<"u")Object.assign(window,he),"a abbr article aside audio b blockquote br button canvas caption cite code col colgroup datalist dd del details dfn dialog div dl dt em embed fieldset figcaption figure footer form h1 h2 h3 h4 h5 h6 header hr i iframe img input ins kbd label legend li main mark meter nav object ol optgroup option output p picture pre progress section select slot small source span strong sub summary sup svg table tbody td template textarea tfoot th thead time tr u ul video".split(" ").forEach((t)=>{window[t]=(e,a)=>n(t,e,a)});var ge=(t)=>{let e=t.name||`accordion-${Math.random().toString(36).slice(2,9)}`;if(t.items&&Array.isArray(t.items))return n("div",{class:`space-y-2 ${t.class??""}`},t.items.map((a)=>n("div",{class:`collapse ${a.class??""}`},[n("input",{type:"radio",name:e,checked:a.open}),n("div",{class:"collapse-title text-xl font-medium"},a.title),n("div",{class:"collapse-content"},a.children)])));return n("div",{class:`collapse ${t.class??""}`},[n("input",{type:"radio",name:e,checked:t.open}),n("div",{class:"collapse-title text-xl font-medium"},t.title),n("div",{class:"collapse-content"},t.children)])};var tt={};d(tt,{Alert:()=>be});var be=(t,e)=>{return e===void 0&&(e=t,t={}),n("div",{...t,class:`alert ${t.class??""}`},e)};var et={};d(et,{Autocomplete:()=>ve});var ve=(t)=>{let e=g(""),a=g(!1),s=g(-1),c=g([]);E(()=>{return(typeof t.value==="function"?t.value():t.value)||""},(l)=>setTimeout(()=>e(l),0)),E(()=>{let l=String(e()).toLowerCase(),i=typeof t.items==="function"?t.items():t.items,u=l?i.filter((f)=>(typeof f==="string"?f:f.label).toLowerCase().includes(l)):i;c(u)});let r=(l)=>{let i=typeof l==="string"?l:l.label,u=typeof l==="string"?l:l.value;if(e(i),typeof t.value==="function")t.value(u);t.onselect?.(l),a(!1),s(-1)},o=(l)=>{let i=c();if(l.key==="ArrowDown")l.preventDefault(),a(!0),s(Math.min(s()+1,i.length-1));else if(l.key==="ArrowUp")l.preventDefault(),s(Math.max(s()-1,0));else if(l.key==="Enter"&&s()>=0)l.preventDefault(),r(i[s()]);else if(l.key==="Escape")a(!1)};return n("div",{class:`relative w-full ${t.class??""}`},[n("label",{class:"input input-bordered w-full"},[n("span",{class:"icon-[lucide--search]"}),n("input",{...t,type:"text",class:"grow",placeholder:t.placeholder||"Buscar...",value:e,onfocus:()=>a(!0),onblur:()=>setTimeout(()=>a(!1),150),onkeydown:o,oninput:(l)=>{let i=l.target.value;if(e(i),typeof t.value==="function")t.value(i);a(!0),s(-1)}})]),n("ul",{class:"absolute left-0 w-full menu bg-base-100 rounded-box mt-1 p-2 shadow-xl max-h-60 overflow-y-auto border border-base-300 z-50",style:()=>`display: ${a()&&c().length?"block":"none"};`},[$(c,(l,i)=>n("li",{},[n("a",{class:()=>`block w-full ${s()===i?"active bg-primary text-primary-content":""}`,onclick:()=>r(l),onmouseenter:()=>s(i)},typeof l==="string"?l:l.label)]),(l,i)=>(typeof l==="string"?l:l.value)+i),()=>c().length===0?n("li",{class:"flex justify-center p-4 opacity-50"},n("span",{class:"icon-[lucide--search-x] text-2xl"})):null])])};var nt={};d(nt,{Badge:()=>ye});var ye=(t,e)=>{return e===void 0&&(e=t,t={}),n("span",{...t,class:`badge ${t.class??""}`},e)};var at={};d(at,{Button:()=>xe});var xe=(t,e)=>{return e===void 0&&(e=t,t={}),n("button",{...t,class:`btn ${t.class??""}`},e)};var lt={};d(lt,{Calendar:()=>st});var st=(t)=>{let e=g(new Date),a=g(null),s=g(0),c=g(0),r=()=>{return(typeof t.range==="function"?t.range():t.range)===!0},o=new Date,l=`${o.getFullYear()}-${String(o.getMonth()+1).padStart(2,"0")}-${String(o.getDate()).padStart(2,"0")}`,i=(m)=>{let b=m.getFullYear(),w=String(m.getMonth()+1).padStart(2,"0"),k=String(m.getDate()).padStart(2,"0");return`${b}-${w}-${k}`},u=()=>{return typeof t.value==="function"?t.value():t.value},f=(m)=>{let b=i(m),w=u();if(r())if(!w?.start||w.start&&w.end){let k={start:b,end:null,...t.hour&&{startHour:s()}};t.onChange?.(k)}else{let k=w.start,L;if(b{let b=e();e(new Date(b.getFullYear(),b.getMonth()+m,1))},v=(m)=>{let b=e();e(new Date(b.getFullYear()+m,b.getMonth(),1))},x=({value:m,onChange:b})=>{return n("div",{class:"flex-1"},[n("div",{class:"flex gap-2 items-center"},[n("input",{type:"range",min:0,max:23,value:m,class:"range range-xs flex-1",oninput:(w)=>b(parseInt(w.target.value))}),n("span",{class:"text-sm font-mono min-w-[48px] text-center"},()=>String(typeof m==="function"?m():m).padStart(2,"0")+":00")])])};return n("div",{class:`p-4 bg-base-100 border border-base-300 shadow-2xl rounded-box w-80 select-none ${t.class??""}`.trim()},[n("div",{class:"flex justify-between items-center mb-4 gap-1"},[n("div",{class:"flex gap-0.5"},[n("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>v(-1)},n("span",{class:"icon-[lucide--chevrons-left]"})),n("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>h(-1)},n("span",{class:"icon-[lucide--chevron-left]"}))]),n("span",{class:"font-bold uppercase flex-1 text-center"},[()=>e().toLocaleString("es-ES",{month:"short",year:"numeric"})]),n("div",{class:"flex gap-0.5"},[n("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>h(1)},n("span",{class:"icon-[lucide--chevron-right]"})),n("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>v(1)},n("span",{class:"icon-[lucide--chevrons-right]"}))])]),n("div",{class:"grid grid-cols-7 gap-1",onmouseleave:()=>a(null)},[...["L","M","X","J","V","S","D"].map((m)=>n("div",{class:"text-[10px] opacity-40 font-bold text-center"},m)),()=>{let m=e(),b=m.getFullYear(),w=m.getMonth(),k=new Date(b,w,1).getDay(),L=k===0?6:k-1,se=new Date(b,w+1,0).getDate(),K=[];for(let R=0;R{let T=u(),Y=a(),le=typeof T==="string"?T.split("T")[0]===S:T?.start===S,ce=T?.end===S,J=!1;if(r()&&T?.start){let U=T.start;if(!T.end&&Y)J=S>U&&S<=Y||S=Y;else if(T.end)J=S>U&&S{if(r())a(S)},onclick:()=>f(jt)},R.toString()))}return K}]),t.hour?n("div",{class:"mt-3 pt-2 border-t border-base-300"},[r()?n("div",{class:"flex gap-4"},[x({value:s,onChange:(m)=>s(m)}),x({value:c,onChange:(m)=>c(m)})]):x({value:s,onChange:(m)=>s(m)})]):null])};var ct={};d(ct,{CardTitle:()=>$e,CardBody:()=>ke,CardActions:()=>_e,Card:()=>we});var we=(t,e)=>{return e===void 0&&(e=t,t={}),n("div",{...t,class:`card ${t.class??""}`},e)},$e=(t,e)=>{return e===void 0&&(e=t,t={}),n("div",{...t,class:`card-title ${t.class??""}`},e)},ke=(t,e)=>{return e===void 0&&(e=t,t={}),n("div",{...t,class:`card-body ${t.class??""}`},e)},_e=(t,e)=>{return e===void 0&&(e=t,t={}),n("div",{...t,class:`card-actions ${t.class??""}`},e)};var ot={};d(ot,{CarouselItem:()=>Ce,Carousel:()=>Se});var Se=(t,e)=>{return e===void 0&&(e=t,t={}),n("div",{...t,class:`carousel ${t.class??""}`},e)},Ce=(t,e)=>{return e===void 0&&(e=t,t={}),n("div",{...t,class:`carousel-item ${t.class??""}`},e)};var rt={};d(rt,{ChatMessage:()=>Ee,ChatImage:()=>Vt,ChatHeader:()=>Xt,ChatFooter:()=>Gt,ChatBubble:()=>Qt,Chat:()=>Ut});var Ut=(t,e)=>{return e===void 0&&(e=t,t={}),n("div",{...t,class:`chat ${t.class??""}`},e)},Vt=(t,e)=>{return e===void 0&&(e=t,t={}),n("div",{...t,class:`chat-image avatar ${t.class??""}`},n("div",{class:"w-10 rounded-full"},typeof e==="string"?n("img",{src:e,alt:"avatar"}):e))},Xt=(t,e)=>{return e===void 0&&(e=t,t={}),n("div",{...t,class:`chat-header ${t.class??""}`},e)},Gt=(t,e)=>{return e===void 0&&(e=t,t={}),n("div",{...t,class:`chat-footer ${t.class??""}`},e)},Qt=(t,e)=>{return e===void 0&&(e=t,t={}),n("div",{...t,class:`chat-bubble ${t.class??""}`},e)},Ee=(t)=>{let{position:e="start",avatar:a,header:s,message:c,footer:r,bubbleClass:o,...l}=t;return Ut({...l,class:`chat-${e} ${t.class??""}`},[a&&Vt(a),s&&Xt(s),Qt({class:o},c),r&&Gt(r)])};var it={};d(it,{Checkbox:()=>Te});var Te=(t)=>n("input",{...t,type:"checkbox",class:`checkbox ${t.class??""}`});var ut={};d(ut,{Colorpicker:()=>De});var De=(t)=>{let e=g(!1),a=["#000","#1A1A1A","#333","#4D4D4D","#666","#808080","#B3B3B3","#FFF","#450a0a","#7f1d1d","#991b1b","#b91c1c","#dc2626","#ef4444","#f87171","#fca5a5","#431407","#7c2d12","#9a3412","#c2410c","#ea580c","#f97316","#fb923c","#ffedd5","#713f12","#a16207","#ca8a04","#eab308","#facc15","#fde047","#fef08a","#fff9c4","#064e3b","#065f46","#059669","#10b981","#34d399","#4ade80","#84cc16","#d9f99d","#082f49","#075985","#0284c7","#0ea5e9","#38bdf8","#7dd3fc","#22d3ee","#cffafe","#1e1b4b","#312e81","#4338ca","#4f46e5","#6366f1","#818cf8","#a5b4fc","#e0e7ff","#2e1065","#4c1d95","#6d28d9","#7c3aed","#8b5cf6","#a855f7","#d946ef","#fae8ff"],s=()=>{let c=t.value;return(typeof c==="function"?c():c)||"#000000"};return n("div",{class:`relative w-fit ${t.class??""}`},[n("button",{type:"button",class:"btn px-3 bg-base-100 border-base-300 hover:border-primary/50 flex items-center gap-2 shadow-sm font-normal normal-case",onclick:(c)=>{c.stopPropagation(),e(!e())},...t},[n("div",{class:"size-5 rounded-sm shadow-inner border border-black/10 shrink-0",style:()=>`background-color: ${s()}`}),t.label?n("span",{class:"opacity-80"},t.label):null]),N(e,()=>n("div",{class:"absolute left-0 mt-2 p-3 bg-base-100 border border-base-300 shadow-2xl rounded-box z-[110] w-64 select-none",onclick:(c)=>c.stopPropagation()},[n("div",{class:"grid grid-cols-8 gap-1"},a.map((c)=>n("button",{type:"button",style:`background-color: ${c}`,class:()=>{return`size-6 rounded-sm cursor-pointer transition-all hover:scale-125 hover:z-10 active:scale-95 outline-none border border-black/5 p-0 min-h-0 ${s().toLowerCase()===c.toLowerCase()?"ring-2 ring-offset-1 ring-primary z-10 scale-110":""}`},onclick:()=>{if(typeof t.value==="function")t.value(c);e(!1)}})))])),N(e,()=>n("div",{class:"fixed inset-0 z-[100]",onclick:()=>e(!1)}))])};var ft={};d(ft,{Datepicker:()=>Ae});var Ae=(t)=>{let e=g(!1),a=()=>{return(typeof t.range==="function"?t.range():t.range)===!0},s=g("");E(()=>{let o=typeof t.value==="function"?t.value():t.value;if(!o){s("");return}let l="";if(typeof o==="string")l=t.hour&&o.includes("T")?o.replace("T"," "):o;else if(o.start&&o.end){let i=t.hour&&o.startHour!==void 0?`${o.start} ${String(o.startHour).padStart(2,"0")}:00`:o.start,u=t.hour&&o.endHour!==void 0?`${o.end} ${String(o.endHour).padStart(2,"0")}:00`:o.end;l=`${i} - ${u}`}else if(o.start)l=`${t.hour&&o.startHour!==void 0?`${o.start} ${String(o.startHour).padStart(2,"0")}:00`:o.start}...`;s(l)});let c=(o)=>{if(typeof t.value==="function")t.value(o);if(!a()||o?.end!==void 0&&o?.end!==null)e(!1)},r=(o)=>{o.stopPropagation(),e(!e())};return n("div",{class:`relative w-full ${t.class??""}`},[n("label",{class:"input input-bordered w-full",onclick:r},[n("span",{class:"icon-[lucide--calendar]"}),n("input",{...t,type:"text",class:"grow",value:s,readonly:!0,placeholder:t.placeholder||(a()?"Seleccionar rango...":"Seleccionar fecha...")})]),N(e,()=>n("div",{class:"absolute left-0 mt-2 z-[100]",onclick:(o)=>o.stopPropagation()},[st({value:t.value,range:a(),hour:t.hour,onChange:c})])),N(e,()=>n("div",{class:"fixed inset-0 z-[90]",onclick:()=>e(!1)}))])};var dt={};d(dt,{Sidebar:()=>Ie,Drawer:()=>Ne});var Ne=(t,e)=>{return e===void 0&&(e=t,t={}),n("div",{...t,class:`drawer ${t.class??""}`},e)},Ie=(t)=>{let e=t.id||`drawer-${Math.random().toString(36).slice(2,9)}`;return n("div",{...t,class:`drawer ${t.class??""}`},[n("input",{id:e,type:"checkbox",class:"drawer-toggle",checked:()=>typeof t.open==="function"?t.open():t.open,onchange:(a)=>typeof t.open==="function"&&t.open(a.target.checked)}),n("div",{class:"drawer-content"},t.children),n("div",{class:"drawer-side"},[n("label",{for:e,class:"drawer-overlay",onclick:()=>typeof t.open==="function"&&t.open(!1)}),n("div",{class:"min-h-full bg-base-200 w-80 p-4"},typeof t.content==="function"?t.content():t.content)])])};var mt={};d(mt,{Dropdown:()=>Le});var I=null;if(typeof window<"u"&&!window.__dropdownHandlerRegistered)window.addEventListener("click",(t)=>{if(I&&!I.contains(t.target))I.open=!1,I=null}),window.__dropdownHandlerRegistered=!0;var Le=(t)=>n("details",{...t,class:`dropdown ${t.class??""}`,onclick:(e)=>{let a=e.currentTarget;if(I&&I!==a)I.open=!1;setTimeout(()=>{I=a.open?a:null},0)}},t.children);var ht={};d(ht,{Fab:()=>Re});var Re=(t,e)=>{return e===void 0&&(e=t,t={}),n("div",{...t,class:`fab ${t.class??""}`},e)};var gt={};d(gt,{Fieldset:()=>Be});var Be=(t,e)=>n("fieldset",{...t,class:`fieldset ${t.class??""}`},[t.legend?n("legend",{class:"fieldset-legend"},t.legend):null,e]);var bt={};d(bt,{Fileinput:()=>ze});var ze=(t)=>{let e=g([]),a=g(!1),s=g(null),c=(t.max||2)*1024*1024,r=(l)=>{let i=Array.from(l);if(s(null),i.find((u)=>u.size>c)){s(`Máx ${t.max||2}MB`);return}e([...e(),...i]),t.onselect?.(e())},o=(l)=>{let i=e().filter((u,f)=>f!==l);e(i),t.onselect?.(i)};return n("div",{...t,class:`fieldset w-full p-0 ${t.class??""}`},[n("label",{class:()=>`relative flex items-center justify-between w-full h-12 px-4 border-2 border-dashed rounded-lg cursor-pointer transition-all duration-200 ${a()?"border-primary bg-primary/10":"border-base-content/20 bg-base-100 hover:bg-base-200"}`,ondragover:(l)=>{l.preventDefault(),a(!0)},ondragleave:()=>a(!1),ondrop:(l)=>{l.preventDefault(),a(!1),r(l.dataTransfer.files)}},[n("div",{class:"flex items-center gap-3 w-full"},[n("span",{class:"icon-[lucide--upload]"}),n("span",{class:"text-sm opacity-70 truncate grow text-left"},"Arrastra o selecciona archivos..."),n("span",{class:"text-[10px] opacity-40 shrink-0"},`Máx ${t.max||2}MB`)]),n("input",{type:"file",multiple:!0,accept:t.accept||"*",class:"hidden",onchange:(l)=>r(l.target.files)})]),()=>s()&&n("span",{class:"text-[10px] text-error mt-1 px-1 font-medium"},s()),N(()=>e().length>0,()=>n("ul",{class:"mt-2 space-y-1"},[$(e,(l,i)=>n("li",{class:"flex items-center justify-between p-1.5 pl-3 text-xs bg-base-200/50 rounded-md border border-base-300"},[n("div",{class:"flex items-center gap-2 truncate"},[n("span",{class:"opacity-50"},"\uD83D\uDCC4"),n("span",{class:"truncate font-medium max-w-[200px]"},l.name),n("span",{class:"text-[9px] opacity-40"},`(${(l.size/1024).toFixed(0)} KB)`)]),n("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle",onclick:(u)=>{u.preventDefault(),o(i)}},n("span",{class:"icon-[lucide--x]"}))]),(l)=>l.name+l.lastModified)]))])};var vt={};d(vt,{Icon:()=>Fe});var Fe=(t,e)=>{if(typeof t==="string"){if(t.includes("icon-")||t.startsWith("lucide-"))return n("span",{class:t},e);return n("span",{class:"icon"},t)}if(!t)return null;let{class:a,...s}=t;return n("span",{...s,class:a},e)};var yt={};d(yt,{Indicator:()=>He});var He=(t,e)=>{return e===void 0&&(e=t,t={}),n("div",{...t,class:`indicator ${t.class??""}`},[t.value?n("span",{class:`indicator-item badge ${t.class??""}`},t.value):null,e])};var xt={};d(xt,{InputLabel:()=>Pe,Input:()=>Oe});var Oe=(t)=>n("input",{...t,class:`input ${t.class??""}`}),Pe=(t)=>n("label",{class:`${t.float?"floating-label":"input"}`},[n("span",{class:t.float?"":"label opacity-50"},t.label),t.left??null,n("input",{...t,class:`${t.float?"input":""} ${t.class??""}`}),t.right??null]);var wt={};d(wt,{Kbd:()=>je});var je=(t,e)=>{return e===void 0&&(e=t,t={}),n("kbd",{...t,class:`kbd ${t.class??""}`},e)};var $t={};d($t,{Loading:()=>qe});var qe=(t,e)=>{return e===void 0&&(e=t,t={}),n("span",{...t,class:`loading loading-spinner ${t.class??""}`},e)};var kt={};d(kt,{MenuItems:()=>Zt,Menu:()=>We});var We=(t,e)=>{return e===void 0&&(e=t,t={}),n("ul",{...t,class:`menu ${t.class??""}`},e)},Zt=(t)=>{let{items:e,keyFn:a=(r,o)=>r.id??o}=t;return $(typeof e==="function"?e:()=>e||[],(r)=>{if(r.children)return n("li",{},[n("details",{},[n("summary",{},r.label),n("ul",{},Zt({items:r.children}))])]);return n("li",{},n("a",{href:r.href,onclick:r.onclick?(o)=>{if(!r.href)o.preventDefault();r.onclick(o)}:null},r.label))},a)};var _t={};d(_t,{Modal:()=>Ke});var Ke=(t)=>{let e=null;E(()=>{let s=typeof t.open==="function"?t.open():t.open;if(!e)return;s?e.showModal():e.close()});let a=()=>typeof t.open==="function"&&t.open(!1);return n("dialog",{...t,ref:(s)=>e=s,class:`modal ${t.class??""}`,onclose:a,oncancel:a},[n("div",{class:"modal-box"},[t.title&&n("h3",{class:"text-lg font-bold"},t.title),t.children,n("div",{class:"modal-action"},[t.actions||n("button",{class:"btn",onclick:a},"Cerrar")])]),n("form",{method:"dialog",class:"modal-backdrop"},[n("button",{},"close")])])};var St={};d(St,{Navbar:()=>Ye});var Ye=(t,e)=>{return e===void 0&&(e=t,t={}),n("div",{...t,class:`navbar ${t.class??""}`},e)};var Ct={};d(Ct,{Radial:()=>Je});var Je=(t,e)=>{e===void 0&&(e=t,t={});let a=t.value!=null?t.value/(t.max||100)*100:0,s=`--value: ${a}; --max: 100;`;return n("div",{...t,class:`radial-progress ${t.class??""}`,style:s,role:"progressbar","aria-valuenow":t.value,"aria-valuemin":0,"aria-valuemax":t.max||100},e||`${Math.round(a)}%`)};var Et={};d(Et,{Radio:()=>Ue});var Ue=(t)=>n("input",{...t,type:"radio",class:`radio ${t.class??""}`});var Tt={};d(Tt,{Range:()=>Ve});var Ve=(t)=>n("input",{...t,type:"range",class:`range ${t.class??""}`});var Dt={};d(Dt,{Rating:()=>Xe});var Xe=(t,e)=>{e===void 0&&(e=t,t={});let a=`rating-${Math.random().toString(36).slice(2,7)}`;return n("div",{...t,class:`rating ${t.class??""}`},e||Array.from({length:t.count||5},(s,c)=>{let r=c+1;return n("input",{type:"radio",name:a,class:`mask ${t.mask||"mask-star"}`,checked:()=>typeof t.value==="function"?t.value()===r:t.value===r,onchange:()=>{if(t.onchange)t.onchange(r);else if(typeof t.value==="function")t.value(r)}})}))};var At={};d(At,{SkeletonText:()=>Qe,Skeleton:()=>Ge});var Ge=(t)=>n("div",{...t,class:`skeleton ${t.class??""}`}),Qe=(t)=>{return n("div",{...t,class:"space-y-2"},Array.from({length:t.lines||3},()=>n("div",{class:`skeleton h-4 w-full ${t.class??""}`})))};var Nt={};d(Nt,{SelectLabel:()=>Me,SelectItems:()=>pe,Select:()=>Ze});var Ze=(t,e)=>{return e===void 0&&(e=t,t={}),n("select",{...t,class:`select ${t.class??""}`},e)},pe=(t)=>{let e=t.placeholder?n("option",{disabled:t.placeholderDisabled??!0,selected:!0},t.placeholder):null,a=$(()=>[...typeof t.items==="function"?t.items():t.items||[]],(s)=>{let c=typeof s==="string"?s:s.value,r=typeof s==="string"?s:s.label;return n("option",{value:c},r)},t.keyFn||((s)=>typeof s==="string"?s:s.value));return e?[e,a]:a},Me=(t,e)=>n("label",{class:`${t.float?"floating-label":"select"}`},[n("span",{class:t.float?"":"label opacity-50"},t.label),t.left??null,n("select",{...t,class:`${t.float?"select":""} ${t.class??""}`},e),t.right??null]);var It={};d(It,{Stack:()=>tn});var tn=(t,e)=>{return e===void 0&&(e=t,t={}),n("div",{...t,class:`stack ${t.class??""}`},e)};var j={};d(j,{Stats:()=>en,Stat:()=>nn});var en=(t,e)=>{e===void 0&&(e=t,t={});let a=t.vertical?"stats-vertical":"stats-horizontal";return n("div",{...t,class:`stats ${a} ${t.class??""}`.trim()},e)},nn=(t,e)=>{return e===void 0&&(e=t,t={}),n("div",{...t,class:`stat ${t.class??""}`},[t.icon&&n("div",{class:"stat-figure"},t.icon),t.label&&n("div",{class:"stat-title"},t.label),t.value&&n("div",{class:"stat-value"},t.value),t.desc&&n("div",{class:"stat-desc"},t.desc),t.actions&&n("div",{class:"stat-actions"},t.actions),e])};var Lt={};d(Lt,{Swap:()=>an});var an=(t)=>{return n("label",{...t,class:`swap ${t.class??""}`},[n("input",{type:"checkbox",checked:()=>typeof t.value==="function"?t.value():t.value,onchange:(e)=>typeof t.value==="function"&&t.value(e.target.checked)}),n("div",{class:"swap-on"},t.on),n("div",{class:"swap-off"},t.off)])};var Rt={};d(Rt,{TableItems:()=>ln,Table:()=>sn});var sn=(t,e)=>{return e===void 0&&(e=t,t={}),n("table",{...t,class:`table ${t.class??""}`},e)},ln=(t)=>{let e=typeof t.items==="function"?t.items():t.items||[],a=t.header!==!1&&t.columns?.some((c)=>c.label)?n("thead",{},n("tr",{},t.columns.map((c)=>n("th",{class:c.class},c.label)))):null,s=n("tbody",{},[$(e,(c,r)=>n("tr",{},t.columns.map((o)=>{let l=o.render?o.render(c,r):c[o.key];return n("td",{class:o.class},l)})),t.keyFn||((c,r)=>c.id??r))]);return[a,s]};var Bt={};d(Bt,{Tabs:()=>cn,TabItems:()=>on,TabContent:()=>Mt,TabClose:()=>te,Tab:()=>pt});var cn=(t,e)=>{return e===void 0&&(e=t,t={}),n("div",{...t,class:`tabs ${t.class??""}`},e)},pt=(t,e)=>{return e===void 0&&(e=t,t={}),n("a",{...t,role:"tab",class:`tab ${t.class??""}`},e)},Mt=(t,e)=>{return e===void 0&&(e=t,t={}),n("div",{...t,class:`tab-content ${t.class??""}`},e)},te=(t)=>n("a",{...t,role:"tab",class:`tab ${t.class??""}`},[n("span",{class:"flex items-center"},[t.label,n("span",{class:"icon-[lucide--x] w-3.5 h-3.5 ml-2 cursor-pointer hover:opacity-70",onclick:(e)=>{e.stopPropagation(),t.onClose?.(e)}})])]),on=(t)=>{let e=typeof t.items==="function"?t.items:()=>t.items||[];return $(e,(a,s)=>{return[(a.closable?te:pt)({...a,class:()=>t.activeIndex()===s?`tab-active ${a.class??""}`:a.class,onclick:(r)=>{r.preventDefault(),t.activeIndex(s),a.onclick?.(r)},onClose:()=>t.onClose?.(s,a)}),Mt({style:()=>`display: ${t.activeIndex()===s?"block":"none"};`},typeof a.content==="function"?a.content():a.content)]},(a,s)=>a.id??s)};var zt={};d(zt,{Textarea:()=>rn});var rn=(t)=>n("textarea",{...t,class:`textarea ${t.class??""}`});var Ft={};d(Ft,{TextRotate:()=>un});var un=(t)=>{let e=Array.isArray(t.words)?t.words:typeof t.words==="string"?t.words.split(","):[];return n("span",{...t,class:`text-rotate ${t.class??""}`},[n("span",{},e.map((a)=>n("span",{},a)))])};var Ht={};d(Ht,{Timeline:()=>fn});var fn=(t,e)=>{e===void 0&&(e=t,t={});let a=t.vertical!==!1,s=t.compact===!0;return n("ul",{...t,class:`timeline ${a?"timeline-vertical":"timeline-horizontal"} ${s?"timeline-compact":""} ${t.class??""}`.trim()},e)};var Ot={};d(Ot,{Toast:()=>dn});var dn=(t,e="alert-success",a=3500)=>{let s=document.getElementById("sigpro-toast-container");if(!s)s=n("div",{id:"sigpro-toast-container",class:"fixed top-0 right-0 z-[9999] p-4 flex flex-col gap-2 pointer-events-none"}),document.body.appendChild(s);let c=n("div",{style:"display: contents"});s.appendChild(c);let r,o=()=>{clearTimeout(r);let u=c.firstElementChild;if(u&&!u.classList.contains("opacity-0"))u.classList.add("translate-x-full","opacity-0"),setTimeout(()=>{if(i.destroy(),c.remove(),!s.hasChildNodes())s.remove()},300);else i.destroy(),c.remove()},i=p(()=>{let u=n("span",{class:"icon-[lucide--x]"}),f=n("button",{class:"btn btn-xs btn-circle btn-ghost",onclick:o},u),h=n("div",{class:`alert alert-soft ${e} shadow-lg transition-all duration-300 translate-x-10 opacity-0 pointer-events-auto`},[n("span",{},typeof t==="function"?t():t),f]);return requestAnimationFrame(()=>h.classList.remove("translate-x-10","opacity-0")),h},c);if(a>0)r=setTimeout(o,a);return o};var Pt={};d(Pt,{Tooltip:()=>mn});var mn=(t,e)=>{return e===void 0&&(e=t,t={}),n("div",{...t,class:`tooltip ${t.class??""}`,"data-tip":t.tip},e)};var hn={es:{close:"Cerrar",confirm:"Confirmar",cancel:"Cancelar",search:"Buscar...",loading:"Cargando...",nodata:"Sin datos"},en:{close:"Close",confirm:"Confirm",cancel:"Cancel",search:"Search...",loading:"Loading...",nodata:"No data"}},ee=g("es"),ne=(t)=>ee(t),ae=(t)=>()=>hn[ee()][t]||t;var gn={...M,...tt,...et,...nt,...at,...lt,...ct,...ot,...rt,...it,...ut,...ft,...dt,...mt,...ht,...gt,...bt,...vt,...yt,...xt,...wt,...$t,...kt,..._t,...St,...Ct,...Et,...Tt,...Dt,...At,...Nt,...It,...j,...j,...Lt,...Rt,...Bt,...zt,...Ft,...Ht,...Ot,...Pt},bn={Locale:ne,tt:ae};if(typeof window<"u")Object.entries({...gn,...bn}).forEach(([t,e])=>{Object.defineProperty(window,t,{value:e,writable:!1,configurable:!0,enumerable:!0})}),console.log("SigProUI installed");export{bn as Utils,gn as Components}; +var ft=Object.defineProperty;var dt=(e)=>e;function mt(e,t){this[e]=dt.bind(null,t)}var m=(e,t)=>{for(var a in t)ft(e,a,{get:t[a],enumerable:!0,configurable:!0,set:mt.bind(t,a)})};var ee={};m(ee,{Accordion:()=>wt});var E=(e)=>typeof e==="function",G=(e)=>e&&typeof e==="object",I=Array.isArray,D=typeof document<"u"?document:null,qe=(e)=>e?._isRuntime?e.container:e instanceof Node?e:D.createTextNode(e==null?"":String(e)),x=null,S=null,H=!1,O=0,q=new Set,Ke=new WeakMap,U=Symbol("iter"),X=new WeakMap,F=(e)=>{if(!e||e._disposed)return;e._disposed=!0;let t=[e];while(t.length){let a=t.pop();if(a._cleanups)a._cleanups.forEach((s)=>s()),a._cleanups.clear();if(a._children)a._children.forEach((s)=>t.push(s)),a._children.clear();if(a._deps)a._deps.forEach((s)=>s.delete(a)),a._deps.clear()}},L=(e)=>{if(S)(S._cleanups||=new Set).add(e)},gt=(e)=>{let t=x;x=null;try{return e()}finally{x=t}},j=(e,t=!1)=>{let a=()=>{if(a._disposed)return;if(a._deps)a._deps.forEach((r)=>r.delete(a));if(a._cleanups)a._cleanups.forEach((r)=>r()),a._cleanups.clear();let s=x,c=S;x=S=a;try{return a._result=e()}catch(r){console.error("[SigPro]",r)}finally{x=s,S=c}};if(a._deps=a._cleanups=a._children=null,a._disposed=!1,a._isComputed=t,a._depth=x?x._depth+1:0,a._mounts=[],a._parent=S,S)(S._children||=new Set).add(a);return a},Ye=()=>{if(H)return;H=!0;let e=Array.from(q).sort((t,a)=>t._depth-a._depth);q.clear();for(let t of e)if(!t._disposed)t();H=!1},ht=(e)=>{O++;try{return e()}finally{if(O--,O===0&&q.size>0&&!H)Ye()}},T=(e,t=!1)=>{if(!t&&x&&!x._disposed)e.add(x),(x._deps||=new Set).add(e);else if(t&&e.size>0){let a=!1;for(let s of e){if(s===x||s._disposed)continue;if(s._isComputed){if(s._dirty=!0,s._subs)T(s._subs,!0)}else q.add(s),a=!0}if(a&&!H&&O===0)queueMicrotask(Ye)}},h=(e,t=null)=>{let a=new Set;if(E(e)){let s,c=()=>{if(c._dirty){let r=x;x=c;try{let l=e();if(!Object.is(s,l))s=l,T(a,!0)}finally{x=r}c._dirty=!1}return T(a),s};if(c._isComputed=!0,c._subs=a,c._dirty=!0,c._deps=null,c._disposed=!1,c.stop=()=>{},S)L(c.stop);return c}if(t)try{e=JSON.parse(localStorage.getItem(t))??e}catch(s){}return(...s)=>{if(s.length){let c=E(s[0])?s[0](e):s[0];if(!Object.is(e,c)){if(e=c,t)localStorage.setItem(t,JSON.stringify(e));T(a,!0)}}return T(a),e}},Je=(e)=>{if(!G(e))return e;let t=Ke.get(e);if(t)return t;let a=new Map,s=(r)=>{let l=a.get(r);if(!l)a.set(r,l=new Set);return l},c=new Proxy(e,{get(r,l,o){if(typeof l!=="symbol")T(s(l));return Je(Reflect.get(r,l,o))},set(r,l,o,i){let u=Reflect.has(r,l),f=Reflect.get(r,l,i),g=Reflect.set(r,l,o,i);if(g&&!Object.is(f,o)){if(T(s(l),!0),!u)T(s(U),!0)}return g},deleteProperty(r,l){let o=Reflect.deleteProperty(r,l);if(o)T(s(l),!0),T(s(U),!0);return o},ownKeys(r){return T(s(U)),Reflect.ownKeys(r)}});return Ke.set(e,c),c},_=(e,t)=>{if(t===void 0){let s=j(e);return s(),()=>F(s)}let a=j(()=>{let s=Array.isArray(e)?e.map((c)=>c()):e();gt(()=>t(s))});return a(),()=>F(a)},Q=(e)=>{if(!e)return;if(e._cleanups)e._cleanups.forEach((t)=>t()),e._cleanups.clear();if(e._ownerEffect)F(e._ownerEffect);if(e.childNodes)e.childNodes.forEach((t)=>Q(t))},bt=/^\s*(javascript|data|vbscript):/i,yt=(e)=>e==="src"||e==="href"||e.startsWith("on"),We=(e,t)=>{if(t==null||t===!1)return null;if(yt(e)){let a=String(t);if(bt.test(a))return console.warn(`[SigPro] Bloqueado protocolo peligroso en ${e}`),"#"}return t},n=(e,t={},a=[])=>{if(t instanceof Node||I(t)||!G(t))a=t,t={};if(E(e)){let l=j(()=>{let f=e(t,{children:a,emit:(g,...b)=>t[`on${g[0].toUpperCase()}${g.slice(1)}`]?.(...b)});return l._result=f,f});l();let o=l._result;if(o==null)return null;let i=o instanceof Node||I(o)&&o.every((f)=>f instanceof Node)?o:D.createTextNode(String(o)),u=(f)=>{if(G(f)&&!f._isRuntime)f._mounts=l._mounts||[],f._cleanups=l._cleanups||new Set,f._ownerEffect=l};return I(i)?i.forEach(u):u(i),i}let s=/^(svg|path|circle|rect|line|poly(line|gon)|g|defs|text(path)?|tspan|use|symbol|image|marker|ellipse)$/i.test(e),c=s?D.createElementNS("http://www.w3.org/2000/svg",e):D.createElement(e);c._cleanups=new Set;for(let l in t){if(!t.hasOwnProperty(l))continue;let o=t[l];if(l==="ref"){E(o)?o(c):o.current=c;continue}if(s&&l.startsWith("xlink:")){o==null?c.removeAttributeNS("http://www.w3.org/1999/xlink",l.slice(6)):c.setAttributeNS("http://www.w3.org/1999/xlink",l.slice(6),o);continue}if(l.startsWith("on")){let i=l.slice(2).toLowerCase();c.addEventListener(i,o);let u=()=>c.removeEventListener(i,o);c._cleanups.add(u),L(u)}else if(E(o)){let i=j(()=>{let u=We(l,o());if(l==="class")c.className=u||"";else if(u==null)c.removeAttribute(l);else if(l in c&&!s)c[l]=u;else c.setAttribute(l,u===!0?"":u)});if(i(),c._cleanups.add(()=>F(i)),L(()=>F(i)),/^(INPUT|TEXTAREA|SELECT)$/.test(c.tagName)&&(l==="value"||l==="checked")){let u=l==="checked"?"change":"input";c.addEventListener(u,(f)=>o(f.target[l]))}}else{let i=We(l,o);if(i!=null)if(l in c&&!s)c[l]=i;else c.setAttribute(l,i===!0?"":i)}}let r=(l)=>{if(I(l))return l.forEach(r);if(E(l)){let o=D.createTextNode("");c.appendChild(o);let i=[],u=j(()=>{let f=l(),g=(I(f)?f:[f]).map(qe);i.forEach((v)=>{if(v._isRuntime)v.destroy();else Q(v);if(v.parentNode)v.remove()});let b=o;for(let v=g.length-1;v>=0;v--){let d=g[v];if(d.parentNode!==b.parentNode)b.parentNode?.insertBefore(d,b);if(d._mounts)d._mounts.forEach((y)=>y());b=d}i=g});u(),c._cleanups.add(()=>F(u)),L(()=>F(u))}else{let o=qe(l);if(c.appendChild(o),o._mounts)o._mounts.forEach((i)=>i())}};return r(a),c},K=(e)=>{let t=new Set,a=S,s=x,c=D.createElement("div");c.style.display="contents",c.setAttribute("role","presentation"),S={_cleanups:t},x=null;let r=(l)=>{if(!l)return;if(l._isRuntime)t.add(l.destroy),c.appendChild(l.container);else if(I(l))l.forEach(r);else c.appendChild(l instanceof Node?l:D.createTextNode(String(l==null?"":l)))};try{r(e({onCleanup:(l)=>t.add(l)}))}finally{S=a,x=s}return{_isRuntime:!0,container:c,destroy:()=>{t.forEach((l)=>l()),Q(c),c.remove()}}},p=(e,t,a=null)=>{let s=D.createTextNode(""),c=n("div",{style:"display:contents"},[s]),r=null;return _(()=>!!(E(e)?e():e),(l)=>{if(r)r.destroy(),r=null;let o=l?t:a;if(o)r=K(()=>E(o)?o():o),c.insertBefore(r.container,s)}),L(()=>r?.destroy()),c},Z=({name:e,duration:t=200,scale:a,slide:s,rotate:c,blur:r},l)=>{let o=typeof l==="function"?l():l;if(!(o instanceof Node))return o;if(e)return o.style.animation=`${e}-in ${t}ms`,o;let i=a||s||c||r,u=[a?"scale(0.95)":"",s?"translateY(-10px)":"",c?"rotate(-2deg)":""].filter(Boolean).join(" ");if(o.style.transition=`all ${t}ms ease`,o.style.opacity="0",i)o.style.transform=u;if(r)o.style.filter="blur(4px)";return requestAnimationFrame(()=>{if(o.style.opacity="1",i)o.style.transform="none";if(r)o.style.filter="none"}),o},$=(e,t,a)=>{let s=D.createTextNode(""),c=n("div",{style:"display:contents"},[s]),r=new Map;return _(()=>(E(e)?e():e)||[],(l)=>{let o=new Map,i=[],u=l||[];for(let g=0;gt(b,g));else r.delete(v);o.set(v,d),i.push(d)}r.forEach((g)=>g.destroy());let f=s;for(let g=i.length-1;g>=0;g--){let b=i[g].container;if(b.nextSibling!==f)c.insertBefore(b,f);f=b}r=o}),c},z=(e)=>{let t=()=>window.location.hash.slice(1)||"/",a=h(t()),s=()=>a(t());window.addEventListener("hashchange",s),L(()=>window.removeEventListener("hashchange",s));let c=n("div",{class:"router-hook"}),r=null;return _([a],()=>{let l=a(),o=e.find((i)=>{let u=i.path.split("/").filter(Boolean),f=l.split("/").filter(Boolean);return u.length===f.length&&u.every((g,b)=>g[0]===":"||g===f[b])})||e.find((i)=>i.path==="*");if(o){r?.destroy();let i={};o.path.split("/").filter(Boolean).forEach((u,f)=>{if(u[0]===":")i[u.slice(1)]=l.split("/").filter(Boolean)[f]}),z.params(i),r=K(()=>E(o.component)?o.component(i):o.component),c.replaceChildren(r.container)}}),c};z.params=h({});z.to=(e)=>window.location.hash=e.replace(/^#?\/?/,"#/");z.back=()=>window.history.back();z.path=()=>window.location.hash.replace(/^#/,"")||"/";var vt=({url:e,method:t="GET",headers:a={}})=>{let s=h(!1),c=h(null),r=h(null),l=null,o=null;return{run:async(i=null)=>{l?.abort(),clearTimeout(o),l=new AbortController,o=setTimeout(()=>l.abort(),1e4),s(!0),c(null);try{let u=i instanceof FormData,f=await fetch(e,{method:t,headers:u?a:{"Content-Type":"application/json",...a},body:u?i:i?JSON.stringify(i):void 0,signal:l.signal}),g=await f.text(),b=g?JSON.parse(g):null;if(!f.ok)throw Error(b?.message||f.statusText);return r(b),b}catch(u){if(u.name!=="AbortError")c(u.message);throw u}finally{s(!1),clearTimeout(o),l=null,o=null}},abort:()=>l?.abort(),loading:s,error:c,data:r}},M=(e,t)=>{let a=typeof t==="string"?D.querySelector(t):t;if(!a)return;if(X.has(a))X.get(a).destroy();let s=K(E(e)?e:()=>e);return a.replaceChildren(s.container),X.set(a,s),s},xt=Object.freeze({$:h,$$:Je,watch:_,h:n,when:p,each:$,fx:Z,router:z,req:vt,mount:M,batch:ht});if(typeof window<"u")Object.assign(window,xt),"a abbr article aside audio b blockquote br button canvas caption cite code col colgroup datalist dd del details dfn dialog div dl dt em embed fieldset figcaption figure footer form h1 h2 h3 h4 h5 h6 header hr i iframe img input ins kbd label legend li main mark meter nav object ol optgroup option output p picture pre progress section select slot small source span strong sub summary sup svg table tbody td template textarea tfoot th thead time tr u ul video".split(" ").forEach((e)=>{window[e]=(t,a)=>n(e,t,a)});var wt=(e,t)=>{let a=e.name||`accordion-${Math.random().toString(36).slice(2,9)}`;if(e.items&&Array.isArray(e.items))return n("div",{class:`space-y-2 ${e.class??""}`},e.items.map((s)=>n("div",{class:`collapse ${s.class??""}`},[n("input",{type:"radio",name:a,checked:s.open}),n("div",{class:"collapse-title text-xl font-medium"},s.title),n("div",{class:"collapse-content"},t)])));return n("div",{class:`collapse ${e.class??""}`},[n("input",{type:"radio",name:a,checked:e.open}),n("div",{class:"collapse-title text-xl font-medium"},e.title),n("div",{class:"collapse-content"},t)])};var te={};m(te,{Alert:()=>$t});var $t=(e,t)=>{return t===void 0&&(t=e,e={}),n("div",{...e,class:`alert ${e.class??""}`},t)};var ne={};m(ne,{Autocomplete:()=>kt});var kt=(e)=>{let t=h(""),a=h(!1),s=h(-1),c=h([]);_(()=>{return(typeof e.value==="function"?e.value():e.value)||""},(o)=>setTimeout(()=>t(o),0)),_(()=>{let o=String(t()).toLowerCase(),i=typeof e.items==="function"?e.items():e.items,u=o?i.filter((f)=>(typeof f==="string"?f:f.label).toLowerCase().includes(o)):i;c(u)});let r=(o)=>{let i=typeof o==="string"?o:o.label,u=typeof o==="string"?o:o.value;if(t(i),typeof e.value==="function")e.value(u);e.onselect?.(o),a(!1),s(-1)},l=(o)=>{let i=c();if(o.key==="ArrowDown")o.preventDefault(),a(!0),s(Math.min(s()+1,i.length-1));else if(o.key==="ArrowUp")o.preventDefault(),s(Math.max(s()-1,0));else if(o.key==="Enter"&&s()>=0)o.preventDefault(),r(i[s()]);else if(o.key==="Escape")a(!1)};return n("div",{class:`relative w-full ${e.class??""}`},[n("label",{class:"input input-bordered w-full"},[n("span",{class:"icon-[lucide--search]"}),n("input",{...e,type:"text",class:"grow",placeholder:e.placeholder||"Buscar...",value:t,onfocus:()=>a(!0),onblur:()=>setTimeout(()=>a(!1),150),onkeydown:l,oninput:(o)=>{let i=o.target.value;if(t(i),typeof e.value==="function")e.value(i);a(!0),s(-1)}})]),n("ul",{class:"absolute left-0 w-full menu bg-base-100 rounded-box mt-1 p-2 shadow-xl max-h-60 overflow-y-auto border border-base-300 z-50",style:()=>`display: ${a()&&c().length?"block":"none"};`},[$(c,(o,i)=>n("li",{},[n("a",{class:()=>`block w-full ${s()===i?"active bg-primary text-primary-content":""}`,onclick:()=>r(o),onmouseenter:()=>s(i)},typeof o==="string"?o:o.label)]),(o,i)=>(typeof o==="string"?o:o.value)+i),()=>c().length===0?n("li",{class:"flex justify-center p-4 opacity-50"},n("span",{class:"icon-[lucide--search-x] text-2xl"})):null])])};var ae={};m(ae,{Badge:()=>St});var St=(e,t)=>{return t===void 0&&(t=e,e={}),n("span",{...e,class:`badge ${e.class??""}`},t)};var se={};m(se,{Button:()=>_t});var _t=(e,t)=>{return t===void 0&&(t=e,e={}),n("button",{...e,class:`btn ${e.class??""}`},t)};var oe={};m(oe,{Calendar:()=>le});var le=(e)=>{let t=h(new Date),a=h(null),s=h(0),c=h(0),r=()=>{return(typeof e.range==="function"?e.range():e.range)===!0},l=new Date,o=`${l.getFullYear()}-${String(l.getMonth()+1).padStart(2,"0")}-${String(l.getDate()).padStart(2,"0")}`,i=(d)=>{let y=d.getFullYear(),w=String(d.getMonth()+1).padStart(2,"0"),k=String(d.getDate()).padStart(2,"0");return`${y}-${w}-${k}`},u=()=>{return typeof e.value==="function"?e.value():e.value},f=(d)=>{let y=i(d),w=u();if(r())if(!w?.start||w.start&&w.end){let k={start:y,end:null,...e.hour&&{startHour:s()}};e.onChange?.(k)}else{let k=w.start,B;if(y{let y=t();t(new Date(y.getFullYear(),y.getMonth()+d,1))},b=(d)=>{let y=t();t(new Date(y.getFullYear()+d,y.getMonth(),1))},v=({value:d,onChange:y})=>{return n("div",{class:"flex-1"},[n("div",{class:"flex gap-2 items-center"},[n("input",{type:"range",min:0,max:23,value:d,class:"range range-xs flex-1",oninput:(w)=>y(parseInt(w.target.value))}),n("span",{class:"text-sm font-mono min-w-[48px] text-center"},()=>String(typeof d==="function"?d():d).padStart(2,"0")+":00")])])};return n("div",{class:`p-4 bg-base-100 border border-base-300 shadow-2xl rounded-box w-80 select-none ${e.class??""}`.trim()},[n("div",{class:"flex justify-between items-center mb-4 gap-1"},[n("div",{class:"flex gap-0.5"},[n("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>b(-1)},n("span",{class:"icon-[lucide--chevrons-left]"})),n("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>g(-1)},n("span",{class:"icon-[lucide--chevron-left]"}))]),n("span",{class:"font-bold uppercase flex-1 text-center"},[()=>t().toLocaleString("es-ES",{month:"short",year:"numeric"})]),n("div",{class:"flex gap-0.5"},[n("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>g(1)},n("span",{class:"icon-[lucide--chevron-right]"})),n("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>b(1)},n("span",{class:"icon-[lucide--chevrons-right]"}))])]),n("div",{class:"grid grid-cols-7 gap-1",onmouseleave:()=>a(null)},[...["L","M","X","J","V","S","D"].map((d)=>n("div",{class:"text-[10px] opacity-40 font-bold text-center"},d)),()=>{let d=t(),y=d.getFullYear(),w=d.getMonth(),k=new Date(y,w,1).getDay(),B=k===0?6:k-1,rt=new Date(y,w+1,0).getDate(),W=[];for(let R=0;R{let A=u(),Y=a(),it=typeof A==="string"?A.split("T")[0]===C:A?.start===C,ut=A?.end===C,J=!1;if(r()&&A?.start){let V=A.start;if(!A.end&&Y)J=C>V&&C<=Y||C=Y;else if(A.end)J=C>V&&C{if(r())a(C)},onclick:()=>f(Oe)},R.toString()))}return W}]),e.hour?n("div",{class:"mt-3 pt-2 border-t border-base-300"},[r()?n("div",{class:"flex gap-4"},[v({value:s,onChange:(d)=>s(d)}),v({value:c,onChange:(d)=>c(d)})]):v({value:s,onChange:(d)=>s(d)})]):null])};var ce={};m(ce,{CardTitle:()=>Tt,CardBody:()=>Et,CardActions:()=>pt,Card:()=>Ct});var Ct=(e,t)=>{return t===void 0&&(t=e,e={}),n("div",{...e,class:`card ${e.class??""}`},t)},Tt=(e,t)=>{return t===void 0&&(t=e,e={}),n("div",{...e,class:`card-title ${e.class??""}`},t)},Et=(e,t)=>{return t===void 0&&(t=e,e={}),n("div",{...e,class:`card-body ${e.class??""}`},t)},pt=(e,t)=>{return t===void 0&&(t=e,e={}),n("div",{...e,class:`card-actions ${e.class??""}`},t)};var re={};m(re,{CarouselItem:()=>At,Carousel:()=>Dt});var Dt=(e,t)=>{return t===void 0&&(t=e,e={}),n("div",{...e,class:`carousel ${e.class??""}`},t)},At=(e,t)=>{return t===void 0&&(t=e,e={}),n("div",{...e,class:`carousel-item ${e.class??""}`},t)};var ie={};m(ie,{ChatMessage:()=>Nt,ChatImage:()=>Ue,ChatHeader:()=>Xe,ChatFooter:()=>Ge,ChatBubble:()=>Qe,Chat:()=>Ve});var Ve=(e,t)=>{return t===void 0&&(t=e,e={}),n("div",{...e,class:`chat ${e.class??""}`},t)},Ue=(e,t)=>{return t===void 0&&(t=e,e={}),n("div",{...e,class:`chat-image avatar ${e.class??""}`},n("div",{class:"w-10 rounded-full"},typeof t==="string"?n("img",{src:t,alt:"avatar"}):t))},Xe=(e,t)=>{return t===void 0&&(t=e,e={}),n("div",{...e,class:`chat-header ${e.class??""}`},t)},Ge=(e,t)=>{return t===void 0&&(t=e,e={}),n("div",{...e,class:`chat-footer ${e.class??""}`},t)},Qe=(e,t)=>{return t===void 0&&(t=e,e={}),n("div",{...e,class:`chat-bubble ${e.class??""}`},t)},Nt=(e)=>{let{position:t="start",avatar:a,header:s,message:c,footer:r,bubbleClass:l,...o}=e;return Ve({...o,class:`chat-${t} ${e.class??""}`},[a&&Ue(a),s&&Xe(s),Qe({class:l},c),r&&Ge(r)])};var ue={};m(ue,{Checkbox:()=>Bt});var Bt=(e)=>n("input",{...e,type:"checkbox",class:`checkbox ${e.class??""}`});var fe={};m(fe,{Colorpicker:()=>Rt});var Rt=(e)=>{let t=h(!1),a=["#000","#1A1A1A","#333","#4D4D4D","#666","#808080","#B3B3B3","#FFF","#450a0a","#7f1d1d","#991b1b","#b91c1c","#dc2626","#ef4444","#f87171","#fca5a5","#431407","#7c2d12","#9a3412","#c2410c","#ea580c","#f97316","#fb923c","#ffedd5","#713f12","#a16207","#ca8a04","#eab308","#facc15","#fde047","#fef08a","#fff9c4","#064e3b","#065f46","#059669","#10b981","#34d399","#4ade80","#84cc16","#d9f99d","#082f49","#075985","#0284c7","#0ea5e9","#38bdf8","#7dd3fc","#22d3ee","#cffafe","#1e1b4b","#312e81","#4338ca","#4f46e5","#6366f1","#818cf8","#a5b4fc","#e0e7ff","#2e1065","#4c1d95","#6d28d9","#7c3aed","#8b5cf6","#a855f7","#d946ef","#fae8ff"],s=()=>{let c=e.value;return(typeof c==="function"?c():c)||"#000000"};return n("div",{class:`relative w-fit ${e.class??""}`},[n("button",{type:"button",class:"btn px-3 bg-base-100 border-base-300 hover:border-primary/50 flex items-center gap-2 shadow-sm font-normal normal-case",onclick:(c)=>{c.stopPropagation(),t(!t())},...e},[n("div",{class:"size-5 rounded-sm shadow-inner border border-black/10 shrink-0",style:()=>`background-color: ${s()}`}),e.label?n("span",{class:"opacity-80"},e.label):null]),p(t,()=>n("div",{class:"absolute left-0 mt-2 p-3 bg-base-100 border border-base-300 shadow-2xl rounded-box z-[110] w-64 select-none",onclick:(c)=>c.stopPropagation()},[n("div",{class:"grid grid-cols-8 gap-1"},a.map((c)=>n("button",{type:"button",style:`background-color: ${c}`,class:()=>{return`size-6 rounded-sm cursor-pointer transition-all hover:scale-125 hover:z-10 active:scale-95 outline-none border border-black/5 p-0 min-h-0 ${s().toLowerCase()===c.toLowerCase()?"ring-2 ring-offset-1 ring-primary z-10 scale-110":""}`},onclick:()=>{if(typeof e.value==="function")e.value(c);t(!1)}})))])),p(t,()=>n("div",{class:"fixed inset-0 z-[100]",onclick:()=>t(!1)}))])};var de={};m(de,{Datepicker:()=>Ft});var Ft=(e)=>{let t=h(!1),a=()=>{return(typeof e.range==="function"?e.range():e.range)===!0},s=h("");_(()=>{let l=typeof e.value==="function"?e.value():e.value;if(!l){s("");return}let o="";if(typeof l==="string")o=e.hour&&l.includes("T")?l.replace("T"," "):l;else if(l.start&&l.end){let i=e.hour&&l.startHour!==void 0?`${l.start} ${String(l.startHour).padStart(2,"0")}:00`:l.start,u=e.hour&&l.endHour!==void 0?`${l.end} ${String(l.endHour).padStart(2,"0")}:00`:l.end;o=`${i} - ${u}`}else if(l.start)o=`${e.hour&&l.startHour!==void 0?`${l.start} ${String(l.startHour).padStart(2,"0")}:00`:l.start}...`;s(o)});let c=(l)=>{if(typeof e.value==="function")e.value(l);if(!a()||l?.end!==void 0&&l?.end!==null)t(!1)},r=(l)=>{l.stopPropagation(),t(!t())};return n("div",{class:`relative w-full ${e.class??""}`},[n("label",{class:"input input-bordered w-full",onclick:r},[n("span",{class:"icon-[lucide--calendar]"}),n("input",{...e,type:"text",class:"grow",value:s,readonly:!0,placeholder:e.placeholder||(a()?"Seleccionar rango...":"Seleccionar fecha...")})]),p(t,()=>n("div",{class:"absolute left-0 mt-2 z-[100]",onclick:(l)=>l.stopPropagation()},[le({value:e.value,range:a(),hour:e.hour,onChange:c})])),p(t,()=>n("div",{class:"fixed inset-0 z-[90]",onclick:()=>t(!1)}))])};var me={};m(me,{Sidebar:()=>Lt,Drawer:()=>It});var It=(e,t)=>{return t===void 0&&(t=e,e={}),n("div",{...e,class:`drawer ${e.class??""}`},t)},Lt=(e)=>{let t=e.id||`drawer-${Math.random().toString(36).slice(2,9)}`;return n("div",{...e,class:`drawer ${e.class??""}`},[n("input",{id:t,type:"checkbox",class:"drawer-toggle",checked:()=>typeof e.open==="function"?e.open():e.open,onchange:(a)=>typeof e.open==="function"&&e.open(a.target.checked)}),n("div",{class:"drawer-content"},e.children),n("div",{class:"drawer-side"},[n("label",{for:t,class:"drawer-overlay",onclick:()=>typeof e.open==="function"&&e.open(!1)}),n("div",{class:"min-h-full bg-base-200 w-80 p-4"},typeof e.content==="function"?e.content():e.content)])])};var ge={};m(ge,{Dropdown:()=>zt});var N=null;if(typeof window<"u"&&!window.__dropdownHandlerRegistered)window.addEventListener("click",(e)=>{if(N&&!N.contains(e.target))N.open=!1,N=null}),window.__dropdownHandlerRegistered=!0;var zt=(e)=>n("details",{...e,class:`dropdown ${e.class??""}`,onclick:(t)=>{let a=t.currentTarget;if(N&&N!==a)N.open=!1;setTimeout(()=>{N=a.open?a:null},0)}},e.children);var he={};m(he,{Fab:()=>Ht});var Ht=(e,t)=>{return t===void 0&&(t=e,e={}),n("div",{...e,class:`fab ${e.class??""}`},t)};var be={};m(be,{Fieldset:()=>jt});var jt=(e,t)=>n("fieldset",{...e,class:`fieldset ${e.class??""}`},[e.legend?n("legend",{class:"fieldset-legend"},e.legend):null,t]);var ye={};m(ye,{Fileinput:()=>Pt});var Pt=(e)=>{let t=h([]),a=h(!1),s=h(null),c=(e.max||2)*1024*1024,r=(o)=>{let i=Array.from(o);if(s(null),i.find((u)=>u.size>c)){s(`Máx ${e.max||2}MB`);return}t([...t(),...i]),e.onselect?.(t())},l=(o)=>{let i=t().filter((u,f)=>f!==o);t(i),e.onselect?.(i)};return n("div",{...e,class:`fieldset w-full p-0 ${e.class??""}`},[n("label",{class:()=>`relative flex items-center justify-between w-full h-12 px-4 border-2 border-dashed rounded-lg cursor-pointer transition-all duration-200 ${a()?"border-primary bg-primary/10":"border-base-content/20 bg-base-100 hover:bg-base-200"}`,ondragover:(o)=>{o.preventDefault(),a(!0)},ondragleave:()=>a(!1),ondrop:(o)=>{o.preventDefault(),a(!1),r(o.dataTransfer.files)}},[n("div",{class:"flex items-center gap-3 w-full"},[n("span",{class:"icon-[lucide--upload]"}),n("span",{class:"text-sm opacity-70 truncate grow text-left"},"Arrastra o selecciona archivos..."),n("span",{class:"text-[10px] opacity-40 shrink-0"},`Máx ${e.max||2}MB`)]),n("input",{type:"file",multiple:!0,accept:e.accept||"*",class:"hidden",onchange:(o)=>r(o.target.files)})]),()=>s()&&n("span",{class:"text-[10px] text-error mt-1 px-1 font-medium"},s()),p(()=>t().length>0,()=>n("ul",{class:"mt-2 space-y-1"},[$(t,(o,i)=>n("li",{class:"flex items-center justify-between p-1.5 pl-3 text-xs bg-base-200/50 rounded-md border border-base-300"},[n("div",{class:"flex items-center gap-2 truncate"},[n("span",{class:"opacity-50"},"\uD83D\uDCC4"),n("span",{class:"truncate font-medium max-w-[200px]"},o.name),n("span",{class:"text-[9px] opacity-40"},`(${(o.size/1024).toFixed(0)} KB)`)]),n("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle",onclick:(u)=>{u.preventDefault(),l(i)}},n("span",{class:"icon-[lucide--x]"}))]),(o)=>o.name+o.lastModified)]))])};var ve={};m(ve,{Icon:()=>Ot});var Ot=(e,t)=>{if(typeof e==="string"){if(e.includes("icon-")||e.startsWith("lucide-"))return n("span",{class:e},t);return n("span",{class:"icon"},e)}if(!e)return null;let{class:a,...s}=e;return n("span",{...s,class:a},t)};var xe={};m(xe,{Indicator:()=>qt});var qt=(e,t)=>{return t===void 0&&(t=e,e={}),n("div",{...e,class:`indicator ${e.class??""}`},[e.value?n("span",{class:`indicator-item badge ${e.class??""}`},e.value):null,t])};var we={};m(we,{Input:()=>Kt});var Ze=(e)=>typeof e==="function"?e():e;var Me=(...e)=>e.filter(Boolean).join(" ").trim();var et=(e)=>typeof e==="function";var Kt=(e)=>{let{label:t,icon:a,float:s,placeholder:c,value:r,left:l,right:o,content:i,...u}=e,f=h(!1),g=h(!1),b=e.type==="password",v=()=>b?Ze(f)?"text":"password":e.type||"text";return n("div",{class:"input-container",onfocusin:()=>g(!0),onfocusout:(d)=>{if(!d.currentTarget.contains(d.relatedTarget))g(!1)}},[n("label",{class:"floating-label"},[s?n("span",{},t):null,n("label",{class:()=>Me("input",e.class)},[t&&!s?n("span",{class:"label"},t):null,l??null,n("input",{...u,type:v,class:"grow",placeholder:c||t||" ",value:r}),o??null,b?n("label",{class:"swap swap-rotate ml-2"},[n("input",{type:"checkbox",onchange:(d)=>f(d.target.checked)}),n("span",{class:"swap-on icon-[lucide--eye]"}),n("span",{class:"swap-off icon-[lucide--eye-off]"})]):null]),p(g,()=>Z({duration:300,slide:!0},n("div",{class:"input-content",onmousedown:(d)=>d.preventDefault()},[et(i)?i(g):i])))])])};var $e={};m($e,{Kbd:()=>Wt});var Wt=(e,t)=>{return t===void 0&&(t=e,e={}),n("kbd",{...e,class:`kbd ${e.class??""}`},t)};var ke={};m(ke,{Loading:()=>Yt});var Yt=(e,t)=>{return t===void 0&&(t=e,e={}),n("span",{...e,class:`loading loading-spinner ${e.class??""}`},t)};var Se={};m(Se,{MenuItems:()=>tt,Menu:()=>Jt});var Jt=(e,t)=>{return t===void 0&&(t=e,e={}),n("ul",{...e,class:`menu ${e.class??""}`},t)},tt=(e)=>{let{items:t,keyFn:a=(r,l)=>r.id??l}=e;return $(typeof t==="function"?t:()=>t||[],(r)=>{if(r.children)return n("li",{},[n("details",{},[n("summary",{},r.label),n("ul",{},tt({items:r.children}))])]);return n("li",{},n("a",{href:r.href,onclick:r.onclick?(l)=>{if(!r.href)l.preventDefault();r.onclick(l)}:null},r.label))},a)};var _e={};m(_e,{Modal:()=>Vt});var Vt=(e)=>{let t=null;_(()=>{let s=typeof e.open==="function"?e.open():e.open;if(!t)return;s?t.showModal():t.close()});let a=()=>typeof e.open==="function"&&e.open(!1);return n("dialog",{...e,ref:(s)=>t=s,class:`modal ${e.class??""}`,onclose:a,oncancel:a},[n("div",{class:"modal-box"},[e.title&&n("h3",{class:"text-lg font-bold"},e.title),e.children,n("div",{class:"modal-action"},[e.actions||n("button",{class:"btn",onclick:a},"Cerrar")])]),n("form",{method:"dialog",class:"modal-backdrop"},[n("button",{},"close")])])};var Ce={};m(Ce,{Navbar:()=>Ut});var Ut=(e,t)=>{return t===void 0&&(t=e,e={}),n("div",{...e,class:`navbar ${e.class??""}`},t)};var Te={};m(Te,{Radial:()=>Xt});var Xt=(e,t)=>{t===void 0&&(t=e,e={});let a=e.value!=null?e.value/(e.max||100)*100:0,s=`--value: ${a}; --max: 100;`;return n("div",{...e,class:`radial-progress ${e.class??""}`,style:s,role:"progressbar","aria-valuenow":e.value,"aria-valuemin":0,"aria-valuemax":e.max||100},t||`${Math.round(a)}%`)};var Ee={};m(Ee,{Radio:()=>Gt});var Gt=(e)=>n("input",{...e,type:"radio",class:`radio ${e.class??""}`});var pe={};m(pe,{Range:()=>Qt});var Qt=(e)=>n("input",{...e,type:"range",class:`range ${e.class??""}`});var De={};m(De,{Rating:()=>Zt});var Zt=(e,t)=>{t===void 0&&(t=e,e={});let a=`rating-${Math.random().toString(36).slice(2,7)}`;return n("div",{...e,class:`rating ${e.class??""}`},t||Array.from({length:e.count||5},(s,c)=>{let r=c+1;return n("input",{type:"radio",name:a,class:`mask ${e.mask||"mask-star"}`,checked:()=>typeof e.value==="function"?e.value()===r:e.value===r,onchange:()=>{if(e.onchange)e.onchange(r);else if(typeof e.value==="function")e.value(r)}})}))};var Ae={};m(Ae,{SkeletonText:()=>en,Skeleton:()=>Mt});var Mt=(e)=>n("div",{...e,class:`skeleton ${e.class??""}`}),en=(e)=>{return n("div",{...e,class:"space-y-2"},Array.from({length:e.lines||3},()=>n("div",{class:`skeleton h-4 w-full ${e.class??""}`})))};var Ne={};m(Ne,{SelectLabel:()=>an,SelectItems:()=>nn,Select:()=>tn});var tn=(e,t)=>{return t===void 0&&(t=e,e={}),n("select",{...e,class:`select ${e.class??""}`},t)},nn=(e)=>{let t=e.placeholder?n("option",{disabled:e.placeholderDisabled??!0,selected:!0},e.placeholder):null,a=$(()=>[...typeof e.items==="function"?e.items():e.items||[]],(s)=>{let c=typeof s==="string"?s:s.value,r=typeof s==="string"?s:s.label;return n("option",{value:c},r)},e.keyFn||((s)=>typeof s==="string"?s:s.value));return t?[t,a]:a},an=(e,t)=>n("label",{class:`${e.float?"floating-label":"select"}`},[n("span",{class:e.float?"":"label opacity-50"},e.label),e.left??null,n("select",{...e,class:`${e.float?"select":""} ${e.class??""}`},t),e.right??null]);var Be={};m(Be,{Stack:()=>sn});var sn=(e,t)=>{return t===void 0&&(t=e,e={}),n("div",{...e,class:`stack ${e.class??""}`},t)};var P={};m(P,{Stats:()=>ln,Stat:()=>on});var ln=(e,t)=>{t===void 0&&(t=e,e={});let a=e.vertical?"stats-vertical":"stats-horizontal";return n("div",{...e,class:`stats ${a} ${e.class??""}`.trim()},t)},on=(e,t)=>{return t===void 0&&(t=e,e={}),n("div",{...e,class:`stat ${e.class??""}`},[e.icon&&n("div",{class:"stat-figure"},e.icon),e.label&&n("div",{class:"stat-title"},e.label),e.value&&n("div",{class:"stat-value"},e.value),e.desc&&n("div",{class:"stat-desc"},e.desc),e.actions&&n("div",{class:"stat-actions"},e.actions),t])};var Re={};m(Re,{Swap:()=>cn});var cn=(e)=>{return n("label",{...e,class:`swap ${e.class??""}`},[n("input",{type:"checkbox",checked:()=>typeof e.value==="function"?e.value():e.value,onchange:(t)=>typeof e.value==="function"&&e.value(t.target.checked)}),n("div",{class:"swap-on"},e.on),n("div",{class:"swap-off"},e.off)])};var Fe={};m(Fe,{TableItems:()=>un,Table:()=>rn});var rn=(e,t)=>{return t===void 0&&(t=e,e={}),n("table",{...e,class:`table ${e.class??""}`},t)},un=(e)=>{let t=typeof e.items==="function"?e.items():e.items||[],a=e.header!==!1&&e.columns?.some((c)=>c.label)?n("thead",{},n("tr",{},e.columns.map((c)=>n("th",{class:c.class},c.label)))):null,s=n("tbody",{},[$(t,(c,r)=>n("tr",{},e.columns.map((l)=>{let o=l.render?l.render(c,r):c[l.key];return n("td",{class:l.class},o)})),e.keyFn||((c,r)=>c.id??r))]);return[a,s]};var Ie={};m(Ie,{Tabs:()=>fn,TabItems:()=>dn,TabContent:()=>at,TabClose:()=>st,Tab:()=>nt});var fn=(e,t)=>{return t===void 0&&(t=e,e={}),n("div",{...e,class:`tabs ${e.class??""}`},t)},nt=(e,t)=>{return t===void 0&&(t=e,e={}),n("a",{...e,role:"tab",class:`tab ${e.class??""}`},t)},at=(e,t)=>{return t===void 0&&(t=e,e={}),n("div",{...e,class:`tab-content ${e.class??""}`},t)},st=(e)=>n("a",{...e,role:"tab",class:`tab ${e.class??""}`},[n("span",{class:"flex items-center"},[e.label,n("span",{class:"icon-[lucide--x] w-3.5 h-3.5 ml-2 cursor-pointer hover:opacity-70",onclick:(t)=>{t.stopPropagation(),e.onClose?.(t)}})])]),dn=(e)=>{let t=typeof e.items==="function"?e.items:()=>e.items||[];return $(t,(a,s)=>{return[(a.closable?st:nt)({...a,class:()=>e.activeIndex()===s?`tab-active ${a.class??""}`:a.class,onclick:(r)=>{r.preventDefault(),e.activeIndex(s),a.onclick?.(r)},onClose:()=>e.onClose?.(s,a)}),at({style:()=>`display: ${e.activeIndex()===s?"block":"none"};`},typeof a.content==="function"?a.content():a.content)]},(a,s)=>a.id??s)};var Le={};m(Le,{Textarea:()=>mn});var mn=(e)=>n("textarea",{...e,class:`textarea ${e.class??""}`});var ze={};m(ze,{TextRotate:()=>gn});var gn=(e)=>{let t=Array.isArray(e.words)?e.words:typeof e.words==="string"?e.words.split(","):[];return n("span",{...e,class:`text-rotate ${e.class??""}`},[n("span",{},t.map((a)=>n("span",{},a)))])};var He={};m(He,{Timeline:()=>hn});var hn=(e,t)=>{t===void 0&&(t=e,e={});let a=e.vertical!==!1,s=e.compact===!0;return n("ul",{...e,class:`timeline ${a?"timeline-vertical":"timeline-horizontal"} ${s?"timeline-compact":""} ${e.class??""}`.trim()},t)};var je={};m(je,{Toast:()=>bn});var bn=(e,t="alert-success",a=3500)=>{let s=document.getElementById("sigpro-toast-container");if(!s)s=n("div",{id:"sigpro-toast-container",class:"fixed top-0 right-0 z-[9999] p-4 flex flex-col gap-2 pointer-events-none"}),document.body.appendChild(s);let c=n("div",{style:"display: contents"});s.appendChild(c);let r,l=()=>{clearTimeout(r);let u=c.firstElementChild;if(u&&!u.classList.contains("opacity-0"))u.classList.add("translate-x-full","opacity-0"),setTimeout(()=>{if(i.destroy(),c.remove(),!s.hasChildNodes())s.remove()},300);else i.destroy(),c.remove()},i=M(()=>{let u=n("span",{class:"icon-[lucide--x]"}),f=n("button",{class:"btn btn-xs btn-circle btn-ghost",onclick:l},u),g=n("div",{class:`alert alert-soft ${t} shadow-lg transition-all duration-300 translate-x-10 opacity-0 pointer-events-auto`},[n("span",{},typeof e==="function"?e():e),f]);return requestAnimationFrame(()=>g.classList.remove("translate-x-10","opacity-0")),g},c);if(a>0)r=setTimeout(l,a);return l};var Pe={};m(Pe,{Tooltip:()=>yn});var yn=(e,t)=>{return t===void 0&&(t=e,e={}),n("div",{...e,class:`tooltip ${e.class??""}`,"data-tip":e.tip},t)};var vn={es:{close:"Cerrar",confirm:"Confirmar",cancel:"Cancelar",search:"Buscar...",loading:"Cargando...",nodata:"Sin datos"},en:{close:"Close",confirm:"Confirm",cancel:"Cancel",search:"Search...",loading:"Loading...",nodata:"No data"}},lt=h("es"),ot=(e)=>lt(e),ct=(e)=>()=>vn[lt()][e]||e;var xn={...ee,...te,...ne,...ae,...se,...oe,...ce,...re,...ie,...ue,...fe,...de,...me,...ge,...he,...be,...ye,...ve,...xe,...we,...$e,...ke,...Se,..._e,...Ce,...Te,...Ee,...pe,...De,...Ae,...Ne,...Be,...P,...P,...Re,...Fe,...Ie,...Le,...ze,...He,...je,...Pe},wn={Locale:ot,tt:ct};if(typeof window<"u")Object.entries({...xn,...wn}).forEach(([e,t])=>{Object.defineProperty(window,e,{value:t,writable:!1,configurable:!0,enumerable:!0})}),console.log("SigProUI installed");export{wn as Utils,xn as Components}; diff --git a/dist/sigpro-ui.js b/dist/sigpro-ui.js index 5172a88..7555675 100644 --- a/dist/sigpro-ui.js +++ b/dist/sigpro-ui.js @@ -44,454 +44,481 @@ Components: () => Components }); - // components/accordion.js - var exports_accordion = {}; - __export(exports_accordion, { + // components/Accordion.js + var exports_Accordion = {}; + __export(exports_Accordion, { Accordion: () => Accordion }); // node_modules/sigpro/dist/sigpro.esm.min.js var y = (e) => typeof e === "function"; - var j = (e) => e && typeof e === "object"; + var P = (e) => e && typeof e === "object"; var b = Array.isArray; - var E = typeof document < "u" ? document : null; - var B = (e) => e?._isRuntime ? e.container : e instanceof Node ? e : E.createTextNode(e == null ? "" : String(e)); - var u = null; + var g = typeof document < "u" ? document : null; + var k = (e) => e?._isRuntime ? e.container : e instanceof Node ? e : g.createTextNode(e == null ? "" : String(e)); + var p = null; var _ = null; - var S = false; - var O = 0; - var A = new Set; - var k = new WeakMap; - var T = Symbol("iter"); - var L = new WeakMap; - var g = (e) => { + var x = false; + var A = 0; + var C = new Set; + var D = new WeakMap; + var $ = Symbol("iter"); + var B = new WeakMap; + var E = (e) => { if (!e || e._disposed) return; e._disposed = true; - let n = [e]; - while (n.length) { - let t = n.pop(); - if (t._cleanups) - t._cleanups.forEach((r) => r()), t._cleanups.clear(); - if (t._children) - t._children.forEach((r) => n.push(r)), t._children.clear(); - if (t._deps) - t._deps.forEach((r) => r.delete(t)), t._deps.clear(); + let o = [e]; + while (o.length) { + let n = o.pop(); + if (n._cleanups) + n._cleanups.forEach((i) => i()), n._cleanups.clear(); + if (n._children) + n._children.forEach((i) => o.push(i)), n._children.clear(); + if (n._deps) + n._deps.forEach((i) => i.delete(n)), n._deps.clear(); } }; - var v = (e) => { + var N = (e) => { if (_) (_._cleanups ||= new Set).add(e); }; - var W = (e) => { - let n = u; - u = null; + var V = (e) => { + let o = p; + p = null; try { return e(); } finally { - u = n; + p = o; } }; - var x = (e, n = false) => { - let t = () => { - if (t._disposed) + var T = (e, o = false) => { + let n = () => { + if (n._disposed) return; - if (t._deps) - t._deps.forEach((c) => c.delete(t)); - if (t._cleanups) - t._cleanups.forEach((c) => c()), t._cleanups.clear(); - let r = u, s = _; - u = _ = t; + if (n._deps) + n._deps.forEach((c) => c.delete(n)); + if (n._cleanups) + n._cleanups.forEach((c) => c()), n._cleanups.clear(); + let i = p, s = _; + p = _ = n; try { - return t._result = e(); + return n._result = e(); } catch (c) { console.error("[SigPro]", c); } finally { - u = r, _ = s; + p = i, _ = s; } }; - if (t._deps = t._cleanups = t._children = null, t._disposed = false, t._isComputed = n, t._depth = u ? u._depth + 1 : 0, t._mounts = [], t._parent = _, _) - (_._children ||= new Set).add(t); - return t; + if (n._deps = n._cleanups = n._children = null, n._disposed = false, n._isComputed = o, n._depth = p ? p._depth + 1 : 0, n._mounts = [], n._parent = _, _) + (_._children ||= new Set).add(n); + return n; }; - var D = () => { - if (S) + var q = () => { + if (x) return; - S = true; - let e = Array.from(A).sort((n, t) => n._depth - t._depth); - A.clear(); - for (let n of e) - if (!n._disposed) - n(); - S = false; + x = true; + let e = Array.from(C).sort((o, n) => o._depth - n._depth); + C.clear(); + for (let o of e) + if (!o._disposed) + o(); + x = false; }; - var q = (e) => { - O++; + var W = (e) => { + A++; try { return e(); } finally { - if (O--, O === 0 && A.size > 0 && !S) - D(); + if (A--, A === 0 && C.size > 0 && !x) + q(); } }; - var m = (e, n = false) => { - if (!n && u && !u._disposed) - e.add(u), (u._deps ||= new Set).add(e); - else if (n && e.size > 0) { - let t = false; - for (let r of e) { - if (r === u || r._disposed) + var w = (e, o = false) => { + if (!o && p && !p._disposed) + e.add(p), (p._deps ||= new Set).add(e); + else if (o && e.size > 0) { + let n = false; + for (let i of e) { + if (i === p || i._disposed) continue; - if (r._isComputed) { - if (r._dirty = true, r._subs) - m(r._subs, true); + if (i._isComputed) { + if (i._dirty = true, i._subs) + w(i._subs, true); } else - A.add(r), t = true; + C.add(i), n = true; } - if (t && !S && O === 0) - queueMicrotask(D); + if (n && !x && A === 0) + queueMicrotask(q); } }; - var P = (e, n = null) => { - let t = new Set; + var S = (e, o = null) => { + let n = new Set; if (y(e)) { - let r, s = () => { + let i, s = () => { if (s._dirty) { - let c = u; - u = s; + let c = p; + p = s; try { - let i = e(); - if (!Object.is(r, i)) - r = i, m(t, true); + let t = e(); + if (!Object.is(i, t)) + i = t, w(n, true); } finally { - u = c; + p = c; } s._dirty = false; } - return m(t), r; + return w(n), i; }; - if (s._isComputed = true, s._subs = t, s._dirty = true, s._deps = null, s._disposed = false, s.stop = () => {}, _) - v(s.stop); + if (s._isComputed = true, s._subs = n, s._dirty = true, s._deps = null, s._disposed = false, s.stop = () => {}, _) + N(s.stop); return s; } - if (n) + if (o) try { - e = JSON.parse(localStorage.getItem(n)) ?? e; - } catch (r) {} - return (...r) => { - if (r.length) { - let s = y(r[0]) ? r[0](e) : r[0]; + e = JSON.parse(localStorage.getItem(o)) ?? e; + } catch (i) {} + return (...i) => { + if (i.length) { + let s = y(i[0]) ? i[0](e) : i[0]; if (!Object.is(e, s)) { - if (e = s, n) - localStorage.setItem(n, JSON.stringify(e)); - m(t, true); + if (e = s, o) + localStorage.setItem(o, JSON.stringify(e)); + w(n, true); } } - return m(t), e; + return w(n), e; }; }; var I = (e) => { - if (!j(e)) + if (!P(e)) return e; - let n = k.get(e); - if (n) - return n; - let t = new Map, r = (s) => { - let c = t.get(s); - if (!c) - t.set(s, c = new Set); - return c; - }; - return n = new Proxy(e, { get(s, c, i) { - if (typeof c !== "symbol") - m(r(c)); - return I(Reflect.get(s, c, i)); - }, set(s, c, i, o) { - let l = !Reflect.has(s, c), a = Reflect.get(s, c, o), f = Reflect.set(s, c, i, o); - if (f && !Object.is(a, i)) { - if (m(r(c), true), l) - m(r(T), true); + let o = D.get(e); + if (o) + return o; + let n = new Map, i = (c) => { + let t = n.get(c); + if (!t) + n.set(c, t = new Set); + return t; + }, s = new Proxy(e, { get(c, t, r) { + if (typeof t !== "symbol") + w(i(t)); + return I(Reflect.get(c, t, r)); + }, set(c, t, r, l) { + let u = Reflect.has(c, t), a = Reflect.get(c, t, l), f = Reflect.set(c, t, r, l); + if (f && !Object.is(a, r)) { + if (w(i(t), true), !u) + w(i($), true); } return f; - }, deleteProperty(s, c) { - let i = Reflect.deleteProperty(s, c); - if (i) - m(r(c), true), m(r(T), true); - return i; - }, ownKeys(s) { - return m(r(T)), Reflect.ownKeys(s); - } }), k.set(e, n), n; + }, deleteProperty(c, t) { + let r = Reflect.deleteProperty(c, t); + if (r) + w(i(t), true), w(i($), true); + return r; + }, ownKeys(c) { + return w(i($)), Reflect.ownKeys(c); + } }); + return D.set(e, s), s; }; - var R = (e, n) => { - if (n === undefined) { - let r = x(e); - return r(), () => g(r); + var R = (e, o) => { + if (o === undefined) { + let i = T(e); + return i(), () => E(i); } - let t = x(() => { - let r = Array.isArray(e) ? e.map((s) => s()) : e(); - W(() => n(r)); + let n = T(() => { + let i = Array.isArray(e) ? e.map((s) => s()) : e(); + V(() => o(i)); }); - return t(), () => g(t); + return n(), () => E(n); }; - var M = (e) => { + var L = (e) => { + if (!e) + return; if (e._cleanups) - e._cleanups.forEach((n) => n()), e._cleanups.clear(); + e._cleanups.forEach((o) => o()), e._cleanups.clear(); if (e._ownerEffect) - g(e._ownerEffect); + E(e._ownerEffect); if (e.childNodes) - e.childNodes.forEach(M); + e.childNodes.forEach((o) => L(o)); }; - var z = /^\s*(javascript|data|vbscript):/i; - var G = (e) => e === "src" || e === "href" || e.startsWith("on"); - var U = (e, n) => { - if (n == null || n === false) + var F = /^\s*(javascript|data|vbscript):/i; + var J = (e) => e === "src" || e === "href" || e.startsWith("on"); + var M = (e, o) => { + if (o == null || o === false) return null; - if (G(e)) { - let t = String(n); - if (z.test(t)) + if (J(e)) { + let n = String(o); + if (F.test(n)) return console.warn(`[SigPro] Bloqueado protocolo peligroso en ${e}`), "#"; } - return n; + return o; }; - var C = (e, n = {}, t = []) => { - if (n instanceof Node || b(n) || !j(n)) - t = n, n = {}; + var O = (e, o = {}, n = []) => { + if (o instanceof Node || b(o) || !P(o)) + n = o, o = {}; if (y(e)) { - let i = x(() => { - let f = e(n, { children: t, emit: (d, ...h) => n[`on${d[0].toUpperCase()}${d.slice(1)}`]?.(...h) }); - return i._result = f, f; + let t = T(() => { + let a = e(o, { children: n, emit: (f, ...h) => o[`on${f[0].toUpperCase()}${f.slice(1)}`]?.(...h) }); + return t._result = a, a; }); - i(); - let o = i._result; - if (o == null) + t(); + let r = t._result; + if (r == null) return null; - let l = o instanceof Node || b(o) && o.every((f) => f instanceof Node) ? o : E.createTextNode(String(o)), a = (f) => { - if (j(f) && !f._isRuntime) - f._mounts = i._mounts || [], f._cleanups = i._cleanups || new Set, f._ownerEffect = i; + let l = r instanceof Node || b(r) && r.every((a) => a instanceof Node) ? r : g.createTextNode(String(r)), u = (a) => { + if (P(a) && !a._isRuntime) + a._mounts = t._mounts || [], a._cleanups = t._cleanups || new Set, a._ownerEffect = t; }; - return b(l) ? l.forEach(a) : a(l), l; + return b(l) ? l.forEach(u) : u(l), l; } - let r = /^(svg|path|circle|rect|line|poly(line|gon)|g|defs|text(path)?|tspan|use|symbol|image|marker|ellipse)$/i.test(e), s = r ? E.createElementNS("http://www.w3.org/2000/svg", e) : E.createElement(e); + let i = /^(svg|path|circle|rect|line|poly(line|gon)|g|defs|text(path)?|tspan|use|symbol|image|marker|ellipse)$/i.test(e), s = i ? g.createElementNS("http://www.w3.org/2000/svg", e) : g.createElement(e); s._cleanups = new Set; - for (let i in n) { - if (!n.hasOwnProperty(i)) + for (let t in o) { + if (!o.hasOwnProperty(t)) continue; - let o = n[i]; - if (i === "ref") { - y(o) ? o(s) : o.current = s; + let r = o[t]; + if (t === "ref") { + y(r) ? r(s) : r.current = s; continue; } - if (r && i.startsWith("xlink:")) { - o == null ? s.removeAttributeNS("http://www.w3.org/1999/xlink", i.slice(6)) : s.setAttributeNS("http://www.w3.org/1999/xlink", i.slice(6), o); + if (i && t.startsWith("xlink:")) { + r == null ? s.removeAttributeNS("http://www.w3.org/1999/xlink", t.slice(6)) : s.setAttributeNS("http://www.w3.org/1999/xlink", t.slice(6), r); continue; } - if (i.startsWith("on")) { - let l = i.slice(2).toLowerCase(); - s.addEventListener(l, o); - let a = () => s.removeEventListener(l, o); - s._cleanups.add(a), v(a); - } else if (y(o)) { - let l = x(() => { - let a = U(i, o()); - if (i === "class") - s.className = a || ""; - else if (a == null) - s.removeAttribute(i); - else if (i in s && !r) - s[i] = a; + if (t.startsWith("on")) { + let l = t.slice(2).toLowerCase(); + s.addEventListener(l, r); + let u = () => s.removeEventListener(l, r); + s._cleanups.add(u), N(u); + } else if (y(r)) { + let l = T(() => { + let u = M(t, r()); + if (t === "class") + s.className = u || ""; + else if (u == null) + s.removeAttribute(t); + else if (t in s && !i) + s[t] = u; else - s.setAttribute(i, a === true ? "" : a); + s.setAttribute(t, u === true ? "" : u); }); - if (l(), s._cleanups.add(() => g(l)), v(() => g(l)), /^(INPUT|TEXTAREA|SELECT)$/.test(s.tagName) && (i === "value" || i === "checked")) { - let a = i === "checked" ? "change" : "input"; - s.addEventListener(a, (f) => o(f.target[i])); + if (l(), s._cleanups.add(() => E(l)), N(() => E(l)), /^(INPUT|TEXTAREA|SELECT)$/.test(s.tagName) && (t === "value" || t === "checked")) { + let u = t === "checked" ? "change" : "input"; + s.addEventListener(u, (a) => r(a.target[t])); } } else { - let l = U(i, o); + let l = M(t, r); if (l != null) - if (i in s && !r) - s[i] = l; + if (t in s && !i) + s[t] = l; else - s.setAttribute(i, l === true ? "" : l); + s.setAttribute(t, l === true ? "" : l); } } - let c = (i) => { - if (b(i)) - return i.forEach(c); - if (y(i)) { - let o = E.createTextNode(""); - s.appendChild(o); - let l = [], a = x(() => { - let f = i(), d = (b(f) ? f : [f]).map(B); - l.forEach((p) => { - if (p._isRuntime) - p.destroy(); + let c = (t) => { + if (b(t)) + return t.forEach(c); + if (y(t)) { + let r = g.createTextNode(""); + s.appendChild(r); + let l = [], u = T(() => { + let a = t(), f = (b(a) ? a : [a]).map(k); + l.forEach((d) => { + if (d._isRuntime) + d.destroy(); else - M(p); - if (p.parentNode) - p.remove(); + L(d); + if (d.parentNode) + d.remove(); }); - let h = o; - for (let p = d.length - 1;p >= 0; p--) { - let w = d[p]; - if (w.parentNode !== h.parentNode) - h.parentNode?.insertBefore(w, h); - if (w._mounts) - w._mounts.forEach((V) => V()); - h = w; + let h = r; + for (let d = f.length - 1;d >= 0; d--) { + let m = f[d]; + if (m.parentNode !== h.parentNode) + h.parentNode?.insertBefore(m, h); + if (m._mounts) + m._mounts.forEach((U) => U()); + h = m; } - l = d; + l = f; }); - a(), s._cleanups.add(() => g(a)), v(() => g(a)); + u(), s._cleanups.add(() => E(u)), N(() => E(u)); } else { - let o = B(i); - if (s.appendChild(o), o._mounts) - o._mounts.forEach((l) => l()); + let r = k(t); + if (s.appendChild(r), r._mounts) + r._mounts.forEach((l) => l()); } }; - return c(t), s; + return c(n), s; }; - var $ = (e) => { - let n = new Set, t = [], r = _, s = u, c = E.createElement("div"); - c.style.display = "contents", c.setAttribute("role", "presentation"), _ = { _cleanups: n, _mounts: t }, u = null; - let i = (o) => { - if (!o) + var j = (e) => { + let o = new Set, n = _, i = p, s = g.createElement("div"); + s.style.display = "contents", s.setAttribute("role", "presentation"), _ = { _cleanups: o }, p = null; + let c = (t) => { + if (!t) return; - if (o._isRuntime) - n.add(o.destroy), c.appendChild(o.container); - else if (b(o)) - o.forEach(i); + if (t._isRuntime) + o.add(t.destroy), s.appendChild(t.container); + else if (b(t)) + t.forEach(c); else - c.appendChild(o instanceof Node ? o : E.createTextNode(String(o == null ? "" : o))); + s.appendChild(t instanceof Node ? t : g.createTextNode(String(t == null ? "" : t))); }; try { - i(e({ onCleanup: (o) => n.add(o) })); + c(e({ onCleanup: (t) => o.add(t) })); } finally { - _ = r, u = s; + _ = n, p = i; } - return t.forEach((o) => o()), { _isRuntime: true, container: c, destroy: () => { - n.forEach((o) => o()), M(c), c.remove(); + return { _isRuntime: true, container: s, destroy: () => { + o.forEach((t) => t()), L(s), s.remove(); } }; }; - var J = (e, n, { enter: t, leave: r } = {}) => { - let s = C("div", { style: "display:contents" }), c = null, i = (o, l) => { - if (!o) - return l(); - let a = false, f = () => !a && (a = true, l()); - o.addEventListener("transitionend", f, { once: true }), o.addEventListener("animationend", f, { once: true }), setTimeout(f, 500); - }; - return R(e, (o) => { - if (o && !c) { - let l = (c = n(n)).container.firstChild; - if (s.appendChild(c.container), t && l) - l.classList.add(t), l.clientTop, l.classList.add(t + "-active"), i(l, () => l.classList.remove(t, t + "-active")); - } else if (!o && c) { - let l = c.container.firstChild, a = () => (c.destroy(), c = null); - if (r && l) - l.classList.add(r), i(l, a); - else - a(); - } - }), v(() => c?.destroy()), s; + var z = (e, o, n = null) => { + let i = g.createTextNode(""), s = O("div", { style: "display:contents" }, [i]), c = null; + return R(() => !!(y(e) ? e() : e), (t) => { + if (c) + c.destroy(), c = null; + let r = t ? o : n; + if (r) + c = j(() => y(r) ? r() : r), s.insertBefore(c.container, i); + }), N(() => c?.destroy()), s; }; - var K = (e, n, t) => { - let r = E.createTextNode(""), s = C("div", { style: "display:contents" }, [r]), c = new Map; - return R(() => (y(e) ? e() : e) || [], (i) => { - let o = new Map, l = [], a = i || []; - for (let d = 0;d < a.length; d++) { - let h = a[d], p = t ? t(h, d) : h?.id ?? d, w = c.get(p); - if (!w) - w = $(() => n(h, d)); + var G = ({ name: e, duration: o = 200, scale: n, slide: i, rotate: s, blur: c }, t) => { + let r = typeof t === "function" ? t() : t; + if (!(r instanceof Node)) + return r; + if (e) + return r.style.animation = `${e}-in ${o}ms`, r; + let l = n || i || s || c, u = [n ? "scale(0.95)" : "", i ? "translateY(-10px)" : "", s ? "rotate(-2deg)" : ""].filter(Boolean).join(" "); + if (r.style.transition = `all ${o}ms ease`, r.style.opacity = "0", l) + r.style.transform = u; + if (c) + r.style.filter = "blur(4px)"; + return requestAnimationFrame(() => { + if (r.style.opacity = "1", l) + r.style.transform = "none"; + if (c) + r.style.filter = "none"; + }), r; + }; + var K = (e, o, n) => { + let i = g.createTextNode(""), s = O("div", { style: "display:contents" }, [i]), c = new Map; + return R(() => (y(e) ? e() : e) || [], (t) => { + let r = new Map, l = [], u = t || []; + for (let f = 0;f < u.length; f++) { + let h = u[f], d = n ? n(h, f) : h?.id ?? f, m = c.get(d); + if (!m) + m = j(() => o(h, f)); else - c.delete(p); - o.set(p, w), l.push(w); + c.delete(d); + r.set(d, m), l.push(m); } - c.forEach((d) => d.destroy()); - let f = r; - for (let d = l.length - 1;d >= 0; d--) { - let p = l[d].container; - if (p.nextSibling !== f) - s.insertBefore(p, f); - f = p; + c.forEach((f) => f.destroy()); + let a = i; + for (let f = l.length - 1;f >= 0; f--) { + let d = l[f].container; + if (d.nextSibling !== a) + s.insertBefore(d, a); + a = d; } - c = o; + c = r; }), s; }; - var N = (e) => { - let n = () => window.location.hash.slice(1) || "/", t = P(n()), r = () => t(n()); - window.addEventListener("hashchange", r), v(() => window.removeEventListener("hashchange", r)); - let s = C("div", { class: "router-hook" }), c = null; - return R([t], () => { - let i = t(), o = e.find((l) => { - let a = l.path.split("/").filter(Boolean), f = i.split("/").filter(Boolean); - return a.length === f.length && a.every((d, h) => d[0] === ":" || d === f[h]); + var v = (e) => { + let o = () => window.location.hash.slice(1) || "/", n = S(o()), i = () => n(o()); + window.addEventListener("hashchange", i), N(() => window.removeEventListener("hashchange", i)); + let s = O("div", { class: "router-hook" }), c = null; + return R([n], () => { + let t = n(), r = e.find((l) => { + let u = l.path.split("/").filter(Boolean), a = t.split("/").filter(Boolean); + return u.length === a.length && u.every((f, h) => f[0] === ":" || f === a[h]); }) || e.find((l) => l.path === "*"); - if (o) { + if (r) { c?.destroy(); let l = {}; - o.path.split("/").filter(Boolean).forEach((a, f) => { - if (a[0] === ":") - l[a.slice(1)] = i.split("/").filter(Boolean)[f]; - }), N.params(l), c = $(() => y(o.component) ? o.component(l) : o.component), s.replaceChildren(c.container); + r.path.split("/").filter(Boolean).forEach((u, a) => { + if (u[0] === ":") + l[u.slice(1)] = t.split("/").filter(Boolean)[a]; + }), v.params(l), c = j(() => y(r.component) ? r.component(l) : r.component), s.replaceChildren(c.container); } }), s; }; - N.params = P({}); - N.to = (e) => window.location.hash = e.replace(/^#?\/?/, "#/"); - N.back = () => window.history.back(); - N.path = () => window.location.hash.replace(/^#/, "") || "/"; - var Q = (e, n) => { - let t = typeof n === "string" ? E.querySelector(n) : n; - if (!t) - return; - if (L.has(t)) - L.get(t).destroy(); - let r = $(y(e) ? e : () => e); - return t.replaceChildren(r.container), L.set(t, r), r; + v.params = S({}); + v.to = (e) => window.location.hash = e.replace(/^#?\/?/, "#/"); + v.back = () => window.history.back(); + v.path = () => window.location.hash.replace(/^#/, "") || "/"; + var Q = ({ url: e, method: o = "GET", headers: n = {} }) => { + let i = S(false), s = S(null), c = S(null), t = null, r = null; + return { run: async (a = null) => { + t?.abort(), clearTimeout(r), t = new AbortController, r = setTimeout(() => t.abort(), 1e4), i(true), s(null); + try { + let f = a instanceof FormData, h = await fetch(e, { method: o, headers: f ? n : { "Content-Type": "application/json", ...n }, body: f ? a : a ? JSON.stringify(a) : undefined, signal: t.signal }), d = await h.text(), m = d ? JSON.parse(d) : null; + if (!h.ok) + throw Error(m?.message || h.statusText); + return c(m), m; + } catch (f) { + if (f.name !== "AbortError") + s(f.message); + throw f; + } finally { + i(false), clearTimeout(r), t = null, r = null; + } + }, abort: () => t?.abort(), loading: i, error: s, data: c }; }; - var F = Object.freeze({ $: P, $$: I, watch: R, h: C, when: J, each: K, router: N, mount: Q, batch: q }); + var H = (e, o) => { + let n = typeof o === "string" ? g.querySelector(o) : o; + if (!n) + return; + if (B.has(n)) + B.get(n).destroy(); + let i = j(y(e) ? e : () => e); + return n.replaceChildren(i.container), B.set(n, i), i; + }; + var X = Object.freeze({ $: S, $$: I, watch: R, h: O, when: z, each: K, fx: G, router: v, req: Q, mount: H, batch: W }); if (typeof window < "u") - Object.assign(window, F), "a abbr article aside audio b blockquote br button canvas caption cite code col colgroup datalist dd del details dfn dialog div dl dt em embed fieldset figcaption figure footer form h1 h2 h3 h4 h5 h6 header hr i iframe img input ins kbd label legend li main mark meter nav object ol optgroup option output p picture pre progress section select slot small source span strong sub summary sup svg table tbody td template textarea tfoot th thead time tr u ul video".split(" ").forEach((e) => { - window[e] = (n, t) => C(e, n, t); + Object.assign(window, X), "a abbr article aside audio b blockquote br button canvas caption cite code col colgroup datalist dd del details dfn dialog div dl dt em embed fieldset figcaption figure footer form h1 h2 h3 h4 h5 h6 header hr i iframe img input ins kbd label legend li main mark meter nav object ol optgroup option output p picture pre progress section select slot small source span strong sub summary sup svg table tbody td template textarea tfoot th thead time tr u ul video".split(" ").forEach((e) => { + window[e] = (o, n) => O(e, o, n); }); - // components/accordion.js - var Accordion = (props) => { + // components/Accordion.js + var Accordion = (props, children) => { const name = props.name || `accordion-${Math.random().toString(36).slice(2, 9)}`; if (props.items && Array.isArray(props.items)) { - return C("div", { class: `space-y-2 ${props.class ?? ""}` }, props.items.map((item) => C("div", { class: `collapse ${item.class ?? ""}` }, [ - C("input", { type: "radio", name, checked: item.open }), - C("div", { class: "collapse-title text-xl font-medium" }, item.title), - C("div", { class: "collapse-content" }, item.children) + return O("div", { class: `space-y-2 ${props.class ?? ""}` }, props.items.map((item) => O("div", { class: `collapse ${item.class ?? ""}` }, [ + O("input", { type: "radio", name, checked: item.open }), + O("div", { class: "collapse-title text-xl font-medium" }, item.title), + O("div", { class: "collapse-content" }, children) ]))); } - return C("div", { class: `collapse ${props.class ?? ""}` }, [ - C("input", { type: "radio", name, checked: props.open }), - C("div", { class: "collapse-title text-xl font-medium" }, props.title), - C("div", { class: "collapse-content" }, props.children) + return O("div", { class: `collapse ${props.class ?? ""}` }, [ + O("input", { type: "radio", name, checked: props.open }), + O("div", { class: "collapse-title text-xl font-medium" }, props.title), + O("div", { class: "collapse-content" }, children) ]); }; - // components/alert.js - var exports_alert = {}; - __export(exports_alert, { + // components/Alert.js + var exports_Alert = {}; + __export(exports_Alert, { Alert: () => Alert }); var Alert = (props, children) => { children === undefined && (children = props, props = {}); - return C("div", { ...props, class: `alert ${props.class ?? ""}` }, children); + return O("div", { ...props, class: `alert ${props.class ?? ""}` }, children); }; - // components/autocomplete.js - var exports_autocomplete = {}; - __export(exports_autocomplete, { + // components/Autocomplete.js + var exports_Autocomplete = {}; + __export(exports_Autocomplete, { Autocomplete: () => Autocomplete }); var Autocomplete = (props) => { - const query = P(""); - const isOpen = P(false); - const cursor = P(-1); - const filteredItems = P([]); + const query = S(""); + const isOpen = S(false); + const cursor = S(-1); + const filteredItems = S([]); R(() => { const v2 = typeof props.value === "function" ? props.value() : props.value; return v2 || ""; @@ -528,10 +555,10 @@ isOpen(false); } }; - return C("div", { class: `relative w-full ${props.class ?? ""}` }, [ - C("label", { class: "input input-bordered w-full" }, [ - C("span", { class: "icon-[lucide--search]" }), - C("input", { + return O("div", { class: `relative w-full ${props.class ?? ""}` }, [ + O("label", { class: "input input-bordered w-full" }, [ + O("span", { class: "icon-[lucide--search]" }), + O("input", { ...props, type: "text", class: "grow", @@ -550,30 +577,30 @@ } }) ]), - C("ul", { + O("ul", { class: "absolute left-0 w-full menu bg-base-100 rounded-box mt-1 p-2 shadow-xl max-h-60 overflow-y-auto border border-base-300 z-50", style: () => `display: ${isOpen() && filteredItems().length ? "block" : "none"};` }, [ - K(filteredItems, (item, idx) => C("li", {}, [ - C("a", { + K(filteredItems, (item, idx) => O("li", {}, [ + O("a", { class: () => `block w-full ${cursor() === idx ? "active bg-primary text-primary-content" : ""}`, onclick: () => pick(item), onmouseenter: () => cursor(idx) }, typeof item === "string" ? item : item.label) ]), (item, idx) => (typeof item === "string" ? item : item.value) + idx), - () => filteredItems().length === 0 ? C("li", { class: "flex justify-center p-4 opacity-50" }, C("span", { class: "icon-[lucide--search-x] text-2xl" })) : null + () => filteredItems().length === 0 ? O("li", { class: "flex justify-center p-4 opacity-50" }, O("span", { class: "icon-[lucide--search-x] text-2xl" })) : null ]) ]); }; - // components/badge.js - var exports_badge = {}; - __export(exports_badge, { + // components/Badge.js + var exports_Badge = {}; + __export(exports_Badge, { Badge: () => Badge }); var Badge = (props, children) => { children === undefined && (children = props, props = {}); - return C("span", { ...props, class: `badge ${props.class ?? ""}` }, children); + return O("span", { ...props, class: `badge ${props.class ?? ""}` }, children); }; // components/button.js @@ -583,19 +610,19 @@ }); var Button = (props, children) => { children === undefined && (children = props, props = {}); - return C("button", { ...props, class: `btn ${props.class ?? ""}` }, children); + return O("button", { ...props, class: `btn ${props.class ?? ""}` }, children); }; - // components/calendar.js - var exports_calendar = {}; - __export(exports_calendar, { + // components/Calendar.js + var exports_Calendar = {}; + __export(exports_Calendar, { Calendar: () => Calendar }); var Calendar = (props) => { - const internalDate = P(new Date); - const hoverDate = P(null); - const startHour = P(0); - const endHour = P(0); + const internalDate = S(new Date); + const hoverDate = S(null); + const startHour = S(0); + const endHour = S(0); const isRangeMode = () => { const r = typeof props.range === "function" ? props.range() : props.range; return r === true; @@ -641,18 +668,18 @@ props.onChange?.(newValue); } }; - const move = (m2) => { + const move = (m) => { const d = internalDate(); - internalDate(new Date(d.getFullYear(), d.getMonth() + m2, 1)); + internalDate(new Date(d.getFullYear(), d.getMonth() + m, 1)); }; const moveYear = (y2) => { const d = internalDate(); internalDate(new Date(d.getFullYear() + y2, d.getMonth(), 1)); }; const HourSlider = ({ value: hVal, onChange: onHourChange }) => { - return C("div", { class: "flex-1" }, [ - C("div", { class: "flex gap-2 items-center" }, [ - C("input", { + return O("div", { class: "flex-1" }, [ + O("div", { class: "flex gap-2 items-center" }, [ + O("input", { type: "range", min: 0, max: 23, @@ -660,26 +687,26 @@ class: "range range-xs flex-1", oninput: (e) => onHourChange(parseInt(e.target.value)) }), - C("span", { class: "text-sm font-mono min-w-[48px] text-center" }, () => String(typeof hVal === "function" ? hVal() : hVal).padStart(2, "0") + ":00") + O("span", { class: "text-sm font-mono min-w-[48px] text-center" }, () => String(typeof hVal === "function" ? hVal() : hVal).padStart(2, "0") + ":00") ]) ]); }; - return C("div", { class: `p-4 bg-base-100 border border-base-300 shadow-2xl rounded-box w-80 select-none ${props.class ?? ""}`.trim() }, [ - C("div", { class: "flex justify-between items-center mb-4 gap-1" }, [ - C("div", { class: "flex gap-0.5" }, [ - C("button", { type: "button", class: "btn btn-ghost btn-xs px-1", onclick: () => moveYear(-1) }, C("span", { class: "icon-[lucide--chevrons-left]" })), - C("button", { type: "button", class: "btn btn-ghost btn-xs px-1", onclick: () => move(-1) }, C("span", { class: "icon-[lucide--chevron-left]" })) + return O("div", { class: `p-4 bg-base-100 border border-base-300 shadow-2xl rounded-box w-80 select-none ${props.class ?? ""}`.trim() }, [ + O("div", { class: "flex justify-between items-center mb-4 gap-1" }, [ + O("div", { class: "flex gap-0.5" }, [ + O("button", { type: "button", class: "btn btn-ghost btn-xs px-1", onclick: () => moveYear(-1) }, O("span", { class: "icon-[lucide--chevrons-left]" })), + O("button", { type: "button", class: "btn btn-ghost btn-xs px-1", onclick: () => move(-1) }, O("span", { class: "icon-[lucide--chevron-left]" })) ]), - C("span", { class: "font-bold uppercase flex-1 text-center" }, [ + O("span", { class: "font-bold uppercase flex-1 text-center" }, [ () => internalDate().toLocaleString("es-ES", { month: "short", year: "numeric" }) ]), - C("div", { class: "flex gap-0.5" }, [ - C("button", { type: "button", class: "btn btn-ghost btn-xs px-1", onclick: () => move(1) }, C("span", { class: "icon-[lucide--chevron-right]" })), - C("button", { type: "button", class: "btn btn-ghost btn-xs px-1", onclick: () => moveYear(1) }, C("span", { class: "icon-[lucide--chevrons-right]" })) + O("div", { class: "flex gap-0.5" }, [ + O("button", { type: "button", class: "btn btn-ghost btn-xs px-1", onclick: () => move(1) }, O("span", { class: "icon-[lucide--chevron-right]" })), + O("button", { type: "button", class: "btn btn-ghost btn-xs px-1", onclick: () => moveYear(1) }, O("span", { class: "icon-[lucide--chevrons-right]" })) ]) ]), - C("div", { class: "grid grid-cols-7 gap-1", onmouseleave: () => hoverDate(null) }, [ - ...["L", "M", "X", "J", "V", "S", "D"].map((d) => C("div", { class: "text-[10px] opacity-40 font-bold text-center" }, d)), + O("div", { class: "grid grid-cols-7 gap-1", onmouseleave: () => hoverDate(null) }, [ + ...["L", "M", "X", "J", "V", "S", "D"].map((d) => O("div", { class: "text-[10px] opacity-40 font-bold text-center" }, d)), () => { const d = internalDate(); const year = d.getFullYear(); @@ -689,11 +716,11 @@ const daysInMonth = new Date(year, month + 1, 0).getDate(); const cells = []; for (let i = 0;i < offset; i++) - cells.push(C("div")); + cells.push(O("div")); for (let i = 1;i <= daysInMonth; i++) { const date = new Date(year, month, i); const dStr = formatDate(date); - cells.push(C("button", { + cells.push(O("button", { type: "button", class: () => { const v2 = getCurrentValue(); @@ -724,8 +751,8 @@ return cells; } ]), - props.hour ? C("div", { class: "mt-3 pt-2 border-t border-base-300" }, [ - isRangeMode() ? C("div", { class: "flex gap-4" }, [ + props.hour ? O("div", { class: "mt-3 pt-2 border-t border-base-300" }, [ + isRangeMode() ? O("div", { class: "flex gap-4" }, [ HourSlider({ value: startHour, onChange: (h) => startHour(h) }), HourSlider({ value: endHour, onChange: (h) => endHour(h) }) ]) : HourSlider({ value: startHour, onChange: (h) => startHour(h) }) @@ -743,19 +770,19 @@ }); var Card = (props, children) => { children === undefined && (children = props, props = {}); - return C("div", { ...props, class: `card ${props.class ?? ""}` }, children); + return O("div", { ...props, class: `card ${props.class ?? ""}` }, children); }; var CardTitle = (props, children) => { children === undefined && (children = props, props = {}); - return C("div", { ...props, class: `card-title ${props.class ?? ""}` }, children); + return O("div", { ...props, class: `card-title ${props.class ?? ""}` }, children); }; var CardBody = (props, children) => { children === undefined && (children = props, props = {}); - return C("div", { ...props, class: `card-body ${props.class ?? ""}` }, children); + return O("div", { ...props, class: `card-body ${props.class ?? ""}` }, children); }; var CardActions = (props, children) => { children === undefined && (children = props, props = {}); - return C("div", { ...props, class: `card-actions ${props.class ?? ""}` }, children); + return O("div", { ...props, class: `card-actions ${props.class ?? ""}` }, children); }; // components/carousel.js @@ -766,11 +793,11 @@ }); var Carousel = (props, children) => { children === undefined && (children = props, props = {}); - return C("div", { ...props, class: `carousel ${props.class ?? ""}` }, children); + return O("div", { ...props, class: `carousel ${props.class ?? ""}` }, children); }; var CarouselItem = (props, children) => { children === undefined && (children = props, props = {}); - return C("div", { ...props, class: `carousel-item ${props.class ?? ""}` }, children); + return O("div", { ...props, class: `carousel-item ${props.class ?? ""}` }, children); }; // components/chat.js @@ -785,23 +812,23 @@ }); var Chat = (props, children) => { children === undefined && (children = props, props = {}); - return C("div", { ...props, class: `chat ${props.class ?? ""}` }, children); + return O("div", { ...props, class: `chat ${props.class ?? ""}` }, children); }; var ChatImage = (props, children) => { children === undefined && (children = props, props = {}); - return C("div", { ...props, class: `chat-image avatar ${props.class ?? ""}` }, C("div", { class: "w-10 rounded-full" }, typeof children === "string" ? C("img", { src: children, alt: "avatar" }) : children)); + return O("div", { ...props, class: `chat-image avatar ${props.class ?? ""}` }, O("div", { class: "w-10 rounded-full" }, typeof children === "string" ? O("img", { src: children, alt: "avatar" }) : children)); }; var ChatHeader = (props, children) => { children === undefined && (children = props, props = {}); - return C("div", { ...props, class: `chat-header ${props.class ?? ""}` }, children); + return O("div", { ...props, class: `chat-header ${props.class ?? ""}` }, children); }; var ChatFooter = (props, children) => { children === undefined && (children = props, props = {}); - return C("div", { ...props, class: `chat-footer ${props.class ?? ""}` }, children); + return O("div", { ...props, class: `chat-footer ${props.class ?? ""}` }, children); }; var ChatBubble = (props, children) => { children === undefined && (children = props, props = {}); - return C("div", { ...props, class: `chat-bubble ${props.class ?? ""}` }, children); + return O("div", { ...props, class: `chat-bubble ${props.class ?? ""}` }, children); }; var ChatMessage = (props) => { const { position = "start", avatar, header, message, footer, bubbleClass, ...rest } = props; @@ -818,7 +845,7 @@ __export(exports_checkbox, { Checkbox: () => Checkbox }); - var Checkbox = (props) => C("input", { ...props, type: "checkbox", class: `checkbox ${props.class ?? ""}` }); + var Checkbox = (props) => O("input", { ...props, type: "checkbox", class: `checkbox ${props.class ?? ""}` }); // components/colorpicker.js var exports_colorpicker = {}; @@ -826,7 +853,7 @@ Colorpicker: () => Colorpicker }); var Colorpicker = (props) => { - const isOpen = P(false); + const isOpen = S(false); const palette = [ ...["#000", "#1A1A1A", "#333", "#4D4D4D", "#666", "#808080", "#B3B3B3", "#FFF"], ...["#450a0a", "#7f1d1d", "#991b1b", "#b91c1c", "#dc2626", "#ef4444", "#f87171", "#fca5a5"], @@ -841,8 +868,8 @@ const v2 = props.value; return (typeof v2 === "function" ? v2() : v2) || "#000000"; }; - return C("div", { class: `relative w-fit ${props.class ?? ""}` }, [ - C("button", { + return O("div", { class: `relative w-fit ${props.class ?? ""}` }, [ + O("button", { type: "button", class: "btn px-3 bg-base-100 border-base-300 hover:border-primary/50 flex items-center gap-2 shadow-sm font-normal normal-case", onclick: (e) => { @@ -851,17 +878,17 @@ }, ...props }, [ - C("div", { + O("div", { class: "size-5 rounded-sm shadow-inner border border-black/10 shrink-0", style: () => `background-color: ${getColor()}` }), - props.label ? C("span", { class: "opacity-80" }, props.label) : null + props.label ? O("span", { class: "opacity-80" }, props.label) : null ]), - J(isOpen, () => C("div", { + z(isOpen, () => O("div", { class: "absolute left-0 mt-2 p-3 bg-base-100 border border-base-300 shadow-2xl rounded-box z-[110] w-64 select-none", onclick: (e) => e.stopPropagation() }, [ - C("div", { class: "grid grid-cols-8 gap-1" }, palette.map((c) => C("button", { + O("div", { class: "grid grid-cols-8 gap-1" }, palette.map((c) => O("button", { type: "button", style: `background-color: ${c}`, class: () => { @@ -875,25 +902,25 @@ } }))) ])), - J(isOpen, () => C("div", { + z(isOpen, () => O("div", { class: "fixed inset-0 z-[100]", onclick: () => isOpen(false) })) ]); }; - // components/datepicker.js - var exports_datepicker = {}; - __export(exports_datepicker, { + // components/Datepicker.js + var exports_Datepicker = {}; + __export(exports_Datepicker, { Datepicker: () => Datepicker }); var Datepicker = (props) => { - const isOpen = P(false); + const isOpen = S(false); const isRangeMode = () => { const r = typeof props.range === "function" ? props.range() : props.range; return r === true; }; - const displayValue = P(""); + const displayValue = S(""); R(() => { const v2 = typeof props.value === "function" ? props.value() : props.value; if (!v2) { @@ -924,10 +951,10 @@ e.stopPropagation(); isOpen(!isOpen()); }; - return C("div", { class: `relative w-full ${props.class ?? ""}` }, [ - C("label", { class: "input input-bordered w-full", onclick: toggleOpen }, [ - C("span", { class: "icon-[lucide--calendar]" }), - C("input", { + return O("div", { class: `relative w-full ${props.class ?? ""}` }, [ + O("label", { class: "input input-bordered w-full", onclick: toggleOpen }, [ + O("span", { class: "icon-[lucide--calendar]" }), + O("input", { ...props, type: "text", class: "grow", @@ -936,7 +963,7 @@ placeholder: props.placeholder || (isRangeMode() ? "Seleccionar rango..." : "Seleccionar fecha...") }) ]), - J(isOpen, () => C("div", { + z(isOpen, () => O("div", { class: "absolute left-0 mt-2 z-[100]", onclick: (e) => e.stopPropagation() }, [ @@ -947,7 +974,7 @@ onChange: handleCalendarChange }) ])), - J(isOpen, () => C("div", { class: "fixed inset-0 z-[90]", onclick: () => isOpen(false) })) + z(isOpen, () => O("div", { class: "fixed inset-0 z-[90]", onclick: () => isOpen(false) })) ]); }; @@ -959,26 +986,26 @@ }); var Drawer = (props, children) => { children === undefined && (children = props, props = {}); - return C("div", { ...props, class: `drawer ${props.class ?? ""}` }, children); + return O("div", { ...props, class: `drawer ${props.class ?? ""}` }, children); }; var Sidebar = (props) => { const id = props.id || `drawer-${Math.random().toString(36).slice(2, 9)}`; - return C("div", { ...props, class: `drawer ${props.class ?? ""}` }, [ - C("input", { + return O("div", { ...props, class: `drawer ${props.class ?? ""}` }, [ + O("input", { id, type: "checkbox", class: "drawer-toggle", checked: () => typeof props.open === "function" ? props.open() : props.open, onchange: (e) => typeof props.open === "function" && props.open(e.target.checked) }), - C("div", { class: "drawer-content" }, props.children), - C("div", { class: "drawer-side" }, [ - C("label", { + O("div", { class: "drawer-content" }, props.children), + O("div", { class: "drawer-side" }, [ + O("label", { for: id, class: "drawer-overlay", onclick: () => typeof props.open === "function" && props.open(false) }), - C("div", { class: "min-h-full bg-base-200 w-80 p-4" }, typeof props.content === "function" ? props.content() : props.content) + O("div", { class: "min-h-full bg-base-200 w-80 p-4" }, typeof props.content === "function" ? props.content() : props.content) ]) ]); }; @@ -998,7 +1025,7 @@ }); window.__dropdownHandlerRegistered = true; } - var Dropdown = (props) => C("details", { + var Dropdown = (props) => O("details", { ...props, class: `dropdown ${props.class ?? ""}`, onclick: (e) => { @@ -1018,7 +1045,7 @@ }); var Fab = (props, children) => { children === undefined && (children = props, props = {}); - return C("div", { ...props, class: `fab ${props.class ?? ""}` }, children); + return O("div", { ...props, class: `fab ${props.class ?? ""}` }, children); }; // components/fieldset.js @@ -1026,11 +1053,11 @@ __export(exports_fieldset, { Fieldset: () => Fieldset }); - var Fieldset = (props, children) => C("fieldset", { + var Fieldset = (props, children) => O("fieldset", { ...props, class: `fieldset ${props.class ?? ""}` }, [ - props.legend ? C("legend", { class: "fieldset-legend" }, props.legend) : null, + props.legend ? O("legend", { class: "fieldset-legend" }, props.legend) : null, children ]); @@ -1040,9 +1067,9 @@ Fileinput: () => Fileinput }); var Fileinput = (props) => { - const selectedFiles = P([]); - const isDragging = P(false); - const error = P(null); + const selectedFiles = S([]); + const isDragging = S(false); + const error = S(null); const maxBytes = (props.max || 2) * 1024 * 1024; const handleFiles = (files) => { const fileList = Array.from(files); @@ -1059,8 +1086,8 @@ selectedFiles(updated); props.onselect?.(updated); }; - return C("div", { ...props, class: `fieldset w-full p-0 ${props.class ?? ""}` }, [ - C("label", { + return O("div", { ...props, class: `fieldset w-full p-0 ${props.class ?? ""}` }, [ + O("label", { class: () => `relative flex items-center justify-between w-full h-12 px-4 border-2 border-dashed rounded-lg cursor-pointer transition-all duration-200 ${isDragging() ? "border-primary bg-primary/10" : "border-base-content/20 bg-base-100 hover:bg-base-200"}`, ondragover: (e) => { e.preventDefault(); @@ -1073,12 +1100,12 @@ handleFiles(e.dataTransfer.files); } }, [ - C("div", { class: "flex items-center gap-3 w-full" }, [ - C("span", { class: "icon-[lucide--upload]" }), - C("span", { class: "text-sm opacity-70 truncate grow text-left" }, "Arrastra o selecciona archivos..."), - C("span", { class: "text-[10px] opacity-40 shrink-0" }, `Máx ${props.max || 2}MB`) + O("div", { class: "flex items-center gap-3 w-full" }, [ + O("span", { class: "icon-[lucide--upload]" }), + O("span", { class: "text-sm opacity-70 truncate grow text-left" }, "Arrastra o selecciona archivos..."), + O("span", { class: "text-[10px] opacity-40 shrink-0" }, `Máx ${props.max || 2}MB`) ]), - C("input", { + O("input", { type: "file", multiple: true, accept: props.accept || "*", @@ -1086,22 +1113,22 @@ onchange: (e) => handleFiles(e.target.files) }) ]), - () => error() && C("span", { class: "text-[10px] text-error mt-1 px-1 font-medium" }, error()), - J(() => selectedFiles().length > 0, () => C("ul", { class: "mt-2 space-y-1" }, [ - K(selectedFiles, (file, idx) => C("li", { class: "flex items-center justify-between p-1.5 pl-3 text-xs bg-base-200/50 rounded-md border border-base-300" }, [ - C("div", { class: "flex items-center gap-2 truncate" }, [ - C("span", { class: "opacity-50" }, "\uD83D\uDCC4"), - C("span", { class: "truncate font-medium max-w-[200px]" }, file.name), - C("span", { class: "text-[9px] opacity-40" }, `(${(file.size / 1024).toFixed(0)} KB)`) + () => error() && O("span", { class: "text-[10px] text-error mt-1 px-1 font-medium" }, error()), + z(() => selectedFiles().length > 0, () => O("ul", { class: "mt-2 space-y-1" }, [ + K(selectedFiles, (file, idx) => O("li", { class: "flex items-center justify-between p-1.5 pl-3 text-xs bg-base-200/50 rounded-md border border-base-300" }, [ + O("div", { class: "flex items-center gap-2 truncate" }, [ + O("span", { class: "opacity-50" }, "\uD83D\uDCC4"), + O("span", { class: "truncate font-medium max-w-[200px]" }, file.name), + O("span", { class: "text-[9px] opacity-40" }, `(${(file.size / 1024).toFixed(0)} KB)`) ]), - C("button", { + O("button", { type: "button", class: "btn btn-ghost btn-xs btn-circle", onclick: (e) => { e.preventDefault(); removeFile(idx); } - }, C("span", { class: "icon-[lucide--x]" })) + }, O("span", { class: "icon-[lucide--x]" })) ]), (file) => file.name + file.lastModified) ])) ]); @@ -1115,14 +1142,14 @@ var Icon = (props, children) => { if (typeof props === "string") { if (props.includes("icon-") || props.startsWith("lucide-")) { - return C("span", { class: props }, children); + return O("span", { class: props }, children); } - return C("span", { class: "icon" }, props); + return O("span", { class: "icon" }, props); } if (!props) return null; const { class: className, ...rest } = props; - return C("span", { ...rest, class: className }, children); + return O("span", { ...rest, class: className }, children); }; // components/indicator.js @@ -1132,25 +1159,72 @@ }); var Indicator = (props, children) => { children === undefined && (children = props, props = {}); - return C("div", { ...props, class: `indicator ${props.class ?? ""}` }, [ - props.value ? C("span", { class: `indicator-item badge ${props.class ?? ""}` }, props.value) : null, + return O("div", { ...props, class: `indicator ${props.class ?? ""}` }, [ + props.value ? O("span", { class: `indicator-item badge ${props.class ?? ""}` }, props.value) : null, children ]); }; - // components/input.js - var exports_input = {}; - __export(exports_input, { - InputLabel: () => InputLabel, + // components/Input.js + var exports_Input = {}; + __export(exports_Input, { Input: () => Input }); - var Input = (props) => C("input", { ...props, class: `input ${props.class ?? ""}` }); - var InputLabel = (props) => C("label", { class: `${props.float ? "floating-label" : "input"}` }, [ - C("span", { class: props.float ? "" : "label opacity-50" }, props.label), - props.left ?? null, - C("input", { ...props, class: `${props.float ? "input" : ""} ${props.class ?? ""}` }), - props.right ?? null - ]); + + // components/_core.js + var get = (val) => typeof val === "function" ? val() : val; + var cls = (...classes) => classes.filter(Boolean).join(" ").trim(); + var isFunc = (f) => typeof f === "function"; + + // components/Input.js + var Input = (props) => { + const { label, icon, float, placeholder, value, left, right, content, ...rest } = props; + const showPassword = S(false); + const isFocused = S(false); + const isPassword = props.type === "password"; + const inputType = () => isPassword ? get(showPassword) ? "text" : "password" : props.type || "text"; + return O("div", { + class: "input-container", + onfocusin: () => isFocused(true), + onfocusout: (e) => { + if (!e.currentTarget.contains(e.relatedTarget)) { + isFocused(false); + } + } + }, [ + O("label", { class: "floating-label" }, [ + float ? O("span", {}, label) : null, + O("label", { + class: () => cls("input", props.class) + }, [ + label && !float ? O("span", { class: "label" }, label) : null, + left ?? null, + O("input", { + ...rest, + type: inputType, + class: "grow", + placeholder: placeholder || label || " ", + value + }), + right ?? null, + isPassword ? O("label", { class: "swap swap-rotate ml-2" }, [ + O("input", { + type: "checkbox", + onchange: (e) => showPassword(e.target.checked) + }), + O("span", { class: "swap-on icon-[lucide--eye]" }), + O("span", { class: "swap-off icon-[lucide--eye-off]" }) + ]) : null + ]), + z(isFocused, () => G({ duration: 300, slide: true }, O("div", { + class: "input-content", + onmousedown: (e) => e.preventDefault() + }, [ + isFunc(content) ? content(isFocused) : content + ]))) + ]) + ]); + }; // components/kbd.js var exports_kbd = {}; @@ -1159,7 +1233,7 @@ }); var Kbd = (props, children) => { children === undefined && (children = props, props = {}); - return C("kbd", { ...props, class: `kbd ${props.class ?? ""}` }, children); + return O("kbd", { ...props, class: `kbd ${props.class ?? ""}` }, children); }; // components/loading.js @@ -1169,7 +1243,7 @@ }); var Loading = (props, children) => { children === undefined && (children = props, props = {}); - return C("span", { ...props, class: `loading loading-spinner ${props.class ?? ""}` }, children); + return O("span", { ...props, class: `loading loading-spinner ${props.class ?? ""}` }, children); }; // components/menu.js @@ -1180,21 +1254,21 @@ }); var Menu = (props, children) => { children === undefined && (children = props, props = {}); - return C("ul", { ...props, class: `menu ${props.class ?? ""}` }, children); + return O("ul", { ...props, class: `menu ${props.class ?? ""}` }, children); }; var MenuItems = (props) => { const { items, keyFn = (item, idx) => item.id ?? idx } = props; const itemsSignal = typeof items === "function" ? items : () => items || []; const renderItem = (item) => { if (item.children) { - return C("li", {}, [ - C("details", {}, [ - C("summary", {}, item.label), - C("ul", {}, MenuItems({ items: item.children })) + return O("li", {}, [ + O("details", {}, [ + O("summary", {}, item.label), + O("ul", {}, MenuItems({ items: item.children })) ]) ]); } - return C("li", {}, C("a", { + return O("li", {}, O("a", { href: item.href, onclick: item.onclick ? (e) => { if (!item.href) @@ -1220,22 +1294,22 @@ isOpen ? dialogRef.showModal() : dialogRef.close(); }); const close = () => typeof props.open === "function" && props.open(false); - return C("dialog", { + return O("dialog", { ...props, ref: (el) => dialogRef = el, class: `modal ${props.class ?? ""}`, onclose: close, oncancel: close }, [ - C("div", { class: "modal-box" }, [ - props.title && C("h3", { class: "text-lg font-bold" }, props.title), + O("div", { class: "modal-box" }, [ + props.title && O("h3", { class: "text-lg font-bold" }, props.title), props.children, - C("div", { class: "modal-action" }, [ - props.actions || C("button", { class: "btn", onclick: close }, "Cerrar") + O("div", { class: "modal-action" }, [ + props.actions || O("button", { class: "btn", onclick: close }, "Cerrar") ]) ]), - C("form", { method: "dialog", class: "modal-backdrop" }, [ - C("button", {}, "close") + O("form", { method: "dialog", class: "modal-backdrop" }, [ + O("button", {}, "close") ]) ]); }; @@ -1247,7 +1321,7 @@ }); var Navbar = (props, children) => { children === undefined && (children = props, props = {}); - return C("div", { ...props, class: `navbar ${props.class ?? ""}` }, children); + return O("div", { ...props, class: `navbar ${props.class ?? ""}` }, children); }; // components/radial.js @@ -1259,7 +1333,7 @@ children === undefined && (children = props, props = {}); const percentage = props.value != null ? props.value / (props.max || 100) * 100 : 0; const style = `--value: ${percentage}; --max: 100;`; - return C("div", { + return O("div", { ...props, class: `radial-progress ${props.class ?? ""}`, style, @@ -1275,14 +1349,14 @@ __export(exports_radio, { Radio: () => Radio }); - var Radio = (props) => C("input", { ...props, type: "radio", class: `radio ${props.class ?? ""}` }); + var Radio = (props) => O("input", { ...props, type: "radio", class: `radio ${props.class ?? ""}` }); // components/range.js var exports_range = {}; __export(exports_range, { Range: () => Range }); - var Range = (props) => C("input", { ...props, type: "range", class: `range ${props.class ?? ""}` }); + var Range = (props) => O("input", { ...props, type: "range", class: `range ${props.class ?? ""}` }); // components/rating.js var exports_rating = {}; @@ -1292,9 +1366,9 @@ var Rating = (props, children) => { children === undefined && (children = props, props = {}); const name = `rating-${Math.random().toString(36).slice(2, 7)}`; - return C("div", { ...props, class: `rating ${props.class ?? ""}` }, children || Array.from({ length: props.count || 5 }, (_2, i) => { + return O("div", { ...props, class: `rating ${props.class ?? ""}` }, children || Array.from({ length: props.count || 5 }, (_2, i) => { const starValue = i + 1; - return C("input", { + return O("input", { type: "radio", name, class: `mask ${props.mask || "mask-star"}`, @@ -1315,9 +1389,9 @@ SkeletonText: () => SkeletonText, Skeleton: () => Skeleton }); - var Skeleton = (props) => C("div", { ...props, class: `skeleton ${props.class ?? ""}` }); + var Skeleton = (props) => O("div", { ...props, class: `skeleton ${props.class ?? ""}` }); var SkeletonText = (props) => { - return C("div", { ...props, class: "space-y-2" }, Array.from({ length: props.lines || 3 }, () => C("div", { class: `skeleton h-4 w-full ${props.class ?? ""}` }))); + return O("div", { ...props, class: "space-y-2" }, Array.from({ length: props.lines || 3 }, () => O("div", { class: `skeleton h-4 w-full ${props.class ?? ""}` }))); }; // components/select.js @@ -1329,21 +1403,21 @@ }); var Select = (props, children) => { children === undefined && (children = props, props = {}); - return C("select", { ...props, class: `select ${props.class ?? ""}` }, children); + return O("select", { ...props, class: `select ${props.class ?? ""}` }, children); }; var SelectItems = (props) => { - const placeholderOption = props.placeholder ? C("option", { disabled: props.placeholderDisabled ?? true, selected: true }, props.placeholder) : null; + const placeholderOption = props.placeholder ? O("option", { disabled: props.placeholderDisabled ?? true, selected: true }, props.placeholder) : null; const dynamicOptions = K(() => [...typeof props.items === "function" ? props.items() : props.items || []], (item) => { const val = typeof item === "string" ? item : item.value; const label = typeof item === "string" ? item : item.label; - return C("option", { value: val }, label); + return O("option", { value: val }, label); }, props.keyFn || ((item) => typeof item === "string" ? item : item.value)); return placeholderOption ? [placeholderOption, dynamicOptions] : dynamicOptions; }; - var SelectLabel = (props, children) => C("label", { class: `${props.float ? "floating-label" : "select"}` }, [ - C("span", { class: props.float ? "" : "label opacity-50" }, props.label), + var SelectLabel = (props, children) => O("label", { class: `${props.float ? "floating-label" : "select"}` }, [ + O("span", { class: props.float ? "" : "label opacity-50" }, props.label), props.left ?? null, - C("select", { ...props, class: `${props.float ? "select" : ""} ${props.class ?? ""}` }, children), + O("select", { ...props, class: `${props.float ? "select" : ""} ${props.class ?? ""}` }, children), props.right ?? null ]); @@ -1354,7 +1428,7 @@ }); var Stack = (props, children) => { children === undefined && (children = props, props = {}); - return C("div", { ...props, class: `stack ${props.class ?? ""}` }, children); + return O("div", { ...props, class: `stack ${props.class ?? ""}` }, children); }; // components/stat.js @@ -1366,16 +1440,16 @@ var Stats = (props, children) => { children === undefined && (children = props, props = {}); const direction = props.vertical ? "stats-vertical" : "stats-horizontal"; - return C("div", { ...props, class: `stats ${direction} ${props.class ?? ""}`.trim() }, children); + return O("div", { ...props, class: `stats ${direction} ${props.class ?? ""}`.trim() }, children); }; var Stat = (props, children) => { children === undefined && (children = props, props = {}); - return C("div", { ...props, class: `stat ${props.class ?? ""}` }, [ - props.icon && C("div", { class: "stat-figure" }, props.icon), - props.label && C("div", { class: "stat-title" }, props.label), - props.value && C("div", { class: "stat-value" }, props.value), - props.desc && C("div", { class: "stat-desc" }, props.desc), - props.actions && C("div", { class: "stat-actions" }, props.actions), + return O("div", { ...props, class: `stat ${props.class ?? ""}` }, [ + props.icon && O("div", { class: "stat-figure" }, props.icon), + props.label && O("div", { class: "stat-title" }, props.label), + props.value && O("div", { class: "stat-value" }, props.value), + props.desc && O("div", { class: "stat-desc" }, props.desc), + props.actions && O("div", { class: "stat-actions" }, props.actions), children ]); }; @@ -1386,14 +1460,14 @@ Swap: () => Swap }); var Swap = (props) => { - return C("label", { ...props, class: `swap ${props.class ?? ""}` }, [ - C("input", { + return O("label", { ...props, class: `swap ${props.class ?? ""}` }, [ + O("input", { type: "checkbox", checked: () => typeof props.value === "function" ? props.value() : props.value, onchange: (e) => typeof props.value === "function" && props.value(e.target.checked) }), - C("div", { class: "swap-on" }, props.on), - C("div", { class: "swap-off" }, props.off) + O("div", { class: "swap-on" }, props.on), + O("div", { class: "swap-off" }, props.off) ]); }; @@ -1405,15 +1479,15 @@ }); var Table = (props, children) => { children === undefined && (children = props, props = {}); - return C("table", { ...props, class: `table ${props.class ?? ""}` }, children); + return O("table", { ...props, class: `table ${props.class ?? ""}` }, children); }; var TableItems = (props) => { const itemArray = typeof props.items === "function" ? props.items() : props.items || []; - const thead = props.header !== false && props.columns?.some((col) => col.label) ? C("thead", {}, C("tr", {}, props.columns.map((col) => C("th", { class: col.class }, col.label)))) : null; - const tbody = C("tbody", {}, [ - K(itemArray, (item, idx) => C("tr", {}, props.columns.map((col) => { + const thead = props.header !== false && props.columns?.some((col) => col.label) ? O("thead", {}, O("tr", {}, props.columns.map((col) => O("th", { class: col.class }, col.label)))) : null; + const tbody = O("tbody", {}, [ + K(itemArray, (item, idx) => O("tr", {}, props.columns.map((col) => { const content = col.render ? col.render(item, idx) : item[col.key]; - return C("td", { class: col.class }, content); + return O("td", { class: col.class }, content); })), props.keyFn || ((item, idx) => item.id ?? idx)) ]); return [thead, tbody]; @@ -1430,20 +1504,20 @@ }); var Tabs = (props, children) => { children === undefined && (children = props, props = {}); - return C("div", { ...props, class: `tabs ${props.class ?? ""}` }, children); + return O("div", { ...props, class: `tabs ${props.class ?? ""}` }, children); }; var Tab = (props, children) => { children === undefined && (children = props, props = {}); - return C("a", { ...props, role: "tab", class: `tab ${props.class ?? ""}` }, children); + return O("a", { ...props, role: "tab", class: `tab ${props.class ?? ""}` }, children); }; var TabContent = (props, children) => { children === undefined && (children = props, props = {}); - return C("div", { ...props, class: `tab-content ${props.class ?? ""}` }, children); + return O("div", { ...props, class: `tab-content ${props.class ?? ""}` }, children); }; - var TabClose = (props) => C("a", { ...props, role: "tab", class: `tab ${props.class ?? ""}` }, [ - C("span", { class: "flex items-center" }, [ + var TabClose = (props) => O("a", { ...props, role: "tab", class: `tab ${props.class ?? ""}` }, [ + O("span", { class: "flex items-center" }, [ props.label, - C("span", { + O("span", { class: "icon-[lucide--x] w-3.5 h-3.5 ml-2 cursor-pointer hover:opacity-70", onclick: (e) => { e.stopPropagation(); @@ -1479,7 +1553,7 @@ __export(exports_textarea, { Textarea: () => Textarea }); - var Textarea = (props) => C("textarea", { ...props, class: `textarea ${props.class ?? ""}` }); + var Textarea = (props) => O("textarea", { ...props, class: `textarea ${props.class ?? ""}` }); // components/textrotate.js var exports_textrotate = {}; @@ -1488,8 +1562,8 @@ }); var TextRotate = (props) => { const wordsArray = Array.isArray(props.words) ? props.words : typeof props.words === "string" ? props.words.split(",") : []; - return C("span", { ...props, class: `text-rotate ${props.class ?? ""}` }, [ - C("span", {}, wordsArray.map((word) => C("span", {}, word))) + return O("span", { ...props, class: `text-rotate ${props.class ?? ""}` }, [ + O("span", {}, wordsArray.map((word) => O("span", {}, word))) ]); }; @@ -1502,7 +1576,7 @@ children === undefined && (children = props, props = {}); const vertical = props.vertical !== false; const compact = props.compact === true; - return C("ul", { + return O("ul", { ...props, class: `timeline ${vertical ? "timeline-vertical" : "timeline-horizontal"} ${compact ? "timeline-compact" : ""} ${props.class ?? ""}`.trim() }, children); @@ -1516,13 +1590,13 @@ var Toast = (message, type = "alert-success", duration = 3500) => { let container = document.getElementById("sigpro-toast-container"); if (!container) { - container = C("div", { + container = O("div", { id: "sigpro-toast-container", class: "fixed top-0 right-0 z-[9999] p-4 flex flex-col gap-2 pointer-events-none" }); document.body.appendChild(container); } - const toastHost = C("div", { style: "display: contents" }); + const toastHost = O("div", { style: "display: contents" }); container.appendChild(toastHost); let timeoutId; const close = () => { @@ -1542,21 +1616,21 @@ } }; const ToastComponent = () => { - const closeIcon = C("span", { class: "icon-[lucide--x]" }); - const closeBtn = C("button", { + const closeIcon = O("span", { class: "icon-[lucide--x]" }); + const closeBtn = O("button", { class: "btn btn-xs btn-circle btn-ghost", onclick: close }, closeIcon); - const alertDiv = C("div", { + const alertDiv = O("div", { class: `alert alert-soft ${type} shadow-lg transition-all duration-300 translate-x-10 opacity-0 pointer-events-auto` }, [ - C("span", {}, typeof message === "function" ? message() : message), + O("span", {}, typeof message === "function" ? message() : message), closeBtn ]); requestAnimationFrame(() => alertDiv.classList.remove("translate-x-10", "opacity-0")); return alertDiv; }; - const instance = Q(ToastComponent, toastHost); + const instance = H(ToastComponent, toastHost); if (duration > 0) timeoutId = setTimeout(close, duration); return close; @@ -1569,7 +1643,7 @@ }); var Tooltip = (props, children) => { children === undefined && (children = props, props = {}); - return C("div", { ...props, class: `tooltip ${props.class ?? ""}`, "data-tip": props.tip }, children); + return O("div", { ...props, class: `tooltip ${props.class ?? ""}`, "data-tip": props.tip }, children); }; // utils.js @@ -1591,24 +1665,24 @@ nodata: "No data" } }; - var currentLocale = P("es"); + var currentLocale = S("es"); var Locale = (t) => currentLocale(t); var tt = (t) => () => i18n[currentLocale()][t] || t; // index.js var Components = { - ...exports_accordion, - ...exports_alert, - ...exports_autocomplete, - ...exports_badge, + ...exports_Accordion, + ...exports_Alert, + ...exports_Autocomplete, + ...exports_Badge, ...exports_button, - ...exports_calendar, + ...exports_Calendar, ...exports_card, ...exports_carousel, ...exports_chat, ...exports_checkbox, ...exports_colorpicker, - ...exports_datepicker, + ...exports_Datepicker, ...exports_drawer, ...exports_dropdown, ...exports_fab, @@ -1616,7 +1690,7 @@ ...exports_fileinput, ...exports_icon, ...exports_indicator, - ...exports_input, + ...exports_Input, ...exports_kbd, ...exports_loading, ...exports_menu, diff --git a/dist/sigpro-ui.min.css b/dist/sigpro-ui.min.css index e646ca1..05ae148 100644 --- a/dist/sigpro-ui.min.css +++ b/dist/sigpro-ui.min.css @@ -1,2 +1,2 @@ /*! tailwindcss v4.2.4 | MIT License | https://tailwindcss.com */ -@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-content:""}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-gray-500:oklch(55.1% .027 264.364);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-md:28rem;--container-3xl:48rem;--container-5xl:64rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-6xl:3.75rem;--text-6xl--line-height:1;--text-7xl:4.5rem;--text-7xl--line-height:1;--text-9xl:8rem;--text-9xl--line-height:1;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-bold:700;--font-weight-black:900;--tracking-tighter:-.05em;--tracking-tight:-.025em;--tracking-widest:.1em;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-3xl:1.5rem;--drop-shadow-2xl:0 25px 25px #00000026;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-3xl:64px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;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");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}@media (prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--color-base-100:oklch(25.33% .016 252.42);--color-base-200:oklch(23.26% .014 253.1);--color-base-300:oklch(21.15% .012 254.09);--color-base-content:oklch(97.807% .029 256.847);--color-primary:oklch(58% .233 277.117);--color-primary-content:oklch(96% .018 272.314);--color-secondary:oklch(65% .241 354.308);--color-secondary-content:oklch(94% .028 342.258);--color-accent:oklch(77% .152 181.912);--color-accent-content:oklch(38% .063 188.416);--color-neutral:oklch(14% .005 285.823);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(74% .16 232.661);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(76% .177 163.223);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .189 84.429);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(71% .194 13.428);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}}:root:has(input.theme-controller[value=light]:checked),[data-theme=light]{color-scheme:light;--color-base-100:oklch(100% 0 0);--color-base-200:oklch(98% 0 0);--color-base-300:oklch(95% 0 0);--color-base-content:oklch(21% .006 285.885);--color-primary:oklch(45% .24 277.023);--color-primary-content:oklch(93% .034 272.788);--color-secondary:oklch(65% .241 354.308);--color-secondary-content:oklch(94% .028 342.258);--color-accent:oklch(77% .152 181.912);--color-accent-content:oklch(38% .063 188.416);--color-neutral:oklch(14% .005 285.823);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(74% .16 232.661);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(76% .177 163.223);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .189 84.429);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(71% .194 13.428);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}:root{--fx-noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.34' numOctaves='4' stitchTiles='stitch'%3E%3C/feTurbulence%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23a)' opacity='0.2'%3E%3C/rect%3E%3C/svg%3E");scrollbar-color:currentColor #0000}@supports (color:color-mix(in lab, red, red)){:root{scrollbar-color:color-mix(in oklch, currentColor 35%, #0000) #0000}}@property --radialprogress{syntax:"";inherits:true;initial-value:0%}:root:not(span){overflow:var(--page-overflow)}:root{background:var(--page-scroll-bg,var(--root-bg));--page-scroll-bg-on:linear-gradient(var(--root-bg,#0000), var(--root-bg,#0000)) var(--root-bg,#0000)}@supports (color:color-mix(in lab, red, red)){:root{--page-scroll-bg-on:linear-gradient(var(--root-bg,#0000), var(--root-bg,#0000)) color-mix(in srgb, var(--root-bg,#0000), oklch(0% 0 0) calc(var(--page-has-backdrop,0) * 40%))}}:root{--page-scroll-transition-on:background-color .3s ease-out;transition:var(--page-scroll-transition);scrollbar-gutter:var(--page-scroll-gutter,unset);scrollbar-gutter:if(style(--page-has-scroll: 1): var(--page-scroll-gutter,unset) ; else: unset)}@keyframes set-page-has-scroll{0%,to{--page-has-scroll:1}}:root,[data-theme]{background:var(--page-scroll-bg,var(--root-bg));color:var(--color-base-content)}:where(:root,[data-theme]){--root-bg:var(--color-base-100)}:where(:root),:root:has(input.theme-controller[value=light]:checked),[data-theme=light]{color-scheme:light;--color-base-100:oklch(100% 0 0);--color-base-200:oklch(98% 0 0);--color-base-300:oklch(92% 0 0);--color-base-content:oklch(25% .006 285);--color-primary:oklch(25% .006 285);--color-primary-content:oklch(98% 0 0);--color-secondary:oklch(55% .046 257.417);--color-secondary-content:oklch(98% 0 0);--color-accent:oklch(96% 0 0);--color-accent-content:oklch(25% .006 285);--color-neutral:oklch(14% .005 285.823);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(74% .16 232);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(62% .17 163);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .18 84);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(60% .25 27);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.4rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}@media (prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--color-base-100:oklch(15% .005 285.823);--color-base-200:oklch(20% .005 285.823);--color-base-300:oklch(30% .005 285.823);--color-base-content:oklch(92% .004 286.32);--color-primary:oklch(98% 0 0);--color-primary-content:oklch(15% 0 0);--color-secondary:oklch(65% .046 257.417);--color-secondary-content:oklch(15% .005 285.823);--color-accent:oklch(25% 0 0);--color-accent-content:oklch(98% 0 0);--color-neutral:oklch(92% .004 286.32);--color-neutral-content:oklch(14% .005 285.823);--color-info:oklch(70% .1 230);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(65% .15 160);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(85% .15 90);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(55% .2 27);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.4rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}}:root:has(input.theme-controller[value=dark]:checked),[data-theme=dark]{color-scheme:dark;--color-base-100:oklch(15% .005 285.823);--color-base-200:oklch(20% .005 285.823);--color-base-300:oklch(30% .005 285.823);--color-base-content:oklch(92% .004 286.32);--color-primary:oklch(98% 0 0);--color-primary-content:oklch(15% 0 0);--color-secondary:oklch(65% .046 257.417);--color-secondary-content:oklch(15% .005 285.823);--color-accent:oklch(25% 0 0);--color-accent-content:oklch(98% 0 0);--color-neutral:oklch(92% .004 286.32);--color-neutral-content:oklch(14% .005 285.823);--color-info:oklch(70% .1 230);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(65% .15 160);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(85% .15 90);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(55% .2 27);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.4rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}}@layer components;@layer utilities{@layer daisyui.l1.l2.l3{.modal{pointer-events:none;visibility:hidden;width:100%;max-width:none;height:100%;max-height:none;color:inherit;transition:visibility .3s allow-discrete, background-color .3s ease-out, opacity .1s ease-out;overscroll-behavior:contain;z-index:999;scrollbar-gutter:auto;background-color:#0000;place-items:center;margin:0;padding:0;display:grid;position:fixed;inset:0;overflow:clip}.modal::backdrop{display:none}:where(.drawer-side){overflow:hidden}.drawer-side{pointer-events:none;visibility:hidden;z-index:10;overscroll-behavior:contain;opacity:0;width:100%;transition:opacity .2s ease-out .1s allow-discrete, visibility .3s ease-out .1s allow-discrete;inset-inline-start:0;background-color:#0000;grid-template-rows:repeat(1,minmax(0,1fr));grid-template-columns:repeat(1,minmax(0,1fr));grid-row-start:1;grid-column-start:1;place-items:flex-start start;height:100dvh;display:grid;position:fixed;top:0}.drawer-side>.drawer-overlay{cursor:pointer;background-color:oklch(0% 0 0/.4);place-self:stretch stretch;position:sticky;top:0}.drawer-side>*{grid-row-start:1;grid-column-start:1}.drawer-side>:not(.drawer-overlay){will-change:transform;transition:translate .3s ease-out,width .2s ease-out;translate:-100%}[dir=rtl] :is(.drawer-side>:not(.drawer-overlay)){translate:100%}.fab{pointer-events:none;z-index:999;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));white-space:nowrap;inset-inline-end:1rem;flex-direction:column-reverse;align-items:flex-end;gap:.5rem;display:flex;position:fixed;bottom:1rem}.fab>*{pointer-events:auto;align-items:center;gap:.5rem;display:flex}.fab>:hover,.fab>:has(:focus-visible){z-index:1}.fab>[tabindex]:first-child{transition-property:opacity,visibility,rotate;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);display:grid;position:relative}.fab .fab-close,.fab .fab-main-action{inset-inline-end:0;position:absolute;bottom:0}:is(.fab:focus-within:has(.fab-close),.fab:focus-within:has(.fab-main-action))>[tabindex]{opacity:0;rotate:90deg}.fab:focus-within>[tabindex]:first-child{pointer-events:none}.fab:focus-within>:nth-child(n+2){visibility:visible;--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y);opacity:1}.fab>:nth-child(n+2){visibility:hidden;--tw-scale-x:80%;--tw-scale-y:80%;--tw-scale-z:80%;scale:var(--tw-scale-x) var(--tw-scale-y);opacity:0;transition-property:opacity,scale,visibility;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.fab>:nth-child(n+2).fab-main-action,.fab>:nth-child(n+2).fab-close{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.fab>:nth-child(3){transition-delay:30ms}.fab>:nth-child(4){transition-delay:60ms}.fab>:nth-child(5){transition-delay:90ms}.fab>:nth-child(6){transition-delay:.12s}.drawer-toggle{appearance:none;opacity:0;width:0;height:0;position:fixed}:where(.drawer-toggle:checked~.drawer-side){scrollbar-color:currentColor oklch(0 0 0 / calc(var(--page-has-backdrop,0) * .4))}@supports (color:color-mix(in lab, red, red)){:where(.drawer-toggle:checked~.drawer-side){scrollbar-color:color-mix(in oklch, currentColor 35%, #0000) oklch(0 0 0 / calc(var(--page-has-backdrop,0) * .4))}}:where(:root:has(.drawer-toggle:checked)){--page-has-backdrop:1;--page-overflow:hidden;--page-scroll-bg:var(--page-scroll-bg-on);--page-scroll-gutter:stable;--page-scroll-transition:var(--page-scroll-transition-on);animation:forwards set-page-has-scroll;animation-timeline:scroll()}.tooltip{--tt-bg:var(--color-neutral);--tt-off:calc(100% + .5rem);--tt-tail:calc(100% + 1px + .25rem);display:inline-block;position:relative}.tooltip>.tooltip-content,.tooltip[data-tip]:before{border-radius:var(--radius-field);text-align:center;white-space:normal;max-width:20rem;color:var(--color-neutral-content);opacity:0;background-color:var(--tt-bg);pointer-events:none;z-index:2;--tw-content:attr(data-tip);content:var(--tw-content);width:max-content;padding-block:.25rem;padding-inline:.5rem;font-size:.875rem;line-height:1.25;position:absolute}.tooltip:after{opacity:0;background-color:var(--tt-bg);content:"";pointer-events:none;--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");width:.625rem;height:.25rem;-webkit-mask-position:-1px 0;mask-position:-1px 0;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-image:var(--mask-tooltip);-webkit-mask-image:var(--mask-tooltip);mask-image:var(--mask-tooltip);display:block;position:absolute}@media (prefers-reduced-motion:no-preference){.tooltip>.tooltip-content,.tooltip[data-tip]:before,.tooltip:after{transition:opacity .2s cubic-bezier(.4,0,.2,1) 75ms,transform .2s cubic-bezier(.4,0,.2,1) 75ms}}:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible))>.tooltip-content,:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible))[data-tip]:before,:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible)):after{opacity:1;--tt-pos:0rem}@media (prefers-reduced-motion:no-preference){:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible))>.tooltip-content,:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible))[data-tip]:before,:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible)):after{transition:opacity .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1)}}.tab{cursor:pointer;appearance:none;text-align:center;webkit-user-select:none;-webkit-user-select:none;user-select:none;flex-wrap:wrap;justify-content:center;align-items:center;display:inline-flex;position:relative}@media (hover:hover){.tab:hover{color:var(--color-base-content)}}.tab{--tab-p:.75rem;--tab-bg:var(--color-base-100);--tab-border-color:var(--color-base-300);--tab-radius-ss:0;--tab-radius-se:0;--tab-radius-es:0;--tab-radius-ee:0;--tab-order:0;--tab-radius-min:calc(.75rem - var(--border));--tab-radius-limit:min(var(--radius-field), var(--tab-radius-min));--tab-radius-grad:#0000 calc(69% - var(--border)), var(--tab-border-color) calc(69% - var(--border) + .25px), var(--tab-border-color) 69%, var(--tab-bg) calc(69% + .25px);order:var(--tab-order);height:var(--tab-height);padding-inline:var(--tab-p);border-color:#0000;font-size:.875rem}.tab:is(input[type=radio]){min-width:fit-content}.tab:is(input[type=radio]):after{--tw-content:attr(aria-label);content:var(--tw-content)}.tab:is(label){position:relative}.tab:is(label) input{cursor:pointer;appearance:none;opacity:0;position:absolute;inset:0}:is(.tab:checked,.tab:is(label:has(:checked)),.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]))+.tab-content{display:block}.tab:not(:checked,label:has(:checked),:hover,.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]){color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.tab:not(:checked,label:has(:checked),:hover,.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]){color:color-mix(in oklab, var(--color-base-content) 50%, transparent)}}.tab:not(input):empty{cursor:default;flex-grow:1}.tab:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.tab:focus{outline-offset:2px;outline:2px solid #0000}}.tab:focus-visible,.tab:is(label:has(:checked:focus-visible)){outline-offset:-5px;outline:2px solid}.tab[disabled]{pointer-events:none;opacity:.4}.tab\!{cursor:pointer!important;appearance:none!important;text-align:center!important;webkit-user-select:none!important;-webkit-user-select:none!important;user-select:none!important;flex-wrap:wrap!important;justify-content:center!important;align-items:center!important;display:inline-flex!important;position:relative!important}@media (hover:hover){.tab\!:hover{color:var(--color-base-content)!important}}.tab\!{--tab-p:.75rem!important;--tab-bg:var(--color-base-100)!important;--tab-border-color:var(--color-base-300)!important;--tab-radius-ss:0!important;--tab-radius-se:0!important;--tab-radius-es:0!important;--tab-radius-ee:0!important;--tab-order:0!important;--tab-radius-min:calc(.75rem - var(--border))!important;--tab-radius-limit:min(var(--radius-field), var(--tab-radius-min))!important;--tab-radius-grad:#0000 calc(69% - var(--border)), var(--tab-border-color) calc(69% - var(--border) + .25px), var(--tab-border-color) 69%, var(--tab-bg) calc(69% + .25px)!important;order:var(--tab-order)!important;height:var(--tab-height)!important;padding-inline:var(--tab-p)!important;border-color:#0000!important;font-size:.875rem!important}.tab\!:is(input[type=radio]){min-width:fit-content!important}.tab\!:is(input[type=radio]):after{--tw-content:attr(aria-label)!important;content:var(--tw-content)!important}.tab\!:is(label){position:relative!important}.tab\!:is(label) input{cursor:pointer!important;appearance:none!important;opacity:0!important;position:absolute!important;inset:0!important}:is(.tab\!:checked,.tab\!:is(label:has(:checked)),.tab\!:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]))+.tab-content{display:block!important}.tab\!:not(:checked,label:has(:checked),:hover,.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]){color:var(--color-base-content)!important}@supports (color:color-mix(in lab, red, red)){.tab\!:not(:checked,label:has(:checked),:hover,.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]){color:color-mix(in oklab, var(--color-base-content) 50%, transparent)!important}}.tab\!:not(input):empty{cursor:default!important;flex-grow:1!important}.tab\!:focus{--tw-outline-style:none!important;outline-style:none!important}@media (forced-colors:active){.tab\!:focus{outline-offset:2px!important;outline:2px solid #0000!important}}.tab\!:focus-visible,.tab\!:is(label:has(:checked:focus-visible)){outline-offset:-5px!important;outline:2px solid!important}.tab\![disabled]{pointer-events:none!important;opacity:.4!important}.menu{--menu-active-fg:var(--color-neutral-content);--menu-active-bg:var(--color-neutral);flex-flow:column wrap;width:fit-content;padding:.5rem;font-size:.875rem;display:flex}.menu :where(li ul){white-space:nowrap;margin-inline-start:1rem;padding-inline-start:.5rem;position:relative}.menu :where(li ul):before{background-color:var(--color-base-content);opacity:.1;width:var(--border);content:"";inset-inline-start:0;position:absolute;top:.75rem;bottom:.75rem}.menu :where(li>.menu-dropdown:not(.menu-dropdown-show)){display:none}.menu :where(li:not(.menu-title)>:not(ul,details,.menu-title,.btn)),.menu :where(li:not(.menu-title)>details>summary:not(.menu-title)){border-radius:var(--radius-field);text-align:start;text-wrap:balance;-webkit-user-select:none;user-select:none;grid-auto-columns:minmax(auto,max-content) auto max-content;grid-auto-flow:column;align-content:flex-start;align-items:center;gap:.5rem;padding-block:.375rem;padding-inline:.75rem;transition-property:color,background-color,box-shadow;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1);display:grid}.menu :where(li>details>summary){--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.menu :where(li>details>summary){outline-offset:2px;outline:2px solid #0000}}.menu :where(li>details>summary)::-webkit-details-marker{display:none}:is(.menu :where(li>details>summary),.menu :where(li>.menu-dropdown-toggle)):after{content:"";transform-origin:50%;pointer-events:none;justify-self:flex-end;width:.375rem;height:.375rem;transition-property:rotate,translate;transition-duration:.2s;display:block;translate:0 -1px;rotate:-135deg;box-shadow:inset 2px 2px}.menu details{interpolate-size:allow-keywords;overflow:hidden}.menu details::details-content{block-size:0}@media (prefers-reduced-motion:no-preference){.menu details::details-content{transition-behavior:allow-discrete;transition-property:block-size,content-visibility;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1)}}.menu details[open]::details-content{block-size:auto}.menu :where(li>details[open]>summary):after,.menu :where(li>.menu-dropdown-toggle.menu-dropdown-show):after{translate:0 1px;rotate:45deg}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn).menu-focus,.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn):focus-visible{cursor:pointer;background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn).menu-focus,.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn):focus-visible{background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn).menu-focus,.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn):focus-visible{color:var(--color-base-content);--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn).menu-focus,.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn):focus-visible{outline-offset:2px;outline:2px solid #0000}}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){cursor:pointer;background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){outline-offset:2px;outline:2px solid #0000}}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){box-shadow:inset 0 1px oklch(0% 0 0/.01),inset 0 -1px oklch(100% 0 0/.01)}.menu :where(li:empty){background-color:var(--color-base-content);opacity:.1;height:1px;margin:.5rem 1rem}.menu :where(li){flex-flow:column wrap;flex-shrink:0;align-items:stretch;display:flex;position:relative}.menu :where(li) .badge{justify-self:flex-end}.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active{outline-offset:2px;outline:2px solid #0000}}.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active{color:var(--menu-active-fg);background-color:var(--menu-active-bg);background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--fx-noise)}:is(.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active):not(:is(.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active):active){box-shadow:0 2px calc(var(--depth) * 3px) -2px var(--menu-active-bg)}.menu :where(li).menu-disabled{pointer-events:none;color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.menu :where(li).menu-disabled{color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.menu .dropdown:focus-within .menu-dropdown-toggle:after{translate:0 1px;rotate:45deg}.menu .dropdown-content{margin-top:.5rem;padding:.5rem}.menu .dropdown-content:before{display:none}.floating-label{display:block;position:relative}.floating-label input{display:block}.floating-label input::placeholder,.floating-label textarea::placeholder{transition:top .1s ease-out,translate .1s ease-out,scale .1s ease-out,opacity .1s ease-out}.floating-label>span{z-index:1;background-color:var(--color-base-100);opacity:0;inset-inline-start:.75rem;top:calc(var(--size-field,.25rem) * 10 / 2);pointer-events:none;border-radius:2px;padding-inline:.25rem;font-size:.875rem;line-height:1;transition:top .1s ease-out,translate .1s ease-out,scale .1s ease-out,opacity .1s ease-out;position:absolute;translate:0 -50%}:is(.floating-label:focus-within,.floating-label:not(:has(input:placeholder-shown,textarea:placeholder-shown))) ::placeholder{opacity:0;pointer-events:auto;top:0;translate:-12.5% calc(-50% - .125em);scale:.75}:is(.floating-label:focus-within,.floating-label:not(:has(input:placeholder-shown,textarea:placeholder-shown)))>span{opacity:1;pointer-events:auto;z-index:2;top:0;translate:-12.5% calc(-50% - .125em);scale:.75}.floating-label:has(:disabled,[disabled])>span{opacity:0}.floating-label:has(.input-xs,.select-xs,.textarea-xs) span{top:calc(var(--size-field,.25rem) * 6 / 2);font-size:.6875rem}.floating-label:has(.input-sm,.select-sm,.textarea-sm) span{top:calc(var(--size-field,.25rem) * 8 / 2);font-size:.75rem}.floating-label:has(.input-md,.select-md,.textarea-md) span{top:calc(var(--size-field,.25rem) * 10 / 2);font-size:.875rem}.floating-label:has(.input-lg,.select-lg,.textarea-lg) span{top:calc(var(--size-field,.25rem) * 12 / 2);font-size:1.125rem}.floating-label:has(.input-xl,.select-xl,.textarea-xl) span{top:calc(var(--size-field,.25rem) * 14 / 2);font-size:1.375rem}.dropdown{position-area:var(--anchor-v,bottom) var(--anchor-h,span-right);display:inline-block;position:relative}.dropdown>:not(:has(~[class*=dropdown-content])):focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.dropdown>:not(:has(~[class*=dropdown-content])):focus{outline-offset:2px;outline:2px solid #0000}}.dropdown .dropdown-content{position:absolute}.dropdown.dropdown-close .dropdown-content,.dropdown:not(details,.dropdown-open,.dropdown-hover:hover,:focus-within) .dropdown-content,.dropdown.dropdown-hover:not(:hover) [tabindex]:first-child:focus:not(:focus-visible)~.dropdown-content{transform-origin:top;opacity:0;display:none;scale:.95}.dropdown[popover],.dropdown .dropdown-content{z-index:999}@media (prefers-reduced-motion:no-preference){.dropdown[popover],.dropdown .dropdown-content{transition-behavior:allow-discrete;transition-property:opacity,scale,display;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);animation:.2s dropdown}}@starting-style{.dropdown[popover],.dropdown .dropdown-content{opacity:0;scale:.95}}:is(.dropdown:not(.dropdown-close).dropdown-open,.dropdown:not(.dropdown-close):not(.dropdown-hover):focus,.dropdown:not(.dropdown-close):focus-within)>[tabindex]:first-child{pointer-events:none}:is(.dropdown:not(.dropdown-close).dropdown-open,.dropdown:not(.dropdown-close):not(.dropdown-hover):focus,.dropdown:not(.dropdown-close):focus-within) .dropdown-content,.dropdown:not(.dropdown-close).dropdown-hover:hover .dropdown-content{opacity:1;scale:1}.dropdown:is(details) summary::-webkit-details-marker{display:none}.dropdown:where([popover]){background:0 0}.dropdown[popover]{color:inherit;position:fixed}@supports not (position-area:bottom){.dropdown[popover]{margin:auto}.dropdown[popover].dropdown-close{transform-origin:top;opacity:0;display:none;scale:.95}.dropdown[popover].dropdown-open:not(:popover-open){transform-origin:top;opacity:0;display:none;scale:.95}.dropdown[popover]::backdrop{background-color:oklab(0% none none/.3)}}:is(.dropdown[popover].dropdown-close,.dropdown[popover]:not(.dropdown-open,:popover-open)){transform-origin:top;opacity:0;display:none;scale:.95}:where(.btn){width:unset}.btn{cursor:pointer;text-align:center;vertical-align:middle;outline-offset:2px;webkit-user-select:none;-webkit-user-select:none;user-select:none;padding-inline:var(--btn-p);color:var(--btn-fg);--tw-prose-links:var(--btn-fg);height:var(--size);font-size:var(--fontsize,.875rem);outline-color:var(--btn-color,var(--color-base-content));background-color:var(--btn-bg);background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--btn-noise);border-width:var(--border);border-style:solid;border-color:var(--btn-border);text-shadow:0 .5px oklch(100% 0 0 / calc(var(--depth) * .15));touch-action:manipulation;box-shadow:0 .5px 0 .5px oklch(100% 0 0 / calc(var(--depth) * 6%)) inset, var(--btn-shadow);--size:calc(var(--size-field,.25rem) * 10);--btn-bg:var(--btn-color,var(--color-base-200));--btn-fg:var(--color-base-content);--btn-p:1rem;--btn-border:var(--btn-bg);border-start-start-radius:var(--join-ss,var(--radius-field));border-start-end-radius:var(--join-se,var(--radius-field));border-end-end-radius:var(--join-ee,var(--radius-field));border-end-start-radius:var(--join-es,var(--radius-field));flex-wrap:nowrap;flex-shrink:0;justify-content:center;align-items:center;gap:.375rem;font-weight:600;transition-property:color,background-color,border-color,box-shadow;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1);display:inline-flex}@supports (color:color-mix(in lab, red, red)){.btn{--btn-border:color-mix(in oklab, var(--btn-bg), #000 calc(var(--depth) * 5%))}}.btn{--btn-shadow:0 3px 2px -2px var(--btn-bg), 0 4px 3px -2px var(--btn-bg)}@supports (color:color-mix(in lab, red, red)){.btn{--btn-shadow:0 3px 2px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000), 0 4px 3px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000)}}.btn{--btn-noise:var(--fx-noise)}@media (hover:hover){.btn:hover{--btn-bg:var(--btn-color,var(--color-base-200))}@supports (color:color-mix(in lab, red, red)){.btn:hover{--btn-bg:color-mix(in oklab, var(--btn-color,var(--color-base-200)), #000 7%)}}}.btn:focus-visible,.btn:has(:focus-visible){isolation:isolate;outline-width:2px;outline-style:solid}.btn:active:not(.btn-active){--btn-bg:var(--btn-color,var(--color-base-200));translate:0 .5px}@supports (color:color-mix(in lab, red, red)){.btn:active:not(.btn-active){--btn-bg:color-mix(in oklab, var(--btn-color,var(--color-base-200)), #000 5%)}}.btn:active:not(.btn-active){--btn-border:var(--btn-color,var(--color-base-200))}@supports (color:color-mix(in lab, red, red)){.btn:active:not(.btn-active){--btn-border:color-mix(in oklab, var(--btn-color,var(--color-base-200)), #000 7%)}}.btn:active:not(.btn-active){--btn-shadow:0 0 0 0 oklch(0% 0 0/0), 0 0 0 0 oklch(0% 0 0/0)}.btn:is(input[type=checkbox],input[type=radio]){appearance:none}.btn:is(input[type=checkbox],input[type=radio])[aria-label]:after{--tw-content:attr(aria-label);content:var(--tw-content)}.btn:where(input:checked:not(.filter .btn)){--btn-color:var(--color-primary);--btn-fg:var(--color-primary-content);isolation:isolate}.loading{pointer-events:none;aspect-ratio:1;vertical-align:middle;width:calc(var(--size-selector,.25rem) * 6);background-color:currentColor;display:inline-block;-webkit-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");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");-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:100%;mask-size:100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.collapse{border-radius:var(--radius-box,1rem);isolation:isolate;grid-template-rows:max-content 0fr;grid-template-columns:minmax(0,1fr);width:100%;display:grid;position:relative;overflow:hidden}@media (prefers-reduced-motion:no-preference){.collapse{transition:grid-template-rows .2s}}.collapse>input:is([type=checkbox],[type=radio]){appearance:none;opacity:0;z-index:1;grid-row-start:1;grid-column-start:1;width:100%;min-height:1lh;padding:1rem;padding-inline-end:3rem;transition:background-color .2s ease-out}.collapse:is([open],[tabindex]:focus:not(.collapse-close),[tabindex]:focus-within:not(.collapse-close)),.collapse:not(.collapse-close):has(>input:is([type=checkbox],[type=radio]):checked){grid-template-rows:max-content 1fr}.collapse:is([open],[tabindex]:focus:not(.collapse-close),[tabindex]:focus-within:not(.collapse-close))>.collapse-content,.collapse:not(.collapse-close)>:where(input:is([type=checkbox],[type=radio]):checked~.collapse-content){content-visibility:visible;min-height:fit-content}@supports not (content-visibility:visible){.collapse:is([open],[tabindex]:focus:not(.collapse-close),[tabindex]:focus-within:not(.collapse-close))>.collapse-content,.collapse:not(.collapse-close)>:where(input:is([type=checkbox],[type=radio]):checked~.collapse-content){visibility:visible}}.collapse:focus-visible,.collapse:has(>input:is([type=checkbox],[type=radio]):focus-visible),.collapse:has(summary:focus-visible){outline-color:var(--color-base-content);outline-offset:2px;outline-width:2px;outline-style:solid}.collapse:not(.collapse-close)>input[type=checkbox],.collapse:not(.collapse-close)>input[type=radio]:not(:checked),.collapse:not(.collapse-close)>.collapse-title{cursor:pointer}:is(.collapse[tabindex]:focus:not(.collapse-close,.collapse[open]),.collapse[tabindex]:focus-within:not(.collapse-close,.collapse[open]))>.collapse-title{cursor:unset}.collapse:is([open],[tabindex]:focus:not(.collapse-close),[tabindex]:focus-within:not(.collapse-close))>:where(.collapse-content),.collapse:not(.collapse-close)>:where(input:is([type=checkbox],[type=radio]):checked~.collapse-content){padding-bottom:1rem}.collapse:is(details){width:100%}@media (prefers-reduced-motion:no-preference){.collapse:is(details)::details-content{transition:content-visibility .2s allow-discrete, visibility .2s allow-discrete, min-height .2s ease-out allow-discrete, padding .1s ease-out 20ms, background-color .2s ease-out, height .2s;interpolate-size:allow-keywords;height:0}.collapse:is(details):where([open])::details-content{height:auto}}.collapse:is(details) summary{display:block;position:relative}.collapse:is(details) summary::-webkit-details-marker{display:none}.collapse:is(details)>.collapse-content{content-visibility:visible}.collapse:is(details) summary{outline:none}.collapse-content{content-visibility:hidden;min-height:0;cursor:unset;grid-row-start:2;grid-column-start:1;padding-left:1rem;padding-right:1rem}@supports not (content-visibility:hidden){.collapse-content{visibility:hidden}}@media (prefers-reduced-motion:no-preference){.collapse-content{transition:content-visibility .2s allow-discrete, visibility .2s allow-discrete, min-height .2s ease-out allow-discrete, padding .1s ease-out 20ms, background-color .2s ease-out}}.radial-progress{height:var(--size);width:var(--size);vertical-align:middle;box-sizing:content-box;--value:0;--size:5rem;--thickness:calc(var(--size) / 10);--radialprogress:calc(var(--value) * 1%);background-color:#0000;border-radius:3.40282e38px;place-content:center;transition:--radialprogress .3s linear;display:inline-grid;position:relative}.radial-progress:before{content:"";background:radial-gradient(farthest-side, currentColor 98%, #0000) top/var(--thickness) var(--thickness) no-repeat, conic-gradient(currentColor var(--radialprogress), #0000 0);webkit-mask:radial-gradient(farthest-side, #0000 calc(100% - var(--thickness)), #000 calc(100% + .5px - var(--thickness)));-webkit-mask:radial-gradient(farthest-side, #0000 calc(100% - var(--thickness)), #000 calc(100% + .5px - var(--thickness)));-webkit-mask:radial-gradient(farthest-side, #0000 calc(100% - var(--thickness)), #000 calc(100% + .5px - var(--thickness)));mask:radial-gradient(farthest-side, #0000 calc(100% - var(--thickness)), #000 calc(100% + .5px - var(--thickness)));border-radius:3.40282e38px;position:absolute;inset:0}.radial-progress:after{content:"";inset:calc(50% - var(--thickness) / 2);transform:rotate(calc(var(--value) * 3.6deg - 90deg)) translate(calc(var(--size) / 2 - 50%));background-color:currentColor;border-radius:3.40282e38px;transition:transform .3s linear;position:absolute}.list{flex-direction:column;font-size:.875rem;display:flex}.list .list-row{--list-grid-cols:minmax(0, auto) 1fr;border-radius:var(--radius-box);word-break:break-word;grid-auto-flow:column;grid-template-columns:var(--list-grid-cols);gap:1rem;padding:1rem;display:grid;position:relative}:is(.list>:not(:last-child).list-row,.list>:not(:last-child) .list-row):after{content:"";border-bottom:var(--border) solid;inset-inline:var(--radius-box);border-color:var(--color-base-content);position:absolute;bottom:0}@supports (color:color-mix(in lab, red, red)){:is(.list>:not(:last-child).list-row,.list>:not(:last-child) .list-row):after{border-color:color-mix(in oklab, var(--color-base-content) 5%, transparent)}}.toggle{border:var(--border) solid currentColor;color:var(--input-color);cursor:pointer;appearance:none;vertical-align:middle;webkit-user-select:none;-webkit-user-select:none;user-select:none;--radius-selector-max:calc(var(--radius-selector) + var(--radius-selector) + var(--radius-selector));border-radius:calc(var(--radius-selector) + min(var(--toggle-p), var(--radius-selector-max)) + min(var(--border), var(--radius-selector-max)));padding:var(--toggle-p);flex-shrink:0;grid-template-columns:0fr 1fr 1fr;place-content:center;display:inline-grid;position:relative;box-shadow:inset 0 1px}@supports (color:color-mix(in lab, red, red)){.toggle{box-shadow:0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000) inset}}.toggle{--input-color:var(--color-base-content);transition:color .3s,grid-template-columns .2s}@supports (color:color-mix(in lab, red, red)){.toggle{--input-color:color-mix(in oklab, var(--color-base-content) 50%, #0000)}}.toggle{--toggle-p:calc(var(--size) * .125);--size:calc(var(--size-selector,.25rem) * 6);width:calc((var(--size) * 2) - (var(--border) + var(--toggle-p)) * 2);height:var(--size)}.toggle>*{z-index:1;cursor:pointer;appearance:none;background-color:#0000;border:none;grid-column:2/span 1;grid-row-start:1;height:100%;padding:.125rem;transition:opacity .2s,rotate .4s}.toggle>:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.toggle>:focus{outline-offset:2px;outline:2px solid #0000}}.toggle>:nth-child(2){color:var(--color-base-100);rotate:0deg}.toggle>:nth-child(3){color:var(--color-base-100);opacity:0;rotate:-15deg}.toggle:has(:checked)>:nth-child(2){opacity:0;rotate:15deg}.toggle:has(:checked)>:nth-child(3){opacity:1;rotate:0deg}.toggle:before{aspect-ratio:1;border-radius:var(--radius-selector);--tw-content:"";content:var(--tw-content);width:100%;height:100%;box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px currentColor;background-color:currentColor;grid-row-start:1;grid-column-start:2;transition:background-color .1s,translate .2s,inset-inline-start .2s;position:relative;inset-inline-start:0;translate:0}@supports (color:color-mix(in lab, red, red)){.toggle:before{box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000)}}.toggle:before{background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--fx-noise)}@media (forced-colors:active){.toggle:before{outline-style:var(--tw-outline-style);outline-offset:calc(1px * -1);outline-width:1px}}@media print{.toggle:before{outline-offset:-1rem;outline:.25rem solid}}.toggle:focus-visible,.toggle:has(:focus-visible){outline-offset:2px;outline:2px solid}.toggle:checked,.toggle[aria-checked=true],.toggle:has(>input:checked){background-color:var(--color-base-100);--input-color:var(--color-base-content);grid-template-columns:1fr 1fr 0fr}:is(.toggle:checked,.toggle[aria-checked=true],.toggle:has(>input:checked)):before{background-color:currentColor}@starting-style{:is(.toggle:checked,.toggle[aria-checked=true],.toggle:has(>input:checked)):before{opacity:0}}.toggle:indeterminate{grid-template-columns:.5fr 1fr .5fr}.toggle:disabled{cursor:not-allowed;opacity:.3}.toggle:disabled:before{border:var(--border) solid currentColor;background-color:#0000}.input{cursor:text;border:var(--border) solid #0000;appearance:none;background-color:var(--color-base-100);vertical-align:middle;white-space:nowrap;width:clamp(3rem,20rem,100%);height:var(--size);font-size:max(var(--font-size,.875rem), .875rem);touch-action:manipulation;border-color:var(--input-color);box-shadow:0 1px var(--input-color) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset;border-start-start-radius:var(--join-ss,var(--radius-field));border-start-end-radius:var(--join-se,var(--radius-field));border-end-end-radius:var(--join-ee,var(--radius-field));border-end-start-radius:var(--join-es,var(--radius-field));flex-shrink:1;align-items:center;gap:.5rem;padding-inline:.75rem;display:inline-flex;position:relative}@supports (color:color-mix(in lab, red, red)){.input{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) * .1)) inset}}.input{--size:calc(var(--size-field,.25rem) * 10);--input-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.input{--input-color:color-mix(in oklab, var(--color-base-content) 20%, #0000)}}.input:where(input){display:inline-flex}.input :where(input){appearance:none;background-color:#0000;border:none;width:100%;height:100%;display:inline-flex}.input :where(input):focus,.input :where(input):focus-within{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.input :where(input):focus,.input :where(input):focus-within{outline-offset:2px;outline:2px solid #0000}}.input :where(input[type=url]),.input :where(input[type=email]){direction:ltr}.input :where(input[type=date]){display:inline-flex}.input:focus,.input:focus-within{--input-color:var(--color-base-content);box-shadow:0 1px var(--input-color)}@supports (color:color-mix(in lab, red, red)){.input:focus,.input:focus-within{box-shadow:0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000)}}.input:focus,.input:focus-within{outline:2px solid var(--input-color);outline-offset:2px;isolation:isolate}@media (pointer:coarse){@supports (-webkit-touch-callout:none){.input:focus,.input:focus-within{--font-size:1rem}}}.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input{cursor:not-allowed;border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input{color:color-mix(in oklab, var(--color-base-content) 40%, transparent)}}:is(.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input)::placeholder{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:is(.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input)::placeholder{color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input{box-shadow:none}.input:has(>input[disabled])>input[disabled]{cursor:not-allowed}.input::-webkit-date-and-time-value{text-align:inherit}.input[type=number]::-webkit-inner-spin-button{margin-block:-.75rem;margin-inline-end:-.75rem}.input::-webkit-calendar-picker-indicator{position:absolute;inset-inline-end:.75em}.input:has(>input[type=date]) :where(input[type=date]){webkit-appearance:none;appearance:none;display:inline-flex}.input:has(>input[type=date]) input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;width:1em;height:1em;position:absolute;inset-inline-end:.75em}.indicator{width:max-content;display:inline-flex;position:relative}.indicator :where(.indicator-item){z-index:1;white-space:nowrap;top:var(--indicator-t,0);bottom:var(--indicator-b,auto);left:var(--indicator-s,auto);right:var(--indicator-e,0);translate:var(--indicator-x,50%) var(--indicator-y,-50%);position:absolute}.table{border-collapse:separate;--tw-border-spacing-x:calc(.25rem * 0);--tw-border-spacing-y:calc(.25rem * 0);width:100%;border-spacing:var(--tw-border-spacing-x) var(--tw-border-spacing-y);border-radius:var(--radius-box);text-align:left;font-size:.875rem;position:relative}.table:where(:dir(rtl),[dir=rtl],[dir=rtl] *){text-align:right}@media (hover:hover){:is(.table tr.row-hover,.table tr.row-hover:nth-child(2n)):hover{background-color:var(--color-base-200)}}.table :where(th,td){vertical-align:middle;padding-block:.75rem;padding-inline:1rem}.table :where(thead,tfoot){white-space:nowrap;color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.table :where(thead,tfoot){color:color-mix(in oklab, var(--color-base-content) 60%, transparent)}}.table :where(thead,tfoot){font-size:.875rem;font-weight:600}.table :where(tfoot tr:first-child :is(td,th)){border-top:var(--border) solid var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.table :where(tfoot tr:first-child :is(td,th)){border-top:var(--border) solid color-mix(in oklch, var(--color-base-content) 5%, #0000)}}.table :where(.table-pin-rows thead tr){z-index:1;background-color:var(--color-base-100);position:sticky;top:0}.table :where(.table-pin-rows tfoot tr){z-index:1;background-color:var(--color-base-100);position:sticky;bottom:0}.table :where(.table-pin-cols tr th){background-color:var(--color-base-100);position:sticky;left:0;right:0}.table :where(thead tr :is(td,th),tbody tr:not(:last-child) :is(td,th)){border-bottom:var(--border) solid var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.table :where(thead tr :is(td,th),tbody tr:not(:last-child) :is(td,th)){border-bottom:var(--border) solid color-mix(in oklch, var(--color-base-content) 5%, #0000)}}.steps{counter-reset:step;grid-auto-columns:1fr;grid-auto-flow:column;display:inline-grid;overflow:auto hidden}.steps .step{text-align:center;--step-bg:var(--color-base-300);--step-fg:var(--color-base-content);grid-template-rows:40px 1fr;grid-template-columns:auto;place-items:center;min-width:4rem;display:grid}.steps .step:before{width:100%;height:.5rem;color:var(--step-bg);background-color:var(--step-bg);content:"";border:1px solid;grid-row-start:1;grid-column-start:1;margin-inline-start:-100%;top:0}.steps .step>.step-icon,.steps .step:not(:has(.step-icon)):after{--tw-content:counter(step);content:var(--tw-content);counter-increment:step;z-index:1;color:var(--step-fg);background-color:var(--step-bg);border:1px solid var(--step-bg);border-radius:3.40282e38px;grid-row-start:1;grid-column-start:1;place-self:center;place-items:center;width:2rem;height:2rem;display:grid;position:relative}.steps .step:first-child:before{--tw-content:none;content:var(--tw-content)}.steps .step[data-content]:after{--tw-content:attr(data-content);content:var(--tw-content)}.range{appearance:none;webkit-appearance:none;--range-thumb:var(--color-base-100);--range-thumb-size:calc(var(--size-selector,.25rem) * 6);--range-progress:currentColor;--range-fill:1;--range-p:.25rem;--range-bg:currentColor}@supports (color:color-mix(in lab, red, red)){.range{--range-bg:color-mix(in oklab, currentColor 10%, #0000)}}.range{cursor:pointer;vertical-align:middle;--radius-selector-max:calc(var(--radius-selector) + var(--radius-selector) + var(--radius-selector));border-radius:calc(var(--radius-selector) + min(var(--range-p), var(--radius-selector-max)));width:clamp(3rem,20rem,100%);height:var(--range-thumb-size);background-color:#0000;border:none;overflow:hidden}[dir=rtl] .range{--range-dir:-1}.range:focus{outline:none}.range:focus-visible{outline-offset:2px;outline:2px solid}.range::-webkit-slider-runnable-track{background-color:var(--range-bg);border-radius:var(--radius-selector);width:100%;height:calc(var(--range-thumb-size) * .5)}@media (forced-colors:active){.range::-webkit-slider-runnable-track{border:1px solid}.range::-moz-range-track{border:1px solid}}.range::-webkit-slider-thumb{box-sizing:border-box;border-radius:calc(var(--radius-selector) + min(var(--range-p), var(--radius-selector-max)));background-color:var(--range-thumb);height:var(--range-thumb-size);width:var(--range-thumb-size);border:var(--range-p) solid;appearance:none;webkit-appearance:none;color:var(--range-progress);box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px currentColor, 0 0 0 2rem var(--range-thumb) inset, calc((var(--range-dir,1) * -100cqw) - (var(--range-dir,1) * var(--range-thumb-size) / 2)) 0 0 calc(100cqw * var(--range-fill));position:relative;top:50%;transform:translateY(-50%)}@supports (color:color-mix(in lab, red, red)){.range::-webkit-slider-thumb{box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000), 0 0 0 2rem var(--range-thumb) inset, calc((var(--range-dir,1) * -100cqw) - (var(--range-dir,1) * var(--range-thumb-size) / 2)) 0 0 calc(100cqw * var(--range-fill))}}.range::-moz-range-track{background-color:var(--range-bg);border-radius:var(--radius-selector);width:100%;height:calc(var(--range-thumb-size) * .5)}.range::-moz-range-thumb{box-sizing:border-box;border-radius:calc(var(--radius-selector) + min(var(--range-p), var(--radius-selector-max)));height:var(--range-thumb-size);width:var(--range-thumb-size);border:var(--range-p) solid;color:var(--range-progress);box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px currentColor, 0 0 0 2rem var(--range-thumb) inset, calc((var(--range-dir,1) * -100cqw) - (var(--range-dir,1) * var(--range-thumb-size) / 2)) 0 0 calc(100cqw * var(--range-fill));background-color:currentColor;position:relative;top:50%}@supports (color:color-mix(in lab, red, red)){.range::-moz-range-thumb{box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000), 0 0 0 2rem var(--range-thumb) inset, calc((var(--range-dir,1) * -100cqw) - (var(--range-dir,1) * var(--range-thumb-size) / 2)) 0 0 calc(100cqw * var(--range-fill))}}.range:disabled{cursor:not-allowed;opacity:.3}.chat-bubble{border-radius:var(--radius-field);background-color:var(--color-base-300);width:fit-content;color:var(--color-base-content);grid-row-end:3;min-width:2.5rem;max-width:90%;min-height:2rem;padding-block:.5rem;padding-inline:1rem;display:block;position:relative}.chat-bubble:before{background-color:inherit;content:"";width:.75rem;height:.75rem;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-image:var(--mask-chat);-webkit-mask-image:var(--mask-chat);mask-image:var(--mask-chat);position:absolute;bottom:0;-webkit-mask-position:0 -1px;mask-position:0 -1px;-webkit-mask-size:.8125rem;mask-size:.8125rem}.select{border:var(--border) solid #0000;appearance:none;background-color:var(--color-base-100);vertical-align:middle;width:clamp(3rem,20rem,100%);height:var(--size);touch-action:manipulation;white-space:nowrap;text-overflow:ellipsis;box-shadow:0 1px var(--input-color) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 20px) calc(1px + 50%),calc(100% - 16.1px) calc(1px + 50%);background-repeat:no-repeat;background-size:4px 4px,4px 4px;border-start-start-radius:var(--join-ss,var(--radius-field));border-start-end-radius:var(--join-se,var(--radius-field));border-end-end-radius:var(--join-ee,var(--radius-field));border-end-start-radius:var(--join-es,var(--radius-field));flex-shrink:1;align-items:center;gap:.375rem;padding-inline:.75rem 1.75rem;font-size:.875rem;display:inline-flex;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.select{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) * .1)) inset}}.select{border-color:var(--input-color);--input-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.select{--input-color:color-mix(in oklab, var(--color-base-content) 20%, #0000)}}.select{--size:calc(var(--size-field,.25rem) * 10)}[dir=rtl] .select{background-position:12px calc(1px + 50%),16px calc(1px + 50%)}[dir=rtl] .select::picker(select){translate:.5rem}[dir=rtl] .select select::picker(select){translate:.5rem}.select[multiple]{background-image:none;height:auto;padding-block:.75rem;padding-inline-end:.75rem;overflow:auto}.select select{appearance:none;width:calc(100% + 2.75rem);height:calc(100% - calc(var(--border) * 2));background:inherit;border-radius:inherit;border-style:none;align-items:center;margin-inline:-.75rem -1.75rem;padding-inline:.75rem 1.75rem}.select select:focus,.select select:focus-within{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.select select:focus,.select select:focus-within{outline-offset:2px;outline:2px solid #0000}}.select select:not(:last-child){background-image:none;margin-inline-end:-1.375rem}.select:focus,.select:focus-within{--input-color:var(--color-base-content);box-shadow:0 1px var(--input-color)}@supports (color:color-mix(in lab, red, red)){.select:focus,.select:focus-within{box-shadow:0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000)}}.select:focus,.select:focus-within{outline:2px solid var(--input-color);outline-offset:2px;isolation:isolate}.select:has(>select[disabled]),.select:is(:disabled,[disabled]),fieldset:disabled .select{cursor:not-allowed;border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.select:has(>select[disabled]),.select:is(:disabled,[disabled]),fieldset:disabled .select{color:color-mix(in oklab, var(--color-base-content) 40%, transparent)}}:is(.select:has(>select[disabled]),.select:is(:disabled,[disabled]),fieldset:disabled .select)::placeholder{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:is(.select:has(>select[disabled]),.select:is(:disabled,[disabled]),fieldset:disabled .select)::placeholder{color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.select:has(>select[disabled])>select[disabled]{cursor:not-allowed}@supports (appearance:base-select){.select,.select select{appearance:base-select}:is(.select,.select select)::picker(select){appearance:base-select}}:is(.select,.select select)::picker(select){color:inherit;border:var(--border) solid var(--color-base-200);border-radius:var(--radius-box);background-color:inherit;max-height:min(24rem,70dvh);box-shadow:0 2px calc(var(--depth) * 3px) -2px oklch(0% 0 0/.2);box-shadow:0 20px 25px -5px rgb(0 0 0/calc(var(--depth) * .1)), 0 8px 10px -6px rgb(0 0 0/calc(var(--depth) * .1));margin-block:.5rem;margin-inline:.5rem;padding:.5rem;translate:-.5rem}:is(.select,.select select)::picker-icon{display:none}:is(.select,.select select) optgroup{padding-top:.5em}:is(.select,.select select) optgroup option:first-child{margin-top:.5em}:is(.select,.select select) option{border-radius:var(--radius-field);white-space:normal;padding-block:.375rem;padding-inline:.75rem;transition-property:color,background-color;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1)}:is(.select,.select select) option:not(:disabled):hover,:is(.select,.select select) option:not(:disabled):focus-visible{cursor:pointer;background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:is(.select,.select select) option:not(:disabled):hover,:is(.select,.select select) option:not(:disabled):focus-visible{background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}:is(.select,.select select) option:not(:disabled):hover,:is(.select,.select select) option:not(:disabled):focus-visible{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){:is(.select,.select select) option:not(:disabled):hover,:is(.select,.select select) option:not(:disabled):focus-visible{outline-offset:2px;outline:2px solid #0000}}:is(.select,.select select) option:not(:disabled):active{background-color:var(--color-neutral);color:var(--color-neutral-content);box-shadow:0 2px calc(var(--depth) * 3px) -2px var(--color-neutral)}.timeline{display:flex;position:relative}.timeline>li{grid-template-rows:var(--timeline-row-start,minmax(0, 1fr)) auto var(--timeline-row-end,minmax(0, 1fr));grid-template-columns:var(--timeline-col-start,minmax(0, 1fr)) auto var(--timeline-col-end,minmax(0, 1fr));flex-shrink:0;align-items:center;display:grid;position:relative}.timeline>li>hr{border:none;width:100%}.timeline>li>hr:first-child{grid-row-start:2;grid-column-start:1}.timeline>li>hr:last-child{grid-area:2/3/auto/none}@media print{.timeline>li>hr{border:.1px solid var(--color-base-300)}}.timeline :where(hr){background-color:var(--color-base-300);height:.25rem}.timeline:has(.timeline-middle hr):first-child{border-start-start-radius:0;border-start-end-radius:var(--radius-selector);border-end-end-radius:var(--radius-selector);border-end-start-radius:0}.timeline:has(.timeline-middle hr):last-child,.timeline:not(:has(.timeline-middle)) :first-child hr:last-child{border-start-start-radius:var(--radius-selector);border-start-end-radius:0;border-end-end-radius:0;border-end-start-radius:var(--radius-selector)}.timeline:not(:has(.timeline-middle)) :last-child hr:first-child{border-start-start-radius:0;border-start-end-radius:var(--radius-selector);border-end-end-radius:var(--radius-selector);border-end-start-radius:0}.swap{cursor:pointer;vertical-align:middle;webkit-user-select:none;-webkit-user-select:none;user-select:none;place-content:center;display:inline-grid;position:relative}.swap input{appearance:none;border:none}.swap>*{grid-row-start:1;grid-column-start:1}@media (prefers-reduced-motion:no-preference){.swap>*{transition-property:transform,rotate,opacity;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1)}}.swap .swap-on,.swap .swap-indeterminate,.swap input:indeterminate~.swap-on,.swap input:is(:checked,:indeterminate)~.swap-off{opacity:0}.swap input:checked~.swap-on,.swap input:indeterminate~.swap-indeterminate{opacity:1;backface-visibility:visible}.collapse-title{grid-row-start:1;grid-column-start:1;width:100%;min-height:1lh;padding:1rem;padding-inline-end:3rem;transition:background-color .2s ease-out;position:relative}.avatar{vertical-align:middle;display:inline-flex;position:relative}.avatar>div{aspect-ratio:1;display:block;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.checkbox{border:var(--border) solid var(--input-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.checkbox{border:var(--border) solid var(--input-color,color-mix(in oklab, var(--color-base-content) 20%, #0000))}}.checkbox{cursor:pointer;appearance:none;border-radius:var(--radius-selector);vertical-align:middle;color:var(--color-base-content);box-shadow:0 1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 0 #0000 inset, 0 0 #0000;--size:calc(var(--size-selector,.25rem) * 6);width:var(--size);height:var(--size);background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--fx-noise);flex-shrink:0;padding:.25rem;transition:background-color .2s,box-shadow .2s;display:inline-block;position:relative}.checkbox:before{--tw-content:"";content:var(--tw-content);opacity:0;clip-path:polygon(20% 100%,20% 80%,50% 80%,50% 80%,70% 80%,70% 100%);width:100%;height:100%;box-shadow:0px 3px 0 0px oklch(100% 0 0 / calc(var(--depth) * .1)) inset;background-color:currentColor;font-size:1rem;line-height:.75;transition:clip-path .3s .1s,opacity .1s .1s,rotate .3s .1s,translate .3s .1s;display:block;rotate:45deg}.checkbox:focus-visible{outline:2px solid var(--input-color,currentColor);outline-offset:2px}.checkbox:checked,.checkbox[aria-checked=true]{background-color:var(--input-color,#0000);box-shadow:0 0 #0000 inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px oklch(0% 0 0 / calc(var(--depth) * .1))}:is(.checkbox:checked,.checkbox[aria-checked=true]):before{clip-path:polygon(20% 100%,20% 80%,50% 80%,50% 0%,70% 0%,70% 100%);opacity:1}@media (forced-colors:active){:is(.checkbox:checked,.checkbox[aria-checked=true]):before{--tw-content:"✔︎";clip-path:none;background-color:#0000;rotate:0deg}}@media print{:is(.checkbox:checked,.checkbox[aria-checked=true]):before{--tw-content:"✔︎";clip-path:none;background-color:#0000;rotate:0deg}}.checkbox:indeterminate{background-color:var(--input-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.checkbox:indeterminate{background-color:var(--input-color,color-mix(in oklab, var(--color-base-content) 20%, #0000))}}.checkbox:indeterminate:before{opacity:1;clip-path:polygon(20% 100%,20% 80%,50% 80%,50% 80%,80% 80%,80% 100%);translate:0 -35%;rotate:0deg}.radio{cursor:pointer;appearance:none;vertical-align:middle;border:var(--border) solid var(--input-color,currentColor);border-radius:3.40282e38px;flex-shrink:0;padding:.25rem;display:inline-block;position:relative}@supports (color:color-mix(in lab, red, red)){.radio{border:var(--border) solid var(--input-color,color-mix(in srgb, currentColor 20%, #0000))}}.radio{box-shadow:0 1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset;--size:calc(var(--size-selector,.25rem) * 6);width:var(--size);height:var(--size);color:var(--input-color,currentColor)}.radio:before{--tw-content:"";content:var(--tw-content);background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--fx-noise);border-radius:3.40282e38px;width:100%;height:100%;display:block}.radio:focus-visible{outline:2px solid}.radio:checked,.radio[aria-checked=true]{background-color:var(--color-base-100);border-color:currentColor}@media (prefers-reduced-motion:no-preference){.radio:checked,.radio[aria-checked=true]{animation:.2s ease-out radio}}:is(.radio:checked,.radio[aria-checked=true]):before{box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px oklch(0% 0 0 / calc(var(--depth) * .1));background-color:currentColor}@media (forced-colors:active){:is(.radio:checked,.radio[aria-checked=true]):before{outline-style:var(--tw-outline-style);outline-offset:calc(1px * -1);outline-width:1px}}@media print{:is(.radio:checked,.radio[aria-checked=true]):before{outline-offset:-1rem;outline:.25rem solid}}.rating{vertical-align:middle;display:inline-flex;position:relative}.rating input{appearance:none;border:none}.rating :where(*){background-color:var(--color-base-content);opacity:.2;border-radius:0;width:1.5rem;height:1.5rem}@media (prefers-reduced-motion:no-preference){.rating :where(*){animation:.25s ease-out rating}}.rating :where(*):is(input){cursor:pointer}.rating .rating-hidden{background-color:#0000;width:.5rem}.rating input[type=radio]:checked{background-image:none}.rating :checked,.rating [aria-checked=true],.rating [aria-current=true],.rating :has(~:checked,~[aria-checked=true],~[aria-current=true]){opacity:1}.rating :focus-visible{scale:1.1}@media (prefers-reduced-motion:no-preference){.rating :focus-visible{transition:scale .2s ease-out}}.rating :active:focus{animation:none;scale:1.1}.rating\!{vertical-align:middle!important;display:inline-flex!important;position:relative!important}.rating\! input{appearance:none!important;border:none!important}.rating\! :where(*){background-color:var(--color-base-content)!important;opacity:.2!important;border-radius:0!important;width:1.5rem!important;height:1.5rem!important}@media (prefers-reduced-motion:no-preference){.rating\! :where(*){animation:.25s ease-out rating!important}}.rating\! :where(*):is(input){cursor:pointer!important}.rating\! .rating-hidden{background-color:#0000!important;width:.5rem!important}.rating\! input[type=radio]:checked{background-image:none!important}.rating\! :checked,.rating\! [aria-checked=true],.rating\! [aria-current=true],.rating\! :has(~:checked,~[aria-checked=true],~[aria-current=true]){opacity:1!important}.rating\! :focus-visible{scale:1.1!important}@media (prefers-reduced-motion:no-preference){.rating\! :focus-visible{transition:scale .2s ease-out!important}}.rating\! :active:focus{animation:none!important;scale:1.1!important}.navbar{align-items:center;width:100%;min-height:4rem;padding:.5rem;display:flex}.drawer{grid-auto-columns:max-content auto;width:100%;display:grid;position:relative}.card{border-radius:var(--radius-box);outline-offset:2px;outline:0 solid #0000;flex-direction:column;transition:outline .2s ease-in-out;display:flex;position:relative}.card:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.card:focus{outline-offset:2px;outline:2px solid #0000}}.card:focus-visible{outline-color:currentColor}.card :where(figure:first-child){border-start-start-radius:inherit;border-start-end-radius:inherit;border-end-end-radius:unset;border-end-start-radius:unset;overflow:hidden}.card :where(figure:last-child){border-start-start-radius:unset;border-start-end-radius:unset;border-end-end-radius:inherit;border-end-start-radius:inherit;overflow:hidden}.card figure{justify-content:center;align-items:center;display:flex}.card:has(>input:is(input[type=checkbox],input[type=radio])){cursor:pointer;-webkit-user-select:none;user-select:none}.card:has(>:checked){outline:2px solid}.stats{border-radius:var(--radius-box);grid-auto-flow:column;display:inline-grid;position:relative;overflow-x:auto}.progress{appearance:none;border-radius:var(--radius-box);background-color:currentColor;width:100%;height:.5rem;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.progress{background-color:color-mix(in oklab, currentcolor 20%, transparent)}}.progress{color:var(--color-base-content)}.progress:indeterminate{background-image:repeating-linear-gradient(90deg,currentColor -1% 10%,#0000 10% 90%);background-position-x:15%;background-size:200%}@media (prefers-reduced-motion:no-preference){.progress:indeterminate{animation:5s ease-in-out infinite progress}}@supports ((-moz-appearance:none)){.progress:indeterminate::-moz-progress-bar{background-color:#0000}@media (prefers-reduced-motion:no-preference){.progress:indeterminate::-moz-progress-bar{background-image:repeating-linear-gradient(90deg,currentColor -1% 10%,#0000 10% 90%);background-position-x:15%;background-size:200%;animation:5s ease-in-out infinite progress}}.progress::-moz-progress-bar{border-radius:var(--radius-box);background-color:currentColor}}@supports ((-webkit-appearance:none)){.progress::-webkit-progress-bar{border-radius:var(--radius-box);background-color:#0000}.progress::-webkit-progress-value{border-radius:var(--radius-box);background-color:currentColor}}.textarea{border:var(--border) solid #0000;appearance:none;border-radius:var(--radius-field);background-color:var(--color-base-100);vertical-align:middle;width:clamp(3rem,20rem,100%);min-height:5rem;font-size:max(var(--font-size,.875rem), .875rem);touch-action:manipulation;border-color:var(--input-color);box-shadow:0 1px var(--input-color) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset;flex-shrink:1;padding-block:.5rem;padding-inline:.75rem}@supports (color:color-mix(in lab, red, red)){.textarea{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) * .1)) inset}}.textarea{--input-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.textarea{--input-color:color-mix(in oklab, var(--color-base-content) 20%, #0000)}}.textarea textarea{appearance:none;background-color:#0000;border:none}.textarea textarea:focus,.textarea textarea:focus-within{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.textarea textarea:focus,.textarea textarea:focus-within{outline-offset:2px;outline:2px solid #0000}}.textarea:focus,.textarea:focus-within{--input-color:var(--color-base-content);box-shadow:0 1px var(--input-color)}@supports (color:color-mix(in lab, red, red)){.textarea:focus,.textarea:focus-within{box-shadow:0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000)}}.textarea:focus,.textarea:focus-within{outline:2px solid var(--input-color);outline-offset:2px;isolation:isolate}@media (pointer:coarse){@supports (-webkit-touch-callout:none){.textarea:focus,.textarea:focus-within{--font-size:1rem}}}.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]){cursor:not-allowed;border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]){color:color-mix(in oklab, var(--color-base-content) 40%, transparent)}}:is(.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]))::placeholder{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:is(.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]))::placeholder{color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]){box-shadow:none}.textarea:has(>textarea[disabled])>textarea[disabled]{cursor:not-allowed}.stack{grid-template-rows:3px 4px 1fr 4px 3px;grid-template-columns:3px 4px 1fr 4px 3px;display:inline-grid}.stack>*{width:100%;height:100%}.stack>:nth-child(n+2){opacity:.7;width:100%}.stack>:nth-child(2){z-index:2;opacity:.9}.stack>:first-child{z-index:3;width:100%}.modal-backdrop{color:#0000;z-index:-1;grid-row-start:1;grid-column-start:1;place-self:stretch stretch;display:grid}.modal-backdrop button{cursor:pointer}.tab-content{order:var(--tabcontent-order);--tabcontent-radius-ss:var(--radius-box);--tabcontent-radius-se:var(--radius-box);--tabcontent-radius-es:var(--radius-box);--tabcontent-radius-ee:var(--radius-box);--tabcontent-order:1;width:100%;height:calc(100% - var(--tab-height) + var(--border));margin:var(--tabcontent-margin);border-color:#0000;border-width:var(--border);border-start-start-radius:var(--tabcontent-radius-ss);border-start-end-radius:var(--tabcontent-radius-se);border-end-end-radius:var(--tabcontent-radius-ee);border-end-start-radius:var(--tabcontent-radius-es);display:none}.timeline-end{grid-area:3/1/4/4;place-self:flex-start center;margin:.25rem}.timeline-start{grid-area:1/1/2/4;place-self:flex-end center;margin:.25rem}.stat-figure{grid-row:1/span 3;grid-column-start:2;place-self:center flex-end}.modal-box{background-color:var(--color-base-100);border-top-left-radius:var(--modal-tl,var(--radius-box));border-top-right-radius:var(--modal-tr,var(--radius-box));border-bottom-left-radius:var(--modal-bl,var(--radius-box));border-bottom-right-radius:var(--modal-br,var(--radius-box));opacity:0;overscroll-behavior:contain;grid-row-start:1;grid-column-start:1;width:91.6667%;max-width:32rem;max-height:100vh;padding:1.5rem;transition:translate .3s ease-out,scale .3s ease-out,opacity .2s ease-out 50ms,box-shadow .3s ease-out;overflow-y:auto;scale:.95;box-shadow:0 25px 50px -12px oklch(0% 0 0/.25)}.drawer-content{grid-row-start:1;grid-column-start:2;min-width:0}.timeline-middle{grid-row-start:2;grid-column-start:2}.stat-value{white-space:nowrap;grid-column-start:1;font-size:2rem;font-weight:800}.stat-desc{white-space:nowrap;color:var(--color-base-content);grid-column-start:1}@supports (color:color-mix(in lab, red, red)){.stat-desc{color:color-mix(in oklab, var(--color-base-content) 60%, transparent)}}.stat-desc{font-size:.75rem}.stat-title{white-space:nowrap;color:var(--color-base-content);grid-column-start:1}@supports (color:color-mix(in lab, red, red)){.stat-title{color:color-mix(in oklab, var(--color-base-content) 60%, transparent)}}.stat-title{font-size:.75rem}.stat-actions{white-space:nowrap;grid-column-start:1}.chat-image{grid-row:span 2/span 2;align-self:flex-end}.chat-footer{grid-row-start:3;gap:.25rem;font-size:.6875rem;display:flex}.chat-header{grid-row-start:1;gap:.25rem;font-size:.6875rem;display:flex}.divider{white-space:nowrap;height:1rem;margin:var(--divider-m,1rem 0);--divider-color:var(--color-base-content);flex-direction:row;align-self:stretch;align-items:center;display:flex}@supports (color:color-mix(in lab, red, red)){.divider{--divider-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}.divider:before,.divider:after{content:"";background-color:var(--divider-color);flex-grow:1;width:100%;height:.125rem}@media print{.divider:before,.divider:after{border:.5px solid}}.divider:not(:empty){gap:1rem}.filter{flex-wrap:wrap;display:flex}.filter input[type=radio]{width:auto}.filter input{opacity:1;transition:margin .1s,opacity .3s,padding .3s,border-width .1s;overflow:hidden;scale:1}.filter input:not(:last-child){margin-inline-end:.25rem}.filter input.filter-reset{aspect-ratio:1}.filter input.filter-reset:after{--tw-content:"×";content:var(--tw-content)}.filter:not(:has(input:checked:not(.filter-reset))) .filter-reset,.filter:not(:has(input:checked:not(.filter-reset))) input[type=reset],.filter:has(input:checked:not(.filter-reset)) input:not(:checked,.filter-reset,input[type=reset]){opacity:0;border-width:0;width:0;margin-inline:0;padding-inline:0;scale:0}.label{white-space:nowrap;color:currentColor;align-items:center;gap:.375rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.label{color:color-mix(in oklab, currentcolor 60%, transparent)}}.label:has(input){cursor:pointer}.label:is(.input>*,.select>*){white-space:nowrap;height:calc(100% - .5rem);font-size:inherit;align-items:center;padding-inline:.75rem;display:flex}.label:is(.input>*,.select>*):first-child{border-inline-end:var(--border) solid currentColor;margin-inline:-.75rem .75rem}@supports (color:color-mix(in lab, red, red)){.label:is(.input>*,.select>*):first-child{border-inline-end:var(--border) solid color-mix(in oklab, currentColor 10%, #0000)}}.label:is(.input>*,.select>*):last-child{border-inline-start:var(--border) solid currentColor;margin-inline:.75rem -.75rem}@supports (color:color-mix(in lab, red, red)){.label:is(.input>*,.select>*):last-child{border-inline-start:var(--border) solid color-mix(in oklab, currentColor 10%, #0000)}}.modal-action{justify-content:flex-end;gap:.5rem;margin-top:1.5rem;display:flex}.fieldset-legend{color:var(--color-base-content);justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:-.25rem;padding-block:.5rem;font-weight:600;display:flex}.carousel-item{box-sizing:content-box;scroll-snap-align:start;flex:none;display:flex}.status{aspect-ratio:1;border-radius:var(--radius-selector);background-color:var(--color-base-content);width:.5rem;height:.5rem;display:inline-block}@supports (color:color-mix(in lab, red, red)){.status{background-color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.status{vertical-align:middle;color:#0000004d;background-position:50%;background-repeat:no-repeat}@supports (color:color-mix(in lab, red, red)){.status{color:color-mix(in oklab, var(--color-black) 30%, transparent)}}.status{background-image:radial-gradient(circle at 35% 30%, oklch(1 0 0 / calc(var(--depth) * .5)), #0000);box-shadow:0 2px 3px -1px}@supports (color:color-mix(in lab, red, red)){.status{box-shadow:0 2px 3px -1px color-mix(in oklab, currentColor calc(var(--depth) * 100%), #0000)}}.badge{border-radius:var(--radius-selector);vertical-align:middle;color:var(--badge-fg);border:var(--border) solid var(--badge-color,var(--color-base-200));background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--fx-noise);background-color:var(--badge-bg);--badge-bg:var(--badge-color,var(--color-base-100));--badge-fg:var(--color-base-content);--size:calc(var(--size-selector,.25rem) * 6);width:fit-content;height:var(--size);padding-inline:calc(var(--size) / 2 - var(--border));justify-content:center;align-items:center;gap:.5rem;font-size:.875rem;display:inline-flex}.kbd{border-radius:var(--radius-field);background-color:var(--color-base-200);vertical-align:middle;border:var(--border) solid var(--color-base-content);justify-content:center;align-items:center;padding-inline:.5em;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.kbd{border:var(--border) solid color-mix(in srgb, var(--color-base-content) 20%, #0000)}}.kbd{border-bottom:calc(var(--border) + 1px) solid var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.kbd{border-bottom:calc(var(--border) + 1px) solid color-mix(in srgb, var(--color-base-content) 20%, #0000)}}.kbd{--size:calc(var(--size-selector,.25rem) * 6);height:var(--size);min-width:var(--size);font-size:.875rem}.text-rotate{vertical-align:bottom;white-space:nowrap;--duration:var(--tw-duration);transition-property:none;display:inline-block;overflow:hidden}.text-rotate>*{height:calc(var(--items,1) * 100%);justify-items:start;display:grid}.text-rotate>:has(:nth-child(2)){--items:2;animation:rotator var(--duration,10s) linear(0 0% 49%, .5 50% 99%, 1 100% 100%) infinite}.text-rotate>:has(:nth-child(3)){--items:3;animation:rotator var(--duration,10s) linear(0 0% 32%, .333333 33% 65%, .666666 66% 99%, 1 100% 100%) infinite}.text-rotate>:has(:nth-child(4)){--items:4;animation:rotator var(--duration,10s) linear(0 0% 24%, .25 25% 49%, .5 50% 74%, .75 75% 99%, 1 100% 100%) infinite}.text-rotate>:has(:nth-child(5)){--items:5;animation:rotator var(--duration,10s) linear(0 0% 19%, .2 20% 39%, .4 40% 59%, .6 60% 79%, .8 80% 99%, 1 100% 100%) infinite}.text-rotate>:has(:nth-child(6)){--items:6;animation:rotator var(--duration,10s) linear(0 0% 15%, .16666 16% 32%, .333333 33% 49%, .5 50% 65%, .666666 66% 82%, .833333 83% 99%, 1 100% 100%) infinite}.text-rotate>*>*{clip-path:inset(.5px 0);align-content:baseline}.text-rotate>*>:first-child{translate:var(--first-item-position)}.text-rotate:hover>*{animation-play-state:paused}.tabs{--tabs-height:auto;--tabs-direction:row;--tab-height:calc(var(--size-field,.25rem) * 10);height:var(--tabs-height);flex-wrap:wrap;flex-direction:var(--tabs-direction);display:flex}.footer{grid-auto-flow:row;place-items:start;gap:2.5rem 1rem;width:100%;font-size:.875rem;line-height:1.25rem;display:grid}.footer>*{place-items:start;gap:.5rem;display:grid}.footer.footer-center{text-align:center;grid-auto-flow:column dense;place-items:center}.footer.footer-center>*{place-items:center}.stat{grid-template-columns:repeat(1,1fr);column-gap:1rem;width:100%;padding-block:1rem;padding-inline:1.5rem;display:inline-grid}.stat:not(:last-child){border-inline-end:var(--border) dashed currentColor}@supports (color:color-mix(in lab, red, red)){.stat:not(:last-child){border-inline-end:var(--border) dashed color-mix(in oklab, currentColor 10%, #0000)}}.stat:not(:last-child){border-block-end:none}.navbar-end{justify-content:flex-end;align-items:center;width:50%;display:inline-flex}.navbar-start{justify-content:flex-start;align-items:center;width:50%;display:inline-flex}.card-body{padding:var(--card-p,1.5rem);font-size:var(--card-fs,.875rem);flex-direction:column;flex:auto;gap:.5rem;display:flex}.card-body :where(p){flex-grow:1}.navbar-center{flex-shrink:0;align-items:center;display:inline-flex}.fieldset-label{color:var(--color-base-content);align-items:center;gap:.375rem;display:flex}@supports (color:color-mix(in lab, red, red)){.fieldset-label{color:color-mix(in oklab, var(--color-base-content) 60%, transparent)}}.fieldset-label:has(input){cursor:pointer}.carousel{scroll-snap-type:x mandatory;scrollbar-width:none;display:inline-flex;overflow-x:scroll}@media (prefers-reduced-motion:no-preference){.carousel{scroll-behavior:smooth}}.carousel::-webkit-scrollbar{display:none}.alert{--alert-border-color:var(--color-base-200);border-radius:var(--radius-box);color:var(--color-base-content);background-color:var(--alert-color,var(--color-base-200));text-align:start;background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--fx-noise);box-shadow:0 3px 0 -2px oklch(100% 0 0 / calc(var(--depth) * .08)) inset, 0 1px #000, 0 4px 3px -2px oklch(0% 0 0 / calc(var(--depth) * .08));border-style:solid;grid-template-columns:auto;grid-auto-flow:column;justify-content:start;place-items:center start;gap:1rem;padding-block:.75rem;padding-inline:1rem;font-size:.875rem;line-height:1.25rem;display:grid}@supports (color:color-mix(in lab, red, red)){.alert{box-shadow:0 3px 0 -2px oklch(100% 0 0 / calc(var(--depth) * .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) * .08))}}.alert:has(:nth-child(2)){grid-template-columns:auto minmax(auto,1fr)}.fieldset{grid-template-columns:1fr;grid-auto-rows:max-content;gap:.375rem;padding-block:.25rem;font-size:.75rem;display:grid}.chat{--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");grid-auto-rows:min-content;column-gap:.75rem;padding-block:.25rem;display:grid}.card-actions{flex-wrap:wrap;align-items:flex-start;gap:.5rem;display:flex}.card-title{font-size:var(--cardtitle-fs,1.125rem);align-items:center;gap:.5rem;font-weight:600;display:flex}.mask{vertical-align:middle;display:inline-block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.skeleton{border-radius:var(--radius-box);background-color:var(--color-base-300)}@media (prefers-reduced-motion:reduce){.skeleton{transition-duration:15s}}.skeleton{will-change:background-position;background-image:linear-gradient(105deg, #0000 0% 40%, var(--color-base-100) 50%, #0000 60% 100%);background-position-x:-50%;background-size:200%}@media (prefers-reduced-motion:no-preference){.skeleton{animation:1.8s ease-in-out infinite skeleton}}.timeline-box{border:var(--border) solid;border-radius:var(--radius-box);border-color:var(--color-base-300);background-color:var(--color-base-100);padding-block:.5rem;padding-inline:1rem;font-size:.75rem;box-shadow:0 1px 2px oklch(0% 0 0/.05)}.btn-accent{--btn-color:var(--color-accent);--btn-fg:var(--color-accent-content)}.btn-error{--btn-color:var(--color-error);--btn-fg:var(--color-error-content)}.btn-info{--btn-color:var(--color-info);--btn-fg:var(--color-info-content)}.btn-neutral{--btn-color:var(--color-neutral);--btn-fg:var(--color-neutral-content)}.btn-primary{--btn-color:var(--color-primary);--btn-fg:var(--color-primary-content)}.btn-secondary{--btn-color:var(--color-secondary);--btn-fg:var(--color-secondary-content)}.btn-success{--btn-color:var(--color-success);--btn-fg:var(--color-success-content)}.btn-warning{--btn-color:var(--color-warning);--btn-fg:var(--color-warning-content)}}@layer daisyui.l1.l2{.modal.modal-open,.modal[open],.modal:target,.modal-toggle:checked+.modal{pointer-events:auto;visibility:visible;opacity:1;transition:visibility 0s allow-discrete, background-color .3s ease-out, opacity .1s ease-out;background-color:oklch(0% 0 0/.4)}:is(.modal.modal-open,.modal[open],.modal:target,.modal-toggle:checked+.modal) .modal-box{opacity:1;translate:0;scale:1}:root:has(:is(.modal.modal-open,.modal[open],.modal:target,.modal-toggle:checked+.modal)){--page-has-backdrop:1;--page-overflow:hidden;--page-scroll-bg:var(--page-scroll-bg-on);--page-scroll-gutter:stable;--page-scroll-transition:var(--page-scroll-transition-on);animation:forwards set-page-has-scroll;animation-timeline:scroll()}@starting-style{.modal.modal-open,.modal[open],.modal:target,.modal-toggle:checked+.modal{opacity:0}}:where(.drawer-toggle:checked~.drawer-side){pointer-events:auto;visibility:visible;opacity:1;overflow-y:auto}:where(.drawer-toggle:checked~.drawer-side)>:not(.drawer-overlay){translate:0%}.drawer-toggle:focus-visible~.drawer-content label.drawer-button{outline-offset:2px;outline:2px solid}.tooltip>.tooltip-content,.tooltip[data-tip]:before{transform:translateX(-50%) translateY(var(--tt-pos,.25rem));inset:auto auto var(--tt-off) 50%}.tooltip:after{transform:translateX(-50%) translateY(var(--tt-pos,.25rem));inset:auto auto var(--tt-tail) 50%}.collapse-arrow>.collapse-title:after{width:.5rem;height:.5rem;display:block;position:absolute;transform:translateY(-100%)rotate(45deg)}@media (prefers-reduced-motion:no-preference){.collapse-arrow>.collapse-title:after{transition-property:all;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1)}}.collapse-arrow>.collapse-title:after{content:"";transform-origin:75% 75%;pointer-events:none;top:50%;inset-inline-end:1.4rem;box-shadow:2px 2px}.btn:disabled:not(.btn-link,.btn-ghost){background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn:disabled:not(.btn-link,.btn-ghost){background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}.btn:disabled:not(.btn-link,.btn-ghost){box-shadow:none}.btn:disabled{pointer-events:none;--btn-border:#0000;--btn-noise:none;--btn-fg:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn:disabled{--btn-fg:color-mix(in oklch, var(--color-base-content) 20%, #0000)}}.btn[disabled]:not(.btn-link,.btn-ghost){background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn[disabled]:not(.btn-link,.btn-ghost){background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}.btn[disabled]:not(.btn-link,.btn-ghost){box-shadow:none}.btn[disabled]{pointer-events:none;--btn-border:#0000;--btn-noise:none;--btn-fg:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn[disabled]{--btn-fg:color-mix(in oklch, var(--color-base-content) 20%, #0000)}}.btn-disabled:not(.btn-link,.btn-ghost){background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn-disabled:not(.btn-link,.btn-ghost){background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}.btn-disabled:not(.btn-link,.btn-ghost){box-shadow:none}.btn-disabled{pointer-events:none;--btn-border:#0000;--btn-noise:none;--btn-fg:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn-disabled{--btn-fg:color-mix(in oklch, var(--color-base-content) 20%, #0000)}}.tab-disabled{pointer-events:none;opacity:.4}@media (prefers-reduced-motion:no-preference){.collapse[open].collapse-arrow>.collapse-title:after,.collapse.collapse-open.collapse-arrow>.collapse-title:after{transform:translateY(-50%)rotate(225deg)}}.collapse.collapse-open.collapse-plus>.collapse-title:after{--tw-content:"−";content:var(--tw-content)}:is(.collapse[tabindex].collapse-arrow:focus:not(.collapse-close),.collapse.collapse-arrow[tabindex]:focus-within:not(.collapse-close))>.collapse-title:after,.collapse.collapse-arrow:not(.collapse-close)>input:is([type=checkbox],[type=radio]):checked~.collapse-title:after{transform:translateY(-50%)rotate(225deg)}.collapse[open].collapse-plus>.collapse-title:after,.collapse[tabindex].collapse-plus:focus:not(.collapse-close)>.collapse-title:after,.collapse.collapse-plus:not(.collapse-close)>input:is([type=checkbox],[type=radio]):checked~.collapse-title:after{--tw-content:"−";content:var(--tw-content)}.tabs-lift{--tabs-height:auto;--tabs-direction:row}.tabs-lift>.tab{--tab-border:0 0 var(--border) 0;--tab-radius-ss:var(--tab-radius-limit);--tab-radius-se:var(--tab-radius-limit);--tab-radius-es:0;--tab-radius-ee:0;--tab-paddings:var(--border) var(--tab-p) 0 var(--tab-p);--tab-border-colors:#0000 #0000 var(--tab-border-color) #0000;--tab-corner-width:calc(100% + var(--tab-radius-limit) * 2);--tab-corner-height:var(--tab-radius-limit);--tab-corner-position:top left, top right;border-width:var(--tab-border);padding:var(--tab-paddings);border-color:var(--tab-border-colors);border-start-start-radius:var(--tab-radius-ss);border-start-end-radius:var(--tab-radius-se);border-end-end-radius:var(--tab-radius-ee);border-end-start-radius:var(--tab-radius-es)}.tabs-lift>.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-lift>.tab:is(input:checked,label:has(:checked)){--tab-border:var(--border) var(--border) 0 var(--border);--tab-border-colors:var(--tab-border-color) var(--tab-border-color) #0000 var(--tab-border-color);--tab-paddings:0 calc(var(--tab-p) - var(--border)) var(--border) calc(var(--tab-p) - var(--border));--tab-inset:auto auto 0 auto;--radius-start:radial-gradient(circle at top left, var(--tab-radius-grad));--radius-end:radial-gradient(circle at top right, var(--tab-radius-grad));background-color:var(--tab-bg)}:is(.tabs-lift>.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-lift>.tab:is(input:checked,label:has(:checked))):before{z-index:1;content:"";width:var(--tab-corner-width);height:var(--tab-corner-height);background-position:var(--tab-corner-position);background-image:var(--radius-start), var(--radius-end);background-size:var(--tab-radius-limit) var(--tab-radius-limit);inset:var(--tab-inset);background-repeat:no-repeat;display:block;position:absolute}:is(.tabs-lift>.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-lift>.tab:is(input:checked,label:has(:checked))):first-child:before{--radius-start:none}[dir=rtl] :is(.tabs-lift>.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-lift>.tab:is(input:checked,label:has(:checked))):first-child:before{transform:rotateY(180deg)}:is(.tabs-lift>.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-lift>.tab:is(input:checked,label:has(:checked))):last-child:before{--radius-end:none}[dir=rtl] :is(.tabs-lift>.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-lift>.tab:is(input:checked,label:has(:checked))):last-child:before{transform:rotateY(180deg)}.tabs-lift:has(>.tab-content)>.tab:first-child:not(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]){--tab-border-colors:var(--tab-border-color) var(--tab-border-color) #0000 var(--tab-border-color)}.tabs-lift>.tab-content{--tabcontent-margin:calc(-1 * var(--border)) 0 0 0;--tabcontent-radius-ss:0;--tabcontent-radius-se:var(--radius-box);--tabcontent-radius-es:var(--radius-box);--tabcontent-radius-ee:var(--radius-box)}:is(.tabs-lift :checked,.tabs-lift label:has(:checked),.tabs-lift :is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]))+.tab-content:first-child,:is(.tabs-lift :checked,.tabs-lift label:has(:checked),.tabs-lift :is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]))+.tab-content:nth-child(n+3){--tabcontent-radius-ss:var(--radius-box)}.list .list-row:has(.list-col-grow:first-child){--list-grid-cols:1fr}.list .list-row:has(.list-col-grow:nth-child(2)){--list-grid-cols:minmax(0, auto) 1fr}.list .list-row:has(.list-col-grow:nth-child(3)){--list-grid-cols:minmax(0, auto) minmax(0, auto) 1fr}.list .list-row:has(.list-col-grow:nth-child(4)){--list-grid-cols:minmax(0, auto) minmax(0, auto) minmax(0, auto) 1fr}.list .list-row:has(.list-col-grow:nth-child(5)){--list-grid-cols:minmax(0, auto) minmax(0, auto) minmax(0, auto) minmax(0, auto) 1fr}.list .list-row:has(.list-col-grow:nth-child(6)){--list-grid-cols:minmax(0, auto) minmax(0, auto) minmax(0, auto) minmax(0, auto) minmax(0, auto) 1fr}.list .list-row>*{grid-row-start:1}.steps .step-neutral+.step-neutral:before,.steps .step-neutral:after,.steps .step-neutral>.step-icon{--step-bg:var(--color-neutral);--step-fg:var(--color-neutral-content)}.steps .step-primary+.step-primary:before,.steps .step-primary:after,.steps .step-primary>.step-icon{--step-bg:var(--color-primary);--step-fg:var(--color-primary-content)}.steps .step-secondary+.step-secondary:before,.steps .step-secondary:after,.steps .step-secondary>.step-icon{--step-bg:var(--color-secondary);--step-fg:var(--color-secondary-content)}.steps .step-accent+.step-accent:before,.steps .step-accent:after,.steps .step-accent>.step-icon{--step-bg:var(--color-accent);--step-fg:var(--color-accent-content)}.steps .step-info+.step-info:before,.steps .step-info:after,.steps .step-info>.step-icon{--step-bg:var(--color-info);--step-fg:var(--color-info-content)}.steps .step-success+.step-success:before,.steps .step-success:after,.steps .step-success>.step-icon{--step-bg:var(--color-success);--step-fg:var(--color-success-content)}.steps .step-warning+.step-warning:before,.steps .step-warning:after,.steps .step-warning>.step-icon{--step-bg:var(--color-warning);--step-fg:var(--color-warning-content)}.steps .step-error+.step-error:before,.steps .step-error:after,.steps .step-error>.step-icon{--step-bg:var(--color-error);--step-fg:var(--color-error-content)}.tabs-border>.tab{--tab-border-color:#0000 #0000 var(--tab-border-color) #0000;border-radius:var(--radius-field);position:relative}.tabs-border>.tab:before{content:"";background-color:var(--tab-border-color);border-radius:var(--radius-field);width:80%;height:3px;transition:background-color .2s;position:absolute;bottom:0;left:10%}:is(.tabs-border>.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-border>.tab:is(input:checked),.tabs-border>.tab:is(label:has(:checked))):before{--tab-border-color:currentColor;border-top:3px solid}.menu-horizontal{flex-direction:row;display:inline-flex}.menu-horizontal>li:not(.menu-title)>details>ul{transform-origin:top;border-radius:var(--radius-box);background-color:var(--color-base-100);opacity:0;margin-inline-start:0;margin-top:1rem;padding-block:.5rem;padding-inline-end:.5rem;position:absolute;scale:.95;box-shadow:0 1px 3px oklch(0% 0 0/.1),0 1px 2px -1px oklch(0% 0 0/.1)}@media (prefers-reduced-motion:no-preference){@starting-style{.menu-horizontal>li:not(.menu-title)>details>ul{opacity:0;scale:.95}}.menu-horizontal>li:not(.menu-title)>details>ul{transition-behavior:allow-discrete;transition-property:opacity,scale,display;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);animation:.2s menu}}.menu-horizontal>li:not(.menu-title)>details[open]>ul{opacity:1;scale:1}.menu-horizontal>li>details>ul:before{--tw-content:none;content:var(--tw-content)}.menu-vertical{flex-direction:column;display:inline-flex}.menu-vertical>li:not(.menu-title)>details>ul{background-color:revert-layer;border-radius:revert-layer;animation:revert-layer;box-shadow:revert-layer;margin-inline-start:1rem;margin-top:0;padding-block:0;padding-inline-end:0;transition:revert-layer;position:relative}.checkbox:disabled,.radio:disabled{cursor:not-allowed;opacity:.2}.rating.rating-xs :where(:not(.rating-hidden)){width:1rem;height:1rem}.rating.rating-sm :where(:not(.rating-hidden)){width:1.25rem;height:1.25rem}.rating.rating-md :where(:not(.rating-hidden)){width:1.5rem;height:1.5rem}.rating.rating-lg :where(:not(.rating-hidden)){width:1.75rem;height:1.75rem}.rating.rating-xl :where(:not(.rating-hidden)){width:2rem;height:2rem}.rating\!.rating-xs :where(:not(.rating-hidden)){width:1rem!important;height:1rem!important}.rating\!.rating-sm :where(:not(.rating-hidden)){width:1.25rem!important;height:1.25rem!important}.rating\!.rating-md :where(:not(.rating-hidden)){width:1.5rem!important;height:1.5rem!important}.rating\!.rating-lg :where(:not(.rating-hidden)){width:1.75rem!important;height:1.75rem!important}.rating\!.rating-xl :where(:not(.rating-hidden)){width:2rem!important;height:2rem!important}:where(.navbar){position:relative}.tooltip-bottom>.tooltip-content,.tooltip-bottom[data-tip]:before{transform:translateX(-50%) translateY(var(--tt-pos,-.25rem));inset:var(--tt-off) auto auto 50%}.tooltip-bottom:after{transform:translateX(-50%) translateY(var(--tt-pos,-.25rem)) rotate(180deg);inset:var(--tt-tail) auto auto 50%}.tooltip-left>.tooltip-content,.tooltip-left[data-tip]:before{transform:translateX(calc(var(--tt-pos,.25rem) - .25rem)) translateY(-50%);inset:50% var(--tt-off) auto auto}.tooltip-left:after{transform:translateX(var(--tt-pos,.25rem)) translateY(-50%) rotate(-90deg);inset:50% calc(var(--tt-tail) + 1px) auto auto}.tooltip-right>.tooltip-content,.tooltip-right[data-tip]:before{transform:translateX(calc(var(--tt-pos,-.25rem) + .25rem)) translateY(-50%);inset:50% auto auto var(--tt-off)}.tooltip-right:after{transform:translateX(var(--tt-pos,-.25rem)) translateY(-50%) rotate(90deg);inset:50% auto auto calc(var(--tt-tail) + 1px)}.tooltip-top>.tooltip-content,.tooltip-top[data-tip]:before{transform:translateX(-50%) translateY(var(--tt-pos,.25rem));inset:auto auto var(--tt-off) 50%}.tooltip-top:after{transform:translateX(-50%) translateY(var(--tt-pos,.25rem));inset:auto auto var(--tt-tail) 50%}.dropdown-right{--anchor-h:right;--anchor-v:span-bottom}.dropdown-right .dropdown-content{transform-origin:0;inset-inline-start:100%;top:0;bottom:auto}.dropdown-left{--anchor-h:left;--anchor-v:span-bottom}.dropdown-left .dropdown-content{transform-origin:100%;inset-inline-end:100%;top:0;bottom:auto}.dropdown-end{--anchor-h:span-left}.dropdown-end :where(.dropdown-content){inset-inline-end:0;translate:0}[dir=rtl] :is(.dropdown-end :where(.dropdown-content)){translate:0}.dropdown-end.dropdown-left{--anchor-h:left;--anchor-v:span-top}.dropdown-end.dropdown-left .dropdown-content{top:auto;bottom:0}.dropdown-end.dropdown-right{--anchor-h:right;--anchor-v:span-top}.dropdown-end.dropdown-right .dropdown-content{top:auto;bottom:0}.dropdown-bottom{--anchor-v:bottom}.dropdown-bottom .dropdown-content{transform-origin:top;top:100%;bottom:auto}.dropdown-top{--anchor-v:top}.dropdown-top .dropdown-content{transform-origin:bottom;top:auto;bottom:100%}.btn-active{--btn-bg:var(--btn-color,var(--color-base-200))}@supports (color:color-mix(in lab, red, red)){.btn-active{--btn-bg:color-mix(in oklab, var(--btn-color,var(--color-base-200)), #000 7%)}}.btn-active{--btn-shadow:0 0 0 0 oklch(0% 0 0/0), 0 0 0 0 oklch(0% 0 0/0);isolation:isolate}:is(.stack,.stack.stack-bottom)>*{grid-area:3/3/6/4}:is(.stack,.stack.stack-bottom)>:nth-child(2){grid-area:2/2/5/5}:is(.stack,.stack.stack-bottom)>:first-child{grid-area:1/1/4/6}.stack.stack-top>*{grid-area:1/3/4/4}.stack.stack-top>:nth-child(2){grid-area:2/2/5/5}.stack.stack-top>:first-child{grid-area:3/1/6/6}.stack.stack-start>*{grid-area:3/1/4/4}.stack.stack-start>:nth-child(2){grid-area:2/2/5/5}.stack.stack-start>:first-child{grid-area:1/3/6/6}.stack.stack-end>*{grid-area:3/3/4/6}.stack.stack-end>:nth-child(2){grid-area:2/2/5/5}.stack.stack-end>:first-child{grid-area:1/1/6/4}.tabs-box{background-color:var(--color-base-200);--tabs-box-radius:calc(3 * var(--radius-field));border-radius:calc(min(var(--tab-height) / 2, var(--radius-field)) + min(.25rem, var(--tabs-box-radius)));box-shadow:0 -.5px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 .5px oklch(0% 0 0 / calc(var(--depth) * .05)) inset;padding:.25rem}.tabs-box>.tab{border-radius:var(--radius-field);border-style:none}.tabs-box>.tab:focus-visible,.tabs-box>.tab:is(label:has(:checked:focus-visible)){outline-offset:2px}.tabs-box>.tab:focus-visible{z-index:1}.tabs-box>:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-box>:is(input:checked),.tabs-box>:is(label:has(:checked)){background-color:var(--tab-bg,var(--color-base-100));box-shadow:0 1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px 1px -1px var(--color-neutral), 0 1px 6px -4px var(--color-neutral)}@supports (color:color-mix(in lab, red, red)){.tabs-box>:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-box>:is(input:checked),.tabs-box>:is(label:has(:checked)){box-shadow:0 1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px 1px -1px color-mix(in oklab, var(--color-neutral) calc(var(--depth) * 50%), #0000), 0 1px 6px -4px color-mix(in oklab, var(--color-neutral) calc(var(--depth) * 100%), #0000)}}@media (forced-colors:active){.tabs-box>:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-box>:is(input:checked),.tabs-box>:is(label:has(:checked)){border:1px solid}}.tabs-box>.tab-content{height:calc(100% - var(--tab-height) + var(--border) - .5rem);border-radius:calc(min(var(--tab-height) / 2, var(--radius-field)) + min(.25rem, var(--tabs-box-radius)) - var(--border));margin-top:.25rem}.timeline-horizontal{flex-direction:row}.timeline-horizontal>li{align-items:center}.timeline-horizontal>li>hr{width:100%;height:.25rem}.timeline-horizontal>li>hr:first-child{grid-row-start:2;grid-column-start:1}.timeline-horizontal>li>hr:last-child{grid-area:2/3/auto/none}.timeline-horizontal .timeline-start{grid-area:1/1/2/4;place-self:flex-end center}.timeline-horizontal .timeline-end{grid-area:3/1/4/4;place-self:flex-start center}.timeline-horizontal:has(.timeline-middle)>li>hr:first-child{border-start-start-radius:0;border-start-end-radius:var(--radius-selector);border-end-end-radius:var(--radius-selector);border-end-start-radius:0}.timeline-horizontal:has(.timeline-middle)>li>hr:last-child,.timeline-horizontal:not(:has(.timeline-middle)) :first-child>hr:last-child{border-start-start-radius:var(--radius-selector);border-start-end-radius:0;border-end-end-radius:0;border-end-start-radius:var(--radius-selector)}.timeline-horizontal:not(:has(.timeline-middle)) :last-child>hr:first-child{border-start-start-radius:0;border-start-end-radius:var(--radius-selector);border-end-end-radius:var(--radius-selector);border-end-start-radius:0}.timeline-vertical{flex-direction:column}.timeline-vertical>li{--timeline-row-start:minmax(0, 1fr);--timeline-row-end:minmax(0, 1fr);justify-items:center}.timeline-vertical>li>hr{width:.25rem;height:100%}.timeline-vertical>li>hr:first-child{grid-row-start:1;grid-column-start:2}.timeline-vertical>li>hr:last-child{grid-area:3/2/none}.timeline-vertical .timeline-start{grid-area:1/1/4/2;place-self:center flex-end}.timeline-vertical .timeline-end{grid-area:1/3/4/4;place-self:center flex-start}.timeline-vertical:has(.timeline-middle)>li>hr:first-child{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:var(--radius-selector);border-bottom-left-radius:var(--radius-selector)}.timeline-vertical:has(.timeline-middle)>li>hr:last-child,.timeline-vertical:not(:has(.timeline-middle)) :first-child>hr:last-child{border-top-left-radius:var(--radius-selector);border-top-right-radius:var(--radius-selector);border-bottom-right-radius:0;border-bottom-left-radius:0}.timeline-vertical:not(:has(.timeline-middle)) :last-child>hr:first-child{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:var(--radius-selector);border-bottom-left-radius:var(--radius-selector)}.timeline-vertical.timeline-snap-icon>li{--timeline-col-start:minmax(0, 1fr);--timeline-row-start:.5rem}.timeline-compact{--timeline-row-start:0}.timeline-compact .timeline-start{grid-area:3/1/4/4;place-self:flex-start center}.timeline-compact li:has(.timeline-start) .timeline-end{grid-row-start:auto;grid-column-start:none}.timeline-compact.timeline-vertical>li{--timeline-col-start:0}.timeline-compact.timeline-vertical .timeline-start{grid-area:1/3/4/4;place-self:center flex-start}.timeline-compact.timeline-vertical li:has(.timeline-start) .timeline-end{grid-row-start:none;grid-column-start:auto}.drawer-end{grid-auto-columns:auto max-content}.drawer-end>.drawer-toggle~.drawer-content{grid-column-start:1}.drawer-end>.drawer-toggle~.drawer-side{grid-column-start:2;justify-items:end}.drawer-end>.drawer-toggle~.drawer-side>:not(.drawer-overlay){translate:100%}[dir=rtl] :is(.drawer-end>.drawer-toggle~.drawer-side>:not(.drawer-overlay)){translate:-100%}.drawer-end>.drawer-toggle:checked~.drawer-side>:not(.drawer-overlay){translate:0%}.input-lg{--size:calc(var(--size-field,.25rem) * 12);font-size:max(var(--font-size,1.125rem), 1.125rem)}.input-lg[type=number]::-webkit-inner-spin-button{margin-block:-.75rem;margin-inline-end:-.75rem}.input-md{--size:calc(var(--size-field,.25rem) * 10);font-size:max(var(--font-size,.875rem), .875rem)}.input-md[type=number]::-webkit-inner-spin-button{margin-block:-.75rem;margin-inline-end:-.75rem}.input-sm{--size:calc(var(--size-field,.25rem) * 8);font-size:max(var(--font-size,.75rem), .75rem)}.input-sm[type=number]::-webkit-inner-spin-button{margin-block:-.5rem;margin-inline-end:-.75rem}.input-xs{--size:calc(var(--size-field,.25rem) * 6);font-size:max(var(--font-size,.6875rem), .6875rem)}.input-xs[type=number]::-webkit-inner-spin-button{margin-block:-.25rem;margin-inline-end:-.75rem}.modal-bottom{place-items:end}.modal-bottom .modal-box{--modal-tl:var(--radius-box);--modal-tr:var(--radius-box);--modal-bl:0;--modal-br:0;width:100%;max-width:none;height:auto;max-height:calc(100vh - 5em);translate:0 100%;scale:1}.modal-middle{place-items:center}.modal-middle .modal-box{--modal-tl:var(--radius-box);--modal-tr:var(--radius-box);--modal-bl:var(--radius-box);--modal-br:var(--radius-box);width:91.6667%;max-width:32rem;height:auto;max-height:calc(100vh - 5em);translate:0 2%;scale:.98}.modal-top{place-items:start}.modal-top .modal-box{--modal-tl:0;--modal-tr:0;--modal-bl:var(--radius-box);--modal-br:var(--radius-box);width:100%;max-width:none;height:auto;max-height:calc(100vh - 5em);translate:0 -100%;scale:1}.btn-circle{width:var(--size);height:var(--size);border-radius:3.40282e38px;padding-inline:0}.btn-square{width:var(--size);height:var(--size);padding-inline:0}.btn-wide{width:100%;max-width:16rem}.btn-block{width:100%}.swap-rotate .swap-on,.swap-rotate input:indeterminate~.swap-on{rotate:45deg}.swap-rotate input:is(:checked,:indeterminate)~.swap-on,.swap-rotate.swap-active .swap-on{rotate:0deg}.swap-rotate input:is(:checked,:indeterminate)~.swap-off,.swap-rotate.swap-active .swap-off{rotate:-45deg}.swap-flip{transform-style:preserve-3d;perspective:20rem}.swap-flip .swap-on,.swap-flip .swap-indeterminate,.swap-flip input:indeterminate~.swap-on{backface-visibility:hidden;transform:rotateY(180deg)}.swap-flip input:is(:checked,:indeterminate)~.swap-on,.swap-flip.swap-active .swap-on{transform:rotateY(0)}.swap-flip input:is(:checked,:indeterminate)~.swap-off,.swap-flip.swap-active .swap-off{backface-visibility:hidden;opacity:1;transform:rotateY(-180deg)}.stats-horizontal{grid-auto-flow:column;overflow-x:auto}.stats-horizontal .stat:not(:last-child){border-inline-end:var(--border) dashed currentColor}@supports (color:color-mix(in lab, red, red)){.stats-horizontal .stat:not(:last-child){border-inline-end:var(--border) dashed color-mix(in oklab, currentColor 10%, #0000)}}.stats-horizontal .stat:not(:last-child){border-block-end:none}.stats-vertical{grid-auto-flow:row;overflow-y:auto}.stats-vertical .stat:not(:last-child){border-inline-end:none;border-block-end:var(--border) dashed currentColor}@supports (color:color-mix(in lab, red, red)){.stats-vertical .stat:not(:last-child){border-block-end:var(--border) dashed color-mix(in oklab, currentColor 10%, #0000)}}.menu-lg :where(li:not(.menu-title)>:not(ul,details,.menu-title)),.menu-lg :where(li:not(.menu-title)>details>summary:not(.menu-title)){border-radius:var(--radius-field);padding-block:.375rem;padding-inline:1rem;font-size:1.125rem}.menu-lg .menu-title{padding-block:.75rem;padding-inline:1.5rem}.menu-md :where(li:not(.menu-title)>:not(ul,details,.menu-title)),.menu-md :where(li:not(.menu-title)>details>summary:not(.menu-title)){border-radius:var(--radius-field);padding-block:.375rem;padding-inline:.75rem;font-size:.875rem}.menu-md .menu-title{padding-block:.5rem;padding-inline:.75rem}.menu-sm :where(li:not(.menu-title)>:not(ul,details,.menu-title)),.menu-sm :where(li:not(.menu-title)>details>summary:not(.menu-title)){border-radius:var(--radius-field);padding-block:.25rem;padding-inline:.625rem;font-size:.75rem}.menu-sm .menu-title{padding-block:.5rem;padding-inline:.75rem}.menu-xs :where(li:not(.menu-title)>:not(ul,details,.menu-title)),.menu-xs :where(li:not(.menu-title)>details>summary:not(.menu-title)){border-radius:var(--radius-field);padding-block:.25rem;padding-inline:.5rem;font-size:.6875rem}.menu-xs .menu-title{padding-block:.25rem;padding-inline:.5rem}.badge-dash{color:var(--badge-color);--badge-bg:#0000;background-image:none;border-style:dashed;border-color:currentColor}.badge-ghost{border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content);background-image:none}.select-ghost{box-shadow:none;background-color:#0000;border-color:#0000;transition:background-color .2s}.select-ghost:focus,.select-ghost:focus-within{background-color:var(--color-base-100);color:var(--color-base-content);box-shadow:none;border-color:#0000}.input-ghost{box-shadow:none;background-color:#0000;border-color:#0000}.input-ghost:focus,.input-ghost:focus-within{background-color:var(--color-base-100);color:var(--color-base-content);box-shadow:none;border-color:#0000}.badge-outline{color:var(--badge-color);--badge-bg:#0000;background-image:none;border-color:currentColor}.table-zebra tbody tr:where(:nth-child(2n)),.table-zebra tbody tr:where(:nth-child(2n)) :where(.table-pin-cols tr th){background-color:var(--color-base-200)}@media (hover:hover){:is(.table-zebra tbody tr.row-hover,.table-zebra tbody tr.row-hover:where(:nth-child(2n))):hover{background-color:var(--color-base-300)}}.loading-spinner{-webkit-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");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")}.mask-circle{-webkit-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");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")}.mask-heart{-webkit-mask-image:url("data:image/svg+xml,%3csvg width='200' height='185' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M100 184.606a15.384 15.384 0 0 1-8.653-2.678C53.565 156.28 37.205 138.695 28.182 127.7 8.952 104.264-.254 80.202.005 54.146.308 24.287 24.264 0 53.406 0c21.192 0 35.869 11.937 44.416 21.879a2.884 2.884 0 0 0 4.356 0C110.725 11.927 125.402 0 146.594 0c29.142 0 53.098 24.287 53.4 54.151.26 26.061-8.956 50.122-28.176 73.554-9.023 10.994-25.383 28.58-63.165 54.228a15.384 15.384 0 0 1-8.653 2.673Z' fill='black' fill-rule='nonzero'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg width='200' height='185' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M100 184.606a15.384 15.384 0 0 1-8.653-2.678C53.565 156.28 37.205 138.695 28.182 127.7 8.952 104.264-.254 80.202.005 54.146.308 24.287 24.264 0 53.406 0c21.192 0 35.869 11.937 44.416 21.879a2.884 2.884 0 0 0 4.356 0C110.725 11.927 125.402 0 146.594 0c29.142 0 53.098 24.287 53.4 54.151.26 26.061-8.956 50.122-28.176 73.554-9.023 10.994-25.383 28.58-63.165 54.228a15.384 15.384 0 0 1-8.653 2.673Z' fill='black' fill-rule='nonzero'/%3e%3c/svg%3e")}.mask-star{-webkit-mask-image:url("data:image/svg+xml,%3csvg width='192' height='180' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m96 137.263-58.779 42.024 22.163-68.389L.894 68.481l72.476-.243L96 0l22.63 68.238 72.476.243-58.49 42.417 22.163 68.389z' fill-rule='evenodd'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg width='192' height='180' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m96 137.263-58.779 42.024 22.163-68.389L.894 68.481l72.476-.243L96 0l22.63 68.238 72.476.243-58.49 42.417 22.163 68.389z' fill-rule='evenodd'/%3e%3c/svg%3e")}.mask-star-2{-webkit-mask-image:url("data:image/svg+xml,%3csvg width='192' height='180' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m96 153.044-58.779 26.243 7.02-63.513L.894 68.481l63.117-13.01L96 0l31.989 55.472 63.117 13.01-43.347 47.292 7.02 63.513z' fill-rule='evenodd'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg width='192' height='180' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m96 153.044-58.779 26.243 7.02-63.513L.894 68.481l63.117-13.01L96 0l31.989 55.472 63.117 13.01-43.347 47.292 7.02 63.513z' fill-rule='evenodd'/%3e%3c/svg%3e")}.checkbox-lg{--size:calc(var(--size-selector,.25rem) * 7);padding:.3125rem}.checkbox-md{--size:calc(var(--size-selector,.25rem) * 6);padding:.25rem}.checkbox-sm{--size:calc(var(--size-selector,.25rem) * 5);padding:.1875rem}.checkbox-xs{--size:calc(var(--size-selector,.25rem) * 4);padding:.125rem}.radio-lg{padding:.3125rem}.radio-lg[type=radio]{--size:calc(var(--size-selector,.25rem) * 7)}.radio-md{padding:.25rem}.radio-md[type=radio]{--size:calc(var(--size-selector,.25rem) * 6)}.radio-sm{padding:.1875rem}.radio-sm[type=radio]{--size:calc(var(--size-selector,.25rem) * 5)}.radio-xs{padding:.125rem}.radio-xs[type=radio]{--size:calc(var(--size-selector,.25rem) * 4)}.select-lg{--size:calc(var(--size-field,.25rem) * 12);font-size:1.125rem}.select-lg option{padding-block:.375rem;padding-inline:1rem}.select-md{--size:calc(var(--size-field,.25rem) * 10);font-size:.875rem}.select-md option{padding-block:.375rem;padding-inline:.75rem}.select-sm{--size:calc(var(--size-field,.25rem) * 8);font-size:.75rem}.select-sm option{padding-block:.25rem;padding-inline:.625rem}.select-xs{--size:calc(var(--size-field,.25rem) * 6);font-size:.6875rem}.select-xs option{padding-block:.25rem;padding-inline:.5rem}.table-lg :not(thead,tfoot) tr{font-size:1.125rem}.table-lg :where(th,td){padding-block:1rem;padding-inline:1.25rem}.table-md :not(thead,tfoot) tr{font-size:.875rem}.table-md :where(th,td){padding-block:.75rem;padding-inline:1rem}.table-sm :not(thead,tfoot) tr{font-size:.75rem}.table-sm :where(th,td){padding-block:.5rem;padding-inline:.75rem}.table-xl :not(thead,tfoot) tr{font-size:1.375rem}.table-xl :where(th,td){padding-block:1.25rem;padding-inline:1.5rem}.table-xs :not(thead,tfoot) tr{font-size:.6875rem}.table-xs :where(th,td){padding-block:.25rem;padding-inline:.5rem}.tabs-lg{--tab-height:calc(var(--size-field,.25rem) * 12)}.tabs-lg>.tab{--tab-p:1rem;--tab-radius-min:calc(1.5rem - var(--border));font-size:1.125rem}.tabs-md{--tab-height:calc(var(--size-field,.25rem) * 10)}.tabs-md>.tab{--tab-p:.75rem;--tab-radius-min:calc(.75rem - var(--border));font-size:.875rem}.tabs-sm{--tab-height:calc(var(--size-field,.25rem) * 8)}.tabs-sm>.tab{--tab-p:.5rem;--tab-radius-min:calc(.5rem - var(--border));font-size:.875rem}.tabs-xs{--tab-height:calc(var(--size-field,.25rem) * 6)}.tabs-xs>.tab{--tab-p:.375rem;--tab-radius-min:calc(.5rem - var(--border));font-size:.75rem}.badge-lg{--size:calc(var(--size-selector,.25rem) * 7);font-size:1rem}.badge-md{--size:calc(var(--size-selector,.25rem) * 6);font-size:.875rem}.badge-sm{--size:calc(var(--size-selector,.25rem) * 5);font-size:.75rem}.badge-xs{--size:calc(var(--size-selector,.25rem) * 4);font-size:.625rem}.alert-error{color:var(--color-error-content);--alert-border-color:var(--color-error);--alert-color:var(--color-error)}.alert-info{color:var(--color-info-content);--alert-border-color:var(--color-info);--alert-color:var(--color-info)}.alert-success{color:var(--color-success-content);--alert-border-color:var(--color-success);--alert-color:var(--color-success)}.alert-warning{color:var(--color-warning-content);--alert-border-color:var(--color-warning);--alert-color:var(--color-warning)}.checkbox-accent{color:var(--color-accent-content);--input-color:var(--color-accent)}.checkbox-error{color:var(--color-error-content);--input-color:var(--color-error)}.checkbox-info{color:var(--color-info-content);--input-color:var(--color-info)}.checkbox-primary{color:var(--color-primary-content);--input-color:var(--color-primary)}.checkbox-secondary{color:var(--color-secondary-content);--input-color:var(--color-secondary)}.checkbox-success{color:var(--color-success-content);--input-color:var(--color-success)}.checkbox-warning{color:var(--color-warning-content);--input-color:var(--color-warning)}.range-accent{color:var(--color-accent);--range-thumb:var(--color-accent-content)}.range-error{color:var(--color-error);--range-thumb:var(--color-error-content)}.range-info{color:var(--color-info);--range-thumb:var(--color-info-content)}.range-primary{color:var(--color-primary);--range-thumb:var(--color-primary-content)}.range-secondary{color:var(--color-secondary);--range-thumb:var(--color-secondary-content)}.range-success{color:var(--color-success);--range-thumb:var(--color-success-content)}.range-warning{color:var(--color-warning);--range-thumb:var(--color-warning-content)}.tooltip-accent{--tt-bg:var(--color-accent)}.tooltip-accent>.tooltip-content,.tooltip-accent[data-tip]:before{color:var(--color-accent-content)}.tooltip-error{--tt-bg:var(--color-error)}.tooltip-error>.tooltip-content,.tooltip-error[data-tip]:before{color:var(--color-error-content)}.tooltip-info{--tt-bg:var(--color-info)}.tooltip-info>.tooltip-content,.tooltip-info[data-tip]:before{color:var(--color-info-content)}.tooltip-primary{--tt-bg:var(--color-primary)}.tooltip-primary>.tooltip-content,.tooltip-primary[data-tip]:before{color:var(--color-primary-content)}.tooltip-secondary{--tt-bg:var(--color-secondary)}.tooltip-secondary>.tooltip-content,.tooltip-secondary[data-tip]:before{color:var(--color-secondary-content)}.tooltip-success{--tt-bg:var(--color-success)}.tooltip-success>.tooltip-content,.tooltip-success[data-tip]:before{color:var(--color-success-content)}.tooltip-warning{--tt-bg:var(--color-warning)}.tooltip-warning>.tooltip-content,.tooltip-warning[data-tip]:before{color:var(--color-warning-content)}.swap-active .swap-off{opacity:0}.swap-active .swap-on{opacity:1}.indicator-end{--indicator-s:auto;--indicator-e:0;--indicator-x:50%}[dir=rtl] .indicator-end,.indicator-start{--indicator-s:0;--indicator-e:auto;--indicator-x:-50%}[dir=rtl] .indicator-start{--indicator-s:auto;--indicator-e:0;--indicator-x:50%}.btn-lg{--fontsize:1.125rem;--btn-p:1.25rem;--size:calc(var(--size-field,.25rem) * 12)}.btn-md{--fontsize:.875rem;--btn-p:1rem;--size:calc(var(--size-field,.25rem) * 10)}.btn-sm{--fontsize:.75rem;--btn-p:.75rem;--size:calc(var(--size-field,.25rem) * 8)}.btn-xl{--fontsize:1.375rem;--btn-p:1.5rem;--size:calc(var(--size-field,.25rem) * 14)}.btn-xs{--fontsize:.6875rem;--btn-p:.5rem;--size:calc(var(--size-field,.25rem) * 6)}.indicator-bottom{--indicator-t:auto;--indicator-b:0;--indicator-y:50%}.indicator-top{--indicator-t:0;--indicator-b:auto;--indicator-y:-50%}.badge-accent{--badge-color:var(--color-accent);--badge-fg:var(--color-accent-content)}.badge-error{--badge-color:var(--color-error);--badge-fg:var(--color-error-content)}.badge-info{--badge-color:var(--color-info);--badge-fg:var(--color-info-content)}.badge-primary{--badge-color:var(--color-primary);--badge-fg:var(--color-primary-content)}.badge-secondary{--badge-color:var(--color-secondary);--badge-fg:var(--color-secondary-content)}.badge-success{--badge-color:var(--color-success);--badge-fg:var(--color-success-content)}.badge-warning{--badge-color:var(--color-warning);--badge-fg:var(--color-warning-content)}.input-accent,.input-accent:focus,.input-accent:focus-within{--input-color:var(--color-accent)}.input-error,.input-error:focus,.input-error:focus-within{--input-color:var(--color-error)}.input-info,.input-info:focus,.input-info:focus-within{--input-color:var(--color-info)}.input-primary,.input-primary:focus,.input-primary:focus-within{--input-color:var(--color-primary)}.input-secondary,.input-secondary:focus,.input-secondary:focus-within{--input-color:var(--color-secondary)}.input-success,.input-success:focus,.input-success:focus-within{--input-color:var(--color-success)}.input-warning,.input-warning:focus,.input-warning:focus-within{--input-color:var(--color-warning)}.radio-accent{--input-color:var(--color-accent)}.radio-error{--input-color:var(--color-error)}.radio-info{--input-color:var(--color-info)}.radio-primary{--input-color:var(--color-primary)}.radio-secondary{--input-color:var(--color-secondary)}.radio-success{--input-color:var(--color-success)}.radio-warning{--input-color:var(--color-warning)}.range-lg{--range-thumb-size:calc(var(--size-selector,.25rem) * 7)}.range-md{--range-thumb-size:calc(var(--size-selector,.25rem) * 6)}.range-sm{--range-thumb-size:calc(var(--size-selector,.25rem) * 5)}.range-xs{--range-thumb-size:calc(var(--size-selector,.25rem) * 4)}.select-accent,.select-accent:focus,.select-accent:focus-within{--input-color:var(--color-accent)}.select-error,.select-error:focus,.select-error:focus-within{--input-color:var(--color-error)}.select-info,.select-info:focus,.select-info:focus-within{--input-color:var(--color-info)}.select-primary,.select-primary:focus,.select-primary:focus-within{--input-color:var(--color-primary)}.select-secondary,.select-secondary:focus,.select-secondary:focus-within{--input-color:var(--color-secondary)}.select-success,.select-success:focus,.select-success:focus-within{--input-color:var(--color-success)}.select-warning,.select-warning:focus,.select-warning:focus-within{--input-color:var(--color-warning)}.toggle-accent:checked,.toggle-accent[aria-checked=true]{--input-color:var(--color-accent)}.toggle-error:checked,.toggle-error[aria-checked=true]{--input-color:var(--color-error)}.toggle-info:checked,.toggle-info[aria-checked=true]{--input-color:var(--color-info)}.toggle-lg[type=checkbox],.toggle-lg:has([type=checkbox]){--size:calc(var(--size-selector,.25rem) * 7)}.toggle-md[type=checkbox],.toggle-md:has([type=checkbox]){--size:calc(var(--size-selector,.25rem) * 6)}.toggle-primary:checked,.toggle-primary[aria-checked=true]{--input-color:var(--color-primary)}.toggle-secondary:checked,.toggle-secondary[aria-checked=true]{--input-color:var(--color-secondary)}.toggle-sm[type=checkbox],.toggle-sm:has([type=checkbox]){--size:calc(var(--size-selector,.25rem) * 5)}.toggle-success:checked,.toggle-success[aria-checked=true]{--input-color:var(--color-success)}.toggle-warning:checked,.toggle-warning[aria-checked=true]{--input-color:var(--color-warning)}.toggle-xs[type=checkbox],.toggle-xs:has([type=checkbox]){--size:calc(var(--size-selector,.25rem) * 4)}}.prose :where(a.btn:not(.btn-link)):not(:where([class~=not-prose],[class~=not-prose] *)){text-decoration-line:none}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse:not(td,tr,colgroup){visibility:revert-layer}.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing) * 0)}.inset-y-0{inset-block:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.-top-1{top:calc(var(--spacing) * -1)}.top-0{top:calc(var(--spacing) * 0)}.top-2{top:calc(var(--spacing) * 2)}.top-4{top:calc(var(--spacing) * 4)}.top-6{top:calc(var(--spacing) * 6)}.top-10{top:calc(var(--spacing) * 10)}.-right-2{right:calc(var(--spacing) * -2)}.right-0{right:calc(var(--spacing) * 0)}.right-1\/4{right:25%}.right-3{right:calc(var(--spacing) * 3)}.right-6{right:calc(var(--spacing) * 6)}.-bottom-5{bottom:calc(var(--spacing) * -5)}.bottom-6{bottom:calc(var(--spacing) * 6)}.bottom-10{bottom:calc(var(--spacing) * 10)}.left-0{left:calc(var(--spacing) * 0)}.left-1\/2{left:50%}.left-1\/4{left:25%}.left-2{left:calc(var(--spacing) * 2)}.left-3{left:calc(var(--spacing) * 3)}.left-4{left:calc(var(--spacing) * 4)}.left-6{left:calc(var(--spacing) * 6)}.-z-0{z-index:calc(0 * -1)}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[1\]{z-index:1}.z-\[50\]{z-index:50}.z-\[90\]{z-index:90}.z-\[100\]{z-index:100}.z-\[110\]{z-index:110}.z-\[9999\]{z-index:9999}.col-start-1{grid-column-start:1}.col-start-2{grid-column-start:2}.col-start-3{grid-column-start:3}.row-start-2{grid-row-start:2}.row-start-3{grid-row-start:3}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-1{margin:calc(var(--spacing) * 1)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing) * 1)}.my-4{margin-block:calc(var(--spacing) * 4)}.my-6{margin-block:calc(var(--spacing) * 6)}.my-16{margin-block:calc(var(--spacing) * 16)}.-mt-10{margin-top:calc(var(--spacing) * -10)}.mt-0{margin-top:calc(var(--spacing) * 0)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mr-1{margin-right:calc(var(--spacing) * 1)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-6{margin-left:calc(var(--spacing) * 6)}.icon-\[lucide--alert-circle\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 8v4m0 4h.01'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--alert-triangle\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m21.73 18l-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3M12 9v4m0 4h.01'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--calendar\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M8 2v4m8-4v4'/%3E%3Crect width='18' height='18' x='3' y='4' rx='2'/%3E%3Cpath d='M3 10h18'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--check-circle\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M21.801 10A10 10 0 1 1 17 3.335'/%3E%3Cpath d='m9 11l3 3L22 4'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--chevron-left\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m15 18l-6-6l6-6'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--chevron-right\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m9 18l6-6l-6-6'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--chevrons-left\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m11 17l-5-5l5-5m7 10l-5-5l5-5'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--chevrons-right\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m6 17l5-5l-5-5m7 10l5-5l-5-5'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--eye-off\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575a1 1 0 0 1 0 .696a10.8 10.8 0 0 1-1.444 2.49m-6.41-.679a3 3 0 0 1-4.242-4.242'/%3E%3Cpath d='M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151a1 1 0 0 1 0-.696a10.75 10.75 0 0 1 4.446-5.143M2 2l20 20'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--eye\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M2.062 12.348a1 1 0 0 1 0-.696a10.75 10.75 0 0 1 19.876 0a1 1 0 0 1 0 .696a10.75 10.75 0 0 1-19.876 0'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--hash\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 9h16M4 15h16M10 3L8 21m8-18l-2 18'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--heart\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 9.5a5.5 5.5 0 0 1 9.591-3.676a.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--info\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-4m0-4h.01'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--link\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71'/%3E%3Cpath d='M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--lock\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Crect width='18' height='11' x='3' y='11' rx='2' ry='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--mail\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='m22 7l-8.991 5.727a2 2 0 0 1-2.009 0L2 7'/%3E%3Crect width='20' height='16' x='2' y='4' rx='2'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--phone\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233a14 14 0 0 0 6.392 6.384'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--search-x\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='m13.5 8.5l-5 5m0-5l5 5'/%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21l-4.3-4.3'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--search\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='m21 21l-4.34-4.34'/%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--text\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M15 18H3M17 6H3m18 6H3'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--upload\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 3v12m5-7l-5-5l-5 5m14 7v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--x\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M18 6L6 18M6 6l12 12'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.kbd{box-shadow:none}.text-rotate{height:1lh}.alert{border-width:var(--border);border-color:var(--alert-border-color,var(--color-base-200))}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.table{display:table}.aspect-square{aspect-ratio:1}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-8{height:calc(var(--spacing) * 8)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-16{height:calc(var(--spacing) * 16)}.h-20{height:calc(var(--spacing) * 20)}.h-24{height:calc(var(--spacing) * 24)}.h-32{height:calc(var(--spacing) * 32)}.h-48{height:calc(var(--spacing) * 48)}.h-96{height:calc(var(--spacing) * 96)}.h-\[300px\]{height:300px}.h-\[400px\]{height:400px}.h-\[500px\]{height:500px}.h-auto{height:auto}.h-full{height:100%}.max-h-60{max-height:calc(var(--spacing) * 60)}.max-h-96{max-height:calc(var(--spacing) * 96)}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-\[300px\]{min-height:300px}.min-h-\[400px\]{min-height:400px}.min-h-\[500px\]{min-height:500px}.min-h-full{min-height:100%}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-8{width:calc(var(--spacing) * 8)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-16{width:calc(var(--spacing) * 16)}.w-24{width:calc(var(--spacing) * 24)}.w-32{width:calc(var(--spacing) * 32)}.w-40{width:calc(var(--spacing) * 40)}.w-48{width:calc(var(--spacing) * 48)}.w-52{width:calc(var(--spacing) * 52)}.w-56{width:calc(var(--spacing) * 56)}.w-64{width:calc(var(--spacing) * 64)}.w-80{width:calc(var(--spacing) * 80)}.w-96{width:calc(var(--spacing) * 96)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-3xl{max-width:var(--container-3xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-\[200px\]{max-width:200px}.max-w-md{max-width:var(--container-md)}.max-w-xs{max-width:var(--container-xs)}.min-w-\[4rem\]{min-width:4rem}.min-w-\[48px\]{min-width:48px}.min-w-\[500px\]{min-width:500px}.min-w-\[600px\]{min-width:600px}.flex-1{flex:1}.flex-none{flex:none}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-2{--tw-translate-x:calc(var(--spacing) * 2);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-4{--tw-translate-x:calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-10{--tw-translate-x:calc(var(--spacing) * 10);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-full{--tw-translate-x:100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-2{--tw-translate-y:calc(var(--spacing) * 2);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-4{--tw-translate-y:calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-105{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-110{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.cursor-help{cursor:help}.cursor-pointer{cursor:pointer}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.justify-items-center{justify-items:center}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-box{border-radius:var(--radius-box);border-radius:var(--radius-box)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-none{border-radius:0}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}@layer daisyui.l1{.alert-dash{color:var(--alert-color);box-shadow:none;background-color:#0000;background-image:none;border-style:dashed}.btn-dash:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-shadow:"";--btn-bg:#0000;--btn-fg:var(--btn-color);--btn-border:var(--btn-color);--btn-noise:none}@media (hover:none){.btn-dash:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-shadow:"";--btn-bg:#0000;--btn-fg:var(--btn-color);--btn-border:var(--btn-color);--btn-noise:none}}.alert-soft{color:var(--alert-color,var(--color-base-content));background:var(--alert-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.alert-soft{background:color-mix(in oklab, var(--alert-color,var(--color-base-content)) 8%, var(--color-base-100))}}.alert-soft{--alert-border-color:var(--alert-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.alert-soft{--alert-border-color:color-mix(in oklab, var(--alert-color,var(--color-base-content)) 10%, var(--color-base-100))}}.alert-soft{box-shadow:none;background-image:none}.btn-link{--btn-border:#0000;--btn-bg:#0000;--btn-noise:none;--btn-shadow:"";outline-color:currentColor;text-decoration-line:underline}.btn-link:not(.btn-disabled,.btn:disabled,.btn[disabled]){--btn-fg:var(--btn-color,var(--color-primary))}.btn-link:is(.btn-active,:hover,:active:focus,:focus-visible){--btn-border:#0000;--btn-bg:#0000}.btn-ghost:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn)){--btn-shadow:"";--btn-bg:#0000;--btn-border:#0000;--btn-noise:none}.btn-ghost:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn)):not(:disabled,[disabled],.btn-disabled){--btn-fg:var(--btn-color,currentColor);outline-color:currentColor}@media (hover:none){.btn-ghost:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-shadow:"";--btn-bg:#0000;--btn-fg:var(--btn-color,currentColor);--btn-border:#0000;--btn-noise:none;outline-color:currentColor}}.btn-outline:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-shadow:"";--btn-bg:#0000;--btn-fg:var(--btn-color);--btn-border:var(--btn-color);--btn-noise:none}@media (hover:none){.btn-outline:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-shadow:"";--btn-bg:#0000;--btn-fg:var(--btn-color);--btn-border:var(--btn-color);--btn-noise:none}}.btn-soft:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-shadow:"";--btn-fg:var(--btn-color,var(--color-base-content));--btn-bg:var(--btn-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.btn-soft:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-bg:color-mix(in oklab, var(--btn-color,var(--color-base-content)) 8%, var(--color-base-100))}}.btn-soft:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-border:var(--btn-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.btn-soft:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-border:color-mix(in oklab, var(--btn-color,var(--color-base-content)) 10%, var(--color-base-100))}}.btn-soft:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-noise:none}@media (hover:none){.btn-soft:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-shadow:"";--btn-fg:var(--btn-color,var(--color-base-content));--btn-bg:var(--btn-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.btn-soft:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-bg:color-mix(in oklab, var(--btn-color,var(--color-base-content)) 8%, var(--color-base-100))}}.btn-soft:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-border:var(--btn-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.btn-soft:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-border:color-mix(in oklab, var(--btn-color,var(--color-base-content)) 10%, var(--color-base-100))}}.btn-soft:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-noise:none}}}.btn-dash{border-style:dashed}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-base-200\/30{border-color:var(--color-base-200)}@supports (color:color-mix(in lab, red, red)){.border-base-200\/30{border-color:color-mix(in oklab, var(--color-base-200) 30%, transparent)}}.border-base-300{border-color:var(--color-base-300)}.border-base-content\/20{border-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.border-base-content\/20{border-color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.border-black\/5{border-color:#0000000d}@supports (color:color-mix(in lab, red, red)){.border-black\/5{border-color:color-mix(in oklab, var(--color-black) 5%, transparent)}}.border-black\/10{border-color:#0000001a}@supports (color:color-mix(in lab, red, red)){.border-black\/10{border-color:color-mix(in oklab, var(--color-black) 10%, transparent)}}.border-primary,.border-primary\/20{border-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.border-primary\/20{border-color:color-mix(in oklab, var(--color-primary) 20%, transparent)}}.border-transparent{border-color:#0000}.bg-accent{background-color:var(--color-accent)}.bg-base-100{background-color:var(--color-base-100)}.bg-base-200,.bg-base-200\/30{background-color:var(--color-base-200)}@supports (color:color-mix(in lab, red, red)){.bg-base-200\/30{background-color:color-mix(in oklab, var(--color-base-200) 30%, transparent)}}.bg-base-200\/50{background-color:var(--color-base-200)}@supports (color:color-mix(in lab, red, red)){.bg-base-200\/50{background-color:color-mix(in oklab, var(--color-base-200) 50%, transparent)}}.bg-base-300{background-color:var(--color-base-300)}.bg-black\/20{background-color:#0003}@supports (color:color-mix(in lab, red, red)){.bg-black\/20{background-color:color-mix(in oklab, var(--color-black) 20%, transparent)}}.bg-error,.bg-error\/10{background-color:var(--color-error)}@supports (color:color-mix(in lab, red, red)){.bg-error\/10{background-color:color-mix(in oklab, var(--color-error) 10%, transparent)}}.bg-info{background-color:var(--color-info)}.bg-neutral{background-color:var(--color-neutral)}.bg-primary,.bg-primary\/5{background-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/5{background-color:color-mix(in oklab, var(--color-primary) 5%, transparent)}}.bg-primary\/10{background-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/10{background-color:color-mix(in oklab, var(--color-primary) 10%, transparent)}}.bg-primary\/20{background-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/20{background-color:color-mix(in oklab, var(--color-primary) 20%, transparent)}}.bg-secondary{background-color:var(--color-secondary)}.bg-success,.bg-success\/10{background-color:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.bg-success\/10{background-color:color-mix(in oklab, var(--color-success) 10%, transparent)}}.bg-warning,.bg-warning\/10{background-color:var(--color-warning)}@supports (color:color-mix(in lab, red, red)){.bg-warning\/10{background-color:color-mix(in oklab, var(--color-warning) 10%, transparent)}}.bg-white\/20{background-color:#fff3}@supports (color:color-mix(in lab, red, red)){.bg-white\/20{background-color:color-mix(in oklab, var(--color-white) 20%, transparent)}}.bg-linear-to-r{--tw-gradient-position:to right}@supports (background-image:linear-gradient(in lab, red, red)){.bg-linear-to-r{--tw-gradient-position:to right in oklab}}.bg-linear-to-r{background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-accent{--tw-gradient-from:var(--color-accent);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-primary{--tw-gradient-from:var(--color-primary);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-secondary{--tw-gradient-from:var(--color-secondary);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.via-accent{--tw-gradient-via:var(--color-accent);--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-accent{--tw-gradient-to:var(--color-accent);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-primary{--tw-gradient-to:var(--color-primary);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-secondary{--tw-gradient-to:var(--color-secondary);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.mask-circle{--tw-mask-radial-shape:circle}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.p-0{padding:calc(var(--spacing) * 0)}.p-1{padding:calc(var(--spacing) * 1)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.p-10{padding:calc(var(--spacing) * 10)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-10{padding-inline:calc(var(--spacing) * 10)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-16{padding-block:calc(var(--spacing) * 16)}.py-20{padding-block:calc(var(--spacing) * 20)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pr-10{padding-right:calc(var(--spacing) * 10)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-10{padding-left:calc(var(--spacing) * 10)}.\!text-center{text-align:center!important}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.text-7xl{font-size:var(--text-7xl);line-height:var(--tw-leading,var(--text-7xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-tighter{--tw-tracking:var(--tracking-tighter);letter-spacing:var(--tracking-tighter)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-balance{text-wrap:balance}.whitespace-nowrap{white-space:nowrap}.text-accent{color:var(--color-accent)}.text-accent-content{color:var(--color-accent-content)}.text-base-content,.text-base-content\/60{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.text-base-content\/60{color:color-mix(in oklab, var(--color-base-content) 60%, transparent)}}.text-base-content\/90{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.text-base-content\/90{color:color-mix(in oklab, var(--color-base-content) 90%, transparent)}}.text-error{color:var(--color-error)}.text-error-content{color:var(--color-error-content)}.text-gray-500{color:var(--color-gray-500)}.text-info{color:var(--color-info)}.text-info-content{color:var(--color-info-content)}.text-neutral-content{color:var(--color-neutral-content)}.text-primary{color:var(--color-primary)}.text-primary-content{color:var(--color-primary-content)}.text-secondary{color:var(--color-secondary)}.text-secondary-content{color:var(--color-secondary-content)}.text-success{color:var(--color-success)}.text-success-content{color:var(--color-success-content)}.text-transparent{color:#0000}.text-warning{color:var(--color-warning)}.text-warning-content{color:var(--color-warning-content)}.text-white{color:var(--color-white)}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-secondary\/20{--tw-shadow-color:var(--color-secondary)}@supports (color:color-mix(in lab, red, red)){.shadow-secondary\/20{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-secondary) 20%, transparent) var(--tw-shadow-alpha), transparent)}}.ring-primary{--tw-ring-color:var(--color-primary)}.ring-offset-1{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.blur-3xl{--tw-blur:blur(var(--blur-3xl));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,)}.drop-shadow-2xl{--tw-drop-shadow-size:drop-shadow(0 25px 25px var(--tw-drop-shadow-color,#00000026));--tw-drop-shadow:drop-shadow(var(--drop-shadow-2xl));filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.ring-inset{--tw-ring-inset:inset}@media (hover:hover){.group-hover\:translate-x-1:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}}.before\:z-50:before,.after\:z-50:after{content:var(--tw-content);z-index:50}@media (hover:hover){.hover\:z-10:hover{z-index:10}.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\:scale-110:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\:scale-125:hover{--tw-scale-x:125%;--tw-scale-y:125%;--tw-scale-z:125%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\:border-accent\/40:hover{border-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.hover\:border-accent\/40:hover{border-color:color-mix(in oklab, var(--color-accent) 40%, transparent)}}.hover\:border-base-content\/20:hover{border-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.hover\:border-base-content\/20:hover{border-color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.hover\:border-primary\/40:hover{border-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.hover\:border-primary\/40:hover{border-color:color-mix(in oklab, var(--color-primary) 40%, transparent)}}.hover\:border-primary\/50:hover{border-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.hover\:border-primary\/50:hover{border-color:color-mix(in oklab, var(--color-primary) 50%, transparent)}}.hover\:border-secondary\/40:hover{border-color:var(--color-secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:border-secondary\/40:hover{border-color:color-mix(in oklab, var(--color-secondary) 40%, transparent)}}.hover\:bg-base-100:hover{background-color:var(--color-base-100)}.hover\:bg-base-200:hover{background-color:var(--color-base-200)}.hover\:bg-base-300:hover{background-color:var(--color-base-300)}.hover\:bg-white\/30:hover{background-color:#ffffff4d}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/30:hover{background-color:color-mix(in oklab, var(--color-white) 30%, transparent)}}.hover\:text-base-content:hover{color:var(--color-base-content)}.hover\:opacity-70:hover{opacity:.7}.hover\:opacity-100:hover{opacity:1}}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}@media (min-width:48rem){.md\:h-64{height:calc(var(--spacing) * 64)}.md\:w-64{width:calc(var(--spacing) * 64)}.md\:w-auto{width:auto}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.md\:text-9xl{font-size:var(--text-9xl);line-height:var(--tw-leading,var(--text-9xl--line-height))}}@media (min-width:64rem){.lg\:col-span-2{grid-column:span 2/span 2}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}}:root{font-size:14px}.input,.select,.textarea{transition:all .3s cubic-bezier(.4,0,.2,1)}:is(.input,.select,.textarea):focus,:is(.input,.select,.textarea):focus-within{outline-offset:1px!important;outline:1px solid #0000!important}:is(.input,.select,.textarea):hover:not(:focus){background-color:oklch(from var(--color-base-100) calc(l - .03) c h)}:is(.input,.select,.textarea):focus{--focus-color:var(--color-primary)}:is(.input,.select,.textarea):focus[class*=-secondary]{--focus-color:var(--color-secondary)}:is(.input,.select,.textarea):focus[class*=-accent]{--focus-color:var(--color-accent)}:is(.input,.select,.textarea):focus[class*=-neutral]{--focus-color:var(--color-neutral)}:is(.input,.select,.textarea):focus[class*=-ghost]{--focus-color:var(--color-base-content)}:is(.input,.select,.textarea):focus[class*=-info]{--focus-color:var(--color-info)}:is(.input,.select,.textarea):focus[class*=-success]{--focus-color:var(--color-success)}:is(.input,.select,.textarea):focus[class*=-warning]{--focus-color:var(--color-warning)}:is(.input,.select,.textarea):focus[class*=-error]{--focus-color:var(--color-error)}:is(.input,.select,.textarea):focus{background-color:oklch(from var(--focus-color) l c h / .05);border-color:var(--focus-color);box-shadow:0 0 0 4px oklch(from var(--focus-color) l c h / .25)}:is(.input,.select,.textarea):focus[class*=-ghost]{border-width:1px}.floating-label span{color:oklch(30% .01 260);font-size:1.1rem;transition:all .2s}.floating-label:focus-within span{color:oklch(25% .02 260);font-size:1.1rem}.floating-label:has(input:not(:placeholder-shown)) span{color:oklch(28% .01 260);font-size:1.1rem}.tab-content-inner{transform-origin:top;animation:.3s cubic-bezier(.4,0,.2,1) tabFadeIn}@keyframes tabFadeIn{0%{opacity:0;transform:scaleY(.95)}to{opacity:1;transform:scaleY(1)}}@keyframes rating{0%,40%{filter:brightness(1.05)contrast(1.05);scale:1.1}}@keyframes dropdown{0%{opacity:0}}@keyframes radio{0%{padding:5px}50%{padding:3px}}@keyframes toast{0%{opacity:0;scale:.9}to{opacity:1;scale:1}}@keyframes rotator{89.9999%,to{--first-item-position:0 0%}90%,99.9999%{--first-item-position:0 calc(var(--items) * 100%)}to{translate:0 -100%}}@keyframes skeleton{0%{background-position:150%}to{background-position:-50%}}@keyframes menu{0%{opacity:0}}@keyframes progress{50%{background-position-x:-115%}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes pulse{50%{opacity:.5}} \ No newline at end of file +@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-content:""}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-gray-500:oklch(55.1% .027 264.364);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-md:28rem;--container-3xl:48rem;--container-5xl:64rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-6xl:3.75rem;--text-6xl--line-height:1;--text-7xl:4.5rem;--text-7xl--line-height:1;--text-9xl:8rem;--text-9xl--line-height:1;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-bold:700;--font-weight-black:900;--tracking-tighter:-.05em;--tracking-tight:-.025em;--tracking-widest:.1em;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-3xl:1.5rem;--drop-shadow-2xl:0 25px 25px #00000026;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-3xl:64px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;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");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}@media (prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--color-base-100:oklch(25.33% .016 252.42);--color-base-200:oklch(23.26% .014 253.1);--color-base-300:oklch(21.15% .012 254.09);--color-base-content:oklch(97.807% .029 256.847);--color-primary:oklch(58% .233 277.117);--color-primary-content:oklch(96% .018 272.314);--color-secondary:oklch(65% .241 354.308);--color-secondary-content:oklch(94% .028 342.258);--color-accent:oklch(77% .152 181.912);--color-accent-content:oklch(38% .063 188.416);--color-neutral:oklch(14% .005 285.823);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(74% .16 232.661);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(76% .177 163.223);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .189 84.429);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(71% .194 13.428);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}}:root:has(input.theme-controller[value=light]:checked),[data-theme=light]{color-scheme:light;--color-base-100:oklch(100% 0 0);--color-base-200:oklch(98% 0 0);--color-base-300:oklch(95% 0 0);--color-base-content:oklch(21% .006 285.885);--color-primary:oklch(45% .24 277.023);--color-primary-content:oklch(93% .034 272.788);--color-secondary:oklch(65% .241 354.308);--color-secondary-content:oklch(94% .028 342.258);--color-accent:oklch(77% .152 181.912);--color-accent-content:oklch(38% .063 188.416);--color-neutral:oklch(14% .005 285.823);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(74% .16 232.661);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(76% .177 163.223);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .189 84.429);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(71% .194 13.428);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}:root{--fx-noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.34' numOctaves='4' stitchTiles='stitch'%3E%3C/feTurbulence%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23a)' opacity='0.2'%3E%3C/rect%3E%3C/svg%3E");scrollbar-color:currentColor #0000}@supports (color:color-mix(in lab, red, red)){:root{scrollbar-color:color-mix(in oklch, currentColor 35%, #0000) #0000}}@property --radialprogress{syntax:"";inherits:true;initial-value:0%}:root:not(span){overflow:var(--page-overflow)}:root{background:var(--page-scroll-bg,var(--root-bg));--page-scroll-bg-on:linear-gradient(var(--root-bg,#0000), var(--root-bg,#0000)) var(--root-bg,#0000)}@supports (color:color-mix(in lab, red, red)){:root{--page-scroll-bg-on:linear-gradient(var(--root-bg,#0000), var(--root-bg,#0000)) color-mix(in srgb, var(--root-bg,#0000), oklch(0% 0 0) calc(var(--page-has-backdrop,0) * 40%))}}:root{--page-scroll-transition-on:background-color .3s ease-out;transition:var(--page-scroll-transition);scrollbar-gutter:var(--page-scroll-gutter,unset);scrollbar-gutter:if(style(--page-has-scroll: 1): var(--page-scroll-gutter,unset) ; else: unset)}@keyframes set-page-has-scroll{0%,to{--page-has-scroll:1}}:root,[data-theme]{background:var(--page-scroll-bg,var(--root-bg));color:var(--color-base-content)}:where(:root,[data-theme]){--root-bg:var(--color-base-100)}:where(:root),:root:has(input.theme-controller[value=light]:checked),[data-theme=light]{color-scheme:light;--color-base-100:oklch(100% 0 0);--color-base-200:oklch(98% 0 0);--color-base-300:oklch(92% 0 0);--color-base-content:oklch(25% .006 285);--color-primary:oklch(25% .006 285);--color-primary-content:oklch(98% 0 0);--color-secondary:oklch(55% .046 257.417);--color-secondary-content:oklch(98% 0 0);--color-accent:oklch(96% 0 0);--color-accent-content:oklch(25% .006 285);--color-neutral:oklch(14% .005 285.823);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(74% .16 232);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(62% .17 163);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .18 84);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(60% .25 27);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.4rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}@media (prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--color-base-100:oklch(15% .005 285.823);--color-base-200:oklch(20% .005 285.823);--color-base-300:oklch(30% .005 285.823);--color-base-content:oklch(92% .004 286.32);--color-primary:oklch(98% 0 0);--color-primary-content:oklch(15% 0 0);--color-secondary:oklch(65% .046 257.417);--color-secondary-content:oklch(15% .005 285.823);--color-accent:oklch(25% 0 0);--color-accent-content:oklch(98% 0 0);--color-neutral:oklch(92% .004 286.32);--color-neutral-content:oklch(14% .005 285.823);--color-info:oklch(70% .1 230);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(65% .15 160);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(85% .15 90);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(55% .2 27);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.4rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}}:root:has(input.theme-controller[value=dark]:checked),[data-theme=dark]{color-scheme:dark;--color-base-100:oklch(15% .005 285.823);--color-base-200:oklch(20% .005 285.823);--color-base-300:oklch(30% .005 285.823);--color-base-content:oklch(92% .004 286.32);--color-primary:oklch(98% 0 0);--color-primary-content:oklch(15% 0 0);--color-secondary:oklch(65% .046 257.417);--color-secondary-content:oklch(15% .005 285.823);--color-accent:oklch(25% 0 0);--color-accent-content:oklch(98% 0 0);--color-neutral:oklch(92% .004 286.32);--color-neutral-content:oklch(14% .005 285.823);--color-info:oklch(70% .1 230);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(65% .15 160);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(85% .15 90);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(55% .2 27);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.4rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}}@layer components;@layer utilities{@layer daisyui.l1.l2.l3{.modal{pointer-events:none;visibility:hidden;width:100%;max-width:none;height:100%;max-height:none;color:inherit;transition:visibility .3s allow-discrete, background-color .3s ease-out, opacity .1s ease-out;overscroll-behavior:contain;z-index:999;scrollbar-gutter:auto;background-color:#0000;place-items:center;margin:0;padding:0;display:grid;position:fixed;inset:0;overflow:clip}.modal::backdrop{display:none}:where(.drawer-side){overflow:hidden}.drawer-side{pointer-events:none;visibility:hidden;z-index:10;overscroll-behavior:contain;opacity:0;width:100%;transition:opacity .2s ease-out .1s allow-discrete, visibility .3s ease-out .1s allow-discrete;inset-inline-start:0;background-color:#0000;grid-template-rows:repeat(1,minmax(0,1fr));grid-template-columns:repeat(1,minmax(0,1fr));grid-row-start:1;grid-column-start:1;place-items:flex-start start;height:100dvh;display:grid;position:fixed;top:0}.drawer-side>.drawer-overlay{cursor:pointer;background-color:oklch(0% 0 0/.4);place-self:stretch stretch;position:sticky;top:0}.drawer-side>*{grid-row-start:1;grid-column-start:1}.drawer-side>:not(.drawer-overlay){will-change:transform;transition:translate .3s ease-out,width .2s ease-out;translate:-100%}[dir=rtl] :is(.drawer-side>:not(.drawer-overlay)){translate:100%}.fab{pointer-events:none;z-index:999;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));white-space:nowrap;inset-inline-end:1rem;flex-direction:column-reverse;align-items:flex-end;gap:.5rem;display:flex;position:fixed;bottom:1rem}.fab>*{pointer-events:auto;align-items:center;gap:.5rem;display:flex}.fab>:hover,.fab>:has(:focus-visible){z-index:1}.fab>[tabindex]:first-child{transition-property:opacity,visibility,rotate;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);display:grid;position:relative}.fab .fab-close,.fab .fab-main-action{inset-inline-end:0;position:absolute;bottom:0}:is(.fab:focus-within:has(.fab-close),.fab:focus-within:has(.fab-main-action))>[tabindex]{opacity:0;rotate:90deg}.fab:focus-within>[tabindex]:first-child{pointer-events:none}.fab:focus-within>:nth-child(n+2){visibility:visible;--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y);opacity:1}.fab>:nth-child(n+2){visibility:hidden;--tw-scale-x:80%;--tw-scale-y:80%;--tw-scale-z:80%;scale:var(--tw-scale-x) var(--tw-scale-y);opacity:0;transition-property:opacity,scale,visibility;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.fab>:nth-child(n+2).fab-main-action,.fab>:nth-child(n+2).fab-close{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.fab>:nth-child(3){transition-delay:30ms}.fab>:nth-child(4){transition-delay:60ms}.fab>:nth-child(5){transition-delay:90ms}.fab>:nth-child(6){transition-delay:.12s}.drawer-toggle{appearance:none;opacity:0;width:0;height:0;position:fixed}:where(.drawer-toggle:checked~.drawer-side){scrollbar-color:currentColor oklch(0 0 0 / calc(var(--page-has-backdrop,0) * .4))}@supports (color:color-mix(in lab, red, red)){:where(.drawer-toggle:checked~.drawer-side){scrollbar-color:color-mix(in oklch, currentColor 35%, #0000) oklch(0 0 0 / calc(var(--page-has-backdrop,0) * .4))}}:where(:root:has(.drawer-toggle:checked)){--page-has-backdrop:1;--page-overflow:hidden;--page-scroll-bg:var(--page-scroll-bg-on);--page-scroll-gutter:stable;--page-scroll-transition:var(--page-scroll-transition-on);animation:forwards set-page-has-scroll;animation-timeline:scroll()}.tooltip{--tt-bg:var(--color-neutral);--tt-off:calc(100% + .5rem);--tt-tail:calc(100% + 1px + .25rem);display:inline-block;position:relative}.tooltip>.tooltip-content,.tooltip[data-tip]:before{border-radius:var(--radius-field);text-align:center;white-space:normal;max-width:20rem;color:var(--color-neutral-content);opacity:0;background-color:var(--tt-bg);pointer-events:none;z-index:2;--tw-content:attr(data-tip);content:var(--tw-content);width:max-content;padding-block:.25rem;padding-inline:.5rem;font-size:.875rem;line-height:1.25;position:absolute}.tooltip:after{opacity:0;background-color:var(--tt-bg);content:"";pointer-events:none;--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");width:.625rem;height:.25rem;-webkit-mask-position:-1px 0;mask-position:-1px 0;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-image:var(--mask-tooltip);-webkit-mask-image:var(--mask-tooltip);mask-image:var(--mask-tooltip);display:block;position:absolute}@media (prefers-reduced-motion:no-preference){.tooltip>.tooltip-content,.tooltip[data-tip]:before,.tooltip:after{transition:opacity .2s cubic-bezier(.4,0,.2,1) 75ms,transform .2s cubic-bezier(.4,0,.2,1) 75ms}}:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible))>.tooltip-content,:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible))[data-tip]:before,:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible)):after{opacity:1;--tt-pos:0rem}@media (prefers-reduced-motion:no-preference){:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible))>.tooltip-content,:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible))[data-tip]:before,:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible)):after{transition:opacity .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1)}}.tab{cursor:pointer;appearance:none;text-align:center;webkit-user-select:none;-webkit-user-select:none;user-select:none;flex-wrap:wrap;justify-content:center;align-items:center;display:inline-flex;position:relative}@media (hover:hover){.tab:hover{color:var(--color-base-content)}}.tab{--tab-p:.75rem;--tab-bg:var(--color-base-100);--tab-border-color:var(--color-base-300);--tab-radius-ss:0;--tab-radius-se:0;--tab-radius-es:0;--tab-radius-ee:0;--tab-order:0;--tab-radius-min:calc(.75rem - var(--border));--tab-radius-limit:min(var(--radius-field), var(--tab-radius-min));--tab-radius-grad:#0000 calc(69% - var(--border)), var(--tab-border-color) calc(69% - var(--border) + .25px), var(--tab-border-color) 69%, var(--tab-bg) calc(69% + .25px);order:var(--tab-order);height:var(--tab-height);padding-inline:var(--tab-p);border-color:#0000;font-size:.875rem}.tab:is(input[type=radio]){min-width:fit-content}.tab:is(input[type=radio]):after{--tw-content:attr(aria-label);content:var(--tw-content)}.tab:is(label){position:relative}.tab:is(label) input{cursor:pointer;appearance:none;opacity:0;position:absolute;inset:0}:is(.tab:checked,.tab:is(label:has(:checked)),.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]))+.tab-content{display:block}.tab:not(:checked,label:has(:checked),:hover,.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]){color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.tab:not(:checked,label:has(:checked),:hover,.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]){color:color-mix(in oklab, var(--color-base-content) 50%, transparent)}}.tab:not(input):empty{cursor:default;flex-grow:1}.tab:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.tab:focus{outline-offset:2px;outline:2px solid #0000}}.tab:focus-visible,.tab:is(label:has(:checked:focus-visible)){outline-offset:-5px;outline:2px solid}.tab[disabled]{pointer-events:none;opacity:.4}.tab\!{cursor:pointer!important;appearance:none!important;text-align:center!important;webkit-user-select:none!important;-webkit-user-select:none!important;user-select:none!important;flex-wrap:wrap!important;justify-content:center!important;align-items:center!important;display:inline-flex!important;position:relative!important}@media (hover:hover){.tab\!:hover{color:var(--color-base-content)!important}}.tab\!{--tab-p:.75rem!important;--tab-bg:var(--color-base-100)!important;--tab-border-color:var(--color-base-300)!important;--tab-radius-ss:0!important;--tab-radius-se:0!important;--tab-radius-es:0!important;--tab-radius-ee:0!important;--tab-order:0!important;--tab-radius-min:calc(.75rem - var(--border))!important;--tab-radius-limit:min(var(--radius-field), var(--tab-radius-min))!important;--tab-radius-grad:#0000 calc(69% - var(--border)), var(--tab-border-color) calc(69% - var(--border) + .25px), var(--tab-border-color) 69%, var(--tab-bg) calc(69% + .25px)!important;order:var(--tab-order)!important;height:var(--tab-height)!important;padding-inline:var(--tab-p)!important;border-color:#0000!important;font-size:.875rem!important}.tab\!:is(input[type=radio]){min-width:fit-content!important}.tab\!:is(input[type=radio]):after{--tw-content:attr(aria-label)!important;content:var(--tw-content)!important}.tab\!:is(label){position:relative!important}.tab\!:is(label) input{cursor:pointer!important;appearance:none!important;opacity:0!important;position:absolute!important;inset:0!important}:is(.tab\!:checked,.tab\!:is(label:has(:checked)),.tab\!:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]))+.tab-content{display:block!important}.tab\!:not(:checked,label:has(:checked),:hover,.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]){color:var(--color-base-content)!important}@supports (color:color-mix(in lab, red, red)){.tab\!:not(:checked,label:has(:checked),:hover,.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]){color:color-mix(in oklab, var(--color-base-content) 50%, transparent)!important}}.tab\!:not(input):empty{cursor:default!important;flex-grow:1!important}.tab\!:focus{--tw-outline-style:none!important;outline-style:none!important}@media (forced-colors:active){.tab\!:focus{outline-offset:2px!important;outline:2px solid #0000!important}}.tab\!:focus-visible,.tab\!:is(label:has(:checked:focus-visible)){outline-offset:-5px!important;outline:2px solid!important}.tab\![disabled]{pointer-events:none!important;opacity:.4!important}.menu{--menu-active-fg:var(--color-neutral-content);--menu-active-bg:var(--color-neutral);flex-flow:column wrap;width:fit-content;padding:.5rem;font-size:.875rem;display:flex}.menu :where(li ul){white-space:nowrap;margin-inline-start:1rem;padding-inline-start:.5rem;position:relative}.menu :where(li ul):before{background-color:var(--color-base-content);opacity:.1;width:var(--border);content:"";inset-inline-start:0;position:absolute;top:.75rem;bottom:.75rem}.menu :where(li>.menu-dropdown:not(.menu-dropdown-show)){display:none}.menu :where(li:not(.menu-title)>:not(ul,details,.menu-title,.btn)),.menu :where(li:not(.menu-title)>details>summary:not(.menu-title)){border-radius:var(--radius-field);text-align:start;text-wrap:balance;-webkit-user-select:none;user-select:none;grid-auto-columns:minmax(auto,max-content) auto max-content;grid-auto-flow:column;align-content:flex-start;align-items:center;gap:.5rem;padding-block:.375rem;padding-inline:.75rem;transition-property:color,background-color,box-shadow;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1);display:grid}.menu :where(li>details>summary){--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.menu :where(li>details>summary){outline-offset:2px;outline:2px solid #0000}}.menu :where(li>details>summary)::-webkit-details-marker{display:none}:is(.menu :where(li>details>summary),.menu :where(li>.menu-dropdown-toggle)):after{content:"";transform-origin:50%;pointer-events:none;justify-self:flex-end;width:.375rem;height:.375rem;transition-property:rotate,translate;transition-duration:.2s;display:block;translate:0 -1px;rotate:-135deg;box-shadow:inset 2px 2px}.menu details{interpolate-size:allow-keywords;overflow:hidden}.menu details::details-content{block-size:0}@media (prefers-reduced-motion:no-preference){.menu details::details-content{transition-behavior:allow-discrete;transition-property:block-size,content-visibility;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1)}}.menu details[open]::details-content{block-size:auto}.menu :where(li>details[open]>summary):after,.menu :where(li>.menu-dropdown-toggle.menu-dropdown-show):after{translate:0 1px;rotate:45deg}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn).menu-focus,.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn):focus-visible{cursor:pointer;background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn).menu-focus,.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn):focus-visible{background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn).menu-focus,.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn):focus-visible{color:var(--color-base-content);--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn).menu-focus,.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn):focus-visible{outline-offset:2px;outline:2px solid #0000}}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){cursor:pointer;background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){outline-offset:2px;outline:2px solid #0000}}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){box-shadow:inset 0 1px oklch(0% 0 0/.01),inset 0 -1px oklch(100% 0 0/.01)}.menu :where(li:empty){background-color:var(--color-base-content);opacity:.1;height:1px;margin:.5rem 1rem}.menu :where(li){flex-flow:column wrap;flex-shrink:0;align-items:stretch;display:flex;position:relative}.menu :where(li) .badge{justify-self:flex-end}.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active{outline-offset:2px;outline:2px solid #0000}}.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active{color:var(--menu-active-fg);background-color:var(--menu-active-bg);background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--fx-noise)}:is(.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active):not(:is(.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active):active){box-shadow:0 2px calc(var(--depth) * 3px) -2px var(--menu-active-bg)}.menu :where(li).menu-disabled{pointer-events:none;color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.menu :where(li).menu-disabled{color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.menu .dropdown:focus-within .menu-dropdown-toggle:after{translate:0 1px;rotate:45deg}.menu .dropdown-content{margin-top:.5rem;padding:.5rem}.menu .dropdown-content:before{display:none}.floating-label{display:block;position:relative}.floating-label input{display:block}.floating-label input::placeholder,.floating-label textarea::placeholder{transition:top .1s ease-out,translate .1s ease-out,scale .1s ease-out,opacity .1s ease-out}.floating-label>span{z-index:1;background-color:var(--color-base-100);opacity:0;inset-inline-start:.75rem;top:calc(var(--size-field,.25rem) * 10 / 2);pointer-events:none;border-radius:2px;padding-inline:.25rem;font-size:.875rem;line-height:1;transition:top .1s ease-out,translate .1s ease-out,scale .1s ease-out,opacity .1s ease-out;position:absolute;translate:0 -50%}:is(.floating-label:focus-within,.floating-label:not(:has(input:placeholder-shown,textarea:placeholder-shown))) ::placeholder{opacity:0;pointer-events:auto;top:0;translate:-12.5% calc(-50% - .125em);scale:.75}:is(.floating-label:focus-within,.floating-label:not(:has(input:placeholder-shown,textarea:placeholder-shown)))>span{opacity:1;pointer-events:auto;z-index:2;top:0;translate:-12.5% calc(-50% - .125em);scale:.75}.floating-label:has(:disabled,[disabled])>span{opacity:0}.floating-label:has(.input-xs,.select-xs,.textarea-xs) span{top:calc(var(--size-field,.25rem) * 6 / 2);font-size:.6875rem}.floating-label:has(.input-sm,.select-sm,.textarea-sm) span{top:calc(var(--size-field,.25rem) * 8 / 2);font-size:.75rem}.floating-label:has(.input-md,.select-md,.textarea-md) span{top:calc(var(--size-field,.25rem) * 10 / 2);font-size:.875rem}.floating-label:has(.input-lg,.select-lg,.textarea-lg) span{top:calc(var(--size-field,.25rem) * 12 / 2);font-size:1.125rem}.floating-label:has(.input-xl,.select-xl,.textarea-xl) span{top:calc(var(--size-field,.25rem) * 14 / 2);font-size:1.375rem}.dropdown{position-area:var(--anchor-v,bottom) var(--anchor-h,span-right);display:inline-block;position:relative}.dropdown>:not(:has(~[class*=dropdown-content])):focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.dropdown>:not(:has(~[class*=dropdown-content])):focus{outline-offset:2px;outline:2px solid #0000}}.dropdown .dropdown-content{position:absolute}.dropdown.dropdown-close .dropdown-content,.dropdown:not(details,.dropdown-open,.dropdown-hover:hover,:focus-within) .dropdown-content,.dropdown.dropdown-hover:not(:hover) [tabindex]:first-child:focus:not(:focus-visible)~.dropdown-content{transform-origin:top;opacity:0;display:none;scale:.95}.dropdown[popover],.dropdown .dropdown-content{z-index:999}@media (prefers-reduced-motion:no-preference){.dropdown[popover],.dropdown .dropdown-content{transition-behavior:allow-discrete;transition-property:opacity,scale,display;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);animation:.2s dropdown}}@starting-style{.dropdown[popover],.dropdown .dropdown-content{opacity:0;scale:.95}}:is(.dropdown:not(.dropdown-close).dropdown-open,.dropdown:not(.dropdown-close):not(.dropdown-hover):focus,.dropdown:not(.dropdown-close):focus-within)>[tabindex]:first-child{pointer-events:none}:is(.dropdown:not(.dropdown-close).dropdown-open,.dropdown:not(.dropdown-close):not(.dropdown-hover):focus,.dropdown:not(.dropdown-close):focus-within) .dropdown-content,.dropdown:not(.dropdown-close).dropdown-hover:hover .dropdown-content{opacity:1;scale:1}.dropdown:is(details) summary::-webkit-details-marker{display:none}.dropdown:where([popover]){background:0 0}.dropdown[popover]{color:inherit;position:fixed}@supports not (position-area:bottom){.dropdown[popover]{margin:auto}.dropdown[popover].dropdown-close{transform-origin:top;opacity:0;display:none;scale:.95}.dropdown[popover].dropdown-open:not(:popover-open){transform-origin:top;opacity:0;display:none;scale:.95}.dropdown[popover]::backdrop{background-color:oklab(0% none none/.3)}}:is(.dropdown[popover].dropdown-close,.dropdown[popover]:not(.dropdown-open,:popover-open)){transform-origin:top;opacity:0;display:none;scale:.95}:where(.btn){width:unset}.btn{cursor:pointer;text-align:center;vertical-align:middle;outline-offset:2px;webkit-user-select:none;-webkit-user-select:none;user-select:none;padding-inline:var(--btn-p);color:var(--btn-fg);--tw-prose-links:var(--btn-fg);height:var(--size);font-size:var(--fontsize,.875rem);outline-color:var(--btn-color,var(--color-base-content));background-color:var(--btn-bg);background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--btn-noise);border-width:var(--border);border-style:solid;border-color:var(--btn-border);text-shadow:0 .5px oklch(100% 0 0 / calc(var(--depth) * .15));touch-action:manipulation;box-shadow:0 .5px 0 .5px oklch(100% 0 0 / calc(var(--depth) * 6%)) inset, var(--btn-shadow);--size:calc(var(--size-field,.25rem) * 10);--btn-bg:var(--btn-color,var(--color-base-200));--btn-fg:var(--color-base-content);--btn-p:1rem;--btn-border:var(--btn-bg);border-start-start-radius:var(--join-ss,var(--radius-field));border-start-end-radius:var(--join-se,var(--radius-field));border-end-end-radius:var(--join-ee,var(--radius-field));border-end-start-radius:var(--join-es,var(--radius-field));flex-wrap:nowrap;flex-shrink:0;justify-content:center;align-items:center;gap:.375rem;font-weight:600;transition-property:color,background-color,border-color,box-shadow;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1);display:inline-flex}@supports (color:color-mix(in lab, red, red)){.btn{--btn-border:color-mix(in oklab, var(--btn-bg), #000 calc(var(--depth) * 5%))}}.btn{--btn-shadow:0 3px 2px -2px var(--btn-bg), 0 4px 3px -2px var(--btn-bg)}@supports (color:color-mix(in lab, red, red)){.btn{--btn-shadow:0 3px 2px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000), 0 4px 3px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000)}}.btn{--btn-noise:var(--fx-noise)}@media (hover:hover){.btn:hover{--btn-bg:var(--btn-color,var(--color-base-200))}@supports (color:color-mix(in lab, red, red)){.btn:hover{--btn-bg:color-mix(in oklab, var(--btn-color,var(--color-base-200)), #000 7%)}}}.btn:focus-visible,.btn:has(:focus-visible){isolation:isolate;outline-width:2px;outline-style:solid}.btn:active:not(.btn-active){--btn-bg:var(--btn-color,var(--color-base-200));translate:0 .5px}@supports (color:color-mix(in lab, red, red)){.btn:active:not(.btn-active){--btn-bg:color-mix(in oklab, var(--btn-color,var(--color-base-200)), #000 5%)}}.btn:active:not(.btn-active){--btn-border:var(--btn-color,var(--color-base-200))}@supports (color:color-mix(in lab, red, red)){.btn:active:not(.btn-active){--btn-border:color-mix(in oklab, var(--btn-color,var(--color-base-200)), #000 7%)}}.btn:active:not(.btn-active){--btn-shadow:0 0 0 0 oklch(0% 0 0/0), 0 0 0 0 oklch(0% 0 0/0)}.btn:is(input[type=checkbox],input[type=radio]){appearance:none}.btn:is(input[type=checkbox],input[type=radio])[aria-label]:after{--tw-content:attr(aria-label);content:var(--tw-content)}.btn:where(input:checked:not(.filter .btn)){--btn-color:var(--color-primary);--btn-fg:var(--color-primary-content);isolation:isolate}.loading{pointer-events:none;aspect-ratio:1;vertical-align:middle;width:calc(var(--size-selector,.25rem) * 6);background-color:currentColor;display:inline-block;-webkit-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");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");-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:100%;mask-size:100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.collapse{border-radius:var(--radius-box,1rem);isolation:isolate;grid-template-rows:max-content 0fr;grid-template-columns:minmax(0,1fr);width:100%;display:grid;position:relative;overflow:hidden}@media (prefers-reduced-motion:no-preference){.collapse{transition:grid-template-rows .2s}}.collapse>input:is([type=checkbox],[type=radio]){appearance:none;opacity:0;z-index:1;grid-row-start:1;grid-column-start:1;width:100%;min-height:1lh;padding:1rem;padding-inline-end:3rem;transition:background-color .2s ease-out}.collapse:is([open],[tabindex]:focus:not(.collapse-close),[tabindex]:focus-within:not(.collapse-close)),.collapse:not(.collapse-close):has(>input:is([type=checkbox],[type=radio]):checked){grid-template-rows:max-content 1fr}.collapse:is([open],[tabindex]:focus:not(.collapse-close),[tabindex]:focus-within:not(.collapse-close))>.collapse-content,.collapse:not(.collapse-close)>:where(input:is([type=checkbox],[type=radio]):checked~.collapse-content){content-visibility:visible;min-height:fit-content}@supports not (content-visibility:visible){.collapse:is([open],[tabindex]:focus:not(.collapse-close),[tabindex]:focus-within:not(.collapse-close))>.collapse-content,.collapse:not(.collapse-close)>:where(input:is([type=checkbox],[type=radio]):checked~.collapse-content){visibility:visible}}.collapse:focus-visible,.collapse:has(>input:is([type=checkbox],[type=radio]):focus-visible),.collapse:has(summary:focus-visible){outline-color:var(--color-base-content);outline-offset:2px;outline-width:2px;outline-style:solid}.collapse:not(.collapse-close)>input[type=checkbox],.collapse:not(.collapse-close)>input[type=radio]:not(:checked),.collapse:not(.collapse-close)>.collapse-title{cursor:pointer}:is(.collapse[tabindex]:focus:not(.collapse-close,.collapse[open]),.collapse[tabindex]:focus-within:not(.collapse-close,.collapse[open]))>.collapse-title{cursor:unset}.collapse:is([open],[tabindex]:focus:not(.collapse-close),[tabindex]:focus-within:not(.collapse-close))>:where(.collapse-content),.collapse:not(.collapse-close)>:where(input:is([type=checkbox],[type=radio]):checked~.collapse-content){padding-bottom:1rem}.collapse:is(details){width:100%}@media (prefers-reduced-motion:no-preference){.collapse:is(details)::details-content{transition:content-visibility .2s allow-discrete, visibility .2s allow-discrete, min-height .2s ease-out allow-discrete, padding .1s ease-out 20ms, background-color .2s ease-out, height .2s;interpolate-size:allow-keywords;height:0}.collapse:is(details):where([open])::details-content{height:auto}}.collapse:is(details) summary{display:block;position:relative}.collapse:is(details) summary::-webkit-details-marker{display:none}.collapse:is(details)>.collapse-content{content-visibility:visible}.collapse:is(details) summary{outline:none}.collapse-content{content-visibility:hidden;min-height:0;cursor:unset;grid-row-start:2;grid-column-start:1;padding-left:1rem;padding-right:1rem}@supports not (content-visibility:hidden){.collapse-content{visibility:hidden}}@media (prefers-reduced-motion:no-preference){.collapse-content{transition:content-visibility .2s allow-discrete, visibility .2s allow-discrete, min-height .2s ease-out allow-discrete, padding .1s ease-out 20ms, background-color .2s ease-out}}.radial-progress{height:var(--size);width:var(--size);vertical-align:middle;box-sizing:content-box;--value:0;--size:5rem;--thickness:calc(var(--size) / 10);--radialprogress:calc(var(--value) * 1%);background-color:#0000;border-radius:3.40282e38px;place-content:center;transition:--radialprogress .3s linear;display:inline-grid;position:relative}.radial-progress:before{content:"";background:radial-gradient(farthest-side, currentColor 98%, #0000) top/var(--thickness) var(--thickness) no-repeat, conic-gradient(currentColor var(--radialprogress), #0000 0);webkit-mask:radial-gradient(farthest-side, #0000 calc(100% - var(--thickness)), #000 calc(100% + .5px - var(--thickness)));-webkit-mask:radial-gradient(farthest-side, #0000 calc(100% - var(--thickness)), #000 calc(100% + .5px - var(--thickness)));-webkit-mask:radial-gradient(farthest-side, #0000 calc(100% - var(--thickness)), #000 calc(100% + .5px - var(--thickness)));mask:radial-gradient(farthest-side, #0000 calc(100% - var(--thickness)), #000 calc(100% + .5px - var(--thickness)));border-radius:3.40282e38px;position:absolute;inset:0}.radial-progress:after{content:"";inset:calc(50% - var(--thickness) / 2);transform:rotate(calc(var(--value) * 3.6deg - 90deg)) translate(calc(var(--size) / 2 - 50%));background-color:currentColor;border-radius:3.40282e38px;transition:transform .3s linear;position:absolute}.list{flex-direction:column;font-size:.875rem;display:flex}.list .list-row{--list-grid-cols:minmax(0, auto) 1fr;border-radius:var(--radius-box);word-break:break-word;grid-auto-flow:column;grid-template-columns:var(--list-grid-cols);gap:1rem;padding:1rem;display:grid;position:relative}:is(.list>:not(:last-child).list-row,.list>:not(:last-child) .list-row):after{content:"";border-bottom:var(--border) solid;inset-inline:var(--radius-box);border-color:var(--color-base-content);position:absolute;bottom:0}@supports (color:color-mix(in lab, red, red)){:is(.list>:not(:last-child).list-row,.list>:not(:last-child) .list-row):after{border-color:color-mix(in oklab, var(--color-base-content) 5%, transparent)}}.toggle{border:var(--border) solid currentColor;color:var(--input-color);cursor:pointer;appearance:none;vertical-align:middle;webkit-user-select:none;-webkit-user-select:none;user-select:none;--radius-selector-max:calc(var(--radius-selector) + var(--radius-selector) + var(--radius-selector));border-radius:calc(var(--radius-selector) + min(var(--toggle-p), var(--radius-selector-max)) + min(var(--border), var(--radius-selector-max)));padding:var(--toggle-p);flex-shrink:0;grid-template-columns:0fr 1fr 1fr;place-content:center;display:inline-grid;position:relative;box-shadow:inset 0 1px}@supports (color:color-mix(in lab, red, red)){.toggle{box-shadow:0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000) inset}}.toggle{--input-color:var(--color-base-content);transition:color .3s,grid-template-columns .2s}@supports (color:color-mix(in lab, red, red)){.toggle{--input-color:color-mix(in oklab, var(--color-base-content) 50%, #0000)}}.toggle{--toggle-p:calc(var(--size) * .125);--size:calc(var(--size-selector,.25rem) * 6);width:calc((var(--size) * 2) - (var(--border) + var(--toggle-p)) * 2);height:var(--size)}.toggle>*{z-index:1;cursor:pointer;appearance:none;background-color:#0000;border:none;grid-column:2/span 1;grid-row-start:1;height:100%;padding:.125rem;transition:opacity .2s,rotate .4s}.toggle>:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.toggle>:focus{outline-offset:2px;outline:2px solid #0000}}.toggle>:nth-child(2){color:var(--color-base-100);rotate:0deg}.toggle>:nth-child(3){color:var(--color-base-100);opacity:0;rotate:-15deg}.toggle:has(:checked)>:nth-child(2){opacity:0;rotate:15deg}.toggle:has(:checked)>:nth-child(3){opacity:1;rotate:0deg}.toggle:before{aspect-ratio:1;border-radius:var(--radius-selector);--tw-content:"";content:var(--tw-content);width:100%;height:100%;box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px currentColor;background-color:currentColor;grid-row-start:1;grid-column-start:2;transition:background-color .1s,translate .2s,inset-inline-start .2s;position:relative;inset-inline-start:0;translate:0}@supports (color:color-mix(in lab, red, red)){.toggle:before{box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000)}}.toggle:before{background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--fx-noise)}@media (forced-colors:active){.toggle:before{outline-style:var(--tw-outline-style);outline-offset:calc(1px * -1);outline-width:1px}}@media print{.toggle:before{outline-offset:-1rem;outline:.25rem solid}}.toggle:focus-visible,.toggle:has(:focus-visible){outline-offset:2px;outline:2px solid}.toggle:checked,.toggle[aria-checked=true],.toggle:has(>input:checked){background-color:var(--color-base-100);--input-color:var(--color-base-content);grid-template-columns:1fr 1fr 0fr}:is(.toggle:checked,.toggle[aria-checked=true],.toggle:has(>input:checked)):before{background-color:currentColor}@starting-style{:is(.toggle:checked,.toggle[aria-checked=true],.toggle:has(>input:checked)):before{opacity:0}}.toggle:indeterminate{grid-template-columns:.5fr 1fr .5fr}.toggle:disabled{cursor:not-allowed;opacity:.3}.toggle:disabled:before{border:var(--border) solid currentColor;background-color:#0000}.input{cursor:text;border:var(--border) solid #0000;appearance:none;background-color:var(--color-base-100);vertical-align:middle;white-space:nowrap;width:clamp(3rem,20rem,100%);height:var(--size);font-size:max(var(--font-size,.875rem), .875rem);touch-action:manipulation;border-color:var(--input-color);box-shadow:0 1px var(--input-color) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset;border-start-start-radius:var(--join-ss,var(--radius-field));border-start-end-radius:var(--join-se,var(--radius-field));border-end-end-radius:var(--join-ee,var(--radius-field));border-end-start-radius:var(--join-es,var(--radius-field));flex-shrink:1;align-items:center;gap:.5rem;padding-inline:.75rem;display:inline-flex;position:relative}@supports (color:color-mix(in lab, red, red)){.input{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) * .1)) inset}}.input{--size:calc(var(--size-field,.25rem) * 10);--input-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.input{--input-color:color-mix(in oklab, var(--color-base-content) 20%, #0000)}}.input:where(input){display:inline-flex}.input :where(input){appearance:none;background-color:#0000;border:none;width:100%;height:100%;display:inline-flex}.input :where(input):focus,.input :where(input):focus-within{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.input :where(input):focus,.input :where(input):focus-within{outline-offset:2px;outline:2px solid #0000}}.input :where(input[type=url]),.input :where(input[type=email]){direction:ltr}.input :where(input[type=date]){display:inline-flex}.input:focus,.input:focus-within{--input-color:var(--color-base-content);box-shadow:0 1px var(--input-color)}@supports (color:color-mix(in lab, red, red)){.input:focus,.input:focus-within{box-shadow:0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000)}}.input:focus,.input:focus-within{outline:2px solid var(--input-color);outline-offset:2px;isolation:isolate}@media (pointer:coarse){@supports (-webkit-touch-callout:none){.input:focus,.input:focus-within{--font-size:1rem}}}.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input{cursor:not-allowed;border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input{color:color-mix(in oklab, var(--color-base-content) 40%, transparent)}}:is(.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input)::placeholder{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:is(.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input)::placeholder{color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input{box-shadow:none}.input:has(>input[disabled])>input[disabled]{cursor:not-allowed}.input::-webkit-date-and-time-value{text-align:inherit}.input[type=number]::-webkit-inner-spin-button{margin-block:-.75rem;margin-inline-end:-.75rem}.input::-webkit-calendar-picker-indicator{position:absolute;inset-inline-end:.75em}.input:has(>input[type=date]) :where(input[type=date]){webkit-appearance:none;appearance:none;display:inline-flex}.input:has(>input[type=date]) input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;width:1em;height:1em;position:absolute;inset-inline-end:.75em}.indicator{width:max-content;display:inline-flex;position:relative}.indicator :where(.indicator-item){z-index:1;white-space:nowrap;top:var(--indicator-t,0);bottom:var(--indicator-b,auto);left:var(--indicator-s,auto);right:var(--indicator-e,0);translate:var(--indicator-x,50%) var(--indicator-y,-50%);position:absolute}.table{border-collapse:separate;--tw-border-spacing-x:calc(.25rem * 0);--tw-border-spacing-y:calc(.25rem * 0);width:100%;border-spacing:var(--tw-border-spacing-x) var(--tw-border-spacing-y);border-radius:var(--radius-box);text-align:left;font-size:.875rem;position:relative}.table:where(:dir(rtl),[dir=rtl],[dir=rtl] *){text-align:right}@media (hover:hover){:is(.table tr.row-hover,.table tr.row-hover:nth-child(2n)):hover{background-color:var(--color-base-200)}}.table :where(th,td){vertical-align:middle;padding-block:.75rem;padding-inline:1rem}.table :where(thead,tfoot){white-space:nowrap;color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.table :where(thead,tfoot){color:color-mix(in oklab, var(--color-base-content) 60%, transparent)}}.table :where(thead,tfoot){font-size:.875rem;font-weight:600}.table :where(tfoot tr:first-child :is(td,th)){border-top:var(--border) solid var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.table :where(tfoot tr:first-child :is(td,th)){border-top:var(--border) solid color-mix(in oklch, var(--color-base-content) 5%, #0000)}}.table :where(.table-pin-rows thead tr){z-index:1;background-color:var(--color-base-100);position:sticky;top:0}.table :where(.table-pin-rows tfoot tr){z-index:1;background-color:var(--color-base-100);position:sticky;bottom:0}.table :where(.table-pin-cols tr th){background-color:var(--color-base-100);position:sticky;left:0;right:0}.table :where(thead tr :is(td,th),tbody tr:not(:last-child) :is(td,th)){border-bottom:var(--border) solid var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.table :where(thead tr :is(td,th),tbody tr:not(:last-child) :is(td,th)){border-bottom:var(--border) solid color-mix(in oklch, var(--color-base-content) 5%, #0000)}}.steps{counter-reset:step;grid-auto-columns:1fr;grid-auto-flow:column;display:inline-grid;overflow:auto hidden}.steps .step{text-align:center;--step-bg:var(--color-base-300);--step-fg:var(--color-base-content);grid-template-rows:40px 1fr;grid-template-columns:auto;place-items:center;min-width:4rem;display:grid}.steps .step:before{width:100%;height:.5rem;color:var(--step-bg);background-color:var(--step-bg);content:"";border:1px solid;grid-row-start:1;grid-column-start:1;margin-inline-start:-100%;top:0}.steps .step>.step-icon,.steps .step:not(:has(.step-icon)):after{--tw-content:counter(step);content:var(--tw-content);counter-increment:step;z-index:1;color:var(--step-fg);background-color:var(--step-bg);border:1px solid var(--step-bg);border-radius:3.40282e38px;grid-row-start:1;grid-column-start:1;place-self:center;place-items:center;width:2rem;height:2rem;display:grid;position:relative}.steps .step:first-child:before{--tw-content:none;content:var(--tw-content)}.steps .step[data-content]:after{--tw-content:attr(data-content);content:var(--tw-content)}.range{appearance:none;webkit-appearance:none;--range-thumb:var(--color-base-100);--range-thumb-size:calc(var(--size-selector,.25rem) * 6);--range-progress:currentColor;--range-fill:1;--range-p:.25rem;--range-bg:currentColor}@supports (color:color-mix(in lab, red, red)){.range{--range-bg:color-mix(in oklab, currentColor 10%, #0000)}}.range{cursor:pointer;vertical-align:middle;--radius-selector-max:calc(var(--radius-selector) + var(--radius-selector) + var(--radius-selector));border-radius:calc(var(--radius-selector) + min(var(--range-p), var(--radius-selector-max)));width:clamp(3rem,20rem,100%);height:var(--range-thumb-size);background-color:#0000;border:none;overflow:hidden}[dir=rtl] .range{--range-dir:-1}.range:focus{outline:none}.range:focus-visible{outline-offset:2px;outline:2px solid}.range::-webkit-slider-runnable-track{background-color:var(--range-bg);border-radius:var(--radius-selector);width:100%;height:calc(var(--range-thumb-size) * .5)}@media (forced-colors:active){.range::-webkit-slider-runnable-track{border:1px solid}.range::-moz-range-track{border:1px solid}}.range::-webkit-slider-thumb{box-sizing:border-box;border-radius:calc(var(--radius-selector) + min(var(--range-p), var(--radius-selector-max)));background-color:var(--range-thumb);height:var(--range-thumb-size);width:var(--range-thumb-size);border:var(--range-p) solid;appearance:none;webkit-appearance:none;color:var(--range-progress);box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px currentColor, 0 0 0 2rem var(--range-thumb) inset, calc((var(--range-dir,1) * -100cqw) - (var(--range-dir,1) * var(--range-thumb-size) / 2)) 0 0 calc(100cqw * var(--range-fill));position:relative;top:50%;transform:translateY(-50%)}@supports (color:color-mix(in lab, red, red)){.range::-webkit-slider-thumb{box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000), 0 0 0 2rem var(--range-thumb) inset, calc((var(--range-dir,1) * -100cqw) - (var(--range-dir,1) * var(--range-thumb-size) / 2)) 0 0 calc(100cqw * var(--range-fill))}}.range::-moz-range-track{background-color:var(--range-bg);border-radius:var(--radius-selector);width:100%;height:calc(var(--range-thumb-size) * .5)}.range::-moz-range-thumb{box-sizing:border-box;border-radius:calc(var(--radius-selector) + min(var(--range-p), var(--radius-selector-max)));height:var(--range-thumb-size);width:var(--range-thumb-size);border:var(--range-p) solid;color:var(--range-progress);box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px currentColor, 0 0 0 2rem var(--range-thumb) inset, calc((var(--range-dir,1) * -100cqw) - (var(--range-dir,1) * var(--range-thumb-size) / 2)) 0 0 calc(100cqw * var(--range-fill));background-color:currentColor;position:relative;top:50%}@supports (color:color-mix(in lab, red, red)){.range::-moz-range-thumb{box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000), 0 0 0 2rem var(--range-thumb) inset, calc((var(--range-dir,1) * -100cqw) - (var(--range-dir,1) * var(--range-thumb-size) / 2)) 0 0 calc(100cqw * var(--range-fill))}}.range:disabled{cursor:not-allowed;opacity:.3}.chat-bubble{border-radius:var(--radius-field);background-color:var(--color-base-300);width:fit-content;color:var(--color-base-content);grid-row-end:3;min-width:2.5rem;max-width:90%;min-height:2rem;padding-block:.5rem;padding-inline:1rem;display:block;position:relative}.chat-bubble:before{background-color:inherit;content:"";width:.75rem;height:.75rem;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-image:var(--mask-chat);-webkit-mask-image:var(--mask-chat);mask-image:var(--mask-chat);position:absolute;bottom:0;-webkit-mask-position:0 -1px;mask-position:0 -1px;-webkit-mask-size:.8125rem;mask-size:.8125rem}.select{border:var(--border) solid #0000;appearance:none;background-color:var(--color-base-100);vertical-align:middle;width:clamp(3rem,20rem,100%);height:var(--size);touch-action:manipulation;white-space:nowrap;text-overflow:ellipsis;box-shadow:0 1px var(--input-color) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 20px) calc(1px + 50%),calc(100% - 16.1px) calc(1px + 50%);background-repeat:no-repeat;background-size:4px 4px,4px 4px;border-start-start-radius:var(--join-ss,var(--radius-field));border-start-end-radius:var(--join-se,var(--radius-field));border-end-end-radius:var(--join-ee,var(--radius-field));border-end-start-radius:var(--join-es,var(--radius-field));flex-shrink:1;align-items:center;gap:.375rem;padding-inline:.75rem 1.75rem;font-size:.875rem;display:inline-flex;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.select{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) * .1)) inset}}.select{border-color:var(--input-color);--input-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.select{--input-color:color-mix(in oklab, var(--color-base-content) 20%, #0000)}}.select{--size:calc(var(--size-field,.25rem) * 10)}[dir=rtl] .select{background-position:12px calc(1px + 50%),16px calc(1px + 50%)}[dir=rtl] .select::picker(select){translate:.5rem}[dir=rtl] .select select::picker(select){translate:.5rem}.select[multiple]{background-image:none;height:auto;padding-block:.75rem;padding-inline-end:.75rem;overflow:auto}.select select{appearance:none;width:calc(100% + 2.75rem);height:calc(100% - calc(var(--border) * 2));background:inherit;border-radius:inherit;border-style:none;align-items:center;margin-inline:-.75rem -1.75rem;padding-inline:.75rem 1.75rem}.select select:focus,.select select:focus-within{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.select select:focus,.select select:focus-within{outline-offset:2px;outline:2px solid #0000}}.select select:not(:last-child){background-image:none;margin-inline-end:-1.375rem}.select:focus,.select:focus-within{--input-color:var(--color-base-content);box-shadow:0 1px var(--input-color)}@supports (color:color-mix(in lab, red, red)){.select:focus,.select:focus-within{box-shadow:0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000)}}.select:focus,.select:focus-within{outline:2px solid var(--input-color);outline-offset:2px;isolation:isolate}.select:has(>select[disabled]),.select:is(:disabled,[disabled]),fieldset:disabled .select{cursor:not-allowed;border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.select:has(>select[disabled]),.select:is(:disabled,[disabled]),fieldset:disabled .select{color:color-mix(in oklab, var(--color-base-content) 40%, transparent)}}:is(.select:has(>select[disabled]),.select:is(:disabled,[disabled]),fieldset:disabled .select)::placeholder{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:is(.select:has(>select[disabled]),.select:is(:disabled,[disabled]),fieldset:disabled .select)::placeholder{color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.select:has(>select[disabled])>select[disabled]{cursor:not-allowed}@supports (appearance:base-select){.select,.select select{appearance:base-select}:is(.select,.select select)::picker(select){appearance:base-select}}:is(.select,.select select)::picker(select){color:inherit;border:var(--border) solid var(--color-base-200);border-radius:var(--radius-box);background-color:inherit;max-height:min(24rem,70dvh);box-shadow:0 2px calc(var(--depth) * 3px) -2px oklch(0% 0 0/.2);box-shadow:0 20px 25px -5px rgb(0 0 0/calc(var(--depth) * .1)), 0 8px 10px -6px rgb(0 0 0/calc(var(--depth) * .1));margin-block:.5rem;margin-inline:.5rem;padding:.5rem;translate:-.5rem}:is(.select,.select select)::picker-icon{display:none}:is(.select,.select select) optgroup{padding-top:.5em}:is(.select,.select select) optgroup option:first-child{margin-top:.5em}:is(.select,.select select) option{border-radius:var(--radius-field);white-space:normal;padding-block:.375rem;padding-inline:.75rem;transition-property:color,background-color;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1)}:is(.select,.select select) option:not(:disabled):hover,:is(.select,.select select) option:not(:disabled):focus-visible{cursor:pointer;background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:is(.select,.select select) option:not(:disabled):hover,:is(.select,.select select) option:not(:disabled):focus-visible{background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}:is(.select,.select select) option:not(:disabled):hover,:is(.select,.select select) option:not(:disabled):focus-visible{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){:is(.select,.select select) option:not(:disabled):hover,:is(.select,.select select) option:not(:disabled):focus-visible{outline-offset:2px;outline:2px solid #0000}}:is(.select,.select select) option:not(:disabled):active{background-color:var(--color-neutral);color:var(--color-neutral-content);box-shadow:0 2px calc(var(--depth) * 3px) -2px var(--color-neutral)}.timeline{display:flex;position:relative}.timeline>li{grid-template-rows:var(--timeline-row-start,minmax(0, 1fr)) auto var(--timeline-row-end,minmax(0, 1fr));grid-template-columns:var(--timeline-col-start,minmax(0, 1fr)) auto var(--timeline-col-end,minmax(0, 1fr));flex-shrink:0;align-items:center;display:grid;position:relative}.timeline>li>hr{border:none;width:100%}.timeline>li>hr:first-child{grid-row-start:2;grid-column-start:1}.timeline>li>hr:last-child{grid-area:2/3/auto/none}@media print{.timeline>li>hr{border:.1px solid var(--color-base-300)}}.timeline :where(hr){background-color:var(--color-base-300);height:.25rem}.timeline:has(.timeline-middle hr):first-child{border-start-start-radius:0;border-start-end-radius:var(--radius-selector);border-end-end-radius:var(--radius-selector);border-end-start-radius:0}.timeline:has(.timeline-middle hr):last-child,.timeline:not(:has(.timeline-middle)) :first-child hr:last-child{border-start-start-radius:var(--radius-selector);border-start-end-radius:0;border-end-end-radius:0;border-end-start-radius:var(--radius-selector)}.timeline:not(:has(.timeline-middle)) :last-child hr:first-child{border-start-start-radius:0;border-start-end-radius:var(--radius-selector);border-end-end-radius:var(--radius-selector);border-end-start-radius:0}.swap{cursor:pointer;vertical-align:middle;webkit-user-select:none;-webkit-user-select:none;user-select:none;place-content:center;display:inline-grid;position:relative}.swap input{appearance:none;border:none}.swap>*{grid-row-start:1;grid-column-start:1}@media (prefers-reduced-motion:no-preference){.swap>*{transition-property:transform,rotate,opacity;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1)}}.swap .swap-on,.swap .swap-indeterminate,.swap input:indeterminate~.swap-on,.swap input:is(:checked,:indeterminate)~.swap-off{opacity:0}.swap input:checked~.swap-on,.swap input:indeterminate~.swap-indeterminate{opacity:1;backface-visibility:visible}.collapse-title{grid-row-start:1;grid-column-start:1;width:100%;min-height:1lh;padding:1rem;padding-inline-end:3rem;transition:background-color .2s ease-out;position:relative}.avatar{vertical-align:middle;display:inline-flex;position:relative}.avatar>div{aspect-ratio:1;display:block;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.checkbox{border:var(--border) solid var(--input-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.checkbox{border:var(--border) solid var(--input-color,color-mix(in oklab, var(--color-base-content) 20%, #0000))}}.checkbox{cursor:pointer;appearance:none;border-radius:var(--radius-selector);vertical-align:middle;color:var(--color-base-content);box-shadow:0 1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 0 #0000 inset, 0 0 #0000;--size:calc(var(--size-selector,.25rem) * 6);width:var(--size);height:var(--size);background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--fx-noise);flex-shrink:0;padding:.25rem;transition:background-color .2s,box-shadow .2s;display:inline-block;position:relative}.checkbox:before{--tw-content:"";content:var(--tw-content);opacity:0;clip-path:polygon(20% 100%,20% 80%,50% 80%,50% 80%,70% 80%,70% 100%);width:100%;height:100%;box-shadow:0px 3px 0 0px oklch(100% 0 0 / calc(var(--depth) * .1)) inset;background-color:currentColor;font-size:1rem;line-height:.75;transition:clip-path .3s .1s,opacity .1s .1s,rotate .3s .1s,translate .3s .1s;display:block;rotate:45deg}.checkbox:focus-visible{outline:2px solid var(--input-color,currentColor);outline-offset:2px}.checkbox:checked,.checkbox[aria-checked=true]{background-color:var(--input-color,#0000);box-shadow:0 0 #0000 inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px oklch(0% 0 0 / calc(var(--depth) * .1))}:is(.checkbox:checked,.checkbox[aria-checked=true]):before{clip-path:polygon(20% 100%,20% 80%,50% 80%,50% 0%,70% 0%,70% 100%);opacity:1}@media (forced-colors:active){:is(.checkbox:checked,.checkbox[aria-checked=true]):before{--tw-content:"✔︎";clip-path:none;background-color:#0000;rotate:0deg}}@media print{:is(.checkbox:checked,.checkbox[aria-checked=true]):before{--tw-content:"✔︎";clip-path:none;background-color:#0000;rotate:0deg}}.checkbox:indeterminate{background-color:var(--input-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.checkbox:indeterminate{background-color:var(--input-color,color-mix(in oklab, var(--color-base-content) 20%, #0000))}}.checkbox:indeterminate:before{opacity:1;clip-path:polygon(20% 100%,20% 80%,50% 80%,50% 80%,80% 80%,80% 100%);translate:0 -35%;rotate:0deg}.radio{cursor:pointer;appearance:none;vertical-align:middle;border:var(--border) solid var(--input-color,currentColor);border-radius:3.40282e38px;flex-shrink:0;padding:.25rem;display:inline-block;position:relative}@supports (color:color-mix(in lab, red, red)){.radio{border:var(--border) solid var(--input-color,color-mix(in srgb, currentColor 20%, #0000))}}.radio{box-shadow:0 1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset;--size:calc(var(--size-selector,.25rem) * 6);width:var(--size);height:var(--size);color:var(--input-color,currentColor)}.radio:before{--tw-content:"";content:var(--tw-content);background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--fx-noise);border-radius:3.40282e38px;width:100%;height:100%;display:block}.radio:focus-visible{outline:2px solid}.radio:checked,.radio[aria-checked=true]{background-color:var(--color-base-100);border-color:currentColor}@media (prefers-reduced-motion:no-preference){.radio:checked,.radio[aria-checked=true]{animation:.2s ease-out radio}}:is(.radio:checked,.radio[aria-checked=true]):before{box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px oklch(0% 0 0 / calc(var(--depth) * .1));background-color:currentColor}@media (forced-colors:active){:is(.radio:checked,.radio[aria-checked=true]):before{outline-style:var(--tw-outline-style);outline-offset:calc(1px * -1);outline-width:1px}}@media print{:is(.radio:checked,.radio[aria-checked=true]):before{outline-offset:-1rem;outline:.25rem solid}}.rating{vertical-align:middle;display:inline-flex;position:relative}.rating input{appearance:none;border:none}.rating :where(*){background-color:var(--color-base-content);opacity:.2;border-radius:0;width:1.5rem;height:1.5rem}@media (prefers-reduced-motion:no-preference){.rating :where(*){animation:.25s ease-out rating}}.rating :where(*):is(input){cursor:pointer}.rating .rating-hidden{background-color:#0000;width:.5rem}.rating input[type=radio]:checked{background-image:none}.rating :checked,.rating [aria-checked=true],.rating [aria-current=true],.rating :has(~:checked,~[aria-checked=true],~[aria-current=true]){opacity:1}.rating :focus-visible{scale:1.1}@media (prefers-reduced-motion:no-preference){.rating :focus-visible{transition:scale .2s ease-out}}.rating :active:focus{animation:none;scale:1.1}.rating\!{vertical-align:middle!important;display:inline-flex!important;position:relative!important}.rating\! input{appearance:none!important;border:none!important}.rating\! :where(*){background-color:var(--color-base-content)!important;opacity:.2!important;border-radius:0!important;width:1.5rem!important;height:1.5rem!important}@media (prefers-reduced-motion:no-preference){.rating\! :where(*){animation:.25s ease-out rating!important}}.rating\! :where(*):is(input){cursor:pointer!important}.rating\! .rating-hidden{background-color:#0000!important;width:.5rem!important}.rating\! input[type=radio]:checked{background-image:none!important}.rating\! :checked,.rating\! [aria-checked=true],.rating\! [aria-current=true],.rating\! :has(~:checked,~[aria-checked=true],~[aria-current=true]){opacity:1!important}.rating\! :focus-visible{scale:1.1!important}@media (prefers-reduced-motion:no-preference){.rating\! :focus-visible{transition:scale .2s ease-out!important}}.rating\! :active:focus{animation:none!important;scale:1.1!important}.navbar{align-items:center;width:100%;min-height:4rem;padding:.5rem;display:flex}.drawer{grid-auto-columns:max-content auto;width:100%;display:grid;position:relative}.card{border-radius:var(--radius-box);outline-offset:2px;outline:0 solid #0000;flex-direction:column;transition:outline .2s ease-in-out;display:flex;position:relative}.card:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.card:focus{outline-offset:2px;outline:2px solid #0000}}.card:focus-visible{outline-color:currentColor}.card :where(figure:first-child){border-start-start-radius:inherit;border-start-end-radius:inherit;border-end-end-radius:unset;border-end-start-radius:unset;overflow:hidden}.card :where(figure:last-child){border-start-start-radius:unset;border-start-end-radius:unset;border-end-end-radius:inherit;border-end-start-radius:inherit;overflow:hidden}.card figure{justify-content:center;align-items:center;display:flex}.card:has(>input:is(input[type=checkbox],input[type=radio])){cursor:pointer;-webkit-user-select:none;user-select:none}.card:has(>:checked){outline:2px solid}.stats{border-radius:var(--radius-box);grid-auto-flow:column;display:inline-grid;position:relative;overflow-x:auto}.progress{appearance:none;border-radius:var(--radius-box);background-color:currentColor;width:100%;height:.5rem;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.progress{background-color:color-mix(in oklab, currentcolor 20%, transparent)}}.progress{color:var(--color-base-content)}.progress:indeterminate{background-image:repeating-linear-gradient(90deg,currentColor -1% 10%,#0000 10% 90%);background-position-x:15%;background-size:200%}@media (prefers-reduced-motion:no-preference){.progress:indeterminate{animation:5s ease-in-out infinite progress}}@supports ((-moz-appearance:none)){.progress:indeterminate::-moz-progress-bar{background-color:#0000}@media (prefers-reduced-motion:no-preference){.progress:indeterminate::-moz-progress-bar{background-image:repeating-linear-gradient(90deg,currentColor -1% 10%,#0000 10% 90%);background-position-x:15%;background-size:200%;animation:5s ease-in-out infinite progress}}.progress::-moz-progress-bar{border-radius:var(--radius-box);background-color:currentColor}}@supports ((-webkit-appearance:none)){.progress::-webkit-progress-bar{border-radius:var(--radius-box);background-color:#0000}.progress::-webkit-progress-value{border-radius:var(--radius-box);background-color:currentColor}}.textarea{border:var(--border) solid #0000;appearance:none;border-radius:var(--radius-field);background-color:var(--color-base-100);vertical-align:middle;width:clamp(3rem,20rem,100%);min-height:5rem;font-size:max(var(--font-size,.875rem), .875rem);touch-action:manipulation;border-color:var(--input-color);box-shadow:0 1px var(--input-color) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset;flex-shrink:1;padding-block:.5rem;padding-inline:.75rem}@supports (color:color-mix(in lab, red, red)){.textarea{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) * .1)) inset}}.textarea{--input-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.textarea{--input-color:color-mix(in oklab, var(--color-base-content) 20%, #0000)}}.textarea textarea{appearance:none;background-color:#0000;border:none}.textarea textarea:focus,.textarea textarea:focus-within{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.textarea textarea:focus,.textarea textarea:focus-within{outline-offset:2px;outline:2px solid #0000}}.textarea:focus,.textarea:focus-within{--input-color:var(--color-base-content);box-shadow:0 1px var(--input-color)}@supports (color:color-mix(in lab, red, red)){.textarea:focus,.textarea:focus-within{box-shadow:0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000)}}.textarea:focus,.textarea:focus-within{outline:2px solid var(--input-color);outline-offset:2px;isolation:isolate}@media (pointer:coarse){@supports (-webkit-touch-callout:none){.textarea:focus,.textarea:focus-within{--font-size:1rem}}}.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]){cursor:not-allowed;border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]){color:color-mix(in oklab, var(--color-base-content) 40%, transparent)}}:is(.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]))::placeholder{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:is(.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]))::placeholder{color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]){box-shadow:none}.textarea:has(>textarea[disabled])>textarea[disabled]{cursor:not-allowed}.stack{grid-template-rows:3px 4px 1fr 4px 3px;grid-template-columns:3px 4px 1fr 4px 3px;display:inline-grid}.stack>*{width:100%;height:100%}.stack>:nth-child(n+2){opacity:.7;width:100%}.stack>:nth-child(2){z-index:2;opacity:.9}.stack>:first-child{z-index:3;width:100%}.modal-backdrop{color:#0000;z-index:-1;grid-row-start:1;grid-column-start:1;place-self:stretch stretch;display:grid}.modal-backdrop button{cursor:pointer}.tab-content{order:var(--tabcontent-order);--tabcontent-radius-ss:var(--radius-box);--tabcontent-radius-se:var(--radius-box);--tabcontent-radius-es:var(--radius-box);--tabcontent-radius-ee:var(--radius-box);--tabcontent-order:1;width:100%;height:calc(100% - var(--tab-height) + var(--border));margin:var(--tabcontent-margin);border-color:#0000;border-width:var(--border);border-start-start-radius:var(--tabcontent-radius-ss);border-start-end-radius:var(--tabcontent-radius-se);border-end-end-radius:var(--tabcontent-radius-ee);border-end-start-radius:var(--tabcontent-radius-es);display:none}.timeline-end{grid-area:3/1/4/4;place-self:flex-start center;margin:.25rem}.timeline-start{grid-area:1/1/2/4;place-self:flex-end center;margin:.25rem}.stat-figure{grid-row:1/span 3;grid-column-start:2;place-self:center flex-end}.modal-box{background-color:var(--color-base-100);border-top-left-radius:var(--modal-tl,var(--radius-box));border-top-right-radius:var(--modal-tr,var(--radius-box));border-bottom-left-radius:var(--modal-bl,var(--radius-box));border-bottom-right-radius:var(--modal-br,var(--radius-box));opacity:0;overscroll-behavior:contain;grid-row-start:1;grid-column-start:1;width:91.6667%;max-width:32rem;max-height:100vh;padding:1.5rem;transition:translate .3s ease-out,scale .3s ease-out,opacity .2s ease-out 50ms,box-shadow .3s ease-out;overflow-y:auto;scale:.95;box-shadow:0 25px 50px -12px oklch(0% 0 0/.25)}.drawer-content{grid-row-start:1;grid-column-start:2;min-width:0}.timeline-middle{grid-row-start:2;grid-column-start:2}.stat-value{white-space:nowrap;grid-column-start:1;font-size:2rem;font-weight:800}.stat-desc{white-space:nowrap;color:var(--color-base-content);grid-column-start:1}@supports (color:color-mix(in lab, red, red)){.stat-desc{color:color-mix(in oklab, var(--color-base-content) 60%, transparent)}}.stat-desc{font-size:.75rem}.stat-title{white-space:nowrap;color:var(--color-base-content);grid-column-start:1}@supports (color:color-mix(in lab, red, red)){.stat-title{color:color-mix(in oklab, var(--color-base-content) 60%, transparent)}}.stat-title{font-size:.75rem}.stat-actions{white-space:nowrap;grid-column-start:1}.chat-image{grid-row:span 2/span 2;align-self:flex-end}.chat-footer{grid-row-start:3;gap:.25rem;font-size:.6875rem;display:flex}.chat-header{grid-row-start:1;gap:.25rem;font-size:.6875rem;display:flex}.divider{white-space:nowrap;height:1rem;margin:var(--divider-m,1rem 0);--divider-color:var(--color-base-content);flex-direction:row;align-self:stretch;align-items:center;display:flex}@supports (color:color-mix(in lab, red, red)){.divider{--divider-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}.divider:before,.divider:after{content:"";background-color:var(--divider-color);flex-grow:1;width:100%;height:.125rem}@media print{.divider:before,.divider:after{border:.5px solid}}.divider:not(:empty){gap:1rem}.filter{flex-wrap:wrap;display:flex}.filter input[type=radio]{width:auto}.filter input{opacity:1;transition:margin .1s,opacity .3s,padding .3s,border-width .1s;overflow:hidden;scale:1}.filter input:not(:last-child){margin-inline-end:.25rem}.filter input.filter-reset{aspect-ratio:1}.filter input.filter-reset:after{--tw-content:"×";content:var(--tw-content)}.filter:not(:has(input:checked:not(.filter-reset))) .filter-reset,.filter:not(:has(input:checked:not(.filter-reset))) input[type=reset],.filter:has(input:checked:not(.filter-reset)) input:not(:checked,.filter-reset,input[type=reset]){opacity:0;border-width:0;width:0;margin-inline:0;padding-inline:0;scale:0}.label{white-space:nowrap;color:currentColor;align-items:center;gap:.375rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.label{color:color-mix(in oklab, currentcolor 60%, transparent)}}.label:has(input){cursor:pointer}.label:is(.input>*,.select>*){white-space:nowrap;height:calc(100% - .5rem);font-size:inherit;align-items:center;padding-inline:.75rem;display:flex}.label:is(.input>*,.select>*):first-child{border-inline-end:var(--border) solid currentColor;margin-inline:-.75rem .75rem}@supports (color:color-mix(in lab, red, red)){.label:is(.input>*,.select>*):first-child{border-inline-end:var(--border) solid color-mix(in oklab, currentColor 10%, #0000)}}.label:is(.input>*,.select>*):last-child{border-inline-start:var(--border) solid currentColor;margin-inline:.75rem -.75rem}@supports (color:color-mix(in lab, red, red)){.label:is(.input>*,.select>*):last-child{border-inline-start:var(--border) solid color-mix(in oklab, currentColor 10%, #0000)}}.modal-action{justify-content:flex-end;gap:.5rem;margin-top:1.5rem;display:flex}.fieldset-legend{color:var(--color-base-content);justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:-.25rem;padding-block:.5rem;font-weight:600;display:flex}.carousel-item{box-sizing:content-box;scroll-snap-align:start;flex:none;display:flex}.status{aspect-ratio:1;border-radius:var(--radius-selector);background-color:var(--color-base-content);width:.5rem;height:.5rem;display:inline-block}@supports (color:color-mix(in lab, red, red)){.status{background-color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.status{vertical-align:middle;color:#0000004d;background-position:50%;background-repeat:no-repeat}@supports (color:color-mix(in lab, red, red)){.status{color:color-mix(in oklab, var(--color-black) 30%, transparent)}}.status{background-image:radial-gradient(circle at 35% 30%, oklch(1 0 0 / calc(var(--depth) * .5)), #0000);box-shadow:0 2px 3px -1px}@supports (color:color-mix(in lab, red, red)){.status{box-shadow:0 2px 3px -1px color-mix(in oklab, currentColor calc(var(--depth) * 100%), #0000)}}.badge{border-radius:var(--radius-selector);vertical-align:middle;color:var(--badge-fg);border:var(--border) solid var(--badge-color,var(--color-base-200));background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--fx-noise);background-color:var(--badge-bg);--badge-bg:var(--badge-color,var(--color-base-100));--badge-fg:var(--color-base-content);--size:calc(var(--size-selector,.25rem) * 6);width:fit-content;height:var(--size);padding-inline:calc(var(--size) / 2 - var(--border));justify-content:center;align-items:center;gap:.5rem;font-size:.875rem;display:inline-flex}.kbd{border-radius:var(--radius-field);background-color:var(--color-base-200);vertical-align:middle;border:var(--border) solid var(--color-base-content);justify-content:center;align-items:center;padding-inline:.5em;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.kbd{border:var(--border) solid color-mix(in srgb, var(--color-base-content) 20%, #0000)}}.kbd{border-bottom:calc(var(--border) + 1px) solid var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.kbd{border-bottom:calc(var(--border) + 1px) solid color-mix(in srgb, var(--color-base-content) 20%, #0000)}}.kbd{--size:calc(var(--size-selector,.25rem) * 6);height:var(--size);min-width:var(--size);font-size:.875rem}.text-rotate{vertical-align:bottom;white-space:nowrap;--duration:var(--tw-duration);transition-property:none;display:inline-block;overflow:hidden}.text-rotate>*{height:calc(var(--items,1) * 100%);justify-items:start;display:grid}.text-rotate>:has(:nth-child(2)){--items:2;animation:rotator var(--duration,10s) linear(0 0% 49%, .5 50% 99%, 1 100% 100%) infinite}.text-rotate>:has(:nth-child(3)){--items:3;animation:rotator var(--duration,10s) linear(0 0% 32%, .333333 33% 65%, .666666 66% 99%, 1 100% 100%) infinite}.text-rotate>:has(:nth-child(4)){--items:4;animation:rotator var(--duration,10s) linear(0 0% 24%, .25 25% 49%, .5 50% 74%, .75 75% 99%, 1 100% 100%) infinite}.text-rotate>:has(:nth-child(5)){--items:5;animation:rotator var(--duration,10s) linear(0 0% 19%, .2 20% 39%, .4 40% 59%, .6 60% 79%, .8 80% 99%, 1 100% 100%) infinite}.text-rotate>:has(:nth-child(6)){--items:6;animation:rotator var(--duration,10s) linear(0 0% 15%, .16666 16% 32%, .333333 33% 49%, .5 50% 65%, .666666 66% 82%, .833333 83% 99%, 1 100% 100%) infinite}.text-rotate>*>*{clip-path:inset(.5px 0);align-content:baseline}.text-rotate>*>:first-child{translate:var(--first-item-position)}.text-rotate:hover>*{animation-play-state:paused}.tabs{--tabs-height:auto;--tabs-direction:row;--tab-height:calc(var(--size-field,.25rem) * 10);height:var(--tabs-height);flex-wrap:wrap;flex-direction:var(--tabs-direction);display:flex}.footer{grid-auto-flow:row;place-items:start;gap:2.5rem 1rem;width:100%;font-size:.875rem;line-height:1.25rem;display:grid}.footer>*{place-items:start;gap:.5rem;display:grid}.footer.footer-center{text-align:center;grid-auto-flow:column dense;place-items:center}.footer.footer-center>*{place-items:center}.stat{grid-template-columns:repeat(1,1fr);column-gap:1rem;width:100%;padding-block:1rem;padding-inline:1.5rem;display:inline-grid}.stat:not(:last-child){border-inline-end:var(--border) dashed currentColor}@supports (color:color-mix(in lab, red, red)){.stat:not(:last-child){border-inline-end:var(--border) dashed color-mix(in oklab, currentColor 10%, #0000)}}.stat:not(:last-child){border-block-end:none}.navbar-end{justify-content:flex-end;align-items:center;width:50%;display:inline-flex}.navbar-start{justify-content:flex-start;align-items:center;width:50%;display:inline-flex}.card-body{padding:var(--card-p,1.5rem);font-size:var(--card-fs,.875rem);flex-direction:column;flex:auto;gap:.5rem;display:flex}.card-body :where(p){flex-grow:1}.navbar-center{flex-shrink:0;align-items:center;display:inline-flex}.fieldset-label{color:var(--color-base-content);align-items:center;gap:.375rem;display:flex}@supports (color:color-mix(in lab, red, red)){.fieldset-label{color:color-mix(in oklab, var(--color-base-content) 60%, transparent)}}.fieldset-label:has(input){cursor:pointer}.carousel{scroll-snap-type:x mandatory;scrollbar-width:none;display:inline-flex;overflow-x:scroll}@media (prefers-reduced-motion:no-preference){.carousel{scroll-behavior:smooth}}.carousel::-webkit-scrollbar{display:none}.alert{--alert-border-color:var(--color-base-200);border-radius:var(--radius-box);color:var(--color-base-content);background-color:var(--alert-color,var(--color-base-200));text-align:start;background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--fx-noise);box-shadow:0 3px 0 -2px oklch(100% 0 0 / calc(var(--depth) * .08)) inset, 0 1px #000, 0 4px 3px -2px oklch(0% 0 0 / calc(var(--depth) * .08));border-style:solid;grid-template-columns:auto;grid-auto-flow:column;justify-content:start;place-items:center start;gap:1rem;padding-block:.75rem;padding-inline:1rem;font-size:.875rem;line-height:1.25rem;display:grid}@supports (color:color-mix(in lab, red, red)){.alert{box-shadow:0 3px 0 -2px oklch(100% 0 0 / calc(var(--depth) * .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) * .08))}}.alert:has(:nth-child(2)){grid-template-columns:auto minmax(auto,1fr)}.fieldset{grid-template-columns:1fr;grid-auto-rows:max-content;gap:.375rem;padding-block:.25rem;font-size:.75rem;display:grid}.chat{--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");grid-auto-rows:min-content;column-gap:.75rem;padding-block:.25rem;display:grid}.card-actions{flex-wrap:wrap;align-items:flex-start;gap:.5rem;display:flex}.card-title{font-size:var(--cardtitle-fs,1.125rem);align-items:center;gap:.5rem;font-weight:600;display:flex}.mask{vertical-align:middle;display:inline-block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.skeleton{border-radius:var(--radius-box);background-color:var(--color-base-300)}@media (prefers-reduced-motion:reduce){.skeleton{transition-duration:15s}}.skeleton{will-change:background-position;background-image:linear-gradient(105deg, #0000 0% 40%, var(--color-base-100) 50%, #0000 60% 100%);background-position-x:-50%;background-size:200%}@media (prefers-reduced-motion:no-preference){.skeleton{animation:1.8s ease-in-out infinite skeleton}}.timeline-box{border:var(--border) solid;border-radius:var(--radius-box);border-color:var(--color-base-300);background-color:var(--color-base-100);padding-block:.5rem;padding-inline:1rem;font-size:.75rem;box-shadow:0 1px 2px oklch(0% 0 0/.05)}.btn-accent{--btn-color:var(--color-accent);--btn-fg:var(--color-accent-content)}.btn-error{--btn-color:var(--color-error);--btn-fg:var(--color-error-content)}.btn-info{--btn-color:var(--color-info);--btn-fg:var(--color-info-content)}.btn-neutral{--btn-color:var(--color-neutral);--btn-fg:var(--color-neutral-content)}.btn-primary{--btn-color:var(--color-primary);--btn-fg:var(--color-primary-content)}.btn-secondary{--btn-color:var(--color-secondary);--btn-fg:var(--color-secondary-content)}.btn-success{--btn-color:var(--color-success);--btn-fg:var(--color-success-content)}.btn-warning{--btn-color:var(--color-warning);--btn-fg:var(--color-warning-content)}}@layer daisyui.l1.l2{.modal.modal-open,.modal[open],.modal:target,.modal-toggle:checked+.modal{pointer-events:auto;visibility:visible;opacity:1;transition:visibility 0s allow-discrete, background-color .3s ease-out, opacity .1s ease-out;background-color:oklch(0% 0 0/.4)}:is(.modal.modal-open,.modal[open],.modal:target,.modal-toggle:checked+.modal) .modal-box{opacity:1;translate:0;scale:1}:root:has(:is(.modal.modal-open,.modal[open],.modal:target,.modal-toggle:checked+.modal)){--page-has-backdrop:1;--page-overflow:hidden;--page-scroll-bg:var(--page-scroll-bg-on);--page-scroll-gutter:stable;--page-scroll-transition:var(--page-scroll-transition-on);animation:forwards set-page-has-scroll;animation-timeline:scroll()}@starting-style{.modal.modal-open,.modal[open],.modal:target,.modal-toggle:checked+.modal{opacity:0}}:where(.drawer-toggle:checked~.drawer-side){pointer-events:auto;visibility:visible;opacity:1;overflow-y:auto}:where(.drawer-toggle:checked~.drawer-side)>:not(.drawer-overlay){translate:0%}.drawer-toggle:focus-visible~.drawer-content label.drawer-button{outline-offset:2px;outline:2px solid}.tooltip>.tooltip-content,.tooltip[data-tip]:before{transform:translateX(-50%) translateY(var(--tt-pos,.25rem));inset:auto auto var(--tt-off) 50%}.tooltip:after{transform:translateX(-50%) translateY(var(--tt-pos,.25rem));inset:auto auto var(--tt-tail) 50%}.collapse-arrow>.collapse-title:after{width:.5rem;height:.5rem;display:block;position:absolute;transform:translateY(-100%)rotate(45deg)}@media (prefers-reduced-motion:no-preference){.collapse-arrow>.collapse-title:after{transition-property:all;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1)}}.collapse-arrow>.collapse-title:after{content:"";transform-origin:75% 75%;pointer-events:none;top:50%;inset-inline-end:1.4rem;box-shadow:2px 2px}.btn:disabled:not(.btn-link,.btn-ghost){background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn:disabled:not(.btn-link,.btn-ghost){background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}.btn:disabled:not(.btn-link,.btn-ghost){box-shadow:none}.btn:disabled{pointer-events:none;--btn-border:#0000;--btn-noise:none;--btn-fg:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn:disabled{--btn-fg:color-mix(in oklch, var(--color-base-content) 20%, #0000)}}.btn[disabled]:not(.btn-link,.btn-ghost){background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn[disabled]:not(.btn-link,.btn-ghost){background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}.btn[disabled]:not(.btn-link,.btn-ghost){box-shadow:none}.btn[disabled]{pointer-events:none;--btn-border:#0000;--btn-noise:none;--btn-fg:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn[disabled]{--btn-fg:color-mix(in oklch, var(--color-base-content) 20%, #0000)}}.btn-disabled:not(.btn-link,.btn-ghost){background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn-disabled:not(.btn-link,.btn-ghost){background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}.btn-disabled:not(.btn-link,.btn-ghost){box-shadow:none}.btn-disabled{pointer-events:none;--btn-border:#0000;--btn-noise:none;--btn-fg:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn-disabled{--btn-fg:color-mix(in oklch, var(--color-base-content) 20%, #0000)}}.tab-disabled{pointer-events:none;opacity:.4}@media (prefers-reduced-motion:no-preference){.collapse[open].collapse-arrow>.collapse-title:after,.collapse.collapse-open.collapse-arrow>.collapse-title:after{transform:translateY(-50%)rotate(225deg)}}.collapse.collapse-open.collapse-plus>.collapse-title:after{--tw-content:"−";content:var(--tw-content)}:is(.collapse[tabindex].collapse-arrow:focus:not(.collapse-close),.collapse.collapse-arrow[tabindex]:focus-within:not(.collapse-close))>.collapse-title:after,.collapse.collapse-arrow:not(.collapse-close)>input:is([type=checkbox],[type=radio]):checked~.collapse-title:after{transform:translateY(-50%)rotate(225deg)}.collapse[open].collapse-plus>.collapse-title:after,.collapse[tabindex].collapse-plus:focus:not(.collapse-close)>.collapse-title:after,.collapse.collapse-plus:not(.collapse-close)>input:is([type=checkbox],[type=radio]):checked~.collapse-title:after{--tw-content:"−";content:var(--tw-content)}.tabs-lift{--tabs-height:auto;--tabs-direction:row}.tabs-lift>.tab{--tab-border:0 0 var(--border) 0;--tab-radius-ss:var(--tab-radius-limit);--tab-radius-se:var(--tab-radius-limit);--tab-radius-es:0;--tab-radius-ee:0;--tab-paddings:var(--border) var(--tab-p) 0 var(--tab-p);--tab-border-colors:#0000 #0000 var(--tab-border-color) #0000;--tab-corner-width:calc(100% + var(--tab-radius-limit) * 2);--tab-corner-height:var(--tab-radius-limit);--tab-corner-position:top left, top right;border-width:var(--tab-border);padding:var(--tab-paddings);border-color:var(--tab-border-colors);border-start-start-radius:var(--tab-radius-ss);border-start-end-radius:var(--tab-radius-se);border-end-end-radius:var(--tab-radius-ee);border-end-start-radius:var(--tab-radius-es)}.tabs-lift>.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-lift>.tab:is(input:checked,label:has(:checked)){--tab-border:var(--border) var(--border) 0 var(--border);--tab-border-colors:var(--tab-border-color) var(--tab-border-color) #0000 var(--tab-border-color);--tab-paddings:0 calc(var(--tab-p) - var(--border)) var(--border) calc(var(--tab-p) - var(--border));--tab-inset:auto auto 0 auto;--radius-start:radial-gradient(circle at top left, var(--tab-radius-grad));--radius-end:radial-gradient(circle at top right, var(--tab-radius-grad));background-color:var(--tab-bg)}:is(.tabs-lift>.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-lift>.tab:is(input:checked,label:has(:checked))):before{z-index:1;content:"";width:var(--tab-corner-width);height:var(--tab-corner-height);background-position:var(--tab-corner-position);background-image:var(--radius-start), var(--radius-end);background-size:var(--tab-radius-limit) var(--tab-radius-limit);inset:var(--tab-inset);background-repeat:no-repeat;display:block;position:absolute}:is(.tabs-lift>.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-lift>.tab:is(input:checked,label:has(:checked))):first-child:before{--radius-start:none}[dir=rtl] :is(.tabs-lift>.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-lift>.tab:is(input:checked,label:has(:checked))):first-child:before{transform:rotateY(180deg)}:is(.tabs-lift>.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-lift>.tab:is(input:checked,label:has(:checked))):last-child:before{--radius-end:none}[dir=rtl] :is(.tabs-lift>.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-lift>.tab:is(input:checked,label:has(:checked))):last-child:before{transform:rotateY(180deg)}.tabs-lift:has(>.tab-content)>.tab:first-child:not(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]){--tab-border-colors:var(--tab-border-color) var(--tab-border-color) #0000 var(--tab-border-color)}.tabs-lift>.tab-content{--tabcontent-margin:calc(-1 * var(--border)) 0 0 0;--tabcontent-radius-ss:0;--tabcontent-radius-se:var(--radius-box);--tabcontent-radius-es:var(--radius-box);--tabcontent-radius-ee:var(--radius-box)}:is(.tabs-lift :checked,.tabs-lift label:has(:checked),.tabs-lift :is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]))+.tab-content:first-child,:is(.tabs-lift :checked,.tabs-lift label:has(:checked),.tabs-lift :is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]))+.tab-content:nth-child(n+3){--tabcontent-radius-ss:var(--radius-box)}.list .list-row:has(.list-col-grow:first-child){--list-grid-cols:1fr}.list .list-row:has(.list-col-grow:nth-child(2)){--list-grid-cols:minmax(0, auto) 1fr}.list .list-row:has(.list-col-grow:nth-child(3)){--list-grid-cols:minmax(0, auto) minmax(0, auto) 1fr}.list .list-row:has(.list-col-grow:nth-child(4)){--list-grid-cols:minmax(0, auto) minmax(0, auto) minmax(0, auto) 1fr}.list .list-row:has(.list-col-grow:nth-child(5)){--list-grid-cols:minmax(0, auto) minmax(0, auto) minmax(0, auto) minmax(0, auto) 1fr}.list .list-row:has(.list-col-grow:nth-child(6)){--list-grid-cols:minmax(0, auto) minmax(0, auto) minmax(0, auto) minmax(0, auto) minmax(0, auto) 1fr}.list .list-row>*{grid-row-start:1}.steps .step-neutral+.step-neutral:before,.steps .step-neutral:after,.steps .step-neutral>.step-icon{--step-bg:var(--color-neutral);--step-fg:var(--color-neutral-content)}.steps .step-primary+.step-primary:before,.steps .step-primary:after,.steps .step-primary>.step-icon{--step-bg:var(--color-primary);--step-fg:var(--color-primary-content)}.steps .step-secondary+.step-secondary:before,.steps .step-secondary:after,.steps .step-secondary>.step-icon{--step-bg:var(--color-secondary);--step-fg:var(--color-secondary-content)}.steps .step-accent+.step-accent:before,.steps .step-accent:after,.steps .step-accent>.step-icon{--step-bg:var(--color-accent);--step-fg:var(--color-accent-content)}.steps .step-info+.step-info:before,.steps .step-info:after,.steps .step-info>.step-icon{--step-bg:var(--color-info);--step-fg:var(--color-info-content)}.steps .step-success+.step-success:before,.steps .step-success:after,.steps .step-success>.step-icon{--step-bg:var(--color-success);--step-fg:var(--color-success-content)}.steps .step-warning+.step-warning:before,.steps .step-warning:after,.steps .step-warning>.step-icon{--step-bg:var(--color-warning);--step-fg:var(--color-warning-content)}.steps .step-error+.step-error:before,.steps .step-error:after,.steps .step-error>.step-icon{--step-bg:var(--color-error);--step-fg:var(--color-error-content)}.tabs-border>.tab{--tab-border-color:#0000 #0000 var(--tab-border-color) #0000;border-radius:var(--radius-field);position:relative}.tabs-border>.tab:before{content:"";background-color:var(--tab-border-color);border-radius:var(--radius-field);width:80%;height:3px;transition:background-color .2s;position:absolute;bottom:0;left:10%}:is(.tabs-border>.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-border>.tab:is(input:checked),.tabs-border>.tab:is(label:has(:checked))):before{--tab-border-color:currentColor;border-top:3px solid}.menu-horizontal{flex-direction:row;display:inline-flex}.menu-horizontal>li:not(.menu-title)>details>ul{transform-origin:top;border-radius:var(--radius-box);background-color:var(--color-base-100);opacity:0;margin-inline-start:0;margin-top:1rem;padding-block:.5rem;padding-inline-end:.5rem;position:absolute;scale:.95;box-shadow:0 1px 3px oklch(0% 0 0/.1),0 1px 2px -1px oklch(0% 0 0/.1)}@media (prefers-reduced-motion:no-preference){@starting-style{.menu-horizontal>li:not(.menu-title)>details>ul{opacity:0;scale:.95}}.menu-horizontal>li:not(.menu-title)>details>ul{transition-behavior:allow-discrete;transition-property:opacity,scale,display;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);animation:.2s menu}}.menu-horizontal>li:not(.menu-title)>details[open]>ul{opacity:1;scale:1}.menu-horizontal>li>details>ul:before{--tw-content:none;content:var(--tw-content)}.menu-vertical{flex-direction:column;display:inline-flex}.menu-vertical>li:not(.menu-title)>details>ul{background-color:revert-layer;border-radius:revert-layer;animation:revert-layer;box-shadow:revert-layer;margin-inline-start:1rem;margin-top:0;padding-block:0;padding-inline-end:0;transition:revert-layer;position:relative}.checkbox:disabled,.radio:disabled{cursor:not-allowed;opacity:.2}.rating.rating-xs :where(:not(.rating-hidden)){width:1rem;height:1rem}.rating.rating-sm :where(:not(.rating-hidden)){width:1.25rem;height:1.25rem}.rating.rating-md :where(:not(.rating-hidden)){width:1.5rem;height:1.5rem}.rating.rating-lg :where(:not(.rating-hidden)){width:1.75rem;height:1.75rem}.rating.rating-xl :where(:not(.rating-hidden)){width:2rem;height:2rem}.rating\!.rating-xs :where(:not(.rating-hidden)){width:1rem!important;height:1rem!important}.rating\!.rating-sm :where(:not(.rating-hidden)){width:1.25rem!important;height:1.25rem!important}.rating\!.rating-md :where(:not(.rating-hidden)){width:1.5rem!important;height:1.5rem!important}.rating\!.rating-lg :where(:not(.rating-hidden)){width:1.75rem!important;height:1.75rem!important}.rating\!.rating-xl :where(:not(.rating-hidden)){width:2rem!important;height:2rem!important}:where(.navbar){position:relative}.tooltip-bottom>.tooltip-content,.tooltip-bottom[data-tip]:before{transform:translateX(-50%) translateY(var(--tt-pos,-.25rem));inset:var(--tt-off) auto auto 50%}.tooltip-bottom:after{transform:translateX(-50%) translateY(var(--tt-pos,-.25rem)) rotate(180deg);inset:var(--tt-tail) auto auto 50%}.tooltip-left>.tooltip-content,.tooltip-left[data-tip]:before{transform:translateX(calc(var(--tt-pos,.25rem) - .25rem)) translateY(-50%);inset:50% var(--tt-off) auto auto}.tooltip-left:after{transform:translateX(var(--tt-pos,.25rem)) translateY(-50%) rotate(-90deg);inset:50% calc(var(--tt-tail) + 1px) auto auto}.tooltip-right>.tooltip-content,.tooltip-right[data-tip]:before{transform:translateX(calc(var(--tt-pos,-.25rem) + .25rem)) translateY(-50%);inset:50% auto auto var(--tt-off)}.tooltip-right:after{transform:translateX(var(--tt-pos,-.25rem)) translateY(-50%) rotate(90deg);inset:50% auto auto calc(var(--tt-tail) + 1px)}.tooltip-top>.tooltip-content,.tooltip-top[data-tip]:before{transform:translateX(-50%) translateY(var(--tt-pos,.25rem));inset:auto auto var(--tt-off) 50%}.tooltip-top:after{transform:translateX(-50%) translateY(var(--tt-pos,.25rem));inset:auto auto var(--tt-tail) 50%}.dropdown-right{--anchor-h:right;--anchor-v:span-bottom}.dropdown-right .dropdown-content{transform-origin:0;inset-inline-start:100%;top:0;bottom:auto}.dropdown-left{--anchor-h:left;--anchor-v:span-bottom}.dropdown-left .dropdown-content{transform-origin:100%;inset-inline-end:100%;top:0;bottom:auto}.dropdown-end{--anchor-h:span-left}.dropdown-end :where(.dropdown-content){inset-inline-end:0;translate:0}[dir=rtl] :is(.dropdown-end :where(.dropdown-content)){translate:0}.dropdown-end.dropdown-left{--anchor-h:left;--anchor-v:span-top}.dropdown-end.dropdown-left .dropdown-content{top:auto;bottom:0}.dropdown-end.dropdown-right{--anchor-h:right;--anchor-v:span-top}.dropdown-end.dropdown-right .dropdown-content{top:auto;bottom:0}.dropdown-bottom{--anchor-v:bottom}.dropdown-bottom .dropdown-content{transform-origin:top;top:100%;bottom:auto}.dropdown-top{--anchor-v:top}.dropdown-top .dropdown-content{transform-origin:bottom;top:auto;bottom:100%}.btn-active{--btn-bg:var(--btn-color,var(--color-base-200))}@supports (color:color-mix(in lab, red, red)){.btn-active{--btn-bg:color-mix(in oklab, var(--btn-color,var(--color-base-200)), #000 7%)}}.btn-active{--btn-shadow:0 0 0 0 oklch(0% 0 0/0), 0 0 0 0 oklch(0% 0 0/0);isolation:isolate}:is(.stack,.stack.stack-bottom)>*{grid-area:3/3/6/4}:is(.stack,.stack.stack-bottom)>:nth-child(2){grid-area:2/2/5/5}:is(.stack,.stack.stack-bottom)>:first-child{grid-area:1/1/4/6}.stack.stack-top>*{grid-area:1/3/4/4}.stack.stack-top>:nth-child(2){grid-area:2/2/5/5}.stack.stack-top>:first-child{grid-area:3/1/6/6}.stack.stack-start>*{grid-area:3/1/4/4}.stack.stack-start>:nth-child(2){grid-area:2/2/5/5}.stack.stack-start>:first-child{grid-area:1/3/6/6}.stack.stack-end>*{grid-area:3/3/4/6}.stack.stack-end>:nth-child(2){grid-area:2/2/5/5}.stack.stack-end>:first-child{grid-area:1/1/6/4}.tabs-box{background-color:var(--color-base-200);--tabs-box-radius:calc(3 * var(--radius-field));border-radius:calc(min(var(--tab-height) / 2, var(--radius-field)) + min(.25rem, var(--tabs-box-radius)));box-shadow:0 -.5px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 .5px oklch(0% 0 0 / calc(var(--depth) * .05)) inset;padding:.25rem}.tabs-box>.tab{border-radius:var(--radius-field);border-style:none}.tabs-box>.tab:focus-visible,.tabs-box>.tab:is(label:has(:checked:focus-visible)){outline-offset:2px}.tabs-box>.tab:focus-visible{z-index:1}.tabs-box>:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-box>:is(input:checked),.tabs-box>:is(label:has(:checked)){background-color:var(--tab-bg,var(--color-base-100));box-shadow:0 1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px 1px -1px var(--color-neutral), 0 1px 6px -4px var(--color-neutral)}@supports (color:color-mix(in lab, red, red)){.tabs-box>:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-box>:is(input:checked),.tabs-box>:is(label:has(:checked)){box-shadow:0 1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px 1px -1px color-mix(in oklab, var(--color-neutral) calc(var(--depth) * 50%), #0000), 0 1px 6px -4px color-mix(in oklab, var(--color-neutral) calc(var(--depth) * 100%), #0000)}}@media (forced-colors:active){.tabs-box>:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-box>:is(input:checked),.tabs-box>:is(label:has(:checked)){border:1px solid}}.tabs-box>.tab-content{height:calc(100% - var(--tab-height) + var(--border) - .5rem);border-radius:calc(min(var(--tab-height) / 2, var(--radius-field)) + min(.25rem, var(--tabs-box-radius)) - var(--border));margin-top:.25rem}.timeline-horizontal{flex-direction:row}.timeline-horizontal>li{align-items:center}.timeline-horizontal>li>hr{width:100%;height:.25rem}.timeline-horizontal>li>hr:first-child{grid-row-start:2;grid-column-start:1}.timeline-horizontal>li>hr:last-child{grid-area:2/3/auto/none}.timeline-horizontal .timeline-start{grid-area:1/1/2/4;place-self:flex-end center}.timeline-horizontal .timeline-end{grid-area:3/1/4/4;place-self:flex-start center}.timeline-horizontal:has(.timeline-middle)>li>hr:first-child{border-start-start-radius:0;border-start-end-radius:var(--radius-selector);border-end-end-radius:var(--radius-selector);border-end-start-radius:0}.timeline-horizontal:has(.timeline-middle)>li>hr:last-child,.timeline-horizontal:not(:has(.timeline-middle)) :first-child>hr:last-child{border-start-start-radius:var(--radius-selector);border-start-end-radius:0;border-end-end-radius:0;border-end-start-radius:var(--radius-selector)}.timeline-horizontal:not(:has(.timeline-middle)) :last-child>hr:first-child{border-start-start-radius:0;border-start-end-radius:var(--radius-selector);border-end-end-radius:var(--radius-selector);border-end-start-radius:0}.timeline-vertical{flex-direction:column}.timeline-vertical>li{--timeline-row-start:minmax(0, 1fr);--timeline-row-end:minmax(0, 1fr);justify-items:center}.timeline-vertical>li>hr{width:.25rem;height:100%}.timeline-vertical>li>hr:first-child{grid-row-start:1;grid-column-start:2}.timeline-vertical>li>hr:last-child{grid-area:3/2/none}.timeline-vertical .timeline-start{grid-area:1/1/4/2;place-self:center flex-end}.timeline-vertical .timeline-end{grid-area:1/3/4/4;place-self:center flex-start}.timeline-vertical:has(.timeline-middle)>li>hr:first-child{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:var(--radius-selector);border-bottom-left-radius:var(--radius-selector)}.timeline-vertical:has(.timeline-middle)>li>hr:last-child,.timeline-vertical:not(:has(.timeline-middle)) :first-child>hr:last-child{border-top-left-radius:var(--radius-selector);border-top-right-radius:var(--radius-selector);border-bottom-right-radius:0;border-bottom-left-radius:0}.timeline-vertical:not(:has(.timeline-middle)) :last-child>hr:first-child{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:var(--radius-selector);border-bottom-left-radius:var(--radius-selector)}.timeline-vertical.timeline-snap-icon>li{--timeline-col-start:minmax(0, 1fr);--timeline-row-start:.5rem}.timeline-compact{--timeline-row-start:0}.timeline-compact .timeline-start{grid-area:3/1/4/4;place-self:flex-start center}.timeline-compact li:has(.timeline-start) .timeline-end{grid-row-start:auto;grid-column-start:none}.timeline-compact.timeline-vertical>li{--timeline-col-start:0}.timeline-compact.timeline-vertical .timeline-start{grid-area:1/3/4/4;place-self:center flex-start}.timeline-compact.timeline-vertical li:has(.timeline-start) .timeline-end{grid-row-start:none;grid-column-start:auto}.drawer-end{grid-auto-columns:auto max-content}.drawer-end>.drawer-toggle~.drawer-content{grid-column-start:1}.drawer-end>.drawer-toggle~.drawer-side{grid-column-start:2;justify-items:end}.drawer-end>.drawer-toggle~.drawer-side>:not(.drawer-overlay){translate:100%}[dir=rtl] :is(.drawer-end>.drawer-toggle~.drawer-side>:not(.drawer-overlay)){translate:-100%}.drawer-end>.drawer-toggle:checked~.drawer-side>:not(.drawer-overlay){translate:0%}.input-lg{--size:calc(var(--size-field,.25rem) * 12);font-size:max(var(--font-size,1.125rem), 1.125rem)}.input-lg[type=number]::-webkit-inner-spin-button{margin-block:-.75rem;margin-inline-end:-.75rem}.input-md{--size:calc(var(--size-field,.25rem) * 10);font-size:max(var(--font-size,.875rem), .875rem)}.input-md[type=number]::-webkit-inner-spin-button{margin-block:-.75rem;margin-inline-end:-.75rem}.input-sm{--size:calc(var(--size-field,.25rem) * 8);font-size:max(var(--font-size,.75rem), .75rem)}.input-sm[type=number]::-webkit-inner-spin-button{margin-block:-.5rem;margin-inline-end:-.75rem}.input-xs{--size:calc(var(--size-field,.25rem) * 6);font-size:max(var(--font-size,.6875rem), .6875rem)}.input-xs[type=number]::-webkit-inner-spin-button{margin-block:-.25rem;margin-inline-end:-.75rem}.modal-bottom{place-items:end}.modal-bottom .modal-box{--modal-tl:var(--radius-box);--modal-tr:var(--radius-box);--modal-bl:0;--modal-br:0;width:100%;max-width:none;height:auto;max-height:calc(100vh - 5em);translate:0 100%;scale:1}.modal-middle{place-items:center}.modal-middle .modal-box{--modal-tl:var(--radius-box);--modal-tr:var(--radius-box);--modal-bl:var(--radius-box);--modal-br:var(--radius-box);width:91.6667%;max-width:32rem;height:auto;max-height:calc(100vh - 5em);translate:0 2%;scale:.98}.modal-top{place-items:start}.modal-top .modal-box{--modal-tl:0;--modal-tr:0;--modal-bl:var(--radius-box);--modal-br:var(--radius-box);width:100%;max-width:none;height:auto;max-height:calc(100vh - 5em);translate:0 -100%;scale:1}.btn-circle{width:var(--size);height:var(--size);border-radius:3.40282e38px;padding-inline:0}.btn-square{width:var(--size);height:var(--size);padding-inline:0}.btn-wide{width:100%;max-width:16rem}.btn-block{width:100%}.loading-xs{width:calc(var(--size-selector,.25rem) * 4)}.swap-rotate .swap-on,.swap-rotate input:indeterminate~.swap-on{rotate:45deg}.swap-rotate input:is(:checked,:indeterminate)~.swap-on,.swap-rotate.swap-active .swap-on{rotate:0deg}.swap-rotate input:is(:checked,:indeterminate)~.swap-off,.swap-rotate.swap-active .swap-off{rotate:-45deg}.swap-flip{transform-style:preserve-3d;perspective:20rem}.swap-flip .swap-on,.swap-flip .swap-indeterminate,.swap-flip input:indeterminate~.swap-on{backface-visibility:hidden;transform:rotateY(180deg)}.swap-flip input:is(:checked,:indeterminate)~.swap-on,.swap-flip.swap-active .swap-on{transform:rotateY(0)}.swap-flip input:is(:checked,:indeterminate)~.swap-off,.swap-flip.swap-active .swap-off{backface-visibility:hidden;opacity:1;transform:rotateY(-180deg)}.stats-horizontal{grid-auto-flow:column;overflow-x:auto}.stats-horizontal .stat:not(:last-child){border-inline-end:var(--border) dashed currentColor}@supports (color:color-mix(in lab, red, red)){.stats-horizontal .stat:not(:last-child){border-inline-end:var(--border) dashed color-mix(in oklab, currentColor 10%, #0000)}}.stats-horizontal .stat:not(:last-child){border-block-end:none}.stats-vertical{grid-auto-flow:row;overflow-y:auto}.stats-vertical .stat:not(:last-child){border-inline-end:none;border-block-end:var(--border) dashed currentColor}@supports (color:color-mix(in lab, red, red)){.stats-vertical .stat:not(:last-child){border-block-end:var(--border) dashed color-mix(in oklab, currentColor 10%, #0000)}}.menu-lg :where(li:not(.menu-title)>:not(ul,details,.menu-title)),.menu-lg :where(li:not(.menu-title)>details>summary:not(.menu-title)){border-radius:var(--radius-field);padding-block:.375rem;padding-inline:1rem;font-size:1.125rem}.menu-lg .menu-title{padding-block:.75rem;padding-inline:1.5rem}.menu-md :where(li:not(.menu-title)>:not(ul,details,.menu-title)),.menu-md :where(li:not(.menu-title)>details>summary:not(.menu-title)){border-radius:var(--radius-field);padding-block:.375rem;padding-inline:.75rem;font-size:.875rem}.menu-md .menu-title{padding-block:.5rem;padding-inline:.75rem}.menu-sm :where(li:not(.menu-title)>:not(ul,details,.menu-title)),.menu-sm :where(li:not(.menu-title)>details>summary:not(.menu-title)){border-radius:var(--radius-field);padding-block:.25rem;padding-inline:.625rem;font-size:.75rem}.menu-sm .menu-title{padding-block:.5rem;padding-inline:.75rem}.menu-xs :where(li:not(.menu-title)>:not(ul,details,.menu-title)),.menu-xs :where(li:not(.menu-title)>details>summary:not(.menu-title)){border-radius:var(--radius-field);padding-block:.25rem;padding-inline:.5rem;font-size:.6875rem}.menu-xs .menu-title{padding-block:.25rem;padding-inline:.5rem}.badge-dash{color:var(--badge-color);--badge-bg:#0000;background-image:none;border-style:dashed;border-color:currentColor}.badge-ghost{border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content);background-image:none}.select-ghost{box-shadow:none;background-color:#0000;border-color:#0000;transition:background-color .2s}.select-ghost:focus,.select-ghost:focus-within{background-color:var(--color-base-100);color:var(--color-base-content);box-shadow:none;border-color:#0000}.input-ghost{box-shadow:none;background-color:#0000;border-color:#0000}.input-ghost:focus,.input-ghost:focus-within{background-color:var(--color-base-100);color:var(--color-base-content);box-shadow:none;border-color:#0000}.badge-outline{color:var(--badge-color);--badge-bg:#0000;background-image:none;border-color:currentColor}.table-zebra tbody tr:where(:nth-child(2n)),.table-zebra tbody tr:where(:nth-child(2n)) :where(.table-pin-cols tr th){background-color:var(--color-base-200)}@media (hover:hover){:is(.table-zebra tbody tr.row-hover,.table-zebra tbody tr.row-hover:where(:nth-child(2n))):hover{background-color:var(--color-base-300)}}.loading-spinner{-webkit-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");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")}.mask-circle{-webkit-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");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")}.mask-heart{-webkit-mask-image:url("data:image/svg+xml,%3csvg width='200' height='185' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M100 184.606a15.384 15.384 0 0 1-8.653-2.678C53.565 156.28 37.205 138.695 28.182 127.7 8.952 104.264-.254 80.202.005 54.146.308 24.287 24.264 0 53.406 0c21.192 0 35.869 11.937 44.416 21.879a2.884 2.884 0 0 0 4.356 0C110.725 11.927 125.402 0 146.594 0c29.142 0 53.098 24.287 53.4 54.151.26 26.061-8.956 50.122-28.176 73.554-9.023 10.994-25.383 28.58-63.165 54.228a15.384 15.384 0 0 1-8.653 2.673Z' fill='black' fill-rule='nonzero'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg width='200' height='185' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M100 184.606a15.384 15.384 0 0 1-8.653-2.678C53.565 156.28 37.205 138.695 28.182 127.7 8.952 104.264-.254 80.202.005 54.146.308 24.287 24.264 0 53.406 0c21.192 0 35.869 11.937 44.416 21.879a2.884 2.884 0 0 0 4.356 0C110.725 11.927 125.402 0 146.594 0c29.142 0 53.098 24.287 53.4 54.151.26 26.061-8.956 50.122-28.176 73.554-9.023 10.994-25.383 28.58-63.165 54.228a15.384 15.384 0 0 1-8.653 2.673Z' fill='black' fill-rule='nonzero'/%3e%3c/svg%3e")}.mask-star{-webkit-mask-image:url("data:image/svg+xml,%3csvg width='192' height='180' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m96 137.263-58.779 42.024 22.163-68.389L.894 68.481l72.476-.243L96 0l22.63 68.238 72.476.243-58.49 42.417 22.163 68.389z' fill-rule='evenodd'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg width='192' height='180' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m96 137.263-58.779 42.024 22.163-68.389L.894 68.481l72.476-.243L96 0l22.63 68.238 72.476.243-58.49 42.417 22.163 68.389z' fill-rule='evenodd'/%3e%3c/svg%3e")}.mask-star-2{-webkit-mask-image:url("data:image/svg+xml,%3csvg width='192' height='180' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m96 153.044-58.779 26.243 7.02-63.513L.894 68.481l63.117-13.01L96 0l31.989 55.472 63.117 13.01-43.347 47.292 7.02 63.513z' fill-rule='evenodd'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg width='192' height='180' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m96 153.044-58.779 26.243 7.02-63.513L.894 68.481l63.117-13.01L96 0l31.989 55.472 63.117 13.01-43.347 47.292 7.02 63.513z' fill-rule='evenodd'/%3e%3c/svg%3e")}.checkbox-lg{--size:calc(var(--size-selector,.25rem) * 7);padding:.3125rem}.checkbox-md{--size:calc(var(--size-selector,.25rem) * 6);padding:.25rem}.checkbox-sm{--size:calc(var(--size-selector,.25rem) * 5);padding:.1875rem}.checkbox-xs{--size:calc(var(--size-selector,.25rem) * 4);padding:.125rem}.radio-lg{padding:.3125rem}.radio-lg[type=radio]{--size:calc(var(--size-selector,.25rem) * 7)}.radio-md{padding:.25rem}.radio-md[type=radio]{--size:calc(var(--size-selector,.25rem) * 6)}.radio-sm{padding:.1875rem}.radio-sm[type=radio]{--size:calc(var(--size-selector,.25rem) * 5)}.radio-xs{padding:.125rem}.radio-xs[type=radio]{--size:calc(var(--size-selector,.25rem) * 4)}.select-lg{--size:calc(var(--size-field,.25rem) * 12);font-size:1.125rem}.select-lg option{padding-block:.375rem;padding-inline:1rem}.select-md{--size:calc(var(--size-field,.25rem) * 10);font-size:.875rem}.select-md option{padding-block:.375rem;padding-inline:.75rem}.select-sm{--size:calc(var(--size-field,.25rem) * 8);font-size:.75rem}.select-sm option{padding-block:.25rem;padding-inline:.625rem}.select-xs{--size:calc(var(--size-field,.25rem) * 6);font-size:.6875rem}.select-xs option{padding-block:.25rem;padding-inline:.5rem}.table-lg :not(thead,tfoot) tr{font-size:1.125rem}.table-lg :where(th,td){padding-block:1rem;padding-inline:1.25rem}.table-md :not(thead,tfoot) tr{font-size:.875rem}.table-md :where(th,td){padding-block:.75rem;padding-inline:1rem}.table-sm :not(thead,tfoot) tr{font-size:.75rem}.table-sm :where(th,td){padding-block:.5rem;padding-inline:.75rem}.table-xl :not(thead,tfoot) tr{font-size:1.375rem}.table-xl :where(th,td){padding-block:1.25rem;padding-inline:1.5rem}.table-xs :not(thead,tfoot) tr{font-size:.6875rem}.table-xs :where(th,td){padding-block:.25rem;padding-inline:.5rem}.tabs-lg{--tab-height:calc(var(--size-field,.25rem) * 12)}.tabs-lg>.tab{--tab-p:1rem;--tab-radius-min:calc(1.5rem - var(--border));font-size:1.125rem}.tabs-md{--tab-height:calc(var(--size-field,.25rem) * 10)}.tabs-md>.tab{--tab-p:.75rem;--tab-radius-min:calc(.75rem - var(--border));font-size:.875rem}.tabs-sm{--tab-height:calc(var(--size-field,.25rem) * 8)}.tabs-sm>.tab{--tab-p:.5rem;--tab-radius-min:calc(.5rem - var(--border));font-size:.875rem}.tabs-xs{--tab-height:calc(var(--size-field,.25rem) * 6)}.tabs-xs>.tab{--tab-p:.375rem;--tab-radius-min:calc(.5rem - var(--border));font-size:.75rem}.badge-lg{--size:calc(var(--size-selector,.25rem) * 7);font-size:1rem}.badge-md{--size:calc(var(--size-selector,.25rem) * 6);font-size:.875rem}.badge-sm{--size:calc(var(--size-selector,.25rem) * 5);font-size:.75rem}.badge-xs{--size:calc(var(--size-selector,.25rem) * 4);font-size:.625rem}.alert-error{color:var(--color-error-content);--alert-border-color:var(--color-error);--alert-color:var(--color-error)}.alert-info{color:var(--color-info-content);--alert-border-color:var(--color-info);--alert-color:var(--color-info)}.alert-success{color:var(--color-success-content);--alert-border-color:var(--color-success);--alert-color:var(--color-success)}.alert-warning{color:var(--color-warning-content);--alert-border-color:var(--color-warning);--alert-color:var(--color-warning)}.checkbox-accent{color:var(--color-accent-content);--input-color:var(--color-accent)}.checkbox-error{color:var(--color-error-content);--input-color:var(--color-error)}.checkbox-info{color:var(--color-info-content);--input-color:var(--color-info)}.checkbox-primary{color:var(--color-primary-content);--input-color:var(--color-primary)}.checkbox-secondary{color:var(--color-secondary-content);--input-color:var(--color-secondary)}.checkbox-success{color:var(--color-success-content);--input-color:var(--color-success)}.checkbox-warning{color:var(--color-warning-content);--input-color:var(--color-warning)}.range-accent{color:var(--color-accent);--range-thumb:var(--color-accent-content)}.range-error{color:var(--color-error);--range-thumb:var(--color-error-content)}.range-info{color:var(--color-info);--range-thumb:var(--color-info-content)}.range-primary{color:var(--color-primary);--range-thumb:var(--color-primary-content)}.range-secondary{color:var(--color-secondary);--range-thumb:var(--color-secondary-content)}.range-success{color:var(--color-success);--range-thumb:var(--color-success-content)}.range-warning{color:var(--color-warning);--range-thumb:var(--color-warning-content)}.tooltip-accent{--tt-bg:var(--color-accent)}.tooltip-accent>.tooltip-content,.tooltip-accent[data-tip]:before{color:var(--color-accent-content)}.tooltip-error{--tt-bg:var(--color-error)}.tooltip-error>.tooltip-content,.tooltip-error[data-tip]:before{color:var(--color-error-content)}.tooltip-info{--tt-bg:var(--color-info)}.tooltip-info>.tooltip-content,.tooltip-info[data-tip]:before{color:var(--color-info-content)}.tooltip-primary{--tt-bg:var(--color-primary)}.tooltip-primary>.tooltip-content,.tooltip-primary[data-tip]:before{color:var(--color-primary-content)}.tooltip-secondary{--tt-bg:var(--color-secondary)}.tooltip-secondary>.tooltip-content,.tooltip-secondary[data-tip]:before{color:var(--color-secondary-content)}.tooltip-success{--tt-bg:var(--color-success)}.tooltip-success>.tooltip-content,.tooltip-success[data-tip]:before{color:var(--color-success-content)}.tooltip-warning{--tt-bg:var(--color-warning)}.tooltip-warning>.tooltip-content,.tooltip-warning[data-tip]:before{color:var(--color-warning-content)}.swap-active .swap-off{opacity:0}.swap-active .swap-on{opacity:1}.indicator-end{--indicator-s:auto;--indicator-e:0;--indicator-x:50%}[dir=rtl] .indicator-end,.indicator-start{--indicator-s:0;--indicator-e:auto;--indicator-x:-50%}[dir=rtl] .indicator-start{--indicator-s:auto;--indicator-e:0;--indicator-x:50%}.btn-lg{--fontsize:1.125rem;--btn-p:1.25rem;--size:calc(var(--size-field,.25rem) * 12)}.btn-md{--fontsize:.875rem;--btn-p:1rem;--size:calc(var(--size-field,.25rem) * 10)}.btn-sm{--fontsize:.75rem;--btn-p:.75rem;--size:calc(var(--size-field,.25rem) * 8)}.btn-xl{--fontsize:1.375rem;--btn-p:1.5rem;--size:calc(var(--size-field,.25rem) * 14)}.btn-xs{--fontsize:.6875rem;--btn-p:.5rem;--size:calc(var(--size-field,.25rem) * 6)}.indicator-bottom{--indicator-t:auto;--indicator-b:0;--indicator-y:50%}.indicator-top{--indicator-t:0;--indicator-b:auto;--indicator-y:-50%}.badge-accent{--badge-color:var(--color-accent);--badge-fg:var(--color-accent-content)}.badge-error{--badge-color:var(--color-error);--badge-fg:var(--color-error-content)}.badge-info{--badge-color:var(--color-info);--badge-fg:var(--color-info-content)}.badge-primary{--badge-color:var(--color-primary);--badge-fg:var(--color-primary-content)}.badge-secondary{--badge-color:var(--color-secondary);--badge-fg:var(--color-secondary-content)}.badge-success{--badge-color:var(--color-success);--badge-fg:var(--color-success-content)}.badge-warning{--badge-color:var(--color-warning);--badge-fg:var(--color-warning-content)}.input-accent,.input-accent:focus,.input-accent:focus-within{--input-color:var(--color-accent)}.input-error,.input-error:focus,.input-error:focus-within{--input-color:var(--color-error)}.input-info,.input-info:focus,.input-info:focus-within{--input-color:var(--color-info)}.input-primary,.input-primary:focus,.input-primary:focus-within{--input-color:var(--color-primary)}.input-secondary,.input-secondary:focus,.input-secondary:focus-within{--input-color:var(--color-secondary)}.input-success,.input-success:focus,.input-success:focus-within{--input-color:var(--color-success)}.input-warning,.input-warning:focus,.input-warning:focus-within{--input-color:var(--color-warning)}.radio-accent{--input-color:var(--color-accent)}.radio-error{--input-color:var(--color-error)}.radio-info{--input-color:var(--color-info)}.radio-primary{--input-color:var(--color-primary)}.radio-secondary{--input-color:var(--color-secondary)}.radio-success{--input-color:var(--color-success)}.radio-warning{--input-color:var(--color-warning)}.range-lg{--range-thumb-size:calc(var(--size-selector,.25rem) * 7)}.range-md{--range-thumb-size:calc(var(--size-selector,.25rem) * 6)}.range-sm{--range-thumb-size:calc(var(--size-selector,.25rem) * 5)}.range-xs{--range-thumb-size:calc(var(--size-selector,.25rem) * 4)}.select-accent,.select-accent:focus,.select-accent:focus-within{--input-color:var(--color-accent)}.select-error,.select-error:focus,.select-error:focus-within{--input-color:var(--color-error)}.select-info,.select-info:focus,.select-info:focus-within{--input-color:var(--color-info)}.select-primary,.select-primary:focus,.select-primary:focus-within{--input-color:var(--color-primary)}.select-secondary,.select-secondary:focus,.select-secondary:focus-within{--input-color:var(--color-secondary)}.select-success,.select-success:focus,.select-success:focus-within{--input-color:var(--color-success)}.select-warning,.select-warning:focus,.select-warning:focus-within{--input-color:var(--color-warning)}.toggle-accent:checked,.toggle-accent[aria-checked=true]{--input-color:var(--color-accent)}.toggle-error:checked,.toggle-error[aria-checked=true]{--input-color:var(--color-error)}.toggle-info:checked,.toggle-info[aria-checked=true]{--input-color:var(--color-info)}.toggle-lg[type=checkbox],.toggle-lg:has([type=checkbox]){--size:calc(var(--size-selector,.25rem) * 7)}.toggle-md[type=checkbox],.toggle-md:has([type=checkbox]){--size:calc(var(--size-selector,.25rem) * 6)}.toggle-primary:checked,.toggle-primary[aria-checked=true]{--input-color:var(--color-primary)}.toggle-secondary:checked,.toggle-secondary[aria-checked=true]{--input-color:var(--color-secondary)}.toggle-sm[type=checkbox],.toggle-sm:has([type=checkbox]){--size:calc(var(--size-selector,.25rem) * 5)}.toggle-success:checked,.toggle-success[aria-checked=true]{--input-color:var(--color-success)}.toggle-warning:checked,.toggle-warning[aria-checked=true]{--input-color:var(--color-warning)}.toggle-xs[type=checkbox],.toggle-xs:has([type=checkbox]){--size:calc(var(--size-selector,.25rem) * 4)}}.prose :where(a.btn:not(.btn-link)):not(:where([class~=not-prose],[class~=not-prose] *)){text-decoration-line:none}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse:not(td,tr,colgroup){visibility:revert-layer}.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing) * 0)}.inset-y-0{inset-block:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.-top-1{top:calc(var(--spacing) * -1)}.top-0{top:calc(var(--spacing) * 0)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-4{top:calc(var(--spacing) * 4)}.top-6{top:calc(var(--spacing) * 6)}.top-10{top:calc(var(--spacing) * 10)}.-right-2{right:calc(var(--spacing) * -2)}.right-0{right:calc(var(--spacing) * 0)}.right-1\/4{right:25%}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.right-6{right:calc(var(--spacing) * 6)}.-bottom-5{bottom:calc(var(--spacing) * -5)}.bottom-6{bottom:calc(var(--spacing) * 6)}.bottom-10{bottom:calc(var(--spacing) * 10)}.left-0{left:calc(var(--spacing) * 0)}.left-1\/2{left:50%}.left-1\/4{left:25%}.left-2{left:calc(var(--spacing) * 2)}.left-3{left:calc(var(--spacing) * 3)}.left-4{left:calc(var(--spacing) * 4)}.left-6{left:calc(var(--spacing) * 6)}.-z-0{z-index:calc(0 * -1)}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[1\]{z-index:1}.z-\[50\]{z-index:50}.z-\[90\]{z-index:90}.z-\[100\]{z-index:100}.z-\[110\]{z-index:110}.z-\[9999\]{z-index:9999}.col-start-1{grid-column-start:1}.col-start-2{grid-column-start:2}.col-start-3{grid-column-start:3}.row-start-2{grid-row-start:2}.row-start-3{grid-row-start:3}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-1{margin:calc(var(--spacing) * 1)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing) * 1)}.my-4{margin-block:calc(var(--spacing) * 4)}.my-6{margin-block:calc(var(--spacing) * 6)}.my-16{margin-block:calc(var(--spacing) * 16)}.-mt-10{margin-top:calc(var(--spacing) * -10)}.mt-0{margin-top:calc(var(--spacing) * 0)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mr-1{margin-right:calc(var(--spacing) * 1)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-6{margin-left:calc(var(--spacing) * 6)}.icon-\[lucide--alert-circle\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 8v4m0 4h.01'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--alert-triangle\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m21.73 18l-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3M12 9v4m0 4h.01'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--calendar\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M8 2v4m8-4v4'/%3E%3Crect width='18' height='18' x='3' y='4' rx='2'/%3E%3Cpath d='M3 10h18'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--check-circle\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M21.801 10A10 10 0 1 1 17 3.335'/%3E%3Cpath d='m9 11l3 3L22 4'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--check\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M20 6L9 17l-5-5'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--chevron-left\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m15 18l-6-6l6-6'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--chevron-right\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m9 18l6-6l-6-6'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--chevrons-left\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m11 17l-5-5l5-5m7 10l-5-5l5-5'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--chevrons-right\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m6 17l5-5l-5-5m7 10l5-5l-5-5'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--eye-off\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575a1 1 0 0 1 0 .696a10.8 10.8 0 0 1-1.444 2.49m-6.41-.679a3 3 0 0 1-4.242-4.242'/%3E%3Cpath d='M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151a1 1 0 0 1 0-.696a10.75 10.75 0 0 1 4.446-5.143M2 2l20 20'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--eye\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M2.062 12.348a1 1 0 0 1 0-.696a10.75 10.75 0 0 1 19.876 0a1 1 0 0 1 0 .696a10.75 10.75 0 0 1-19.876 0'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--hash\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 9h16M4 15h16M10 3L8 21m8-18l-2 18'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--heart\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 9.5a5.5 5.5 0 0 1 9.591-3.676a.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--info\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-4m0-4h.01'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--link\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71'/%3E%3Cpath d='M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--lock\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Crect width='18' height='11' x='3' y='11' rx='2' ry='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--mail\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='m22 7l-8.991 5.727a2 2 0 0 1-2.009 0L2 7'/%3E%3Crect width='20' height='16' x='2' y='4' rx='2'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--phone\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233a14 14 0 0 0 6.392 6.384'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--search-x\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='m13.5 8.5l-5 5m0-5l5 5'/%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21l-4.3-4.3'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--search\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='m21 21l-4.34-4.34'/%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--text\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M15 18H3M17 6H3m18 6H3'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--upload\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 3v12m5-7l-5-5l-5 5m14 7v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--x\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M18 6L6 18M6 6l12 12'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.kbd{box-shadow:none}.text-rotate{height:1lh}.alert{border-width:var(--border);border-color:var(--alert-border-color,var(--color-base-200))}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.table{display:table}.aspect-square{aspect-ratio:1}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-8{height:calc(var(--spacing) * 8)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-16{height:calc(var(--spacing) * 16)}.h-20{height:calc(var(--spacing) * 20)}.h-24{height:calc(var(--spacing) * 24)}.h-32{height:calc(var(--spacing) * 32)}.h-48{height:calc(var(--spacing) * 48)}.h-96{height:calc(var(--spacing) * 96)}.h-\[300px\]{height:300px}.h-\[400px\]{height:400px}.h-\[500px\]{height:500px}.h-auto{height:auto}.h-full{height:100%}.max-h-60{max-height:calc(var(--spacing) * 60)}.max-h-96{max-height:calc(var(--spacing) * 96)}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-\[300px\]{min-height:300px}.min-h-\[400px\]{min-height:400px}.min-h-\[500px\]{min-height:500px}.min-h-full{min-height:100%}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-8{width:calc(var(--spacing) * 8)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-16{width:calc(var(--spacing) * 16)}.w-24{width:calc(var(--spacing) * 24)}.w-32{width:calc(var(--spacing) * 32)}.w-40{width:calc(var(--spacing) * 40)}.w-48{width:calc(var(--spacing) * 48)}.w-52{width:calc(var(--spacing) * 52)}.w-56{width:calc(var(--spacing) * 56)}.w-64{width:calc(var(--spacing) * 64)}.w-80{width:calc(var(--spacing) * 80)}.w-96{width:calc(var(--spacing) * 96)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-3xl{max-width:var(--container-3xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-\[200px\]{max-width:200px}.max-w-md{max-width:var(--container-md)}.max-w-xs{max-width:var(--container-xs)}.min-w-\[4rem\]{min-width:4rem}.min-w-\[48px\]{min-width:48px}.min-w-\[500px\]{min-width:500px}.min-w-\[600px\]{min-width:600px}.flex-1{flex:1}.flex-none{flex:none}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-2{--tw-translate-x:calc(var(--spacing) * 2);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-4{--tw-translate-x:calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-10{--tw-translate-x:calc(var(--spacing) * 10);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-full{--tw-translate-x:100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-2{--tw-translate-y:calc(var(--spacing) * 2);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-4{--tw-translate-y:calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-105{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-110{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.cursor-help{cursor:help}.cursor-pointer{cursor:pointer}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.justify-items-center{justify-items:center}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-box{border-radius:var(--radius-box);border-radius:var(--radius-box)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-none{border-radius:0}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}@layer daisyui.l1{.alert-dash{color:var(--alert-color);box-shadow:none;background-color:#0000;background-image:none;border-style:dashed}.btn-dash:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-shadow:"";--btn-bg:#0000;--btn-fg:var(--btn-color);--btn-border:var(--btn-color);--btn-noise:none}@media (hover:none){.btn-dash:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-shadow:"";--btn-bg:#0000;--btn-fg:var(--btn-color);--btn-border:var(--btn-color);--btn-noise:none}}.alert-soft{color:var(--alert-color,var(--color-base-content));background:var(--alert-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.alert-soft{background:color-mix(in oklab, var(--alert-color,var(--color-base-content)) 8%, var(--color-base-100))}}.alert-soft{--alert-border-color:var(--alert-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.alert-soft{--alert-border-color:color-mix(in oklab, var(--alert-color,var(--color-base-content)) 10%, var(--color-base-100))}}.alert-soft{box-shadow:none;background-image:none}.btn-link{--btn-border:#0000;--btn-bg:#0000;--btn-noise:none;--btn-shadow:"";outline-color:currentColor;text-decoration-line:underline}.btn-link:not(.btn-disabled,.btn:disabled,.btn[disabled]){--btn-fg:var(--btn-color,var(--color-primary))}.btn-link:is(.btn-active,:hover,:active:focus,:focus-visible){--btn-border:#0000;--btn-bg:#0000}.btn-ghost:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn)){--btn-shadow:"";--btn-bg:#0000;--btn-border:#0000;--btn-noise:none}.btn-ghost:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn)):not(:disabled,[disabled],.btn-disabled){--btn-fg:var(--btn-color,currentColor);outline-color:currentColor}@media (hover:none){.btn-ghost:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-shadow:"";--btn-bg:#0000;--btn-fg:var(--btn-color,currentColor);--btn-border:#0000;--btn-noise:none;outline-color:currentColor}}.btn-outline:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-shadow:"";--btn-bg:#0000;--btn-fg:var(--btn-color);--btn-border:var(--btn-color);--btn-noise:none}@media (hover:none){.btn-outline:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-shadow:"";--btn-bg:#0000;--btn-fg:var(--btn-color);--btn-border:var(--btn-color);--btn-noise:none}}.btn-soft:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-shadow:"";--btn-fg:var(--btn-color,var(--color-base-content));--btn-bg:var(--btn-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.btn-soft:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-bg:color-mix(in oklab, var(--btn-color,var(--color-base-content)) 8%, var(--color-base-100))}}.btn-soft:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-border:var(--btn-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.btn-soft:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-border:color-mix(in oklab, var(--btn-color,var(--color-base-content)) 10%, var(--color-base-100))}}.btn-soft:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-noise:none}@media (hover:none){.btn-soft:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-shadow:"";--btn-fg:var(--btn-color,var(--color-base-content));--btn-bg:var(--btn-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.btn-soft:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-bg:color-mix(in oklab, var(--btn-color,var(--color-base-content)) 8%, var(--color-base-100))}}.btn-soft:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-border:var(--btn-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.btn-soft:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-border:color-mix(in oklab, var(--btn-color,var(--color-base-content)) 10%, var(--color-base-100))}}.btn-soft:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-noise:none}}}.btn-dash{border-style:dashed}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-base-200\/30{border-color:var(--color-base-200)}@supports (color:color-mix(in lab, red, red)){.border-base-200\/30{border-color:color-mix(in oklab, var(--color-base-200) 30%, transparent)}}.border-base-300{border-color:var(--color-base-300)}.border-base-content\/20{border-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.border-base-content\/20{border-color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.border-black\/5{border-color:#0000000d}@supports (color:color-mix(in lab, red, red)){.border-black\/5{border-color:color-mix(in oklab, var(--color-black) 5%, transparent)}}.border-black\/10{border-color:#0000001a}@supports (color:color-mix(in lab, red, red)){.border-black\/10{border-color:color-mix(in oklab, var(--color-black) 10%, transparent)}}.border-primary{border-color:var(--color-primary)}.border-transparent{border-color:#0000}.bg-accent{background-color:var(--color-accent)}.bg-base-100{background-color:var(--color-base-100)}.bg-base-200,.bg-base-200\/30{background-color:var(--color-base-200)}@supports (color:color-mix(in lab, red, red)){.bg-base-200\/30{background-color:color-mix(in oklab, var(--color-base-200) 30%, transparent)}}.bg-base-200\/50{background-color:var(--color-base-200)}@supports (color:color-mix(in lab, red, red)){.bg-base-200\/50{background-color:color-mix(in oklab, var(--color-base-200) 50%, transparent)}}.bg-base-300{background-color:var(--color-base-300)}.bg-black\/20{background-color:#0003}@supports (color:color-mix(in lab, red, red)){.bg-black\/20{background-color:color-mix(in oklab, var(--color-black) 20%, transparent)}}.bg-error,.bg-error\/10{background-color:var(--color-error)}@supports (color:color-mix(in lab, red, red)){.bg-error\/10{background-color:color-mix(in oklab, var(--color-error) 10%, transparent)}}.bg-info{background-color:var(--color-info)}.bg-neutral{background-color:var(--color-neutral)}.bg-primary,.bg-primary\/5{background-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/5{background-color:color-mix(in oklab, var(--color-primary) 5%, transparent)}}.bg-primary\/10{background-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/10{background-color:color-mix(in oklab, var(--color-primary) 10%, transparent)}}.bg-primary\/20{background-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/20{background-color:color-mix(in oklab, var(--color-primary) 20%, transparent)}}.bg-secondary{background-color:var(--color-secondary)}.bg-success,.bg-success\/10{background-color:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.bg-success\/10{background-color:color-mix(in oklab, var(--color-success) 10%, transparent)}}.bg-warning,.bg-warning\/10{background-color:var(--color-warning)}@supports (color:color-mix(in lab, red, red)){.bg-warning\/10{background-color:color-mix(in oklab, var(--color-warning) 10%, transparent)}}.bg-white\/20{background-color:#fff3}@supports (color:color-mix(in lab, red, red)){.bg-white\/20{background-color:color-mix(in oklab, var(--color-white) 20%, transparent)}}.bg-linear-to-r{--tw-gradient-position:to right}@supports (background-image:linear-gradient(in lab, red, red)){.bg-linear-to-r{--tw-gradient-position:to right in oklab}}.bg-linear-to-r{background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-accent{--tw-gradient-from:var(--color-accent);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-primary{--tw-gradient-from:var(--color-primary);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-secondary{--tw-gradient-from:var(--color-secondary);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.via-accent{--tw-gradient-via:var(--color-accent);--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-accent{--tw-gradient-to:var(--color-accent);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-primary{--tw-gradient-to:var(--color-primary);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-secondary{--tw-gradient-to:var(--color-secondary);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.mask-circle{--tw-mask-radial-shape:circle}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.p-0{padding:calc(var(--spacing) * 0)}.p-1{padding:calc(var(--spacing) * 1)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.p-10{padding:calc(var(--spacing) * 10)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-10{padding-inline:calc(var(--spacing) * 10)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-16{padding-block:calc(var(--spacing) * 16)}.py-20{padding-block:calc(var(--spacing) * 20)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pr-10{padding-right:calc(var(--spacing) * 10)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-10{padding-left:calc(var(--spacing) * 10)}.\!text-center{text-align:center!important}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.text-7xl{font-size:var(--text-7xl);line-height:var(--tw-leading,var(--text-7xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-tighter{--tw-tracking:var(--tracking-tighter);letter-spacing:var(--tracking-tighter)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-balance{text-wrap:balance}.whitespace-nowrap{white-space:nowrap}.text-accent{color:var(--color-accent)}.text-accent-content{color:var(--color-accent-content)}.text-base-content,.text-base-content\/60{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.text-base-content\/60{color:color-mix(in oklab, var(--color-base-content) 60%, transparent)}}.text-base-content\/90{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.text-base-content\/90{color:color-mix(in oklab, var(--color-base-content) 90%, transparent)}}.text-error{color:var(--color-error)}.text-error-content{color:var(--color-error-content)}.text-gray-500{color:var(--color-gray-500)}.text-info{color:var(--color-info)}.text-info-content{color:var(--color-info-content)}.text-neutral-content{color:var(--color-neutral-content)}.text-primary{color:var(--color-primary)}.text-primary-content{color:var(--color-primary-content)}.text-secondary{color:var(--color-secondary)}.text-secondary-content{color:var(--color-secondary-content)}.text-success{color:var(--color-success)}.text-success-content{color:var(--color-success-content)}.text-transparent{color:#0000}.text-warning{color:var(--color-warning)}.text-warning-content{color:var(--color-warning-content)}.text-white{color:var(--color-white)}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-secondary\/20{--tw-shadow-color:var(--color-secondary)}@supports (color:color-mix(in lab, red, red)){.shadow-secondary\/20{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-secondary) 20%, transparent) var(--tw-shadow-alpha), transparent)}}.ring-primary{--tw-ring-color:var(--color-primary)}.ring-offset-1{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.blur-3xl{--tw-blur:blur(var(--blur-3xl));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,)}.drop-shadow-2xl{--tw-drop-shadow-size:drop-shadow(0 25px 25px var(--tw-drop-shadow-color,#00000026));--tw-drop-shadow:drop-shadow(var(--drop-shadow-2xl));filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.ring-inset{--tw-ring-inset:inset}@media (hover:hover){.group-hover\:translate-x-1:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}}.before\:z-50:before,.after\:z-50:after{content:var(--tw-content);z-index:50}@media (hover:hover){.hover\:z-10:hover{z-index:10}.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\:scale-110:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\:scale-125:hover{--tw-scale-x:125%;--tw-scale-y:125%;--tw-scale-z:125%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\:border-accent\/40:hover{border-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.hover\:border-accent\/40:hover{border-color:color-mix(in oklab, var(--color-accent) 40%, transparent)}}.hover\:border-base-content\/20:hover{border-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.hover\:border-base-content\/20:hover{border-color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.hover\:border-primary\/40:hover{border-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.hover\:border-primary\/40:hover{border-color:color-mix(in oklab, var(--color-primary) 40%, transparent)}}.hover\:border-primary\/50:hover{border-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.hover\:border-primary\/50:hover{border-color:color-mix(in oklab, var(--color-primary) 50%, transparent)}}.hover\:border-secondary\/40:hover{border-color:var(--color-secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:border-secondary\/40:hover{border-color:color-mix(in oklab, var(--color-secondary) 40%, transparent)}}.hover\:bg-base-200:hover{background-color:var(--color-base-200)}.hover\:bg-base-300:hover{background-color:var(--color-base-300)}.hover\:bg-white\/30:hover{background-color:#ffffff4d}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/30:hover{background-color:color-mix(in oklab, var(--color-white) 30%, transparent)}}.hover\:text-base-content:hover{color:var(--color-base-content)}.hover\:opacity-70:hover{opacity:.7}.hover\:opacity-100:hover{opacity:1}}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}@media (min-width:48rem){.md\:h-64{height:calc(var(--spacing) * 64)}.md\:w-64{width:calc(var(--spacing) * 64)}.md\:w-auto{width:auto}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.md\:text-9xl{font-size:var(--text-9xl);line-height:var(--tw-leading,var(--text-9xl--line-height))}}@media (min-width:64rem){.lg\:col-span-2{grid-column:span 2/span 2}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@keyframes fade-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}.animate-fade-in{animation:.15s ease-out forwards fade-in}}:root{font-size:14px}.input,.label,.select,.textarea{transition:all .3s cubic-bezier(.4,0,.2,1)}:is(.input,.label,.select,.textarea):focus,:is(.input,.label,.select,.textarea):focus-within{box-shadow:0 0 4px;outline:none!important}:is(.input,.label,.select,.textarea):hover:not(:focus){background-color:oklch(from var(--color-base-100) calc(l - .03) c h)}.floating-label span{color:oklch(30% .01 260);font-size:1.1rem;transition:all .2s}.floating-label:focus-within span{color:oklch(25% .02 260);font-size:1.1rem}.floating-label:has(input:not(:placeholder-shown)) span{color:oklch(28% .01 260);font-size:1.1rem}.tab-content-inner{transform-origin:top;animation:.3s cubic-bezier(.4,0,.2,1) tabFadeIn}.input-content{z-index:100;background:#fff;width:100%;position:absolute;top:100%;left:0;box-shadow:0 4px 6px #0000001a}@keyframes tabFadeIn{0%{opacity:0;transform:scaleY(.95)}to{opacity:1;transform:scaleY(1)}}@keyframes rating{0%,40%{filter:brightness(1.05)contrast(1.05);scale:1.1}}@keyframes dropdown{0%{opacity:0}}@keyframes radio{0%{padding:5px}50%{padding:3px}}@keyframes toast{0%{opacity:0;scale:.9}to{opacity:1;scale:1}}@keyframes rotator{89.9999%,to{--first-item-position:0 0%}90%,99.9999%{--first-item-position:0 calc(var(--items) * 100%)}to{translate:0 -100%}}@keyframes skeleton{0%{background-position:150%}to{background-position:-50%}}@keyframes menu{0%{opacity:0}}@keyframes progress{50%{background-position-x:-115%}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes pulse{50%{opacity:.5}} \ No newline at end of file diff --git a/dist/sigpro-ui.min.js b/dist/sigpro-ui.min.js index 00bd4da..5dbc6e6 100644 --- a/dist/sigpro-ui.min.js +++ b/dist/sigpro-ui.min.js @@ -1 +1 @@ -(()=>{var{defineProperty:V,getOwnPropertyNames:fe,getOwnPropertyDescriptor:de}=Object,me=Object.prototype.hasOwnProperty;function he(t){return this[t]}var ge=(t)=>{var e=(Wt??=new WeakMap).get(t),a;if(e)return e;if(e=V({},"__esModule",{value:!0}),t&&typeof t==="object"||typeof t==="function"){for(var s of fe(t))if(!me.call(e,s))V(e,s,{get:he.bind(t,s),enumerable:!(a=de(t,s))||a.enumerable})}return Wt.set(t,e),e},Wt;var be=(t)=>t;function ve(t,e){this[t]=be.bind(null,e)}var d=(t,e)=>{for(var a in e)V(t,a,{get:e[a],enumerable:!0,configurable:!0,set:ve.bind(e,a)})};var _n={};d(_n,{Utils:()=>oe,Components:()=>ce});var tt={};d(tt,{Accordion:()=>_e});var D=(t)=>typeof t==="function",Q=(t)=>t&&typeof t==="object",z=Array.isArray,A=typeof document<"u"?document:null,Kt=(t)=>t?._isRuntime?t.container:t instanceof Node?t:A.createTextNode(t==null?"":String(t)),y=null,_=null,O=!1,q=0,W=new Set,Yt=new WeakMap,X=Symbol("iter"),G=new WeakMap,B=(t)=>{if(!t||t._disposed)return;t._disposed=!0;let e=[t];while(e.length){let a=e.pop();if(a._cleanups)a._cleanups.forEach((s)=>s()),a._cleanups.clear();if(a._children)a._children.forEach((s)=>e.push(s)),a._children.clear();if(a._deps)a._deps.forEach((s)=>s.delete(a)),a._deps.clear()}},F=(t)=>{if(_)(_._cleanups||=new Set).add(t)},ye=(t)=>{let e=y;y=null;try{return t()}finally{y=e}},P=(t,e=!1)=>{let a=()=>{if(a._disposed)return;if(a._deps)a._deps.forEach((r)=>r.delete(a));if(a._cleanups)a._cleanups.forEach((r)=>r()),a._cleanups.clear();let s=y,c=_;y=_=a;try{return a._result=t()}catch(r){console.error("[SigPro]",r)}finally{y=s,_=c}};if(a._deps=a._cleanups=a._children=null,a._disposed=!1,a._isComputed=e,a._depth=y?y._depth+1:0,a._mounts=[],a._parent=_,_)(_._children||=new Set).add(a);return a},Ut=()=>{if(O)return;O=!0;let t=Array.from(W).sort((e,a)=>e._depth-a._depth);W.clear();for(let e of t)if(!e._disposed)e();O=!1},xe=(t)=>{q++;try{return t()}finally{if(q--,q===0&&W.size>0&&!O)Ut()}},C=(t,e=!1)=>{if(!e&&y&&!y._disposed)t.add(y),(y._deps||=new Set).add(t);else if(e&&t.size>0){let a=!1;for(let s of t){if(s===y||s._disposed)continue;if(s._isComputed){if(s._dirty=!0,s._subs)C(s._subs,!0)}else W.add(s),a=!0}if(a&&!O&&q===0)queueMicrotask(Ut)}},g=(t,e=null)=>{let a=new Set;if(D(t)){let s,c=()=>{if(c._dirty){let r=y;y=c;try{let o=t();if(!Object.is(s,o))s=o,C(a,!0)}finally{y=r}c._dirty=!1}return C(a),s};if(c._isComputed=!0,c._subs=a,c._dirty=!0,c._deps=null,c._disposed=!1,c.stop=()=>{},_)F(c.stop);return c}if(e)try{t=JSON.parse(localStorage.getItem(e))??t}catch(s){}return(...s)=>{if(s.length){let c=D(s[0])?s[0](t):s[0];if(!Object.is(t,c)){if(t=c,e)localStorage.setItem(e,JSON.stringify(t));C(a,!0)}}return C(a),t}},Vt=(t)=>{if(!Q(t))return t;let e=Yt.get(t);if(e)return e;let a=new Map,s=(c)=>{let r=a.get(c);if(!r)a.set(c,r=new Set);return r};return e=new Proxy(t,{get(c,r,o){if(typeof r!=="symbol")C(s(r));return Vt(Reflect.get(c,r,o))},set(c,r,o,l){let i=!Reflect.has(c,r),u=Reflect.get(c,r,l),f=Reflect.set(c,r,o,l);if(f&&!Object.is(u,o)){if(C(s(r),!0),i)C(s(X),!0)}return f},deleteProperty(c,r){let o=Reflect.deleteProperty(c,r);if(o)C(s(r),!0),C(s(X),!0);return o},ownKeys(c){return C(s(X)),Reflect.ownKeys(c)}}),Yt.set(t,e),e},E=(t,e)=>{if(e===void 0){let s=P(t);return s(),()=>B(s)}let a=P(()=>{let s=Array.isArray(t)?t.map((c)=>c()):t();ye(()=>e(s))});return a(),()=>B(a)},Z=(t)=>{if(t._cleanups)t._cleanups.forEach((e)=>e()),t._cleanups.clear();if(t._ownerEffect)B(t._ownerEffect);if(t.childNodes)t.childNodes.forEach(Z)},we=/^\s*(javascript|data|vbscript):/i,$e=(t)=>t==="src"||t==="href"||t.startsWith("on"),Jt=(t,e)=>{if(e==null||e===!1)return null;if($e(t)){let a=String(e);if(we.test(a))return console.warn(`[SigPro] Bloqueado protocolo peligroso en ${t}`),"#"}return e},n=(t,e={},a=[])=>{if(e instanceof Node||z(e)||!Q(e))a=e,e={};if(D(t)){let o=P(()=>{let f=t(e,{children:a,emit:(h,...v)=>e[`on${h[0].toUpperCase()}${h.slice(1)}`]?.(...v)});return o._result=f,f});o();let l=o._result;if(l==null)return null;let i=l instanceof Node||z(l)&&l.every((f)=>f instanceof Node)?l:A.createTextNode(String(l)),u=(f)=>{if(Q(f)&&!f._isRuntime)f._mounts=o._mounts||[],f._cleanups=o._cleanups||new Set,f._ownerEffect=o};return z(i)?i.forEach(u):u(i),i}let s=/^(svg|path|circle|rect|line|poly(line|gon)|g|defs|text(path)?|tspan|use|symbol|image|marker|ellipse)$/i.test(t),c=s?A.createElementNS("http://www.w3.org/2000/svg",t):A.createElement(t);c._cleanups=new Set;for(let o in e){if(!e.hasOwnProperty(o))continue;let l=e[o];if(o==="ref"){D(l)?l(c):l.current=c;continue}if(s&&o.startsWith("xlink:")){l==null?c.removeAttributeNS("http://www.w3.org/1999/xlink",o.slice(6)):c.setAttributeNS("http://www.w3.org/1999/xlink",o.slice(6),l);continue}if(o.startsWith("on")){let i=o.slice(2).toLowerCase();c.addEventListener(i,l);let u=()=>c.removeEventListener(i,l);c._cleanups.add(u),F(u)}else if(D(l)){let i=P(()=>{let u=Jt(o,l());if(o==="class")c.className=u||"";else if(u==null)c.removeAttribute(o);else if(o in c&&!s)c[o]=u;else c.setAttribute(o,u===!0?"":u)});if(i(),c._cleanups.add(()=>B(i)),F(()=>B(i)),/^(INPUT|TEXTAREA|SELECT)$/.test(c.tagName)&&(o==="value"||o==="checked")){let u=o==="checked"?"change":"input";c.addEventListener(u,(f)=>l(f.target[o]))}}else{let i=Jt(o,l);if(i!=null)if(o in c&&!s)c[o]=i;else c.setAttribute(o,i===!0?"":i)}}let r=(o)=>{if(z(o))return o.forEach(r);if(D(o)){let l=A.createTextNode("");c.appendChild(l);let i=[],u=P(()=>{let f=o(),h=(z(f)?f:[f]).map(Kt);i.forEach((x)=>{if(x._isRuntime)x.destroy();else Z(x);if(x.parentNode)x.remove()});let v=l;for(let x=h.length-1;x>=0;x--){let m=h[x];if(m.parentNode!==v.parentNode)v.parentNode?.insertBefore(m,v);if(m._mounts)m._mounts.forEach((b)=>b());v=m}i=h});u(),c._cleanups.add(()=>B(u)),F(()=>B(u))}else{let l=Kt(o);if(c.appendChild(l),l._mounts)l._mounts.forEach((i)=>i())}};return r(a),c},p=(t)=>{let e=new Set,a=[],s=_,c=y,r=A.createElement("div");r.style.display="contents",r.setAttribute("role","presentation"),_={_cleanups:e,_mounts:a},y=null;let o=(l)=>{if(!l)return;if(l._isRuntime)e.add(l.destroy),r.appendChild(l.container);else if(z(l))l.forEach(o);else r.appendChild(l instanceof Node?l:A.createTextNode(String(l==null?"":l)))};try{o(t({onCleanup:(l)=>e.add(l)}))}finally{_=s,y=c}return a.forEach((l)=>l()),{_isRuntime:!0,container:r,destroy:()=>{e.forEach((l)=>l()),Z(r),r.remove()}}},N=(t,e,{enter:a,leave:s}={})=>{let c=n("div",{style:"display:contents"}),r=null,o=(l,i)=>{if(!l)return i();let u=!1,f=()=>!u&&(u=!0,i());l.addEventListener("transitionend",f,{once:!0}),l.addEventListener("animationend",f,{once:!0}),setTimeout(f,500)};return E(t,(l)=>{if(l&&!r){let i=(r=e(e)).container.firstChild;if(c.appendChild(r.container),a&&i)i.classList.add(a),i.clientTop,i.classList.add(a+"-active"),o(i,()=>i.classList.remove(a,a+"-active"))}else if(!l&&r){let i=r.container.firstChild,u=()=>(r.destroy(),r=null);if(s&&i)i.classList.add(s),o(i,u);else u()}}),F(()=>r?.destroy()),c},$=(t,e,a)=>{let s=A.createTextNode(""),c=n("div",{style:"display:contents"},[s]),r=new Map;return E(()=>(D(t)?t():t)||[],(o)=>{let l=new Map,i=[],u=o||[];for(let h=0;he(v,h));else r.delete(x);l.set(x,m),i.push(m)}r.forEach((h)=>h.destroy());let f=s;for(let h=i.length-1;h>=0;h--){let v=i[h].container;if(v.nextSibling!==f)c.insertBefore(v,f);f=v}r=l}),c},H=(t)=>{let e=()=>window.location.hash.slice(1)||"/",a=g(e()),s=()=>a(e());window.addEventListener("hashchange",s),F(()=>window.removeEventListener("hashchange",s));let c=n("div",{class:"router-hook"}),r=null;return E([a],()=>{let o=a(),l=t.find((i)=>{let u=i.path.split("/").filter(Boolean),f=o.split("/").filter(Boolean);return u.length===f.length&&u.every((h,v)=>h[0]===":"||h===f[v])})||t.find((i)=>i.path==="*");if(l){r?.destroy();let i={};l.path.split("/").filter(Boolean).forEach((u,f)=>{if(u[0]===":")i[u.slice(1)]=o.split("/").filter(Boolean)[f]}),H.params(i),r=p(()=>D(l.component)?l.component(i):l.component),c.replaceChildren(r.container)}}),c};H.params=g({});H.to=(t)=>window.location.hash=t.replace(/^#?\/?/,"#/");H.back=()=>window.history.back();H.path=()=>window.location.hash.replace(/^#/,"")||"/";var M=(t,e)=>{let a=typeof e==="string"?A.querySelector(e):e;if(!a)return;if(G.has(a))G.get(a).destroy();let s=p(D(t)?t:()=>t);return a.replaceChildren(s.container),G.set(a,s),s},ke=Object.freeze({$:g,$$:Vt,watch:E,h:n,when:N,each:$,router:H,mount:M,batch:xe});if(typeof window<"u")Object.assign(window,ke),"a abbr article aside audio b blockquote br button canvas caption cite code col colgroup datalist dd del details dfn dialog div dl dt em embed fieldset figcaption figure footer form h1 h2 h3 h4 h5 h6 header hr i iframe img input ins kbd label legend li main mark meter nav object ol optgroup option output p picture pre progress section select slot small source span strong sub summary sup svg table tbody td template textarea tfoot th thead time tr u ul video".split(" ").forEach((t)=>{window[t]=(e,a)=>n(t,e,a)});var _e=(t)=>{let e=t.name||`accordion-${Math.random().toString(36).slice(2,9)}`;if(t.items&&Array.isArray(t.items))return n("div",{class:`space-y-2 ${t.class??""}`},t.items.map((a)=>n("div",{class:`collapse ${a.class??""}`},[n("input",{type:"radio",name:e,checked:a.open}),n("div",{class:"collapse-title text-xl font-medium"},a.title),n("div",{class:"collapse-content"},a.children)])));return n("div",{class:`collapse ${t.class??""}`},[n("input",{type:"radio",name:e,checked:t.open}),n("div",{class:"collapse-title text-xl font-medium"},t.title),n("div",{class:"collapse-content"},t.children)])};var et={};d(et,{Alert:()=>Se});var Se=(t,e)=>{return e===void 0&&(e=t,t={}),n("div",{...t,class:`alert ${t.class??""}`},e)};var nt={};d(nt,{Autocomplete:()=>Ce});var Ce=(t)=>{let e=g(""),a=g(!1),s=g(-1),c=g([]);E(()=>{return(typeof t.value==="function"?t.value():t.value)||""},(l)=>setTimeout(()=>e(l),0)),E(()=>{let l=String(e()).toLowerCase(),i=typeof t.items==="function"?t.items():t.items,u=l?i.filter((f)=>(typeof f==="string"?f:f.label).toLowerCase().includes(l)):i;c(u)});let r=(l)=>{let i=typeof l==="string"?l:l.label,u=typeof l==="string"?l:l.value;if(e(i),typeof t.value==="function")t.value(u);t.onselect?.(l),a(!1),s(-1)},o=(l)=>{let i=c();if(l.key==="ArrowDown")l.preventDefault(),a(!0),s(Math.min(s()+1,i.length-1));else if(l.key==="ArrowUp")l.preventDefault(),s(Math.max(s()-1,0));else if(l.key==="Enter"&&s()>=0)l.preventDefault(),r(i[s()]);else if(l.key==="Escape")a(!1)};return n("div",{class:`relative w-full ${t.class??""}`},[n("label",{class:"input input-bordered w-full"},[n("span",{class:"icon-[lucide--search]"}),n("input",{...t,type:"text",class:"grow",placeholder:t.placeholder||"Buscar...",value:e,onfocus:()=>a(!0),onblur:()=>setTimeout(()=>a(!1),150),onkeydown:o,oninput:(l)=>{let i=l.target.value;if(e(i),typeof t.value==="function")t.value(i);a(!0),s(-1)}})]),n("ul",{class:"absolute left-0 w-full menu bg-base-100 rounded-box mt-1 p-2 shadow-xl max-h-60 overflow-y-auto border border-base-300 z-50",style:()=>`display: ${a()&&c().length?"block":"none"};`},[$(c,(l,i)=>n("li",{},[n("a",{class:()=>`block w-full ${s()===i?"active bg-primary text-primary-content":""}`,onclick:()=>r(l),onmouseenter:()=>s(i)},typeof l==="string"?l:l.label)]),(l,i)=>(typeof l==="string"?l:l.value)+i),()=>c().length===0?n("li",{class:"flex justify-center p-4 opacity-50"},n("span",{class:"icon-[lucide--search-x] text-2xl"})):null])])};var at={};d(at,{Badge:()=>Ee});var Ee=(t,e)=>{return e===void 0&&(e=t,t={}),n("span",{...t,class:`badge ${t.class??""}`},e)};var st={};d(st,{Button:()=>Te});var Te=(t,e)=>{return e===void 0&&(e=t,t={}),n("button",{...t,class:`btn ${t.class??""}`},e)};var ct={};d(ct,{Calendar:()=>lt});var lt=(t)=>{let e=g(new Date),a=g(null),s=g(0),c=g(0),r=()=>{return(typeof t.range==="function"?t.range():t.range)===!0},o=new Date,l=`${o.getFullYear()}-${String(o.getMonth()+1).padStart(2,"0")}-${String(o.getDate()).padStart(2,"0")}`,i=(m)=>{let b=m.getFullYear(),w=String(m.getMonth()+1).padStart(2,"0"),k=String(m.getDate()).padStart(2,"0");return`${b}-${w}-${k}`},u=()=>{return typeof t.value==="function"?t.value():t.value},f=(m)=>{let b=i(m),w=u();if(r())if(!w?.start||w.start&&w.end){let k={start:b,end:null,...t.hour&&{startHour:s()}};t.onChange?.(k)}else{let k=w.start,L;if(b{let b=e();e(new Date(b.getFullYear(),b.getMonth()+m,1))},v=(m)=>{let b=e();e(new Date(b.getFullYear()+m,b.getMonth(),1))},x=({value:m,onChange:b})=>{return n("div",{class:"flex-1"},[n("div",{class:"flex gap-2 items-center"},[n("input",{type:"range",min:0,max:23,value:m,class:"range range-xs flex-1",oninput:(w)=>b(parseInt(w.target.value))}),n("span",{class:"text-sm font-mono min-w-[48px] text-center"},()=>String(typeof m==="function"?m():m).padStart(2,"0")+":00")])])};return n("div",{class:`p-4 bg-base-100 border border-base-300 shadow-2xl rounded-box w-80 select-none ${t.class??""}`.trim()},[n("div",{class:"flex justify-between items-center mb-4 gap-1"},[n("div",{class:"flex gap-0.5"},[n("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>v(-1)},n("span",{class:"icon-[lucide--chevrons-left]"})),n("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>h(-1)},n("span",{class:"icon-[lucide--chevron-left]"}))]),n("span",{class:"font-bold uppercase flex-1 text-center"},[()=>e().toLocaleString("es-ES",{month:"short",year:"numeric"})]),n("div",{class:"flex gap-0.5"},[n("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>h(1)},n("span",{class:"icon-[lucide--chevron-right]"})),n("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>v(1)},n("span",{class:"icon-[lucide--chevrons-right]"}))])]),n("div",{class:"grid grid-cols-7 gap-1",onmouseleave:()=>a(null)},[...["L","M","X","J","V","S","D"].map((m)=>n("div",{class:"text-[10px] opacity-40 font-bold text-center"},m)),()=>{let m=e(),b=m.getFullYear(),w=m.getMonth(),k=new Date(b,w,1).getDay(),L=k===0?6:k-1,re=new Date(b,w+1,0).getDate(),K=[];for(let R=0;R{let T=u(),Y=a(),ie=typeof T==="string"?T.split("T")[0]===S:T?.start===S,ue=T?.end===S,J=!1;if(r()&&T?.start){let U=T.start;if(!T.end&&Y)J=S>U&&S<=Y||S=Y;else if(T.end)J=S>U&&S{if(r())a(S)},onclick:()=>f(qt)},R.toString()))}return K}]),t.hour?n("div",{class:"mt-3 pt-2 border-t border-base-300"},[r()?n("div",{class:"flex gap-4"},[x({value:s,onChange:(m)=>s(m)}),x({value:c,onChange:(m)=>c(m)})]):x({value:s,onChange:(m)=>s(m)})]):null])};var ot={};d(ot,{CardTitle:()=>Ae,CardBody:()=>Ne,CardActions:()=>Ie,Card:()=>De});var De=(t,e)=>{return e===void 0&&(e=t,t={}),n("div",{...t,class:`card ${t.class??""}`},e)},Ae=(t,e)=>{return e===void 0&&(e=t,t={}),n("div",{...t,class:`card-title ${t.class??""}`},e)},Ne=(t,e)=>{return e===void 0&&(e=t,t={}),n("div",{...t,class:`card-body ${t.class??""}`},e)},Ie=(t,e)=>{return e===void 0&&(e=t,t={}),n("div",{...t,class:`card-actions ${t.class??""}`},e)};var rt={};d(rt,{CarouselItem:()=>Re,Carousel:()=>Le});var Le=(t,e)=>{return e===void 0&&(e=t,t={}),n("div",{...t,class:`carousel ${t.class??""}`},e)},Re=(t,e)=>{return e===void 0&&(e=t,t={}),n("div",{...t,class:`carousel-item ${t.class??""}`},e)};var it={};d(it,{ChatMessage:()=>Be,ChatImage:()=>Gt,ChatHeader:()=>Qt,ChatFooter:()=>Zt,ChatBubble:()=>pt,Chat:()=>Xt});var Xt=(t,e)=>{return e===void 0&&(e=t,t={}),n("div",{...t,class:`chat ${t.class??""}`},e)},Gt=(t,e)=>{return e===void 0&&(e=t,t={}),n("div",{...t,class:`chat-image avatar ${t.class??""}`},n("div",{class:"w-10 rounded-full"},typeof e==="string"?n("img",{src:e,alt:"avatar"}):e))},Qt=(t,e)=>{return e===void 0&&(e=t,t={}),n("div",{...t,class:`chat-header ${t.class??""}`},e)},Zt=(t,e)=>{return e===void 0&&(e=t,t={}),n("div",{...t,class:`chat-footer ${t.class??""}`},e)},pt=(t,e)=>{return e===void 0&&(e=t,t={}),n("div",{...t,class:`chat-bubble ${t.class??""}`},e)},Be=(t)=>{let{position:e="start",avatar:a,header:s,message:c,footer:r,bubbleClass:o,...l}=t;return Xt({...l,class:`chat-${e} ${t.class??""}`},[a&&Gt(a),s&&Qt(s),pt({class:o},c),r&&Zt(r)])};var ut={};d(ut,{Checkbox:()=>ze});var ze=(t)=>n("input",{...t,type:"checkbox",class:`checkbox ${t.class??""}`});var ft={};d(ft,{Colorpicker:()=>Fe});var Fe=(t)=>{let e=g(!1),a=["#000","#1A1A1A","#333","#4D4D4D","#666","#808080","#B3B3B3","#FFF","#450a0a","#7f1d1d","#991b1b","#b91c1c","#dc2626","#ef4444","#f87171","#fca5a5","#431407","#7c2d12","#9a3412","#c2410c","#ea580c","#f97316","#fb923c","#ffedd5","#713f12","#a16207","#ca8a04","#eab308","#facc15","#fde047","#fef08a","#fff9c4","#064e3b","#065f46","#059669","#10b981","#34d399","#4ade80","#84cc16","#d9f99d","#082f49","#075985","#0284c7","#0ea5e9","#38bdf8","#7dd3fc","#22d3ee","#cffafe","#1e1b4b","#312e81","#4338ca","#4f46e5","#6366f1","#818cf8","#a5b4fc","#e0e7ff","#2e1065","#4c1d95","#6d28d9","#7c3aed","#8b5cf6","#a855f7","#d946ef","#fae8ff"],s=()=>{let c=t.value;return(typeof c==="function"?c():c)||"#000000"};return n("div",{class:`relative w-fit ${t.class??""}`},[n("button",{type:"button",class:"btn px-3 bg-base-100 border-base-300 hover:border-primary/50 flex items-center gap-2 shadow-sm font-normal normal-case",onclick:(c)=>{c.stopPropagation(),e(!e())},...t},[n("div",{class:"size-5 rounded-sm shadow-inner border border-black/10 shrink-0",style:()=>`background-color: ${s()}`}),t.label?n("span",{class:"opacity-80"},t.label):null]),N(e,()=>n("div",{class:"absolute left-0 mt-2 p-3 bg-base-100 border border-base-300 shadow-2xl rounded-box z-[110] w-64 select-none",onclick:(c)=>c.stopPropagation()},[n("div",{class:"grid grid-cols-8 gap-1"},a.map((c)=>n("button",{type:"button",style:`background-color: ${c}`,class:()=>{return`size-6 rounded-sm cursor-pointer transition-all hover:scale-125 hover:z-10 active:scale-95 outline-none border border-black/5 p-0 min-h-0 ${s().toLowerCase()===c.toLowerCase()?"ring-2 ring-offset-1 ring-primary z-10 scale-110":""}`},onclick:()=>{if(typeof t.value==="function")t.value(c);e(!1)}})))])),N(e,()=>n("div",{class:"fixed inset-0 z-[100]",onclick:()=>e(!1)}))])};var dt={};d(dt,{Datepicker:()=>He});var He=(t)=>{let e=g(!1),a=()=>{return(typeof t.range==="function"?t.range():t.range)===!0},s=g("");E(()=>{let o=typeof t.value==="function"?t.value():t.value;if(!o){s("");return}let l="";if(typeof o==="string")l=t.hour&&o.includes("T")?o.replace("T"," "):o;else if(o.start&&o.end){let i=t.hour&&o.startHour!==void 0?`${o.start} ${String(o.startHour).padStart(2,"0")}:00`:o.start,u=t.hour&&o.endHour!==void 0?`${o.end} ${String(o.endHour).padStart(2,"0")}:00`:o.end;l=`${i} - ${u}`}else if(o.start)l=`${t.hour&&o.startHour!==void 0?`${o.start} ${String(o.startHour).padStart(2,"0")}:00`:o.start}...`;s(l)});let c=(o)=>{if(typeof t.value==="function")t.value(o);if(!a()||o?.end!==void 0&&o?.end!==null)e(!1)},r=(o)=>{o.stopPropagation(),e(!e())};return n("div",{class:`relative w-full ${t.class??""}`},[n("label",{class:"input input-bordered w-full",onclick:r},[n("span",{class:"icon-[lucide--calendar]"}),n("input",{...t,type:"text",class:"grow",value:s,readonly:!0,placeholder:t.placeholder||(a()?"Seleccionar rango...":"Seleccionar fecha...")})]),N(e,()=>n("div",{class:"absolute left-0 mt-2 z-[100]",onclick:(o)=>o.stopPropagation()},[lt({value:t.value,range:a(),hour:t.hour,onChange:c})])),N(e,()=>n("div",{class:"fixed inset-0 z-[90]",onclick:()=>e(!1)}))])};var mt={};d(mt,{Sidebar:()=>Pe,Drawer:()=>Oe});var Oe=(t,e)=>{return e===void 0&&(e=t,t={}),n("div",{...t,class:`drawer ${t.class??""}`},e)},Pe=(t)=>{let e=t.id||`drawer-${Math.random().toString(36).slice(2,9)}`;return n("div",{...t,class:`drawer ${t.class??""}`},[n("input",{id:e,type:"checkbox",class:"drawer-toggle",checked:()=>typeof t.open==="function"?t.open():t.open,onchange:(a)=>typeof t.open==="function"&&t.open(a.target.checked)}),n("div",{class:"drawer-content"},t.children),n("div",{class:"drawer-side"},[n("label",{for:e,class:"drawer-overlay",onclick:()=>typeof t.open==="function"&&t.open(!1)}),n("div",{class:"min-h-full bg-base-200 w-80 p-4"},typeof t.content==="function"?t.content():t.content)])])};var ht={};d(ht,{Dropdown:()=>je});var I=null;if(typeof window<"u"&&!window.__dropdownHandlerRegistered)window.addEventListener("click",(t)=>{if(I&&!I.contains(t.target))I.open=!1,I=null}),window.__dropdownHandlerRegistered=!0;var je=(t)=>n("details",{...t,class:`dropdown ${t.class??""}`,onclick:(e)=>{let a=e.currentTarget;if(I&&I!==a)I.open=!1;setTimeout(()=>{I=a.open?a:null},0)}},t.children);var gt={};d(gt,{Fab:()=>qe});var qe=(t,e)=>{return e===void 0&&(e=t,t={}),n("div",{...t,class:`fab ${t.class??""}`},e)};var bt={};d(bt,{Fieldset:()=>We});var We=(t,e)=>n("fieldset",{...t,class:`fieldset ${t.class??""}`},[t.legend?n("legend",{class:"fieldset-legend"},t.legend):null,e]);var vt={};d(vt,{Fileinput:()=>Ke});var Ke=(t)=>{let e=g([]),a=g(!1),s=g(null),c=(t.max||2)*1024*1024,r=(l)=>{let i=Array.from(l);if(s(null),i.find((u)=>u.size>c)){s(`Máx ${t.max||2}MB`);return}e([...e(),...i]),t.onselect?.(e())},o=(l)=>{let i=e().filter((u,f)=>f!==l);e(i),t.onselect?.(i)};return n("div",{...t,class:`fieldset w-full p-0 ${t.class??""}`},[n("label",{class:()=>`relative flex items-center justify-between w-full h-12 px-4 border-2 border-dashed rounded-lg cursor-pointer transition-all duration-200 ${a()?"border-primary bg-primary/10":"border-base-content/20 bg-base-100 hover:bg-base-200"}`,ondragover:(l)=>{l.preventDefault(),a(!0)},ondragleave:()=>a(!1),ondrop:(l)=>{l.preventDefault(),a(!1),r(l.dataTransfer.files)}},[n("div",{class:"flex items-center gap-3 w-full"},[n("span",{class:"icon-[lucide--upload]"}),n("span",{class:"text-sm opacity-70 truncate grow text-left"},"Arrastra o selecciona archivos..."),n("span",{class:"text-[10px] opacity-40 shrink-0"},`Máx ${t.max||2}MB`)]),n("input",{type:"file",multiple:!0,accept:t.accept||"*",class:"hidden",onchange:(l)=>r(l.target.files)})]),()=>s()&&n("span",{class:"text-[10px] text-error mt-1 px-1 font-medium"},s()),N(()=>e().length>0,()=>n("ul",{class:"mt-2 space-y-1"},[$(e,(l,i)=>n("li",{class:"flex items-center justify-between p-1.5 pl-3 text-xs bg-base-200/50 rounded-md border border-base-300"},[n("div",{class:"flex items-center gap-2 truncate"},[n("span",{class:"opacity-50"},"\uD83D\uDCC4"),n("span",{class:"truncate font-medium max-w-[200px]"},l.name),n("span",{class:"text-[9px] opacity-40"},`(${(l.size/1024).toFixed(0)} KB)`)]),n("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle",onclick:(u)=>{u.preventDefault(),o(i)}},n("span",{class:"icon-[lucide--x]"}))]),(l)=>l.name+l.lastModified)]))])};var yt={};d(yt,{Icon:()=>Ye});var Ye=(t,e)=>{if(typeof t==="string"){if(t.includes("icon-")||t.startsWith("lucide-"))return n("span",{class:t},e);return n("span",{class:"icon"},t)}if(!t)return null;let{class:a,...s}=t;return n("span",{...s,class:a},e)};var xt={};d(xt,{Indicator:()=>Je});var Je=(t,e)=>{return e===void 0&&(e=t,t={}),n("div",{...t,class:`indicator ${t.class??""}`},[t.value?n("span",{class:`indicator-item badge ${t.class??""}`},t.value):null,e])};var wt={};d(wt,{InputLabel:()=>Ve,Input:()=>Ue});var Ue=(t)=>n("input",{...t,class:`input ${t.class??""}`}),Ve=(t)=>n("label",{class:`${t.float?"floating-label":"input"}`},[n("span",{class:t.float?"":"label opacity-50"},t.label),t.left??null,n("input",{...t,class:`${t.float?"input":""} ${t.class??""}`}),t.right??null]);var $t={};d($t,{Kbd:()=>Xe});var Xe=(t,e)=>{return e===void 0&&(e=t,t={}),n("kbd",{...t,class:`kbd ${t.class??""}`},e)};var kt={};d(kt,{Loading:()=>Ge});var Ge=(t,e)=>{return e===void 0&&(e=t,t={}),n("span",{...t,class:`loading loading-spinner ${t.class??""}`},e)};var _t={};d(_t,{MenuItems:()=>Mt,Menu:()=>Qe});var Qe=(t,e)=>{return e===void 0&&(e=t,t={}),n("ul",{...t,class:`menu ${t.class??""}`},e)},Mt=(t)=>{let{items:e,keyFn:a=(r,o)=>r.id??o}=t;return $(typeof e==="function"?e:()=>e||[],(r)=>{if(r.children)return n("li",{},[n("details",{},[n("summary",{},r.label),n("ul",{},Mt({items:r.children}))])]);return n("li",{},n("a",{href:r.href,onclick:r.onclick?(o)=>{if(!r.href)o.preventDefault();r.onclick(o)}:null},r.label))},a)};var St={};d(St,{Modal:()=>Ze});var Ze=(t)=>{let e=null;E(()=>{let s=typeof t.open==="function"?t.open():t.open;if(!e)return;s?e.showModal():e.close()});let a=()=>typeof t.open==="function"&&t.open(!1);return n("dialog",{...t,ref:(s)=>e=s,class:`modal ${t.class??""}`,onclose:a,oncancel:a},[n("div",{class:"modal-box"},[t.title&&n("h3",{class:"text-lg font-bold"},t.title),t.children,n("div",{class:"modal-action"},[t.actions||n("button",{class:"btn",onclick:a},"Cerrar")])]),n("form",{method:"dialog",class:"modal-backdrop"},[n("button",{},"close")])])};var Ct={};d(Ct,{Navbar:()=>pe});var pe=(t,e)=>{return e===void 0&&(e=t,t={}),n("div",{...t,class:`navbar ${t.class??""}`},e)};var Et={};d(Et,{Radial:()=>Me});var Me=(t,e)=>{e===void 0&&(e=t,t={});let a=t.value!=null?t.value/(t.max||100)*100:0,s=`--value: ${a}; --max: 100;`;return n("div",{...t,class:`radial-progress ${t.class??""}`,style:s,role:"progressbar","aria-valuenow":t.value,"aria-valuemin":0,"aria-valuemax":t.max||100},e||`${Math.round(a)}%`)};var Tt={};d(Tt,{Radio:()=>tn});var tn=(t)=>n("input",{...t,type:"radio",class:`radio ${t.class??""}`});var Dt={};d(Dt,{Range:()=>en});var en=(t)=>n("input",{...t,type:"range",class:`range ${t.class??""}`});var At={};d(At,{Rating:()=>nn});var nn=(t,e)=>{e===void 0&&(e=t,t={});let a=`rating-${Math.random().toString(36).slice(2,7)}`;return n("div",{...t,class:`rating ${t.class??""}`},e||Array.from({length:t.count||5},(s,c)=>{let r=c+1;return n("input",{type:"radio",name:a,class:`mask ${t.mask||"mask-star"}`,checked:()=>typeof t.value==="function"?t.value()===r:t.value===r,onchange:()=>{if(t.onchange)t.onchange(r);else if(typeof t.value==="function")t.value(r)}})}))};var Nt={};d(Nt,{SkeletonText:()=>sn,Skeleton:()=>an});var an=(t)=>n("div",{...t,class:`skeleton ${t.class??""}`}),sn=(t)=>{return n("div",{...t,class:"space-y-2"},Array.from({length:t.lines||3},()=>n("div",{class:`skeleton h-4 w-full ${t.class??""}`})))};var It={};d(It,{SelectLabel:()=>on,SelectItems:()=>cn,Select:()=>ln});var ln=(t,e)=>{return e===void 0&&(e=t,t={}),n("select",{...t,class:`select ${t.class??""}`},e)},cn=(t)=>{let e=t.placeholder?n("option",{disabled:t.placeholderDisabled??!0,selected:!0},t.placeholder):null,a=$(()=>[...typeof t.items==="function"?t.items():t.items||[]],(s)=>{let c=typeof s==="string"?s:s.value,r=typeof s==="string"?s:s.label;return n("option",{value:c},r)},t.keyFn||((s)=>typeof s==="string"?s:s.value));return e?[e,a]:a},on=(t,e)=>n("label",{class:`${t.float?"floating-label":"select"}`},[n("span",{class:t.float?"":"label opacity-50"},t.label),t.left??null,n("select",{...t,class:`${t.float?"select":""} ${t.class??""}`},e),t.right??null]);var Lt={};d(Lt,{Stack:()=>rn});var rn=(t,e)=>{return e===void 0&&(e=t,t={}),n("div",{...t,class:`stack ${t.class??""}`},e)};var j={};d(j,{Stats:()=>un,Stat:()=>fn});var un=(t,e)=>{e===void 0&&(e=t,t={});let a=t.vertical?"stats-vertical":"stats-horizontal";return n("div",{...t,class:`stats ${a} ${t.class??""}`.trim()},e)},fn=(t,e)=>{return e===void 0&&(e=t,t={}),n("div",{...t,class:`stat ${t.class??""}`},[t.icon&&n("div",{class:"stat-figure"},t.icon),t.label&&n("div",{class:"stat-title"},t.label),t.value&&n("div",{class:"stat-value"},t.value),t.desc&&n("div",{class:"stat-desc"},t.desc),t.actions&&n("div",{class:"stat-actions"},t.actions),e])};var Rt={};d(Rt,{Swap:()=>dn});var dn=(t)=>{return n("label",{...t,class:`swap ${t.class??""}`},[n("input",{type:"checkbox",checked:()=>typeof t.value==="function"?t.value():t.value,onchange:(e)=>typeof t.value==="function"&&t.value(e.target.checked)}),n("div",{class:"swap-on"},t.on),n("div",{class:"swap-off"},t.off)])};var Bt={};d(Bt,{TableItems:()=>hn,Table:()=>mn});var mn=(t,e)=>{return e===void 0&&(e=t,t={}),n("table",{...t,class:`table ${t.class??""}`},e)},hn=(t)=>{let e=typeof t.items==="function"?t.items():t.items||[],a=t.header!==!1&&t.columns?.some((c)=>c.label)?n("thead",{},n("tr",{},t.columns.map((c)=>n("th",{class:c.class},c.label)))):null,s=n("tbody",{},[$(e,(c,r)=>n("tr",{},t.columns.map((o)=>{let l=o.render?o.render(c,r):c[o.key];return n("td",{class:o.class},l)})),t.keyFn||((c,r)=>c.id??r))]);return[a,s]};var zt={};d(zt,{Tabs:()=>gn,TabItems:()=>bn,TabContent:()=>ee,TabClose:()=>ne,Tab:()=>te});var gn=(t,e)=>{return e===void 0&&(e=t,t={}),n("div",{...t,class:`tabs ${t.class??""}`},e)},te=(t,e)=>{return e===void 0&&(e=t,t={}),n("a",{...t,role:"tab",class:`tab ${t.class??""}`},e)},ee=(t,e)=>{return e===void 0&&(e=t,t={}),n("div",{...t,class:`tab-content ${t.class??""}`},e)},ne=(t)=>n("a",{...t,role:"tab",class:`tab ${t.class??""}`},[n("span",{class:"flex items-center"},[t.label,n("span",{class:"icon-[lucide--x] w-3.5 h-3.5 ml-2 cursor-pointer hover:opacity-70",onclick:(e)=>{e.stopPropagation(),t.onClose?.(e)}})])]),bn=(t)=>{let e=typeof t.items==="function"?t.items:()=>t.items||[];return $(e,(a,s)=>{return[(a.closable?ne:te)({...a,class:()=>t.activeIndex()===s?`tab-active ${a.class??""}`:a.class,onclick:(r)=>{r.preventDefault(),t.activeIndex(s),a.onclick?.(r)},onClose:()=>t.onClose?.(s,a)}),ee({style:()=>`display: ${t.activeIndex()===s?"block":"none"};`},typeof a.content==="function"?a.content():a.content)]},(a,s)=>a.id??s)};var Ft={};d(Ft,{Textarea:()=>vn});var vn=(t)=>n("textarea",{...t,class:`textarea ${t.class??""}`});var Ht={};d(Ht,{TextRotate:()=>yn});var yn=(t)=>{let e=Array.isArray(t.words)?t.words:typeof t.words==="string"?t.words.split(","):[];return n("span",{...t,class:`text-rotate ${t.class??""}`},[n("span",{},e.map((a)=>n("span",{},a)))])};var Ot={};d(Ot,{Timeline:()=>xn});var xn=(t,e)=>{e===void 0&&(e=t,t={});let a=t.vertical!==!1,s=t.compact===!0;return n("ul",{...t,class:`timeline ${a?"timeline-vertical":"timeline-horizontal"} ${s?"timeline-compact":""} ${t.class??""}`.trim()},e)};var Pt={};d(Pt,{Toast:()=>wn});var wn=(t,e="alert-success",a=3500)=>{let s=document.getElementById("sigpro-toast-container");if(!s)s=n("div",{id:"sigpro-toast-container",class:"fixed top-0 right-0 z-[9999] p-4 flex flex-col gap-2 pointer-events-none"}),document.body.appendChild(s);let c=n("div",{style:"display: contents"});s.appendChild(c);let r,o=()=>{clearTimeout(r);let u=c.firstElementChild;if(u&&!u.classList.contains("opacity-0"))u.classList.add("translate-x-full","opacity-0"),setTimeout(()=>{if(i.destroy(),c.remove(),!s.hasChildNodes())s.remove()},300);else i.destroy(),c.remove()},i=M(()=>{let u=n("span",{class:"icon-[lucide--x]"}),f=n("button",{class:"btn btn-xs btn-circle btn-ghost",onclick:o},u),h=n("div",{class:`alert alert-soft ${e} shadow-lg transition-all duration-300 translate-x-10 opacity-0 pointer-events-auto`},[n("span",{},typeof t==="function"?t():t),f]);return requestAnimationFrame(()=>h.classList.remove("translate-x-10","opacity-0")),h},c);if(a>0)r=setTimeout(o,a);return o};var jt={};d(jt,{Tooltip:()=>$n});var $n=(t,e)=>{return e===void 0&&(e=t,t={}),n("div",{...t,class:`tooltip ${t.class??""}`,"data-tip":t.tip},e)};var kn={es:{close:"Cerrar",confirm:"Confirmar",cancel:"Cancelar",search:"Buscar...",loading:"Cargando...",nodata:"Sin datos"},en:{close:"Close",confirm:"Confirm",cancel:"Cancel",search:"Search...",loading:"Loading...",nodata:"No data"}},ae=g("es"),se=(t)=>ae(t),le=(t)=>()=>kn[ae()][t]||t;var ce={...tt,...et,...nt,...at,...st,...ct,...ot,...rt,...it,...ut,...ft,...dt,...mt,...ht,...gt,...bt,...vt,...yt,...xt,...wt,...$t,...kt,..._t,...St,...Ct,...Et,...Tt,...Dt,...At,...Nt,...It,...Lt,...j,...j,...Rt,...Bt,...zt,...Ft,...Ht,...Ot,...Pt,...jt},oe={Locale:se,tt:le};if(typeof window<"u")Object.entries({...ce,...oe}).forEach(([t,e])=>{Object.defineProperty(window,t,{value:e,writable:!1,configurable:!0,enumerable:!0})}),console.log("SigProUI installed");})(); +(()=>{var{defineProperty:U,getOwnPropertyNames:ht,getOwnPropertyDescriptor:bt}=Object,yt=Object.prototype.hasOwnProperty;function vt(e){return this[e]}var xt=(e)=>{var t=(Ke??=new WeakMap).get(e),a;if(t)return t;if(t=U({},"__esModule",{value:!0}),e&&typeof e==="object"||typeof e==="function"){for(var s of ht(e))if(!yt.call(t,s))U(t,s,{get:vt.bind(e,s),enumerable:!(a=bt(e,s))||a.enumerable})}return Ke.set(e,t),t},Ke;var wt=(e)=>e;function $t(e,t){this[e]=wt.bind(null,t)}var m=(e,t)=>{for(var a in t)U(e,a,{get:t[a],enumerable:!0,configurable:!0,set:$t.bind(t,a)})};var En={};m(En,{Utils:()=>ft,Components:()=>ut});var te={};m(te,{Accordion:()=>pt});var E=(e)=>typeof e==="function",Q=(e)=>e&&typeof e==="object",I=Array.isArray,D=typeof document<"u"?document:null,We=(e)=>e?._isRuntime?e.container:e instanceof Node?e:D.createTextNode(e==null?"":String(e)),x=null,S=null,H=!1,O=0,q=new Set,Ye=new WeakMap,X=Symbol("iter"),G=new WeakMap,F=(e)=>{if(!e||e._disposed)return;e._disposed=!0;let t=[e];while(t.length){let a=t.pop();if(a._cleanups)a._cleanups.forEach((s)=>s()),a._cleanups.clear();if(a._children)a._children.forEach((s)=>t.push(s)),a._children.clear();if(a._deps)a._deps.forEach((s)=>s.delete(a)),a._deps.clear()}},L=(e)=>{if(S)(S._cleanups||=new Set).add(e)},kt=(e)=>{let t=x;x=null;try{return e()}finally{x=t}},j=(e,t=!1)=>{let a=()=>{if(a._disposed)return;if(a._deps)a._deps.forEach((r)=>r.delete(a));if(a._cleanups)a._cleanups.forEach((r)=>r()),a._cleanups.clear();let s=x,c=S;x=S=a;try{return a._result=e()}catch(r){console.error("[SigPro]",r)}finally{x=s,S=c}};if(a._deps=a._cleanups=a._children=null,a._disposed=!1,a._isComputed=t,a._depth=x?x._depth+1:0,a._mounts=[],a._parent=S,S)(S._children||=new Set).add(a);return a},Ve=()=>{if(H)return;H=!0;let e=Array.from(q).sort((t,a)=>t._depth-a._depth);q.clear();for(let t of e)if(!t._disposed)t();H=!1},St=(e)=>{O++;try{return e()}finally{if(O--,O===0&&q.size>0&&!H)Ve()}},T=(e,t=!1)=>{if(!t&&x&&!x._disposed)e.add(x),(x._deps||=new Set).add(e);else if(t&&e.size>0){let a=!1;for(let s of e){if(s===x||s._disposed)continue;if(s._isComputed){if(s._dirty=!0,s._subs)T(s._subs,!0)}else q.add(s),a=!0}if(a&&!H&&O===0)queueMicrotask(Ve)}},h=(e,t=null)=>{let a=new Set;if(E(e)){let s,c=()=>{if(c._dirty){let r=x;x=c;try{let l=e();if(!Object.is(s,l))s=l,T(a,!0)}finally{x=r}c._dirty=!1}return T(a),s};if(c._isComputed=!0,c._subs=a,c._dirty=!0,c._deps=null,c._disposed=!1,c.stop=()=>{},S)L(c.stop);return c}if(t)try{e=JSON.parse(localStorage.getItem(t))??e}catch(s){}return(...s)=>{if(s.length){let c=E(s[0])?s[0](e):s[0];if(!Object.is(e,c)){if(e=c,t)localStorage.setItem(t,JSON.stringify(e));T(a,!0)}}return T(a),e}},Ue=(e)=>{if(!Q(e))return e;let t=Ye.get(e);if(t)return t;let a=new Map,s=(r)=>{let l=a.get(r);if(!l)a.set(r,l=new Set);return l},c=new Proxy(e,{get(r,l,o){if(typeof l!=="symbol")T(s(l));return Ue(Reflect.get(r,l,o))},set(r,l,o,i){let u=Reflect.has(r,l),f=Reflect.get(r,l,i),g=Reflect.set(r,l,o,i);if(g&&!Object.is(f,o)){if(T(s(l),!0),!u)T(s(X),!0)}return g},deleteProperty(r,l){let o=Reflect.deleteProperty(r,l);if(o)T(s(l),!0),T(s(X),!0);return o},ownKeys(r){return T(s(X)),Reflect.ownKeys(r)}});return Ye.set(e,c),c},_=(e,t)=>{if(t===void 0){let s=j(e);return s(),()=>F(s)}let a=j(()=>{let s=Array.isArray(e)?e.map((c)=>c()):e();kt(()=>t(s))});return a(),()=>F(a)},Z=(e)=>{if(!e)return;if(e._cleanups)e._cleanups.forEach((t)=>t()),e._cleanups.clear();if(e._ownerEffect)F(e._ownerEffect);if(e.childNodes)e.childNodes.forEach((t)=>Z(t))},_t=/^\s*(javascript|data|vbscript):/i,Ct=(e)=>e==="src"||e==="href"||e.startsWith("on"),Je=(e,t)=>{if(t==null||t===!1)return null;if(Ct(e)){let a=String(t);if(_t.test(a))return console.warn(`[SigPro] Bloqueado protocolo peligroso en ${e}`),"#"}return t},n=(e,t={},a=[])=>{if(t instanceof Node||I(t)||!Q(t))a=t,t={};if(E(e)){let l=j(()=>{let f=e(t,{children:a,emit:(g,...b)=>t[`on${g[0].toUpperCase()}${g.slice(1)}`]?.(...b)});return l._result=f,f});l();let o=l._result;if(o==null)return null;let i=o instanceof Node||I(o)&&o.every((f)=>f instanceof Node)?o:D.createTextNode(String(o)),u=(f)=>{if(Q(f)&&!f._isRuntime)f._mounts=l._mounts||[],f._cleanups=l._cleanups||new Set,f._ownerEffect=l};return I(i)?i.forEach(u):u(i),i}let s=/^(svg|path|circle|rect|line|poly(line|gon)|g|defs|text(path)?|tspan|use|symbol|image|marker|ellipse)$/i.test(e),c=s?D.createElementNS("http://www.w3.org/2000/svg",e):D.createElement(e);c._cleanups=new Set;for(let l in t){if(!t.hasOwnProperty(l))continue;let o=t[l];if(l==="ref"){E(o)?o(c):o.current=c;continue}if(s&&l.startsWith("xlink:")){o==null?c.removeAttributeNS("http://www.w3.org/1999/xlink",l.slice(6)):c.setAttributeNS("http://www.w3.org/1999/xlink",l.slice(6),o);continue}if(l.startsWith("on")){let i=l.slice(2).toLowerCase();c.addEventListener(i,o);let u=()=>c.removeEventListener(i,o);c._cleanups.add(u),L(u)}else if(E(o)){let i=j(()=>{let u=Je(l,o());if(l==="class")c.className=u||"";else if(u==null)c.removeAttribute(l);else if(l in c&&!s)c[l]=u;else c.setAttribute(l,u===!0?"":u)});if(i(),c._cleanups.add(()=>F(i)),L(()=>F(i)),/^(INPUT|TEXTAREA|SELECT)$/.test(c.tagName)&&(l==="value"||l==="checked")){let u=l==="checked"?"change":"input";c.addEventListener(u,(f)=>o(f.target[l]))}}else{let i=Je(l,o);if(i!=null)if(l in c&&!s)c[l]=i;else c.setAttribute(l,i===!0?"":i)}}let r=(l)=>{if(I(l))return l.forEach(r);if(E(l)){let o=D.createTextNode("");c.appendChild(o);let i=[],u=j(()=>{let f=l(),g=(I(f)?f:[f]).map(We);i.forEach((v)=>{if(v._isRuntime)v.destroy();else Z(v);if(v.parentNode)v.remove()});let b=o;for(let v=g.length-1;v>=0;v--){let d=g[v];if(d.parentNode!==b.parentNode)b.parentNode?.insertBefore(d,b);if(d._mounts)d._mounts.forEach((y)=>y());b=d}i=g});u(),c._cleanups.add(()=>F(u)),L(()=>F(u))}else{let o=We(l);if(c.appendChild(o),o._mounts)o._mounts.forEach((i)=>i())}};return r(a),c},K=(e)=>{let t=new Set,a=S,s=x,c=D.createElement("div");c.style.display="contents",c.setAttribute("role","presentation"),S={_cleanups:t},x=null;let r=(l)=>{if(!l)return;if(l._isRuntime)t.add(l.destroy),c.appendChild(l.container);else if(I(l))l.forEach(r);else c.appendChild(l instanceof Node?l:D.createTextNode(String(l==null?"":l)))};try{r(e({onCleanup:(l)=>t.add(l)}))}finally{S=a,x=s}return{_isRuntime:!0,container:c,destroy:()=>{t.forEach((l)=>l()),Z(c),c.remove()}}},p=(e,t,a=null)=>{let s=D.createTextNode(""),c=n("div",{style:"display:contents"},[s]),r=null;return _(()=>!!(E(e)?e():e),(l)=>{if(r)r.destroy(),r=null;let o=l?t:a;if(o)r=K(()=>E(o)?o():o),c.insertBefore(r.container,s)}),L(()=>r?.destroy()),c},M=({name:e,duration:t=200,scale:a,slide:s,rotate:c,blur:r},l)=>{let o=typeof l==="function"?l():l;if(!(o instanceof Node))return o;if(e)return o.style.animation=`${e}-in ${t}ms`,o;let i=a||s||c||r,u=[a?"scale(0.95)":"",s?"translateY(-10px)":"",c?"rotate(-2deg)":""].filter(Boolean).join(" ");if(o.style.transition=`all ${t}ms ease`,o.style.opacity="0",i)o.style.transform=u;if(r)o.style.filter="blur(4px)";return requestAnimationFrame(()=>{if(o.style.opacity="1",i)o.style.transform="none";if(r)o.style.filter="none"}),o},$=(e,t,a)=>{let s=D.createTextNode(""),c=n("div",{style:"display:contents"},[s]),r=new Map;return _(()=>(E(e)?e():e)||[],(l)=>{let o=new Map,i=[],u=l||[];for(let g=0;gt(b,g));else r.delete(v);o.set(v,d),i.push(d)}r.forEach((g)=>g.destroy());let f=s;for(let g=i.length-1;g>=0;g--){let b=i[g].container;if(b.nextSibling!==f)c.insertBefore(b,f);f=b}r=o}),c},z=(e)=>{let t=()=>window.location.hash.slice(1)||"/",a=h(t()),s=()=>a(t());window.addEventListener("hashchange",s),L(()=>window.removeEventListener("hashchange",s));let c=n("div",{class:"router-hook"}),r=null;return _([a],()=>{let l=a(),o=e.find((i)=>{let u=i.path.split("/").filter(Boolean),f=l.split("/").filter(Boolean);return u.length===f.length&&u.every((g,b)=>g[0]===":"||g===f[b])})||e.find((i)=>i.path==="*");if(o){r?.destroy();let i={};o.path.split("/").filter(Boolean).forEach((u,f)=>{if(u[0]===":")i[u.slice(1)]=l.split("/").filter(Boolean)[f]}),z.params(i),r=K(()=>E(o.component)?o.component(i):o.component),c.replaceChildren(r.container)}}),c};z.params=h({});z.to=(e)=>window.location.hash=e.replace(/^#?\/?/,"#/");z.back=()=>window.history.back();z.path=()=>window.location.hash.replace(/^#/,"")||"/";var Tt=({url:e,method:t="GET",headers:a={}})=>{let s=h(!1),c=h(null),r=h(null),l=null,o=null;return{run:async(i=null)=>{l?.abort(),clearTimeout(o),l=new AbortController,o=setTimeout(()=>l.abort(),1e4),s(!0),c(null);try{let u=i instanceof FormData,f=await fetch(e,{method:t,headers:u?a:{"Content-Type":"application/json",...a},body:u?i:i?JSON.stringify(i):void 0,signal:l.signal}),g=await f.text(),b=g?JSON.parse(g):null;if(!f.ok)throw Error(b?.message||f.statusText);return r(b),b}catch(u){if(u.name!=="AbortError")c(u.message);throw u}finally{s(!1),clearTimeout(o),l=null,o=null}},abort:()=>l?.abort(),loading:s,error:c,data:r}},ee=(e,t)=>{let a=typeof t==="string"?D.querySelector(t):t;if(!a)return;if(G.has(a))G.get(a).destroy();let s=K(E(e)?e:()=>e);return a.replaceChildren(s.container),G.set(a,s),s},Et=Object.freeze({$:h,$$:Ue,watch:_,h:n,when:p,each:$,fx:M,router:z,req:Tt,mount:ee,batch:St});if(typeof window<"u")Object.assign(window,Et),"a abbr article aside audio b blockquote br button canvas caption cite code col colgroup datalist dd del details dfn dialog div dl dt em embed fieldset figcaption figure footer form h1 h2 h3 h4 h5 h6 header hr i iframe img input ins kbd label legend li main mark meter nav object ol optgroup option output p picture pre progress section select slot small source span strong sub summary sup svg table tbody td template textarea tfoot th thead time tr u ul video".split(" ").forEach((e)=>{window[e]=(t,a)=>n(e,t,a)});var pt=(e,t)=>{let a=e.name||`accordion-${Math.random().toString(36).slice(2,9)}`;if(e.items&&Array.isArray(e.items))return n("div",{class:`space-y-2 ${e.class??""}`},e.items.map((s)=>n("div",{class:`collapse ${s.class??""}`},[n("input",{type:"radio",name:a,checked:s.open}),n("div",{class:"collapse-title text-xl font-medium"},s.title),n("div",{class:"collapse-content"},t)])));return n("div",{class:`collapse ${e.class??""}`},[n("input",{type:"radio",name:a,checked:e.open}),n("div",{class:"collapse-title text-xl font-medium"},e.title),n("div",{class:"collapse-content"},t)])};var ne={};m(ne,{Alert:()=>Dt});var Dt=(e,t)=>{return t===void 0&&(t=e,e={}),n("div",{...e,class:`alert ${e.class??""}`},t)};var ae={};m(ae,{Autocomplete:()=>At});var At=(e)=>{let t=h(""),a=h(!1),s=h(-1),c=h([]);_(()=>{return(typeof e.value==="function"?e.value():e.value)||""},(o)=>setTimeout(()=>t(o),0)),_(()=>{let o=String(t()).toLowerCase(),i=typeof e.items==="function"?e.items():e.items,u=o?i.filter((f)=>(typeof f==="string"?f:f.label).toLowerCase().includes(o)):i;c(u)});let r=(o)=>{let i=typeof o==="string"?o:o.label,u=typeof o==="string"?o:o.value;if(t(i),typeof e.value==="function")e.value(u);e.onselect?.(o),a(!1),s(-1)},l=(o)=>{let i=c();if(o.key==="ArrowDown")o.preventDefault(),a(!0),s(Math.min(s()+1,i.length-1));else if(o.key==="ArrowUp")o.preventDefault(),s(Math.max(s()-1,0));else if(o.key==="Enter"&&s()>=0)o.preventDefault(),r(i[s()]);else if(o.key==="Escape")a(!1)};return n("div",{class:`relative w-full ${e.class??""}`},[n("label",{class:"input input-bordered w-full"},[n("span",{class:"icon-[lucide--search]"}),n("input",{...e,type:"text",class:"grow",placeholder:e.placeholder||"Buscar...",value:t,onfocus:()=>a(!0),onblur:()=>setTimeout(()=>a(!1),150),onkeydown:l,oninput:(o)=>{let i=o.target.value;if(t(i),typeof e.value==="function")e.value(i);a(!0),s(-1)}})]),n("ul",{class:"absolute left-0 w-full menu bg-base-100 rounded-box mt-1 p-2 shadow-xl max-h-60 overflow-y-auto border border-base-300 z-50",style:()=>`display: ${a()&&c().length?"block":"none"};`},[$(c,(o,i)=>n("li",{},[n("a",{class:()=>`block w-full ${s()===i?"active bg-primary text-primary-content":""}`,onclick:()=>r(o),onmouseenter:()=>s(i)},typeof o==="string"?o:o.label)]),(o,i)=>(typeof o==="string"?o:o.value)+i),()=>c().length===0?n("li",{class:"flex justify-center p-4 opacity-50"},n("span",{class:"icon-[lucide--search-x] text-2xl"})):null])])};var se={};m(se,{Badge:()=>Nt});var Nt=(e,t)=>{return t===void 0&&(t=e,e={}),n("span",{...e,class:`badge ${e.class??""}`},t)};var le={};m(le,{Button:()=>Bt});var Bt=(e,t)=>{return t===void 0&&(t=e,e={}),n("button",{...e,class:`btn ${e.class??""}`},t)};var ce={};m(ce,{Calendar:()=>oe});var oe=(e)=>{let t=h(new Date),a=h(null),s=h(0),c=h(0),r=()=>{return(typeof e.range==="function"?e.range():e.range)===!0},l=new Date,o=`${l.getFullYear()}-${String(l.getMonth()+1).padStart(2,"0")}-${String(l.getDate()).padStart(2,"0")}`,i=(d)=>{let y=d.getFullYear(),w=String(d.getMonth()+1).padStart(2,"0"),k=String(d.getDate()).padStart(2,"0");return`${y}-${w}-${k}`},u=()=>{return typeof e.value==="function"?e.value():e.value},f=(d)=>{let y=i(d),w=u();if(r())if(!w?.start||w.start&&w.end){let k={start:y,end:null,...e.hour&&{startHour:s()}};e.onChange?.(k)}else{let k=w.start,B;if(y{let y=t();t(new Date(y.getFullYear(),y.getMonth()+d,1))},b=(d)=>{let y=t();t(new Date(y.getFullYear()+d,y.getMonth(),1))},v=({value:d,onChange:y})=>{return n("div",{class:"flex-1"},[n("div",{class:"flex gap-2 items-center"},[n("input",{type:"range",min:0,max:23,value:d,class:"range range-xs flex-1",oninput:(w)=>y(parseInt(w.target.value))}),n("span",{class:"text-sm font-mono min-w-[48px] text-center"},()=>String(typeof d==="function"?d():d).padStart(2,"0")+":00")])])};return n("div",{class:`p-4 bg-base-100 border border-base-300 shadow-2xl rounded-box w-80 select-none ${e.class??""}`.trim()},[n("div",{class:"flex justify-between items-center mb-4 gap-1"},[n("div",{class:"flex gap-0.5"},[n("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>b(-1)},n("span",{class:"icon-[lucide--chevrons-left]"})),n("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>g(-1)},n("span",{class:"icon-[lucide--chevron-left]"}))]),n("span",{class:"font-bold uppercase flex-1 text-center"},[()=>t().toLocaleString("es-ES",{month:"short",year:"numeric"})]),n("div",{class:"flex gap-0.5"},[n("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>g(1)},n("span",{class:"icon-[lucide--chevron-right]"})),n("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>b(1)},n("span",{class:"icon-[lucide--chevrons-right]"}))])]),n("div",{class:"grid grid-cols-7 gap-1",onmouseleave:()=>a(null)},[...["L","M","X","J","V","S","D"].map((d)=>n("div",{class:"text-[10px] opacity-40 font-bold text-center"},d)),()=>{let d=t(),y=d.getFullYear(),w=d.getMonth(),k=new Date(y,w,1).getDay(),B=k===0?6:k-1,dt=new Date(y,w+1,0).getDate(),W=[];for(let R=0;R{let A=u(),Y=a(),mt=typeof A==="string"?A.split("T")[0]===C:A?.start===C,gt=A?.end===C,J=!1;if(r()&&A?.start){let V=A.start;if(!A.end&&Y)J=C>V&&C<=Y||C=Y;else if(A.end)J=C>V&&C{if(r())a(C)},onclick:()=>f(qe)},R.toString()))}return W}]),e.hour?n("div",{class:"mt-3 pt-2 border-t border-base-300"},[r()?n("div",{class:"flex gap-4"},[v({value:s,onChange:(d)=>s(d)}),v({value:c,onChange:(d)=>c(d)})]):v({value:s,onChange:(d)=>s(d)})]):null])};var re={};m(re,{CardTitle:()=>Ft,CardBody:()=>It,CardActions:()=>Lt,Card:()=>Rt});var Rt=(e,t)=>{return t===void 0&&(t=e,e={}),n("div",{...e,class:`card ${e.class??""}`},t)},Ft=(e,t)=>{return t===void 0&&(t=e,e={}),n("div",{...e,class:`card-title ${e.class??""}`},t)},It=(e,t)=>{return t===void 0&&(t=e,e={}),n("div",{...e,class:`card-body ${e.class??""}`},t)},Lt=(e,t)=>{return t===void 0&&(t=e,e={}),n("div",{...e,class:`card-actions ${e.class??""}`},t)};var ie={};m(ie,{CarouselItem:()=>Ht,Carousel:()=>zt});var zt=(e,t)=>{return t===void 0&&(t=e,e={}),n("div",{...e,class:`carousel ${e.class??""}`},t)},Ht=(e,t)=>{return t===void 0&&(t=e,e={}),n("div",{...e,class:`carousel-item ${e.class??""}`},t)};var ue={};m(ue,{ChatMessage:()=>jt,ChatImage:()=>Ge,ChatHeader:()=>Qe,ChatFooter:()=>Ze,ChatBubble:()=>Me,Chat:()=>Xe});var Xe=(e,t)=>{return t===void 0&&(t=e,e={}),n("div",{...e,class:`chat ${e.class??""}`},t)},Ge=(e,t)=>{return t===void 0&&(t=e,e={}),n("div",{...e,class:`chat-image avatar ${e.class??""}`},n("div",{class:"w-10 rounded-full"},typeof t==="string"?n("img",{src:t,alt:"avatar"}):t))},Qe=(e,t)=>{return t===void 0&&(t=e,e={}),n("div",{...e,class:`chat-header ${e.class??""}`},t)},Ze=(e,t)=>{return t===void 0&&(t=e,e={}),n("div",{...e,class:`chat-footer ${e.class??""}`},t)},Me=(e,t)=>{return t===void 0&&(t=e,e={}),n("div",{...e,class:`chat-bubble ${e.class??""}`},t)},jt=(e)=>{let{position:t="start",avatar:a,header:s,message:c,footer:r,bubbleClass:l,...o}=e;return Xe({...o,class:`chat-${t} ${e.class??""}`},[a&&Ge(a),s&&Qe(s),Me({class:l},c),r&&Ze(r)])};var fe={};m(fe,{Checkbox:()=>Pt});var Pt=(e)=>n("input",{...e,type:"checkbox",class:`checkbox ${e.class??""}`});var de={};m(de,{Colorpicker:()=>Ot});var Ot=(e)=>{let t=h(!1),a=["#000","#1A1A1A","#333","#4D4D4D","#666","#808080","#B3B3B3","#FFF","#450a0a","#7f1d1d","#991b1b","#b91c1c","#dc2626","#ef4444","#f87171","#fca5a5","#431407","#7c2d12","#9a3412","#c2410c","#ea580c","#f97316","#fb923c","#ffedd5","#713f12","#a16207","#ca8a04","#eab308","#facc15","#fde047","#fef08a","#fff9c4","#064e3b","#065f46","#059669","#10b981","#34d399","#4ade80","#84cc16","#d9f99d","#082f49","#075985","#0284c7","#0ea5e9","#38bdf8","#7dd3fc","#22d3ee","#cffafe","#1e1b4b","#312e81","#4338ca","#4f46e5","#6366f1","#818cf8","#a5b4fc","#e0e7ff","#2e1065","#4c1d95","#6d28d9","#7c3aed","#8b5cf6","#a855f7","#d946ef","#fae8ff"],s=()=>{let c=e.value;return(typeof c==="function"?c():c)||"#000000"};return n("div",{class:`relative w-fit ${e.class??""}`},[n("button",{type:"button",class:"btn px-3 bg-base-100 border-base-300 hover:border-primary/50 flex items-center gap-2 shadow-sm font-normal normal-case",onclick:(c)=>{c.stopPropagation(),t(!t())},...e},[n("div",{class:"size-5 rounded-sm shadow-inner border border-black/10 shrink-0",style:()=>`background-color: ${s()}`}),e.label?n("span",{class:"opacity-80"},e.label):null]),p(t,()=>n("div",{class:"absolute left-0 mt-2 p-3 bg-base-100 border border-base-300 shadow-2xl rounded-box z-[110] w-64 select-none",onclick:(c)=>c.stopPropagation()},[n("div",{class:"grid grid-cols-8 gap-1"},a.map((c)=>n("button",{type:"button",style:`background-color: ${c}`,class:()=>{return`size-6 rounded-sm cursor-pointer transition-all hover:scale-125 hover:z-10 active:scale-95 outline-none border border-black/5 p-0 min-h-0 ${s().toLowerCase()===c.toLowerCase()?"ring-2 ring-offset-1 ring-primary z-10 scale-110":""}`},onclick:()=>{if(typeof e.value==="function")e.value(c);t(!1)}})))])),p(t,()=>n("div",{class:"fixed inset-0 z-[100]",onclick:()=>t(!1)}))])};var me={};m(me,{Datepicker:()=>qt});var qt=(e)=>{let t=h(!1),a=()=>{return(typeof e.range==="function"?e.range():e.range)===!0},s=h("");_(()=>{let l=typeof e.value==="function"?e.value():e.value;if(!l){s("");return}let o="";if(typeof l==="string")o=e.hour&&l.includes("T")?l.replace("T"," "):l;else if(l.start&&l.end){let i=e.hour&&l.startHour!==void 0?`${l.start} ${String(l.startHour).padStart(2,"0")}:00`:l.start,u=e.hour&&l.endHour!==void 0?`${l.end} ${String(l.endHour).padStart(2,"0")}:00`:l.end;o=`${i} - ${u}`}else if(l.start)o=`${e.hour&&l.startHour!==void 0?`${l.start} ${String(l.startHour).padStart(2,"0")}:00`:l.start}...`;s(o)});let c=(l)=>{if(typeof e.value==="function")e.value(l);if(!a()||l?.end!==void 0&&l?.end!==null)t(!1)},r=(l)=>{l.stopPropagation(),t(!t())};return n("div",{class:`relative w-full ${e.class??""}`},[n("label",{class:"input input-bordered w-full",onclick:r},[n("span",{class:"icon-[lucide--calendar]"}),n("input",{...e,type:"text",class:"grow",value:s,readonly:!0,placeholder:e.placeholder||(a()?"Seleccionar rango...":"Seleccionar fecha...")})]),p(t,()=>n("div",{class:"absolute left-0 mt-2 z-[100]",onclick:(l)=>l.stopPropagation()},[oe({value:e.value,range:a(),hour:e.hour,onChange:c})])),p(t,()=>n("div",{class:"fixed inset-0 z-[90]",onclick:()=>t(!1)}))])};var ge={};m(ge,{Sidebar:()=>Wt,Drawer:()=>Kt});var Kt=(e,t)=>{return t===void 0&&(t=e,e={}),n("div",{...e,class:`drawer ${e.class??""}`},t)},Wt=(e)=>{let t=e.id||`drawer-${Math.random().toString(36).slice(2,9)}`;return n("div",{...e,class:`drawer ${e.class??""}`},[n("input",{id:t,type:"checkbox",class:"drawer-toggle",checked:()=>typeof e.open==="function"?e.open():e.open,onchange:(a)=>typeof e.open==="function"&&e.open(a.target.checked)}),n("div",{class:"drawer-content"},e.children),n("div",{class:"drawer-side"},[n("label",{for:t,class:"drawer-overlay",onclick:()=>typeof e.open==="function"&&e.open(!1)}),n("div",{class:"min-h-full bg-base-200 w-80 p-4"},typeof e.content==="function"?e.content():e.content)])])};var he={};m(he,{Dropdown:()=>Yt});var N=null;if(typeof window<"u"&&!window.__dropdownHandlerRegistered)window.addEventListener("click",(e)=>{if(N&&!N.contains(e.target))N.open=!1,N=null}),window.__dropdownHandlerRegistered=!0;var Yt=(e)=>n("details",{...e,class:`dropdown ${e.class??""}`,onclick:(t)=>{let a=t.currentTarget;if(N&&N!==a)N.open=!1;setTimeout(()=>{N=a.open?a:null},0)}},e.children);var be={};m(be,{Fab:()=>Jt});var Jt=(e,t)=>{return t===void 0&&(t=e,e={}),n("div",{...e,class:`fab ${e.class??""}`},t)};var ye={};m(ye,{Fieldset:()=>Vt});var Vt=(e,t)=>n("fieldset",{...e,class:`fieldset ${e.class??""}`},[e.legend?n("legend",{class:"fieldset-legend"},e.legend):null,t]);var ve={};m(ve,{Fileinput:()=>Ut});var Ut=(e)=>{let t=h([]),a=h(!1),s=h(null),c=(e.max||2)*1024*1024,r=(o)=>{let i=Array.from(o);if(s(null),i.find((u)=>u.size>c)){s(`Máx ${e.max||2}MB`);return}t([...t(),...i]),e.onselect?.(t())},l=(o)=>{let i=t().filter((u,f)=>f!==o);t(i),e.onselect?.(i)};return n("div",{...e,class:`fieldset w-full p-0 ${e.class??""}`},[n("label",{class:()=>`relative flex items-center justify-between w-full h-12 px-4 border-2 border-dashed rounded-lg cursor-pointer transition-all duration-200 ${a()?"border-primary bg-primary/10":"border-base-content/20 bg-base-100 hover:bg-base-200"}`,ondragover:(o)=>{o.preventDefault(),a(!0)},ondragleave:()=>a(!1),ondrop:(o)=>{o.preventDefault(),a(!1),r(o.dataTransfer.files)}},[n("div",{class:"flex items-center gap-3 w-full"},[n("span",{class:"icon-[lucide--upload]"}),n("span",{class:"text-sm opacity-70 truncate grow text-left"},"Arrastra o selecciona archivos..."),n("span",{class:"text-[10px] opacity-40 shrink-0"},`Máx ${e.max||2}MB`)]),n("input",{type:"file",multiple:!0,accept:e.accept||"*",class:"hidden",onchange:(o)=>r(o.target.files)})]),()=>s()&&n("span",{class:"text-[10px] text-error mt-1 px-1 font-medium"},s()),p(()=>t().length>0,()=>n("ul",{class:"mt-2 space-y-1"},[$(t,(o,i)=>n("li",{class:"flex items-center justify-between p-1.5 pl-3 text-xs bg-base-200/50 rounded-md border border-base-300"},[n("div",{class:"flex items-center gap-2 truncate"},[n("span",{class:"opacity-50"},"\uD83D\uDCC4"),n("span",{class:"truncate font-medium max-w-[200px]"},o.name),n("span",{class:"text-[9px] opacity-40"},`(${(o.size/1024).toFixed(0)} KB)`)]),n("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle",onclick:(u)=>{u.preventDefault(),l(i)}},n("span",{class:"icon-[lucide--x]"}))]),(o)=>o.name+o.lastModified)]))])};var xe={};m(xe,{Icon:()=>Xt});var Xt=(e,t)=>{if(typeof e==="string"){if(e.includes("icon-")||e.startsWith("lucide-"))return n("span",{class:e},t);return n("span",{class:"icon"},e)}if(!e)return null;let{class:a,...s}=e;return n("span",{...s,class:a},t)};var we={};m(we,{Indicator:()=>Gt});var Gt=(e,t)=>{return t===void 0&&(t=e,e={}),n("div",{...e,class:`indicator ${e.class??""}`},[e.value?n("span",{class:`indicator-item badge ${e.class??""}`},e.value):null,t])};var $e={};m($e,{Input:()=>Qt});var et=(e)=>typeof e==="function"?e():e;var tt=(...e)=>e.filter(Boolean).join(" ").trim();var nt=(e)=>typeof e==="function";var Qt=(e)=>{let{label:t,icon:a,float:s,placeholder:c,value:r,left:l,right:o,content:i,...u}=e,f=h(!1),g=h(!1),b=e.type==="password",v=()=>b?et(f)?"text":"password":e.type||"text";return n("div",{class:"input-container",onfocusin:()=>g(!0),onfocusout:(d)=>{if(!d.currentTarget.contains(d.relatedTarget))g(!1)}},[n("label",{class:"floating-label"},[s?n("span",{},t):null,n("label",{class:()=>tt("input",e.class)},[t&&!s?n("span",{class:"label"},t):null,l??null,n("input",{...u,type:v,class:"grow",placeholder:c||t||" ",value:r}),o??null,b?n("label",{class:"swap swap-rotate ml-2"},[n("input",{type:"checkbox",onchange:(d)=>f(d.target.checked)}),n("span",{class:"swap-on icon-[lucide--eye]"}),n("span",{class:"swap-off icon-[lucide--eye-off]"})]):null]),p(g,()=>M({duration:300,slide:!0},n("div",{class:"input-content",onmousedown:(d)=>d.preventDefault()},[nt(i)?i(g):i])))])])};var ke={};m(ke,{Kbd:()=>Zt});var Zt=(e,t)=>{return t===void 0&&(t=e,e={}),n("kbd",{...e,class:`kbd ${e.class??""}`},t)};var Se={};m(Se,{Loading:()=>Mt});var Mt=(e,t)=>{return t===void 0&&(t=e,e={}),n("span",{...e,class:`loading loading-spinner ${e.class??""}`},t)};var _e={};m(_e,{MenuItems:()=>at,Menu:()=>en});var en=(e,t)=>{return t===void 0&&(t=e,e={}),n("ul",{...e,class:`menu ${e.class??""}`},t)},at=(e)=>{let{items:t,keyFn:a=(r,l)=>r.id??l}=e;return $(typeof t==="function"?t:()=>t||[],(r)=>{if(r.children)return n("li",{},[n("details",{},[n("summary",{},r.label),n("ul",{},at({items:r.children}))])]);return n("li",{},n("a",{href:r.href,onclick:r.onclick?(l)=>{if(!r.href)l.preventDefault();r.onclick(l)}:null},r.label))},a)};var Ce={};m(Ce,{Modal:()=>tn});var tn=(e)=>{let t=null;_(()=>{let s=typeof e.open==="function"?e.open():e.open;if(!t)return;s?t.showModal():t.close()});let a=()=>typeof e.open==="function"&&e.open(!1);return n("dialog",{...e,ref:(s)=>t=s,class:`modal ${e.class??""}`,onclose:a,oncancel:a},[n("div",{class:"modal-box"},[e.title&&n("h3",{class:"text-lg font-bold"},e.title),e.children,n("div",{class:"modal-action"},[e.actions||n("button",{class:"btn",onclick:a},"Cerrar")])]),n("form",{method:"dialog",class:"modal-backdrop"},[n("button",{},"close")])])};var Te={};m(Te,{Navbar:()=>nn});var nn=(e,t)=>{return t===void 0&&(t=e,e={}),n("div",{...e,class:`navbar ${e.class??""}`},t)};var Ee={};m(Ee,{Radial:()=>an});var an=(e,t)=>{t===void 0&&(t=e,e={});let a=e.value!=null?e.value/(e.max||100)*100:0,s=`--value: ${a}; --max: 100;`;return n("div",{...e,class:`radial-progress ${e.class??""}`,style:s,role:"progressbar","aria-valuenow":e.value,"aria-valuemin":0,"aria-valuemax":e.max||100},t||`${Math.round(a)}%`)};var pe={};m(pe,{Radio:()=>sn});var sn=(e)=>n("input",{...e,type:"radio",class:`radio ${e.class??""}`});var De={};m(De,{Range:()=>ln});var ln=(e)=>n("input",{...e,type:"range",class:`range ${e.class??""}`});var Ae={};m(Ae,{Rating:()=>on});var on=(e,t)=>{t===void 0&&(t=e,e={});let a=`rating-${Math.random().toString(36).slice(2,7)}`;return n("div",{...e,class:`rating ${e.class??""}`},t||Array.from({length:e.count||5},(s,c)=>{let r=c+1;return n("input",{type:"radio",name:a,class:`mask ${e.mask||"mask-star"}`,checked:()=>typeof e.value==="function"?e.value()===r:e.value===r,onchange:()=>{if(e.onchange)e.onchange(r);else if(typeof e.value==="function")e.value(r)}})}))};var Ne={};m(Ne,{SkeletonText:()=>rn,Skeleton:()=>cn});var cn=(e)=>n("div",{...e,class:`skeleton ${e.class??""}`}),rn=(e)=>{return n("div",{...e,class:"space-y-2"},Array.from({length:e.lines||3},()=>n("div",{class:`skeleton h-4 w-full ${e.class??""}`})))};var Be={};m(Be,{SelectLabel:()=>dn,SelectItems:()=>fn,Select:()=>un});var un=(e,t)=>{return t===void 0&&(t=e,e={}),n("select",{...e,class:`select ${e.class??""}`},t)},fn=(e)=>{let t=e.placeholder?n("option",{disabled:e.placeholderDisabled??!0,selected:!0},e.placeholder):null,a=$(()=>[...typeof e.items==="function"?e.items():e.items||[]],(s)=>{let c=typeof s==="string"?s:s.value,r=typeof s==="string"?s:s.label;return n("option",{value:c},r)},e.keyFn||((s)=>typeof s==="string"?s:s.value));return t?[t,a]:a},dn=(e,t)=>n("label",{class:`${e.float?"floating-label":"select"}`},[n("span",{class:e.float?"":"label opacity-50"},e.label),e.left??null,n("select",{...e,class:`${e.float?"select":""} ${e.class??""}`},t),e.right??null]);var Re={};m(Re,{Stack:()=>mn});var mn=(e,t)=>{return t===void 0&&(t=e,e={}),n("div",{...e,class:`stack ${e.class??""}`},t)};var P={};m(P,{Stats:()=>gn,Stat:()=>hn});var gn=(e,t)=>{t===void 0&&(t=e,e={});let a=e.vertical?"stats-vertical":"stats-horizontal";return n("div",{...e,class:`stats ${a} ${e.class??""}`.trim()},t)},hn=(e,t)=>{return t===void 0&&(t=e,e={}),n("div",{...e,class:`stat ${e.class??""}`},[e.icon&&n("div",{class:"stat-figure"},e.icon),e.label&&n("div",{class:"stat-title"},e.label),e.value&&n("div",{class:"stat-value"},e.value),e.desc&&n("div",{class:"stat-desc"},e.desc),e.actions&&n("div",{class:"stat-actions"},e.actions),t])};var Fe={};m(Fe,{Swap:()=>bn});var bn=(e)=>{return n("label",{...e,class:`swap ${e.class??""}`},[n("input",{type:"checkbox",checked:()=>typeof e.value==="function"?e.value():e.value,onchange:(t)=>typeof e.value==="function"&&e.value(t.target.checked)}),n("div",{class:"swap-on"},e.on),n("div",{class:"swap-off"},e.off)])};var Ie={};m(Ie,{TableItems:()=>vn,Table:()=>yn});var yn=(e,t)=>{return t===void 0&&(t=e,e={}),n("table",{...e,class:`table ${e.class??""}`},t)},vn=(e)=>{let t=typeof e.items==="function"?e.items():e.items||[],a=e.header!==!1&&e.columns?.some((c)=>c.label)?n("thead",{},n("tr",{},e.columns.map((c)=>n("th",{class:c.class},c.label)))):null,s=n("tbody",{},[$(t,(c,r)=>n("tr",{},e.columns.map((l)=>{let o=l.render?l.render(c,r):c[l.key];return n("td",{class:l.class},o)})),e.keyFn||((c,r)=>c.id??r))]);return[a,s]};var Le={};m(Le,{Tabs:()=>xn,TabItems:()=>wn,TabContent:()=>lt,TabClose:()=>ot,Tab:()=>st});var xn=(e,t)=>{return t===void 0&&(t=e,e={}),n("div",{...e,class:`tabs ${e.class??""}`},t)},st=(e,t)=>{return t===void 0&&(t=e,e={}),n("a",{...e,role:"tab",class:`tab ${e.class??""}`},t)},lt=(e,t)=>{return t===void 0&&(t=e,e={}),n("div",{...e,class:`tab-content ${e.class??""}`},t)},ot=(e)=>n("a",{...e,role:"tab",class:`tab ${e.class??""}`},[n("span",{class:"flex items-center"},[e.label,n("span",{class:"icon-[lucide--x] w-3.5 h-3.5 ml-2 cursor-pointer hover:opacity-70",onclick:(t)=>{t.stopPropagation(),e.onClose?.(t)}})])]),wn=(e)=>{let t=typeof e.items==="function"?e.items:()=>e.items||[];return $(t,(a,s)=>{return[(a.closable?ot:st)({...a,class:()=>e.activeIndex()===s?`tab-active ${a.class??""}`:a.class,onclick:(r)=>{r.preventDefault(),e.activeIndex(s),a.onclick?.(r)},onClose:()=>e.onClose?.(s,a)}),lt({style:()=>`display: ${e.activeIndex()===s?"block":"none"};`},typeof a.content==="function"?a.content():a.content)]},(a,s)=>a.id??s)};var ze={};m(ze,{Textarea:()=>$n});var $n=(e)=>n("textarea",{...e,class:`textarea ${e.class??""}`});var He={};m(He,{TextRotate:()=>kn});var kn=(e)=>{let t=Array.isArray(e.words)?e.words:typeof e.words==="string"?e.words.split(","):[];return n("span",{...e,class:`text-rotate ${e.class??""}`},[n("span",{},t.map((a)=>n("span",{},a)))])};var je={};m(je,{Timeline:()=>Sn});var Sn=(e,t)=>{t===void 0&&(t=e,e={});let a=e.vertical!==!1,s=e.compact===!0;return n("ul",{...e,class:`timeline ${a?"timeline-vertical":"timeline-horizontal"} ${s?"timeline-compact":""} ${e.class??""}`.trim()},t)};var Pe={};m(Pe,{Toast:()=>_n});var _n=(e,t="alert-success",a=3500)=>{let s=document.getElementById("sigpro-toast-container");if(!s)s=n("div",{id:"sigpro-toast-container",class:"fixed top-0 right-0 z-[9999] p-4 flex flex-col gap-2 pointer-events-none"}),document.body.appendChild(s);let c=n("div",{style:"display: contents"});s.appendChild(c);let r,l=()=>{clearTimeout(r);let u=c.firstElementChild;if(u&&!u.classList.contains("opacity-0"))u.classList.add("translate-x-full","opacity-0"),setTimeout(()=>{if(i.destroy(),c.remove(),!s.hasChildNodes())s.remove()},300);else i.destroy(),c.remove()},i=ee(()=>{let u=n("span",{class:"icon-[lucide--x]"}),f=n("button",{class:"btn btn-xs btn-circle btn-ghost",onclick:l},u),g=n("div",{class:`alert alert-soft ${t} shadow-lg transition-all duration-300 translate-x-10 opacity-0 pointer-events-auto`},[n("span",{},typeof e==="function"?e():e),f]);return requestAnimationFrame(()=>g.classList.remove("translate-x-10","opacity-0")),g},c);if(a>0)r=setTimeout(l,a);return l};var Oe={};m(Oe,{Tooltip:()=>Cn});var Cn=(e,t)=>{return t===void 0&&(t=e,e={}),n("div",{...e,class:`tooltip ${e.class??""}`,"data-tip":e.tip},t)};var Tn={es:{close:"Cerrar",confirm:"Confirmar",cancel:"Cancelar",search:"Buscar...",loading:"Cargando...",nodata:"Sin datos"},en:{close:"Close",confirm:"Confirm",cancel:"Cancel",search:"Search...",loading:"Loading...",nodata:"No data"}},ct=h("es"),rt=(e)=>ct(e),it=(e)=>()=>Tn[ct()][e]||e;var ut={...te,...ne,...ae,...se,...le,...ce,...re,...ie,...ue,...fe,...de,...me,...ge,...he,...be,...ye,...ve,...xe,...we,...$e,...ke,...Se,..._e,...Ce,...Te,...Ee,...pe,...De,...Ae,...Ne,...Be,...Re,...P,...P,...Fe,...Ie,...Le,...ze,...He,...je,...Pe,...Oe},ft={Locale:rt,tt:it};if(typeof window<"u")Object.entries({...ut,...ft}).forEach(([e,t])=>{Object.defineProperty(window,e,{value:t,writable:!1,configurable:!0,enumerable:!0})}),console.log("SigProUI installed");})(); diff --git a/docs/README.md b/docs/README.md index c770f6e..3805ffa 100644 --- a/docs/README.md +++ b/docs/README.md @@ -72,9 +72,9 @@ Modal({ open: isVisible, title: "Precision Engineering" }, () => - Div({ class: "space-y-4" }, [ - P("SigPro-UI provides instant reactivity out of the box."), - Button({ + div({ class: "space-y-4" }, [ + p("SigPro-UI provides instant reactivity out of the box."), + button({ class: "btn-primary", onclick: () => isVisible(false) }, "Confirm") diff --git a/docs/components/accordion.md b/docs/components/accordion.md index 9e90a91..ef9c046 100644 --- a/docs/components/accordion.md +++ b/docs/components/accordion.md @@ -8,14 +8,14 @@ Collapsible accordion component for organizing content into expandable sections. ## Props -| Prop | Type | Default | Description | -| :--- | :--- | :--- | :--- | -| `title` | `string \| VNode \| Signal` | Required | Accordion section title | -| `open` | `boolean \| Signal` | `false` | Whether the accordion is expanded | -| `name` | `string` | `auto-generated` | Group name for radio-style accordions | -| `class` | `string` | `''` | Additional CSS classes | -| `children` | `VNode \| Array` | Required | Content to display when expanded | -| `items` | `Array` | `-` | Array of accordion items (alternative API) | +| Prop | Type | Default | Description | +| :--------- | :--------------------------- | :--------------- | :----------------------------------------- | +| `title` | `string \| VNode \| Signal` | Required | Accordion section title | +| `open` | `boolean \| Signal` | `false` | Whether the accordion is expanded | +| `name` | `string` | `auto-generated` | Group name for radio-style accordions | +| `class` | `string` | `''` | Additional CSS classes | +| `children` | `VNode \| Array` | Required | Content to display when expanded | +| `items` | `Array` | `-` | Array of accordion items (alternative API) | ## Live Examples @@ -35,355 +35,34 @@ const BasicDemo = () => { const open1 = $(false); const open2 = $(false); const open3 = $(false); - - return Div({ class: 'flex flex-col gap-2' }, [ - Accordion({ - title: 'Section 1', - open: open1, - children: Div({ class: 'p-2' }, 'Content for section 1. This is a basic accordion section.') - }), - Accordion({ - title: 'Section 2', - open: open2, - children: Div({ class: 'p-2' }, 'Content for section 2. You can put any content here.') - }), - Accordion({ - title: 'Section 3', - open: open3, - children: Div({ class: 'p-2' }, 'Content for section 3. Accordions are great for FAQs.') - }) - ]); -}; -mount(BasicDemo, '#demo-basic'); -``` -### Group Accordion (Radio Style) - -
-
-

Live Demo

-
-
-
- -```js -const { Accordion, Div, mount } = window; - -const GroupDemo = () => { - const openSection = $('section1'); - - return Div({ class: 'flex flex-col gap-2' }, [ - Accordion({ - name: 'group', - title: 'Section 1', - open: () => openSection() === 'section1', - children: Div({ class: 'p-2' }, 'Content for section 1. Only one section can be open at a time.') - }), - Accordion({ - name: 'group', - title: 'Section 2', - open: () => openSection() === 'section2', - children: Div({ class: 'p-2' }, 'Content for section 2. Opening this will close section 1.') - }), - Accordion({ - name: 'group', - title: 'Section 3', - open: () => openSection() === 'section3', - children: Div({ class: 'p-2' }, 'Content for section 3. This is useful for FAQ sections.') - }) - ]); -}; -mount(GroupDemo, '#demo-group'); -``` - -### Using Items Array - -
-
-

Live Demo

-
-
-
- -```js -const { Accordion, Div, mount } = window; - -const ItemsDemo = () => { - const openItems = $({ - item1: true, - item2: false, - item3: false - }); - - return Accordion({ - items: [ + return div({ class: "flex flex-col gap-2" }, [ + Accordion( { - title: 'First Item', - open: () => openItems().item1, - children: Div({ class: 'p-2' }, 'This is the content of the first item.') + title: "Section 1", + open: open1, }, - { - title: 'Second Item', - open: () => openItems().item2, - children: Div({ class: 'p-2' }, 'This is the content of the second item.') - }, - { - title: 'Third Item', - open: () => openItems().item3, - children: Div({ class: 'p-2' }, 'This is the content of the third item.') - } - ] - }); -}; -mount(ItemsDemo, '#demo-items'); -``` - -### FAQ Accordion - -
-
-

Live Demo

-
-
-
- -```js -const { Accordion, Div, mount } = window; - -const FaqDemo = () => { - const openFaq = $('faq1'); - - const faqs = [ - { id: 'faq1', question: 'What is this component?', answer: 'This is an accordion component built with DaisyUI and Tailwind CSS for creating collapsible content sections.' }, - { id: 'faq2', question: 'How do I use it?', answer: 'Simply import the Accordion component and pass title and children props.' }, - { id: 'faq3', question: 'Can I have multiple open?', answer: 'Yes! By default, accordions can be opened independently.' } - ]; - - return Div({ class: 'flex flex-col gap-2' }, faqs.map(faq => + div( + { class: "p-2" }, + "Content for section 1. This is a basic accordion section.", + ), + ), Accordion({ - name: 'faq-group', - title: faq.question, - open: () => openFaq() === faq.id, - children: Div({ class: 'p-2 text-sm' }, faq.answer) - }) - )); -}; -mount(FaqDemo, '#demo-faq'); -``` - -### With Rich Content - -
-
-

Live Demo

-
-
-
- -```js -const { Accordion, Div, Span, mount } = window; - -const RichDemo = () => { - const open1 = $(true); - const open2 = $(false); - - return Div({ class: 'flex flex-col gap-2' }, [ - Accordion({ - title: Span({ class: 'flex items-center gap-2' }, ['📊', 'Statistics']), - open: open1, - children: Div({ class: 'p-2' }, [ - Div({ class: 'grid grid-cols-2 gap-4' }, [ - Div({ class: 'stat bg-base-100 rounded-lg p-3' }, [ - Div({ class: 'stat-title' }, 'Users'), - Div({ class: 'stat-value text-lg' }, '1,234') - ]), - Div({ class: 'stat bg-base-100 rounded-lg p-3' }, [ - Div({ class: 'stat-title' }, 'Revenue'), - Div({ class: 'stat-value text-lg' }, '$45,678') - ]) - ]) - ]) - }), - Accordion({ - title: Span({ class: 'flex items-center gap-2' }, ['👥', 'Team Members']), + title: "Section 2", open: open2, - children: Div({ class: 'p-2 space-y-2' }, [ - Div({ class: 'flex items-center gap-3 p-2 hover:bg-base-100 rounded-lg' }, [ - Div({ class: 'avatar placeholder' }, [ - Div({ class: 'bg-primary text-primary-content rounded-full w-10 h-10 flex items-center justify-center' }, 'JD') - ]), - Div({ class: 'flex-1' }, [ - Div({ class: 'font-medium' }, 'John Doe'), - Div({ class: 'text-sm opacity-70' }, 'Developer') - ]) - ]) - ]) - }) - ]); -}; -mount(RichDemo, '#demo-rich'); -``` - -### Form Accordion - -
-
-

Live Demo

-
-
-
- -```js -const { Accordion, Div, Span, Button, Input, Radio, mount } = window; - -const FormAccordion = () => { - const openStep = $('step1'); - const formData = $({ - name: '', - email: '', - address: '', - payment: 'credit' - }); - - const updateField = (field, value) => { - formData({ ...formData(), [field]: value }); - }; - - const nextStep = () => { - if (openStep() === 'step1') openStep('step2'); - else if (openStep() === 'step2') openStep('step3'); - }; - - const prevStep = () => { - if (openStep() === 'step2') openStep('step1'); - else if (openStep() === 'step3') openStep('step2'); - }; - - const handleSubmit = () => { - window.Toast('Form submitted!', 'alert-success', 2000); - }; - - return Div({ class: 'flex flex-col gap-2' }, [ + }, div( + { class: "p-2" }, + "Content for section 2. You can put any content here.", + ),), Accordion({ - name: 'form-steps', - title: Span({ class: 'flex items-center gap-2' }, ['1️⃣', 'Personal Information']), - open: () => openStep() === 'step1', - children: Div({ class: 'p-4 space-y-4' }, [ - Input({ - label: 'Full Name', - value: () => formData().name, - placeholder: 'Enter your name', - oninput: (e) => updateField('name', e.target.value) - }), - Input({ - label: 'Email', - type: 'email', - value: () => formData().email, - placeholder: 'email@example.com', - oninput: (e) => updateField('email', e.target.value) - }), - Div({ class: 'flex justify-end mt-2' }, [ - Button({ - class: 'btn btn-primary btn-sm', - onclick: nextStep, - disabled: () => !formData().name || !formData().email - }, 'Next →') - ]) - ]) - }), - Accordion({ - name: 'form-steps', - title: Span({ class: 'flex items-center gap-2' }, ['2️⃣', 'Address']), - open: () => openStep() === 'step2', - children: Div({ class: 'p-4 space-y-4' }, [ - Input({ - label: 'Address', - value: () => formData().address, - placeholder: 'Street address', - oninput: (e) => updateField('address', e.target.value) - }), - Div({ class: 'flex justify-between mt-2' }, [ - Button({ class: 'btn btn-ghost btn-sm', onclick: prevStep }, '← Back'), - Button({ class: 'btn btn-primary btn-sm', onclick: nextStep }, 'Next →') - ]) - ]) - }), - Accordion({ - name: 'form-steps', - title: Span({ class: 'flex items-center gap-2' }, ['3️⃣', 'Payment']), - open: () => openStep() === 'step3', - children: Div({ class: 'p-4 space-y-4' }, [ - Div({ class: 'flex flex-col gap-2' }, [ - Radio({ - label: 'Credit Card', - value: () => formData().payment, - radioValue: 'credit', - onclick: () => updateField('payment', 'credit') - }), - Radio({ - label: 'PayPal', - value: () => formData().payment, - radioValue: 'paypal', - onclick: () => updateField('payment', 'paypal') - }), - Radio({ - label: 'Bank Transfer', - value: () => formData().payment, - radioValue: 'bank', - onclick: () => updateField('payment', 'bank') - }) - ]), - Div({ class: 'flex justify-between mt-2' }, [ - Button({ class: 'btn btn-ghost btn-sm', onclick: prevStep }, '← Back'), - Button({ class: 'btn btn-success btn-sm', onclick: handleSubmit }, 'Submit') - ]) - ]) - }) - ]); -}; -mount(FormAccordion, '#demo-form'); -``` - -### All Variants - -
-
-

Live Demo

-
-
-
- -```js -const { Accordion, Div, Span, mount } = window; - -const VariantsDemo = () => { - const open1 = $(true); - const open2 = $(false); - const open3 = $(false); - - return Div({ class: 'flex flex-col gap-4' }, [ - Div({ class: 'text-sm font-bold' }, 'Default Accordion'), - Accordion({ - title: 'Default style', - open: open1, - children: Div({ class: 'p-2' }, 'Default accordion with standard styling.') - }), - - Div({ class: 'text-sm font-bold mt-2' }, 'Custom Styling'), - Accordion({ - title: Span({ class: 'text-primary font-bold' }, 'Primary Title'), - open: open2, - class: 'bg-primary/5 border-primary/20', - children: Div({ class: 'p-2' }, 'Accordion with custom styling and primary color.') - }), - - Div({ class: 'text-sm font-bold mt-2' }, 'With Icons'), - Accordion({ - title: Span({ class: 'flex items-center gap-2' }, ['✨', 'Featured Content']), + title: "Section 3", open: open3, - children: Div({ class: 'p-2' }, 'Accordion with emoji icons in the title.') - }) + children: div( + { class: "p-2" }, + "Content for section 3. Accordions are great for FAQs.", + ), + }), ]); }; -mount(VariantsDemo, '#demo-variants'); -``` \ No newline at end of file +mount(BasicDemo, "#demo-basic"); +``` diff --git a/docs/components/alert.md b/docs/components/alert.md index 1cce132..a66a4ca 100644 --- a/docs/components/alert.md +++ b/docs/components/alert.md @@ -39,7 +39,7 @@ Alert supports all **daisyUI Alert classes**: const { Alert, Div, mount } = window; const BasicDemo = () => { - return Div({ class: 'flex flex-col gap-3' }, [ + return div({ class: 'flex flex-col gap-3' }, [ Alert({ class: 'alert-info' }, 'This is an informational message.'), Alert({ class: 'alert-success' }, 'Operation completed successfully!'), Alert({ class: 'alert-warning' }, 'Please review your input before proceeding.'), @@ -62,7 +62,7 @@ mount(BasicDemo, '#demo-basic'); const { Alert, Div, mount } = window; const VariantsDemo = () => { - return Div({ class: 'flex flex-col gap-3' }, [ + return div({ class: 'flex flex-col gap-3' }, [ Alert({ class: 'alert-info alert-soft' }, 'Soft info alert'), Alert({ class: 'alert-info alert-solid' }, 'Solid info alert'), Alert({ class: 'alert-success alert-soft' }, 'Soft success alert'), @@ -104,14 +104,14 @@ const ActionsDemo = () => { Toast(`Restored: ${deletedItem()}`, 'alert-success', 2000); }; - return Div({ class: 'flex flex-col gap-4' }, [ - Div({ class: 'flex gap-2' }, [ - Button({ class: 'btn btn-sm', onclick: () => deleteItem('Document A') }, 'Delete Document A'), - Button({ class: 'btn btn-sm', onclick: () => deleteItem('Document B') }, 'Delete Document B') + return div({ class: 'flex flex-col gap-4' }, [ + div({ class: 'flex gap-2' }, [ + button({ class: 'btn btn-sm', onclick: () => deleteItem('Document A') }, 'Delete Document A'), + button({ class: 'btn btn-sm', onclick: () => deleteItem('Document B') }, 'Delete Document B') ]), () => showUndo() ? Alert({ class: 'alert-warning alert-soft flex justify-between items-center' }, [ - Span({}, `Deleted: ${deletedItem()}`), - Button({ class: 'btn btn-sm btn-primary', onclick: undoDelete }, 'Undo') + span({}, `Deleted: ${deletedItem()}`), + button({ class: 'btn btn-sm btn-primary', onclick: undoDelete }, 'Undo') ]) : null ]); }; @@ -133,12 +133,12 @@ const { Alert, Button, Div, mount } = window; const DismissibleDemo = () => { const visible = $(true); - return Div({ class: 'flex flex-col gap-3' }, [ + return div({ class: 'flex flex-col gap-3' }, [ () => visible() ? Alert({ class: 'alert-info flex justify-between items-center' }, [ - Span({}, 'This alert can be dismissed. Click the X button to close.'), - Button({ class: 'btn btn-xs btn-circle btn-ghost', onclick: () => visible(false) }, '✕') + span({}, 'This alert can be dismissed. Click the X button to close.'), + button({ class: 'btn btn-xs btn-circle btn-ghost', onclick: () => visible(false) }, '✕') ]) : null, - () => !visible() ? Button({ class: 'btn btn-sm btn-ghost', onclick: () => visible(true) }, 'Show Alert') : null + () => !visible() ? button({ class: 'btn btn-sm btn-ghost', onclick: () => visible(true) }, 'Show Alert') : null ]); }; mount(DismissibleDemo, '#demo-dismissible'); @@ -169,8 +169,8 @@ const ReactiveDemo = () => { } }; - return Div({ class: 'flex flex-col gap-4' }, [ - Input({ + return div({ class: 'flex flex-col gap-4' }, [ + input({ class: 'input input-bordered', placeholder: 'Enter your email', value: email, @@ -196,7 +196,7 @@ mount(ReactiveDemo, '#demo-reactive'); const { Alert, Div, mount } = window; const AllTypesDemo = () => { - return Div({ class: 'flex flex-col gap-3' }, [ + return div({ class: 'flex flex-col gap-3' }, [ Alert({ class: 'alert-info' }, 'ℹ️ This is an info alert'), Alert({ class: 'alert-success' }, '✅ This is a success alert'), Alert({ class: 'alert-warning' }, '⚠️ This is a warning alert'), diff --git a/docs/components/autocomplete.md b/docs/components/autocomplete.md index db0be6e..4284df9 100644 --- a/docs/components/autocomplete.md +++ b/docs/components/autocomplete.md @@ -1,276 +1,60 @@ # Autocomplete -Searchable dropdown with autocomplete functionality, keyboard navigation, and reactive items. - -## Tag - -`Autocomplete` - -## Props - -| Prop | Type | Default | Description | -| :------------ | :---------------------------------------------------------- | :------------ | :--------------------------------------- | -| `class` | `string` | `''` | Additional CSS classes for the container | -| `items` | `Array \| Signal` | `[]` | Items to search from | -| `value` | `string \| Signal` | `''` | Selected value (reactive) | -| `onselect` | `function(item)` | `-` | Called when an option is selected | -| `label` | `string` | `-` | Label text for the input | -| `placeholder` | `string` | `'Buscar...'` | Placeholder text | - -## Styling - -Autocomplete wraps a **daisyUI Input component** internally. All Input styling classes work: - -| Category | Keywords | Description | -| :------- | :------------------------------------------------------------------------------------------------------------------------------- | :-------------------- | -| Color | `input-primary`, `input-secondary`, `input-accent`, `input-ghost`, `input-info`, `input-success`, `input-warning`, `input-error` | Input color variants | -| Size | `input-xs`, `input-sm`, `input-md`, `input-lg` | Input scale | -| Style | `input-bordered` (default), `input-ghost` | Visual style variants | - -> For further details, check the [daisyUI Input Documentation](https://daisyui.com/components/input) – Full reference for CSS classes. - -## Live Examples - -### Basic Autocomplete -

Live Demo

-
+
```js -const { Autocomplete, mount } = window; +const paises = [ + "España", + "México", + "Argentina", + "Colombia", + "Chile", + "Perú", + "Venezuela", + { label: "Estados Unidos", value: "US" }, + { label: "Canadá", value: "CA" }, + { label: "Reino Unido", value: "UK" }, +]; -const BasicDemo = () => { - const selected = $(""); - const fruits = [ - "Apple", - "Banana", - "Orange", - "Grape", - "Strawberry", - "Mango", - "Pineapple", - "Watermelon", +const App = () => { + const password = $(""); + + // Lógica de validación sencilla + const requirements = [ + { label: "Mínimo 8 caracteres", check: () => password().length >= 8 }, + { label: "Incluye un número", check: () => /\d/.test(password()) }, + { label: "Símbolo especial", check: () => /[^A-Za-z0-9]/.test(password()) } ]; - return Autocomplete({ - items: fruits, - value: selected, - onselect: (value) => selected(value), - }); -}; -mount(BasicDemo, "#demo-basic"); -``` - -### With Objects - -
-
-

Live Demo

-
-
-
- -```js -const { Autocomplete, Div, mount } = window; - -const ObjectsDemo = () => { - const selected = $(""); - const selectedLabel = $(""); - - const countries = [ - { value: "mx", label: "Mexico" }, - { value: "us", label: "United States" }, - { value: "ca", label: "Canada" }, - { value: "br", label: "Brazil" }, - { value: "ar", label: "Argentina" }, - { value: "es", label: "Spain" }, - ]; - - return Div({ class: "flex flex-col gap-4 w-full" }, [ - Autocomplete({ - items: countries, - value: selectedLabel, - onselect: (item) => { - const selectedItem = - typeof item === "string" - ? countries.find((c) => c.label === item) - : item; - selected(selectedItem?.value || ""); - selectedLabel(selectedItem?.label || ""); - }, - }), - Div( - { class: "alert alert-info mt-4" }, - () => `Selected: ${selected()} - ${selectedLabel()}`, - ), + return div({ class: "p-10 max-w-md" }, [ + Input({ + type: "password", + value: password, + class: "input-warning", + oninput: (e) => password(e.target.value), + label: "Pass", + float: true, + left: span({ class: "icon-[lucide--lock] mr-2" }), + // El contenido que se animará con fx() dentro del Input + content: div({ class: "mt-2 p-4 bg-base-200 rounded-lg shadow-xl border border-base-300" }, [ + span({ class: "text-xs font-bold uppercase opacity-50" }, "Seguridad:"), + ul({ class: "mt-2 space-y-1" }, + requirements.map(req => h('li', { + class: () => `flex items-center text-sm ${req.check() ? 'text-success' : 'text-error opacity-50'}` + }, [ + span({ class: () => `mr-2 ${req.check() ? 'icon-[lucide--check]' : 'icon-[lucide--x]'}` }), + req.label + ])) + ) + ]) + }) ]); }; -mount(ObjectsDemo, "#demo-objects"); -``` - -### With Reactive Display - -
-
-

Live Demo

-
-
-
- -```js -const { Autocomplete, Div, mount } = window; - -const ReactiveDemo = () => { - const selected = $(""); - - const programmingLanguages = [ - "JavaScript", - "Python", - "Java", - "C++", - "Ruby", - "Go", - "Rust", - "TypeScript", - "Swift", - "Kotlin", - ]; - - return Div({ class: "flex flex-col gap-4 w-full" }, [ - Autocomplete({ - items: programmingLanguages, - value: selected, - onselect: (value) => selected(value), - }), - () => - selected() - ? Div( - { class: "alert alert-success mt-4" }, - `You selected: ${selected()}`, - ) - : null, - ]); -}; -mount(ReactiveDemo, "#demo-reactive"); -``` - -### Dynamic Items - -
-
-

Live Demo

-
-
-
- -```js -const { Autocomplete, Select, SelectItems, Div, mount } = window; - -const DynamicDemo = () => { - const selected = $(""); - const filterType = $("all"); - - const allItems = { - fruits: ["Apple", "Banana", "Orange", "Mango"], - vegetables: ["Carrot", "Broccoli", "Spinach", "Potato"], - all: [ - "Apple", - "Banana", - "Orange", - "Mango", - "Carrot", - "Broccoli", - "Spinach", - "Potato", - ], - }; - - const options = [ - { value: "all", label: "All items" }, - { value: "fruits", label: "Fruits" }, - { value: "vegetables", label: "Vegetables" }, - ]; - - const handleFilterChange = (e) => { - filterType(e.target.value); - selected(""); - setTimeout(() => selected(""), 300); - }; - - return Div({ class: "flex flex-col gap-4 w-full" }, [ - Select( - { - class: "select select-bordered w-full", - value: filterType, - onchange: handleFilterChange, - }, - SelectItems({ items: options }), - ), - Div({ key: () => filterType() }, [ - Autocomplete({ - items: () => allItems[filterType()], - value: selected, - onselect: (value) => selected(value), - }), - ]), - ]); -}; -mount(DynamicDemo, "#demo-dynamic"); -``` - -### All Variants - -
-
-

Live Demo

-
-
-
- -```js -const { Autocomplete, Div, mount } = window; - -const VariantsDemo = () => { - const colors = [ - "Red", - "Blue", - "Green", - "Yellow", - "Purple", - "Orange", - "Pink", - "Brown", - "Black", - "White", - ]; - - return Div({ class: "flex flex-col gap-4" }, [ - Div({ class: "font-bold" }, "Primary"), - Autocomplete({ - class: "input-primary", - items: colors, - value: $(""), - placeholder: "Search colors...", - }), - Div({ class: "font-bold mt-2" }, "Secondary"), - Autocomplete({ - class: "input-secondary", - items: colors, - value: $(""), - placeholder: "Search colors...", - }), - Div({ class: "font-bold mt-2" }, "Ghost"), - Autocomplete({ - class: "input-ghost", - items: colors, - value: $(""), - placeholder: "Search colors...", - }), - ]); -}; -mount(VariantsDemo, "#demo-variants"); + +mount(App, "#app-demo"); ``` diff --git a/docs/components/badge.md b/docs/components/badge.md index 6da0b8e..498ae38 100644 --- a/docs/components/badge.md +++ b/docs/components/badge.md @@ -45,7 +45,7 @@ Badge({ class: "badge-primary badge-lg" }, "New"); ```javascript const BasicDemo = () => { - return Div({ class: 'flex flex-wrap gap-2' }, [ + return div({ class: 'flex flex-wrap gap-2' }, [ Badge({}, 'Default'), Badge({ class: 'badge-primary' }, 'Primary'), Badge({ class: 'badge-secondary' }, 'Secondary'), @@ -70,7 +70,7 @@ mount(BasicDemo, '#demo-basic'); ```javascript const SizesDemo = () => { - return Div({ class: 'flex flex-wrap gap-2 items-center' }, [ + return div({ class: 'flex flex-wrap gap-2 items-center' }, [ Badge({ class: 'badge-xs' }, 'Extra Small'), Badge({ class: 'badge-sm' }, 'Small'), Badge({}, 'Default'), @@ -92,7 +92,7 @@ mount(SizesDemo, '#demo-sizes'); ```javascript const OutlineDemo = () => { - return Div({ class: 'flex flex-wrap gap-2' }, [ + return div({ class: 'flex flex-wrap gap-2' }, [ Badge({ class: 'badge-outline' }, 'Default'), Badge({ class: 'badge-outline badge-primary' }, 'Primary'), Badge({ class: 'badge-outline badge-secondary' }, 'Secondary'), @@ -117,7 +117,7 @@ mount(OutlineDemo, '#demo-outline'); ```javascript const GhostDemo = () => { - return Div({ class: 'flex flex-wrap gap-2' }, [ + return div({ class: 'flex flex-wrap gap-2' }, [ Badge({ class: 'badge-ghost' }, 'Default'), Badge({ class: 'badge-ghost badge-primary' }, 'Primary'), Badge({ class: 'badge-ghost badge-secondary' }, 'Secondary'), @@ -142,26 +142,26 @@ mount(GhostDemo, '#demo-ghost'); ```javascript const IconsDemo = () => { - return Div({ class: 'flex flex-wrap gap-2' }, [ + return div({ class: 'flex flex-wrap gap-2' }, [ Badge({ class: 'gap-1' }, [ - Span({}, '✓'), - Span({}, 'Success') + span({}, '✓'), + span({}, 'Success') ]), Badge({ class: 'gap-1 badge-warning' }, [ - Span({}, '⚠'), - Span({}, 'Warning') + span({}, '⚠'), + span({}, 'Warning') ]), Badge({ class: 'gap-1 badge-error' }, [ - Span({}, '✗'), - Span({}, 'Error') + span({}, '✗'), + span({}, 'Error') ]), Badge({ class: 'gap-1 badge-info' }, [ - Span({}, 'ℹ'), - Span({}, 'Info') + span({}, 'ℹ'), + span({}, 'Info') ]), Badge({ class: 'gap-1' }, [ - Span({}, '★'), - Span({}, '4.5') + span({}, '★'), + span({}, '4.5') ]) ]); }; @@ -187,9 +187,9 @@ const StatusDemo = () => { { label: 'Archived', class: 'badge-ghost' } ]; - return Div({ class: 'flex flex-col gap-2' }, [ - Div({ class: 'text-sm font-bold mb-2' }, 'Order Status'), - Div({ class: 'flex flex-wrap gap-2' }, statuses.map(status => + return div({ class: 'flex flex-col gap-2' }, [ + div({ class: 'text-sm font-bold mb-2' }, 'Order Status'), + div({ class: 'flex flex-wrap gap-2' }, statuses.map(status => Badge({ class: status.class }, status.label) )) ]); @@ -212,17 +212,17 @@ const CountDemo = () => { const messages = $(5); const updates = $(0); - return Div({ class: 'flex flex-wrap gap-6' }, [ - Div({ class: 'flex items-center gap-2' }, [ - Span({}, 'Notifications'), + return div({ class: 'flex flex-wrap gap-6' }, [ + div({ class: 'flex items-center gap-2' }, [ + span({}, 'Notifications'), Badge({ class: 'badge-primary' }, () => notifications()) ]), - Div({ class: 'flex items-center gap-2' }, [ - Span({}, 'Messages'), + div({ class: 'flex items-center gap-2' }, [ + span({}, 'Messages'), Badge({ class: 'badge-secondary' }, () => messages()) ]), - Div({ class: 'flex items-center gap-2' }, [ - Span({}, 'Updates'), + div({ class: 'flex items-center gap-2' }, [ + span({}, 'Updates'), Badge({ class: 'badge-ghost' }, () => updates() || '0') ]) ]); @@ -243,13 +243,13 @@ mount(CountDemo, '#demo-count'); const InteractiveDemo = () => { const count = $(0); - return Div({ class: 'flex flex-col gap-4 items-center' }, [ - Div({ class: 'flex items-center gap-4' }, [ - Button({ class: 'btn btn-sm', onclick: () => count(count() - 1) }, '-'), + return div({ class: 'flex flex-col gap-4 items-center' }, [ + div({ class: 'flex items-center gap-4' }, [ + button({ class: 'btn btn-sm', onclick: () => count(count() - 1) }, '-'), Badge({ class: 'badge-primary text-lg min-w-[4rem] justify-center' }, () => count()), - Button({ class: 'btn btn-sm', onclick: () => count(count() + 1) }, '+') + button({ class: 'btn btn-sm', onclick: () => count(count() + 1) }, '+') ]), - Button({ + button({ class: 'btn btn-ghost btn-sm', onclick: () => count(0) }, 'Reset') @@ -269,19 +269,19 @@ mount(InteractiveDemo, '#demo-interactive'); ```javascript const VariantsDemo = () => { - return Div({ class: 'flex flex-col gap-6' }, [ - Div({ class: 'flex flex-wrap gap-2' }, [ + return div({ class: 'flex flex-col gap-6' }, [ + div({ class: 'flex flex-wrap gap-2' }, [ Badge({ class: 'badge-xs' }, 'XS'), Badge({ class: 'badge-sm' }, 'SM'), Badge({}, 'MD'), Badge({ class: 'badge-lg' }, 'LG') ]), - Div({ class: 'flex flex-wrap gap-2' }, [ + div({ class: 'flex flex-wrap gap-2' }, [ Badge({ class: 'badge-primary badge-sm' }, 'Primary'), Badge({ class: 'badge-secondary badge-sm' }, 'Secondary'), Badge({ class: 'badge-accent badge-sm' }, 'Accent') ]), - Div({ class: 'flex flex-wrap gap-2' }, [ + div({ class: 'flex flex-wrap gap-2' }, [ Badge({ class: 'badge-outline badge-primary' }, 'Outline'), Badge({ class: 'badge-ghost badge-primary' }, 'Ghost') ]) @@ -301,18 +301,18 @@ mount(VariantsDemo, '#demo-variants'); ```javascript const InlineDemo = () => { - return Div({ class: 'space-y-2' }, [ - Div({ class: 'text-sm' }, [ + return div({ class: 'space-y-2' }, [ + div({ class: 'text-sm' }, [ 'Your order is ', Badge({ class: 'badge-success badge-sm' }, 'Confirmed'), ' and will be shipped soon.' ]), - Div({ class: 'text-sm' }, [ + div({ class: 'text-sm' }, [ 'This feature is ', Badge({ class: 'badge-warning badge-sm' }, 'Beta'), ' and may change.' ]), - Div({ class: 'text-sm' }, [ + div({ class: 'text-sm' }, [ 'Version ', Badge({ class: 'badge-info badge-xs' }, 'v2.1.0'), ' released on March 2026' diff --git a/docs/components/button.md b/docs/components/button.md index 8689aee..657db00 100644 --- a/docs/components/button.md +++ b/docs/components/button.md @@ -31,7 +31,7 @@ ### Example ```javascript -Button({ class: "btn-primary btn-lg btn-circle gap-4" }, "Click Me"); +button({ class: "btn-primary btn-lg btn-circle gap-4" }, "Click Me"); // Applies: primary color, large size, circular shape // class is any css class from pure css or favorite framework ``` @@ -46,7 +46,7 @@ Button({ class: "btn-primary btn-lg btn-circle gap-4" }, "Click Me"); ```javascript const BasicDemo = () => { - return Button({ class: "btn-primary" }, "Click Me"); + return button({ class: "btn-primary" }, "Click Me"); }; mount(BasicDemo, "#demo-basic"); ``` @@ -59,7 +59,7 @@ mount(BasicDemo, "#demo-basic"); const LoadingDemo = () => { const isSaving = $(false); - return Button( + return button( { class: "btn-success", disabled: isSaving, @@ -81,8 +81,8 @@ mount(LoadingDemo, "#demo-loading"); ```javascript const IconDemo = () => { - return Div({ class: "flex flex-wrap gap-2 justify-center" }, [ - Button({ class: "btn-primary" }, [Icon("icon-[lucide--x]"), "Favorite"]), + return div({ class: "flex flex-wrap gap-2 justify-center" }, [ + button({ class: "btn-primary" }, [Icon("icon-[lucide--x]"), "Favorite"]), ]); }; mount(IconDemo, "#demo-icon"); @@ -96,7 +96,7 @@ mount(IconDemo, "#demo-icon"); const BadgeDemo = () => { return Indicator( { value: "3", class: "badge-accent" }, - Button({ class: "btn-outline" }, "Notifications"), + button({ class: "btn-outline" }, "Notifications"), ); }; mount(BadgeDemo, "#demo-badge"); @@ -110,7 +110,7 @@ mount(BadgeDemo, "#demo-badge"); const TooltipDemo = () => { return Tooltip( { tip: "Delete item" }, - Button({ class: "btn-ghost" }, "Delete"), + button({ class: "btn-ghost" }, "Delete"), ); }; mount(TooltipDemo, "#demo-tooltip"); @@ -127,7 +127,7 @@ const CombinedDemo = () => { { tip: () => `${count()} likes` }, Indicator( { value: count, class: "badge-accent" }, - Button( + button( { class: "btn-primary btn-lg", onclick: () => count(count() + 1), @@ -146,13 +146,13 @@ mount(CombinedDemo, "#demo-combined"); ```javascript const VariantsDemo = () => { - return Div({ class: "flex flex-wrap gap-2 justify-center" }, [ - Button({ class: "btn-primary" }, "Primary"), - Button({ class: "btn-secondary" }, "Secondary"), - Button({ class: "btn-accent" }, "Accent"), - Button({ class: "btn-ghost" }, "Ghost"), - Button({ class: "btn-outline" }, "Outline"), - Button({ class: "btn-disabled" }, "Disabled"), + return div({ class: "flex flex-wrap gap-2 justify-center" }, [ + button({ class: "btn-primary" }, "Primary"), + button({ class: "btn-secondary" }, "Secondary"), + button({ class: "btn-accent" }, "Accent"), + button({ class: "btn-ghost" }, "Ghost"), + button({ class: "btn-outline" }, "Outline"), + button({ class: "btn-disabled" }, "Disabled"), ]); }; mount(VariantsDemo, "#demo-variants"); diff --git a/docs/components/checkbox.md b/docs/components/checkbox.md index 4e1ba70..c971da4 100644 --- a/docs/components/checkbox.md +++ b/docs/components/checkbox.md @@ -77,7 +77,7 @@ mount(BasicDemo, '#demo-basic'); const ToggleDemo = () => { const enabled = $(false); - return Div({ class: 'flex flex-col gap-4 w-full' }, [ + return div({ class: 'flex flex-col gap-4 w-full' }, [ Checkbox({ label: 'Enable notifications', value: enabled, @@ -85,8 +85,8 @@ const ToggleDemo = () => { onclick: () => enabled(!enabled()) }), () => enabled() - ? Div({ class: 'alert alert-success' }, 'Notifications are ON') - : Div({ class: 'alert alert-soft' }, 'Notifications are OFF') + ? div({ class: 'alert alert-success' }, 'Notifications are ON') + : div({ class: 'alert alert-soft' }, 'Notifications are OFF') ]); }; mount(ToggleDemo, '#demo-toggle'); @@ -103,7 +103,7 @@ mount(ToggleDemo, '#demo-toggle'); ```javascript const DisabledDemo = () => { - return Div({ class: 'flex flex-col gap-3' }, [ + return div({ class: 'flex flex-col gap-3' }, [ Checkbox({ label: 'Checked and disabled', value: true, @@ -148,13 +148,13 @@ const MultipleDemo = () => { selectAll(allSelected); }; - return Div({ class: 'flex flex-col gap-3' }, [ + return div({ class: 'flex flex-col gap-3' }, [ Checkbox({ label: 'Select all', value: selectAll, onclick: () => toggleAll(!selectAll()) }), - Div({ class: 'divider my-1' }), + div({ class: 'divider my-1' }), ...options.map(opt => Checkbox({ label: opt.label, value: opt.selected, @@ -163,7 +163,7 @@ const MultipleDemo = () => { updateSelectAll(); } })), - Div({ class: 'mt-2 text-sm opacity-70' }, () => { + div({ class: 'mt-2 text-sm opacity-70' }, () => { const count = options.filter(opt => opt.selected()).length; return `${count} of ${options.length} selected`; }) @@ -213,8 +213,8 @@ const VariantsDemo = () => { const variant2 = $(false); const variant3 = $(true); - return Div({ class: 'flex flex-col gap-3' }, [ - Div({ class: 'flex items-center gap-4' }, [ + return div({ class: 'flex flex-col gap-3' }, [ + div({ class: 'flex items-center gap-4' }, [ Checkbox({ label: 'Primary', value: variant1, @@ -228,7 +228,7 @@ const VariantsDemo = () => { onclick: () => variant2(!variant2()) }) ]), - Div({ class: 'flex items-center gap-4' }, [ + div({ class: 'flex items-center gap-4' }, [ Checkbox({ label: 'Accent', value: variant3, @@ -262,14 +262,14 @@ const FormDemo = () => { const weekly = $(false); const monthly = $(true); - return Div({ class: 'flex flex-col gap-4' }, [ - Div({ class: 'text-sm font-bold' }, 'Newsletter preferences'), + return div({ class: 'flex flex-col gap-4' }, [ + div({ class: 'text-sm font-bold' }, 'Newsletter preferences'), Checkbox({ label: 'Subscribe to newsletter', value: subscribe, onclick: () => subscribe(!subscribe()) }), - () => subscribe() ? Div({ class: 'ml-6 flex flex-col gap-2' }, [ + () => subscribe() ? div({ class: 'ml-6 flex flex-col gap-2' }, [ Checkbox({ label: 'Weekly updates', value: weekly, @@ -282,9 +282,9 @@ const FormDemo = () => { }) ]) : null, () => subscribe() && (weekly() || monthly()) - ? Div({ class: 'alert alert-success text-sm mt-2' }, 'You will receive updates!') + ? div({ class: 'alert alert-success text-sm mt-2' }, 'You will receive updates!') : subscribe() - ? Div({ class: 'alert alert-warning text-sm mt-2' }, 'Select at least one frequency') + ? div({ class: 'alert alert-warning text-sm mt-2' }, 'Select at least one frequency') : null ]); }; diff --git a/docs/components/colorpicker.md b/docs/components/colorpicker.md index e2515d4..d9ac017 100644 --- a/docs/components/colorpicker.md +++ b/docs/components/colorpicker.md @@ -61,16 +61,16 @@ mount(BasicDemo, '#demo-basic'); const PreviewDemo = () => { const color = $('#10b981'); - return Div({ class: 'flex flex-col gap-4 w-full' }, [ + return div({ class: 'flex flex-col gap-4 w-full' }, [ Colorpicker({ label: 'Choose color', value: color }), - Div({ + div({ class: 'w-full h-20 rounded-lg shadow-inner transition-all duration-200 flex items-center justify-center', style: () => `background-color: ${color()}` }, [ - Div({ class: 'text-center font-mono text-sm bg-black/20 px-2 py-1 rounded' }, () => color()) + div({ class: 'text-center font-mono text-sm bg-black/20 px-2 py-1 rounded' }, () => color()) ]) ]); }; @@ -96,20 +96,20 @@ const PaletteDemo = () => { '#ec489a', '#f43f5e', '#6b7280', '#1f2937' ]; - return Div({ class: 'flex flex-col gap-4' }, [ + return div({ class: 'flex flex-col gap-4' }, [ Colorpicker({ label: 'Custom color', value: selectedColor }), - Div({ class: 'divider text-xs' }, 'Or choose from palette'), - Div({ class: 'grid grid-cols-8 gap-2' }, presets.map(color => - Button({ + div({ class: 'divider text-xs' }, 'Or choose from palette'), + div({ class: 'grid grid-cols-8 gap-2' }, presets.map(color => + button({ class: `w-8 h-8 rounded-lg shadow-sm transition-transform hover:scale-110`, style: `background-color: ${color}`, onclick: () => selectedColor(color) }) )), - Div({ class: 'mt-2 text-center text-sm font-mono' }, () => selectedColor()) + div({ class: 'mt-2 text-center text-sm font-mono' }, () => selectedColor()) ]); }; mount(PaletteDemo, '#demo-palette'); @@ -129,8 +129,8 @@ const TextDemo = () => { const bgColor = $('#1e293b'); const textColor = $('#f8fafc'); - return Div({ class: 'flex flex-col gap-4 w-full' }, [ - Div({ class: 'flex gap-4' }, [ + return div({ class: 'flex flex-col gap-4 w-full' }, [ + div({ class: 'flex gap-4' }, [ Colorpicker({ label: 'Background', value: bgColor @@ -140,7 +140,7 @@ const TextDemo = () => { value: textColor }) ]), - Div({ + div({ class: 'p-6 rounded-lg text-center font-bold transition-all duration-200', style: () => `background-color: ${bgColor()}; color: ${textColor()}` }, [ @@ -162,7 +162,7 @@ mount(TextDemo, '#demo-text'); ```javascript const VariantsDemo = () => { - return Div({ class: 'flex flex-wrap gap-4 items-center' }, [ + return div({ class: 'flex flex-wrap gap-4 items-center' }, [ Colorpicker({ label: 'Primary', value: $('#3b82f6') @@ -199,22 +199,22 @@ const DynamicDemo = () => { const secondary = $('#ef4444'); const accent = $('#10b981'); - return Div({ class: 'flex flex-col gap-4 w-full' }, [ - Div({ class: 'flex flex-wrap gap-4' }, [ + return div({ class: 'flex flex-col gap-4 w-full' }, [ + div({ class: 'flex flex-wrap gap-4' }, [ Colorpicker({ label: 'Primary', value: primary }), Colorpicker({ label: 'Secondary', value: secondary }), Colorpicker({ label: 'Accent', value: accent }) ]), - Div({ class: 'grid grid-cols-3 gap-2 mt-2' }, [ - Div({ + div({ class: 'grid grid-cols-3 gap-2 mt-2' }, [ + div({ class: 'h-12 rounded-lg shadow-sm flex items-center justify-center text-xs font-bold text-white', style: () => `background-color: ${primary()}` }, 'Primary'), - Div({ + div({ class: 'h-12 rounded-lg shadow-sm flex items-center justify-center text-xs font-bold text-white', style: () => `background-color: ${secondary()}` }, 'Secondary'), - Div({ + div({ class: 'h-12 rounded-lg shadow-sm flex items-center justify-center text-xs font-bold text-white', style: () => `background-color: ${accent()}` }, 'Accent') diff --git a/docs/components/datepicker.md b/docs/components/datepicker.md index cbb44da..f5753be 100644 --- a/docs/components/datepicker.md +++ b/docs/components/datepicker.md @@ -40,7 +40,7 @@ Datepicker wraps a **daisyUI Input component** internally. All Input styling cla -```javascript +```js const BasicDemo = () => { const date = $(''); @@ -66,14 +66,14 @@ mount(BasicDemo, '#demo-basic'); const RangeDemo = () => { const range = $({ start: '', end: '' }); - return Div({ class: 'flex flex-col gap-4 w-full' }, [ + return div({ class: 'flex flex-col gap-4 w-full' }, [ Datepicker({ label: 'Date range', value: range, range: true, placeholder: 'Select start and end date...' }), - () => range().start && range().end ? Div({ class: 'alert alert-success' }, [ + () => range().start && range().end ? div({ class: 'alert alert-success' }, [ `Selected: ${range().start} → ${range().end}` ]) : null ]); @@ -94,14 +94,14 @@ mount(RangeDemo, '#demo-range'); const TimeDemo = () => { const datetime = $(''); - return Div({ class: 'flex flex-col gap-4 w-full' }, [ + return div({ class: 'flex flex-col gap-4 w-full' }, [ Datepicker({ label: 'Select date and time', value: datetime, hour: true, placeholder: 'Choose date and time...' }), - () => datetime() ? Div({ class: 'alert alert-info' }, [ + () => datetime() ? div({ class: 'alert alert-info' }, [ `Selected: ${datetime()}` ]) : null ]); @@ -122,7 +122,7 @@ mount(TimeDemo, '#demo-time'); const RangeTimeDemo = () => { const range = $({ start: '', end: '', startHour: 9, endHour: 17 }); - return Div({ class: 'flex flex-col gap-4 w-full' }, [ + return div({ class: 'flex flex-col gap-4 w-full' }, [ Datepicker({ label: 'Schedule range', value: range, @@ -130,7 +130,7 @@ const RangeTimeDemo = () => { hour: true, placeholder: 'Select date and time range...' }), - () => range().start && range().end ? Div({ class: 'alert alert-primary' }, [ + () => range().start && range().end ? div({ class: 'alert alert-primary' }, [ `From ${range().start} ${range().startHour || 9}:00 to ${range().end} ${range().endHour || 17}:00` ]) : null ]); @@ -152,17 +152,17 @@ const ReactiveDemo = () => { const date = $(''); const today = new Date().toISOString().split('T')[0]; - return Div({ class: 'flex flex-col gap-4 w-full' }, [ + return div({ class: 'flex flex-col gap-4 w-full' }, [ Datepicker({ label: 'Select date', value: date, placeholder: 'Choose a date...' }), - Div({ class: 'stats shadow' }, [ - Div({ class: 'stat' }, [ - Div({ class: 'stat-title' }, 'Selected date'), - Div({ class: 'stat-value text-sm' }, () => date() || 'Not selected'), - Div({ class: 'stat-desc' }, () => date() === today ? 'Today' : '') + div({ class: 'stats shadow' }, [ + div({ class: 'stat' }, [ + div({ class: 'stat-title' }, 'Selected date'), + div({ class: 'stat-value text-sm' }, () => date() || 'Not selected'), + div({ class: 'stat-desc' }, () => date() === today ? 'Today' : '') ]) ]) ]); @@ -181,7 +181,7 @@ mount(ReactiveDemo, '#demo-reactive'); ```javascript const VariantsDemo = () => { - return Div({ class: 'flex flex-col gap-4' }, [ + return div({ class: 'flex flex-col gap-4' }, [ Datepicker({ label: 'Single date', value: $('2024-12-25'), diff --git a/docs/components/drawer.md b/docs/components/drawer.md index 2a321e3..0aedabe 100644 --- a/docs/components/drawer.md +++ b/docs/components/drawer.md @@ -45,16 +45,16 @@ const BasicDemo = () => { return Drawer({ id: 'basic-drawer', open: isOpen, - side: Div({ class: 'p-4' }, [ - Div({ class: 'text-lg font-bold mb-4' }, 'Menu'), - Div({ class: 'flex flex-col gap-2' }, [ - Button({ class: 'btn btn-ghost justify-start' }, 'Home'), - Button({ class: 'btn btn-ghost justify-start' }, 'About'), - Button({ class: 'btn btn-ghost justify-start' }, 'Contact') + side: div({ class: 'p-4' }, [ + div({ class: 'text-lg font-bold mb-4' }, 'Menu'), + div({ class: 'flex flex-col gap-2' }, [ + button({ class: 'btn btn-ghost justify-start' }, 'Home'), + button({ class: 'btn btn-ghost justify-start' }, 'About'), + button({ class: 'btn btn-ghost justify-start' }, 'Contact') ]) ]), - content: Div({ class: 'p-4 text-center' }, [ - Button({ + content: div({ class: 'p-4 text-center' }, [ + button({ class: 'btn btn-primary', onclick: () => isOpen(true) }, 'Open Drawer') @@ -88,31 +88,31 @@ const NavDrawer = () => { return Drawer({ id: 'nav-drawer', open: isOpen, - side: Div({ class: 'p-4 w-64' }, [ - Div({ class: 'text-xl font-bold mb-6' }, 'MyApp'), - Div({ class: 'flex flex-col gap-1' }, [ - Button({ + side: div({ class: 'p-4 w-64' }, [ + div({ class: 'text-xl font-bold mb-6' }, 'MyApp'), + div({ class: 'flex flex-col gap-1' }, [ + button({ class: `btn btn-ghost justify-start ${activePage() === 'home' ? 'btn-active' : ''}`, onclick: () => { activePage('home'); isOpen(false); } }, '🏠 Home'), - Button({ + button({ class: `btn btn-ghost justify-start ${activePage() === 'about' ? 'btn-active' : ''}`, onclick: () => { activePage('about'); isOpen(false); } }, 'ℹ️ About'), - Button({ + button({ class: `btn btn-ghost justify-start ${activePage() === 'services' ? 'btn-active' : ''}`, onclick: () => { activePage('services'); isOpen(false); } }, '⚙️ Services'), - Button({ + button({ class: `btn btn-ghost justify-start ${activePage() === 'contact' ? 'btn-active' : ''}`, onclick: () => { activePage('contact'); @@ -121,18 +121,18 @@ const NavDrawer = () => { }, '📧 Contact') ]) ]), - content: Div({ class: 'p-4' }, [ - Div({ class: 'flex justify-between items-center mb-4' }, [ - Button({ + content: div({ class: 'p-4' }, [ + div({ class: 'flex justify-between items-center mb-4' }, [ + button({ class: 'btn btn-ghost btn-circle', onclick: () => isOpen(true) }, '☰'), - Span({ class: 'text-lg font-bold' }, 'MyApp') + span({ class: 'text-lg font-bold' }, 'MyApp') ]), - Div({ class: 'card bg-base-200 shadow-lg' }, [ - Div({ class: 'card-body' }, [ - Div({ class: 'text-2xl font-bold mb-2' }, () => activePage().charAt(0).toUpperCase() + activePage().slice(1)), - Div({ class: 'text-lg' }, () => pages[activePage()]) + div({ class: 'card bg-base-200 shadow-lg' }, [ + div({ class: 'card-body' }, [ + div({ class: 'text-2xl font-bold mb-2' }, () => activePage().charAt(0).toUpperCase() + activePage().slice(1)), + div({ class: 'text-lg' }, () => pages[activePage()]) ]) ]) ]) @@ -160,17 +160,17 @@ const SettingsDrawer = () => { return Drawer({ id: 'settings-drawer', open: isOpen, - side: Div({ class: 'p-4 w-80' }, [ - Div({ class: 'flex justify-between items-center mb-6' }, [ - Span({ class: 'text-xl font-bold' }, 'Settings'), - Button({ + side: div({ class: 'p-4 w-80' }, [ + div({ class: 'flex justify-between items-center mb-6' }, [ + span({ class: 'text-xl font-bold' }, 'Settings'), + button({ class: 'btn btn-ghost btn-circle btn-sm', onclick: () => isOpen(false) }, '✕') ]), - Div({ class: 'flex flex-col gap-4' }, [ - Div({ class: 'flex justify-between items-center' }, [ - Span({}, 'Dark Mode'), + div({ class: 'flex flex-col gap-4' }, [ + div({ class: 'flex justify-between items-center' }, [ + span({}, 'Dark Mode'), Swap({ value: darkMode, on: "🌙", @@ -178,8 +178,8 @@ const SettingsDrawer = () => { onclick: () => darkMode(!darkMode()) }) ]), - Div({ class: 'flex justify-between items-center' }, [ - Span({}, 'Notifications'), + div({ class: 'flex justify-between items-center' }, [ + span({}, 'Notifications'), Swap({ value: notifications, on: "🔔", @@ -187,8 +187,8 @@ const SettingsDrawer = () => { onclick: () => notifications(!notifications()) }) ]), - Div({ class: 'flex justify-between items-center' }, [ - Span({}, 'Auto Save'), + div({ class: 'flex justify-between items-center' }, [ + span({}, 'Auto Save'), Swap({ value: autoSave, on: "✅", @@ -197,37 +197,37 @@ const SettingsDrawer = () => { }) ]) ]), - Div({ class: 'divider my-4' }), - Div({ class: 'flex gap-2' }, [ - Button({ + div({ class: 'divider my-4' }), + div({ class: 'flex gap-2' }, [ + button({ class: 'btn btn-primary flex-1', onclick: () => { isOpen(false); Toast('Settings saved!', 'alert-success', 2000); } }, 'Save'), - Button({ + button({ class: 'btn btn-ghost flex-1', onclick: () => isOpen(false) }, 'Cancel') ]) ]), - content: Div({ class: 'p-4' }, [ - Div({ class: 'flex justify-between items-center' }, [ - Span({ class: 'text-lg font-bold' }, 'Dashboard'), - Button({ + content: div({ class: 'p-4' }, [ + div({ class: 'flex justify-between items-center' }, [ + span({ class: 'text-lg font-bold' }, 'Dashboard'), + button({ class: 'btn btn-ghost btn-circle', onclick: () => isOpen(true) }, '⚙️') ]), - Div({ class: 'mt-4 grid grid-cols-2 gap-4' }, [ - Div({ class: 'stat bg-base-200 rounded-lg p-4' }, [ - Div({ class: 'stat-title' }, 'Users'), - Div({ class: 'stat-value' }, '1,234') + div({ class: 'mt-4 grid grid-cols-2 gap-4' }, [ + div({ class: 'stat bg-base-200 rounded-lg p-4' }, [ + div({ class: 'stat-title' }, 'Users'), + div({ class: 'stat-value' }, '1,234') ]), - Div({ class: 'stat bg-base-200 rounded-lg p-4' }, [ - Div({ class: 'stat-title' }, 'Revenue'), - Div({ class: 'stat-value' }, '$45K') + div({ class: 'stat bg-base-200 rounded-lg p-4' }, [ + div({ class: 'stat-title' }, 'Revenue'), + div({ class: 'stat-value' }, '$45K') ]) ]) ]) @@ -268,70 +268,70 @@ const CartDrawer = () => { return Drawer({ id: 'cart-drawer', open: isOpen, - side: Div({ class: 'flex flex-col h-full' }, [ - Div({ class: 'p-4 border-b border-base-300' }, [ - Div({ class: 'flex justify-between items-center' }, [ - Span({ class: 'text-xl font-bold' }, `Cart (${cart().length} items)`), - Button({ + side: div({ class: 'flex flex-col h-full' }, [ + div({ class: 'p-4 border-b border-base-300' }, [ + div({ class: 'flex justify-between items-center' }, [ + span({ class: 'text-xl font-bold' }, `Cart (${cart().length} items)`), + button({ class: 'btn btn-ghost btn-circle btn-sm', onclick: () => isOpen(false) - }, Span('✕')) + }, span('✕')) ]) ]), - Div({ class: 'flex-1 overflow-y-auto p-4' }, cart().length === 0 - ? Div({ class: 'text-center text-gray-500 mt-8' }, 'Your cart is empty') - : Div({ class: 'flex flex-col gap-3' }, cart().map(item => - Div({ class: 'flex gap-3 items-center p-2 bg-base-200 rounded-lg' }, [ - Div({ class: 'flex-1' }, [ - Div({ class: 'font-medium' }, item.name), - Div({ class: 'text-sm' }, `$${item.price} each`) + div({ class: 'flex-1 overflow-y-auto p-4' }, cart().length === 0 + ? div({ class: 'text-center text-gray-500 mt-8' }, 'Your cart is empty') + : div({ class: 'flex flex-col gap-3' }, cart().map(item => + div({ class: 'flex gap-3 items-center p-2 bg-base-200 rounded-lg' }, [ + div({ class: 'flex-1' }, [ + div({ class: 'font-medium' }, item.name), + div({ class: 'text-sm' }, `$${item.price} each`) ]), - Div({ class: 'flex items-center gap-2' }, [ - Button({ + div({ class: 'flex items-center gap-2' }, [ + button({ class: 'btn btn-xs btn-circle', onclick: () => updateQuantity(item.id, -1) - }, Span('-')), - Span({ class: 'w-8 text-center' }, item.quantity), - Button({ + }, span('-')), + span({ class: 'w-8 text-center' }, item.quantity), + button({ class: 'btn btn-xs btn-circle', onclick: () => updateQuantity(item.id, 1) - }, Span('+')) + }, span('+')) ]), - Span({ class: 'font-bold w-16 text-right' }, `$${item.price * item.quantity}`) + span({ class: 'font-bold w-16 text-right' }, `$${item.price * item.quantity}`) ]) )) ), - Div({ class: 'p-4 border-t border-base-300' }, [ - Div({ class: 'flex justify-between items-center mb-4' }, [ - Span({ class: 'font-bold' }, 'Total'), - Span({ class: 'text-xl font-bold' }, () => `$${total()}`) + div({ class: 'p-4 border-t border-base-300' }, [ + div({ class: 'flex justify-between items-center mb-4' }, [ + span({ class: 'font-bold' }, 'Total'), + span({ class: 'text-xl font-bold' }, () => `$${total()}`) ]), - Button({ + button({ class: 'btn btn-primary w-full', onclick: () => { isOpen(false); Toast('Checkout initiated!', 'alert-success', 2000); }, disabled: () => cart().length === 0 - }, Span('Checkout')) + }, span('Checkout')) ]) ]), - content: Div({ class: 'p-4' }, [ - Div({ class: 'flex justify-between items-center' }, [ - Span({ class: 'text-lg font-bold' }, 'Store'), - Button({ + content: div({ class: 'p-4' }, [ + div({ class: 'flex justify-between items-center' }, [ + span({ class: 'text-lg font-bold' }, 'Store'), + button({ class: 'btn btn-primary', onclick: () => isOpen(true) - }, Span({ class: 'flex items-center gap-2' }, [Span('🛒'), Span(`Cart (${cart().length})`)])) + }, span({ class: 'flex items-center gap-2' }, [span('🛒'), span(`Cart (${cart().length})`)])) ]), - Div({ class: 'mt-4 grid grid-cols-2 gap-4' }, [ - Button({ + div({ class: 'mt-4 grid grid-cols-2 gap-4' }, [ + button({ class: 'btn btn-outline h-32 flex flex-col', onclick: () => { cart([...cart(), { id: Date.now(), name: 'New Product', price: 39, quantity: 1 }]); Toast('Added to cart!', 'alert-success', 1500); } - }, Span({ class: 'flex flex-col items-center gap-1' }, [Span('📦'), Span('Add to Cart')])) + }, span({ class: 'flex flex-col items-center gap-1' }, [span('📦'), span('Add to Cart')])) ]) ]) }); @@ -353,22 +353,22 @@ const ResponsiveDrawer = () => { const isOpen = $(false); const activePage = $('home'); - const MenuItems = () => Div({ class: 'flex flex-col gap-1 p-4' }, [ - Button({ + const MenuItems = () => div({ class: 'flex flex-col gap-1 p-4' }, [ + button({ class: `btn btn-ghost justify-start ${activePage() === 'home' ? 'btn-active' : ''}`, onclick: () => { activePage('home'); if (window.innerWidth < 1024) isOpen(false); } }, '🏠 Home'), - Button({ + button({ class: `btn btn-ghost justify-start ${activePage() === 'analytics' ? 'btn-active' : ''}`, onclick: () => { activePage('analytics'); if (window.innerWidth < 1024) isOpen(false); } }, '📊 Analytics'), - Button({ + button({ class: `btn btn-ghost justify-start ${activePage() === 'settings' ? 'btn-active' : ''}`, onclick: () => { activePage('settings'); @@ -380,24 +380,24 @@ const ResponsiveDrawer = () => { return Drawer({ id: 'responsive-drawer', open: isOpen, - side: Div({ class: 'w-64' }, [ - Div({ class: 'text-xl font-bold p-4 border-b border-base-300' }, 'Menu'), + side: div({ class: 'w-64' }, [ + div({ class: 'text-xl font-bold p-4 border-b border-base-300' }, 'Menu'), MenuItems() ]), - content: Div({ class: 'flex' }, [ - Div({ class: 'hidden lg:block w-64 border-r border-base-300' }, [MenuItems()]), - Div({ class: 'flex-1 p-4' }, [ - Div({ class: 'flex justify-between items-center lg:hidden mb-4' }, [ - Button({ + content: div({ class: 'flex' }, [ + div({ class: 'hidden lg:block w-64 border-r border-base-300' }, [MenuItems()]), + div({ class: 'flex-1 p-4' }, [ + div({ class: 'flex justify-between items-center lg:hidden mb-4' }, [ + button({ class: 'btn btn-ghost btn-circle', onclick: () => isOpen(true) }, '☰'), - Span({ class: 'text-lg font-bold' }, 'MyApp') + span({ class: 'text-lg font-bold' }, 'MyApp') ]), - Div({ class: 'card bg-base-200' }, [ - Div({ class: 'card-body' }, [ - Div({ class: 'text-2xl font-bold' }, () => activePage().charAt(0).toUpperCase() + activePage().slice(1)), - Div({}, 'Content area. On desktop, the menu is always visible on the left.') + div({ class: 'card bg-base-200' }, [ + div({ class: 'card-body' }, [ + div({ class: 'text-2xl font-bold' }, () => activePage().charAt(0).toUpperCase() + activePage().slice(1)), + div({}, 'Content area. On desktop, the menu is always visible on the left.') ]) ]) ]) @@ -438,30 +438,30 @@ const FormDrawer = () => { return Drawer({ id: 'form-drawer', open: isOpen, - side: Div({ class: 'p-4 w-96' }, [ - Div({ class: 'flex justify-between items-center mb-4' }, [ - Span({ class: 'text-xl font-bold' }, 'Contact Us'), - Button({ + side: div({ class: 'p-4 w-96' }, [ + div({ class: 'flex justify-between items-center mb-4' }, [ + span({ class: 'text-xl font-bold' }, 'Contact Us'), + button({ class: 'btn btn-ghost btn-circle btn-sm', onclick: () => isOpen(false) }, '✕') ]), - Div({ class: 'flex flex-col gap-4' }, [ - Input({ + div({ class: 'flex flex-col gap-4' }, [ + input({ label: 'Name', value: name, placeholder: 'Your name', oninput: (e) => name(e.target.value) }), - Input({ + input({ label: 'Email', type: 'email', value: email, placeholder: 'your@email.com', oninput: (e) => email(e.target.value) }), - Div({ class: 'form-control' }, [ - Span({ class: 'label-text mb-1' }, 'Message'), + div({ class: 'form-control' }, [ + span({ class: 'label-text mb-1' }, 'Message'), h('textarea', { class: 'textarea textarea-bordered h-24', placeholder: 'Your message', @@ -469,20 +469,20 @@ const FormDrawer = () => { oninput: (e) => message(e.target.value) }) ]), - Div({ class: 'flex gap-2 mt-2' }, [ - Button({ + div({ class: 'flex gap-2 mt-2' }, [ + button({ class: 'btn btn-primary flex-1', onclick: handleSubmit }, 'Send'), - Button({ + button({ class: 'btn btn-ghost flex-1', onclick: () => isOpen(false) }, 'Cancel') ]) ]) ]), - content: Div({ class: 'p-4 text-center' }, [ - Button({ + content: div({ class: 'p-4 text-center' }, [ + button({ class: 'btn btn-primary', onclick: () => isOpen(true) }, 'Contact Us') diff --git a/docs/components/dropdown.md b/docs/components/dropdown.md index 106e473..6cdc059 100644 --- a/docs/components/dropdown.md +++ b/docs/components/dropdown.md @@ -139,9 +139,9 @@ mount(ActionsDemo, '#demo-actions'); ```javascript const UserDropdown = () => { return Dropdown({ - label: Span({ class: 'flex items-center gap-2' }, [ - Div({ class: 'avatar placeholder' }, [ - Div({ class: 'bg-primary text-primary-content rounded-full w-8 h-8 flex items-center justify-center text-sm' }, 'JD') + label: span({ class: 'flex items-center gap-2' }, [ + div({ class: 'avatar placeholder' }, [ + div({ class: 'bg-primary text-primary-content rounded-full w-8 h-8 flex items-center justify-center text-sm' }, 'JD') ]), 'John Doe' ]), @@ -209,15 +209,15 @@ const NotificationsDropdown = () => { }; return Dropdown({ - label: Span({ class: 'relative' }, [ + label: span({ class: 'relative' }, [ '🔔', - () => unreadCount() > 0 ? Span({ class: 'badge badge-xs badge-error absolute -top-1 -right-2' }, unreadCount()) : null + () => unreadCount() > 0 ? span({ class: 'badge badge-xs badge-error absolute -top-1 -right-2' }, unreadCount()) : null ]), class: 'dropdown-end', items: () => notifications().map(notif => ({ - label: Div({ class: 'flex flex-col' }, [ - Span({ class: 'font-medium' }, notif.title), - Span({ class: 'text-xs opacity-60' }, notif.time) + label: div({ class: 'flex flex-col' }, [ + span({ class: 'font-medium' }, notif.title), + span({ class: 'text-xs opacity-60' }, notif.time) ]), class: notif.read ? '' : 'bg-primary/5', onclick: () => markAsRead(notif.id) @@ -245,7 +245,7 @@ const VariantsDemo = () => { { label: 'Item 3', onclick: () => Toast('Item 3', 'alert-info', 2000) } ]; - return Div({ class: 'flex flex-wrap gap-4 justify-center' }, [ + return div({ class: 'flex flex-wrap gap-4 justify-center' }, [ Dropdown({ label: 'Default', items: commonItems }), Dropdown({ label: 'With Icon', icon: '☰', items: commonItems }), Dropdown({ label: 'End Position', class: 'dropdown-end', items: commonItems }) diff --git a/docs/components/fab.md b/docs/components/fab.md index 6b73a97..a07c44a 100644 --- a/docs/components/fab.md +++ b/docs/components/fab.md @@ -64,7 +64,7 @@ Fab({ ```javascript const BasicDemo = () => { - return Div({ class: 'relative h-[300px] w-full bg-base-100 rounded-lg overflow-hidden' }, [ + return div({ class: 'relative h-[300px] w-full bg-base-100 rounded-lg overflow-hidden' }, [ Fab({ icon: '➕', actions: [ @@ -89,7 +89,7 @@ mount(BasicDemo, '#demo-basic'); ```javascript const LabelDemo = () => { - return Div({ class: 'relative h-[300px] w-full bg-base-100 rounded-lg overflow-hidden' }, [ + return div({ class: 'relative h-[300px] w-full bg-base-100 rounded-lg overflow-hidden' }, [ Fab({ label: 'Create', icon: '✨', @@ -117,9 +117,9 @@ mount(LabelDemo, '#demo-label'); const PositionsDemo = () => { const position = $('bottom-6 right-6'); - return Div({ class: 'relative h-[500px] w-full bg-base-100 rounded-lg overflow-hidden' }, [ - Div({ class: 'absolute top-4 left-4 z-20 bg-base-200 p-2 rounded-lg shadow' }, [ - Select({ + return div({ class: 'relative h-[500px] w-full bg-base-100 rounded-lg overflow-hidden' }, [ + div({ class: 'absolute top-4 left-4 z-20 bg-base-200 p-2 rounded-lg shadow' }, [ + select({ items: [ { value: 'bottom-6 right-6', label: 'Bottom Right' }, { value: 'bottom-6 left-6', label: 'Bottom Left' }, @@ -130,7 +130,7 @@ const PositionsDemo = () => { onchange: (e) => position(e.target.value) }) ]), - Div({ class: 'absolute inset-0 flex items-center justify-center text-sm opacity-50 pointer-events-none' }, [ + div({ class: 'absolute inset-0 flex items-center justify-center text-sm opacity-50 pointer-events-none' }, [ 'FAB position changes relative to this container' ]), Fab({ @@ -171,9 +171,9 @@ const ColorsDemo = () => { error: { class: 'btn-error', icon: '🔴' } }; - return Div({ class: 'relative h-[300px] w-full bg-base-100 rounded-lg overflow-hidden' }, [ - Div({ class: 'absolute top-4 left-4 z-20 bg-base-200 p-2 rounded-lg shadow' }, [ - Select({ + return div({ class: 'relative h-[300px] w-full bg-base-100 rounded-lg overflow-hidden' }, [ + div({ class: 'absolute top-4 left-4 z-20 bg-base-200 p-2 rounded-lg shadow' }, [ + select({ items: Object.keys(variants).map(v => ({ value: v, label: v.charAt(0).toUpperCase() + v.slice(1) })), value: variant, onchange: (e) => variant(e.target.value) @@ -229,7 +229,7 @@ const ReactiveActions = () => { } ]; - return Div({ class: 'relative h-[300px] w-full bg-base-100 rounded-lg overflow-hidden' }, [ + return div({ class: 'relative h-[300px] w-full bg-base-100 rounded-lg overflow-hidden' }, [ Fab({ icon: () => count() > 0 ? `🔢 ${count()}` : '🎛️', actions: actions @@ -258,11 +258,11 @@ const DocumentActions = () => { setTimeout(() => saved(false), 3000); }; - return Div({ class: 'relative h-[300px] w-full bg-base-100 rounded-lg overflow-hidden' }, [ - Div({ class: 'absolute inset-0 flex flex-col items-center justify-center' }, [ - Div({ class: 'text-6xl mb-4' }, '📄'), - Div({ class: 'text-sm opacity-70' }, 'Untitled Document'), - () => saved() ? Div({ class: 'mt-4' }, Alert({ type: 'success', message: '✓ Saved successfully' })) : null + return div({ class: 'relative h-[300px] w-full bg-base-100 rounded-lg overflow-hidden' }, [ + div({ class: 'absolute inset-0 flex flex-col items-center justify-center' }, [ + div({ class: 'text-6xl mb-4' }, '📄'), + div({ class: 'text-sm opacity-70' }, 'Untitled Document'), + () => saved() ? div({ class: 'mt-4' }, Alert({ type: 'success', message: '✓ Saved successfully' })) : null ]), Fab({ icon: '✏️', @@ -291,11 +291,11 @@ mount(DocumentActions, '#demo-document'); const MessagingFAB = () => { const unread = $(3); - return Div({ class: 'relative h-[300px] w-full bg-base-100 rounded-lg overflow-hidden' }, [ - Div({ class: 'absolute inset-0 flex flex-col items-center justify-center' }, [ - Div({ class: 'text-6xl mb-4' }, '💬'), - Div({ class: 'text-sm opacity-70' }, 'Messages'), - () => unread() > 0 ? Div({ class: 'badge badge-error mt-2' }, `${unread()} unread`) : null + return div({ class: 'relative h-[300px] w-full bg-base-100 rounded-lg overflow-hidden' }, [ + div({ class: 'absolute inset-0 flex flex-col items-center justify-center' }, [ + div({ class: 'text-6xl mb-4' }, '💬'), + div({ class: 'text-sm opacity-70' }, 'Messages'), + () => unread() > 0 ? div({ class: 'badge badge-error mt-2' }, `${unread()} unread`) : null ]), Fab({ icon: () => `💬${unread() > 0 ? ` ${unread()}` : ''}`, @@ -353,22 +353,22 @@ const VariantsDemo = () => { { icon: '📅', label: 'Schedule', onclick: () => Toast('Scheduled', 'alert-info', 2000) } ]; - return Div({ class: 'relative h-[400px] w-full bg-base-100 rounded-lg overflow-hidden' }, [ - Div({ class: 'grid grid-cols-2 gap-4 p-4 h-full' }, [ - Div({ class: 'relative border rounded-lg bg-base-200' }, [ - Span({ class: 'absolute top-2 left-2 text-xs opacity-50' }, 'Primary'), + return div({ class: 'relative h-[400px] w-full bg-base-100 rounded-lg overflow-hidden' }, [ + div({ class: 'grid grid-cols-2 gap-4 p-4 h-full' }, [ + div({ class: 'relative border rounded-lg bg-base-200' }, [ + span({ class: 'absolute top-2 left-2 text-xs opacity-50' }, 'Primary'), Fab({ icon: '🔵', class: 'btn-primary', actions, position: 'bottom-6 left-6' }) ]), - Div({ class: 'relative border rounded-lg bg-base-200' }, [ - Span({ class: 'absolute top-2 left-2 text-xs opacity-50' }, 'Secondary'), + div({ class: 'relative border rounded-lg bg-base-200' }, [ + span({ class: 'absolute top-2 left-2 text-xs opacity-50' }, 'Secondary'), Fab({ icon: '🟣', class: 'btn-secondary', actions, position: 'bottom-6 right-6' }) ]), - Div({ class: 'relative border rounded-lg bg-base-200' }, [ - Span({ class: 'absolute top-2 left-2 text-xs opacity-50' }, 'Accent'), + div({ class: 'relative border rounded-lg bg-base-200' }, [ + span({ class: 'absolute top-2 left-2 text-xs opacity-50' }, 'Accent'), Fab({ icon: '🔴', class: 'btn-accent', actions, position: 'top-6 left-6' }) ]), - Div({ class: 'relative border rounded-lg bg-base-200' }, [ - Span({ class: 'absolute top-2 left-2 text-xs opacity-50' }, 'Success'), + div({ class: 'relative border rounded-lg bg-base-200' }, [ + span({ class: 'absolute top-2 left-2 text-xs opacity-50' }, 'Success'), Fab({ icon: '🟢', class: 'btn-success', actions, position: 'top-6 right-6' }) ]) ]) diff --git a/docs/components/fieldset.md b/docs/components/fieldset.md index 8259258..5b948b5 100644 --- a/docs/components/fieldset.md +++ b/docs/components/fieldset.md @@ -33,8 +33,8 @@ Fieldset({ legend: "Personal Information", class: "fieldset-primary w-full max-w-md" }, [ - Input({ label: "Name", placeholder: "Enter your name" }), - Input({ label: "Email", type: "email" }) + input({ label: "Name", placeholder: "Enter your name" }), + input({ label: "Email", type: "email" }) ]); ``` @@ -51,14 +51,14 @@ Fieldset({ ```javascript const BasicDemo = () => { - return Fieldset({ + return fieldset({ legend: 'User Information', class: 'w-full max-w-md mx-auto' }, [ - Div({ class: 'space-y-4' }, [ - Input({ label: 'Full Name', placeholder: 'Enter your name' }), - Input({ label: 'Email', type: 'email', placeholder: 'user@example.com' }), - Input({ label: 'Phone', type: 'tel', placeholder: '+1 234 567 890' }) + div({ class: 'space-y-4' }, [ + input({ label: 'Full Name', placeholder: 'Enter your name' }), + input({ label: 'Email', type: 'email', placeholder: 'user@example.com' }), + input({ label: 'Phone', type: 'tel', placeholder: '+1 234 567 890' }) ]) ]); }; @@ -80,18 +80,18 @@ const ReactiveDemo = () => { const email = $(''); const isValid = () => name().length > 0 && email().includes('@'); - return Fieldset({ + return fieldset({ legend: () => isValid() ? '✓ Valid Form' : '✗ Incomplete Form', class: 'w-full max-w-md mx-auto' }, [ - Div({ class: 'space-y-4' }, [ - Input({ + div({ class: 'space-y-4' }, [ + input({ label: 'Full Name', value: name, oninput: (e) => name(e.target.value), placeholder: 'Enter your name' }), - Input({ + input({ label: 'Email', type: 'email', value: email, @@ -123,17 +123,17 @@ const AddressDemo = () => { const zip = $(''); const country = $('us'); - return Fieldset({ - legend: Span({ class: 'flex items-center gap-2' }, ['📍', 'Shipping Address']), + return fieldset({ + legend: span({ class: 'flex items-center gap-2' }, ['📍', 'Shipping Address']), class: 'w-full max-w-md mx-auto' }, [ - Div({ class: 'space-y-4' }, [ - Input({ label: 'Street Address', value: address, placeholder: '123 Main St', oninput: (e) => address(e.target.value) }), - Div({ class: 'grid grid-cols-2 gap-4' }, [ - Input({ label: 'City', value: city, placeholder: 'City', oninput: (e) => city(e.target.value) }), - Input({ label: 'ZIP Code', value: zip, placeholder: 'ZIP', oninput: (e) => zip(e.target.value) }) + div({ class: 'space-y-4' }, [ + input({ label: 'Street Address', value: address, placeholder: '123 Main St', oninput: (e) => address(e.target.value) }), + div({ class: 'grid grid-cols-2 gap-4' }, [ + input({ label: 'City', value: city, placeholder: 'City', oninput: (e) => city(e.target.value) }), + input({ label: 'ZIP Code', value: zip, placeholder: 'ZIP', oninput: (e) => zip(e.target.value) }) ]), - Select({ + select({ label: 'Country', value: country, items: [ @@ -165,21 +165,21 @@ const PaymentDemo = () => { const expiry = $(''); const cvv = $(''); - return Fieldset({ - legend: Span({ class: 'flex items-center gap-2' }, ['💳', 'Payment Details']), + return fieldset({ + legend: span({ class: 'flex items-center gap-2' }, ['💳', 'Payment Details']), class: 'w-full max-w-md mx-auto' }, [ - Div({ class: 'space-y-4' }, [ - Div({ class: 'flex gap-4' }, [ + div({ class: 'space-y-4' }, [ + div({ class: 'flex gap-4' }, [ Radio({ label: 'Credit Card', value: method, inputValue: 'credit', onclick: () => method('credit') }), Radio({ label: 'PayPal', value: method, inputValue: 'paypal', onclick: () => method('paypal') }), Radio({ label: 'Bank Transfer', value: method, inputValue: 'bank', onclick: () => method('bank') }) ]), - () => method() === 'credit' ? Div({ class: 'space-y-4' }, [ - Input({ label: 'Card Number', value: cardNumber, placeholder: '1234 5678 9012 3456', oninput: (e) => cardNumber(e.target.value) }), - Div({ class: 'grid grid-cols-2 gap-4' }, [ - Input({ label: 'Expiry Date', value: expiry, placeholder: 'MM/YY', oninput: (e) => expiry(e.target.value) }), - Input({ label: 'CVV', type: 'password', value: cvv, placeholder: '123', oninput: (e) => cvv(e.target.value) }) + () => method() === 'credit' ? div({ class: 'space-y-4' }, [ + input({ label: 'Card Number', value: cardNumber, placeholder: '1234 5678 9012 3456', oninput: (e) => cardNumber(e.target.value) }), + div({ class: 'grid grid-cols-2 gap-4' }, [ + input({ label: 'Expiry Date', value: expiry, placeholder: 'MM/YY', oninput: (e) => expiry(e.target.value) }), + input({ label: 'CVV', type: 'password', value: cvv, placeholder: '123', oninput: (e) => cvv(e.target.value) }) ]) ]) : null, () => method() === 'paypal' ? Alert({ type: 'info', message: 'You will be redirected to PayPal after confirming.' }) : null, @@ -205,20 +205,20 @@ const PreferencesDemo = () => { const language = $('en'); const notifications = $(true); - return Fieldset({ - legend: Span({ class: 'flex items-center gap-2' }, ['⚙️', 'Preferences']), + return fieldset({ + legend: span({ class: 'flex items-center gap-2' }, ['⚙️', 'Preferences']), class: 'w-full max-w-md mx-auto' }, [ - Div({ class: 'space-y-4' }, [ - Div({ class: 'form-control' }, [ - Span({ class: 'label-text mb-2' }, 'Theme'), - Div({ class: 'flex gap-4' }, [ + div({ class: 'space-y-4' }, [ + div({ class: 'form-control' }, [ + span({ class: 'label-text mb-2' }, 'Theme'), + div({ class: 'flex gap-4' }, [ Radio({ label: 'Light', value: theme, inputValue: 'light', onclick: () => theme('light') }), Radio({ label: 'Dark', value: theme, inputValue: 'dark', onclick: () => theme('dark') }), Radio({ label: 'System', value: theme, inputValue: 'system', onclick: () => theme('system') }) ]) ]), - Select({ + select({ label: 'Language', value: language, items: [ @@ -265,15 +265,15 @@ const RegistrationDemo = () => { } }; - return Fieldset({ - legend: Span({ class: 'flex items-center gap-2' }, ['📝', 'Create Account']), + return fieldset({ + legend: span({ class: 'flex items-center gap-2' }, ['📝', 'Create Account']), class: 'w-full max-w-md mx-auto' }, [ - Div({ class: 'space-y-4' }, [ - Input({ label: 'Username', value: username, placeholder: 'Choose a username', oninput: (e) => username(e.target.value) }), - Input({ label: 'Email', type: 'email', value: email, placeholder: 'your@email.com', oninput: (e) => email(e.target.value) }), - Input({ label: 'Password', type: 'password', value: password, placeholder: 'Min. 6 characters', oninput: (e) => password(e.target.value) }), - Input({ + div({ class: 'space-y-4' }, [ + input({ label: 'Username', value: username, placeholder: 'Choose a username', oninput: (e) => username(e.target.value) }), + input({ label: 'Email', type: 'email', value: email, placeholder: 'your@email.com', oninput: (e) => email(e.target.value) }), + input({ label: 'Password', type: 'password', value: password, placeholder: 'Min. 6 characters', oninput: (e) => password(e.target.value) }), + input({ label: 'Confirm Password', type: 'password', value: confirmPassword, @@ -286,7 +286,7 @@ const RegistrationDemo = () => { onclick: () => accepted(!accepted()) }), () => !isFormValid() && (username() || email() || password()) ? Alert({ type: 'warning', message: 'Please complete all fields correctly' }) : null, - Button({ + button({ class: 'btn btn-primary w-full', onclick: handleSubmit, disabled: () => !isFormValid() @@ -308,16 +308,16 @@ mount(RegistrationDemo, '#demo-registration'); ```javascript const VariantsDemo = () => { - const commonContent = Div({ class: 'space-y-4' }, [ - Input({ label: 'Field 1', placeholder: 'Enter value' }), - Input({ label: 'Field 2', placeholder: 'Enter value' }), - Button({ class: 'btn btn-primary' }, 'Submit') + const commonContent = div({ class: 'space-y-4' }, [ + input({ label: 'Field 1', placeholder: 'Enter value' }), + input({ label: 'Field 2', placeholder: 'Enter value' }), + button({ class: 'btn btn-primary' }, 'Submit') ]); - return Div({ class: 'flex flex-col gap-4' }, [ - Fieldset({ legend: 'Default Fieldset', class: 'w-full' }, [commonContent]), - Fieldset({ legend: 'With Shadow', class: 'w-full shadow-lg' }, [commonContent]), - Fieldset({ legend: 'With Background', class: 'w-full bg-base-100' }, [commonContent]) + return div({ class: 'flex flex-col gap-4' }, [ + fieldset({ legend: 'Default Fieldset', class: 'w-full' }, [commonContent]), + fieldset({ legend: 'With Shadow', class: 'w-full shadow-lg' }, [commonContent]), + fieldset({ legend: 'With Background', class: 'w-full bg-base-100' }, [commonContent]) ]); }; mount(VariantsDemo, '#demo-variants'); diff --git a/docs/components/indicator.md b/docs/components/indicator.md index 0acc0eb..aaa974f 100644 --- a/docs/components/indicator.md +++ b/docs/components/indicator.md @@ -30,7 +30,7 @@ Indicator uses **daisyUI Indicator and Badge classes**: ```javascript Indicator({ value: "3", class: "badge-primary" }, - Button({ class: "btn" }, "Notifications") + button({ class: "btn" }, "Notifications") ); ``` @@ -47,15 +47,15 @@ Indicator({ value: "3", class: "badge-primary" }, ```javascript const BasicDemo = () => { - return Div({ class: 'flex flex-wrap gap-8 justify-center' }, [ + return div({ class: 'flex flex-wrap gap-8 justify-center' }, [ Indicator({ value: '3', class: 'badge-primary' }, - Div({ class: 'w-16 h-16 bg-base-300 rounded-lg flex items-center justify-center' }, '📦') + div({ class: 'w-16 h-16 bg-base-300 rounded-lg flex items-center justify-center' }, '📦') ), Indicator({ value: '99+', class: 'badge-secondary' }, - Div({ class: 'w-16 h-16 bg-base-300 rounded-lg flex items-center justify-center' }, '🔔') + div({ class: 'w-16 h-16 bg-base-300 rounded-lg flex items-center justify-center' }, '🔔') ), Indicator({ value: 'New', class: 'badge-accent' }, - Div({ class: 'w-16 h-16 bg-base-300 rounded-lg flex items-center justify-center' }, '✨') + div({ class: 'w-16 h-16 bg-base-300 rounded-lg flex items-center justify-center' }, '✨') ) ]); }; @@ -73,20 +73,20 @@ mount(BasicDemo, '#demo-basic'); ```javascript const StatusDemo = () => { - return Div({ class: 'flex flex-wrap gap-8 justify-center' }, [ + return div({ class: 'flex flex-wrap gap-8 justify-center' }, [ Indicator({ value: '●', class: 'badge-success badge-xs' }, - Div({ class: 'avatar placeholder' }, [ - Div({ class: 'bg-neutral text-neutral-content rounded-full w-12 h-12 flex items-center justify-center' }, 'JD') + div({ class: 'avatar placeholder' }, [ + div({ class: 'bg-neutral text-neutral-content rounded-full w-12 h-12 flex items-center justify-center' }, 'JD') ]) ), Indicator({ value: '●', class: 'badge-warning badge-xs' }, - Div({ class: 'avatar placeholder' }, [ - Div({ class: 'bg-neutral text-neutral-content rounded-full w-12 h-12 flex items-center justify-center' }, 'JS') + div({ class: 'avatar placeholder' }, [ + div({ class: 'bg-neutral text-neutral-content rounded-full w-12 h-12 flex items-center justify-center' }, 'JS') ]) ), Indicator({ value: '●', class: 'badge-error badge-xs' }, - Div({ class: 'avatar placeholder' }, [ - Div({ class: 'bg-neutral text-neutral-content rounded-full w-12 h-12 flex items-center justify-center' }, 'BC') + div({ class: 'avatar placeholder' }, [ + div({ class: 'bg-neutral text-neutral-content rounded-full w-12 h-12 flex items-center justify-center' }, 'BC') ]) ) ]); @@ -107,22 +107,22 @@ mount(StatusDemo, '#demo-status'); const ReactiveDemo = () => { const count = $(0); - return Div({ class: 'flex flex-col gap-4 items-center' }, [ + return div({ class: 'flex flex-col gap-4 items-center' }, [ Indicator({ value: () => count() > 0 ? count() : null, class: 'badge-primary' }, - Button({ + button({ class: 'btn btn-lg btn-primary', onclick: () => count(count() + 1) }, 'Notifications') ), - Div({ class: 'flex gap-2' }, [ - Button({ + div({ class: 'flex gap-2' }, [ + button({ class: 'btn btn-sm', onclick: () => count(Math.max(0, count() - 1)) }, 'Decrease'), - Button({ + button({ class: 'btn btn-sm btn-ghost', onclick: () => count(0) }, 'Clear') @@ -161,24 +161,24 @@ const CartDemo = () => { const total = () => cart().reduce((sum, item) => sum + item.price, 0); - return Div({ class: 'flex flex-col gap-4' }, [ - Div({ class: 'flex justify-between items-center' }, [ + return div({ class: 'flex flex-col gap-4' }, [ + div({ class: 'flex justify-between items-center' }, [ Indicator({ value: () => cart().length, class: 'badge-primary' }, - Button({ class: 'btn', onclick: addItem }, '🛒 Add to Cart') + button({ class: 'btn', onclick: addItem }, '🛒 Add to Cart') ), - Span({ class: 'text-lg font-bold' }, () => `Total: $${total()}`) + span({ class: 'text-lg font-bold' }, () => `Total: $${total()}`) ]), () => cart().length === 0 - ? Div({ class: 'alert alert-soft text-center' }, 'Cart is empty') - : Div({ class: 'flex flex-col gap-2' }, cart().map(item => - Div({ class: 'flex justify-between items-center p-2 bg-base-200 rounded-lg' }, [ - Span({}, item.name), - Div({ class: 'flex gap-2 items-center' }, [ - Span({ class: 'text-sm font-bold' }, `$${item.price}`), - Button({ + ? div({ class: 'alert alert-soft text-center' }, 'Cart is empty') + : div({ class: 'flex flex-col gap-2' }, cart().map(item => + div({ class: 'flex justify-between items-center p-2 bg-base-200 rounded-lg' }, [ + span({}, item.name), + div({ class: 'flex gap-2 items-center' }, [ + span({ class: 'text-sm font-bold' }, `$${item.price}`), + button({ class: 'btn btn-xs btn-ghost btn-circle', onclick: () => removeItem(item.id) }, '✕') @@ -219,15 +219,15 @@ const InboxDemo = () => { } }; - return Div({ class: 'flex flex-col gap-4' }, [ - Div({ class: 'flex justify-between items-center' }, [ + return div({ class: 'flex flex-col gap-4' }, [ + div({ class: 'flex justify-between items-center' }, [ Indicator({ value: () => unread(), class: 'badge-primary' }, - Span({ class: 'text-lg font-bold' }, 'Inbox') + span({ class: 'text-lg font-bold' }, 'Inbox') ), - Button({ + button({ class: 'btn btn-sm btn-ghost', onclick: () => { messages().forEach(m => m.read = true); @@ -236,14 +236,14 @@ const InboxDemo = () => { } }, 'Mark all read') ]), - Div({ class: 'flex flex-col gap-2' }, () => messages().map(msg => - Div({ + div({ class: 'flex flex-col gap-2' }, () => messages().map(msg => + div({ class: `p-3 rounded-lg cursor-pointer transition-all ${msg.read ? 'bg-base-200 opacity-60' : 'bg-primary/10 border-l-4 border-primary'}`, onclick: () => markAsRead(msg.id) }, [ - Div({ class: 'font-medium' }, msg.from), - Div({ class: 'text-sm' }, msg.subject), - !msg.read && Span({ class: 'badge badge-xs badge-primary mt-1' }, 'New') + div({ class: 'font-medium' }, msg.from), + div({ class: 'text-sm' }, msg.subject), + !msg.read && span({ class: 'badge badge-xs badge-primary mt-1' }, 'New') ]) )) ]); @@ -263,20 +263,20 @@ mount(InboxDemo, '#demo-inbox'); ```javascript const VariantsDemo = () => { - return Div({ class: 'flex flex-wrap gap-8 justify-center' }, [ + return div({ class: 'flex flex-wrap gap-8 justify-center' }, [ Indicator({ value: '3', class: 'badge-primary badge-sm' }, - Div({ class: 'w-12 h-12 bg-base-300 rounded-lg flex items-center justify-center' }, '📧') + div({ class: 'w-12 h-12 bg-base-300 rounded-lg flex items-center justify-center' }, '📧') ), Indicator({ value: '99+', class: 'badge-secondary badge-md' }, - Div({ class: 'w-12 h-12 bg-base-300 rounded-lg flex items-center justify-center' }, '🔔') + div({ class: 'w-12 h-12 bg-base-300 rounded-lg flex items-center justify-center' }, '🔔') ), Indicator({ value: '●', class: 'badge-success badge-xs' }, - Div({ class: 'avatar' }, [ - Div({ class: 'w-10 h-10 rounded-full bg-primary' }) + div({ class: 'avatar' }, [ + div({ class: 'w-10 h-10 rounded-full bg-primary' }) ]) ), Indicator({ value: '!', class: 'badge-error badge-sm' }, - Div({ class: 'w-12 h-12 bg-base-300 rounded-lg flex items-center justify-center' }, '⚠️') + div({ class: 'w-12 h-12 bg-base-300 rounded-lg flex items-center justify-center' }, '⚠️') ) ]); }; diff --git a/docs/components/input.md b/docs/components/input.md index 796bea6..e128c8c 100644 --- a/docs/components/input.md +++ b/docs/components/input.md @@ -43,7 +43,7 @@ const { Input, mount } = window; const BasicDemo = () => { const name = $(""); - return Input({ + return input({ placeholder: "Enter your name", value: name, oninput: (e) => name(e.target.value) @@ -68,7 +68,7 @@ const { InputLabel, Div, Icon, mount } = window; const IconDemo = () => { const email = $(""); - return Div({ class: "input input-bordered flex items-center gap-2" }, [ + return div({ class: "input input-bordered flex items-center gap-2" }, [ Icon("✉️"), h("input", { class: "grow", @@ -97,7 +97,7 @@ const { Input, Div, Icon, Swap, mount } = window; const PasswordDemo = () => { const password = $(""); const visible = $(false); - return Div({ class: "input input-bordered flex items-center gap-2" }, [ + return div({ class: "input input-bordered flex items-center gap-2" }, [ Icon("icon-[lucide--lock]"), h("input", { type: () => (visible() ? "text" : "password"), @@ -133,9 +133,9 @@ const { Input, Div, Span, mount } = window; const LabelDemo = () => { const email = $(""); - return Div({ class: "floating-label" }, [ - Span("Email"), - Input({ + return div({ class: "floating-label" }, [ + span("Email"), + input({ type: "email", value: email, placeholder: " ", @@ -163,7 +163,7 @@ const { Input, Tooltip, mount } = window; const TooltipDemo = () => { const username = $(""); return Tooltip({ tip: "Must be at least 3 characters" }, [ - Input({ + input({ placeholder: "Username", value: username, oninput: (e) => username(e.target.value) @@ -190,7 +190,7 @@ const { Input, Div, mount } = window; const ErrorDemo = () => { const email = $(""); const isValid = () => email().includes("@"); - return Div({ class: "flex flex-col gap-2" }, [ + return div({ class: "flex flex-col gap-2" }, [ h("input", { type: "email", class: () => `input input-bordered ${email() && !isValid() ? "input-error" : ""}`, @@ -198,7 +198,7 @@ const ErrorDemo = () => { placeholder: "mail@example.com", oninput: (e) => email(e.target.value) }), - () => email() && !isValid() ? Div({ class: "text-error text-sm" }, "Enter a valid email") : null + () => email() && !isValid() ? div({ class: "text-error text-sm" }, "Enter a valid email") : null ]); }; mount(ErrorDemo, "#demo-error"); @@ -217,7 +217,7 @@ mount(ErrorDemo, "#demo-error"); const { Input, mount } = window; const DisabledDemo = () => { - return Input({ value: "john.doe", disabled: true }); + return input({ value: "john.doe", disabled: true }); }; mount(DisabledDemo, "#demo-disabled"); ``` @@ -236,18 +236,18 @@ const { Input, Div, mount } = window; const VariantsDemo = () => { const text = $(""); - return Div({ class: "flex flex-col gap-4" }, [ - Input({ placeholder: "Default", value: text, oninput: (e) => text(e.target.value) }), - Input({ class: "input-primary", placeholder: "Primary", value: $("") }), - Input({ class: "input-secondary", placeholder: "Secondary", value: $("") }), - Input({ class: "input-accent", placeholder: "Accent", value: $("") }), - Input({ class: "input-ghost", placeholder: "Ghost", value: $("") }), - Input({ class: "input-info", placeholder: "Info", value: $("") }), - Input({ class: "input-success", placeholder: "Success", value: $("") }), - Input({ class: "input-warning", placeholder: "Warning", value: $("") }), - Input({ class: "input-error", placeholder: "Error", value: $("") }), - Input({ type: "number", placeholder: "Number", value: $(0), oninput: (e) => e.target.value }), - Input({ type: "date", value: $("2024-01-01") }) + return div({ class: "flex flex-col gap-4" }, [ + input({ placeholder: "Default", value: text, oninput: (e) => text(e.target.value) }), + input({ class: "input-primary", placeholder: "Primary", value: $("") }), + input({ class: "input-secondary", placeholder: "Secondary", value: $("") }), + input({ class: "input-accent", placeholder: "Accent", value: $("") }), + input({ class: "input-ghost", placeholder: "Ghost", value: $("") }), + input({ class: "input-info", placeholder: "Info", value: $("") }), + input({ class: "input-success", placeholder: "Success", value: $("") }), + input({ class: "input-warning", placeholder: "Warning", value: $("") }), + input({ class: "input-error", placeholder: "Error", value: $("") }), + input({ type: "number", placeholder: "Number", value: $(0), oninput: (e) => e.target.value }), + input({ type: "date", value: $("2024-01-01") }) ]); }; mount(VariantsDemo, "#demo-variants"); diff --git a/docs/components/list.md b/docs/components/list.md index cad992b..235e9a4 100644 --- a/docs/components/list.md +++ b/docs/components/list.md @@ -46,8 +46,8 @@ const BasicDemo = () => { return List({ items: items, render: (item) => - Div({ class: "p-3 hover:bg-base-200 transition-colors" }, [ - Span({ class: "font-medium" }, item), + div({ class: "p-3 hover:bg-base-200 transition-colors" }, [ + span({ class: "font-medium" }, item), ]), }); }; @@ -73,15 +73,15 @@ const HeaderDemo = () => { return List({ items: users, - header: Div( + header: div( { class: "p-3 bg-primary/10 font-bold border-b border-base-300" }, "Active Users", ), render: (user) => - Div({ class: "p-3 border-b border-base-300 hover:bg-base-200" }, [ - Div({ class: "font-medium" }, user.name), - Div({ class: "text-sm opacity-70" }, user.email), - Span( + div({ class: "p-3 border-b border-base-300 hover:bg-base-200" }, [ + div({ class: "font-medium" }, user.name), + div({ class: "text-sm opacity-70" }, user.email), + span( { class: `badge badge-sm ${user.status === "active" ? "badge-success" : "badge-ghost"} mt-1`, }, @@ -118,18 +118,18 @@ const IconsDemo = () => { return List({ items: settings, render: (item) => - Div( + div( { class: "flex gap-3 p-3 hover:bg-base-200 transition-colors cursor-pointer", }, [ - Div({ class: "text-2xl" }, item.icon), - Div({ class: "flex-1" }, [ - Div({ class: "font-medium" }, item.label), - Div({ class: "text-sm opacity-60" }, item.description), + div({ class: "text-2xl" }, item.icon), + div({ class: "flex-1" }, [ + div({ class: "font-medium" }, item.label), + div({ class: "text-sm opacity-60" }, item.description), ]), - Span({ class: "opacity-40" }, "→"), + span({ class: "opacity-40" }, "→"), ], ), }); @@ -178,17 +178,17 @@ const BadgesDemo = () => { return List({ items: notifications, render: (item) => - Div( + div( { class: `flex justify-between items-center p-3 border-b border-base-300 hover:bg-base-200 ${item.unread ? "bg-primary/5" : ""}`, }, [ - Div({ class: "flex-1" }, [ - Div({ class: "font-medium" }, item.message), - Div({ class: "text-xs opacity-50" }, item.time), + div({ class: "flex-1" }, [ + div({ class: "font-medium" }, item.message), + div({ class: "text-xs opacity-50" }, item.time), ]), item.unread - ? Span({ class: "badge badge-primary badge-sm" }, "New") + ? span({ class: "badge badge-primary badge-sm" }, "New") : null, ], ), @@ -223,19 +223,19 @@ const InteractiveDemo = () => { Review: "badge-accent", }; - return Div({ class: "flex flex-col gap-4" }, [ + return div({ class: "flex flex-col gap-4" }, [ List({ items: items, render: (item) => - Div( + div( { class: `p-3 cursor-pointer transition-all hover:bg-base-200 ${selected() === item.id ? "bg-primary/10 border-l-4 border-primary" : "border-l-4 border-transparent"}`, onclick: () => selected(item.id), }, [ - Div({ class: "flex justify-between items-center" }, [ - Div({ class: "font-medium" }, item.name), - Span( + div({ class: "flex justify-between items-center" }, [ + div({ class: "font-medium" }, item.name), + span( { class: `badge ${statusColors[item.status]}` }, item.status, ), @@ -245,11 +245,11 @@ const InteractiveDemo = () => { }), () => selected() - ? Div( + ? div( { class: "alert alert-info" }, `Selected: ${items.find((i) => i.id === selected()).name}`, ) - : Div({ class: "alert alert-soft" }, "Select a project to see details"), + : div({ class: "alert alert-soft" }, "Select a project to see details"), ]); }; mount(InteractiveDemo, "#demo-interactive"); @@ -292,15 +292,15 @@ const ReactiveDemo = () => { const pendingCount = () => todos().filter(t => !t.done).length; watch(()=> console.log(pendingCount())); - return Div({ class: 'flex flex-col gap-4' }, [ - Div({ class: 'flex gap-2' }, [ - Input({ + return div({ class: 'flex flex-col gap-4' }, [ + div({ class: 'flex gap-2' }, [ + input({ placeholder: 'Add new task...', value: newTodo, oninput: (e) => newTodo(e.target.value), onkeypress: (e) => e.key === 'Enter' && addTodo() }), - Button({ class: 'btn btn-primary', onclick: addTodo }, 'Add') + button({ class: 'btn btn-primary', onclick: addTodo }, 'Add') ]), List({ items: todos, @@ -308,25 +308,25 @@ const ReactiveDemo = () => { // Esta función busca siempre el estado actual del item dentro del signal const it = () => todos().find(t => t.id === item.id) || item; - return Div({ + return div({ class: () => `flex items-center gap-3 p-2 border-b border-base-300 ${it().done ? 'opacity-60' : ''}` }, [ Checkbox({ value: () => it().done, onclick: () => toggleTodo(item.id) }), - Span({ + span({ class: () => `flex-1 ${it().done ? 'line-through' : ''}`, onclick: () => toggleTodo(item.id) }, () => it().text), - Button({ + button({ class: 'btn btn-ghost btn-xs btn-circle', onclick: () => deleteTodo(item.id) }, '✕') ]); } }), - Div({ class: 'text-sm opacity-70 mt-2' }, () => `${pendingCount()} tasks remaining`) + div({ class: 'text-sm opacity-70 mt-2' }, () => `${pendingCount()} tasks remaining`) ]); }; @@ -354,14 +354,14 @@ const AvatarDemo = () => { return List({ items: contacts, render: (contact) => - Div({ class: "flex gap-3 p-3 hover:bg-base-200 transition-colors" }, [ - Div( + div({ class: "flex gap-3 p-3 hover:bg-base-200 transition-colors" }, [ + div( { class: `avatar ${contact.online ? "online" : "offline"}`, style: "width: 48px", }, [ - Div( + div( { class: "rounded-full bg-primary text-primary-content flex items-center justify-center w-12 h-12 font-bold", @@ -370,11 +370,11 @@ const AvatarDemo = () => { ), ], ), - Div({ class: "flex-1" }, [ - Div({ class: "font-medium" }, contact.name), - Div({ class: "text-sm opacity-60" }, contact.role), + div({ class: "flex-1" }, [ + div({ class: "font-medium" }, contact.name), + div({ class: "text-sm opacity-60" }, contact.role), ]), - Div( + div( { class: `badge badge-sm ${contact.online ? "badge-success" : "badge-ghost"}`, }, @@ -399,24 +399,24 @@ mount(AvatarDemo, "#demo-avatar"); const VariantsDemo = () => { const items = ["Item 1", "Item 2", "Item 3"]; - return Div({ class: "flex flex-col gap-6" }, [ - Div({ class: "text-sm font-bold" }, "Default List"), + return div({ class: "flex flex-col gap-6" }, [ + div({ class: "text-sm font-bold" }, "Default List"), List({ items: items, - render: (item) => Div({ class: "p-2" }, item), + render: (item) => div({ class: "p-2" }, item), }), - Div({ class: "text-sm font-bold mt-2" }, "With Shadow"), + div({ class: "text-sm font-bold mt-2" }, "With Shadow"), List({ items: items, - render: (item) => Div({ class: "p-2" }, item), + render: (item) => div({ class: "p-2" }, item), class: "shadow-lg", }), - Div({ class: "text-sm font-bold mt-2" }, "Rounded Corners"), + div({ class: "text-sm font-bold mt-2" }, "Rounded Corners"), List({ items: items, - render: (item) => Div({ class: "p-2" }, item), + render: (item) => div({ class: "p-2" }, item), class: "rounded-box overflow-hidden", }), ]); diff --git a/docs/components/menu.md b/docs/components/menu.md index 176dfa8..cafa369 100644 --- a/docs/components/menu.md +++ b/docs/components/menu.md @@ -248,8 +248,8 @@ mount(HorizontalDemo, '#demo-horizontal'); const SidebarDemo = () => { const activeItem = $('dashboard'); - return Div({ class: 'flex' }, [ - Div({ class: 'w-64' }, [ + return div({ class: 'flex' }, [ + div({ class: 'w-64' }, [ Menu({ class: 'rounded-box w-full', items: [ @@ -290,8 +290,8 @@ const SidebarDemo = () => { ] }) ]), - Div({ class: 'flex-1 p-4' }, [ - Div({ class: 'alert alert-info' }, () => `Current page: ${activeItem()}`) + div({ class: 'flex-1 p-4' }, [ + div({ class: 'alert alert-info' }, () => `Current page: ${activeItem()}`) ]) ]); }; @@ -363,9 +363,9 @@ const CollapsibleDemo = () => { const collapsed = $(false); const activeItem = $('dashboard'); - return Div({ class: 'flex gap-4' }, [ - Div({ class: `transition-all duration-300 ${collapsed() ? 'w-16' : 'w-64'}` }, [ - Button({ + return div({ class: 'flex gap-4' }, [ + div({ class: `transition-all duration-300 ${collapsed() ? 'w-16' : 'w-64'}` }, [ + button({ class: 'btn btn-ghost btn-sm mb-2 w-full', onclick: () => collapsed(!collapsed()) }, collapsed() ? '→' : '←'), @@ -379,8 +379,8 @@ const CollapsibleDemo = () => { ] }) ]), - Div({ class: 'flex-1' }, [ - Div({ class: 'alert alert-info' }, () => `Selected: ${activeItem()}`) + div({ class: 'flex-1' }, [ + div({ class: 'alert alert-info' }, () => `Selected: ${activeItem()}`) ]) ]); }; @@ -407,17 +407,17 @@ const VariantsDemo = () => { ]} ]; - return Div({ class: 'flex flex-wrap gap-8' }, [ - Div({ class: 'w-48' }, [ - Div({ class: 'text-sm font-bold mb-2' }, 'Default'), + return div({ class: 'flex flex-wrap gap-8' }, [ + div({ class: 'w-48' }, [ + div({ class: 'text-sm font-bold mb-2' }, 'Default'), Menu({ items }) ]), - Div({ class: 'w-48' }, [ - Div({ class: 'text-sm font-bold mb-2' }, 'Compact'), + div({ class: 'w-48' }, [ + div({ class: 'text-sm font-bold mb-2' }, 'Compact'), Menu({ items, class: 'menu-compact' }) ]), - Div({ class: 'w-48' }, [ - Div({ class: 'text-sm font-bold mb-2' }, 'With Shadow'), + div({ class: 'w-48' }, [ + div({ class: 'text-sm font-bold mb-2' }, 'With Shadow'), Menu({ items, class: 'shadow-lg' }) ]) ]); diff --git a/docs/components/modal.md b/docs/components/modal.md index 82bf313..198c27e 100644 --- a/docs/components/modal.md +++ b/docs/components/modal.md @@ -42,8 +42,8 @@ Modal supports all **daisyUI Modal classes**: const BasicDemo = () => { const isOpen = $(false); - return Div({ class: 'flex justify-center' }, [ - Button({ + return div({ class: 'flex justify-center' }, [ + button({ class: 'btn btn-primary', onclick: () => { isOpen(true); @@ -52,14 +52,14 @@ const BasicDemo = () => { Modal({ open: isOpen, title: 'Basic Modal', - buttons: Button({ + buttons: button({ class: 'btn-primary', onclick: () => { isOpen(false); } }, 'Custom Action') }, [ - Div({ class: 'py-4' }, 'This is a basic modal dialog. Press ESC or click Close.') + div({ class: 'py-4' }, 'This is a basic modal dialog. Press ESC or click Close.') ]) ]); }; @@ -103,8 +103,8 @@ const ActionsDemo = () => { Toast('Action confirmed!', 'alert-success', 2000); }; - return Div({ class: 'flex flex-col gap-4 items-center' }, [ - Button({ + return div({ class: 'flex flex-col gap-4 items-center' }, [ + button({ class: 'btn btn-primary', onclick: () => isOpen(true) }, 'Confirm Action'), @@ -116,17 +116,17 @@ const ActionsDemo = () => { open: isOpen, title: 'Confirm Action', buttons: [ - Button({ + button({ class: 'btn btn-ghost', onclick: () => isOpen(false) }, 'Cancel'), - Button({ + button({ class: 'btn btn-primary', onclick: handleConfirm }, 'Confirm') ] }, [ - Div({ class: 'py-4' }, 'Are you sure you want to perform this action? This cannot be undone.') + div({ class: 'py-4' }, 'Are you sure you want to perform this action? This cannot be undone.') ]) ]); }; @@ -158,8 +158,8 @@ const FormModal = () => { } }; - return Div({ class: 'flex flex-col gap-4 items-center' }, [ - Button({ + return div({ class: 'flex flex-col gap-4 items-center' }, [ + button({ class: 'btn btn-primary', onclick: () => isOpen(true) }, 'Sign Up'), @@ -171,24 +171,24 @@ const FormModal = () => { open: isOpen, title: 'Create Account', buttons: [ - Button({ + button({ class: 'btn btn-ghost', onclick: () => isOpen(false) }, 'Cancel'), - Button({ + button({ class: 'btn btn-primary', onclick: handleSubmit }, 'Sign Up') ] }, [ - Div({ class: 'flex flex-col gap-4 py-2' }, [ - Input({ + div({ class: 'flex flex-col gap-4 py-2' }, [ + input({ label: 'Full Name', value: name, placeholder: 'Enter your name', oninput: (e) => name(e.target.value) }), - Input({ + input({ label: 'Email', type: 'email', value: email, @@ -232,11 +232,11 @@ const ConfirmDemo = () => { Toast(`Deleted: ${pendingDelete().name}`, 'alert-info', 2000); }; - return Div({ class: 'flex flex-col gap-4' }, [ - Div({ class: 'flex flex-col gap-2' }, items().map(item => - Div({ class: 'flex justify-between items-center p-3 bg-base-200 rounded-lg' }, [ - Span({}, item.name), - Button({ + return div({ class: 'flex flex-col gap-4' }, [ + div({ class: 'flex flex-col gap-2' }, items().map(item => + div({ class: 'flex justify-between items-center p-3 bg-base-200 rounded-lg' }, [ + span({}, item.name), + button({ class: 'btn btn-xs btn-error', onclick: () => confirmDelete(item) }, 'Delete') @@ -246,17 +246,17 @@ const ConfirmDemo = () => { open: isOpen, title: 'Delete Confirmation', buttons: [ - Button({ + button({ class: 'btn btn-ghost', onclick: () => isOpen(false) }, 'Cancel'), - Button({ + button({ class: 'btn btn-error', onclick: handleDelete }, 'Delete') ] }, [ - Div({ class: 'py-4' }, () => `Are you sure you want to delete "${pendingDelete()?.name}"? This action cannot be undone.`) + div({ class: 'py-4' }, () => `Are you sure you want to delete "${pendingDelete()?.name}"? This action cannot be undone.`) ]) ]); }; @@ -276,35 +276,35 @@ mount(ConfirmDemo, '#demo-confirm'); const LargeDemo = () => { const isOpen = $(false); - return Div({ class: 'flex justify-center' }, [ - Button({ + return div({ class: 'flex justify-center' }, [ + button({ class: 'btn btn-primary', onclick: () => isOpen(true) }, 'Open Large Modal'), Modal({ open: isOpen, title: 'Terms and Conditions', - buttons: Button({ + buttons: button({ class: 'btn btn-primary', onclick: () => isOpen(false) }, 'I Agree') }, [ - Div({ class: 'py-4 max-h-96 overflow-y-auto' }, [ - Div({ class: 'space-y-4' }, [ - Div({ class: 'text-sm' }, [ - Div({ class: 'font-bold mb-2' }, '1. Introduction'), + div({ class: 'py-4 max-h-96 overflow-y-auto' }, [ + div({ class: 'space-y-4' }, [ + div({ class: 'text-sm' }, [ + div({ class: 'font-bold mb-2' }, '1. Introduction'), 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris.' ]), - Div({ class: 'text-sm' }, [ - Div({ class: 'font-bold mb-2' }, '2. User Obligations'), + div({ class: 'text-sm' }, [ + div({ class: 'font-bold mb-2' }, '2. User Obligations'), 'Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident.' ]), - Div({ class: 'text-sm' }, [ - Div({ class: 'font-bold mb-2' }, '3. Privacy Policy'), + div({ class: 'text-sm' }, [ + div({ class: 'font-bold mb-2' }, '3. Privacy Policy'), 'Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam.' ]), - Div({ class: 'text-sm' }, [ - Div({ class: 'font-bold mb-2' }, '4. Termination'), + div({ class: 'text-sm' }, [ + div({ class: 'font-bold mb-2' }, '4. Termination'), 'At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores.' ]) ]) @@ -330,27 +330,27 @@ const MultipleDemo = () => { const modal2 = $(false); const modal3 = $(false); - return Div({ class: 'flex flex-wrap gap-4 justify-center' }, [ - Button({ class: 'btn', onclick: () => modal1(true) }, 'Info Modal'), - Button({ class: 'btn', onclick: () => modal2(true) }, 'Success Modal'), - Button({ class: 'btn', onclick: () => modal3(true) }, 'Warning Modal'), + return div({ class: 'flex flex-wrap gap-4 justify-center' }, [ + button({ class: 'btn', onclick: () => modal1(true) }, 'Info Modal'), + button({ class: 'btn', onclick: () => modal2(true) }, 'Success Modal'), + button({ class: 'btn', onclick: () => modal3(true) }, 'Warning Modal'), Modal({ open: modal1, title: 'Information', - buttons: Button({ onclick: () => modal1(false) }, 'OK') + buttons: button({ onclick: () => modal1(false) }, 'OK') }, 'This is an informational message.'), Modal({ open: modal2, title: 'Success!', - buttons: Button({ onclick: () => modal2(false) }, 'Great!') + buttons: button({ onclick: () => modal2(false) }, 'Great!') }, 'Your operation was completed successfully.'), Modal({ open: modal3, title: 'Warning', - buttons: Button({ onclick: () => modal3(false) }, 'Understood') + buttons: button({ onclick: () => modal3(false) }, 'Understood') }, 'Please review your input before proceeding.') ]); }; @@ -370,8 +370,8 @@ mount(MultipleDemo, '#demo-multiple'); const CustomDemo = () => { const isOpen = $(false); - return Div({ class: 'flex justify-center' }, [ - Button({ + return div({ class: 'flex justify-center' }, [ + button({ class: 'btn btn-primary', onclick: () => isOpen(true) }, 'Open Custom Modal'), @@ -379,11 +379,11 @@ const CustomDemo = () => { open: isOpen, class: 'bg-gradient-to-r from-primary to-secondary text-primary-content' }, [ - Div({ class: 'text-center py-8' }, [ - Div({ class: 'text-6xl mb-4' }, '🎉'), - Div({ class: 'text-2xl font-bold mb-2' }, 'Congratulations!'), - Div({ class: 'mb-6' }, 'You\'ve successfully completed the tutorial.'), - Button({ + div({ class: 'text-center py-8' }, [ + div({ class: 'text-6xl mb-4' }, '🎉'), + div({ class: 'text-2xl font-bold mb-2' }, 'Congratulations!'), + div({ class: 'mb-6' }, 'You\'ve successfully completed the tutorial.'), + button({ class: 'btn btn-ghost bg-white/20 hover:bg-white/30', onclick: () => isOpen(false) }, 'Get Started') diff --git a/docs/components/navbar.md b/docs/components/navbar.md index dee9348..4611266 100644 --- a/docs/components/navbar.md +++ b/docs/components/navbar.md @@ -40,14 +40,14 @@ Navbar supports all **daisyUI Navbar classes**: ```javascript const BasicDemo = () => { return Navbar({ class: 'rounded-box' }, [ - Div({ class: 'navbar-start' }, [ - Span({ class: 'text-xl font-bold' }, 'Logo') + div({ class: 'navbar-start' }, [ + span({ class: 'text-xl font-bold' }, 'Logo') ]), - Div({ class: 'navbar-center hidden lg:flex' }, [ - Span({ class: 'text-sm' }, 'Navigation Items') + div({ class: 'navbar-center hidden lg:flex' }, [ + span({ class: 'text-sm' }, 'Navigation Items') ]), - Div({ class: 'navbar-end' }, [ - Button({ class: 'btn btn-ghost btn-sm' }, 'Login') + div({ class: 'navbar-end' }, [ + button({ class: 'btn btn-ghost btn-sm' }, 'Login') ]) ]); }; @@ -68,27 +68,27 @@ const LinksDemo = () => { const active = $('home'); return Navbar({ class: 'rounded-box' }, [ - Div({ class: 'navbar-start' }, [ - Span({ class: 'text-xl font-bold' }, 'MyApp') + div({ class: 'navbar-start' }, [ + span({ class: 'text-xl font-bold' }, 'MyApp') ]), - Div({ class: 'navbar-center hidden lg:flex' }, [ - Div({ class: 'menu menu-horizontal px-1' }, [ - Button({ + div({ class: 'navbar-center hidden lg:flex' }, [ + div({ class: 'menu menu-horizontal px-1' }, [ + button({ class: `btn btn-ghost btn-sm ${active() === 'home' ? 'btn-active' : ''}`, onclick: () => active('home') }, 'Home'), - Button({ + button({ class: `btn btn-ghost btn-sm ${active() === 'about' ? 'btn-active' : ''}`, onclick: () => active('about') }, 'About'), - Button({ + button({ class: `btn btn-ghost btn-sm ${active() === 'contact' ? 'btn-active' : ''}`, onclick: () => active('contact') }, 'Contact') ]) ]), - Div({ class: 'navbar-end' }, [ - Button({ class: 'btn btn-primary btn-sm' }, 'Sign Up') + div({ class: 'navbar-end' }, [ + button({ class: 'btn btn-primary btn-sm' }, 'Sign Up') ]) ]); }; @@ -109,12 +109,12 @@ const SearchDemo = () => { const searchQuery = $(''); return Navbar({ class: 'rounded-box' }, [ - Div({ class: 'navbar-start' }, [ - Span({ class: 'text-xl font-bold' }, 'MyApp') + div({ class: 'navbar-start' }, [ + span({ class: 'text-xl font-bold' }, 'MyApp') ]), - Div({ class: 'navbar-center' }, [ - Div({ class: 'form-control' }, [ - Input({ + div({ class: 'navbar-center' }, [ + div({ class: 'form-control' }, [ + input({ placeholder: 'Search...', value: searchQuery, class: 'input input-bordered w-48 md:w-auto', @@ -122,9 +122,9 @@ const SearchDemo = () => { }) ]) ]), - Div({ class: 'navbar-end' }, [ - Button({ class: 'btn btn-ghost btn-circle' }, '🔔'), - Button({ class: 'btn btn-ghost btn-circle' }, '👤') + div({ class: 'navbar-end' }, [ + button({ class: 'btn btn-ghost btn-circle' }, '🔔'), + button({ class: 'btn btn-ghost btn-circle' }, '👤') ]) ]); }; @@ -143,25 +143,25 @@ mount(SearchDemo, '#demo-search'); ```javascript const AvatarDemo = () => { return Navbar({ class: 'rounded-box' }, [ - Div({ class: 'navbar-start' }, [ - Span({ class: 'text-xl font-bold' }, 'MyApp') + div({ class: 'navbar-start' }, [ + span({ class: 'text-xl font-bold' }, 'MyApp') ]), - Div({ class: 'navbar-center hidden lg:flex' }, [ - Div({ class: 'menu menu-horizontal px-1' }, [ - Span({ class: 'text-sm' }, 'Dashboard'), - Span({ class: 'text-sm' }, 'Projects'), - Span({ class: 'text-sm' }, 'Tasks') + div({ class: 'navbar-center hidden lg:flex' }, [ + div({ class: 'menu menu-horizontal px-1' }, [ + span({ class: 'text-sm' }, 'Dashboard'), + span({ class: 'text-sm' }, 'Projects'), + span({ class: 'text-sm' }, 'Tasks') ]) ]), - Div({ class: 'navbar-end' }, [ - Div({ class: 'dropdown dropdown-end' }, [ - Div({ tabindex: 0, role: 'button', class: 'btn btn-ghost btn-circle avatar' }, [ - Div({ class: 'w-8 rounded-full bg-primary text-primary-content flex items-center justify-center' }, 'JD') + div({ class: 'navbar-end' }, [ + div({ class: 'dropdown dropdown-end' }, [ + div({ tabindex: 0, role: 'button', class: 'btn btn-ghost btn-circle avatar' }, [ + div({ class: 'w-8 rounded-full bg-primary text-primary-content flex items-center justify-center' }, 'JD') ]), - Div({ tabindex: 0, class: 'dropdown-content menu bg-base-100 rounded-box z-[1] w-52 p-2 shadow' }, [ - Span({ class: 'menu-item' }, 'Profile'), - Span({ class: 'menu-item' }, 'Settings'), - Span({ class: 'menu-item' }, 'Logout') + div({ tabindex: 0, class: 'dropdown-content menu bg-base-100 rounded-box z-[1] w-52 p-2 shadow' }, [ + span({ class: 'menu-item' }, 'Profile'), + span({ class: 'menu-item' }, 'Settings'), + span({ class: 'menu-item' }, 'Logout') ]) ]) ]) @@ -183,26 +183,26 @@ mount(AvatarDemo, '#demo-avatar'); const ResponsiveDemo = () => { const isOpen = $(false); - return Div({ class: 'flex flex-col' }, [ + return div({ class: 'flex flex-col' }, [ Navbar({ class: 'rounded-box' }, [ - Div({ class: 'navbar-start' }, [ - Button({ + div({ class: 'navbar-start' }, [ + button({ class: 'btn btn-ghost btn-circle lg:hidden', onclick: () => isOpen(!isOpen()) }, '☰') ]), - Div({ class: 'navbar-center' }, [ - Span({ class: 'text-xl font-bold' }, 'MyApp') + div({ class: 'navbar-center' }, [ + span({ class: 'text-xl font-bold' }, 'MyApp') ]), - Div({ class: 'navbar-end' }, [ - Button({ class: 'btn btn-ghost btn-circle' }, '🔔') + div({ class: 'navbar-end' }, [ + button({ class: 'btn btn-ghost btn-circle' }, '🔔') ]) ]), - () => isOpen() ? Div({ class: 'flex flex-col gap-2 p-4 bg-base-200 rounded-box mt-2' }, [ - Button({ class: 'btn btn-ghost justify-start' }, 'Home'), - Button({ class: 'btn btn-ghost justify-start' }, 'About'), - Button({ class: 'btn btn-ghost justify-start' }, 'Services'), - Button({ class: 'btn btn-ghost justify-start' }, 'Contact') + () => isOpen() ? div({ class: 'flex flex-col gap-2 p-4 bg-base-200 rounded-box mt-2' }, [ + button({ class: 'btn btn-ghost justify-start' }, 'Home'), + button({ class: 'btn btn-ghost justify-start' }, 'About'), + button({ class: 'btn btn-ghost justify-start' }, 'Services'), + button({ class: 'btn btn-ghost justify-start' }, 'Contact') ]) : null ]); }; @@ -221,19 +221,19 @@ mount(ResponsiveDemo, '#demo-responsive'); ```javascript const BrandDemo = () => { return Navbar({ class: 'rounded-box bg-primary text-primary-content' }, [ - Div({ class: 'navbar-start' }, [ - Span({ class: 'text-xl font-bold' }, 'Brand') + div({ class: 'navbar-start' }, [ + span({ class: 'text-xl font-bold' }, 'Brand') ]), - Div({ class: 'navbar-center hidden lg:flex' }, [ - Div({ class: 'menu menu-horizontal px-1' }, [ - Span({ class: 'text-sm' }, 'Features'), - Span({ class: 'text-sm' }, 'Pricing'), - Span({ class: 'text-sm' }, 'About') + div({ class: 'navbar-center hidden lg:flex' }, [ + div({ class: 'menu menu-horizontal px-1' }, [ + span({ class: 'text-sm' }, 'Features'), + span({ class: 'text-sm' }, 'Pricing'), + span({ class: 'text-sm' }, 'About') ]) ]), - Div({ class: 'navbar-end' }, [ - Button({ class: 'btn btn-ghost btn-sm' }, 'Login'), - Button({ class: 'btn btn-outline btn-sm ml-2' }, 'Sign Up') + div({ class: 'navbar-end' }, [ + button({ class: 'btn btn-ghost btn-sm' }, 'Login'), + button({ class: 'btn btn-outline btn-sm ml-2' }, 'Sign Up') ]) ]); }; @@ -251,24 +251,24 @@ mount(BrandDemo, '#demo-brand'); ```javascript const VariantsDemo = () => { - return Div({ class: 'flex flex-col gap-4' }, [ - Div({ class: 'text-sm font-bold' }, 'Default Navbar'), + return div({ class: 'flex flex-col gap-4' }, [ + div({ class: 'text-sm font-bold' }, 'Default Navbar'), Navbar({ class: 'rounded-box' }, [ - Div({ class: 'navbar-start' }, [Span({}, 'Start')]), - Div({ class: 'navbar-center' }, [Span({}, 'Center')]), - Div({ class: 'navbar-end' }, [Span({}, 'End')]) + div({ class: 'navbar-start' }, [span({}, 'Start')]), + div({ class: 'navbar-center' }, [span({}, 'Center')]), + div({ class: 'navbar-end' }, [span({}, 'End')]) ]), - Div({ class: 'text-sm font-bold mt-2' }, 'With Shadow'), + div({ class: 'text-sm font-bold mt-2' }, 'With Shadow'), Navbar({ class: 'rounded-box shadow-lg' }, [ - Div({ class: 'navbar-start' }, [Span({}, 'Logo')]), - Div({ class: 'navbar-end' }, [Button({ class: 'btn btn-sm' }, 'Button')]) + div({ class: 'navbar-start' }, [span({}, 'Logo')]), + div({ class: 'navbar-end' }, [button({ class: 'btn btn-sm' }, 'Button')]) ]), - Div({ class: 'text-sm font-bold mt-2' }, 'With Background'), + div({ class: 'text-sm font-bold mt-2' }, 'With Background'), Navbar({ class: 'rounded-box bg-base-300' }, [ - Div({ class: 'navbar-start' }, [Span({ class: 'font-bold' }, 'Colored')]), - Div({ class: 'navbar-end' }, [Span({ class: 'text-sm' }, 'Info')]) + div({ class: 'navbar-start' }, [span({ class: 'font-bold' }, 'Colored')]), + div({ class: 'navbar-end' }, [span({ class: 'text-sm' }, 'Info')]) ]) ]); }; diff --git a/docs/components/radio.md b/docs/components/radio.md index c8e12dd..e09da28 100644 --- a/docs/components/radio.md +++ b/docs/components/radio.md @@ -45,7 +45,7 @@ Radio supports all **daisyUI Radio classes**: const BasicDemo = () => { const selected = $('option1'); - return Div({ class: 'flex flex-col gap-3' }, [ + return div({ class: 'flex flex-col gap-3' }, [ Radio({ label: 'Option 1', name: 'basic-group', @@ -67,7 +67,7 @@ const BasicDemo = () => { inputValue: 'option3', onclick: () => selected('option3') }), - Div({ class: 'mt-2 text-sm opacity-70' }, () => `Selected: ${selected()}`) + div({ class: 'mt-2 text-sm opacity-70' }, () => `Selected: ${selected()}`) ]); }; mount(BasicDemo, '#demo-basic'); @@ -86,7 +86,7 @@ mount(BasicDemo, '#demo-basic'); const TooltipDemo = () => { const selected = $('light'); - return Div({ class: 'flex flex-col gap-3' }, [ + return div({ class: 'flex flex-col gap-3' }, [ Radio({ label: 'Light mode', name: 'theme-group', @@ -121,7 +121,7 @@ mount(TooltipDemo, '#demo-tooltip'); const DisabledDemo = () => { const selected = $('enabled'); - return Div({ class: 'flex flex-col gap-3' }, [ + return div({ class: 'flex flex-col gap-3' }, [ Radio({ label: 'Enabled option', name: 'disabled-group', @@ -168,9 +168,9 @@ const ReactiveDemo = () => { { value: 'red', label: 'Red' } ]; - return Div({ class: 'flex flex-col gap-4' }, [ - Div({ class: 'text-sm font-bold' }, 'Select size'), - Div({ class: 'flex gap-4' }, sizes.map(s => + return div({ class: 'flex flex-col gap-4' }, [ + div({ class: 'text-sm font-bold' }, 'Select size'), + div({ class: 'flex gap-4' }, sizes.map(s => Radio({ label: s.label, name: 'size-group', @@ -179,8 +179,8 @@ const ReactiveDemo = () => { onclick: () => size(s.value) }) )), - Div({ class: 'text-sm font-bold mt-2' }, 'Select color'), - Div({ class: 'flex gap-4' }, colors.map(c => + div({ class: 'text-sm font-bold mt-2' }, 'Select color'), + div({ class: 'flex gap-4' }, colors.map(c => Radio({ label: c.label, name: 'color-group', @@ -189,7 +189,7 @@ const ReactiveDemo = () => { onclick: () => color(c.value) }) )), - Div({ + div({ class: 'mt-4 p-4 rounded-lg text-center transition-all', style: () => { const sizeMap = { small: 'text-sm', medium: 'text-base', large: 'text-lg' }; @@ -215,9 +215,9 @@ mount(ReactiveDemo, '#demo-reactive'); const PaymentDemo = () => { const method = $('credit'); - return Div({ class: 'flex flex-col gap-4' }, [ - Div({ class: 'text-sm font-bold' }, 'Payment method'), - Div({ class: 'flex flex-col gap-3' }, [ + return div({ class: 'flex flex-col gap-4' }, [ + div({ class: 'text-sm font-bold' }, 'Payment method'), + div({ class: 'flex flex-col gap-3' }, [ Radio({ label: '💳 Credit Card', name: 'payment-group', @@ -240,7 +240,7 @@ const PaymentDemo = () => { onclick: () => method('wallet') }) ]), - Div({ class: 'alert alert-info mt-2' }, () => { + div({ class: 'alert alert-info mt-2' }, () => { const messages = { credit: 'You selected Credit Card. Enter your card details.', bank: 'You selected Bank Transfer. Use the provided account number.', @@ -268,10 +268,10 @@ const VariantsDemo = () => { const secondary = $('secondary1'); const accent = $('accent1'); - return Div({ class: 'flex flex-col gap-4' }, [ - Div({ class: 'card bg-base-200 p-4' }, [ - Div({ class: 'text-sm font-bold mb-2' }, 'Primary variant'), - Div({ class: 'flex gap-4' }, [ + return div({ class: 'flex flex-col gap-4' }, [ + div({ class: 'card bg-base-200 p-4' }, [ + div({ class: 'text-sm font-bold mb-2' }, 'Primary variant'), + div({ class: 'flex gap-4' }, [ Radio({ label: 'Option A', name: 'primary-group', @@ -290,9 +290,9 @@ const VariantsDemo = () => { }) ]) ]), - Div({ class: 'card bg-base-200 p-4' }, [ - Div({ class: 'text-sm font-bold mb-2' }, 'Secondary variant'), - Div({ class: 'flex gap-4' }, [ + div({ class: 'card bg-base-200 p-4' }, [ + div({ class: 'text-sm font-bold mb-2' }, 'Secondary variant'), + div({ class: 'flex gap-4' }, [ Radio({ label: 'Option A', name: 'secondary-group', @@ -311,9 +311,9 @@ const VariantsDemo = () => { }) ]) ]), - Div({ class: 'card bg-base-200 p-4' }, [ - Div({ class: 'text-sm font-bold mb-2' }, 'Accent variant'), - Div({ class: 'flex gap-4' }, [ + div({ class: 'card bg-base-200 p-4' }, [ + div({ class: 'text-sm font-bold mb-2' }, 'Accent variant'), + div({ class: 'flex gap-4' }, [ Radio({ label: 'Option A', name: 'accent-group', @@ -364,8 +364,8 @@ const DynamicDemo = () => { ] }; - return Div({ class: 'flex flex-col gap-4' }, [ - Div({ class: 'flex gap-4' }, [ + return div({ class: 'flex flex-col gap-4' }, [ + div({ class: 'flex gap-4' }, [ Radio({ label: 'Cars', name: 'category-group', @@ -387,9 +387,9 @@ const DynamicDemo = () => { } }) ]), - Div({ class: 'divider my-1' }), - Div({ class: 'text-sm font-bold' }, () => `Select ${category()}`), - Div({ class: 'flex flex-col gap-2' }, () => + div({ class: 'divider my-1' }), + div({ class: 'text-sm font-bold' }, () => `Select ${category()}`), + div({ class: 'flex flex-col gap-2' }, () => options[category()].map(opt => Radio({ label: opt.label, @@ -401,7 +401,7 @@ const DynamicDemo = () => { ) ), () => selected() - ? Div({ class: 'alert alert-success mt-2' }, () => `Selected ${category()}: ${selected()}`) + ? div({ class: 'alert alert-success mt-2' }, () => `Selected ${category()}: ${selected()}`) : null ]); }; diff --git a/docs/components/range.md b/docs/components/range.md index 4ae3a1b..50f00a4 100644 --- a/docs/components/range.md +++ b/docs/components/range.md @@ -46,7 +46,7 @@ Range supports all **daisyUI Range classes**: const BasicDemo = () => { const value = $(50); - return Div({ class: 'flex flex-col gap-4' }, [ + return div({ class: 'flex flex-col gap-4' }, [ Range({ label: 'Volume', value: value, @@ -54,7 +54,7 @@ const BasicDemo = () => { max: 100, oninput: (e) => value(parseInt(e.target.value)) }), - Div({ class: 'text-center' }, () => `Value: ${value()}%`) + div({ class: 'text-center' }, () => `Value: ${value()}%`) ]); }; mount(BasicDemo, '#demo-basic'); @@ -73,7 +73,7 @@ mount(BasicDemo, '#demo-basic'); const TooltipDemo = () => { const brightness = $(75); - return Div({ class: 'flex flex-col gap-4' }, [ + return div({ class: 'flex flex-col gap-4' }, [ Range({ label: 'Brightness', value: brightness, @@ -82,7 +82,7 @@ const TooltipDemo = () => { tooltip: () => `${brightness()}% brightness`, oninput: (e) => brightness(parseInt(e.target.value)) }), - Div({ class: 'w-full h-20 rounded-lg transition-all', style: () => `background-color: hsl(0, 0%, ${brightness()}%)` }) + div({ class: 'w-full h-20 rounded-lg transition-all', style: () => `background-color: hsl(0, 0%, ${brightness()}%)` }) ]); }; mount(TooltipDemo, '#demo-tooltip'); @@ -103,7 +103,7 @@ const ColorsDemo = () => { const secondary = $(60); const accent = $(90); - return Div({ class: 'flex flex-col gap-4' }, [ + return div({ class: 'flex flex-col gap-4' }, [ Range({ label: 'Primary', value: primary, class: 'range-primary', oninput: (e) => primary(e.target.value) }), Range({ label: 'Secondary', value: secondary, class: 'range-secondary', oninput: (e) => secondary(e.target.value) }), Range({ label: 'Accent', value: accent, class: 'range-accent', oninput: (e) => accent(e.target.value) }) @@ -128,7 +128,7 @@ const SizesDemo = () => { const md = $(75); const lg = $(100); - return Div({ class: 'flex flex-col gap-4' }, [ + return div({ class: 'flex flex-col gap-4' }, [ Range({ label: 'Extra Small', value: xs, class: 'range-xs', oninput: (e) => xs(e.target.value) }), Range({ label: 'Small', value: sm, class: 'range-sm', oninput: (e) => sm(e.target.value) }), Range({ label: 'Medium', value: md, class: 'range-md', oninput: (e) => md(e.target.value) }), @@ -152,7 +152,7 @@ const PriceDemo = () => { const price = $(500); const maxPrice = 1000; - return Div({ class: 'flex flex-col gap-4' }, [ + return div({ class: 'flex flex-col gap-4' }, [ Range({ label: 'Price Range', value: price, @@ -161,12 +161,12 @@ const PriceDemo = () => { step: 10, oninput: (e) => price(parseInt(e.target.value)) }), - Div({ class: 'flex justify-between' }, [ - Span({}, '$0'), - Span({}, () => `$${price()}`), - Span({}, `$${maxPrice}`) + div({ class: 'flex justify-between' }, [ + span({}, '$0'), + span({}, () => `$${price()}`), + span({}, `$${maxPrice}`) ]), - Div({ class: 'mt-2 text-sm opacity-70' }, () => { + div({ class: 'mt-2 text-sm opacity-70' }, () => { if (price() < 250) return 'Budget friendly'; if (price() < 750) return 'Mid range'; return 'Premium'; @@ -191,9 +191,9 @@ const AudioDemo = () => { const bass = $(40); const treble = $(60); - return Div({ class: 'flex flex-col gap-4' }, [ - Div({ class: 'flex items-center gap-3' }, [ - Span({ class: 'w-12' }, '🔊'), + return div({ class: 'flex flex-col gap-4' }, [ + div({ class: 'flex items-center gap-3' }, [ + span({ class: 'w-12' }, '🔊'), Range({ value: volume, min: 0, @@ -201,10 +201,10 @@ const AudioDemo = () => { class: 'range-primary flex-1', oninput: (e) => volume(e.target.value) }), - Span({ class: 'w-12 text-right' }, () => `${volume()}%`) + span({ class: 'w-12 text-right' }, () => `${volume()}%`) ]), - Div({ class: 'flex items-center gap-3' }, [ - Span({ class: 'w-12' }, '🎵 Bass'), + div({ class: 'flex items-center gap-3' }, [ + span({ class: 'w-12' }, '🎵 Bass'), Range({ value: bass, min: 0, @@ -212,10 +212,10 @@ const AudioDemo = () => { class: 'range-secondary flex-1', oninput: (e) => bass(e.target.value) }), - Span({ class: 'w-12 text-right' }, () => `${bass()}%`) + span({ class: 'w-12 text-right' }, () => `${bass()}%`) ]), - Div({ class: 'flex items-center gap-3' }, [ - Span({ class: 'w-12' }, '🎶 Treble'), + div({ class: 'flex items-center gap-3' }, [ + span({ class: 'w-12' }, '🎶 Treble'), Range({ value: treble, min: 0, @@ -223,7 +223,7 @@ const AudioDemo = () => { class: 'range-accent flex-1', oninput: (e) => treble(e.target.value) }), - Span({ class: 'w-12 text-right' }, () => `${treble()}%`) + span({ class: 'w-12 text-right' }, () => `${treble()}%`) ]) ]); }; @@ -243,14 +243,14 @@ mount(AudioDemo, '#demo-audio'); const VariantsDemo = () => { const value = $(50); - return Div({ class: 'flex flex-col gap-4' }, [ - Div({ class: 'text-sm font-bold' }, 'With Label'), + return div({ class: 'flex flex-col gap-4' }, [ + div({ class: 'text-sm font-bold' }, 'With Label'), Range({ label: 'Label', value: $(50), oninput: (e) => {} }), - Div({ class: 'text-sm font-bold mt-2' }, 'With Tooltip'), + div({ class: 'text-sm font-bold mt-2' }, 'With Tooltip'), Range({ tooltip: 'Tooltip message', value: $(50), oninput: (e) => {} }), - Div({ class: 'text-sm font-bold mt-2' }, 'Disabled'), + div({ class: 'text-sm font-bold mt-2' }, 'Disabled'), Range({ disabled: true, value: $(50), oninput: (e) => {} }) ]); }; diff --git a/docs/components/rating.md b/docs/components/rating.md index c20ab55..2f514b3 100644 --- a/docs/components/rating.md +++ b/docs/components/rating.md @@ -45,13 +45,13 @@ Rating supports all **daisyUI Rating classes**: const BasicDemo = () => { const rating = $(3); - return Div({ class: 'flex flex-col gap-2 items-center' }, [ + return div({ class: 'flex flex-col gap-2 items-center' }, [ Rating({ value: rating, count: 5, onchange: (value) => rating(value) }), - Div({ class: 'text-sm opacity-70' }, () => `Rating: ${rating()} / 5`) + div({ class: 'text-sm opacity-70' }, () => `Rating: ${rating()} / 5`) ]); }; mount(BasicDemo, '#demo-basic'); @@ -70,14 +70,14 @@ mount(BasicDemo, '#demo-basic'); const HeartDemo = () => { const rating = $(4); - return Div({ class: 'flex flex-col gap-2 items-center' }, [ + return div({ class: 'flex flex-col gap-2 items-center' }, [ Rating({ value: rating, count: 5, mask: 'mask-heart', onchange: (value) => rating(value) }), - Div({ class: 'text-sm opacity-70' }, () => `${rating()} hearts`) + div({ class: 'text-sm opacity-70' }, () => `${rating()} hearts`) ]); }; mount(HeartDemo, '#demo-heart'); @@ -96,14 +96,14 @@ mount(HeartDemo, '#demo-heart'); const Star2Demo = () => { const rating = $(2); - return Div({ class: 'flex flex-col gap-2 items-center' }, [ + return div({ class: 'flex flex-col gap-2 items-center' }, [ Rating({ value: rating, count: 5, mask: 'mask-star-2', onchange: (value) => rating(value) }), - Div({ class: 'text-sm opacity-70' }, () => `${rating()} stars`) + div({ class: 'text-sm opacity-70' }, () => `${rating()} stars`) ]); }; mount(Star2Demo, '#demo-star2'); @@ -122,13 +122,13 @@ mount(Star2Demo, '#demo-star2'); const ReadonlyDemo = () => { const rating = $(4.5); - return Div({ class: 'flex flex-col gap-2 items-center' }, [ + return div({ class: 'flex flex-col gap-2 items-center' }, [ Rating({ value: rating, count: 5, readonly: true }), - Div({ class: 'text-sm opacity-70' }, 'Average rating: 4.5/5 (read-only)') + div({ class: 'text-sm opacity-70' }, 'Average rating: 4.5/5 (read-only)') ]); }; mount(ReadonlyDemo, '#demo-readonly'); @@ -151,27 +151,27 @@ const ReviewDemo = () => { const average = () => Math.round(((quality() + price() + support()) / 3) * 10) / 10; - return Div({ class: 'flex flex-col gap-4' }, [ - Div({ class: 'text-lg font-bold' }, 'Product Review'), - Div({ class: 'flex flex-col gap-2' }, [ - Div({ class: 'flex justify-between items-center' }, [ - Span({ class: 'text-sm w-24' }, 'Quality:'), + return div({ class: 'flex flex-col gap-4' }, [ + div({ class: 'text-lg font-bold' }, 'Product Review'), + div({ class: 'flex flex-col gap-2' }, [ + div({ class: 'flex justify-between items-center' }, [ + span({ class: 'text-sm w-24' }, 'Quality:'), Rating({ value: quality, count: 5, onchange: (v) => quality(v) }) ]), - Div({ class: 'flex justify-between items-center' }, [ - Span({ class: 'text-sm w-24' }, 'Price:'), + div({ class: 'flex justify-between items-center' }, [ + span({ class: 'text-sm w-24' }, 'Price:'), Rating({ value: price, count: 5, onchange: (v) => price(v) }) ]), - Div({ class: 'flex justify-between items-center' }, [ - Span({ class: 'text-sm w-24' }, 'Support:'), + div({ class: 'flex justify-between items-center' }, [ + span({ class: 'text-sm w-24' }, 'Support:'), Rating({ value: support, count: 5, @@ -179,10 +179,10 @@ const ReviewDemo = () => { }) ]) ]), - Div({ class: 'divider my-1' }), - Div({ class: 'flex justify-between items-center' }, [ - Span({ class: 'font-bold' }, 'Overall:'), - Div({ class: 'text-2xl font-bold text-primary' }, () => average()) + div({ class: 'divider my-1' }), + div({ class: 'flex justify-between items-center' }, [ + span({ class: 'font-bold' }, 'Overall:'), + div({ class: 'text-2xl font-bold text-primary' }, () => average()) ]) ]); }; @@ -200,21 +200,21 @@ mount(ReviewDemo, '#demo-review'); ```javascript const VariantsDemo = () => { - return Div({ class: 'flex flex-col gap-6' }, [ - Div({ class: 'text-center' }, [ - Div({ class: 'text-sm mb-2' }, 'Mask Star'), + return div({ class: 'flex flex-col gap-6' }, [ + div({ class: 'text-center' }, [ + div({ class: 'text-sm mb-2' }, 'Mask Star'), Rating({ value: $(3), count: 5, mask: 'mask-star' }) ]), - Div({ class: 'text-center' }, [ - Div({ class: 'text-sm mb-2' }, 'Mask Star 2 (yellow)'), + div({ class: 'text-center' }, [ + div({ class: 'text-sm mb-2' }, 'Mask Star 2 (yellow)'), Rating({ value: $(4), count: 5, mask: 'mask-star-2', class: 'rating-warning' }) ]), - Div({ class: 'text-center' }, [ - Div({ class: 'text-sm mb-2' }, 'Mask Heart'), + div({ class: 'text-center' }, [ + div({ class: 'text-sm mb-2' }, 'Mask Heart'), Rating({ value: $(5), count: 5, mask: 'mask-heart', class: 'rating-error' }) ]), - Div({ class: 'text-center' }, [ - Div({ class: 'text-sm mb-2' }, 'Half Stars (read-only)'), + div({ class: 'text-center' }, [ + div({ class: 'text-sm mb-2' }, 'Half Stars (read-only)'), Rating({ value: $(3.5), count: 5, readonly: true }) ]) ]); @@ -243,9 +243,9 @@ const FeedbackDemo = () => { 5: 'Excellent! 🎉' }; - return Div({ class: 'flex flex-col gap-4 items-center' }, [ - Div({ class: 'text-center' }, [ - Div({ class: 'text-sm mb-2' }, 'How was your experience?'), + return div({ class: 'flex flex-col gap-4 items-center' }, [ + div({ class: 'text-center' }, [ + div({ class: 'text-sm mb-2' }, 'How was your experience?'), Rating({ value: rating, count: 5, @@ -262,7 +262,7 @@ const FeedbackDemo = () => { }) ]), () => rating() > 0 - ? Div({ class: 'alert alert-soft text-center' }, [ + ? div({ class: 'alert alert-soft text-center' }, [ messages[rating()] || `Rating: ${rating()} stars` ]) : null diff --git a/docs/components/select.md b/docs/components/select.md index e106148..fa25282 100644 --- a/docs/components/select.md +++ b/docs/components/select.md @@ -49,9 +49,9 @@ Select supports all **daisyUI Select classes**: const BasicDemo = () => { const selected = $('apple'); - return Div({ class: 'form-control w-full max-w-xs' }, [ - Label({ class: 'label' }, Span({ class: 'label-text' }, 'Choose a fruit')), - Select({ + return div({ class: 'form-control w-full max-w-xs' }, [ + label({ class: 'label' }, span({ class: 'label-text' }, 'Choose a fruit')), + select({ class: 'select select-bordered w-full', value: selected, onchange: (e) => selected(e.target.value) @@ -82,10 +82,10 @@ mount(BasicDemo, '#demo-basic'); ```javascript const ReactiveDemo = () => { const selected = $('small'); - return Div({ class: 'flex flex-col gap-4 w-full' }, [ - Div({ class: 'form-control w-full max-w-xs' }, [ - Label({ class: 'label' }, Span({ class: 'label-text' }, 'Select size')), - Select({ + return div({ class: 'flex flex-col gap-4 w-full' }, [ + div({ class: 'form-control w-full max-w-xs' }, [ + label({ class: 'label' }, span({ class: 'label-text' }, 'Select size')), + select({ class: 'select select-bordered w-full', value: selected, onchange: (e) => selected(e.target.value) @@ -99,7 +99,7 @@ const ReactiveDemo = () => { }) ]) ]), - Div({ class: 'alert alert-info' }, () => `You selected: ${selected()}`) + div({ class: 'alert alert-info' }, () => `You selected: ${selected()}`) ]); }; mount(ReactiveDemo, '#demo-reactive'); @@ -116,9 +116,9 @@ mount(ReactiveDemo, '#demo-reactive'); ```javascript const DisabledDemo = () => { - return Div({ class: 'form-control w-full max-w-xs' }, [ - Label({ class: 'label' }, Span({ class: 'label-text' }, 'Country (disabled)')), - Select({ + return div({ class: 'form-control w-full max-w-xs' }, [ + label({ class: 'label' }, span({ class: 'label-text' }, 'Country (disabled)')), + select({ class: 'select select-bordered w-full', value: 'mx', disabled: true @@ -161,10 +161,10 @@ const DynamicDemo = () => { ] }; - return Div({ class: 'flex flex-col gap-4 w-full' }, [ - Div({ class: 'form-control w-full max-w-xs' }, [ - Label({ class: 'label' }, Span({ class: 'label-text' }, 'Category')), - Select({ + return div({ class: 'flex flex-col gap-4 w-full' }, [ + div({ class: 'form-control w-full max-w-xs' }, [ + label({ class: 'label' }, span({ class: 'label-text' }, 'Category')), + select({ class: 'select select-bordered w-full', value: category, onchange: (e) => { @@ -180,9 +180,9 @@ const DynamicDemo = () => { }) ]) ]), - Div({ class: 'form-control w-full max-w-xs' }, [ - Label({ class: 'label' }, Span({ class: 'label-text' }, 'Item')), - Select({ + div({ class: 'form-control w-full max-w-xs' }, [ + label({ class: 'label' }, span({ class: 'label-text' }, 'Item')), + select({ class: 'select select-bordered w-full', value: selectedItem, onchange: (e) => selectedItem(e.target.value) @@ -192,7 +192,7 @@ const DynamicDemo = () => { }) ]) ]), - () => selectedItem() ? Div({ class: 'alert alert-success' }, `Selected: ${selectedItem()}`) : null + () => selectedItem() ? div({ class: 'alert alert-success' }, `Selected: ${selectedItem()}`) : null ]); }; mount(DynamicDemo, '#demo-dynamic'); @@ -213,10 +213,10 @@ const VariantsDemo = () => { const secondary = $('option2'); const ghost = $(''); - return Div({ class: 'flex flex-col gap-4' }, [ - Div({ class: 'form-control w-full max-w-xs' }, [ - Label({ class: 'label' }, Span({ class: 'label-text' }, 'Primary Select')), - Select({ + return div({ class: 'flex flex-col gap-4' }, [ + div({ class: 'form-control w-full max-w-xs' }, [ + label({ class: 'label' }, span({ class: 'label-text' }, 'Primary Select')), + select({ class: 'select select-primary w-full', value: primary, onchange: (e) => primary(e.target.value) @@ -230,9 +230,9 @@ const VariantsDemo = () => { }) ]) ]), - Div({ class: 'form-control w-full max-w-xs' }, [ - Label({ class: 'label' }, Span({ class: 'label-text' }, 'Secondary Select')), - Select({ + div({ class: 'form-control w-full max-w-xs' }, [ + label({ class: 'label' }, span({ class: 'label-text' }, 'Secondary Select')), + select({ class: 'select select-secondary w-full', value: secondary, onchange: (e) => secondary(e.target.value) @@ -245,9 +245,9 @@ const VariantsDemo = () => { }) ]) ]), - Div({ class: 'form-control w-full max-w-xs' }, [ - Label({ class: 'label' }, Span({ class: 'label-text' }, 'Ghost Select')), - Select({ + div({ class: 'form-control w-full max-w-xs' }, [ + label({ class: 'label' }, span({ class: 'label-text' }, 'Ghost Select')), + select({ class: 'select select-ghost w-full', value: ghost, onchange: (e) => ghost(e.target.value) diff --git a/docs/components/stack.md b/docs/components/stack.md index 74b612a..4b879de 100644 --- a/docs/components/stack.md +++ b/docs/components/stack.md @@ -39,9 +39,9 @@ Stack supports all **daisyUI Stack classes**: ```javascript const BasicDemo = () => { return Stack({ class: 'w-40' }, [ - Div({ class: 'bg-primary text-primary-content rounded-lg p-4 shadow-lg' }, 'Layer 1'), - Div({ class: 'bg-secondary text-secondary-content rounded-lg p-4 shadow-lg' }, 'Layer 2'), - Div({ class: 'bg-accent text-accent-content rounded-lg p-4 shadow-lg' }, 'Layer 3') + div({ class: 'bg-primary text-primary-content rounded-lg p-4 shadow-lg' }, 'Layer 1'), + div({ class: 'bg-secondary text-secondary-content rounded-lg p-4 shadow-lg' }, 'Layer 2'), + div({ class: 'bg-accent text-accent-content rounded-lg p-4 shadow-lg' }, 'Layer 3') ]); }; mount(BasicDemo, '#demo-basic'); @@ -59,16 +59,16 @@ mount(BasicDemo, '#demo-basic'); ```javascript const CardsDemo = () => { return Stack({ class: 'w-64' }, [ - Div({ class: 'card bg-base-100 shadow-xl border border-base-300' }, [ - Div({ class: 'card-body p-4' }, [ - Span({ class: 'text-sm opacity-70' }, 'Back Card'), - Span({ class: 'font-bold' }, 'Additional info') + div({ class: 'card bg-base-100 shadow-xl border border-base-300' }, [ + div({ class: 'card-body p-4' }, [ + span({ class: 'text-sm opacity-70' }, 'Back Card'), + span({ class: 'font-bold' }, 'Additional info') ]) ]), - Div({ class: 'card bg-primary text-primary-content shadow-xl' }, [ - Div({ class: 'card-body p-4' }, [ - Span({ class: 'text-sm' }, 'Front Card'), - Span({ class: 'font-bold text-lg' }, 'Main Content') + div({ class: 'card bg-primary text-primary-content shadow-xl' }, [ + div({ class: 'card-body p-4' }, [ + span({ class: 'text-sm' }, 'Front Card'), + span({ class: 'font-bold text-lg' }, 'Main Content') ]) ]) ]); @@ -88,14 +88,14 @@ mount(CardsDemo, '#demo-cards'); ```javascript const AvatarsDemo = () => { return Stack({ class: 'w-32' }, [ - Div({ class: 'avatar placeholder' }, [ - Div({ class: 'bg-neutral text-neutral-content rounded-full w-16 h-16 flex items-center justify-center' }, 'JD') + div({ class: 'avatar placeholder' }, [ + div({ class: 'bg-neutral text-neutral-content rounded-full w-16 h-16 flex items-center justify-center' }, 'JD') ]), - Div({ class: 'avatar placeholder' }, [ - Div({ class: 'bg-primary text-primary-content rounded-full w-16 h-16 flex items-center justify-center' }, 'JS') + div({ class: 'avatar placeholder' }, [ + div({ class: 'bg-primary text-primary-content rounded-full w-16 h-16 flex items-center justify-center' }, 'JS') ]), - Div({ class: 'avatar placeholder' }, [ - Div({ class: 'bg-secondary text-secondary-content rounded-full w-16 h-16 flex items-center justify-center' }, 'BC') + div({ class: 'avatar placeholder' }, [ + div({ class: 'bg-secondary text-secondary-content rounded-full w-16 h-16 flex items-center justify-center' }, 'BC') ]) ]); }; @@ -114,14 +114,14 @@ mount(AvatarsDemo, '#demo-avatars'); ```javascript const ImagesDemo = () => { return Stack({ class: 'w-48' }, [ - Div({ class: 'w-full h-32 bg-gradient-to-r from-primary to-secondary rounded-lg shadow-lg' }, [ - Div({ class: 'p-2 text-white text-sm' }, 'Background Image') + div({ class: 'w-full h-32 bg-gradient-to-r from-primary to-secondary rounded-lg shadow-lg' }, [ + div({ class: 'p-2 text-white text-sm' }, 'Background Image') ]), - Div({ class: 'w-full h-32 bg-gradient-to-r from-secondary to-accent rounded-lg shadow-lg translate-x-2 translate-y-2' }, [ - Div({ class: 'p-2 text-white text-sm' }, 'Middle Layer') + div({ class: 'w-full h-32 bg-gradient-to-r from-secondary to-accent rounded-lg shadow-lg translate-x-2 translate-y-2' }, [ + div({ class: 'p-2 text-white text-sm' }, 'Middle Layer') ]), - Div({ class: 'w-full h-32 bg-gradient-to-r from-accent to-primary rounded-lg shadow-lg translate-x-4 translate-y-4 flex items-center justify-center' }, [ - Span({ class: 'text-white font-bold' }, 'Top Layer') + div({ class: 'w-full h-32 bg-gradient-to-r from-accent to-primary rounded-lg shadow-lg translate-x-4 translate-y-4 flex items-center justify-center' }, [ + span({ class: 'text-white font-bold' }, 'Top Layer') ]) ]); }; @@ -148,11 +148,11 @@ const GalleryDemo = () => { return Stack({ class: 'w-48 cursor-pointer hover:scale-105 transition-transform' }, [ ...photos.map((photo, idx) => - Div({ + div({ class: `${photo.color} rounded-lg shadow-lg transition-all`, style: `transform: translate(${idx * 4}px, ${idx * 4}px);` }, [ - Div({ class: 'p-4 text-white font-bold' }, photo.label) + div({ class: 'p-4 text-white font-bold' }, photo.label) ]) ) ]); @@ -175,21 +175,21 @@ const InteractiveDemo = () => { const colors = ['primary', 'secondary', 'accent', 'info', 'success']; const labels = ['Home', 'Profile', 'Settings', 'Messages', 'Notifications']; - return Div({ class: 'flex flex-col gap-6 items-center' }, [ + return div({ class: 'flex flex-col gap-6 items-center' }, [ Stack({ class: 'w-56' }, colors.map((color, idx) => - Div({ + div({ class: () => `bg-${color} text-${color}-content rounded-lg p-4 shadow-lg transition-all cursor-pointer ${idx === active() ? 'scale-105 z-10' : ''}`, style: () => `transform: translate(${idx * 8}px, ${idx * 8}px);`, onclick: () => active(idx) }, [ - Div({ class: 'font-bold' }, labels[idx]), - Div({ class: 'text-sm opacity-80' }, `Layer ${idx + 1}`) + div({ class: 'font-bold' }, labels[idx]), + div({ class: 'text-sm opacity-80' }, `Layer ${idx + 1}`) ]) )), - Div({ class: 'mt-4 text-center' }, [ - Span({ class: 'font-bold' }, () => `Active: ${labels[active()]}`), - Div({ class: 'flex gap-2 mt-2' }, colors.map((_, idx) => - Button({ + div({ class: 'mt-4 text-center' }, [ + span({ class: 'font-bold' }, () => `Active: ${labels[active()]}`), + div({ class: 'flex gap-2 mt-2' }, colors.map((_, idx) => + button({ class: () => `btn btn-xs ${idx === active() ? 'btn-primary' : 'btn-ghost'}`, onclick: () => active(idx) }, `${idx + 1}`) @@ -228,22 +228,22 @@ const NotificationsDemo = () => { error: 'bg-error text-error-content' }; - return Div({ class: 'flex flex-col gap-4 items-center' }, [ + return div({ class: 'flex flex-col gap-4 items-center' }, [ Stack({ class: 'w-80' }, () => notifications().map((notif, idx) => - Div({ + div({ class: () => `${typeClasses[notif.type]} rounded-lg p-3 shadow-lg transition-all cursor-pointer`, style: () => `transform: translate(${idx * 4}px, ${idx * 4}px);`, onclick: () => removeNotification(notif.id) }, [ - Div({ class: 'flex justify-between items-center' }, [ - Span({ class: 'text-sm' }, notif.message), - Span({ class: 'text-xs opacity-70 cursor-pointer hover:opacity-100' }, '✕') + div({ class: 'flex justify-between items-center' }, [ + span({ class: 'text-sm' }, notif.message), + span({ class: 'text-xs opacity-70 cursor-pointer hover:opacity-100' }, '✕') ]) ]) )), () => notifications().length === 0 - ? Div({ class: 'alert alert-soft' }, 'No notifications') - : Button({ + ? div({ class: 'alert alert-soft' }, 'No notifications') + : button({ class: 'btn btn-sm btn-ghost mt-2', onclick: () => notifications([]) }, 'Clear All') @@ -263,29 +263,29 @@ mount(NotificationsDemo, '#demo-notifications'); ```javascript const VariantsDemo = () => { - return Div({ class: 'flex flex-wrap gap-8 justify-center' }, [ - Div({ class: 'text-center' }, [ - Div({ class: 'text-sm mb-2' }, 'Small Stack'), + return div({ class: 'flex flex-wrap gap-8 justify-center' }, [ + div({ class: 'text-center' }, [ + div({ class: 'text-sm mb-2' }, 'Small Stack'), Stack({ class: 'w-24' }, [ - Div({ class: 'bg-primary rounded p-2 text-xs' }, '1'), - Div({ class: 'bg-secondary rounded p-2 text-xs' }, '2'), - Div({ class: 'bg-accent rounded p-2 text-xs' }, '3') + div({ class: 'bg-primary rounded p-2 text-xs' }, '1'), + div({ class: 'bg-secondary rounded p-2 text-xs' }, '2'), + div({ class: 'bg-accent rounded p-2 text-xs' }, '3') ]) ]), - Div({ class: 'text-center' }, [ - Div({ class: 'text-sm mb-2' }, 'Medium Stack'), + div({ class: 'text-center' }, [ + div({ class: 'text-sm mb-2' }, 'Medium Stack'), Stack({ class: 'w-32' }, [ - Div({ class: 'bg-primary rounded p-3' }, 'A'), - Div({ class: 'bg-secondary rounded p-3' }, 'B'), - Div({ class: 'bg-accent rounded p-3' }, 'C') + div({ class: 'bg-primary rounded p-3' }, 'A'), + div({ class: 'bg-secondary rounded p-3' }, 'B'), + div({ class: 'bg-accent rounded p-3' }, 'C') ]) ]), - Div({ class: 'text-center' }, [ - Div({ class: 'text-sm mb-2' }, 'Large Stack'), + div({ class: 'text-center' }, [ + div({ class: 'text-sm mb-2' }, 'Large Stack'), Stack({ class: 'w-40' }, [ - Div({ class: 'bg-primary rounded p-4' }, 'X'), - Div({ class: 'bg-secondary rounded p-4' }, 'Y'), - Div({ class: 'bg-accent rounded p-4' }, 'Z') + div({ class: 'bg-primary rounded p-4' }, 'X'), + div({ class: 'bg-secondary rounded p-4' }, 'Y'), + div({ class: 'bg-accent rounded p-4' }, 'Z') ]) ]) ]); diff --git a/docs/components/stat.md b/docs/components/stat.md index b3a4cba..49ba51d 100644 --- a/docs/components/stat.md +++ b/docs/components/stat.md @@ -41,7 +41,7 @@ Stat supports all **daisyUI Stat classes**: ```javascript const BasicDemo = () => { - return Div({ class: 'grid grid-cols-1 md:grid-cols-3 gap-4' }, [ + return div({ class: 'grid grid-cols-1 md:grid-cols-3 gap-4' }, [ Stat({ label: 'Total Users', value: '2,345', @@ -73,24 +73,24 @@ mount(BasicDemo, '#demo-basic'); ```javascript const IconsDemo = () => { - return Div({ class: 'grid grid-cols-1 md:grid-cols-3 gap-4' }, [ + return div({ class: 'grid grid-cols-1 md:grid-cols-3 gap-4' }, [ Stat({ label: 'Active Users', value: '1,234', desc: 'Currently online', - icon: Span({ class: 'text-4xl' }, '👥') // text-4xl para emojis + icon: span({ class: 'text-4xl' }, '👥') // text-4xl para emojis }), Stat({ label: 'New Orders', value: '89', desc: 'Today', - icon: Span({ class: 'text-4xl' }, '📦') + icon: span({ class: 'text-4xl' }, '📦') }), Stat({ label: 'Pending Tasks', value: '23', desc: 'Need attention', - icon: Span({ class: 'text-4xl' }, '⏳') + icon: span({ class: 'text-4xl' }, '⏳') }) ]); }; @@ -110,27 +110,27 @@ mount(IconsDemo, '#demo-icons'); const ReactiveDemo = () => { const count = $(0); - return Div({ class: 'flex flex-col gap-4' }, [ - Div({ class: 'grid grid-cols-1 md:grid-cols-2 gap-4' }, [ + return div({ class: 'flex flex-col gap-4' }, [ + div({ class: 'grid grid-cols-1 md:grid-cols-2 gap-4' }, [ Stat({ label: 'Counter', value: () => count(), desc: 'Click the button to increase', - icon: Span({ class: 'text-2xl' }, '🔢') + icon: span({ class: 'text-2xl' }, '🔢') }), Stat({ label: 'Squared', value: () => Math.pow(count(), 2), desc: 'Square of counter', - icon: Span({ class: 'text-2xl' }, '📐') + icon: span({ class: 'text-2xl' }, '📐') }) ]), - Div({ class: 'flex gap-2 justify-center' }, [ - Button({ + div({ class: 'flex gap-2 justify-center' }, [ + button({ class: 'btn btn-primary', onclick: () => count(count() + 1) }, 'Increment'), - Button({ + button({ class: 'btn btn-ghost', onclick: () => count(0) }, 'Reset') @@ -151,30 +151,30 @@ mount(ReactiveDemo, '#demo-reactive'); ```javascript const MultipleDemo = () => { - return Div({ class: 'grid grid-cols-1 md:grid-cols-4 gap-4' }, [ + return div({ class: 'grid grid-cols-1 md:grid-cols-4 gap-4' }, [ Stat({ label: 'Posts', value: '1,234', desc: 'Total content', - icon: Span({ class: 'text-4xl' }, '📝') // text-4xl + icon: span({ class: 'text-4xl' }, '📝') // text-4xl }), Stat({ label: 'Comments', value: '8,901', desc: 'Engagement', - icon: Span({ class: 'text-4xl' }, '💬') + icon: span({ class: 'text-4xl' }, '💬') }), Stat({ label: 'Likes', value: '12,345', desc: 'Reactions', - icon: Span({ class: 'text-4xl' }, '❤️') + icon: span({ class: 'text-4xl' }, '❤️') }), Stat({ label: 'Shares', value: '456', desc: 'Viral reach', - icon: Span({ class: 'text-4xl' }, '🔄') + icon: span({ class: 'text-4xl' }, '🔄') }) ]); }; @@ -208,35 +208,35 @@ const DashboardDemo = () => { }); }; - return Div({ class: 'flex flex-col gap-6' }, [ - Div({ class: 'grid grid-cols-1 md:grid-cols-4 gap-4' }, [ + return div({ class: 'flex flex-col gap-6' }, [ + div({ class: 'grid grid-cols-1 md:grid-cols-4 gap-4' }, [ Stat({ label: 'Total Users', value: () => stats().users.toLocaleString(), desc: 'Registered users', - icon: Span({ class: 'text-4xl' }, '👥') // text-4xl + icon: span({ class: 'text-4xl' }, '👥') // text-4xl }), Stat({ label: 'Revenue', value: () => `$${stats().revenue.toLocaleString()}`, desc: 'This month', - icon: Span({ class: 'text-4xl' }, '💰') + icon: span({ class: 'text-4xl' }, '💰') }), Stat({ label: 'Orders', value: () => stats().orders.toLocaleString(), desc: 'Completed', - icon: Span({ class: 'text-4xl' }, '📦') + icon: span({ class: 'text-4xl' }, '📦') }), Stat({ label: 'Satisfaction', value: () => `${stats().satisfaction}%`, desc: stats().satisfaction > 90 ? 'Excellent!' : 'Good', - icon: Span({ class: 'text-4xl' }, '😊') + icon: span({ class: 'text-4xl' }, '😊') }) ]), - Div({ class: 'flex justify-center' }, [ - Button({ + div({ class: 'flex justify-center' }, [ + button({ class: 'btn btn-primary', onclick: updateStats }, 'Refresh Data') @@ -257,33 +257,33 @@ mount(DashboardDemo, '#demo-dashboard'); ```javascript const VariantsDemo = () => { - return Div({ class: 'grid grid-cols-1 md:grid-cols-2 gap-4' }, [ + return div({ class: 'grid grid-cols-1 md:grid-cols-2 gap-4' }, [ Stat({ label: 'Primary Stat', value: '1,234', desc: 'With description', - icon: Span({ class: 'text-4xl' }, '⭐'), // text-4xl + icon: span({ class: 'text-4xl' }, '⭐'), // text-4xl class: 'bg-primary/10 text-primary' }), Stat({ label: 'Success Stat', value: '89%', desc: 'Success rate', - icon: Span({ class: 'text-4xl' }, '✅'), + icon: span({ class: 'text-4xl' }, '✅'), class: 'bg-success/10 text-success' }), Stat({ label: 'Warning Stat', value: '23', desc: 'Pending items', - icon: Span({ class: 'text-4xl' }, '⚠️'), + icon: span({ class: 'text-4xl' }, '⚠️'), class: 'bg-warning/10 text-warning' }), Stat({ label: 'Error Stat', value: '5', desc: 'Failed attempts', - icon: Span({ class: 'text-4xl' }, '❌'), + icon: span({ class: 'text-4xl' }, '❌'), class: 'bg-error/10 text-error' }) ]); @@ -302,7 +302,7 @@ mount(VariantsDemo, '#demo-variants'); ```javascript const CompactDemo = () => { - return Div({ class: 'flex flex-wrap gap-4' }, [ + return div({ class: 'flex flex-wrap gap-4' }, [ Stat({ label: 'Views', value: '12.3K', diff --git a/docs/components/swap.md b/docs/components/swap.md index eca7ad3..caf8116 100644 --- a/docs/components/swap.md +++ b/docs/components/swap.md @@ -111,8 +111,8 @@ const CustomDemo = () => { return Swap({ value: isOn, - on: Div({ class: "badge badge-success gap-1" }, ["✅", " Active"]), - off: Div({ class: "badge badge-ghost gap-1" }, ["⭕", " Inactive"]) + on: div({ class: "badge badge-success gap-1" }, ["✅", " Active"]), + off: div({ class: "badge badge-ghost gap-1" }, ["⭕", " Inactive"]) }); }; mount(CustomDemo, '#demo-custom'); @@ -131,16 +131,16 @@ mount(CustomDemo, '#demo-custom'); const ReactiveDemo = () => { const isOn = $(false); - return Div({ class: 'flex flex-col gap-4 items-center' }, [ + return div({ class: 'flex flex-col gap-4 items-center' }, [ Swap({ value: isOn, on: "👁️", off: "👁️‍🗨️" }), - Div({ class: 'text-center' }, () => + div({ class: 'text-center' }, () => isOn() - ? Div({ class: 'alert alert-success' }, 'Content is visible') - : Div({ class: 'alert alert-soft' }, 'Content is hidden') + ? div({ class: 'alert alert-success' }, 'Content is visible') + : div({ class: 'alert alert-soft' }, 'Content is hidden') ) ]); }; @@ -162,33 +162,33 @@ const ModeDemo = () => { const notifications = $(true); const sound = $(false); - return Div({ class: 'flex flex-col gap-4 w-full' }, [ - Div({ class: 'flex justify-between items-center' }, [ - Span({}, 'Dark mode'), + return div({ class: 'flex flex-col gap-4 w-full' }, [ + div({ class: 'flex justify-between items-center' }, [ + span({}, 'Dark mode'), Swap({ value: darkMode, on: "🌙", off: "☀️" }) ]), - Div({ class: 'flex justify-between items-center' }, [ - Span({}, 'Notifications'), + div({ class: 'flex justify-between items-center' }, [ + span({}, 'Notifications'), Swap({ value: notifications, on: "🔔", off: "🔕" }) ]), - Div({ class: 'flex justify-between items-center' }, [ - Span({}, 'Sound effects'), + div({ class: 'flex justify-between items-center' }, [ + span({}, 'Sound effects'), Swap({ value: sound, on: "🔊", off: "🔇" }) ]), - Div({ class: 'mt-2 p-3 rounded-lg', style: () => darkMode() ? 'background: #1f2937; color: white' : 'background: #f3f4f6' }, [ - Div({ class: 'text-sm' }, () => `Mode: ${darkMode() ? 'Dark' : 'Light'} | Notifications: ${notifications() ? 'On' : 'Off'} | Sound: ${sound() ? 'On' : 'Off'}`) + div({ class: 'mt-2 p-3 rounded-lg', style: () => darkMode() ? 'background: #1f2937; color: white' : 'background: #f3f4f6' }, [ + div({ class: 'text-sm' }, () => `Mode: ${darkMode() ? 'Dark' : 'Light'} | Notifications: ${notifications() ? 'On' : 'Off'} | Sound: ${sound() ? 'On' : 'Off'}`) ]) ]); }; @@ -206,33 +206,33 @@ mount(ModeDemo, '#demo-mode'); ```javascript const VariantsDemo = () => { - return Div({ class: 'flex flex-wrap gap-8 justify-center items-center' }, [ - Div({ class: 'text-center' }, [ - Div({ class: 'text-xs mb-2' }, 'Volume'), + return div({ class: 'flex flex-wrap gap-8 justify-center items-center' }, [ + div({ class: 'text-center' }, [ + div({ class: 'text-xs mb-2' }, 'Volume'), Swap({ value: $(false), on: "🔊", off: "🔇" }) ]), - Div({ class: 'text-center' }, [ - Div({ class: 'text-xs mb-2' }, 'Like'), + div({ class: 'text-center' }, [ + div({ class: 'text-xs mb-2' }, 'Like'), Swap({ value: $(true), on: "❤️", off: "🤍" }) ]), - Div({ class: 'text-center' }, [ - Div({ class: 'text-xs mb-2' }, 'Star'), + div({ class: 'text-center' }, [ + div({ class: 'text-xs mb-2' }, 'Star'), Swap({ value: $(false), on: "⭐", off: "☆" }) ]), - Div({ class: 'text-center' }, [ - Div({ class: 'text-xs mb-2' }, 'Check'), + div({ class: 'text-center' }, [ + div({ class: 'text-xs mb-2' }, 'Check'), Swap({ value: $(true), on: "✅", @@ -261,11 +261,11 @@ const TodoDemo = () => { { id: 3, text: 'Deploy to production', completed: $(false) } ]; - return Div({ class: 'flex flex-col gap-3' }, [ - Div({ class: 'text-sm font-bold mb-2' }, 'Todo list'), + return div({ class: 'flex flex-col gap-3' }, [ + div({ class: 'text-sm font-bold mb-2' }, 'Todo list'), ...todos.map(todo => - Div({ class: 'flex items-center justify-between p-2 bg-base-200 rounded-lg' }, [ - Span({ class: todo.completed() ? 'line-through opacity-50' : '' }, todo.text), + div({ class: 'flex items-center justify-between p-2 bg-base-200 rounded-lg' }, [ + span({ class: todo.completed() ? 'line-through opacity-50' : '' }, todo.text), Swap({ value: todo.completed, on: "✅", @@ -273,7 +273,7 @@ const TodoDemo = () => { }) ]) ), - Div({ class: 'mt-2 text-sm opacity-70' }, () => { + div({ class: 'mt-2 text-sm opacity-70' }, () => { const completed = todos.filter(t => t.completed()).length; return `${completed} of ${todos.length} tasks completed`; }) diff --git a/docs/components/table.md b/docs/components/table.md index ea75bdc..9220d6a 100644 --- a/docs/components/table.md +++ b/docs/components/table.md @@ -60,7 +60,7 @@ const BasicDemo = () => { { id: 3, name: 'Bob Johnson', email: 'bob@example.com', role: 'Editor' } ]; - return Table({ + return table({ items: users, columns: [ { label: 'ID', key: 'id' }, @@ -91,7 +91,7 @@ const ZebraDemo = () => { { id: 4, name: 'Monitor', price: '$299', stock: 12 } ]; - return Table({ + return table({ items: products, columns: [ { label: 'Product', key: 'name' }, @@ -121,7 +121,7 @@ const CustomDemo = () => { { id: 103, customer: 'Charlie', amount: 450, status: 'shipped' } ]; - return Table({ + return table({ items: orders, columns: [ { label: 'Order ID', key: 'id' }, @@ -140,7 +140,7 @@ const CustomDemo = () => { pending: 'badge badge-warning', shipped: 'badge badge-info' }; - return Span({ class: statusClass[item.status] }, item.status); + return span({ class: statusClass[item.status] }, item.status); } } ], @@ -170,7 +170,7 @@ const FooterDemo = () => { const totalRevenue = sales.reduce((sum, item) => sum + item.revenue, 0); const totalExpenses = sales.reduce((sum, item) => sum + item.expenses, 0); - return Table({ + return table({ items: sales, columns: [ { label: 'Month', key: 'month' }, @@ -211,15 +211,15 @@ mount(FooterDemo, '#demo-footer'); const EmptyDemo = () => { const emptyList = []; - return Table({ + return table({ items: emptyList, columns: [ { label: 'ID', key: 'id' }, { label: 'Name', key: 'name' } ], - empty: Div({ class: 'flex flex-col items-center gap-2 p-4' }, [ - Span({ class: 'text-2xl' }, '📭'), - Span({}, 'No records found') + empty: div({ class: 'flex flex-col items-center gap-2 p-4' }, [ + span({ class: 'text-2xl' }, '📭'), + span({}, 'No records found') ]) }); }; @@ -259,26 +259,26 @@ const ReactiveDemo = () => { tasks([...tasks(), { id: newId, title: `Task ${newId}`, completed: false }]); }; - return Div({ class: 'flex flex-col gap-4' }, [ - Div({ class: 'flex gap-2' }, [ - Button({ + return div({ class: 'flex flex-col gap-4' }, [ + div({ class: 'flex gap-2' }, [ + button({ class: 'btn btn-sm', onclick: () => filter('all') }, 'All'), - Button({ + button({ class: 'btn btn-sm', onclick: () => filter('completed') }, 'Completed'), - Button({ + button({ class: 'btn btn-sm', onclick: () => filter('pending') }, 'Pending'), - Button({ + button({ class: 'btn btn-sm btn-primary', onclick: addTask }, 'Add Task') ]), - Table({ + table({ items: filteredTasks, columns: [ { label: 'ID', key: 'id' }, @@ -286,8 +286,8 @@ const ReactiveDemo = () => { { label: 'Status', render: (item) => item.completed - ? Span({ class: 'badge badge-success' }, '✓ Done') - : Span({ class: 'badge badge-warning' }, '○ Pending') + ? span({ class: 'badge badge-success' }, '✓ Done') + : span({ class: 'badge badge-warning' }, '○ Pending') } ], zebra: true @@ -325,7 +325,7 @@ const ActionsDemo = () => { )); }; - return Table({ + return table({ items: users, columns: [ { label: 'ID', key: 'id' }, @@ -334,17 +334,17 @@ const ActionsDemo = () => { { label: 'Status', render: (item) => item.active - ? Span({ class: 'badge badge-success' }, 'Active') - : Span({ class: 'badge badge-ghost' }, 'Inactive') + ? span({ class: 'badge badge-success' }, 'Active') + : span({ class: 'badge badge-ghost' }, 'Inactive') }, { label: 'Actions', - render: (item) => Div({ class: 'flex gap-1' }, [ - Button({ + render: (item) => div({ class: 'flex gap-1' }, [ + button({ class: 'btn btn-xs btn-ghost', onclick: () => toggleActive(item.id) }, item.active ? 'Deactivate' : 'Activate'), - Button({ + button({ class: 'btn btn-xs btn-error', onclick: () => deleteUser(item.id) }, 'Delete') @@ -374,9 +374,9 @@ const VariantsDemo = () => { { id: 3, name: 'Item 3', value: 300 } ]; - return Div({ class: 'flex flex-col gap-6' }, [ - Div({ class: 'text-sm font-bold' }, 'Default Table'), - Table({ + return div({ class: 'flex flex-col gap-6' }, [ + div({ class: 'text-sm font-bold' }, 'Default Table'), + table({ items: data, columns: [ { label: 'ID', key: 'id' }, @@ -385,8 +385,8 @@ const VariantsDemo = () => { ] }), - Div({ class: 'text-sm font-bold mt-4' }, 'Zebra Stripes'), - Table({ + div({ class: 'text-sm font-bold mt-4' }, 'Zebra Stripes'), + table({ items: data, columns: [ { label: 'ID', key: 'id' }, @@ -396,8 +396,8 @@ const VariantsDemo = () => { zebra: true }), - Div({ class: 'text-sm font-bold mt-4' }, 'Compact Table'), - Table({ + div({ class: 'text-sm font-bold mt-4' }, 'Compact Table'), + table({ items: data, columns: [ { label: 'ID', key: 'id' }, diff --git a/docs/components/tabs.md b/docs/components/tabs.md index c07c467..fbf056f 100644 --- a/docs/components/tabs.md +++ b/docs/components/tabs.md @@ -70,19 +70,19 @@ const BasicDemo = () => { label: 'Tab 1', active: () => activeTab() === 'tab1', onclick: () => activeTab('tab1'), - content: Div({ class: 'p-4' }, 'Content for Tab 1') + content: div({ class: 'p-4' }, 'Content for Tab 1') }, { label: 'Tab 2', active: () => activeTab() === 'tab2', onclick: () => activeTab('tab2'), - content: Div({ class: 'p-4' }, 'Content for Tab 2') + content: div({ class: 'p-4' }, 'Content for Tab 2') }, { label: 'Tab 3', active: () => activeTab() === 'tab3', onclick: () => activeTab('tab3'), - content: Div({ class: 'p-4' }, 'Content for Tab 3') + content: div({ class: 'p-4' }, 'Content for Tab 3') } ] }); @@ -106,22 +106,22 @@ const IconsDemo = () => { return Tabs({ items: [ { - label: Span({ class: 'flex items-center gap-2' }, ['🏠', 'Home']), + label: span({ class: 'flex items-center gap-2' }, ['🏠', 'Home']), active: () => activeTab() === 'home', onclick: () => activeTab('home'), - content: Div({ class: 'p-4' }, 'Welcome to the Home tab!') + content: div({ class: 'p-4' }, 'Welcome to the Home tab!') }, { - label: Span({ class: 'flex items-center gap-2' }, ['⭐', 'Favorites']), + label: span({ class: 'flex items-center gap-2' }, ['⭐', 'Favorites']), active: () => activeTab() === 'favorites', onclick: () => activeTab('favorites'), - content: Div({ class: 'p-4' }, 'Your favorite items appear here.') + content: div({ class: 'p-4' }, 'Your favorite items appear here.') }, { - label: Span({ class: 'flex items-center gap-2' }, ['⚙️', 'Settings']), + label: span({ class: 'flex items-center gap-2' }, ['⚙️', 'Settings']), active: () => activeTab() === 'settings', onclick: () => activeTab('settings'), - content: Div({ class: 'p-4' }, 'Configure your preferences.') + content: div({ class: 'p-4' }, 'Configure your preferences.') } ] }); @@ -149,21 +149,21 @@ const TooltipsDemo = () => { tip: 'View your profile information', active: () => activeTab() === 'profile', onclick: () => activeTab('profile'), - content: Div({ class: 'p-4' }, 'Profile information here.') + content: div({ class: 'p-4' }, 'Profile information here.') }, { label: 'Settings', tip: 'Adjust your preferences', active: () => activeTab() === 'settings', onclick: () => activeTab('settings'), - content: Div({ class: 'p-4' }, 'Settings configuration.') + content: div({ class: 'p-4' }, 'Settings configuration.') }, { label: 'Notifications', tip: 'Manage notifications', active: () => activeTab() === 'notifications', onclick: () => activeTab('notifications'), - content: Div({ class: 'p-4' }, 'Notification settings.') + content: div({ class: 'p-4' }, 'Notification settings.') } ] }); @@ -190,19 +190,19 @@ const DisabledDemo = () => { label: 'Basic', active: () => activeTab() === 'basic', onclick: () => activeTab('basic'), - content: Div({ class: 'p-4' }, 'Basic features available.') + content: div({ class: 'p-4' }, 'Basic features available.') }, { label: 'Premium', disabled: true, tip: 'Upgrade to access', - content: Div({ class: 'p-4' }, 'Premium content (locked)') + content: div({ class: 'p-4' }, 'Premium content (locked)') }, { label: 'Pro', disabled: true, tip: 'Coming soon', - content: Div({ class: 'p-4' }, 'Pro features (coming soon)') + content: div({ class: 'p-4' }, 'Pro features (coming soon)') } ] }); @@ -230,9 +230,9 @@ const ReactiveDemo = () => { label: 'Counter', active: () => activeTab() === 'counter', onclick: () => activeTab('counter'), - content: Div({ class: 'p-4 text-center' }, [ - Div({ class: 'text-4xl font-bold mb-4' }, () => count()), - Button({ + content: div({ class: 'p-4 text-center' }, [ + div({ class: 'text-4xl font-bold mb-4' }, () => count()), + button({ class: 'btn btn-primary', onclick: () => count(count() + 1) }, 'Increment') @@ -242,13 +242,13 @@ const ReactiveDemo = () => { label: 'Timer', active: () => activeTab() === 'timer', onclick: () => activeTab('timer'), - content: Div({ class: 'p-4' }, () => `Current time: ${new Date().toLocaleTimeString()}`) + content: div({ class: 'p-4' }, () => `Current time: ${new Date().toLocaleTimeString()}`) }, { label: 'Status', active: () => activeTab() === 'status', onclick: () => activeTab('status'), - content: Div({ class: 'p-4' }, () => `Counter value: ${count()}, Last updated: ${new Date().toLocaleTimeString()}`) + content: div({ class: 'p-4' }, () => `Counter value: ${count()}, Last updated: ${new Date().toLocaleTimeString()}`) } ] }); @@ -286,21 +286,21 @@ const FormTabs = () => { console.log(formData()); }; - return Div({ class: 'flex flex-col gap-4' }, [ + return div({ class: 'flex flex-col gap-4' }, [ Tabs({ items: [ { label: 'Personal Info', active: () => activeTab() === 'personal', onclick: () => activeTab('personal'), - content: Div({ class: 'p-4 space-y-4' }, [ - Input({ + content: div({ class: 'p-4 space-y-4' }, [ + input({ label: 'Name', value: () => formData().name, placeholder: 'Enter your name', oninput: (e) => updateField('name', e.target.value) }), - Input({ + input({ label: 'Email', type: 'email', value: () => formData().email, @@ -313,14 +313,14 @@ const FormTabs = () => { label: 'Address', active: () => activeTab() === 'address', onclick: () => activeTab('address'), - content: Div({ class: 'p-4 space-y-4' }, [ - Input({ + content: div({ class: 'p-4 space-y-4' }, [ + input({ label: 'Address', value: () => formData().address, placeholder: 'Street address', oninput: (e) => updateField('address', e.target.value) }), - Input({ + input({ label: 'City', value: () => formData().city, placeholder: 'City', @@ -332,7 +332,7 @@ const FormTabs = () => { label: 'Preferences', active: () => activeTab() === 'prefs', onclick: () => activeTab('prefs'), - content: Div({ class: 'p-4 space-y-4' }, [ + content: div({ class: 'p-4 space-y-4' }, [ Checkbox({ label: 'Email notifications', value: () => formData().notifications, @@ -347,8 +347,8 @@ const FormTabs = () => { } ] }), - Div({ class: 'flex justify-end mt-4' }, [ - Button({ + div({ class: 'flex justify-end mt-4' }, [ + button({ class: 'btn btn-primary', onclick: handleSubmit }, 'Submit') @@ -379,39 +379,39 @@ const VariantsDemo = () => { label: 'Tab 1', active: () => active() === 'tab1', onclick: () => active('tab1'), - content: Div({ class: 'p-4' }, 'Content 1') + content: div({ class: 'p-4' }, 'Content 1') }, { label: 'Tab 2', active: () => active() === 'tab2', onclick: () => active('tab2'), - content: Div({ class: 'p-4' }, 'Content 2') + content: div({ class: 'p-4' }, 'Content 2') }, { label: 'Tab 3', active: () => active() === 'tab3', onclick: () => active('tab3'), - content: Div({ class: 'p-4' }, 'Content 3') + content: div({ class: 'p-4' }, 'Content 3') }, { label: 'Tab 4', active: () => active() === 'tab4', onclick: () => active('tab4'), - content: Div({ class: 'p-4' }, 'Content 4') + content: div({ class: 'p-4' }, 'Content 4') } ]; - return Div({ class: 'flex flex-col gap-6' }, [ - Div({ class: 'text-sm font-bold' }, 'Default Tabs'), + return div({ class: 'flex flex-col gap-6' }, [ + div({ class: 'text-sm font-bold' }, 'Default Tabs'), Tabs({ items: createItems(active1) }), - Div({ class: 'text-sm font-bold mt-4' }, 'Boxed Tabs'), + div({ class: 'text-sm font-bold mt-4' }, 'Boxed Tabs'), Tabs({ items: createItems(active2), class: 'tabs-box' }), - Div({ class: 'text-sm font-bold mt-4' }, 'Lifted Tabs'), + div({ class: 'text-sm font-bold mt-4' }, 'Lifted Tabs'), Tabs({ items: createItems(active3), class: 'tabs-lift' }), - Div({ class: 'text-sm font-bold mt-4' }, 'Bordered Tabs'), + div({ class: 'text-sm font-bold mt-4' }, 'Bordered Tabs'), Tabs({ items: createItems(active4), class: 'tabs-border' }) ]); }; @@ -427,9 +427,9 @@ let nextTabId = 4; const ClosableTabsDemo = () => { const tabs = $([ - { label: 'Tab 1', tip:"Tab1" , content: Div('Content 1') }, // ❌ quita active: true - { label: 'Tab 2', tip: "Tab 2 Default", content: Div('Content 2'), closable: true }, - { label: 'Tab 3', content: Div('Content 3'), closable: true } + { label: 'Tab 1', tip:"Tab1" , content: div('Content 1') }, // ❌ quita active: true + { label: 'Tab 2', tip: "Tab 2 Default", content: div('Content 2'), closable: true }, + { label: 'Tab 3', content: div('Content 3'), closable: true } ]); // Opcional: si quieres que la primera pestaña esté activa al inicio, @@ -440,14 +440,14 @@ const ClosableTabsDemo = () => { const newId = nextTabId++; tabs([...tabs(), { label: `Tab ${newId}`, - content: Div(`Content ${newId}`), + content: div(`Content ${newId}`), onClose: (item) => console.log('Closing Individual', item), closable: true }]); }; - return Div({ class: 'flex flex-col gap-4' }, [ - Button({ class: 'btn btn-sm btn-outline mb-2', onclick: addTab }, 'Add Tab'), + return div({ class: 'flex flex-col gap-4' }, [ + button({ class: 'btn btn-sm btn-outline mb-2', onclick: addTab }, 'Add Tab'), Tabs({ items: tabs, onTabClose: (item) => console.log('Closing', item) }) ]); }; diff --git a/docs/components/timeline.md b/docs/components/timeline.md index 1b54662..86dbb5d 100644 --- a/docs/components/timeline.md +++ b/docs/components/timeline.md @@ -176,15 +176,15 @@ const ReactiveDemo = () => { Toast('Order tracking reset', 'alert-warning', 1500); }; - return Div({ class: 'flex flex-col gap-4' }, [ + return div({ class: 'flex flex-col gap-4' }, [ Timeline({ items: items }), - Div({ class: 'flex gap-2 justify-center mt-4' }, [ - Button({ + div({ class: 'flex gap-2 justify-center mt-4' }, [ + button({ class: 'btn btn-primary btn-sm', onclick: nextStep, disabled: () => currentStep() >= steps.length }, 'Next Step'), - Button({ + button({ class: 'btn btn-ghost btn-sm', onclick: reset, disabled: () => currentStep() === 0 @@ -224,10 +224,10 @@ const OrderDemo = () => { completed: idx < currentIndex() })); - return Div({ class: 'flex flex-col gap-4' }, [ + return div({ class: 'flex flex-col gap-4' }, [ Timeline({ items, compact: true }), - Div({ class: 'flex gap-2 justify-center flex-wrap mt-4' }, statusOrder.map(s => - Button({ + div({ class: 'flex gap-2 justify-center flex-wrap mt-4' }, statusOrder.map(s => + button({ class: () => `btn btn-xs ${status() === s ? 'btn-primary' : 'btn-ghost'}`, onclick: () => status(s) }, statusMap[s].title) @@ -279,14 +279,14 @@ const VariantsDemo = () => { { title: 'Event 3', detail: 'Description here', type: 'info', completed: false } ]; - return Div({ class: 'flex flex-col gap-8' }, [ - Div({ class: 'text-sm font-bold' }, 'Vertical Timeline'), + return div({ class: 'flex flex-col gap-8' }, [ + div({ class: 'text-sm font-bold' }, 'Vertical Timeline'), Timeline({ items: sampleItems }), - Div({ class: 'text-sm font-bold mt-4' }, 'Horizontal Timeline'), + div({ class: 'text-sm font-bold mt-4' }, 'Horizontal Timeline'), Timeline({ items: sampleItems, vertical: false, class: 'min-w-[500px]' }), - Div({ class: 'text-sm font-bold mt-4' }, 'Compact Timeline'), + div({ class: 'text-sm font-bold mt-4' }, 'Compact Timeline'), Timeline({ items: sampleItems, compact: true }) ]); }; diff --git a/docs/components/toast.md b/docs/components/toast.md index 432ea40..a3a74f5 100644 --- a/docs/components/toast.md +++ b/docs/components/toast.md @@ -25,20 +25,20 @@ Toast notification utility for displaying temporary messages that automatically ```javascript const BasicDemo = () => { - return Div({ class: 'flex flex-wrap gap-2 justify-center' }, [ - Button({ + return div({ class: 'flex flex-wrap gap-2 justify-center' }, [ + button({ class: 'btn btn-info', onclick: () => Toast('This is an info message', 'alert-info', 3000) }, 'Info Toast'), - Button({ + button({ class: 'btn btn-success', onclick: () => Toast('Operation successful!', 'alert-success', 3000) }, 'Success Toast'), - Button({ + button({ class: 'btn btn-warning', onclick: () => Toast('Please check your input', 'alert-warning', 3000) }, 'Warning Toast'), - Button({ + button({ class: 'btn btn-error', onclick: () => Toast('An error occurred', 'alert-error', 3000) }, 'Error Toast') @@ -58,20 +58,20 @@ mount(BasicDemo, '#demo-basic'); ```javascript const DurationDemo = () => { - return Div({ class: 'flex flex-wrap gap-2 justify-center' }, [ - Button({ + return div({ class: 'flex flex-wrap gap-2 justify-center' }, [ + button({ class: 'btn btn-sm', onclick: () => Toast('Short (1s)', 'alert-info', 1000) }, '1 Second'), - Button({ + button({ class: 'btn btn-sm', onclick: () => Toast('Normal (3s)', 'alert-success', 3000) }, '3 Seconds'), - Button({ + button({ class: 'btn btn-sm', onclick: () => Toast('Long (5s)', 'alert-warning', 5000) }, '5 Seconds'), - Button({ + button({ class: 'btn btn-sm', onclick: () => Toast('Very Long (8s)', 'alert-error', 8000) }, '8 Seconds') @@ -107,12 +107,12 @@ const InteractiveDemo = () => { Toast(`${randomMessage} (${count()})`, randomType, 2000); }; - return Div({ class: 'flex flex-col gap-4 items-center' }, [ - Button({ + return div({ class: 'flex flex-col gap-4 items-center' }, [ + button({ class: 'btn btn-primary', onclick: showRandomToast }, 'Show Random Toast'), - Div({ class: 'text-sm opacity-70' }, () => `Toasts shown: ${count()}`) + div({ class: 'text-sm opacity-70' }, () => `Toasts shown: ${count()}`) ]); }; mount(InteractiveDemo, '#demo-interactive'); @@ -152,23 +152,23 @@ const FormToastDemo = () => { Toast('Login successful! Redirecting...', 'alert-success', 2000); }; - return Div({ class: 'flex flex-col gap-4 max-w-md mx-auto' }, [ - Div({ class: 'text-lg font-bold text-center' }, 'Login Form'), - Input({ + return div({ class: 'flex flex-col gap-4 max-w-md mx-auto' }, [ + div({ class: 'text-lg font-bold text-center' }, 'Login Form'), + input({ label: 'Email', type: 'email', value: email, placeholder: 'user@example.com', oninput: (e) => email(e.target.value) }), - Input({ + input({ label: 'Password', type: 'password', value: password, placeholder: 'Enter password', oninput: (e) => password(e.target.value) }), - Button({ + button({ class: 'btn btn-primary', onclick: handleSubmit }, 'Login') @@ -206,20 +206,20 @@ const FeedbackDemo = () => { Toast('All items saved!', 'alert-success', 2000); }; - return Div({ class: 'flex flex-col gap-4' }, [ - Div({ class: 'flex justify-between items-center' }, [ - Span({ class: 'font-bold' }, 'Items to Save'), - Button({ + return div({ class: 'flex flex-col gap-4' }, [ + div({ class: 'flex justify-between items-center' }, [ + span({ class: 'font-bold' }, 'Items to Save'), + button({ class: 'btn btn-sm btn-primary', onclick: saveAll }, 'Save All') ]), - Div({ class: 'flex flex-col gap-2' }, items().map(item => - Div({ class: 'flex justify-between items-center p-3 bg-base-200 rounded-lg' }, [ - Span({}, item.name), + div({ class: 'flex flex-col gap-2' }, items().map(item => + div({ class: 'flex justify-between items-center p-3 bg-base-200 rounded-lg' }, [ + span({}, item.name), item.saved - ? Span({ class: 'badge badge-success' }, '✓ Saved') - : Button({ + ? span({ class: 'badge badge-success' }, '✓ Saved') + : button({ class: 'btn btn-xs btn-primary', onclick: () => saveItem(item.id) }, 'Save') @@ -259,16 +259,16 @@ const ErrorDemo = () => { Toast('Request timeout (5s). Please check your connection.', 'alert-warning', 4000); }; - return Div({ class: 'flex flex-wrap gap-3 justify-center' }, [ - Button({ + return div({ class: 'flex flex-wrap gap-3 justify-center' }, [ + button({ class: 'btn btn-primary', onclick: simulateApiCall }, 'Simulate API Call'), - Button({ + button({ class: 'btn btn-error', onclick: simulateNetworkError }, 'Network Error'), - Button({ + button({ class: 'btn btn-warning', onclick: simulateTimeout }, 'Timeout') @@ -292,20 +292,20 @@ const CustomDemo = () => { Toast(message, type, 3000); }; - return Div({ class: 'flex flex-wrap gap-2 justify-center' }, [ - Button({ + return div({ class: 'flex flex-wrap gap-2 justify-center' }, [ + button({ class: 'btn btn-info', onclick: () => showCustomToast('alert-info', '📧 New email received from john@example.com') }, 'Email'), - Button({ + button({ class: 'btn btn-success', onclick: () => showCustomToast('alert-success', '💰 Payment of $49.99 completed') }, 'Payment'), - Button({ + button({ class: 'btn btn-warning', onclick: () => showCustomToast('alert-warning', '⚠️ Your session will expire in 5 minutes') }, 'Session Warning'), - Button({ + button({ class: 'btn btn-error', onclick: () => showCustomToast('alert-error', '🔒 Failed login attempt detected') }, 'Security Alert') @@ -332,8 +332,8 @@ const MultipleDemo = () => { setTimeout(() => Toast('Fourth message', 'alert-error', 3000), 1500); }; - return Div({ class: 'flex justify-center' }, [ - Button({ + return div({ class: 'flex justify-center' }, [ + button({ class: 'btn btn-primary', onclick: showMultipleToasts }, 'Show Multiple Toasts') diff --git a/docs/components/tooltip.md b/docs/components/tooltip.md index 56af8b5..299b343 100644 --- a/docs/components/tooltip.md +++ b/docs/components/tooltip.md @@ -29,7 +29,7 @@ Tooltip supports all **daisyUI Tooltip classes**: ```javascript Tooltip({ tip: "This is a tooltip", class: "tooltip-primary" }, [ - Button({ class: "btn" }, "Hover me") + button({ class: "btn" }, "Hover me") ]); ``` @@ -46,15 +46,15 @@ Tooltip({ tip: "This is a tooltip", class: "tooltip-primary" }, [ ```javascript const BasicDemo = () => { - return Div({ class: 'flex flex-wrap gap-4 justify-center' }, [ + return div({ class: 'flex flex-wrap gap-4 justify-center' }, [ Tooltip({ tip: 'This is a tooltip' }, [ - Button({ class: 'btn btn-primary' }, 'Hover me') + button({ class: 'btn btn-primary' }, 'Hover me') ]), Tooltip({ tip: 'Tooltips can be placed on any element' }, [ - Span({ class: 'text-sm cursor-help border-b border-dashed' }, 'Help text') + span({ class: 'text-sm cursor-help border-b border-dashed' }, 'Help text') ]), Tooltip({ tip: 'Icons can also have tooltips' }, [ - Span({ class: 'text-2xl' }, 'ℹ️') + span({ class: 'text-2xl' }, 'ℹ️') ]) ]); }; @@ -72,18 +72,18 @@ mount(BasicDemo, '#demo-basic'); ```javascript const PositionsDemo = () => { - return Div({ class: 'flex flex-wrap gap-8 justify-center' }, [ + return div({ class: 'flex flex-wrap gap-8 justify-center' }, [ Tooltip({ tip: 'Top tooltip', class: 'tooltip-top' }, [ - Button({ class: 'btn btn-sm' }, 'Top') + button({ class: 'btn btn-sm' }, 'Top') ]), Tooltip({ tip: 'Bottom tooltip', class: 'tooltip-bottom' }, [ - Button({ class: 'btn btn-sm' }, 'Bottom') + button({ class: 'btn btn-sm' }, 'Bottom') ]), Tooltip({ tip: 'Left tooltip', class: 'tooltip-left' }, [ - Button({ class: 'btn btn-sm' }, 'Left') + button({ class: 'btn btn-sm' }, 'Left') ]), Tooltip({ tip: 'Right tooltip', class: 'tooltip-right' }, [ - Button({ class: 'btn btn-sm' }, 'Right') + button({ class: 'btn btn-sm' }, 'Right') ]) ]); }; @@ -101,18 +101,18 @@ mount(PositionsDemo, '#demo-positions'); ```javascript const IconsDemo = () => { - return Div({ class: 'flex flex-wrap gap-8 justify-center' }, [ + return div({ class: 'flex flex-wrap gap-8 justify-center' }, [ Tooltip({ tip: 'Save document' }, [ - Button({ class: 'btn btn-ghost btn-circle' }, '💾') + button({ class: 'btn btn-ghost btn-circle' }, '💾') ]), Tooltip({ tip: 'Edit item' }, [ - Button({ class: 'btn btn-ghost btn-circle' }, '✏️') + button({ class: 'btn btn-ghost btn-circle' }, '✏️') ]), Tooltip({ tip: 'Delete permanently' }, [ - Button({ class: 'btn btn-ghost btn-circle text-error' }, '🗑️') + button({ class: 'btn btn-ghost btn-circle text-error' }, '🗑️') ]), Tooltip({ tip: 'Settings' }, [ - Button({ class: 'btn btn-ghost btn-circle' }, '⚙️') + button({ class: 'btn btn-ghost btn-circle' }, '⚙️') ]) ]); }; @@ -133,20 +133,20 @@ const FormDemo = () => { const username = $(''); const email = $(''); - return Div({ class: 'flex flex-col gap-4 max-w-md mx-auto' }, [ - Div({ class: 'flex items-center gap-2' }, [ - Input({ + return div({ class: 'flex flex-col gap-4 max-w-md mx-auto' }, [ + div({ class: 'flex items-center gap-2' }, [ + input({ label: 'Username', value: username, placeholder: 'Choose a username', oninput: (e) => username(e.target.value) }), Tooltip({ tip: 'Must be at least 3 characters, letters and numbers only' }, [ - Span({ class: 'cursor-help text-info' }, '?') + span({ class: 'cursor-help text-info' }, '?') ]) ]), - Div({ class: 'flex items-center gap-2' }, [ - Input({ + div({ class: 'flex items-center gap-2' }, [ + input({ label: 'Email', type: 'email', value: email, @@ -154,7 +154,7 @@ const FormDemo = () => { oninput: (e) => email(e.target.value) }), Tooltip({ tip: 'We\'ll never share your email with anyone' }, [ - Span({ class: 'cursor-help text-info' }, '?') + span({ class: 'cursor-help text-info' }, '?') ]) ]) ]); @@ -182,19 +182,19 @@ const InteractiveDemo = () => { }, 2000); }; - return Div({ class: 'flex flex-col gap-4 items-center' }, [ + return div({ class: 'flex flex-col gap-4 items-center' }, [ Tooltip({ tip: () => tooltipText() }, [ - Button({ + button({ class: 'btn btn-primary btn-lg', onclick: () => Toast('Button clicked!', 'alert-info', 2000) }, 'Interactive Button') ]), - Div({ class: 'flex gap-2 flex-wrap justify-center mt-4' }, [ - Button({ + div({ class: 'flex gap-2 flex-wrap justify-center mt-4' }, [ + button({ class: 'btn btn-xs', onclick: () => updateTooltip('You clicked the button!') }, 'Change Tooltip'), - Button({ + button({ class: 'btn btn-xs', onclick: () => updateTooltip('Try hovering now!') }, 'Change Again') @@ -215,28 +215,28 @@ mount(InteractiveDemo, '#demo-interactive'); ```javascript const RichDemo = () => { - return Div({ class: 'flex flex-wrap gap-4 justify-center' }, [ + return div({ class: 'flex flex-wrap gap-4 justify-center' }, [ Tooltip({ - tip: Div({ class: 'text-left p-1' }, [ - Div({ class: 'font-bold' }, 'User Info'), - Div({ class: 'text-xs' }, 'John Doe'), - Div({ class: 'text-xs' }, 'john@example.com'), - Div({ class: 'badge badge-xs badge-primary mt-1' }, 'Admin') + tip: div({ class: 'text-left p-1' }, [ + div({ class: 'font-bold' }, 'User Info'), + div({ class: 'text-xs' }, 'John Doe'), + div({ class: 'text-xs' }, 'john@example.com'), + div({ class: 'badge badge-xs badge-primary mt-1' }, 'Admin') ]) }, [ - Button({ class: 'btn btn-outline' }, 'User Profile') + button({ class: 'btn btn-outline' }, 'User Profile') ]), Tooltip({ - tip: Div({ class: 'text-left p-1' }, [ - Div({ class: 'font-bold flex items-center gap-1' }, [ - Span({}, '⚠️'), - Span({}, 'System Status') + tip: div({ class: 'text-left p-1' }, [ + div({ class: 'font-bold flex items-center gap-1' }, [ + span({}, '⚠️'), + span({}, 'System Status') ]), - Div({ class: 'text-xs' }, 'All systems operational'), - Div({ class: 'text-xs text-success' }, '✓ 99.9% uptime') + div({ class: 'text-xs' }, 'All systems operational'), + div({ class: 'text-xs text-success' }, '✓ 99.9% uptime') ]) }, [ - Button({ class: 'btn btn-outline' }, 'System Status') + button({ class: 'btn btn-outline' }, 'System Status') ]) ]); }; @@ -254,27 +254,27 @@ mount(RichDemo, '#demo-rich'); ```javascript const ColorsDemo = () => { - return Div({ class: 'flex flex-wrap gap-4 justify-center' }, [ + return div({ class: 'flex flex-wrap gap-4 justify-center' }, [ Tooltip({ tip: 'Primary tooltip', class: 'tooltip-primary' }, [ - Button({ class: 'btn btn-primary btn-sm' }, 'Primary') + button({ class: 'btn btn-primary btn-sm' }, 'Primary') ]), Tooltip({ tip: 'Secondary tooltip', class: 'tooltip-secondary' }, [ - Button({ class: 'btn btn-secondary btn-sm' }, 'Secondary') + button({ class: 'btn btn-secondary btn-sm' }, 'Secondary') ]), Tooltip({ tip: 'Accent tooltip', class: 'tooltip-accent' }, [ - Button({ class: 'btn btn-accent btn-sm' }, 'Accent') + button({ class: 'btn btn-accent btn-sm' }, 'Accent') ]), Tooltip({ tip: 'Info tooltip', class: 'tooltip-info' }, [ - Button({ class: 'btn btn-info btn-sm' }, 'Info') + button({ class: 'btn btn-info btn-sm' }, 'Info') ]), Tooltip({ tip: 'Success tooltip', class: 'tooltip-success' }, [ - Button({ class: 'btn btn-success btn-sm' }, 'Success') + button({ class: 'btn btn-success btn-sm' }, 'Success') ]), Tooltip({ tip: 'Warning tooltip', class: 'tooltip-warning' }, [ - Button({ class: 'btn btn-warning btn-sm' }, 'Warning') + button({ class: 'btn btn-warning btn-sm' }, 'Warning') ]), Tooltip({ tip: 'Error tooltip', class: 'tooltip-error' }, [ - Button({ class: 'btn btn-error btn-sm' }, 'Error') + button({ class: 'btn btn-error btn-sm' }, 'Error') ]) ]); }; @@ -292,25 +292,25 @@ mount(ColorsDemo, '#demo-colors'); ```javascript const AllPositionsDemo = () => { - return Div({ class: 'grid grid-cols-3 gap-4 justify-items-center' }, [ - Div({ class: 'col-start-2' }, [ + return div({ class: 'grid grid-cols-3 gap-4 justify-items-center' }, [ + div({ class: 'col-start-2' }, [ Tooltip({ tip: 'Top tooltip', class: 'tooltip-top' }, [ - Button({ class: 'btn btn-sm w-24' }, 'Top') + button({ class: 'btn btn-sm w-24' }, 'Top') ]) ]), - Div({ class: 'col-start-1 row-start-2' }, [ + div({ class: 'col-start-1 row-start-2' }, [ Tooltip({ tip: 'Left tooltip', class: 'tooltip-left' }, [ - Button({ class: 'btn btn-sm w-24' }, 'Left') + button({ class: 'btn btn-sm w-24' }, 'Left') ]) ]), - Div({ class: 'col-start-3 row-start-2' }, [ + div({ class: 'col-start-3 row-start-2' }, [ Tooltip({ tip: 'Right tooltip', class: 'tooltip-right' }, [ - Button({ class: 'btn btn-sm w-24' }, 'Right') + button({ class: 'btn btn-sm w-24' }, 'Right') ]) ]), - Div({ class: 'col-start-2 row-start-3' }, [ + div({ class: 'col-start-2 row-start-3' }, [ Tooltip({ tip: 'Bottom tooltip', class: 'tooltip-bottom' }, [ - Button({ class: 'btn btn-sm w-24' }, 'Bottom') + button({ class: 'btn btn-sm w-24' }, 'Bottom') ]) ]) ]); diff --git a/docs/install.md b/docs/install.md index 004da23..e68688e 100644 --- a/docs/install.md +++ b/docs/install.md @@ -33,11 +33,11 @@ const App = () => { return h('div', { class: 'p-8 max-w-md mx-auto' }, [ h('h1', { class: 'text-2xl font-bold mb-4' }, 'SigProUI Demo'), - Input({ + input({ placeholder: 'Enter your name...' }), - Button({ + button({ class: 'btn-primary mt-4', onclick: () => count(count() + 1) }, () => `Clicks: ${count()}`), @@ -86,12 +86,12 @@ Simply add the script tag and start using SigProUI: return h('div', { class: 'max-w-md mx-auto p-4' }, [ h('h1', { class: 'text-2xl font-bold mb-4' }, 'SigProUI Demo'), - Input({ + input({ value: name, placeholder: 'Enter your name...' }), - Button({ + button({ class: 'btn-primary mt-4', onclick: () => count(count() + 1) }, () => `Clicks: ${count()}`), @@ -125,8 +125,8 @@ When you install SigProUI, you get: >For more information about SigPro Core visit official Docs [SigPro Docs](https://natxocc.github.io/sigpro/#/) ### UI Components -- `Button()` - Styled button with DaisyUI -- `Input()` - Form input with floating labels +- `button()` - Styled button with DaisyUI +- `input()` - Form input with floating labels - `Alert()` - Alert messages - `Modal()` - Modal dialogs - `Table()` - Data tables @@ -147,8 +147,8 @@ import { tt, Locale } from 'sigpro-ui'; Locale('en'); // Use translations -const closeButton = Button({}, tt('close')()); -const searchPlaceholder = Input({ placeholder: tt('search')() }); +const closeButton = button({}, tt('close')()); +const searchPlaceholder = input({ placeholder: tt('search')() }); ``` ## TypeScript Support @@ -159,7 +159,7 @@ SigProUI includes TypeScript definitions. Import types as needed: import { Button, Input, type ButtonProps, type InputProps } from 'sigpro-ui'; const MyButton: React.FC = (props) => { - return Button(props, 'Click me'); + return button(props, 'Click me'); }; ``` diff --git a/docs/quick.md b/docs/quick.md index 871ef12..87836d5 100644 --- a/docs/quick.md +++ b/docs/quick.md @@ -18,8 +18,8 @@ import "sigpro-ui/css"; | Component | Purpose | Basic Example | | :--- | :--- | :--- | -| **Button** | Styled button with DaisyUI | `Button({ class: "btn-primary" }, "Submit")` | -| **Input** | Reactive text field with validation | `Input({ value: $name, validate: (v) => !v ? "Required" : "" })` | +| **Button** | Styled button with DaisyUI | `button({ class: "btn-primary" }, "Submit")` | +| **Input** | Reactive text field with validation | `input({ value: $name, validate: (v) => !v ? "Required" : "" })` | | **Select** | Dropdown selection menu | `Select({ options: ["Admin", "User"], value: $role })` | | **Checkbox** | Binary toggle (boolean) | `Checkbox({ label: "Active", checked: $isActive })` | | **Table** | Data grid with column rendering | `Table({ items: $data, columns: [...] })` | @@ -37,9 +37,9 @@ import "sigpro-ui/css"; | Component | Description | Example | | :--- | :--- | :--- | -| **Input** | Text input with floating label, validation, password toggle | `Input({ label: "Email", type: "email", value: $email, validate: validateEmail })` | +| **Input** | Text input with floating label, validation, password toggle | `input({ label: "Email", type: "email", value: $email, validate: validateEmail })` | | **Select** | Dropdown selector | `Select({ label: "Role", options: ["Admin", "User"], value: $role })` | -| **Autocomplete** | Searchable dropdown with filtering | `Autocomplete({ label: "Country", options: countryList, value: $country })` | +| **Autocomplete** | Searchable dropdown with filtering | `autocomplete({ label: "Country", options: countryList, value: $country })` | | **Datepicker** | Date picker (single or range mode) | `Datepicker({ label: "Date", value: $date, range: false })` | | **Colorpicker** | Visual color picker with palette | `Colorpicker({ label: "Theme", value: $color })` | | **Checkbox** | Checkbox or toggle switch | `Checkbox({ label: "Remember me", value: $remember })` | @@ -57,7 +57,7 @@ The `Input` component supports real-time validation via the `validate` prop: ```javascript const email = $(''); -Input({ +input({ type: 'email', value: email, placeholder: 'Enter your email', @@ -90,7 +90,7 @@ Input({ | **Stat** | Statistical data blocks (KPIs) | `Stat({ label: "Total", value: "1.2k", desc: "Monthly" })` | | **Timeline** | Vertical/horizontal timeline | `Timeline({ items: [{ title: "Step 1", detail: "Completed" }] })` | | **Stack** | Stacked elements | `Stack({}, [Card1, Card2, Card3])` | -| **Indicator** | Badge on corner of element | `Indicator({ value: () => count() }, Button(...))` | +| **Indicator** | Badge on corner of element | `Indicator({ value: () => count() }, button(...))` | --- @@ -101,7 +101,7 @@ Input({ | **Alert** | Inline contextual notification | `Alert({ type: "success" }, "Changes saved!")` | | **Modal** | Dialog overlay | `Modal({ open: $isOpen, title: "Confirm" }, "Are you sure?")` | | **Toast** | Floating notification (auto-stacking) | `Toast("Action completed", "alert-info", 3000)` | -| **Tooltip** | Hover tooltip wrapper | `Tooltip({ tip: "Help text", ui: "tooltip-top" }, Button(...))` | +| **Tooltip** | Hover tooltip wrapper | `Tooltip({ tip: "Help text", ui: "tooltip-top" }, button(...))` | --- @@ -115,7 +115,7 @@ Input({ | **Tabs** | Content switching | `Tabs({ items: [{ label: "Tab1", content: Panel1 }] })` | | **Accordion** | Collapsible sections | `Accordion({ title: "Details" }, "Hidden content")` | | **Dropdown** | Contextual menus | `Dropdown({ label: "Options" }, [MenuLink("Edit")])` | -| **Fieldset** | Form grouping with legend | `Fieldset({ legend: "Personal Info" }, [Input(...)])` | +| **Fieldset** | Form grouping with legend | `Fieldset({ legend: "Personal Info" }, [input(...)])` | --- @@ -124,7 +124,7 @@ Input({ | Component | Description | Example | | :--- | :--- | :--- | | **Fab** | Floating Action Button with actions | `Fab({ icon: "+", actions: [{ label: "Add", onclick: add }] })` | -| **Indicator** | Badge indicator wrapper | `Indicator({ value: () => unread() }, Button(...))` | +| **Indicator** | Badge indicator wrapper | `Indicator({ value: () => unread() }, button(...))` | --- @@ -150,7 +150,7 @@ const closeText = tt("close"); // "Close" or "Cerrar" 2. **DaisyUI v5**: Pass any daisyUI styling via the `class` attribute. ```javascript - Button({ class: "btn-primary btn-sm rounded-full shadow-lg" }, "Click") + button({ class: "btn-primary btn-sm rounded-full shadow-lg" }, "Click") ``` 3. **Zero Imports (Global Mode)**: After calling `UI()`, all components are attached to `window`. No manual imports needed. @@ -166,7 +166,7 @@ const closeText = tt("close"); // "Close" or "Cerrar" ```javascript const name = $(""); -Input({ +input({ value: name, placeholder: "Name", validate: (value) => { @@ -203,7 +203,7 @@ Modal({ open: showModal, title: "Delete Item", buttons: [ - Button({ class: "btn-error", onclick: () => { deleteItem(); showModal(false); } }, "Delete") + button({ class: "btn-error", onclick: () => { deleteItem(); showModal(false); } }, "Delete") ] }, "Are you sure you want to delete this item?"); ``` diff --git a/docs/sigpro-ui.min.css b/docs/sigpro-ui.min.css index e646ca1..05ae148 100644 --- a/docs/sigpro-ui.min.css +++ b/docs/sigpro-ui.min.css @@ -1,2 +1,2 @@ /*! tailwindcss v4.2.4 | MIT License | https://tailwindcss.com */ -@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-content:""}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-gray-500:oklch(55.1% .027 264.364);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-md:28rem;--container-3xl:48rem;--container-5xl:64rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-6xl:3.75rem;--text-6xl--line-height:1;--text-7xl:4.5rem;--text-7xl--line-height:1;--text-9xl:8rem;--text-9xl--line-height:1;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-bold:700;--font-weight-black:900;--tracking-tighter:-.05em;--tracking-tight:-.025em;--tracking-widest:.1em;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-3xl:1.5rem;--drop-shadow-2xl:0 25px 25px #00000026;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-3xl:64px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;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");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}@media (prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--color-base-100:oklch(25.33% .016 252.42);--color-base-200:oklch(23.26% .014 253.1);--color-base-300:oklch(21.15% .012 254.09);--color-base-content:oklch(97.807% .029 256.847);--color-primary:oklch(58% .233 277.117);--color-primary-content:oklch(96% .018 272.314);--color-secondary:oklch(65% .241 354.308);--color-secondary-content:oklch(94% .028 342.258);--color-accent:oklch(77% .152 181.912);--color-accent-content:oklch(38% .063 188.416);--color-neutral:oklch(14% .005 285.823);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(74% .16 232.661);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(76% .177 163.223);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .189 84.429);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(71% .194 13.428);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}}:root:has(input.theme-controller[value=light]:checked),[data-theme=light]{color-scheme:light;--color-base-100:oklch(100% 0 0);--color-base-200:oklch(98% 0 0);--color-base-300:oklch(95% 0 0);--color-base-content:oklch(21% .006 285.885);--color-primary:oklch(45% .24 277.023);--color-primary-content:oklch(93% .034 272.788);--color-secondary:oklch(65% .241 354.308);--color-secondary-content:oklch(94% .028 342.258);--color-accent:oklch(77% .152 181.912);--color-accent-content:oklch(38% .063 188.416);--color-neutral:oklch(14% .005 285.823);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(74% .16 232.661);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(76% .177 163.223);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .189 84.429);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(71% .194 13.428);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}:root{--fx-noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.34' numOctaves='4' stitchTiles='stitch'%3E%3C/feTurbulence%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23a)' opacity='0.2'%3E%3C/rect%3E%3C/svg%3E");scrollbar-color:currentColor #0000}@supports (color:color-mix(in lab, red, red)){:root{scrollbar-color:color-mix(in oklch, currentColor 35%, #0000) #0000}}@property --radialprogress{syntax:"";inherits:true;initial-value:0%}:root:not(span){overflow:var(--page-overflow)}:root{background:var(--page-scroll-bg,var(--root-bg));--page-scroll-bg-on:linear-gradient(var(--root-bg,#0000), var(--root-bg,#0000)) var(--root-bg,#0000)}@supports (color:color-mix(in lab, red, red)){:root{--page-scroll-bg-on:linear-gradient(var(--root-bg,#0000), var(--root-bg,#0000)) color-mix(in srgb, var(--root-bg,#0000), oklch(0% 0 0) calc(var(--page-has-backdrop,0) * 40%))}}:root{--page-scroll-transition-on:background-color .3s ease-out;transition:var(--page-scroll-transition);scrollbar-gutter:var(--page-scroll-gutter,unset);scrollbar-gutter:if(style(--page-has-scroll: 1): var(--page-scroll-gutter,unset) ; else: unset)}@keyframes set-page-has-scroll{0%,to{--page-has-scroll:1}}:root,[data-theme]{background:var(--page-scroll-bg,var(--root-bg));color:var(--color-base-content)}:where(:root,[data-theme]){--root-bg:var(--color-base-100)}:where(:root),:root:has(input.theme-controller[value=light]:checked),[data-theme=light]{color-scheme:light;--color-base-100:oklch(100% 0 0);--color-base-200:oklch(98% 0 0);--color-base-300:oklch(92% 0 0);--color-base-content:oklch(25% .006 285);--color-primary:oklch(25% .006 285);--color-primary-content:oklch(98% 0 0);--color-secondary:oklch(55% .046 257.417);--color-secondary-content:oklch(98% 0 0);--color-accent:oklch(96% 0 0);--color-accent-content:oklch(25% .006 285);--color-neutral:oklch(14% .005 285.823);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(74% .16 232);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(62% .17 163);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .18 84);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(60% .25 27);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.4rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}@media (prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--color-base-100:oklch(15% .005 285.823);--color-base-200:oklch(20% .005 285.823);--color-base-300:oklch(30% .005 285.823);--color-base-content:oklch(92% .004 286.32);--color-primary:oklch(98% 0 0);--color-primary-content:oklch(15% 0 0);--color-secondary:oklch(65% .046 257.417);--color-secondary-content:oklch(15% .005 285.823);--color-accent:oklch(25% 0 0);--color-accent-content:oklch(98% 0 0);--color-neutral:oklch(92% .004 286.32);--color-neutral-content:oklch(14% .005 285.823);--color-info:oklch(70% .1 230);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(65% .15 160);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(85% .15 90);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(55% .2 27);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.4rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}}:root:has(input.theme-controller[value=dark]:checked),[data-theme=dark]{color-scheme:dark;--color-base-100:oklch(15% .005 285.823);--color-base-200:oklch(20% .005 285.823);--color-base-300:oklch(30% .005 285.823);--color-base-content:oklch(92% .004 286.32);--color-primary:oklch(98% 0 0);--color-primary-content:oklch(15% 0 0);--color-secondary:oklch(65% .046 257.417);--color-secondary-content:oklch(15% .005 285.823);--color-accent:oklch(25% 0 0);--color-accent-content:oklch(98% 0 0);--color-neutral:oklch(92% .004 286.32);--color-neutral-content:oklch(14% .005 285.823);--color-info:oklch(70% .1 230);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(65% .15 160);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(85% .15 90);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(55% .2 27);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.4rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}}@layer components;@layer utilities{@layer daisyui.l1.l2.l3{.modal{pointer-events:none;visibility:hidden;width:100%;max-width:none;height:100%;max-height:none;color:inherit;transition:visibility .3s allow-discrete, background-color .3s ease-out, opacity .1s ease-out;overscroll-behavior:contain;z-index:999;scrollbar-gutter:auto;background-color:#0000;place-items:center;margin:0;padding:0;display:grid;position:fixed;inset:0;overflow:clip}.modal::backdrop{display:none}:where(.drawer-side){overflow:hidden}.drawer-side{pointer-events:none;visibility:hidden;z-index:10;overscroll-behavior:contain;opacity:0;width:100%;transition:opacity .2s ease-out .1s allow-discrete, visibility .3s ease-out .1s allow-discrete;inset-inline-start:0;background-color:#0000;grid-template-rows:repeat(1,minmax(0,1fr));grid-template-columns:repeat(1,minmax(0,1fr));grid-row-start:1;grid-column-start:1;place-items:flex-start start;height:100dvh;display:grid;position:fixed;top:0}.drawer-side>.drawer-overlay{cursor:pointer;background-color:oklch(0% 0 0/.4);place-self:stretch stretch;position:sticky;top:0}.drawer-side>*{grid-row-start:1;grid-column-start:1}.drawer-side>:not(.drawer-overlay){will-change:transform;transition:translate .3s ease-out,width .2s ease-out;translate:-100%}[dir=rtl] :is(.drawer-side>:not(.drawer-overlay)){translate:100%}.fab{pointer-events:none;z-index:999;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));white-space:nowrap;inset-inline-end:1rem;flex-direction:column-reverse;align-items:flex-end;gap:.5rem;display:flex;position:fixed;bottom:1rem}.fab>*{pointer-events:auto;align-items:center;gap:.5rem;display:flex}.fab>:hover,.fab>:has(:focus-visible){z-index:1}.fab>[tabindex]:first-child{transition-property:opacity,visibility,rotate;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);display:grid;position:relative}.fab .fab-close,.fab .fab-main-action{inset-inline-end:0;position:absolute;bottom:0}:is(.fab:focus-within:has(.fab-close),.fab:focus-within:has(.fab-main-action))>[tabindex]{opacity:0;rotate:90deg}.fab:focus-within>[tabindex]:first-child{pointer-events:none}.fab:focus-within>:nth-child(n+2){visibility:visible;--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y);opacity:1}.fab>:nth-child(n+2){visibility:hidden;--tw-scale-x:80%;--tw-scale-y:80%;--tw-scale-z:80%;scale:var(--tw-scale-x) var(--tw-scale-y);opacity:0;transition-property:opacity,scale,visibility;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.fab>:nth-child(n+2).fab-main-action,.fab>:nth-child(n+2).fab-close{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.fab>:nth-child(3){transition-delay:30ms}.fab>:nth-child(4){transition-delay:60ms}.fab>:nth-child(5){transition-delay:90ms}.fab>:nth-child(6){transition-delay:.12s}.drawer-toggle{appearance:none;opacity:0;width:0;height:0;position:fixed}:where(.drawer-toggle:checked~.drawer-side){scrollbar-color:currentColor oklch(0 0 0 / calc(var(--page-has-backdrop,0) * .4))}@supports (color:color-mix(in lab, red, red)){:where(.drawer-toggle:checked~.drawer-side){scrollbar-color:color-mix(in oklch, currentColor 35%, #0000) oklch(0 0 0 / calc(var(--page-has-backdrop,0) * .4))}}:where(:root:has(.drawer-toggle:checked)){--page-has-backdrop:1;--page-overflow:hidden;--page-scroll-bg:var(--page-scroll-bg-on);--page-scroll-gutter:stable;--page-scroll-transition:var(--page-scroll-transition-on);animation:forwards set-page-has-scroll;animation-timeline:scroll()}.tooltip{--tt-bg:var(--color-neutral);--tt-off:calc(100% + .5rem);--tt-tail:calc(100% + 1px + .25rem);display:inline-block;position:relative}.tooltip>.tooltip-content,.tooltip[data-tip]:before{border-radius:var(--radius-field);text-align:center;white-space:normal;max-width:20rem;color:var(--color-neutral-content);opacity:0;background-color:var(--tt-bg);pointer-events:none;z-index:2;--tw-content:attr(data-tip);content:var(--tw-content);width:max-content;padding-block:.25rem;padding-inline:.5rem;font-size:.875rem;line-height:1.25;position:absolute}.tooltip:after{opacity:0;background-color:var(--tt-bg);content:"";pointer-events:none;--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");width:.625rem;height:.25rem;-webkit-mask-position:-1px 0;mask-position:-1px 0;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-image:var(--mask-tooltip);-webkit-mask-image:var(--mask-tooltip);mask-image:var(--mask-tooltip);display:block;position:absolute}@media (prefers-reduced-motion:no-preference){.tooltip>.tooltip-content,.tooltip[data-tip]:before,.tooltip:after{transition:opacity .2s cubic-bezier(.4,0,.2,1) 75ms,transform .2s cubic-bezier(.4,0,.2,1) 75ms}}:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible))>.tooltip-content,:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible))[data-tip]:before,:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible)):after{opacity:1;--tt-pos:0rem}@media (prefers-reduced-motion:no-preference){:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible))>.tooltip-content,:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible))[data-tip]:before,:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible)):after{transition:opacity .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1)}}.tab{cursor:pointer;appearance:none;text-align:center;webkit-user-select:none;-webkit-user-select:none;user-select:none;flex-wrap:wrap;justify-content:center;align-items:center;display:inline-flex;position:relative}@media (hover:hover){.tab:hover{color:var(--color-base-content)}}.tab{--tab-p:.75rem;--tab-bg:var(--color-base-100);--tab-border-color:var(--color-base-300);--tab-radius-ss:0;--tab-radius-se:0;--tab-radius-es:0;--tab-radius-ee:0;--tab-order:0;--tab-radius-min:calc(.75rem - var(--border));--tab-radius-limit:min(var(--radius-field), var(--tab-radius-min));--tab-radius-grad:#0000 calc(69% - var(--border)), var(--tab-border-color) calc(69% - var(--border) + .25px), var(--tab-border-color) 69%, var(--tab-bg) calc(69% + .25px);order:var(--tab-order);height:var(--tab-height);padding-inline:var(--tab-p);border-color:#0000;font-size:.875rem}.tab:is(input[type=radio]){min-width:fit-content}.tab:is(input[type=radio]):after{--tw-content:attr(aria-label);content:var(--tw-content)}.tab:is(label){position:relative}.tab:is(label) input{cursor:pointer;appearance:none;opacity:0;position:absolute;inset:0}:is(.tab:checked,.tab:is(label:has(:checked)),.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]))+.tab-content{display:block}.tab:not(:checked,label:has(:checked),:hover,.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]){color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.tab:not(:checked,label:has(:checked),:hover,.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]){color:color-mix(in oklab, var(--color-base-content) 50%, transparent)}}.tab:not(input):empty{cursor:default;flex-grow:1}.tab:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.tab:focus{outline-offset:2px;outline:2px solid #0000}}.tab:focus-visible,.tab:is(label:has(:checked:focus-visible)){outline-offset:-5px;outline:2px solid}.tab[disabled]{pointer-events:none;opacity:.4}.tab\!{cursor:pointer!important;appearance:none!important;text-align:center!important;webkit-user-select:none!important;-webkit-user-select:none!important;user-select:none!important;flex-wrap:wrap!important;justify-content:center!important;align-items:center!important;display:inline-flex!important;position:relative!important}@media (hover:hover){.tab\!:hover{color:var(--color-base-content)!important}}.tab\!{--tab-p:.75rem!important;--tab-bg:var(--color-base-100)!important;--tab-border-color:var(--color-base-300)!important;--tab-radius-ss:0!important;--tab-radius-se:0!important;--tab-radius-es:0!important;--tab-radius-ee:0!important;--tab-order:0!important;--tab-radius-min:calc(.75rem - var(--border))!important;--tab-radius-limit:min(var(--radius-field), var(--tab-radius-min))!important;--tab-radius-grad:#0000 calc(69% - var(--border)), var(--tab-border-color) calc(69% - var(--border) + .25px), var(--tab-border-color) 69%, var(--tab-bg) calc(69% + .25px)!important;order:var(--tab-order)!important;height:var(--tab-height)!important;padding-inline:var(--tab-p)!important;border-color:#0000!important;font-size:.875rem!important}.tab\!:is(input[type=radio]){min-width:fit-content!important}.tab\!:is(input[type=radio]):after{--tw-content:attr(aria-label)!important;content:var(--tw-content)!important}.tab\!:is(label){position:relative!important}.tab\!:is(label) input{cursor:pointer!important;appearance:none!important;opacity:0!important;position:absolute!important;inset:0!important}:is(.tab\!:checked,.tab\!:is(label:has(:checked)),.tab\!:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]))+.tab-content{display:block!important}.tab\!:not(:checked,label:has(:checked),:hover,.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]){color:var(--color-base-content)!important}@supports (color:color-mix(in lab, red, red)){.tab\!:not(:checked,label:has(:checked),:hover,.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]){color:color-mix(in oklab, var(--color-base-content) 50%, transparent)!important}}.tab\!:not(input):empty{cursor:default!important;flex-grow:1!important}.tab\!:focus{--tw-outline-style:none!important;outline-style:none!important}@media (forced-colors:active){.tab\!:focus{outline-offset:2px!important;outline:2px solid #0000!important}}.tab\!:focus-visible,.tab\!:is(label:has(:checked:focus-visible)){outline-offset:-5px!important;outline:2px solid!important}.tab\![disabled]{pointer-events:none!important;opacity:.4!important}.menu{--menu-active-fg:var(--color-neutral-content);--menu-active-bg:var(--color-neutral);flex-flow:column wrap;width:fit-content;padding:.5rem;font-size:.875rem;display:flex}.menu :where(li ul){white-space:nowrap;margin-inline-start:1rem;padding-inline-start:.5rem;position:relative}.menu :where(li ul):before{background-color:var(--color-base-content);opacity:.1;width:var(--border);content:"";inset-inline-start:0;position:absolute;top:.75rem;bottom:.75rem}.menu :where(li>.menu-dropdown:not(.menu-dropdown-show)){display:none}.menu :where(li:not(.menu-title)>:not(ul,details,.menu-title,.btn)),.menu :where(li:not(.menu-title)>details>summary:not(.menu-title)){border-radius:var(--radius-field);text-align:start;text-wrap:balance;-webkit-user-select:none;user-select:none;grid-auto-columns:minmax(auto,max-content) auto max-content;grid-auto-flow:column;align-content:flex-start;align-items:center;gap:.5rem;padding-block:.375rem;padding-inline:.75rem;transition-property:color,background-color,box-shadow;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1);display:grid}.menu :where(li>details>summary){--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.menu :where(li>details>summary){outline-offset:2px;outline:2px solid #0000}}.menu :where(li>details>summary)::-webkit-details-marker{display:none}:is(.menu :where(li>details>summary),.menu :where(li>.menu-dropdown-toggle)):after{content:"";transform-origin:50%;pointer-events:none;justify-self:flex-end;width:.375rem;height:.375rem;transition-property:rotate,translate;transition-duration:.2s;display:block;translate:0 -1px;rotate:-135deg;box-shadow:inset 2px 2px}.menu details{interpolate-size:allow-keywords;overflow:hidden}.menu details::details-content{block-size:0}@media (prefers-reduced-motion:no-preference){.menu details::details-content{transition-behavior:allow-discrete;transition-property:block-size,content-visibility;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1)}}.menu details[open]::details-content{block-size:auto}.menu :where(li>details[open]>summary):after,.menu :where(li>.menu-dropdown-toggle.menu-dropdown-show):after{translate:0 1px;rotate:45deg}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn).menu-focus,.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn):focus-visible{cursor:pointer;background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn).menu-focus,.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn):focus-visible{background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn).menu-focus,.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn):focus-visible{color:var(--color-base-content);--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn).menu-focus,.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn):focus-visible{outline-offset:2px;outline:2px solid #0000}}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){cursor:pointer;background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){outline-offset:2px;outline:2px solid #0000}}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){box-shadow:inset 0 1px oklch(0% 0 0/.01),inset 0 -1px oklch(100% 0 0/.01)}.menu :where(li:empty){background-color:var(--color-base-content);opacity:.1;height:1px;margin:.5rem 1rem}.menu :where(li){flex-flow:column wrap;flex-shrink:0;align-items:stretch;display:flex;position:relative}.menu :where(li) .badge{justify-self:flex-end}.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active{outline-offset:2px;outline:2px solid #0000}}.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active{color:var(--menu-active-fg);background-color:var(--menu-active-bg);background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--fx-noise)}:is(.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active):not(:is(.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active):active){box-shadow:0 2px calc(var(--depth) * 3px) -2px var(--menu-active-bg)}.menu :where(li).menu-disabled{pointer-events:none;color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.menu :where(li).menu-disabled{color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.menu .dropdown:focus-within .menu-dropdown-toggle:after{translate:0 1px;rotate:45deg}.menu .dropdown-content{margin-top:.5rem;padding:.5rem}.menu .dropdown-content:before{display:none}.floating-label{display:block;position:relative}.floating-label input{display:block}.floating-label input::placeholder,.floating-label textarea::placeholder{transition:top .1s ease-out,translate .1s ease-out,scale .1s ease-out,opacity .1s ease-out}.floating-label>span{z-index:1;background-color:var(--color-base-100);opacity:0;inset-inline-start:.75rem;top:calc(var(--size-field,.25rem) * 10 / 2);pointer-events:none;border-radius:2px;padding-inline:.25rem;font-size:.875rem;line-height:1;transition:top .1s ease-out,translate .1s ease-out,scale .1s ease-out,opacity .1s ease-out;position:absolute;translate:0 -50%}:is(.floating-label:focus-within,.floating-label:not(:has(input:placeholder-shown,textarea:placeholder-shown))) ::placeholder{opacity:0;pointer-events:auto;top:0;translate:-12.5% calc(-50% - .125em);scale:.75}:is(.floating-label:focus-within,.floating-label:not(:has(input:placeholder-shown,textarea:placeholder-shown)))>span{opacity:1;pointer-events:auto;z-index:2;top:0;translate:-12.5% calc(-50% - .125em);scale:.75}.floating-label:has(:disabled,[disabled])>span{opacity:0}.floating-label:has(.input-xs,.select-xs,.textarea-xs) span{top:calc(var(--size-field,.25rem) * 6 / 2);font-size:.6875rem}.floating-label:has(.input-sm,.select-sm,.textarea-sm) span{top:calc(var(--size-field,.25rem) * 8 / 2);font-size:.75rem}.floating-label:has(.input-md,.select-md,.textarea-md) span{top:calc(var(--size-field,.25rem) * 10 / 2);font-size:.875rem}.floating-label:has(.input-lg,.select-lg,.textarea-lg) span{top:calc(var(--size-field,.25rem) * 12 / 2);font-size:1.125rem}.floating-label:has(.input-xl,.select-xl,.textarea-xl) span{top:calc(var(--size-field,.25rem) * 14 / 2);font-size:1.375rem}.dropdown{position-area:var(--anchor-v,bottom) var(--anchor-h,span-right);display:inline-block;position:relative}.dropdown>:not(:has(~[class*=dropdown-content])):focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.dropdown>:not(:has(~[class*=dropdown-content])):focus{outline-offset:2px;outline:2px solid #0000}}.dropdown .dropdown-content{position:absolute}.dropdown.dropdown-close .dropdown-content,.dropdown:not(details,.dropdown-open,.dropdown-hover:hover,:focus-within) .dropdown-content,.dropdown.dropdown-hover:not(:hover) [tabindex]:first-child:focus:not(:focus-visible)~.dropdown-content{transform-origin:top;opacity:0;display:none;scale:.95}.dropdown[popover],.dropdown .dropdown-content{z-index:999}@media (prefers-reduced-motion:no-preference){.dropdown[popover],.dropdown .dropdown-content{transition-behavior:allow-discrete;transition-property:opacity,scale,display;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);animation:.2s dropdown}}@starting-style{.dropdown[popover],.dropdown .dropdown-content{opacity:0;scale:.95}}:is(.dropdown:not(.dropdown-close).dropdown-open,.dropdown:not(.dropdown-close):not(.dropdown-hover):focus,.dropdown:not(.dropdown-close):focus-within)>[tabindex]:first-child{pointer-events:none}:is(.dropdown:not(.dropdown-close).dropdown-open,.dropdown:not(.dropdown-close):not(.dropdown-hover):focus,.dropdown:not(.dropdown-close):focus-within) .dropdown-content,.dropdown:not(.dropdown-close).dropdown-hover:hover .dropdown-content{opacity:1;scale:1}.dropdown:is(details) summary::-webkit-details-marker{display:none}.dropdown:where([popover]){background:0 0}.dropdown[popover]{color:inherit;position:fixed}@supports not (position-area:bottom){.dropdown[popover]{margin:auto}.dropdown[popover].dropdown-close{transform-origin:top;opacity:0;display:none;scale:.95}.dropdown[popover].dropdown-open:not(:popover-open){transform-origin:top;opacity:0;display:none;scale:.95}.dropdown[popover]::backdrop{background-color:oklab(0% none none/.3)}}:is(.dropdown[popover].dropdown-close,.dropdown[popover]:not(.dropdown-open,:popover-open)){transform-origin:top;opacity:0;display:none;scale:.95}:where(.btn){width:unset}.btn{cursor:pointer;text-align:center;vertical-align:middle;outline-offset:2px;webkit-user-select:none;-webkit-user-select:none;user-select:none;padding-inline:var(--btn-p);color:var(--btn-fg);--tw-prose-links:var(--btn-fg);height:var(--size);font-size:var(--fontsize,.875rem);outline-color:var(--btn-color,var(--color-base-content));background-color:var(--btn-bg);background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--btn-noise);border-width:var(--border);border-style:solid;border-color:var(--btn-border);text-shadow:0 .5px oklch(100% 0 0 / calc(var(--depth) * .15));touch-action:manipulation;box-shadow:0 .5px 0 .5px oklch(100% 0 0 / calc(var(--depth) * 6%)) inset, var(--btn-shadow);--size:calc(var(--size-field,.25rem) * 10);--btn-bg:var(--btn-color,var(--color-base-200));--btn-fg:var(--color-base-content);--btn-p:1rem;--btn-border:var(--btn-bg);border-start-start-radius:var(--join-ss,var(--radius-field));border-start-end-radius:var(--join-se,var(--radius-field));border-end-end-radius:var(--join-ee,var(--radius-field));border-end-start-radius:var(--join-es,var(--radius-field));flex-wrap:nowrap;flex-shrink:0;justify-content:center;align-items:center;gap:.375rem;font-weight:600;transition-property:color,background-color,border-color,box-shadow;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1);display:inline-flex}@supports (color:color-mix(in lab, red, red)){.btn{--btn-border:color-mix(in oklab, var(--btn-bg), #000 calc(var(--depth) * 5%))}}.btn{--btn-shadow:0 3px 2px -2px var(--btn-bg), 0 4px 3px -2px var(--btn-bg)}@supports (color:color-mix(in lab, red, red)){.btn{--btn-shadow:0 3px 2px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000), 0 4px 3px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000)}}.btn{--btn-noise:var(--fx-noise)}@media (hover:hover){.btn:hover{--btn-bg:var(--btn-color,var(--color-base-200))}@supports (color:color-mix(in lab, red, red)){.btn:hover{--btn-bg:color-mix(in oklab, var(--btn-color,var(--color-base-200)), #000 7%)}}}.btn:focus-visible,.btn:has(:focus-visible){isolation:isolate;outline-width:2px;outline-style:solid}.btn:active:not(.btn-active){--btn-bg:var(--btn-color,var(--color-base-200));translate:0 .5px}@supports (color:color-mix(in lab, red, red)){.btn:active:not(.btn-active){--btn-bg:color-mix(in oklab, var(--btn-color,var(--color-base-200)), #000 5%)}}.btn:active:not(.btn-active){--btn-border:var(--btn-color,var(--color-base-200))}@supports (color:color-mix(in lab, red, red)){.btn:active:not(.btn-active){--btn-border:color-mix(in oklab, var(--btn-color,var(--color-base-200)), #000 7%)}}.btn:active:not(.btn-active){--btn-shadow:0 0 0 0 oklch(0% 0 0/0), 0 0 0 0 oklch(0% 0 0/0)}.btn:is(input[type=checkbox],input[type=radio]){appearance:none}.btn:is(input[type=checkbox],input[type=radio])[aria-label]:after{--tw-content:attr(aria-label);content:var(--tw-content)}.btn:where(input:checked:not(.filter .btn)){--btn-color:var(--color-primary);--btn-fg:var(--color-primary-content);isolation:isolate}.loading{pointer-events:none;aspect-ratio:1;vertical-align:middle;width:calc(var(--size-selector,.25rem) * 6);background-color:currentColor;display:inline-block;-webkit-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");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");-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:100%;mask-size:100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.collapse{border-radius:var(--radius-box,1rem);isolation:isolate;grid-template-rows:max-content 0fr;grid-template-columns:minmax(0,1fr);width:100%;display:grid;position:relative;overflow:hidden}@media (prefers-reduced-motion:no-preference){.collapse{transition:grid-template-rows .2s}}.collapse>input:is([type=checkbox],[type=radio]){appearance:none;opacity:0;z-index:1;grid-row-start:1;grid-column-start:1;width:100%;min-height:1lh;padding:1rem;padding-inline-end:3rem;transition:background-color .2s ease-out}.collapse:is([open],[tabindex]:focus:not(.collapse-close),[tabindex]:focus-within:not(.collapse-close)),.collapse:not(.collapse-close):has(>input:is([type=checkbox],[type=radio]):checked){grid-template-rows:max-content 1fr}.collapse:is([open],[tabindex]:focus:not(.collapse-close),[tabindex]:focus-within:not(.collapse-close))>.collapse-content,.collapse:not(.collapse-close)>:where(input:is([type=checkbox],[type=radio]):checked~.collapse-content){content-visibility:visible;min-height:fit-content}@supports not (content-visibility:visible){.collapse:is([open],[tabindex]:focus:not(.collapse-close),[tabindex]:focus-within:not(.collapse-close))>.collapse-content,.collapse:not(.collapse-close)>:where(input:is([type=checkbox],[type=radio]):checked~.collapse-content){visibility:visible}}.collapse:focus-visible,.collapse:has(>input:is([type=checkbox],[type=radio]):focus-visible),.collapse:has(summary:focus-visible){outline-color:var(--color-base-content);outline-offset:2px;outline-width:2px;outline-style:solid}.collapse:not(.collapse-close)>input[type=checkbox],.collapse:not(.collapse-close)>input[type=radio]:not(:checked),.collapse:not(.collapse-close)>.collapse-title{cursor:pointer}:is(.collapse[tabindex]:focus:not(.collapse-close,.collapse[open]),.collapse[tabindex]:focus-within:not(.collapse-close,.collapse[open]))>.collapse-title{cursor:unset}.collapse:is([open],[tabindex]:focus:not(.collapse-close),[tabindex]:focus-within:not(.collapse-close))>:where(.collapse-content),.collapse:not(.collapse-close)>:where(input:is([type=checkbox],[type=radio]):checked~.collapse-content){padding-bottom:1rem}.collapse:is(details){width:100%}@media (prefers-reduced-motion:no-preference){.collapse:is(details)::details-content{transition:content-visibility .2s allow-discrete, visibility .2s allow-discrete, min-height .2s ease-out allow-discrete, padding .1s ease-out 20ms, background-color .2s ease-out, height .2s;interpolate-size:allow-keywords;height:0}.collapse:is(details):where([open])::details-content{height:auto}}.collapse:is(details) summary{display:block;position:relative}.collapse:is(details) summary::-webkit-details-marker{display:none}.collapse:is(details)>.collapse-content{content-visibility:visible}.collapse:is(details) summary{outline:none}.collapse-content{content-visibility:hidden;min-height:0;cursor:unset;grid-row-start:2;grid-column-start:1;padding-left:1rem;padding-right:1rem}@supports not (content-visibility:hidden){.collapse-content{visibility:hidden}}@media (prefers-reduced-motion:no-preference){.collapse-content{transition:content-visibility .2s allow-discrete, visibility .2s allow-discrete, min-height .2s ease-out allow-discrete, padding .1s ease-out 20ms, background-color .2s ease-out}}.radial-progress{height:var(--size);width:var(--size);vertical-align:middle;box-sizing:content-box;--value:0;--size:5rem;--thickness:calc(var(--size) / 10);--radialprogress:calc(var(--value) * 1%);background-color:#0000;border-radius:3.40282e38px;place-content:center;transition:--radialprogress .3s linear;display:inline-grid;position:relative}.radial-progress:before{content:"";background:radial-gradient(farthest-side, currentColor 98%, #0000) top/var(--thickness) var(--thickness) no-repeat, conic-gradient(currentColor var(--radialprogress), #0000 0);webkit-mask:radial-gradient(farthest-side, #0000 calc(100% - var(--thickness)), #000 calc(100% + .5px - var(--thickness)));-webkit-mask:radial-gradient(farthest-side, #0000 calc(100% - var(--thickness)), #000 calc(100% + .5px - var(--thickness)));-webkit-mask:radial-gradient(farthest-side, #0000 calc(100% - var(--thickness)), #000 calc(100% + .5px - var(--thickness)));mask:radial-gradient(farthest-side, #0000 calc(100% - var(--thickness)), #000 calc(100% + .5px - var(--thickness)));border-radius:3.40282e38px;position:absolute;inset:0}.radial-progress:after{content:"";inset:calc(50% - var(--thickness) / 2);transform:rotate(calc(var(--value) * 3.6deg - 90deg)) translate(calc(var(--size) / 2 - 50%));background-color:currentColor;border-radius:3.40282e38px;transition:transform .3s linear;position:absolute}.list{flex-direction:column;font-size:.875rem;display:flex}.list .list-row{--list-grid-cols:minmax(0, auto) 1fr;border-radius:var(--radius-box);word-break:break-word;grid-auto-flow:column;grid-template-columns:var(--list-grid-cols);gap:1rem;padding:1rem;display:grid;position:relative}:is(.list>:not(:last-child).list-row,.list>:not(:last-child) .list-row):after{content:"";border-bottom:var(--border) solid;inset-inline:var(--radius-box);border-color:var(--color-base-content);position:absolute;bottom:0}@supports (color:color-mix(in lab, red, red)){:is(.list>:not(:last-child).list-row,.list>:not(:last-child) .list-row):after{border-color:color-mix(in oklab, var(--color-base-content) 5%, transparent)}}.toggle{border:var(--border) solid currentColor;color:var(--input-color);cursor:pointer;appearance:none;vertical-align:middle;webkit-user-select:none;-webkit-user-select:none;user-select:none;--radius-selector-max:calc(var(--radius-selector) + var(--radius-selector) + var(--radius-selector));border-radius:calc(var(--radius-selector) + min(var(--toggle-p), var(--radius-selector-max)) + min(var(--border), var(--radius-selector-max)));padding:var(--toggle-p);flex-shrink:0;grid-template-columns:0fr 1fr 1fr;place-content:center;display:inline-grid;position:relative;box-shadow:inset 0 1px}@supports (color:color-mix(in lab, red, red)){.toggle{box-shadow:0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000) inset}}.toggle{--input-color:var(--color-base-content);transition:color .3s,grid-template-columns .2s}@supports (color:color-mix(in lab, red, red)){.toggle{--input-color:color-mix(in oklab, var(--color-base-content) 50%, #0000)}}.toggle{--toggle-p:calc(var(--size) * .125);--size:calc(var(--size-selector,.25rem) * 6);width:calc((var(--size) * 2) - (var(--border) + var(--toggle-p)) * 2);height:var(--size)}.toggle>*{z-index:1;cursor:pointer;appearance:none;background-color:#0000;border:none;grid-column:2/span 1;grid-row-start:1;height:100%;padding:.125rem;transition:opacity .2s,rotate .4s}.toggle>:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.toggle>:focus{outline-offset:2px;outline:2px solid #0000}}.toggle>:nth-child(2){color:var(--color-base-100);rotate:0deg}.toggle>:nth-child(3){color:var(--color-base-100);opacity:0;rotate:-15deg}.toggle:has(:checked)>:nth-child(2){opacity:0;rotate:15deg}.toggle:has(:checked)>:nth-child(3){opacity:1;rotate:0deg}.toggle:before{aspect-ratio:1;border-radius:var(--radius-selector);--tw-content:"";content:var(--tw-content);width:100%;height:100%;box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px currentColor;background-color:currentColor;grid-row-start:1;grid-column-start:2;transition:background-color .1s,translate .2s,inset-inline-start .2s;position:relative;inset-inline-start:0;translate:0}@supports (color:color-mix(in lab, red, red)){.toggle:before{box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000)}}.toggle:before{background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--fx-noise)}@media (forced-colors:active){.toggle:before{outline-style:var(--tw-outline-style);outline-offset:calc(1px * -1);outline-width:1px}}@media print{.toggle:before{outline-offset:-1rem;outline:.25rem solid}}.toggle:focus-visible,.toggle:has(:focus-visible){outline-offset:2px;outline:2px solid}.toggle:checked,.toggle[aria-checked=true],.toggle:has(>input:checked){background-color:var(--color-base-100);--input-color:var(--color-base-content);grid-template-columns:1fr 1fr 0fr}:is(.toggle:checked,.toggle[aria-checked=true],.toggle:has(>input:checked)):before{background-color:currentColor}@starting-style{:is(.toggle:checked,.toggle[aria-checked=true],.toggle:has(>input:checked)):before{opacity:0}}.toggle:indeterminate{grid-template-columns:.5fr 1fr .5fr}.toggle:disabled{cursor:not-allowed;opacity:.3}.toggle:disabled:before{border:var(--border) solid currentColor;background-color:#0000}.input{cursor:text;border:var(--border) solid #0000;appearance:none;background-color:var(--color-base-100);vertical-align:middle;white-space:nowrap;width:clamp(3rem,20rem,100%);height:var(--size);font-size:max(var(--font-size,.875rem), .875rem);touch-action:manipulation;border-color:var(--input-color);box-shadow:0 1px var(--input-color) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset;border-start-start-radius:var(--join-ss,var(--radius-field));border-start-end-radius:var(--join-se,var(--radius-field));border-end-end-radius:var(--join-ee,var(--radius-field));border-end-start-radius:var(--join-es,var(--radius-field));flex-shrink:1;align-items:center;gap:.5rem;padding-inline:.75rem;display:inline-flex;position:relative}@supports (color:color-mix(in lab, red, red)){.input{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) * .1)) inset}}.input{--size:calc(var(--size-field,.25rem) * 10);--input-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.input{--input-color:color-mix(in oklab, var(--color-base-content) 20%, #0000)}}.input:where(input){display:inline-flex}.input :where(input){appearance:none;background-color:#0000;border:none;width:100%;height:100%;display:inline-flex}.input :where(input):focus,.input :where(input):focus-within{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.input :where(input):focus,.input :where(input):focus-within{outline-offset:2px;outline:2px solid #0000}}.input :where(input[type=url]),.input :where(input[type=email]){direction:ltr}.input :where(input[type=date]){display:inline-flex}.input:focus,.input:focus-within{--input-color:var(--color-base-content);box-shadow:0 1px var(--input-color)}@supports (color:color-mix(in lab, red, red)){.input:focus,.input:focus-within{box-shadow:0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000)}}.input:focus,.input:focus-within{outline:2px solid var(--input-color);outline-offset:2px;isolation:isolate}@media (pointer:coarse){@supports (-webkit-touch-callout:none){.input:focus,.input:focus-within{--font-size:1rem}}}.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input{cursor:not-allowed;border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input{color:color-mix(in oklab, var(--color-base-content) 40%, transparent)}}:is(.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input)::placeholder{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:is(.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input)::placeholder{color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input{box-shadow:none}.input:has(>input[disabled])>input[disabled]{cursor:not-allowed}.input::-webkit-date-and-time-value{text-align:inherit}.input[type=number]::-webkit-inner-spin-button{margin-block:-.75rem;margin-inline-end:-.75rem}.input::-webkit-calendar-picker-indicator{position:absolute;inset-inline-end:.75em}.input:has(>input[type=date]) :where(input[type=date]){webkit-appearance:none;appearance:none;display:inline-flex}.input:has(>input[type=date]) input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;width:1em;height:1em;position:absolute;inset-inline-end:.75em}.indicator{width:max-content;display:inline-flex;position:relative}.indicator :where(.indicator-item){z-index:1;white-space:nowrap;top:var(--indicator-t,0);bottom:var(--indicator-b,auto);left:var(--indicator-s,auto);right:var(--indicator-e,0);translate:var(--indicator-x,50%) var(--indicator-y,-50%);position:absolute}.table{border-collapse:separate;--tw-border-spacing-x:calc(.25rem * 0);--tw-border-spacing-y:calc(.25rem * 0);width:100%;border-spacing:var(--tw-border-spacing-x) var(--tw-border-spacing-y);border-radius:var(--radius-box);text-align:left;font-size:.875rem;position:relative}.table:where(:dir(rtl),[dir=rtl],[dir=rtl] *){text-align:right}@media (hover:hover){:is(.table tr.row-hover,.table tr.row-hover:nth-child(2n)):hover{background-color:var(--color-base-200)}}.table :where(th,td){vertical-align:middle;padding-block:.75rem;padding-inline:1rem}.table :where(thead,tfoot){white-space:nowrap;color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.table :where(thead,tfoot){color:color-mix(in oklab, var(--color-base-content) 60%, transparent)}}.table :where(thead,tfoot){font-size:.875rem;font-weight:600}.table :where(tfoot tr:first-child :is(td,th)){border-top:var(--border) solid var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.table :where(tfoot tr:first-child :is(td,th)){border-top:var(--border) solid color-mix(in oklch, var(--color-base-content) 5%, #0000)}}.table :where(.table-pin-rows thead tr){z-index:1;background-color:var(--color-base-100);position:sticky;top:0}.table :where(.table-pin-rows tfoot tr){z-index:1;background-color:var(--color-base-100);position:sticky;bottom:0}.table :where(.table-pin-cols tr th){background-color:var(--color-base-100);position:sticky;left:0;right:0}.table :where(thead tr :is(td,th),tbody tr:not(:last-child) :is(td,th)){border-bottom:var(--border) solid var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.table :where(thead tr :is(td,th),tbody tr:not(:last-child) :is(td,th)){border-bottom:var(--border) solid color-mix(in oklch, var(--color-base-content) 5%, #0000)}}.steps{counter-reset:step;grid-auto-columns:1fr;grid-auto-flow:column;display:inline-grid;overflow:auto hidden}.steps .step{text-align:center;--step-bg:var(--color-base-300);--step-fg:var(--color-base-content);grid-template-rows:40px 1fr;grid-template-columns:auto;place-items:center;min-width:4rem;display:grid}.steps .step:before{width:100%;height:.5rem;color:var(--step-bg);background-color:var(--step-bg);content:"";border:1px solid;grid-row-start:1;grid-column-start:1;margin-inline-start:-100%;top:0}.steps .step>.step-icon,.steps .step:not(:has(.step-icon)):after{--tw-content:counter(step);content:var(--tw-content);counter-increment:step;z-index:1;color:var(--step-fg);background-color:var(--step-bg);border:1px solid var(--step-bg);border-radius:3.40282e38px;grid-row-start:1;grid-column-start:1;place-self:center;place-items:center;width:2rem;height:2rem;display:grid;position:relative}.steps .step:first-child:before{--tw-content:none;content:var(--tw-content)}.steps .step[data-content]:after{--tw-content:attr(data-content);content:var(--tw-content)}.range{appearance:none;webkit-appearance:none;--range-thumb:var(--color-base-100);--range-thumb-size:calc(var(--size-selector,.25rem) * 6);--range-progress:currentColor;--range-fill:1;--range-p:.25rem;--range-bg:currentColor}@supports (color:color-mix(in lab, red, red)){.range{--range-bg:color-mix(in oklab, currentColor 10%, #0000)}}.range{cursor:pointer;vertical-align:middle;--radius-selector-max:calc(var(--radius-selector) + var(--radius-selector) + var(--radius-selector));border-radius:calc(var(--radius-selector) + min(var(--range-p), var(--radius-selector-max)));width:clamp(3rem,20rem,100%);height:var(--range-thumb-size);background-color:#0000;border:none;overflow:hidden}[dir=rtl] .range{--range-dir:-1}.range:focus{outline:none}.range:focus-visible{outline-offset:2px;outline:2px solid}.range::-webkit-slider-runnable-track{background-color:var(--range-bg);border-radius:var(--radius-selector);width:100%;height:calc(var(--range-thumb-size) * .5)}@media (forced-colors:active){.range::-webkit-slider-runnable-track{border:1px solid}.range::-moz-range-track{border:1px solid}}.range::-webkit-slider-thumb{box-sizing:border-box;border-radius:calc(var(--radius-selector) + min(var(--range-p), var(--radius-selector-max)));background-color:var(--range-thumb);height:var(--range-thumb-size);width:var(--range-thumb-size);border:var(--range-p) solid;appearance:none;webkit-appearance:none;color:var(--range-progress);box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px currentColor, 0 0 0 2rem var(--range-thumb) inset, calc((var(--range-dir,1) * -100cqw) - (var(--range-dir,1) * var(--range-thumb-size) / 2)) 0 0 calc(100cqw * var(--range-fill));position:relative;top:50%;transform:translateY(-50%)}@supports (color:color-mix(in lab, red, red)){.range::-webkit-slider-thumb{box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000), 0 0 0 2rem var(--range-thumb) inset, calc((var(--range-dir,1) * -100cqw) - (var(--range-dir,1) * var(--range-thumb-size) / 2)) 0 0 calc(100cqw * var(--range-fill))}}.range::-moz-range-track{background-color:var(--range-bg);border-radius:var(--radius-selector);width:100%;height:calc(var(--range-thumb-size) * .5)}.range::-moz-range-thumb{box-sizing:border-box;border-radius:calc(var(--radius-selector) + min(var(--range-p), var(--radius-selector-max)));height:var(--range-thumb-size);width:var(--range-thumb-size);border:var(--range-p) solid;color:var(--range-progress);box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px currentColor, 0 0 0 2rem var(--range-thumb) inset, calc((var(--range-dir,1) * -100cqw) - (var(--range-dir,1) * var(--range-thumb-size) / 2)) 0 0 calc(100cqw * var(--range-fill));background-color:currentColor;position:relative;top:50%}@supports (color:color-mix(in lab, red, red)){.range::-moz-range-thumb{box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000), 0 0 0 2rem var(--range-thumb) inset, calc((var(--range-dir,1) * -100cqw) - (var(--range-dir,1) * var(--range-thumb-size) / 2)) 0 0 calc(100cqw * var(--range-fill))}}.range:disabled{cursor:not-allowed;opacity:.3}.chat-bubble{border-radius:var(--radius-field);background-color:var(--color-base-300);width:fit-content;color:var(--color-base-content);grid-row-end:3;min-width:2.5rem;max-width:90%;min-height:2rem;padding-block:.5rem;padding-inline:1rem;display:block;position:relative}.chat-bubble:before{background-color:inherit;content:"";width:.75rem;height:.75rem;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-image:var(--mask-chat);-webkit-mask-image:var(--mask-chat);mask-image:var(--mask-chat);position:absolute;bottom:0;-webkit-mask-position:0 -1px;mask-position:0 -1px;-webkit-mask-size:.8125rem;mask-size:.8125rem}.select{border:var(--border) solid #0000;appearance:none;background-color:var(--color-base-100);vertical-align:middle;width:clamp(3rem,20rem,100%);height:var(--size);touch-action:manipulation;white-space:nowrap;text-overflow:ellipsis;box-shadow:0 1px var(--input-color) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 20px) calc(1px + 50%),calc(100% - 16.1px) calc(1px + 50%);background-repeat:no-repeat;background-size:4px 4px,4px 4px;border-start-start-radius:var(--join-ss,var(--radius-field));border-start-end-radius:var(--join-se,var(--radius-field));border-end-end-radius:var(--join-ee,var(--radius-field));border-end-start-radius:var(--join-es,var(--radius-field));flex-shrink:1;align-items:center;gap:.375rem;padding-inline:.75rem 1.75rem;font-size:.875rem;display:inline-flex;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.select{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) * .1)) inset}}.select{border-color:var(--input-color);--input-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.select{--input-color:color-mix(in oklab, var(--color-base-content) 20%, #0000)}}.select{--size:calc(var(--size-field,.25rem) * 10)}[dir=rtl] .select{background-position:12px calc(1px + 50%),16px calc(1px + 50%)}[dir=rtl] .select::picker(select){translate:.5rem}[dir=rtl] .select select::picker(select){translate:.5rem}.select[multiple]{background-image:none;height:auto;padding-block:.75rem;padding-inline-end:.75rem;overflow:auto}.select select{appearance:none;width:calc(100% + 2.75rem);height:calc(100% - calc(var(--border) * 2));background:inherit;border-radius:inherit;border-style:none;align-items:center;margin-inline:-.75rem -1.75rem;padding-inline:.75rem 1.75rem}.select select:focus,.select select:focus-within{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.select select:focus,.select select:focus-within{outline-offset:2px;outline:2px solid #0000}}.select select:not(:last-child){background-image:none;margin-inline-end:-1.375rem}.select:focus,.select:focus-within{--input-color:var(--color-base-content);box-shadow:0 1px var(--input-color)}@supports (color:color-mix(in lab, red, red)){.select:focus,.select:focus-within{box-shadow:0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000)}}.select:focus,.select:focus-within{outline:2px solid var(--input-color);outline-offset:2px;isolation:isolate}.select:has(>select[disabled]),.select:is(:disabled,[disabled]),fieldset:disabled .select{cursor:not-allowed;border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.select:has(>select[disabled]),.select:is(:disabled,[disabled]),fieldset:disabled .select{color:color-mix(in oklab, var(--color-base-content) 40%, transparent)}}:is(.select:has(>select[disabled]),.select:is(:disabled,[disabled]),fieldset:disabled .select)::placeholder{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:is(.select:has(>select[disabled]),.select:is(:disabled,[disabled]),fieldset:disabled .select)::placeholder{color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.select:has(>select[disabled])>select[disabled]{cursor:not-allowed}@supports (appearance:base-select){.select,.select select{appearance:base-select}:is(.select,.select select)::picker(select){appearance:base-select}}:is(.select,.select select)::picker(select){color:inherit;border:var(--border) solid var(--color-base-200);border-radius:var(--radius-box);background-color:inherit;max-height:min(24rem,70dvh);box-shadow:0 2px calc(var(--depth) * 3px) -2px oklch(0% 0 0/.2);box-shadow:0 20px 25px -5px rgb(0 0 0/calc(var(--depth) * .1)), 0 8px 10px -6px rgb(0 0 0/calc(var(--depth) * .1));margin-block:.5rem;margin-inline:.5rem;padding:.5rem;translate:-.5rem}:is(.select,.select select)::picker-icon{display:none}:is(.select,.select select) optgroup{padding-top:.5em}:is(.select,.select select) optgroup option:first-child{margin-top:.5em}:is(.select,.select select) option{border-radius:var(--radius-field);white-space:normal;padding-block:.375rem;padding-inline:.75rem;transition-property:color,background-color;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1)}:is(.select,.select select) option:not(:disabled):hover,:is(.select,.select select) option:not(:disabled):focus-visible{cursor:pointer;background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:is(.select,.select select) option:not(:disabled):hover,:is(.select,.select select) option:not(:disabled):focus-visible{background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}:is(.select,.select select) option:not(:disabled):hover,:is(.select,.select select) option:not(:disabled):focus-visible{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){:is(.select,.select select) option:not(:disabled):hover,:is(.select,.select select) option:not(:disabled):focus-visible{outline-offset:2px;outline:2px solid #0000}}:is(.select,.select select) option:not(:disabled):active{background-color:var(--color-neutral);color:var(--color-neutral-content);box-shadow:0 2px calc(var(--depth) * 3px) -2px var(--color-neutral)}.timeline{display:flex;position:relative}.timeline>li{grid-template-rows:var(--timeline-row-start,minmax(0, 1fr)) auto var(--timeline-row-end,minmax(0, 1fr));grid-template-columns:var(--timeline-col-start,minmax(0, 1fr)) auto var(--timeline-col-end,minmax(0, 1fr));flex-shrink:0;align-items:center;display:grid;position:relative}.timeline>li>hr{border:none;width:100%}.timeline>li>hr:first-child{grid-row-start:2;grid-column-start:1}.timeline>li>hr:last-child{grid-area:2/3/auto/none}@media print{.timeline>li>hr{border:.1px solid var(--color-base-300)}}.timeline :where(hr){background-color:var(--color-base-300);height:.25rem}.timeline:has(.timeline-middle hr):first-child{border-start-start-radius:0;border-start-end-radius:var(--radius-selector);border-end-end-radius:var(--radius-selector);border-end-start-radius:0}.timeline:has(.timeline-middle hr):last-child,.timeline:not(:has(.timeline-middle)) :first-child hr:last-child{border-start-start-radius:var(--radius-selector);border-start-end-radius:0;border-end-end-radius:0;border-end-start-radius:var(--radius-selector)}.timeline:not(:has(.timeline-middle)) :last-child hr:first-child{border-start-start-radius:0;border-start-end-radius:var(--radius-selector);border-end-end-radius:var(--radius-selector);border-end-start-radius:0}.swap{cursor:pointer;vertical-align:middle;webkit-user-select:none;-webkit-user-select:none;user-select:none;place-content:center;display:inline-grid;position:relative}.swap input{appearance:none;border:none}.swap>*{grid-row-start:1;grid-column-start:1}@media (prefers-reduced-motion:no-preference){.swap>*{transition-property:transform,rotate,opacity;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1)}}.swap .swap-on,.swap .swap-indeterminate,.swap input:indeterminate~.swap-on,.swap input:is(:checked,:indeterminate)~.swap-off{opacity:0}.swap input:checked~.swap-on,.swap input:indeterminate~.swap-indeterminate{opacity:1;backface-visibility:visible}.collapse-title{grid-row-start:1;grid-column-start:1;width:100%;min-height:1lh;padding:1rem;padding-inline-end:3rem;transition:background-color .2s ease-out;position:relative}.avatar{vertical-align:middle;display:inline-flex;position:relative}.avatar>div{aspect-ratio:1;display:block;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.checkbox{border:var(--border) solid var(--input-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.checkbox{border:var(--border) solid var(--input-color,color-mix(in oklab, var(--color-base-content) 20%, #0000))}}.checkbox{cursor:pointer;appearance:none;border-radius:var(--radius-selector);vertical-align:middle;color:var(--color-base-content);box-shadow:0 1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 0 #0000 inset, 0 0 #0000;--size:calc(var(--size-selector,.25rem) * 6);width:var(--size);height:var(--size);background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--fx-noise);flex-shrink:0;padding:.25rem;transition:background-color .2s,box-shadow .2s;display:inline-block;position:relative}.checkbox:before{--tw-content:"";content:var(--tw-content);opacity:0;clip-path:polygon(20% 100%,20% 80%,50% 80%,50% 80%,70% 80%,70% 100%);width:100%;height:100%;box-shadow:0px 3px 0 0px oklch(100% 0 0 / calc(var(--depth) * .1)) inset;background-color:currentColor;font-size:1rem;line-height:.75;transition:clip-path .3s .1s,opacity .1s .1s,rotate .3s .1s,translate .3s .1s;display:block;rotate:45deg}.checkbox:focus-visible{outline:2px solid var(--input-color,currentColor);outline-offset:2px}.checkbox:checked,.checkbox[aria-checked=true]{background-color:var(--input-color,#0000);box-shadow:0 0 #0000 inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px oklch(0% 0 0 / calc(var(--depth) * .1))}:is(.checkbox:checked,.checkbox[aria-checked=true]):before{clip-path:polygon(20% 100%,20% 80%,50% 80%,50% 0%,70% 0%,70% 100%);opacity:1}@media (forced-colors:active){:is(.checkbox:checked,.checkbox[aria-checked=true]):before{--tw-content:"✔︎";clip-path:none;background-color:#0000;rotate:0deg}}@media print{:is(.checkbox:checked,.checkbox[aria-checked=true]):before{--tw-content:"✔︎";clip-path:none;background-color:#0000;rotate:0deg}}.checkbox:indeterminate{background-color:var(--input-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.checkbox:indeterminate{background-color:var(--input-color,color-mix(in oklab, var(--color-base-content) 20%, #0000))}}.checkbox:indeterminate:before{opacity:1;clip-path:polygon(20% 100%,20% 80%,50% 80%,50% 80%,80% 80%,80% 100%);translate:0 -35%;rotate:0deg}.radio{cursor:pointer;appearance:none;vertical-align:middle;border:var(--border) solid var(--input-color,currentColor);border-radius:3.40282e38px;flex-shrink:0;padding:.25rem;display:inline-block;position:relative}@supports (color:color-mix(in lab, red, red)){.radio{border:var(--border) solid var(--input-color,color-mix(in srgb, currentColor 20%, #0000))}}.radio{box-shadow:0 1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset;--size:calc(var(--size-selector,.25rem) * 6);width:var(--size);height:var(--size);color:var(--input-color,currentColor)}.radio:before{--tw-content:"";content:var(--tw-content);background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--fx-noise);border-radius:3.40282e38px;width:100%;height:100%;display:block}.radio:focus-visible{outline:2px solid}.radio:checked,.radio[aria-checked=true]{background-color:var(--color-base-100);border-color:currentColor}@media (prefers-reduced-motion:no-preference){.radio:checked,.radio[aria-checked=true]{animation:.2s ease-out radio}}:is(.radio:checked,.radio[aria-checked=true]):before{box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px oklch(0% 0 0 / calc(var(--depth) * .1));background-color:currentColor}@media (forced-colors:active){:is(.radio:checked,.radio[aria-checked=true]):before{outline-style:var(--tw-outline-style);outline-offset:calc(1px * -1);outline-width:1px}}@media print{:is(.radio:checked,.radio[aria-checked=true]):before{outline-offset:-1rem;outline:.25rem solid}}.rating{vertical-align:middle;display:inline-flex;position:relative}.rating input{appearance:none;border:none}.rating :where(*){background-color:var(--color-base-content);opacity:.2;border-radius:0;width:1.5rem;height:1.5rem}@media (prefers-reduced-motion:no-preference){.rating :where(*){animation:.25s ease-out rating}}.rating :where(*):is(input){cursor:pointer}.rating .rating-hidden{background-color:#0000;width:.5rem}.rating input[type=radio]:checked{background-image:none}.rating :checked,.rating [aria-checked=true],.rating [aria-current=true],.rating :has(~:checked,~[aria-checked=true],~[aria-current=true]){opacity:1}.rating :focus-visible{scale:1.1}@media (prefers-reduced-motion:no-preference){.rating :focus-visible{transition:scale .2s ease-out}}.rating :active:focus{animation:none;scale:1.1}.rating\!{vertical-align:middle!important;display:inline-flex!important;position:relative!important}.rating\! input{appearance:none!important;border:none!important}.rating\! :where(*){background-color:var(--color-base-content)!important;opacity:.2!important;border-radius:0!important;width:1.5rem!important;height:1.5rem!important}@media (prefers-reduced-motion:no-preference){.rating\! :where(*){animation:.25s ease-out rating!important}}.rating\! :where(*):is(input){cursor:pointer!important}.rating\! .rating-hidden{background-color:#0000!important;width:.5rem!important}.rating\! input[type=radio]:checked{background-image:none!important}.rating\! :checked,.rating\! [aria-checked=true],.rating\! [aria-current=true],.rating\! :has(~:checked,~[aria-checked=true],~[aria-current=true]){opacity:1!important}.rating\! :focus-visible{scale:1.1!important}@media (prefers-reduced-motion:no-preference){.rating\! :focus-visible{transition:scale .2s ease-out!important}}.rating\! :active:focus{animation:none!important;scale:1.1!important}.navbar{align-items:center;width:100%;min-height:4rem;padding:.5rem;display:flex}.drawer{grid-auto-columns:max-content auto;width:100%;display:grid;position:relative}.card{border-radius:var(--radius-box);outline-offset:2px;outline:0 solid #0000;flex-direction:column;transition:outline .2s ease-in-out;display:flex;position:relative}.card:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.card:focus{outline-offset:2px;outline:2px solid #0000}}.card:focus-visible{outline-color:currentColor}.card :where(figure:first-child){border-start-start-radius:inherit;border-start-end-radius:inherit;border-end-end-radius:unset;border-end-start-radius:unset;overflow:hidden}.card :where(figure:last-child){border-start-start-radius:unset;border-start-end-radius:unset;border-end-end-radius:inherit;border-end-start-radius:inherit;overflow:hidden}.card figure{justify-content:center;align-items:center;display:flex}.card:has(>input:is(input[type=checkbox],input[type=radio])){cursor:pointer;-webkit-user-select:none;user-select:none}.card:has(>:checked){outline:2px solid}.stats{border-radius:var(--radius-box);grid-auto-flow:column;display:inline-grid;position:relative;overflow-x:auto}.progress{appearance:none;border-radius:var(--radius-box);background-color:currentColor;width:100%;height:.5rem;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.progress{background-color:color-mix(in oklab, currentcolor 20%, transparent)}}.progress{color:var(--color-base-content)}.progress:indeterminate{background-image:repeating-linear-gradient(90deg,currentColor -1% 10%,#0000 10% 90%);background-position-x:15%;background-size:200%}@media (prefers-reduced-motion:no-preference){.progress:indeterminate{animation:5s ease-in-out infinite progress}}@supports ((-moz-appearance:none)){.progress:indeterminate::-moz-progress-bar{background-color:#0000}@media (prefers-reduced-motion:no-preference){.progress:indeterminate::-moz-progress-bar{background-image:repeating-linear-gradient(90deg,currentColor -1% 10%,#0000 10% 90%);background-position-x:15%;background-size:200%;animation:5s ease-in-out infinite progress}}.progress::-moz-progress-bar{border-radius:var(--radius-box);background-color:currentColor}}@supports ((-webkit-appearance:none)){.progress::-webkit-progress-bar{border-radius:var(--radius-box);background-color:#0000}.progress::-webkit-progress-value{border-radius:var(--radius-box);background-color:currentColor}}.textarea{border:var(--border) solid #0000;appearance:none;border-radius:var(--radius-field);background-color:var(--color-base-100);vertical-align:middle;width:clamp(3rem,20rem,100%);min-height:5rem;font-size:max(var(--font-size,.875rem), .875rem);touch-action:manipulation;border-color:var(--input-color);box-shadow:0 1px var(--input-color) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset;flex-shrink:1;padding-block:.5rem;padding-inline:.75rem}@supports (color:color-mix(in lab, red, red)){.textarea{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) * .1)) inset}}.textarea{--input-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.textarea{--input-color:color-mix(in oklab, var(--color-base-content) 20%, #0000)}}.textarea textarea{appearance:none;background-color:#0000;border:none}.textarea textarea:focus,.textarea textarea:focus-within{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.textarea textarea:focus,.textarea textarea:focus-within{outline-offset:2px;outline:2px solid #0000}}.textarea:focus,.textarea:focus-within{--input-color:var(--color-base-content);box-shadow:0 1px var(--input-color)}@supports (color:color-mix(in lab, red, red)){.textarea:focus,.textarea:focus-within{box-shadow:0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000)}}.textarea:focus,.textarea:focus-within{outline:2px solid var(--input-color);outline-offset:2px;isolation:isolate}@media (pointer:coarse){@supports (-webkit-touch-callout:none){.textarea:focus,.textarea:focus-within{--font-size:1rem}}}.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]){cursor:not-allowed;border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]){color:color-mix(in oklab, var(--color-base-content) 40%, transparent)}}:is(.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]))::placeholder{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:is(.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]))::placeholder{color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]){box-shadow:none}.textarea:has(>textarea[disabled])>textarea[disabled]{cursor:not-allowed}.stack{grid-template-rows:3px 4px 1fr 4px 3px;grid-template-columns:3px 4px 1fr 4px 3px;display:inline-grid}.stack>*{width:100%;height:100%}.stack>:nth-child(n+2){opacity:.7;width:100%}.stack>:nth-child(2){z-index:2;opacity:.9}.stack>:first-child{z-index:3;width:100%}.modal-backdrop{color:#0000;z-index:-1;grid-row-start:1;grid-column-start:1;place-self:stretch stretch;display:grid}.modal-backdrop button{cursor:pointer}.tab-content{order:var(--tabcontent-order);--tabcontent-radius-ss:var(--radius-box);--tabcontent-radius-se:var(--radius-box);--tabcontent-radius-es:var(--radius-box);--tabcontent-radius-ee:var(--radius-box);--tabcontent-order:1;width:100%;height:calc(100% - var(--tab-height) + var(--border));margin:var(--tabcontent-margin);border-color:#0000;border-width:var(--border);border-start-start-radius:var(--tabcontent-radius-ss);border-start-end-radius:var(--tabcontent-radius-se);border-end-end-radius:var(--tabcontent-radius-ee);border-end-start-radius:var(--tabcontent-radius-es);display:none}.timeline-end{grid-area:3/1/4/4;place-self:flex-start center;margin:.25rem}.timeline-start{grid-area:1/1/2/4;place-self:flex-end center;margin:.25rem}.stat-figure{grid-row:1/span 3;grid-column-start:2;place-self:center flex-end}.modal-box{background-color:var(--color-base-100);border-top-left-radius:var(--modal-tl,var(--radius-box));border-top-right-radius:var(--modal-tr,var(--radius-box));border-bottom-left-radius:var(--modal-bl,var(--radius-box));border-bottom-right-radius:var(--modal-br,var(--radius-box));opacity:0;overscroll-behavior:contain;grid-row-start:1;grid-column-start:1;width:91.6667%;max-width:32rem;max-height:100vh;padding:1.5rem;transition:translate .3s ease-out,scale .3s ease-out,opacity .2s ease-out 50ms,box-shadow .3s ease-out;overflow-y:auto;scale:.95;box-shadow:0 25px 50px -12px oklch(0% 0 0/.25)}.drawer-content{grid-row-start:1;grid-column-start:2;min-width:0}.timeline-middle{grid-row-start:2;grid-column-start:2}.stat-value{white-space:nowrap;grid-column-start:1;font-size:2rem;font-weight:800}.stat-desc{white-space:nowrap;color:var(--color-base-content);grid-column-start:1}@supports (color:color-mix(in lab, red, red)){.stat-desc{color:color-mix(in oklab, var(--color-base-content) 60%, transparent)}}.stat-desc{font-size:.75rem}.stat-title{white-space:nowrap;color:var(--color-base-content);grid-column-start:1}@supports (color:color-mix(in lab, red, red)){.stat-title{color:color-mix(in oklab, var(--color-base-content) 60%, transparent)}}.stat-title{font-size:.75rem}.stat-actions{white-space:nowrap;grid-column-start:1}.chat-image{grid-row:span 2/span 2;align-self:flex-end}.chat-footer{grid-row-start:3;gap:.25rem;font-size:.6875rem;display:flex}.chat-header{grid-row-start:1;gap:.25rem;font-size:.6875rem;display:flex}.divider{white-space:nowrap;height:1rem;margin:var(--divider-m,1rem 0);--divider-color:var(--color-base-content);flex-direction:row;align-self:stretch;align-items:center;display:flex}@supports (color:color-mix(in lab, red, red)){.divider{--divider-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}.divider:before,.divider:after{content:"";background-color:var(--divider-color);flex-grow:1;width:100%;height:.125rem}@media print{.divider:before,.divider:after{border:.5px solid}}.divider:not(:empty){gap:1rem}.filter{flex-wrap:wrap;display:flex}.filter input[type=radio]{width:auto}.filter input{opacity:1;transition:margin .1s,opacity .3s,padding .3s,border-width .1s;overflow:hidden;scale:1}.filter input:not(:last-child){margin-inline-end:.25rem}.filter input.filter-reset{aspect-ratio:1}.filter input.filter-reset:after{--tw-content:"×";content:var(--tw-content)}.filter:not(:has(input:checked:not(.filter-reset))) .filter-reset,.filter:not(:has(input:checked:not(.filter-reset))) input[type=reset],.filter:has(input:checked:not(.filter-reset)) input:not(:checked,.filter-reset,input[type=reset]){opacity:0;border-width:0;width:0;margin-inline:0;padding-inline:0;scale:0}.label{white-space:nowrap;color:currentColor;align-items:center;gap:.375rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.label{color:color-mix(in oklab, currentcolor 60%, transparent)}}.label:has(input){cursor:pointer}.label:is(.input>*,.select>*){white-space:nowrap;height:calc(100% - .5rem);font-size:inherit;align-items:center;padding-inline:.75rem;display:flex}.label:is(.input>*,.select>*):first-child{border-inline-end:var(--border) solid currentColor;margin-inline:-.75rem .75rem}@supports (color:color-mix(in lab, red, red)){.label:is(.input>*,.select>*):first-child{border-inline-end:var(--border) solid color-mix(in oklab, currentColor 10%, #0000)}}.label:is(.input>*,.select>*):last-child{border-inline-start:var(--border) solid currentColor;margin-inline:.75rem -.75rem}@supports (color:color-mix(in lab, red, red)){.label:is(.input>*,.select>*):last-child{border-inline-start:var(--border) solid color-mix(in oklab, currentColor 10%, #0000)}}.modal-action{justify-content:flex-end;gap:.5rem;margin-top:1.5rem;display:flex}.fieldset-legend{color:var(--color-base-content);justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:-.25rem;padding-block:.5rem;font-weight:600;display:flex}.carousel-item{box-sizing:content-box;scroll-snap-align:start;flex:none;display:flex}.status{aspect-ratio:1;border-radius:var(--radius-selector);background-color:var(--color-base-content);width:.5rem;height:.5rem;display:inline-block}@supports (color:color-mix(in lab, red, red)){.status{background-color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.status{vertical-align:middle;color:#0000004d;background-position:50%;background-repeat:no-repeat}@supports (color:color-mix(in lab, red, red)){.status{color:color-mix(in oklab, var(--color-black) 30%, transparent)}}.status{background-image:radial-gradient(circle at 35% 30%, oklch(1 0 0 / calc(var(--depth) * .5)), #0000);box-shadow:0 2px 3px -1px}@supports (color:color-mix(in lab, red, red)){.status{box-shadow:0 2px 3px -1px color-mix(in oklab, currentColor calc(var(--depth) * 100%), #0000)}}.badge{border-radius:var(--radius-selector);vertical-align:middle;color:var(--badge-fg);border:var(--border) solid var(--badge-color,var(--color-base-200));background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--fx-noise);background-color:var(--badge-bg);--badge-bg:var(--badge-color,var(--color-base-100));--badge-fg:var(--color-base-content);--size:calc(var(--size-selector,.25rem) * 6);width:fit-content;height:var(--size);padding-inline:calc(var(--size) / 2 - var(--border));justify-content:center;align-items:center;gap:.5rem;font-size:.875rem;display:inline-flex}.kbd{border-radius:var(--radius-field);background-color:var(--color-base-200);vertical-align:middle;border:var(--border) solid var(--color-base-content);justify-content:center;align-items:center;padding-inline:.5em;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.kbd{border:var(--border) solid color-mix(in srgb, var(--color-base-content) 20%, #0000)}}.kbd{border-bottom:calc(var(--border) + 1px) solid var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.kbd{border-bottom:calc(var(--border) + 1px) solid color-mix(in srgb, var(--color-base-content) 20%, #0000)}}.kbd{--size:calc(var(--size-selector,.25rem) * 6);height:var(--size);min-width:var(--size);font-size:.875rem}.text-rotate{vertical-align:bottom;white-space:nowrap;--duration:var(--tw-duration);transition-property:none;display:inline-block;overflow:hidden}.text-rotate>*{height:calc(var(--items,1) * 100%);justify-items:start;display:grid}.text-rotate>:has(:nth-child(2)){--items:2;animation:rotator var(--duration,10s) linear(0 0% 49%, .5 50% 99%, 1 100% 100%) infinite}.text-rotate>:has(:nth-child(3)){--items:3;animation:rotator var(--duration,10s) linear(0 0% 32%, .333333 33% 65%, .666666 66% 99%, 1 100% 100%) infinite}.text-rotate>:has(:nth-child(4)){--items:4;animation:rotator var(--duration,10s) linear(0 0% 24%, .25 25% 49%, .5 50% 74%, .75 75% 99%, 1 100% 100%) infinite}.text-rotate>:has(:nth-child(5)){--items:5;animation:rotator var(--duration,10s) linear(0 0% 19%, .2 20% 39%, .4 40% 59%, .6 60% 79%, .8 80% 99%, 1 100% 100%) infinite}.text-rotate>:has(:nth-child(6)){--items:6;animation:rotator var(--duration,10s) linear(0 0% 15%, .16666 16% 32%, .333333 33% 49%, .5 50% 65%, .666666 66% 82%, .833333 83% 99%, 1 100% 100%) infinite}.text-rotate>*>*{clip-path:inset(.5px 0);align-content:baseline}.text-rotate>*>:first-child{translate:var(--first-item-position)}.text-rotate:hover>*{animation-play-state:paused}.tabs{--tabs-height:auto;--tabs-direction:row;--tab-height:calc(var(--size-field,.25rem) * 10);height:var(--tabs-height);flex-wrap:wrap;flex-direction:var(--tabs-direction);display:flex}.footer{grid-auto-flow:row;place-items:start;gap:2.5rem 1rem;width:100%;font-size:.875rem;line-height:1.25rem;display:grid}.footer>*{place-items:start;gap:.5rem;display:grid}.footer.footer-center{text-align:center;grid-auto-flow:column dense;place-items:center}.footer.footer-center>*{place-items:center}.stat{grid-template-columns:repeat(1,1fr);column-gap:1rem;width:100%;padding-block:1rem;padding-inline:1.5rem;display:inline-grid}.stat:not(:last-child){border-inline-end:var(--border) dashed currentColor}@supports (color:color-mix(in lab, red, red)){.stat:not(:last-child){border-inline-end:var(--border) dashed color-mix(in oklab, currentColor 10%, #0000)}}.stat:not(:last-child){border-block-end:none}.navbar-end{justify-content:flex-end;align-items:center;width:50%;display:inline-flex}.navbar-start{justify-content:flex-start;align-items:center;width:50%;display:inline-flex}.card-body{padding:var(--card-p,1.5rem);font-size:var(--card-fs,.875rem);flex-direction:column;flex:auto;gap:.5rem;display:flex}.card-body :where(p){flex-grow:1}.navbar-center{flex-shrink:0;align-items:center;display:inline-flex}.fieldset-label{color:var(--color-base-content);align-items:center;gap:.375rem;display:flex}@supports (color:color-mix(in lab, red, red)){.fieldset-label{color:color-mix(in oklab, var(--color-base-content) 60%, transparent)}}.fieldset-label:has(input){cursor:pointer}.carousel{scroll-snap-type:x mandatory;scrollbar-width:none;display:inline-flex;overflow-x:scroll}@media (prefers-reduced-motion:no-preference){.carousel{scroll-behavior:smooth}}.carousel::-webkit-scrollbar{display:none}.alert{--alert-border-color:var(--color-base-200);border-radius:var(--radius-box);color:var(--color-base-content);background-color:var(--alert-color,var(--color-base-200));text-align:start;background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--fx-noise);box-shadow:0 3px 0 -2px oklch(100% 0 0 / calc(var(--depth) * .08)) inset, 0 1px #000, 0 4px 3px -2px oklch(0% 0 0 / calc(var(--depth) * .08));border-style:solid;grid-template-columns:auto;grid-auto-flow:column;justify-content:start;place-items:center start;gap:1rem;padding-block:.75rem;padding-inline:1rem;font-size:.875rem;line-height:1.25rem;display:grid}@supports (color:color-mix(in lab, red, red)){.alert{box-shadow:0 3px 0 -2px oklch(100% 0 0 / calc(var(--depth) * .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) * .08))}}.alert:has(:nth-child(2)){grid-template-columns:auto minmax(auto,1fr)}.fieldset{grid-template-columns:1fr;grid-auto-rows:max-content;gap:.375rem;padding-block:.25rem;font-size:.75rem;display:grid}.chat{--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");grid-auto-rows:min-content;column-gap:.75rem;padding-block:.25rem;display:grid}.card-actions{flex-wrap:wrap;align-items:flex-start;gap:.5rem;display:flex}.card-title{font-size:var(--cardtitle-fs,1.125rem);align-items:center;gap:.5rem;font-weight:600;display:flex}.mask{vertical-align:middle;display:inline-block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.skeleton{border-radius:var(--radius-box);background-color:var(--color-base-300)}@media (prefers-reduced-motion:reduce){.skeleton{transition-duration:15s}}.skeleton{will-change:background-position;background-image:linear-gradient(105deg, #0000 0% 40%, var(--color-base-100) 50%, #0000 60% 100%);background-position-x:-50%;background-size:200%}@media (prefers-reduced-motion:no-preference){.skeleton{animation:1.8s ease-in-out infinite skeleton}}.timeline-box{border:var(--border) solid;border-radius:var(--radius-box);border-color:var(--color-base-300);background-color:var(--color-base-100);padding-block:.5rem;padding-inline:1rem;font-size:.75rem;box-shadow:0 1px 2px oklch(0% 0 0/.05)}.btn-accent{--btn-color:var(--color-accent);--btn-fg:var(--color-accent-content)}.btn-error{--btn-color:var(--color-error);--btn-fg:var(--color-error-content)}.btn-info{--btn-color:var(--color-info);--btn-fg:var(--color-info-content)}.btn-neutral{--btn-color:var(--color-neutral);--btn-fg:var(--color-neutral-content)}.btn-primary{--btn-color:var(--color-primary);--btn-fg:var(--color-primary-content)}.btn-secondary{--btn-color:var(--color-secondary);--btn-fg:var(--color-secondary-content)}.btn-success{--btn-color:var(--color-success);--btn-fg:var(--color-success-content)}.btn-warning{--btn-color:var(--color-warning);--btn-fg:var(--color-warning-content)}}@layer daisyui.l1.l2{.modal.modal-open,.modal[open],.modal:target,.modal-toggle:checked+.modal{pointer-events:auto;visibility:visible;opacity:1;transition:visibility 0s allow-discrete, background-color .3s ease-out, opacity .1s ease-out;background-color:oklch(0% 0 0/.4)}:is(.modal.modal-open,.modal[open],.modal:target,.modal-toggle:checked+.modal) .modal-box{opacity:1;translate:0;scale:1}:root:has(:is(.modal.modal-open,.modal[open],.modal:target,.modal-toggle:checked+.modal)){--page-has-backdrop:1;--page-overflow:hidden;--page-scroll-bg:var(--page-scroll-bg-on);--page-scroll-gutter:stable;--page-scroll-transition:var(--page-scroll-transition-on);animation:forwards set-page-has-scroll;animation-timeline:scroll()}@starting-style{.modal.modal-open,.modal[open],.modal:target,.modal-toggle:checked+.modal{opacity:0}}:where(.drawer-toggle:checked~.drawer-side){pointer-events:auto;visibility:visible;opacity:1;overflow-y:auto}:where(.drawer-toggle:checked~.drawer-side)>:not(.drawer-overlay){translate:0%}.drawer-toggle:focus-visible~.drawer-content label.drawer-button{outline-offset:2px;outline:2px solid}.tooltip>.tooltip-content,.tooltip[data-tip]:before{transform:translateX(-50%) translateY(var(--tt-pos,.25rem));inset:auto auto var(--tt-off) 50%}.tooltip:after{transform:translateX(-50%) translateY(var(--tt-pos,.25rem));inset:auto auto var(--tt-tail) 50%}.collapse-arrow>.collapse-title:after{width:.5rem;height:.5rem;display:block;position:absolute;transform:translateY(-100%)rotate(45deg)}@media (prefers-reduced-motion:no-preference){.collapse-arrow>.collapse-title:after{transition-property:all;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1)}}.collapse-arrow>.collapse-title:after{content:"";transform-origin:75% 75%;pointer-events:none;top:50%;inset-inline-end:1.4rem;box-shadow:2px 2px}.btn:disabled:not(.btn-link,.btn-ghost){background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn:disabled:not(.btn-link,.btn-ghost){background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}.btn:disabled:not(.btn-link,.btn-ghost){box-shadow:none}.btn:disabled{pointer-events:none;--btn-border:#0000;--btn-noise:none;--btn-fg:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn:disabled{--btn-fg:color-mix(in oklch, var(--color-base-content) 20%, #0000)}}.btn[disabled]:not(.btn-link,.btn-ghost){background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn[disabled]:not(.btn-link,.btn-ghost){background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}.btn[disabled]:not(.btn-link,.btn-ghost){box-shadow:none}.btn[disabled]{pointer-events:none;--btn-border:#0000;--btn-noise:none;--btn-fg:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn[disabled]{--btn-fg:color-mix(in oklch, var(--color-base-content) 20%, #0000)}}.btn-disabled:not(.btn-link,.btn-ghost){background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn-disabled:not(.btn-link,.btn-ghost){background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}.btn-disabled:not(.btn-link,.btn-ghost){box-shadow:none}.btn-disabled{pointer-events:none;--btn-border:#0000;--btn-noise:none;--btn-fg:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn-disabled{--btn-fg:color-mix(in oklch, var(--color-base-content) 20%, #0000)}}.tab-disabled{pointer-events:none;opacity:.4}@media (prefers-reduced-motion:no-preference){.collapse[open].collapse-arrow>.collapse-title:after,.collapse.collapse-open.collapse-arrow>.collapse-title:after{transform:translateY(-50%)rotate(225deg)}}.collapse.collapse-open.collapse-plus>.collapse-title:after{--tw-content:"−";content:var(--tw-content)}:is(.collapse[tabindex].collapse-arrow:focus:not(.collapse-close),.collapse.collapse-arrow[tabindex]:focus-within:not(.collapse-close))>.collapse-title:after,.collapse.collapse-arrow:not(.collapse-close)>input:is([type=checkbox],[type=radio]):checked~.collapse-title:after{transform:translateY(-50%)rotate(225deg)}.collapse[open].collapse-plus>.collapse-title:after,.collapse[tabindex].collapse-plus:focus:not(.collapse-close)>.collapse-title:after,.collapse.collapse-plus:not(.collapse-close)>input:is([type=checkbox],[type=radio]):checked~.collapse-title:after{--tw-content:"−";content:var(--tw-content)}.tabs-lift{--tabs-height:auto;--tabs-direction:row}.tabs-lift>.tab{--tab-border:0 0 var(--border) 0;--tab-radius-ss:var(--tab-radius-limit);--tab-radius-se:var(--tab-radius-limit);--tab-radius-es:0;--tab-radius-ee:0;--tab-paddings:var(--border) var(--tab-p) 0 var(--tab-p);--tab-border-colors:#0000 #0000 var(--tab-border-color) #0000;--tab-corner-width:calc(100% + var(--tab-radius-limit) * 2);--tab-corner-height:var(--tab-radius-limit);--tab-corner-position:top left, top right;border-width:var(--tab-border);padding:var(--tab-paddings);border-color:var(--tab-border-colors);border-start-start-radius:var(--tab-radius-ss);border-start-end-radius:var(--tab-radius-se);border-end-end-radius:var(--tab-radius-ee);border-end-start-radius:var(--tab-radius-es)}.tabs-lift>.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-lift>.tab:is(input:checked,label:has(:checked)){--tab-border:var(--border) var(--border) 0 var(--border);--tab-border-colors:var(--tab-border-color) var(--tab-border-color) #0000 var(--tab-border-color);--tab-paddings:0 calc(var(--tab-p) - var(--border)) var(--border) calc(var(--tab-p) - var(--border));--tab-inset:auto auto 0 auto;--radius-start:radial-gradient(circle at top left, var(--tab-radius-grad));--radius-end:radial-gradient(circle at top right, var(--tab-radius-grad));background-color:var(--tab-bg)}:is(.tabs-lift>.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-lift>.tab:is(input:checked,label:has(:checked))):before{z-index:1;content:"";width:var(--tab-corner-width);height:var(--tab-corner-height);background-position:var(--tab-corner-position);background-image:var(--radius-start), var(--radius-end);background-size:var(--tab-radius-limit) var(--tab-radius-limit);inset:var(--tab-inset);background-repeat:no-repeat;display:block;position:absolute}:is(.tabs-lift>.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-lift>.tab:is(input:checked,label:has(:checked))):first-child:before{--radius-start:none}[dir=rtl] :is(.tabs-lift>.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-lift>.tab:is(input:checked,label:has(:checked))):first-child:before{transform:rotateY(180deg)}:is(.tabs-lift>.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-lift>.tab:is(input:checked,label:has(:checked))):last-child:before{--radius-end:none}[dir=rtl] :is(.tabs-lift>.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-lift>.tab:is(input:checked,label:has(:checked))):last-child:before{transform:rotateY(180deg)}.tabs-lift:has(>.tab-content)>.tab:first-child:not(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]){--tab-border-colors:var(--tab-border-color) var(--tab-border-color) #0000 var(--tab-border-color)}.tabs-lift>.tab-content{--tabcontent-margin:calc(-1 * var(--border)) 0 0 0;--tabcontent-radius-ss:0;--tabcontent-radius-se:var(--radius-box);--tabcontent-radius-es:var(--radius-box);--tabcontent-radius-ee:var(--radius-box)}:is(.tabs-lift :checked,.tabs-lift label:has(:checked),.tabs-lift :is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]))+.tab-content:first-child,:is(.tabs-lift :checked,.tabs-lift label:has(:checked),.tabs-lift :is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]))+.tab-content:nth-child(n+3){--tabcontent-radius-ss:var(--radius-box)}.list .list-row:has(.list-col-grow:first-child){--list-grid-cols:1fr}.list .list-row:has(.list-col-grow:nth-child(2)){--list-grid-cols:minmax(0, auto) 1fr}.list .list-row:has(.list-col-grow:nth-child(3)){--list-grid-cols:minmax(0, auto) minmax(0, auto) 1fr}.list .list-row:has(.list-col-grow:nth-child(4)){--list-grid-cols:minmax(0, auto) minmax(0, auto) minmax(0, auto) 1fr}.list .list-row:has(.list-col-grow:nth-child(5)){--list-grid-cols:minmax(0, auto) minmax(0, auto) minmax(0, auto) minmax(0, auto) 1fr}.list .list-row:has(.list-col-grow:nth-child(6)){--list-grid-cols:minmax(0, auto) minmax(0, auto) minmax(0, auto) minmax(0, auto) minmax(0, auto) 1fr}.list .list-row>*{grid-row-start:1}.steps .step-neutral+.step-neutral:before,.steps .step-neutral:after,.steps .step-neutral>.step-icon{--step-bg:var(--color-neutral);--step-fg:var(--color-neutral-content)}.steps .step-primary+.step-primary:before,.steps .step-primary:after,.steps .step-primary>.step-icon{--step-bg:var(--color-primary);--step-fg:var(--color-primary-content)}.steps .step-secondary+.step-secondary:before,.steps .step-secondary:after,.steps .step-secondary>.step-icon{--step-bg:var(--color-secondary);--step-fg:var(--color-secondary-content)}.steps .step-accent+.step-accent:before,.steps .step-accent:after,.steps .step-accent>.step-icon{--step-bg:var(--color-accent);--step-fg:var(--color-accent-content)}.steps .step-info+.step-info:before,.steps .step-info:after,.steps .step-info>.step-icon{--step-bg:var(--color-info);--step-fg:var(--color-info-content)}.steps .step-success+.step-success:before,.steps .step-success:after,.steps .step-success>.step-icon{--step-bg:var(--color-success);--step-fg:var(--color-success-content)}.steps .step-warning+.step-warning:before,.steps .step-warning:after,.steps .step-warning>.step-icon{--step-bg:var(--color-warning);--step-fg:var(--color-warning-content)}.steps .step-error+.step-error:before,.steps .step-error:after,.steps .step-error>.step-icon{--step-bg:var(--color-error);--step-fg:var(--color-error-content)}.tabs-border>.tab{--tab-border-color:#0000 #0000 var(--tab-border-color) #0000;border-radius:var(--radius-field);position:relative}.tabs-border>.tab:before{content:"";background-color:var(--tab-border-color);border-radius:var(--radius-field);width:80%;height:3px;transition:background-color .2s;position:absolute;bottom:0;left:10%}:is(.tabs-border>.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-border>.tab:is(input:checked),.tabs-border>.tab:is(label:has(:checked))):before{--tab-border-color:currentColor;border-top:3px solid}.menu-horizontal{flex-direction:row;display:inline-flex}.menu-horizontal>li:not(.menu-title)>details>ul{transform-origin:top;border-radius:var(--radius-box);background-color:var(--color-base-100);opacity:0;margin-inline-start:0;margin-top:1rem;padding-block:.5rem;padding-inline-end:.5rem;position:absolute;scale:.95;box-shadow:0 1px 3px oklch(0% 0 0/.1),0 1px 2px -1px oklch(0% 0 0/.1)}@media (prefers-reduced-motion:no-preference){@starting-style{.menu-horizontal>li:not(.menu-title)>details>ul{opacity:0;scale:.95}}.menu-horizontal>li:not(.menu-title)>details>ul{transition-behavior:allow-discrete;transition-property:opacity,scale,display;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);animation:.2s menu}}.menu-horizontal>li:not(.menu-title)>details[open]>ul{opacity:1;scale:1}.menu-horizontal>li>details>ul:before{--tw-content:none;content:var(--tw-content)}.menu-vertical{flex-direction:column;display:inline-flex}.menu-vertical>li:not(.menu-title)>details>ul{background-color:revert-layer;border-radius:revert-layer;animation:revert-layer;box-shadow:revert-layer;margin-inline-start:1rem;margin-top:0;padding-block:0;padding-inline-end:0;transition:revert-layer;position:relative}.checkbox:disabled,.radio:disabled{cursor:not-allowed;opacity:.2}.rating.rating-xs :where(:not(.rating-hidden)){width:1rem;height:1rem}.rating.rating-sm :where(:not(.rating-hidden)){width:1.25rem;height:1.25rem}.rating.rating-md :where(:not(.rating-hidden)){width:1.5rem;height:1.5rem}.rating.rating-lg :where(:not(.rating-hidden)){width:1.75rem;height:1.75rem}.rating.rating-xl :where(:not(.rating-hidden)){width:2rem;height:2rem}.rating\!.rating-xs :where(:not(.rating-hidden)){width:1rem!important;height:1rem!important}.rating\!.rating-sm :where(:not(.rating-hidden)){width:1.25rem!important;height:1.25rem!important}.rating\!.rating-md :where(:not(.rating-hidden)){width:1.5rem!important;height:1.5rem!important}.rating\!.rating-lg :where(:not(.rating-hidden)){width:1.75rem!important;height:1.75rem!important}.rating\!.rating-xl :where(:not(.rating-hidden)){width:2rem!important;height:2rem!important}:where(.navbar){position:relative}.tooltip-bottom>.tooltip-content,.tooltip-bottom[data-tip]:before{transform:translateX(-50%) translateY(var(--tt-pos,-.25rem));inset:var(--tt-off) auto auto 50%}.tooltip-bottom:after{transform:translateX(-50%) translateY(var(--tt-pos,-.25rem)) rotate(180deg);inset:var(--tt-tail) auto auto 50%}.tooltip-left>.tooltip-content,.tooltip-left[data-tip]:before{transform:translateX(calc(var(--tt-pos,.25rem) - .25rem)) translateY(-50%);inset:50% var(--tt-off) auto auto}.tooltip-left:after{transform:translateX(var(--tt-pos,.25rem)) translateY(-50%) rotate(-90deg);inset:50% calc(var(--tt-tail) + 1px) auto auto}.tooltip-right>.tooltip-content,.tooltip-right[data-tip]:before{transform:translateX(calc(var(--tt-pos,-.25rem) + .25rem)) translateY(-50%);inset:50% auto auto var(--tt-off)}.tooltip-right:after{transform:translateX(var(--tt-pos,-.25rem)) translateY(-50%) rotate(90deg);inset:50% auto auto calc(var(--tt-tail) + 1px)}.tooltip-top>.tooltip-content,.tooltip-top[data-tip]:before{transform:translateX(-50%) translateY(var(--tt-pos,.25rem));inset:auto auto var(--tt-off) 50%}.tooltip-top:after{transform:translateX(-50%) translateY(var(--tt-pos,.25rem));inset:auto auto var(--tt-tail) 50%}.dropdown-right{--anchor-h:right;--anchor-v:span-bottom}.dropdown-right .dropdown-content{transform-origin:0;inset-inline-start:100%;top:0;bottom:auto}.dropdown-left{--anchor-h:left;--anchor-v:span-bottom}.dropdown-left .dropdown-content{transform-origin:100%;inset-inline-end:100%;top:0;bottom:auto}.dropdown-end{--anchor-h:span-left}.dropdown-end :where(.dropdown-content){inset-inline-end:0;translate:0}[dir=rtl] :is(.dropdown-end :where(.dropdown-content)){translate:0}.dropdown-end.dropdown-left{--anchor-h:left;--anchor-v:span-top}.dropdown-end.dropdown-left .dropdown-content{top:auto;bottom:0}.dropdown-end.dropdown-right{--anchor-h:right;--anchor-v:span-top}.dropdown-end.dropdown-right .dropdown-content{top:auto;bottom:0}.dropdown-bottom{--anchor-v:bottom}.dropdown-bottom .dropdown-content{transform-origin:top;top:100%;bottom:auto}.dropdown-top{--anchor-v:top}.dropdown-top .dropdown-content{transform-origin:bottom;top:auto;bottom:100%}.btn-active{--btn-bg:var(--btn-color,var(--color-base-200))}@supports (color:color-mix(in lab, red, red)){.btn-active{--btn-bg:color-mix(in oklab, var(--btn-color,var(--color-base-200)), #000 7%)}}.btn-active{--btn-shadow:0 0 0 0 oklch(0% 0 0/0), 0 0 0 0 oklch(0% 0 0/0);isolation:isolate}:is(.stack,.stack.stack-bottom)>*{grid-area:3/3/6/4}:is(.stack,.stack.stack-bottom)>:nth-child(2){grid-area:2/2/5/5}:is(.stack,.stack.stack-bottom)>:first-child{grid-area:1/1/4/6}.stack.stack-top>*{grid-area:1/3/4/4}.stack.stack-top>:nth-child(2){grid-area:2/2/5/5}.stack.stack-top>:first-child{grid-area:3/1/6/6}.stack.stack-start>*{grid-area:3/1/4/4}.stack.stack-start>:nth-child(2){grid-area:2/2/5/5}.stack.stack-start>:first-child{grid-area:1/3/6/6}.stack.stack-end>*{grid-area:3/3/4/6}.stack.stack-end>:nth-child(2){grid-area:2/2/5/5}.stack.stack-end>:first-child{grid-area:1/1/6/4}.tabs-box{background-color:var(--color-base-200);--tabs-box-radius:calc(3 * var(--radius-field));border-radius:calc(min(var(--tab-height) / 2, var(--radius-field)) + min(.25rem, var(--tabs-box-radius)));box-shadow:0 -.5px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 .5px oklch(0% 0 0 / calc(var(--depth) * .05)) inset;padding:.25rem}.tabs-box>.tab{border-radius:var(--radius-field);border-style:none}.tabs-box>.tab:focus-visible,.tabs-box>.tab:is(label:has(:checked:focus-visible)){outline-offset:2px}.tabs-box>.tab:focus-visible{z-index:1}.tabs-box>:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-box>:is(input:checked),.tabs-box>:is(label:has(:checked)){background-color:var(--tab-bg,var(--color-base-100));box-shadow:0 1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px 1px -1px var(--color-neutral), 0 1px 6px -4px var(--color-neutral)}@supports (color:color-mix(in lab, red, red)){.tabs-box>:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-box>:is(input:checked),.tabs-box>:is(label:has(:checked)){box-shadow:0 1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px 1px -1px color-mix(in oklab, var(--color-neutral) calc(var(--depth) * 50%), #0000), 0 1px 6px -4px color-mix(in oklab, var(--color-neutral) calc(var(--depth) * 100%), #0000)}}@media (forced-colors:active){.tabs-box>:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-box>:is(input:checked),.tabs-box>:is(label:has(:checked)){border:1px solid}}.tabs-box>.tab-content{height:calc(100% - var(--tab-height) + var(--border) - .5rem);border-radius:calc(min(var(--tab-height) / 2, var(--radius-field)) + min(.25rem, var(--tabs-box-radius)) - var(--border));margin-top:.25rem}.timeline-horizontal{flex-direction:row}.timeline-horizontal>li{align-items:center}.timeline-horizontal>li>hr{width:100%;height:.25rem}.timeline-horizontal>li>hr:first-child{grid-row-start:2;grid-column-start:1}.timeline-horizontal>li>hr:last-child{grid-area:2/3/auto/none}.timeline-horizontal .timeline-start{grid-area:1/1/2/4;place-self:flex-end center}.timeline-horizontal .timeline-end{grid-area:3/1/4/4;place-self:flex-start center}.timeline-horizontal:has(.timeline-middle)>li>hr:first-child{border-start-start-radius:0;border-start-end-radius:var(--radius-selector);border-end-end-radius:var(--radius-selector);border-end-start-radius:0}.timeline-horizontal:has(.timeline-middle)>li>hr:last-child,.timeline-horizontal:not(:has(.timeline-middle)) :first-child>hr:last-child{border-start-start-radius:var(--radius-selector);border-start-end-radius:0;border-end-end-radius:0;border-end-start-radius:var(--radius-selector)}.timeline-horizontal:not(:has(.timeline-middle)) :last-child>hr:first-child{border-start-start-radius:0;border-start-end-radius:var(--radius-selector);border-end-end-radius:var(--radius-selector);border-end-start-radius:0}.timeline-vertical{flex-direction:column}.timeline-vertical>li{--timeline-row-start:minmax(0, 1fr);--timeline-row-end:minmax(0, 1fr);justify-items:center}.timeline-vertical>li>hr{width:.25rem;height:100%}.timeline-vertical>li>hr:first-child{grid-row-start:1;grid-column-start:2}.timeline-vertical>li>hr:last-child{grid-area:3/2/none}.timeline-vertical .timeline-start{grid-area:1/1/4/2;place-self:center flex-end}.timeline-vertical .timeline-end{grid-area:1/3/4/4;place-self:center flex-start}.timeline-vertical:has(.timeline-middle)>li>hr:first-child{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:var(--radius-selector);border-bottom-left-radius:var(--radius-selector)}.timeline-vertical:has(.timeline-middle)>li>hr:last-child,.timeline-vertical:not(:has(.timeline-middle)) :first-child>hr:last-child{border-top-left-radius:var(--radius-selector);border-top-right-radius:var(--radius-selector);border-bottom-right-radius:0;border-bottom-left-radius:0}.timeline-vertical:not(:has(.timeline-middle)) :last-child>hr:first-child{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:var(--radius-selector);border-bottom-left-radius:var(--radius-selector)}.timeline-vertical.timeline-snap-icon>li{--timeline-col-start:minmax(0, 1fr);--timeline-row-start:.5rem}.timeline-compact{--timeline-row-start:0}.timeline-compact .timeline-start{grid-area:3/1/4/4;place-self:flex-start center}.timeline-compact li:has(.timeline-start) .timeline-end{grid-row-start:auto;grid-column-start:none}.timeline-compact.timeline-vertical>li{--timeline-col-start:0}.timeline-compact.timeline-vertical .timeline-start{grid-area:1/3/4/4;place-self:center flex-start}.timeline-compact.timeline-vertical li:has(.timeline-start) .timeline-end{grid-row-start:none;grid-column-start:auto}.drawer-end{grid-auto-columns:auto max-content}.drawer-end>.drawer-toggle~.drawer-content{grid-column-start:1}.drawer-end>.drawer-toggle~.drawer-side{grid-column-start:2;justify-items:end}.drawer-end>.drawer-toggle~.drawer-side>:not(.drawer-overlay){translate:100%}[dir=rtl] :is(.drawer-end>.drawer-toggle~.drawer-side>:not(.drawer-overlay)){translate:-100%}.drawer-end>.drawer-toggle:checked~.drawer-side>:not(.drawer-overlay){translate:0%}.input-lg{--size:calc(var(--size-field,.25rem) * 12);font-size:max(var(--font-size,1.125rem), 1.125rem)}.input-lg[type=number]::-webkit-inner-spin-button{margin-block:-.75rem;margin-inline-end:-.75rem}.input-md{--size:calc(var(--size-field,.25rem) * 10);font-size:max(var(--font-size,.875rem), .875rem)}.input-md[type=number]::-webkit-inner-spin-button{margin-block:-.75rem;margin-inline-end:-.75rem}.input-sm{--size:calc(var(--size-field,.25rem) * 8);font-size:max(var(--font-size,.75rem), .75rem)}.input-sm[type=number]::-webkit-inner-spin-button{margin-block:-.5rem;margin-inline-end:-.75rem}.input-xs{--size:calc(var(--size-field,.25rem) * 6);font-size:max(var(--font-size,.6875rem), .6875rem)}.input-xs[type=number]::-webkit-inner-spin-button{margin-block:-.25rem;margin-inline-end:-.75rem}.modal-bottom{place-items:end}.modal-bottom .modal-box{--modal-tl:var(--radius-box);--modal-tr:var(--radius-box);--modal-bl:0;--modal-br:0;width:100%;max-width:none;height:auto;max-height:calc(100vh - 5em);translate:0 100%;scale:1}.modal-middle{place-items:center}.modal-middle .modal-box{--modal-tl:var(--radius-box);--modal-tr:var(--radius-box);--modal-bl:var(--radius-box);--modal-br:var(--radius-box);width:91.6667%;max-width:32rem;height:auto;max-height:calc(100vh - 5em);translate:0 2%;scale:.98}.modal-top{place-items:start}.modal-top .modal-box{--modal-tl:0;--modal-tr:0;--modal-bl:var(--radius-box);--modal-br:var(--radius-box);width:100%;max-width:none;height:auto;max-height:calc(100vh - 5em);translate:0 -100%;scale:1}.btn-circle{width:var(--size);height:var(--size);border-radius:3.40282e38px;padding-inline:0}.btn-square{width:var(--size);height:var(--size);padding-inline:0}.btn-wide{width:100%;max-width:16rem}.btn-block{width:100%}.swap-rotate .swap-on,.swap-rotate input:indeterminate~.swap-on{rotate:45deg}.swap-rotate input:is(:checked,:indeterminate)~.swap-on,.swap-rotate.swap-active .swap-on{rotate:0deg}.swap-rotate input:is(:checked,:indeterminate)~.swap-off,.swap-rotate.swap-active .swap-off{rotate:-45deg}.swap-flip{transform-style:preserve-3d;perspective:20rem}.swap-flip .swap-on,.swap-flip .swap-indeterminate,.swap-flip input:indeterminate~.swap-on{backface-visibility:hidden;transform:rotateY(180deg)}.swap-flip input:is(:checked,:indeterminate)~.swap-on,.swap-flip.swap-active .swap-on{transform:rotateY(0)}.swap-flip input:is(:checked,:indeterminate)~.swap-off,.swap-flip.swap-active .swap-off{backface-visibility:hidden;opacity:1;transform:rotateY(-180deg)}.stats-horizontal{grid-auto-flow:column;overflow-x:auto}.stats-horizontal .stat:not(:last-child){border-inline-end:var(--border) dashed currentColor}@supports (color:color-mix(in lab, red, red)){.stats-horizontal .stat:not(:last-child){border-inline-end:var(--border) dashed color-mix(in oklab, currentColor 10%, #0000)}}.stats-horizontal .stat:not(:last-child){border-block-end:none}.stats-vertical{grid-auto-flow:row;overflow-y:auto}.stats-vertical .stat:not(:last-child){border-inline-end:none;border-block-end:var(--border) dashed currentColor}@supports (color:color-mix(in lab, red, red)){.stats-vertical .stat:not(:last-child){border-block-end:var(--border) dashed color-mix(in oklab, currentColor 10%, #0000)}}.menu-lg :where(li:not(.menu-title)>:not(ul,details,.menu-title)),.menu-lg :where(li:not(.menu-title)>details>summary:not(.menu-title)){border-radius:var(--radius-field);padding-block:.375rem;padding-inline:1rem;font-size:1.125rem}.menu-lg .menu-title{padding-block:.75rem;padding-inline:1.5rem}.menu-md :where(li:not(.menu-title)>:not(ul,details,.menu-title)),.menu-md :where(li:not(.menu-title)>details>summary:not(.menu-title)){border-radius:var(--radius-field);padding-block:.375rem;padding-inline:.75rem;font-size:.875rem}.menu-md .menu-title{padding-block:.5rem;padding-inline:.75rem}.menu-sm :where(li:not(.menu-title)>:not(ul,details,.menu-title)),.menu-sm :where(li:not(.menu-title)>details>summary:not(.menu-title)){border-radius:var(--radius-field);padding-block:.25rem;padding-inline:.625rem;font-size:.75rem}.menu-sm .menu-title{padding-block:.5rem;padding-inline:.75rem}.menu-xs :where(li:not(.menu-title)>:not(ul,details,.menu-title)),.menu-xs :where(li:not(.menu-title)>details>summary:not(.menu-title)){border-radius:var(--radius-field);padding-block:.25rem;padding-inline:.5rem;font-size:.6875rem}.menu-xs .menu-title{padding-block:.25rem;padding-inline:.5rem}.badge-dash{color:var(--badge-color);--badge-bg:#0000;background-image:none;border-style:dashed;border-color:currentColor}.badge-ghost{border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content);background-image:none}.select-ghost{box-shadow:none;background-color:#0000;border-color:#0000;transition:background-color .2s}.select-ghost:focus,.select-ghost:focus-within{background-color:var(--color-base-100);color:var(--color-base-content);box-shadow:none;border-color:#0000}.input-ghost{box-shadow:none;background-color:#0000;border-color:#0000}.input-ghost:focus,.input-ghost:focus-within{background-color:var(--color-base-100);color:var(--color-base-content);box-shadow:none;border-color:#0000}.badge-outline{color:var(--badge-color);--badge-bg:#0000;background-image:none;border-color:currentColor}.table-zebra tbody tr:where(:nth-child(2n)),.table-zebra tbody tr:where(:nth-child(2n)) :where(.table-pin-cols tr th){background-color:var(--color-base-200)}@media (hover:hover){:is(.table-zebra tbody tr.row-hover,.table-zebra tbody tr.row-hover:where(:nth-child(2n))):hover{background-color:var(--color-base-300)}}.loading-spinner{-webkit-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");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")}.mask-circle{-webkit-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");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")}.mask-heart{-webkit-mask-image:url("data:image/svg+xml,%3csvg width='200' height='185' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M100 184.606a15.384 15.384 0 0 1-8.653-2.678C53.565 156.28 37.205 138.695 28.182 127.7 8.952 104.264-.254 80.202.005 54.146.308 24.287 24.264 0 53.406 0c21.192 0 35.869 11.937 44.416 21.879a2.884 2.884 0 0 0 4.356 0C110.725 11.927 125.402 0 146.594 0c29.142 0 53.098 24.287 53.4 54.151.26 26.061-8.956 50.122-28.176 73.554-9.023 10.994-25.383 28.58-63.165 54.228a15.384 15.384 0 0 1-8.653 2.673Z' fill='black' fill-rule='nonzero'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg width='200' height='185' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M100 184.606a15.384 15.384 0 0 1-8.653-2.678C53.565 156.28 37.205 138.695 28.182 127.7 8.952 104.264-.254 80.202.005 54.146.308 24.287 24.264 0 53.406 0c21.192 0 35.869 11.937 44.416 21.879a2.884 2.884 0 0 0 4.356 0C110.725 11.927 125.402 0 146.594 0c29.142 0 53.098 24.287 53.4 54.151.26 26.061-8.956 50.122-28.176 73.554-9.023 10.994-25.383 28.58-63.165 54.228a15.384 15.384 0 0 1-8.653 2.673Z' fill='black' fill-rule='nonzero'/%3e%3c/svg%3e")}.mask-star{-webkit-mask-image:url("data:image/svg+xml,%3csvg width='192' height='180' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m96 137.263-58.779 42.024 22.163-68.389L.894 68.481l72.476-.243L96 0l22.63 68.238 72.476.243-58.49 42.417 22.163 68.389z' fill-rule='evenodd'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg width='192' height='180' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m96 137.263-58.779 42.024 22.163-68.389L.894 68.481l72.476-.243L96 0l22.63 68.238 72.476.243-58.49 42.417 22.163 68.389z' fill-rule='evenodd'/%3e%3c/svg%3e")}.mask-star-2{-webkit-mask-image:url("data:image/svg+xml,%3csvg width='192' height='180' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m96 153.044-58.779 26.243 7.02-63.513L.894 68.481l63.117-13.01L96 0l31.989 55.472 63.117 13.01-43.347 47.292 7.02 63.513z' fill-rule='evenodd'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg width='192' height='180' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m96 153.044-58.779 26.243 7.02-63.513L.894 68.481l63.117-13.01L96 0l31.989 55.472 63.117 13.01-43.347 47.292 7.02 63.513z' fill-rule='evenodd'/%3e%3c/svg%3e")}.checkbox-lg{--size:calc(var(--size-selector,.25rem) * 7);padding:.3125rem}.checkbox-md{--size:calc(var(--size-selector,.25rem) * 6);padding:.25rem}.checkbox-sm{--size:calc(var(--size-selector,.25rem) * 5);padding:.1875rem}.checkbox-xs{--size:calc(var(--size-selector,.25rem) * 4);padding:.125rem}.radio-lg{padding:.3125rem}.radio-lg[type=radio]{--size:calc(var(--size-selector,.25rem) * 7)}.radio-md{padding:.25rem}.radio-md[type=radio]{--size:calc(var(--size-selector,.25rem) * 6)}.radio-sm{padding:.1875rem}.radio-sm[type=radio]{--size:calc(var(--size-selector,.25rem) * 5)}.radio-xs{padding:.125rem}.radio-xs[type=radio]{--size:calc(var(--size-selector,.25rem) * 4)}.select-lg{--size:calc(var(--size-field,.25rem) * 12);font-size:1.125rem}.select-lg option{padding-block:.375rem;padding-inline:1rem}.select-md{--size:calc(var(--size-field,.25rem) * 10);font-size:.875rem}.select-md option{padding-block:.375rem;padding-inline:.75rem}.select-sm{--size:calc(var(--size-field,.25rem) * 8);font-size:.75rem}.select-sm option{padding-block:.25rem;padding-inline:.625rem}.select-xs{--size:calc(var(--size-field,.25rem) * 6);font-size:.6875rem}.select-xs option{padding-block:.25rem;padding-inline:.5rem}.table-lg :not(thead,tfoot) tr{font-size:1.125rem}.table-lg :where(th,td){padding-block:1rem;padding-inline:1.25rem}.table-md :not(thead,tfoot) tr{font-size:.875rem}.table-md :where(th,td){padding-block:.75rem;padding-inline:1rem}.table-sm :not(thead,tfoot) tr{font-size:.75rem}.table-sm :where(th,td){padding-block:.5rem;padding-inline:.75rem}.table-xl :not(thead,tfoot) tr{font-size:1.375rem}.table-xl :where(th,td){padding-block:1.25rem;padding-inline:1.5rem}.table-xs :not(thead,tfoot) tr{font-size:.6875rem}.table-xs :where(th,td){padding-block:.25rem;padding-inline:.5rem}.tabs-lg{--tab-height:calc(var(--size-field,.25rem) * 12)}.tabs-lg>.tab{--tab-p:1rem;--tab-radius-min:calc(1.5rem - var(--border));font-size:1.125rem}.tabs-md{--tab-height:calc(var(--size-field,.25rem) * 10)}.tabs-md>.tab{--tab-p:.75rem;--tab-radius-min:calc(.75rem - var(--border));font-size:.875rem}.tabs-sm{--tab-height:calc(var(--size-field,.25rem) * 8)}.tabs-sm>.tab{--tab-p:.5rem;--tab-radius-min:calc(.5rem - var(--border));font-size:.875rem}.tabs-xs{--tab-height:calc(var(--size-field,.25rem) * 6)}.tabs-xs>.tab{--tab-p:.375rem;--tab-radius-min:calc(.5rem - var(--border));font-size:.75rem}.badge-lg{--size:calc(var(--size-selector,.25rem) * 7);font-size:1rem}.badge-md{--size:calc(var(--size-selector,.25rem) * 6);font-size:.875rem}.badge-sm{--size:calc(var(--size-selector,.25rem) * 5);font-size:.75rem}.badge-xs{--size:calc(var(--size-selector,.25rem) * 4);font-size:.625rem}.alert-error{color:var(--color-error-content);--alert-border-color:var(--color-error);--alert-color:var(--color-error)}.alert-info{color:var(--color-info-content);--alert-border-color:var(--color-info);--alert-color:var(--color-info)}.alert-success{color:var(--color-success-content);--alert-border-color:var(--color-success);--alert-color:var(--color-success)}.alert-warning{color:var(--color-warning-content);--alert-border-color:var(--color-warning);--alert-color:var(--color-warning)}.checkbox-accent{color:var(--color-accent-content);--input-color:var(--color-accent)}.checkbox-error{color:var(--color-error-content);--input-color:var(--color-error)}.checkbox-info{color:var(--color-info-content);--input-color:var(--color-info)}.checkbox-primary{color:var(--color-primary-content);--input-color:var(--color-primary)}.checkbox-secondary{color:var(--color-secondary-content);--input-color:var(--color-secondary)}.checkbox-success{color:var(--color-success-content);--input-color:var(--color-success)}.checkbox-warning{color:var(--color-warning-content);--input-color:var(--color-warning)}.range-accent{color:var(--color-accent);--range-thumb:var(--color-accent-content)}.range-error{color:var(--color-error);--range-thumb:var(--color-error-content)}.range-info{color:var(--color-info);--range-thumb:var(--color-info-content)}.range-primary{color:var(--color-primary);--range-thumb:var(--color-primary-content)}.range-secondary{color:var(--color-secondary);--range-thumb:var(--color-secondary-content)}.range-success{color:var(--color-success);--range-thumb:var(--color-success-content)}.range-warning{color:var(--color-warning);--range-thumb:var(--color-warning-content)}.tooltip-accent{--tt-bg:var(--color-accent)}.tooltip-accent>.tooltip-content,.tooltip-accent[data-tip]:before{color:var(--color-accent-content)}.tooltip-error{--tt-bg:var(--color-error)}.tooltip-error>.tooltip-content,.tooltip-error[data-tip]:before{color:var(--color-error-content)}.tooltip-info{--tt-bg:var(--color-info)}.tooltip-info>.tooltip-content,.tooltip-info[data-tip]:before{color:var(--color-info-content)}.tooltip-primary{--tt-bg:var(--color-primary)}.tooltip-primary>.tooltip-content,.tooltip-primary[data-tip]:before{color:var(--color-primary-content)}.tooltip-secondary{--tt-bg:var(--color-secondary)}.tooltip-secondary>.tooltip-content,.tooltip-secondary[data-tip]:before{color:var(--color-secondary-content)}.tooltip-success{--tt-bg:var(--color-success)}.tooltip-success>.tooltip-content,.tooltip-success[data-tip]:before{color:var(--color-success-content)}.tooltip-warning{--tt-bg:var(--color-warning)}.tooltip-warning>.tooltip-content,.tooltip-warning[data-tip]:before{color:var(--color-warning-content)}.swap-active .swap-off{opacity:0}.swap-active .swap-on{opacity:1}.indicator-end{--indicator-s:auto;--indicator-e:0;--indicator-x:50%}[dir=rtl] .indicator-end,.indicator-start{--indicator-s:0;--indicator-e:auto;--indicator-x:-50%}[dir=rtl] .indicator-start{--indicator-s:auto;--indicator-e:0;--indicator-x:50%}.btn-lg{--fontsize:1.125rem;--btn-p:1.25rem;--size:calc(var(--size-field,.25rem) * 12)}.btn-md{--fontsize:.875rem;--btn-p:1rem;--size:calc(var(--size-field,.25rem) * 10)}.btn-sm{--fontsize:.75rem;--btn-p:.75rem;--size:calc(var(--size-field,.25rem) * 8)}.btn-xl{--fontsize:1.375rem;--btn-p:1.5rem;--size:calc(var(--size-field,.25rem) * 14)}.btn-xs{--fontsize:.6875rem;--btn-p:.5rem;--size:calc(var(--size-field,.25rem) * 6)}.indicator-bottom{--indicator-t:auto;--indicator-b:0;--indicator-y:50%}.indicator-top{--indicator-t:0;--indicator-b:auto;--indicator-y:-50%}.badge-accent{--badge-color:var(--color-accent);--badge-fg:var(--color-accent-content)}.badge-error{--badge-color:var(--color-error);--badge-fg:var(--color-error-content)}.badge-info{--badge-color:var(--color-info);--badge-fg:var(--color-info-content)}.badge-primary{--badge-color:var(--color-primary);--badge-fg:var(--color-primary-content)}.badge-secondary{--badge-color:var(--color-secondary);--badge-fg:var(--color-secondary-content)}.badge-success{--badge-color:var(--color-success);--badge-fg:var(--color-success-content)}.badge-warning{--badge-color:var(--color-warning);--badge-fg:var(--color-warning-content)}.input-accent,.input-accent:focus,.input-accent:focus-within{--input-color:var(--color-accent)}.input-error,.input-error:focus,.input-error:focus-within{--input-color:var(--color-error)}.input-info,.input-info:focus,.input-info:focus-within{--input-color:var(--color-info)}.input-primary,.input-primary:focus,.input-primary:focus-within{--input-color:var(--color-primary)}.input-secondary,.input-secondary:focus,.input-secondary:focus-within{--input-color:var(--color-secondary)}.input-success,.input-success:focus,.input-success:focus-within{--input-color:var(--color-success)}.input-warning,.input-warning:focus,.input-warning:focus-within{--input-color:var(--color-warning)}.radio-accent{--input-color:var(--color-accent)}.radio-error{--input-color:var(--color-error)}.radio-info{--input-color:var(--color-info)}.radio-primary{--input-color:var(--color-primary)}.radio-secondary{--input-color:var(--color-secondary)}.radio-success{--input-color:var(--color-success)}.radio-warning{--input-color:var(--color-warning)}.range-lg{--range-thumb-size:calc(var(--size-selector,.25rem) * 7)}.range-md{--range-thumb-size:calc(var(--size-selector,.25rem) * 6)}.range-sm{--range-thumb-size:calc(var(--size-selector,.25rem) * 5)}.range-xs{--range-thumb-size:calc(var(--size-selector,.25rem) * 4)}.select-accent,.select-accent:focus,.select-accent:focus-within{--input-color:var(--color-accent)}.select-error,.select-error:focus,.select-error:focus-within{--input-color:var(--color-error)}.select-info,.select-info:focus,.select-info:focus-within{--input-color:var(--color-info)}.select-primary,.select-primary:focus,.select-primary:focus-within{--input-color:var(--color-primary)}.select-secondary,.select-secondary:focus,.select-secondary:focus-within{--input-color:var(--color-secondary)}.select-success,.select-success:focus,.select-success:focus-within{--input-color:var(--color-success)}.select-warning,.select-warning:focus,.select-warning:focus-within{--input-color:var(--color-warning)}.toggle-accent:checked,.toggle-accent[aria-checked=true]{--input-color:var(--color-accent)}.toggle-error:checked,.toggle-error[aria-checked=true]{--input-color:var(--color-error)}.toggle-info:checked,.toggle-info[aria-checked=true]{--input-color:var(--color-info)}.toggle-lg[type=checkbox],.toggle-lg:has([type=checkbox]){--size:calc(var(--size-selector,.25rem) * 7)}.toggle-md[type=checkbox],.toggle-md:has([type=checkbox]){--size:calc(var(--size-selector,.25rem) * 6)}.toggle-primary:checked,.toggle-primary[aria-checked=true]{--input-color:var(--color-primary)}.toggle-secondary:checked,.toggle-secondary[aria-checked=true]{--input-color:var(--color-secondary)}.toggle-sm[type=checkbox],.toggle-sm:has([type=checkbox]){--size:calc(var(--size-selector,.25rem) * 5)}.toggle-success:checked,.toggle-success[aria-checked=true]{--input-color:var(--color-success)}.toggle-warning:checked,.toggle-warning[aria-checked=true]{--input-color:var(--color-warning)}.toggle-xs[type=checkbox],.toggle-xs:has([type=checkbox]){--size:calc(var(--size-selector,.25rem) * 4)}}.prose :where(a.btn:not(.btn-link)):not(:where([class~=not-prose],[class~=not-prose] *)){text-decoration-line:none}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse:not(td,tr,colgroup){visibility:revert-layer}.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing) * 0)}.inset-y-0{inset-block:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.-top-1{top:calc(var(--spacing) * -1)}.top-0{top:calc(var(--spacing) * 0)}.top-2{top:calc(var(--spacing) * 2)}.top-4{top:calc(var(--spacing) * 4)}.top-6{top:calc(var(--spacing) * 6)}.top-10{top:calc(var(--spacing) * 10)}.-right-2{right:calc(var(--spacing) * -2)}.right-0{right:calc(var(--spacing) * 0)}.right-1\/4{right:25%}.right-3{right:calc(var(--spacing) * 3)}.right-6{right:calc(var(--spacing) * 6)}.-bottom-5{bottom:calc(var(--spacing) * -5)}.bottom-6{bottom:calc(var(--spacing) * 6)}.bottom-10{bottom:calc(var(--spacing) * 10)}.left-0{left:calc(var(--spacing) * 0)}.left-1\/2{left:50%}.left-1\/4{left:25%}.left-2{left:calc(var(--spacing) * 2)}.left-3{left:calc(var(--spacing) * 3)}.left-4{left:calc(var(--spacing) * 4)}.left-6{left:calc(var(--spacing) * 6)}.-z-0{z-index:calc(0 * -1)}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[1\]{z-index:1}.z-\[50\]{z-index:50}.z-\[90\]{z-index:90}.z-\[100\]{z-index:100}.z-\[110\]{z-index:110}.z-\[9999\]{z-index:9999}.col-start-1{grid-column-start:1}.col-start-2{grid-column-start:2}.col-start-3{grid-column-start:3}.row-start-2{grid-row-start:2}.row-start-3{grid-row-start:3}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-1{margin:calc(var(--spacing) * 1)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing) * 1)}.my-4{margin-block:calc(var(--spacing) * 4)}.my-6{margin-block:calc(var(--spacing) * 6)}.my-16{margin-block:calc(var(--spacing) * 16)}.-mt-10{margin-top:calc(var(--spacing) * -10)}.mt-0{margin-top:calc(var(--spacing) * 0)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mr-1{margin-right:calc(var(--spacing) * 1)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-6{margin-left:calc(var(--spacing) * 6)}.icon-\[lucide--alert-circle\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 8v4m0 4h.01'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--alert-triangle\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m21.73 18l-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3M12 9v4m0 4h.01'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--calendar\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M8 2v4m8-4v4'/%3E%3Crect width='18' height='18' x='3' y='4' rx='2'/%3E%3Cpath d='M3 10h18'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--check-circle\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M21.801 10A10 10 0 1 1 17 3.335'/%3E%3Cpath d='m9 11l3 3L22 4'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--chevron-left\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m15 18l-6-6l6-6'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--chevron-right\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m9 18l6-6l-6-6'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--chevrons-left\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m11 17l-5-5l5-5m7 10l-5-5l5-5'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--chevrons-right\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m6 17l5-5l-5-5m7 10l5-5l-5-5'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--eye-off\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575a1 1 0 0 1 0 .696a10.8 10.8 0 0 1-1.444 2.49m-6.41-.679a3 3 0 0 1-4.242-4.242'/%3E%3Cpath d='M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151a1 1 0 0 1 0-.696a10.75 10.75 0 0 1 4.446-5.143M2 2l20 20'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--eye\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M2.062 12.348a1 1 0 0 1 0-.696a10.75 10.75 0 0 1 19.876 0a1 1 0 0 1 0 .696a10.75 10.75 0 0 1-19.876 0'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--hash\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 9h16M4 15h16M10 3L8 21m8-18l-2 18'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--heart\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 9.5a5.5 5.5 0 0 1 9.591-3.676a.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--info\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-4m0-4h.01'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--link\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71'/%3E%3Cpath d='M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--lock\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Crect width='18' height='11' x='3' y='11' rx='2' ry='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--mail\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='m22 7l-8.991 5.727a2 2 0 0 1-2.009 0L2 7'/%3E%3Crect width='20' height='16' x='2' y='4' rx='2'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--phone\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233a14 14 0 0 0 6.392 6.384'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--search-x\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='m13.5 8.5l-5 5m0-5l5 5'/%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21l-4.3-4.3'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--search\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='m21 21l-4.34-4.34'/%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--text\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M15 18H3M17 6H3m18 6H3'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--upload\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 3v12m5-7l-5-5l-5 5m14 7v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--x\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M18 6L6 18M6 6l12 12'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.kbd{box-shadow:none}.text-rotate{height:1lh}.alert{border-width:var(--border);border-color:var(--alert-border-color,var(--color-base-200))}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.table{display:table}.aspect-square{aspect-ratio:1}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-8{height:calc(var(--spacing) * 8)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-16{height:calc(var(--spacing) * 16)}.h-20{height:calc(var(--spacing) * 20)}.h-24{height:calc(var(--spacing) * 24)}.h-32{height:calc(var(--spacing) * 32)}.h-48{height:calc(var(--spacing) * 48)}.h-96{height:calc(var(--spacing) * 96)}.h-\[300px\]{height:300px}.h-\[400px\]{height:400px}.h-\[500px\]{height:500px}.h-auto{height:auto}.h-full{height:100%}.max-h-60{max-height:calc(var(--spacing) * 60)}.max-h-96{max-height:calc(var(--spacing) * 96)}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-\[300px\]{min-height:300px}.min-h-\[400px\]{min-height:400px}.min-h-\[500px\]{min-height:500px}.min-h-full{min-height:100%}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-8{width:calc(var(--spacing) * 8)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-16{width:calc(var(--spacing) * 16)}.w-24{width:calc(var(--spacing) * 24)}.w-32{width:calc(var(--spacing) * 32)}.w-40{width:calc(var(--spacing) * 40)}.w-48{width:calc(var(--spacing) * 48)}.w-52{width:calc(var(--spacing) * 52)}.w-56{width:calc(var(--spacing) * 56)}.w-64{width:calc(var(--spacing) * 64)}.w-80{width:calc(var(--spacing) * 80)}.w-96{width:calc(var(--spacing) * 96)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-3xl{max-width:var(--container-3xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-\[200px\]{max-width:200px}.max-w-md{max-width:var(--container-md)}.max-w-xs{max-width:var(--container-xs)}.min-w-\[4rem\]{min-width:4rem}.min-w-\[48px\]{min-width:48px}.min-w-\[500px\]{min-width:500px}.min-w-\[600px\]{min-width:600px}.flex-1{flex:1}.flex-none{flex:none}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-2{--tw-translate-x:calc(var(--spacing) * 2);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-4{--tw-translate-x:calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-10{--tw-translate-x:calc(var(--spacing) * 10);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-full{--tw-translate-x:100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-2{--tw-translate-y:calc(var(--spacing) * 2);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-4{--tw-translate-y:calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-105{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-110{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.cursor-help{cursor:help}.cursor-pointer{cursor:pointer}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.justify-items-center{justify-items:center}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-box{border-radius:var(--radius-box);border-radius:var(--radius-box)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-none{border-radius:0}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}@layer daisyui.l1{.alert-dash{color:var(--alert-color);box-shadow:none;background-color:#0000;background-image:none;border-style:dashed}.btn-dash:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-shadow:"";--btn-bg:#0000;--btn-fg:var(--btn-color);--btn-border:var(--btn-color);--btn-noise:none}@media (hover:none){.btn-dash:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-shadow:"";--btn-bg:#0000;--btn-fg:var(--btn-color);--btn-border:var(--btn-color);--btn-noise:none}}.alert-soft{color:var(--alert-color,var(--color-base-content));background:var(--alert-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.alert-soft{background:color-mix(in oklab, var(--alert-color,var(--color-base-content)) 8%, var(--color-base-100))}}.alert-soft{--alert-border-color:var(--alert-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.alert-soft{--alert-border-color:color-mix(in oklab, var(--alert-color,var(--color-base-content)) 10%, var(--color-base-100))}}.alert-soft{box-shadow:none;background-image:none}.btn-link{--btn-border:#0000;--btn-bg:#0000;--btn-noise:none;--btn-shadow:"";outline-color:currentColor;text-decoration-line:underline}.btn-link:not(.btn-disabled,.btn:disabled,.btn[disabled]){--btn-fg:var(--btn-color,var(--color-primary))}.btn-link:is(.btn-active,:hover,:active:focus,:focus-visible){--btn-border:#0000;--btn-bg:#0000}.btn-ghost:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn)){--btn-shadow:"";--btn-bg:#0000;--btn-border:#0000;--btn-noise:none}.btn-ghost:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn)):not(:disabled,[disabled],.btn-disabled){--btn-fg:var(--btn-color,currentColor);outline-color:currentColor}@media (hover:none){.btn-ghost:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-shadow:"";--btn-bg:#0000;--btn-fg:var(--btn-color,currentColor);--btn-border:#0000;--btn-noise:none;outline-color:currentColor}}.btn-outline:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-shadow:"";--btn-bg:#0000;--btn-fg:var(--btn-color);--btn-border:var(--btn-color);--btn-noise:none}@media (hover:none){.btn-outline:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-shadow:"";--btn-bg:#0000;--btn-fg:var(--btn-color);--btn-border:var(--btn-color);--btn-noise:none}}.btn-soft:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-shadow:"";--btn-fg:var(--btn-color,var(--color-base-content));--btn-bg:var(--btn-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.btn-soft:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-bg:color-mix(in oklab, var(--btn-color,var(--color-base-content)) 8%, var(--color-base-100))}}.btn-soft:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-border:var(--btn-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.btn-soft:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-border:color-mix(in oklab, var(--btn-color,var(--color-base-content)) 10%, var(--color-base-100))}}.btn-soft:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-noise:none}@media (hover:none){.btn-soft:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-shadow:"";--btn-fg:var(--btn-color,var(--color-base-content));--btn-bg:var(--btn-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.btn-soft:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-bg:color-mix(in oklab, var(--btn-color,var(--color-base-content)) 8%, var(--color-base-100))}}.btn-soft:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-border:var(--btn-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.btn-soft:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-border:color-mix(in oklab, var(--btn-color,var(--color-base-content)) 10%, var(--color-base-100))}}.btn-soft:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-noise:none}}}.btn-dash{border-style:dashed}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-base-200\/30{border-color:var(--color-base-200)}@supports (color:color-mix(in lab, red, red)){.border-base-200\/30{border-color:color-mix(in oklab, var(--color-base-200) 30%, transparent)}}.border-base-300{border-color:var(--color-base-300)}.border-base-content\/20{border-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.border-base-content\/20{border-color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.border-black\/5{border-color:#0000000d}@supports (color:color-mix(in lab, red, red)){.border-black\/5{border-color:color-mix(in oklab, var(--color-black) 5%, transparent)}}.border-black\/10{border-color:#0000001a}@supports (color:color-mix(in lab, red, red)){.border-black\/10{border-color:color-mix(in oklab, var(--color-black) 10%, transparent)}}.border-primary,.border-primary\/20{border-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.border-primary\/20{border-color:color-mix(in oklab, var(--color-primary) 20%, transparent)}}.border-transparent{border-color:#0000}.bg-accent{background-color:var(--color-accent)}.bg-base-100{background-color:var(--color-base-100)}.bg-base-200,.bg-base-200\/30{background-color:var(--color-base-200)}@supports (color:color-mix(in lab, red, red)){.bg-base-200\/30{background-color:color-mix(in oklab, var(--color-base-200) 30%, transparent)}}.bg-base-200\/50{background-color:var(--color-base-200)}@supports (color:color-mix(in lab, red, red)){.bg-base-200\/50{background-color:color-mix(in oklab, var(--color-base-200) 50%, transparent)}}.bg-base-300{background-color:var(--color-base-300)}.bg-black\/20{background-color:#0003}@supports (color:color-mix(in lab, red, red)){.bg-black\/20{background-color:color-mix(in oklab, var(--color-black) 20%, transparent)}}.bg-error,.bg-error\/10{background-color:var(--color-error)}@supports (color:color-mix(in lab, red, red)){.bg-error\/10{background-color:color-mix(in oklab, var(--color-error) 10%, transparent)}}.bg-info{background-color:var(--color-info)}.bg-neutral{background-color:var(--color-neutral)}.bg-primary,.bg-primary\/5{background-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/5{background-color:color-mix(in oklab, var(--color-primary) 5%, transparent)}}.bg-primary\/10{background-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/10{background-color:color-mix(in oklab, var(--color-primary) 10%, transparent)}}.bg-primary\/20{background-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/20{background-color:color-mix(in oklab, var(--color-primary) 20%, transparent)}}.bg-secondary{background-color:var(--color-secondary)}.bg-success,.bg-success\/10{background-color:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.bg-success\/10{background-color:color-mix(in oklab, var(--color-success) 10%, transparent)}}.bg-warning,.bg-warning\/10{background-color:var(--color-warning)}@supports (color:color-mix(in lab, red, red)){.bg-warning\/10{background-color:color-mix(in oklab, var(--color-warning) 10%, transparent)}}.bg-white\/20{background-color:#fff3}@supports (color:color-mix(in lab, red, red)){.bg-white\/20{background-color:color-mix(in oklab, var(--color-white) 20%, transparent)}}.bg-linear-to-r{--tw-gradient-position:to right}@supports (background-image:linear-gradient(in lab, red, red)){.bg-linear-to-r{--tw-gradient-position:to right in oklab}}.bg-linear-to-r{background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-accent{--tw-gradient-from:var(--color-accent);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-primary{--tw-gradient-from:var(--color-primary);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-secondary{--tw-gradient-from:var(--color-secondary);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.via-accent{--tw-gradient-via:var(--color-accent);--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-accent{--tw-gradient-to:var(--color-accent);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-primary{--tw-gradient-to:var(--color-primary);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-secondary{--tw-gradient-to:var(--color-secondary);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.mask-circle{--tw-mask-radial-shape:circle}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.p-0{padding:calc(var(--spacing) * 0)}.p-1{padding:calc(var(--spacing) * 1)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.p-10{padding:calc(var(--spacing) * 10)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-10{padding-inline:calc(var(--spacing) * 10)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-16{padding-block:calc(var(--spacing) * 16)}.py-20{padding-block:calc(var(--spacing) * 20)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pr-10{padding-right:calc(var(--spacing) * 10)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-10{padding-left:calc(var(--spacing) * 10)}.\!text-center{text-align:center!important}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.text-7xl{font-size:var(--text-7xl);line-height:var(--tw-leading,var(--text-7xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-tighter{--tw-tracking:var(--tracking-tighter);letter-spacing:var(--tracking-tighter)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-balance{text-wrap:balance}.whitespace-nowrap{white-space:nowrap}.text-accent{color:var(--color-accent)}.text-accent-content{color:var(--color-accent-content)}.text-base-content,.text-base-content\/60{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.text-base-content\/60{color:color-mix(in oklab, var(--color-base-content) 60%, transparent)}}.text-base-content\/90{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.text-base-content\/90{color:color-mix(in oklab, var(--color-base-content) 90%, transparent)}}.text-error{color:var(--color-error)}.text-error-content{color:var(--color-error-content)}.text-gray-500{color:var(--color-gray-500)}.text-info{color:var(--color-info)}.text-info-content{color:var(--color-info-content)}.text-neutral-content{color:var(--color-neutral-content)}.text-primary{color:var(--color-primary)}.text-primary-content{color:var(--color-primary-content)}.text-secondary{color:var(--color-secondary)}.text-secondary-content{color:var(--color-secondary-content)}.text-success{color:var(--color-success)}.text-success-content{color:var(--color-success-content)}.text-transparent{color:#0000}.text-warning{color:var(--color-warning)}.text-warning-content{color:var(--color-warning-content)}.text-white{color:var(--color-white)}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-secondary\/20{--tw-shadow-color:var(--color-secondary)}@supports (color:color-mix(in lab, red, red)){.shadow-secondary\/20{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-secondary) 20%, transparent) var(--tw-shadow-alpha), transparent)}}.ring-primary{--tw-ring-color:var(--color-primary)}.ring-offset-1{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.blur-3xl{--tw-blur:blur(var(--blur-3xl));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,)}.drop-shadow-2xl{--tw-drop-shadow-size:drop-shadow(0 25px 25px var(--tw-drop-shadow-color,#00000026));--tw-drop-shadow:drop-shadow(var(--drop-shadow-2xl));filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.ring-inset{--tw-ring-inset:inset}@media (hover:hover){.group-hover\:translate-x-1:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}}.before\:z-50:before,.after\:z-50:after{content:var(--tw-content);z-index:50}@media (hover:hover){.hover\:z-10:hover{z-index:10}.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\:scale-110:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\:scale-125:hover{--tw-scale-x:125%;--tw-scale-y:125%;--tw-scale-z:125%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\:border-accent\/40:hover{border-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.hover\:border-accent\/40:hover{border-color:color-mix(in oklab, var(--color-accent) 40%, transparent)}}.hover\:border-base-content\/20:hover{border-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.hover\:border-base-content\/20:hover{border-color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.hover\:border-primary\/40:hover{border-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.hover\:border-primary\/40:hover{border-color:color-mix(in oklab, var(--color-primary) 40%, transparent)}}.hover\:border-primary\/50:hover{border-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.hover\:border-primary\/50:hover{border-color:color-mix(in oklab, var(--color-primary) 50%, transparent)}}.hover\:border-secondary\/40:hover{border-color:var(--color-secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:border-secondary\/40:hover{border-color:color-mix(in oklab, var(--color-secondary) 40%, transparent)}}.hover\:bg-base-100:hover{background-color:var(--color-base-100)}.hover\:bg-base-200:hover{background-color:var(--color-base-200)}.hover\:bg-base-300:hover{background-color:var(--color-base-300)}.hover\:bg-white\/30:hover{background-color:#ffffff4d}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/30:hover{background-color:color-mix(in oklab, var(--color-white) 30%, transparent)}}.hover\:text-base-content:hover{color:var(--color-base-content)}.hover\:opacity-70:hover{opacity:.7}.hover\:opacity-100:hover{opacity:1}}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}@media (min-width:48rem){.md\:h-64{height:calc(var(--spacing) * 64)}.md\:w-64{width:calc(var(--spacing) * 64)}.md\:w-auto{width:auto}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.md\:text-9xl{font-size:var(--text-9xl);line-height:var(--tw-leading,var(--text-9xl--line-height))}}@media (min-width:64rem){.lg\:col-span-2{grid-column:span 2/span 2}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}}:root{font-size:14px}.input,.select,.textarea{transition:all .3s cubic-bezier(.4,0,.2,1)}:is(.input,.select,.textarea):focus,:is(.input,.select,.textarea):focus-within{outline-offset:1px!important;outline:1px solid #0000!important}:is(.input,.select,.textarea):hover:not(:focus){background-color:oklch(from var(--color-base-100) calc(l - .03) c h)}:is(.input,.select,.textarea):focus{--focus-color:var(--color-primary)}:is(.input,.select,.textarea):focus[class*=-secondary]{--focus-color:var(--color-secondary)}:is(.input,.select,.textarea):focus[class*=-accent]{--focus-color:var(--color-accent)}:is(.input,.select,.textarea):focus[class*=-neutral]{--focus-color:var(--color-neutral)}:is(.input,.select,.textarea):focus[class*=-ghost]{--focus-color:var(--color-base-content)}:is(.input,.select,.textarea):focus[class*=-info]{--focus-color:var(--color-info)}:is(.input,.select,.textarea):focus[class*=-success]{--focus-color:var(--color-success)}:is(.input,.select,.textarea):focus[class*=-warning]{--focus-color:var(--color-warning)}:is(.input,.select,.textarea):focus[class*=-error]{--focus-color:var(--color-error)}:is(.input,.select,.textarea):focus{background-color:oklch(from var(--focus-color) l c h / .05);border-color:var(--focus-color);box-shadow:0 0 0 4px oklch(from var(--focus-color) l c h / .25)}:is(.input,.select,.textarea):focus[class*=-ghost]{border-width:1px}.floating-label span{color:oklch(30% .01 260);font-size:1.1rem;transition:all .2s}.floating-label:focus-within span{color:oklch(25% .02 260);font-size:1.1rem}.floating-label:has(input:not(:placeholder-shown)) span{color:oklch(28% .01 260);font-size:1.1rem}.tab-content-inner{transform-origin:top;animation:.3s cubic-bezier(.4,0,.2,1) tabFadeIn}@keyframes tabFadeIn{0%{opacity:0;transform:scaleY(.95)}to{opacity:1;transform:scaleY(1)}}@keyframes rating{0%,40%{filter:brightness(1.05)contrast(1.05);scale:1.1}}@keyframes dropdown{0%{opacity:0}}@keyframes radio{0%{padding:5px}50%{padding:3px}}@keyframes toast{0%{opacity:0;scale:.9}to{opacity:1;scale:1}}@keyframes rotator{89.9999%,to{--first-item-position:0 0%}90%,99.9999%{--first-item-position:0 calc(var(--items) * 100%)}to{translate:0 -100%}}@keyframes skeleton{0%{background-position:150%}to{background-position:-50%}}@keyframes menu{0%{opacity:0}}@keyframes progress{50%{background-position-x:-115%}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes pulse{50%{opacity:.5}} \ No newline at end of file +@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-content:""}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-gray-500:oklch(55.1% .027 264.364);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-md:28rem;--container-3xl:48rem;--container-5xl:64rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-6xl:3.75rem;--text-6xl--line-height:1;--text-7xl:4.5rem;--text-7xl--line-height:1;--text-9xl:8rem;--text-9xl--line-height:1;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-bold:700;--font-weight-black:900;--tracking-tighter:-.05em;--tracking-tight:-.025em;--tracking-widest:.1em;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-3xl:1.5rem;--drop-shadow-2xl:0 25px 25px #00000026;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-3xl:64px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;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");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}@media (prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--color-base-100:oklch(25.33% .016 252.42);--color-base-200:oklch(23.26% .014 253.1);--color-base-300:oklch(21.15% .012 254.09);--color-base-content:oklch(97.807% .029 256.847);--color-primary:oklch(58% .233 277.117);--color-primary-content:oklch(96% .018 272.314);--color-secondary:oklch(65% .241 354.308);--color-secondary-content:oklch(94% .028 342.258);--color-accent:oklch(77% .152 181.912);--color-accent-content:oklch(38% .063 188.416);--color-neutral:oklch(14% .005 285.823);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(74% .16 232.661);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(76% .177 163.223);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .189 84.429);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(71% .194 13.428);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}}:root:has(input.theme-controller[value=light]:checked),[data-theme=light]{color-scheme:light;--color-base-100:oklch(100% 0 0);--color-base-200:oklch(98% 0 0);--color-base-300:oklch(95% 0 0);--color-base-content:oklch(21% .006 285.885);--color-primary:oklch(45% .24 277.023);--color-primary-content:oklch(93% .034 272.788);--color-secondary:oklch(65% .241 354.308);--color-secondary-content:oklch(94% .028 342.258);--color-accent:oklch(77% .152 181.912);--color-accent-content:oklch(38% .063 188.416);--color-neutral:oklch(14% .005 285.823);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(74% .16 232.661);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(76% .177 163.223);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .189 84.429);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(71% .194 13.428);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}:root{--fx-noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.34' numOctaves='4' stitchTiles='stitch'%3E%3C/feTurbulence%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23a)' opacity='0.2'%3E%3C/rect%3E%3C/svg%3E");scrollbar-color:currentColor #0000}@supports (color:color-mix(in lab, red, red)){:root{scrollbar-color:color-mix(in oklch, currentColor 35%, #0000) #0000}}@property --radialprogress{syntax:"";inherits:true;initial-value:0%}:root:not(span){overflow:var(--page-overflow)}:root{background:var(--page-scroll-bg,var(--root-bg));--page-scroll-bg-on:linear-gradient(var(--root-bg,#0000), var(--root-bg,#0000)) var(--root-bg,#0000)}@supports (color:color-mix(in lab, red, red)){:root{--page-scroll-bg-on:linear-gradient(var(--root-bg,#0000), var(--root-bg,#0000)) color-mix(in srgb, var(--root-bg,#0000), oklch(0% 0 0) calc(var(--page-has-backdrop,0) * 40%))}}:root{--page-scroll-transition-on:background-color .3s ease-out;transition:var(--page-scroll-transition);scrollbar-gutter:var(--page-scroll-gutter,unset);scrollbar-gutter:if(style(--page-has-scroll: 1): var(--page-scroll-gutter,unset) ; else: unset)}@keyframes set-page-has-scroll{0%,to{--page-has-scroll:1}}:root,[data-theme]{background:var(--page-scroll-bg,var(--root-bg));color:var(--color-base-content)}:where(:root,[data-theme]){--root-bg:var(--color-base-100)}:where(:root),:root:has(input.theme-controller[value=light]:checked),[data-theme=light]{color-scheme:light;--color-base-100:oklch(100% 0 0);--color-base-200:oklch(98% 0 0);--color-base-300:oklch(92% 0 0);--color-base-content:oklch(25% .006 285);--color-primary:oklch(25% .006 285);--color-primary-content:oklch(98% 0 0);--color-secondary:oklch(55% .046 257.417);--color-secondary-content:oklch(98% 0 0);--color-accent:oklch(96% 0 0);--color-accent-content:oklch(25% .006 285);--color-neutral:oklch(14% .005 285.823);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(74% .16 232);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(62% .17 163);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .18 84);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(60% .25 27);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.4rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}@media (prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--color-base-100:oklch(15% .005 285.823);--color-base-200:oklch(20% .005 285.823);--color-base-300:oklch(30% .005 285.823);--color-base-content:oklch(92% .004 286.32);--color-primary:oklch(98% 0 0);--color-primary-content:oklch(15% 0 0);--color-secondary:oklch(65% .046 257.417);--color-secondary-content:oklch(15% .005 285.823);--color-accent:oklch(25% 0 0);--color-accent-content:oklch(98% 0 0);--color-neutral:oklch(92% .004 286.32);--color-neutral-content:oklch(14% .005 285.823);--color-info:oklch(70% .1 230);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(65% .15 160);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(85% .15 90);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(55% .2 27);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.4rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}}:root:has(input.theme-controller[value=dark]:checked),[data-theme=dark]{color-scheme:dark;--color-base-100:oklch(15% .005 285.823);--color-base-200:oklch(20% .005 285.823);--color-base-300:oklch(30% .005 285.823);--color-base-content:oklch(92% .004 286.32);--color-primary:oklch(98% 0 0);--color-primary-content:oklch(15% 0 0);--color-secondary:oklch(65% .046 257.417);--color-secondary-content:oklch(15% .005 285.823);--color-accent:oklch(25% 0 0);--color-accent-content:oklch(98% 0 0);--color-neutral:oklch(92% .004 286.32);--color-neutral-content:oklch(14% .005 285.823);--color-info:oklch(70% .1 230);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(65% .15 160);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(85% .15 90);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(55% .2 27);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.4rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}}@layer components;@layer utilities{@layer daisyui.l1.l2.l3{.modal{pointer-events:none;visibility:hidden;width:100%;max-width:none;height:100%;max-height:none;color:inherit;transition:visibility .3s allow-discrete, background-color .3s ease-out, opacity .1s ease-out;overscroll-behavior:contain;z-index:999;scrollbar-gutter:auto;background-color:#0000;place-items:center;margin:0;padding:0;display:grid;position:fixed;inset:0;overflow:clip}.modal::backdrop{display:none}:where(.drawer-side){overflow:hidden}.drawer-side{pointer-events:none;visibility:hidden;z-index:10;overscroll-behavior:contain;opacity:0;width:100%;transition:opacity .2s ease-out .1s allow-discrete, visibility .3s ease-out .1s allow-discrete;inset-inline-start:0;background-color:#0000;grid-template-rows:repeat(1,minmax(0,1fr));grid-template-columns:repeat(1,minmax(0,1fr));grid-row-start:1;grid-column-start:1;place-items:flex-start start;height:100dvh;display:grid;position:fixed;top:0}.drawer-side>.drawer-overlay{cursor:pointer;background-color:oklch(0% 0 0/.4);place-self:stretch stretch;position:sticky;top:0}.drawer-side>*{grid-row-start:1;grid-column-start:1}.drawer-side>:not(.drawer-overlay){will-change:transform;transition:translate .3s ease-out,width .2s ease-out;translate:-100%}[dir=rtl] :is(.drawer-side>:not(.drawer-overlay)){translate:100%}.fab{pointer-events:none;z-index:999;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));white-space:nowrap;inset-inline-end:1rem;flex-direction:column-reverse;align-items:flex-end;gap:.5rem;display:flex;position:fixed;bottom:1rem}.fab>*{pointer-events:auto;align-items:center;gap:.5rem;display:flex}.fab>:hover,.fab>:has(:focus-visible){z-index:1}.fab>[tabindex]:first-child{transition-property:opacity,visibility,rotate;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);display:grid;position:relative}.fab .fab-close,.fab .fab-main-action{inset-inline-end:0;position:absolute;bottom:0}:is(.fab:focus-within:has(.fab-close),.fab:focus-within:has(.fab-main-action))>[tabindex]{opacity:0;rotate:90deg}.fab:focus-within>[tabindex]:first-child{pointer-events:none}.fab:focus-within>:nth-child(n+2){visibility:visible;--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y);opacity:1}.fab>:nth-child(n+2){visibility:hidden;--tw-scale-x:80%;--tw-scale-y:80%;--tw-scale-z:80%;scale:var(--tw-scale-x) var(--tw-scale-y);opacity:0;transition-property:opacity,scale,visibility;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.fab>:nth-child(n+2).fab-main-action,.fab>:nth-child(n+2).fab-close{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.fab>:nth-child(3){transition-delay:30ms}.fab>:nth-child(4){transition-delay:60ms}.fab>:nth-child(5){transition-delay:90ms}.fab>:nth-child(6){transition-delay:.12s}.drawer-toggle{appearance:none;opacity:0;width:0;height:0;position:fixed}:where(.drawer-toggle:checked~.drawer-side){scrollbar-color:currentColor oklch(0 0 0 / calc(var(--page-has-backdrop,0) * .4))}@supports (color:color-mix(in lab, red, red)){:where(.drawer-toggle:checked~.drawer-side){scrollbar-color:color-mix(in oklch, currentColor 35%, #0000) oklch(0 0 0 / calc(var(--page-has-backdrop,0) * .4))}}:where(:root:has(.drawer-toggle:checked)){--page-has-backdrop:1;--page-overflow:hidden;--page-scroll-bg:var(--page-scroll-bg-on);--page-scroll-gutter:stable;--page-scroll-transition:var(--page-scroll-transition-on);animation:forwards set-page-has-scroll;animation-timeline:scroll()}.tooltip{--tt-bg:var(--color-neutral);--tt-off:calc(100% + .5rem);--tt-tail:calc(100% + 1px + .25rem);display:inline-block;position:relative}.tooltip>.tooltip-content,.tooltip[data-tip]:before{border-radius:var(--radius-field);text-align:center;white-space:normal;max-width:20rem;color:var(--color-neutral-content);opacity:0;background-color:var(--tt-bg);pointer-events:none;z-index:2;--tw-content:attr(data-tip);content:var(--tw-content);width:max-content;padding-block:.25rem;padding-inline:.5rem;font-size:.875rem;line-height:1.25;position:absolute}.tooltip:after{opacity:0;background-color:var(--tt-bg);content:"";pointer-events:none;--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");width:.625rem;height:.25rem;-webkit-mask-position:-1px 0;mask-position:-1px 0;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-image:var(--mask-tooltip);-webkit-mask-image:var(--mask-tooltip);mask-image:var(--mask-tooltip);display:block;position:absolute}@media (prefers-reduced-motion:no-preference){.tooltip>.tooltip-content,.tooltip[data-tip]:before,.tooltip:after{transition:opacity .2s cubic-bezier(.4,0,.2,1) 75ms,transform .2s cubic-bezier(.4,0,.2,1) 75ms}}:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible))>.tooltip-content,:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible))[data-tip]:before,:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible)):after{opacity:1;--tt-pos:0rem}@media (prefers-reduced-motion:no-preference){:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible))>.tooltip-content,:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible))[data-tip]:before,:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible)):after{transition:opacity .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1)}}.tab{cursor:pointer;appearance:none;text-align:center;webkit-user-select:none;-webkit-user-select:none;user-select:none;flex-wrap:wrap;justify-content:center;align-items:center;display:inline-flex;position:relative}@media (hover:hover){.tab:hover{color:var(--color-base-content)}}.tab{--tab-p:.75rem;--tab-bg:var(--color-base-100);--tab-border-color:var(--color-base-300);--tab-radius-ss:0;--tab-radius-se:0;--tab-radius-es:0;--tab-radius-ee:0;--tab-order:0;--tab-radius-min:calc(.75rem - var(--border));--tab-radius-limit:min(var(--radius-field), var(--tab-radius-min));--tab-radius-grad:#0000 calc(69% - var(--border)), var(--tab-border-color) calc(69% - var(--border) + .25px), var(--tab-border-color) 69%, var(--tab-bg) calc(69% + .25px);order:var(--tab-order);height:var(--tab-height);padding-inline:var(--tab-p);border-color:#0000;font-size:.875rem}.tab:is(input[type=radio]){min-width:fit-content}.tab:is(input[type=radio]):after{--tw-content:attr(aria-label);content:var(--tw-content)}.tab:is(label){position:relative}.tab:is(label) input{cursor:pointer;appearance:none;opacity:0;position:absolute;inset:0}:is(.tab:checked,.tab:is(label:has(:checked)),.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]))+.tab-content{display:block}.tab:not(:checked,label:has(:checked),:hover,.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]){color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.tab:not(:checked,label:has(:checked),:hover,.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]){color:color-mix(in oklab, var(--color-base-content) 50%, transparent)}}.tab:not(input):empty{cursor:default;flex-grow:1}.tab:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.tab:focus{outline-offset:2px;outline:2px solid #0000}}.tab:focus-visible,.tab:is(label:has(:checked:focus-visible)){outline-offset:-5px;outline:2px solid}.tab[disabled]{pointer-events:none;opacity:.4}.tab\!{cursor:pointer!important;appearance:none!important;text-align:center!important;webkit-user-select:none!important;-webkit-user-select:none!important;user-select:none!important;flex-wrap:wrap!important;justify-content:center!important;align-items:center!important;display:inline-flex!important;position:relative!important}@media (hover:hover){.tab\!:hover{color:var(--color-base-content)!important}}.tab\!{--tab-p:.75rem!important;--tab-bg:var(--color-base-100)!important;--tab-border-color:var(--color-base-300)!important;--tab-radius-ss:0!important;--tab-radius-se:0!important;--tab-radius-es:0!important;--tab-radius-ee:0!important;--tab-order:0!important;--tab-radius-min:calc(.75rem - var(--border))!important;--tab-radius-limit:min(var(--radius-field), var(--tab-radius-min))!important;--tab-radius-grad:#0000 calc(69% - var(--border)), var(--tab-border-color) calc(69% - var(--border) + .25px), var(--tab-border-color) 69%, var(--tab-bg) calc(69% + .25px)!important;order:var(--tab-order)!important;height:var(--tab-height)!important;padding-inline:var(--tab-p)!important;border-color:#0000!important;font-size:.875rem!important}.tab\!:is(input[type=radio]){min-width:fit-content!important}.tab\!:is(input[type=radio]):after{--tw-content:attr(aria-label)!important;content:var(--tw-content)!important}.tab\!:is(label){position:relative!important}.tab\!:is(label) input{cursor:pointer!important;appearance:none!important;opacity:0!important;position:absolute!important;inset:0!important}:is(.tab\!:checked,.tab\!:is(label:has(:checked)),.tab\!:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]))+.tab-content{display:block!important}.tab\!:not(:checked,label:has(:checked),:hover,.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]){color:var(--color-base-content)!important}@supports (color:color-mix(in lab, red, red)){.tab\!:not(:checked,label:has(:checked),:hover,.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]){color:color-mix(in oklab, var(--color-base-content) 50%, transparent)!important}}.tab\!:not(input):empty{cursor:default!important;flex-grow:1!important}.tab\!:focus{--tw-outline-style:none!important;outline-style:none!important}@media (forced-colors:active){.tab\!:focus{outline-offset:2px!important;outline:2px solid #0000!important}}.tab\!:focus-visible,.tab\!:is(label:has(:checked:focus-visible)){outline-offset:-5px!important;outline:2px solid!important}.tab\![disabled]{pointer-events:none!important;opacity:.4!important}.menu{--menu-active-fg:var(--color-neutral-content);--menu-active-bg:var(--color-neutral);flex-flow:column wrap;width:fit-content;padding:.5rem;font-size:.875rem;display:flex}.menu :where(li ul){white-space:nowrap;margin-inline-start:1rem;padding-inline-start:.5rem;position:relative}.menu :where(li ul):before{background-color:var(--color-base-content);opacity:.1;width:var(--border);content:"";inset-inline-start:0;position:absolute;top:.75rem;bottom:.75rem}.menu :where(li>.menu-dropdown:not(.menu-dropdown-show)){display:none}.menu :where(li:not(.menu-title)>:not(ul,details,.menu-title,.btn)),.menu :where(li:not(.menu-title)>details>summary:not(.menu-title)){border-radius:var(--radius-field);text-align:start;text-wrap:balance;-webkit-user-select:none;user-select:none;grid-auto-columns:minmax(auto,max-content) auto max-content;grid-auto-flow:column;align-content:flex-start;align-items:center;gap:.5rem;padding-block:.375rem;padding-inline:.75rem;transition-property:color,background-color,box-shadow;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1);display:grid}.menu :where(li>details>summary){--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.menu :where(li>details>summary){outline-offset:2px;outline:2px solid #0000}}.menu :where(li>details>summary)::-webkit-details-marker{display:none}:is(.menu :where(li>details>summary),.menu :where(li>.menu-dropdown-toggle)):after{content:"";transform-origin:50%;pointer-events:none;justify-self:flex-end;width:.375rem;height:.375rem;transition-property:rotate,translate;transition-duration:.2s;display:block;translate:0 -1px;rotate:-135deg;box-shadow:inset 2px 2px}.menu details{interpolate-size:allow-keywords;overflow:hidden}.menu details::details-content{block-size:0}@media (prefers-reduced-motion:no-preference){.menu details::details-content{transition-behavior:allow-discrete;transition-property:block-size,content-visibility;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1)}}.menu details[open]::details-content{block-size:auto}.menu :where(li>details[open]>summary):after,.menu :where(li>.menu-dropdown-toggle.menu-dropdown-show):after{translate:0 1px;rotate:45deg}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn).menu-focus,.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn):focus-visible{cursor:pointer;background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn).menu-focus,.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn):focus-visible{background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn).menu-focus,.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn):focus-visible{color:var(--color-base-content);--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn).menu-focus,.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn):focus-visible{outline-offset:2px;outline:2px solid #0000}}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){cursor:pointer;background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){outline-offset:2px;outline:2px solid #0000}}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){box-shadow:inset 0 1px oklch(0% 0 0/.01),inset 0 -1px oklch(100% 0 0/.01)}.menu :where(li:empty){background-color:var(--color-base-content);opacity:.1;height:1px;margin:.5rem 1rem}.menu :where(li){flex-flow:column wrap;flex-shrink:0;align-items:stretch;display:flex;position:relative}.menu :where(li) .badge{justify-self:flex-end}.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active{outline-offset:2px;outline:2px solid #0000}}.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active{color:var(--menu-active-fg);background-color:var(--menu-active-bg);background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--fx-noise)}:is(.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active):not(:is(.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active):active){box-shadow:0 2px calc(var(--depth) * 3px) -2px var(--menu-active-bg)}.menu :where(li).menu-disabled{pointer-events:none;color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.menu :where(li).menu-disabled{color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.menu .dropdown:focus-within .menu-dropdown-toggle:after{translate:0 1px;rotate:45deg}.menu .dropdown-content{margin-top:.5rem;padding:.5rem}.menu .dropdown-content:before{display:none}.floating-label{display:block;position:relative}.floating-label input{display:block}.floating-label input::placeholder,.floating-label textarea::placeholder{transition:top .1s ease-out,translate .1s ease-out,scale .1s ease-out,opacity .1s ease-out}.floating-label>span{z-index:1;background-color:var(--color-base-100);opacity:0;inset-inline-start:.75rem;top:calc(var(--size-field,.25rem) * 10 / 2);pointer-events:none;border-radius:2px;padding-inline:.25rem;font-size:.875rem;line-height:1;transition:top .1s ease-out,translate .1s ease-out,scale .1s ease-out,opacity .1s ease-out;position:absolute;translate:0 -50%}:is(.floating-label:focus-within,.floating-label:not(:has(input:placeholder-shown,textarea:placeholder-shown))) ::placeholder{opacity:0;pointer-events:auto;top:0;translate:-12.5% calc(-50% - .125em);scale:.75}:is(.floating-label:focus-within,.floating-label:not(:has(input:placeholder-shown,textarea:placeholder-shown)))>span{opacity:1;pointer-events:auto;z-index:2;top:0;translate:-12.5% calc(-50% - .125em);scale:.75}.floating-label:has(:disabled,[disabled])>span{opacity:0}.floating-label:has(.input-xs,.select-xs,.textarea-xs) span{top:calc(var(--size-field,.25rem) * 6 / 2);font-size:.6875rem}.floating-label:has(.input-sm,.select-sm,.textarea-sm) span{top:calc(var(--size-field,.25rem) * 8 / 2);font-size:.75rem}.floating-label:has(.input-md,.select-md,.textarea-md) span{top:calc(var(--size-field,.25rem) * 10 / 2);font-size:.875rem}.floating-label:has(.input-lg,.select-lg,.textarea-lg) span{top:calc(var(--size-field,.25rem) * 12 / 2);font-size:1.125rem}.floating-label:has(.input-xl,.select-xl,.textarea-xl) span{top:calc(var(--size-field,.25rem) * 14 / 2);font-size:1.375rem}.dropdown{position-area:var(--anchor-v,bottom) var(--anchor-h,span-right);display:inline-block;position:relative}.dropdown>:not(:has(~[class*=dropdown-content])):focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.dropdown>:not(:has(~[class*=dropdown-content])):focus{outline-offset:2px;outline:2px solid #0000}}.dropdown .dropdown-content{position:absolute}.dropdown.dropdown-close .dropdown-content,.dropdown:not(details,.dropdown-open,.dropdown-hover:hover,:focus-within) .dropdown-content,.dropdown.dropdown-hover:not(:hover) [tabindex]:first-child:focus:not(:focus-visible)~.dropdown-content{transform-origin:top;opacity:0;display:none;scale:.95}.dropdown[popover],.dropdown .dropdown-content{z-index:999}@media (prefers-reduced-motion:no-preference){.dropdown[popover],.dropdown .dropdown-content{transition-behavior:allow-discrete;transition-property:opacity,scale,display;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);animation:.2s dropdown}}@starting-style{.dropdown[popover],.dropdown .dropdown-content{opacity:0;scale:.95}}:is(.dropdown:not(.dropdown-close).dropdown-open,.dropdown:not(.dropdown-close):not(.dropdown-hover):focus,.dropdown:not(.dropdown-close):focus-within)>[tabindex]:first-child{pointer-events:none}:is(.dropdown:not(.dropdown-close).dropdown-open,.dropdown:not(.dropdown-close):not(.dropdown-hover):focus,.dropdown:not(.dropdown-close):focus-within) .dropdown-content,.dropdown:not(.dropdown-close).dropdown-hover:hover .dropdown-content{opacity:1;scale:1}.dropdown:is(details) summary::-webkit-details-marker{display:none}.dropdown:where([popover]){background:0 0}.dropdown[popover]{color:inherit;position:fixed}@supports not (position-area:bottom){.dropdown[popover]{margin:auto}.dropdown[popover].dropdown-close{transform-origin:top;opacity:0;display:none;scale:.95}.dropdown[popover].dropdown-open:not(:popover-open){transform-origin:top;opacity:0;display:none;scale:.95}.dropdown[popover]::backdrop{background-color:oklab(0% none none/.3)}}:is(.dropdown[popover].dropdown-close,.dropdown[popover]:not(.dropdown-open,:popover-open)){transform-origin:top;opacity:0;display:none;scale:.95}:where(.btn){width:unset}.btn{cursor:pointer;text-align:center;vertical-align:middle;outline-offset:2px;webkit-user-select:none;-webkit-user-select:none;user-select:none;padding-inline:var(--btn-p);color:var(--btn-fg);--tw-prose-links:var(--btn-fg);height:var(--size);font-size:var(--fontsize,.875rem);outline-color:var(--btn-color,var(--color-base-content));background-color:var(--btn-bg);background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--btn-noise);border-width:var(--border);border-style:solid;border-color:var(--btn-border);text-shadow:0 .5px oklch(100% 0 0 / calc(var(--depth) * .15));touch-action:manipulation;box-shadow:0 .5px 0 .5px oklch(100% 0 0 / calc(var(--depth) * 6%)) inset, var(--btn-shadow);--size:calc(var(--size-field,.25rem) * 10);--btn-bg:var(--btn-color,var(--color-base-200));--btn-fg:var(--color-base-content);--btn-p:1rem;--btn-border:var(--btn-bg);border-start-start-radius:var(--join-ss,var(--radius-field));border-start-end-radius:var(--join-se,var(--radius-field));border-end-end-radius:var(--join-ee,var(--radius-field));border-end-start-radius:var(--join-es,var(--radius-field));flex-wrap:nowrap;flex-shrink:0;justify-content:center;align-items:center;gap:.375rem;font-weight:600;transition-property:color,background-color,border-color,box-shadow;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1);display:inline-flex}@supports (color:color-mix(in lab, red, red)){.btn{--btn-border:color-mix(in oklab, var(--btn-bg), #000 calc(var(--depth) * 5%))}}.btn{--btn-shadow:0 3px 2px -2px var(--btn-bg), 0 4px 3px -2px var(--btn-bg)}@supports (color:color-mix(in lab, red, red)){.btn{--btn-shadow:0 3px 2px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000), 0 4px 3px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000)}}.btn{--btn-noise:var(--fx-noise)}@media (hover:hover){.btn:hover{--btn-bg:var(--btn-color,var(--color-base-200))}@supports (color:color-mix(in lab, red, red)){.btn:hover{--btn-bg:color-mix(in oklab, var(--btn-color,var(--color-base-200)), #000 7%)}}}.btn:focus-visible,.btn:has(:focus-visible){isolation:isolate;outline-width:2px;outline-style:solid}.btn:active:not(.btn-active){--btn-bg:var(--btn-color,var(--color-base-200));translate:0 .5px}@supports (color:color-mix(in lab, red, red)){.btn:active:not(.btn-active){--btn-bg:color-mix(in oklab, var(--btn-color,var(--color-base-200)), #000 5%)}}.btn:active:not(.btn-active){--btn-border:var(--btn-color,var(--color-base-200))}@supports (color:color-mix(in lab, red, red)){.btn:active:not(.btn-active){--btn-border:color-mix(in oklab, var(--btn-color,var(--color-base-200)), #000 7%)}}.btn:active:not(.btn-active){--btn-shadow:0 0 0 0 oklch(0% 0 0/0), 0 0 0 0 oklch(0% 0 0/0)}.btn:is(input[type=checkbox],input[type=radio]){appearance:none}.btn:is(input[type=checkbox],input[type=radio])[aria-label]:after{--tw-content:attr(aria-label);content:var(--tw-content)}.btn:where(input:checked:not(.filter .btn)){--btn-color:var(--color-primary);--btn-fg:var(--color-primary-content);isolation:isolate}.loading{pointer-events:none;aspect-ratio:1;vertical-align:middle;width:calc(var(--size-selector,.25rem) * 6);background-color:currentColor;display:inline-block;-webkit-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");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");-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:100%;mask-size:100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.collapse{border-radius:var(--radius-box,1rem);isolation:isolate;grid-template-rows:max-content 0fr;grid-template-columns:minmax(0,1fr);width:100%;display:grid;position:relative;overflow:hidden}@media (prefers-reduced-motion:no-preference){.collapse{transition:grid-template-rows .2s}}.collapse>input:is([type=checkbox],[type=radio]){appearance:none;opacity:0;z-index:1;grid-row-start:1;grid-column-start:1;width:100%;min-height:1lh;padding:1rem;padding-inline-end:3rem;transition:background-color .2s ease-out}.collapse:is([open],[tabindex]:focus:not(.collapse-close),[tabindex]:focus-within:not(.collapse-close)),.collapse:not(.collapse-close):has(>input:is([type=checkbox],[type=radio]):checked){grid-template-rows:max-content 1fr}.collapse:is([open],[tabindex]:focus:not(.collapse-close),[tabindex]:focus-within:not(.collapse-close))>.collapse-content,.collapse:not(.collapse-close)>:where(input:is([type=checkbox],[type=radio]):checked~.collapse-content){content-visibility:visible;min-height:fit-content}@supports not (content-visibility:visible){.collapse:is([open],[tabindex]:focus:not(.collapse-close),[tabindex]:focus-within:not(.collapse-close))>.collapse-content,.collapse:not(.collapse-close)>:where(input:is([type=checkbox],[type=radio]):checked~.collapse-content){visibility:visible}}.collapse:focus-visible,.collapse:has(>input:is([type=checkbox],[type=radio]):focus-visible),.collapse:has(summary:focus-visible){outline-color:var(--color-base-content);outline-offset:2px;outline-width:2px;outline-style:solid}.collapse:not(.collapse-close)>input[type=checkbox],.collapse:not(.collapse-close)>input[type=radio]:not(:checked),.collapse:not(.collapse-close)>.collapse-title{cursor:pointer}:is(.collapse[tabindex]:focus:not(.collapse-close,.collapse[open]),.collapse[tabindex]:focus-within:not(.collapse-close,.collapse[open]))>.collapse-title{cursor:unset}.collapse:is([open],[tabindex]:focus:not(.collapse-close),[tabindex]:focus-within:not(.collapse-close))>:where(.collapse-content),.collapse:not(.collapse-close)>:where(input:is([type=checkbox],[type=radio]):checked~.collapse-content){padding-bottom:1rem}.collapse:is(details){width:100%}@media (prefers-reduced-motion:no-preference){.collapse:is(details)::details-content{transition:content-visibility .2s allow-discrete, visibility .2s allow-discrete, min-height .2s ease-out allow-discrete, padding .1s ease-out 20ms, background-color .2s ease-out, height .2s;interpolate-size:allow-keywords;height:0}.collapse:is(details):where([open])::details-content{height:auto}}.collapse:is(details) summary{display:block;position:relative}.collapse:is(details) summary::-webkit-details-marker{display:none}.collapse:is(details)>.collapse-content{content-visibility:visible}.collapse:is(details) summary{outline:none}.collapse-content{content-visibility:hidden;min-height:0;cursor:unset;grid-row-start:2;grid-column-start:1;padding-left:1rem;padding-right:1rem}@supports not (content-visibility:hidden){.collapse-content{visibility:hidden}}@media (prefers-reduced-motion:no-preference){.collapse-content{transition:content-visibility .2s allow-discrete, visibility .2s allow-discrete, min-height .2s ease-out allow-discrete, padding .1s ease-out 20ms, background-color .2s ease-out}}.radial-progress{height:var(--size);width:var(--size);vertical-align:middle;box-sizing:content-box;--value:0;--size:5rem;--thickness:calc(var(--size) / 10);--radialprogress:calc(var(--value) * 1%);background-color:#0000;border-radius:3.40282e38px;place-content:center;transition:--radialprogress .3s linear;display:inline-grid;position:relative}.radial-progress:before{content:"";background:radial-gradient(farthest-side, currentColor 98%, #0000) top/var(--thickness) var(--thickness) no-repeat, conic-gradient(currentColor var(--radialprogress), #0000 0);webkit-mask:radial-gradient(farthest-side, #0000 calc(100% - var(--thickness)), #000 calc(100% + .5px - var(--thickness)));-webkit-mask:radial-gradient(farthest-side, #0000 calc(100% - var(--thickness)), #000 calc(100% + .5px - var(--thickness)));-webkit-mask:radial-gradient(farthest-side, #0000 calc(100% - var(--thickness)), #000 calc(100% + .5px - var(--thickness)));mask:radial-gradient(farthest-side, #0000 calc(100% - var(--thickness)), #000 calc(100% + .5px - var(--thickness)));border-radius:3.40282e38px;position:absolute;inset:0}.radial-progress:after{content:"";inset:calc(50% - var(--thickness) / 2);transform:rotate(calc(var(--value) * 3.6deg - 90deg)) translate(calc(var(--size) / 2 - 50%));background-color:currentColor;border-radius:3.40282e38px;transition:transform .3s linear;position:absolute}.list{flex-direction:column;font-size:.875rem;display:flex}.list .list-row{--list-grid-cols:minmax(0, auto) 1fr;border-radius:var(--radius-box);word-break:break-word;grid-auto-flow:column;grid-template-columns:var(--list-grid-cols);gap:1rem;padding:1rem;display:grid;position:relative}:is(.list>:not(:last-child).list-row,.list>:not(:last-child) .list-row):after{content:"";border-bottom:var(--border) solid;inset-inline:var(--radius-box);border-color:var(--color-base-content);position:absolute;bottom:0}@supports (color:color-mix(in lab, red, red)){:is(.list>:not(:last-child).list-row,.list>:not(:last-child) .list-row):after{border-color:color-mix(in oklab, var(--color-base-content) 5%, transparent)}}.toggle{border:var(--border) solid currentColor;color:var(--input-color);cursor:pointer;appearance:none;vertical-align:middle;webkit-user-select:none;-webkit-user-select:none;user-select:none;--radius-selector-max:calc(var(--radius-selector) + var(--radius-selector) + var(--radius-selector));border-radius:calc(var(--radius-selector) + min(var(--toggle-p), var(--radius-selector-max)) + min(var(--border), var(--radius-selector-max)));padding:var(--toggle-p);flex-shrink:0;grid-template-columns:0fr 1fr 1fr;place-content:center;display:inline-grid;position:relative;box-shadow:inset 0 1px}@supports (color:color-mix(in lab, red, red)){.toggle{box-shadow:0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000) inset}}.toggle{--input-color:var(--color-base-content);transition:color .3s,grid-template-columns .2s}@supports (color:color-mix(in lab, red, red)){.toggle{--input-color:color-mix(in oklab, var(--color-base-content) 50%, #0000)}}.toggle{--toggle-p:calc(var(--size) * .125);--size:calc(var(--size-selector,.25rem) * 6);width:calc((var(--size) * 2) - (var(--border) + var(--toggle-p)) * 2);height:var(--size)}.toggle>*{z-index:1;cursor:pointer;appearance:none;background-color:#0000;border:none;grid-column:2/span 1;grid-row-start:1;height:100%;padding:.125rem;transition:opacity .2s,rotate .4s}.toggle>:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.toggle>:focus{outline-offset:2px;outline:2px solid #0000}}.toggle>:nth-child(2){color:var(--color-base-100);rotate:0deg}.toggle>:nth-child(3){color:var(--color-base-100);opacity:0;rotate:-15deg}.toggle:has(:checked)>:nth-child(2){opacity:0;rotate:15deg}.toggle:has(:checked)>:nth-child(3){opacity:1;rotate:0deg}.toggle:before{aspect-ratio:1;border-radius:var(--radius-selector);--tw-content:"";content:var(--tw-content);width:100%;height:100%;box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px currentColor;background-color:currentColor;grid-row-start:1;grid-column-start:2;transition:background-color .1s,translate .2s,inset-inline-start .2s;position:relative;inset-inline-start:0;translate:0}@supports (color:color-mix(in lab, red, red)){.toggle:before{box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000)}}.toggle:before{background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--fx-noise)}@media (forced-colors:active){.toggle:before{outline-style:var(--tw-outline-style);outline-offset:calc(1px * -1);outline-width:1px}}@media print{.toggle:before{outline-offset:-1rem;outline:.25rem solid}}.toggle:focus-visible,.toggle:has(:focus-visible){outline-offset:2px;outline:2px solid}.toggle:checked,.toggle[aria-checked=true],.toggle:has(>input:checked){background-color:var(--color-base-100);--input-color:var(--color-base-content);grid-template-columns:1fr 1fr 0fr}:is(.toggle:checked,.toggle[aria-checked=true],.toggle:has(>input:checked)):before{background-color:currentColor}@starting-style{:is(.toggle:checked,.toggle[aria-checked=true],.toggle:has(>input:checked)):before{opacity:0}}.toggle:indeterminate{grid-template-columns:.5fr 1fr .5fr}.toggle:disabled{cursor:not-allowed;opacity:.3}.toggle:disabled:before{border:var(--border) solid currentColor;background-color:#0000}.input{cursor:text;border:var(--border) solid #0000;appearance:none;background-color:var(--color-base-100);vertical-align:middle;white-space:nowrap;width:clamp(3rem,20rem,100%);height:var(--size);font-size:max(var(--font-size,.875rem), .875rem);touch-action:manipulation;border-color:var(--input-color);box-shadow:0 1px var(--input-color) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset;border-start-start-radius:var(--join-ss,var(--radius-field));border-start-end-radius:var(--join-se,var(--radius-field));border-end-end-radius:var(--join-ee,var(--radius-field));border-end-start-radius:var(--join-es,var(--radius-field));flex-shrink:1;align-items:center;gap:.5rem;padding-inline:.75rem;display:inline-flex;position:relative}@supports (color:color-mix(in lab, red, red)){.input{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) * .1)) inset}}.input{--size:calc(var(--size-field,.25rem) * 10);--input-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.input{--input-color:color-mix(in oklab, var(--color-base-content) 20%, #0000)}}.input:where(input){display:inline-flex}.input :where(input){appearance:none;background-color:#0000;border:none;width:100%;height:100%;display:inline-flex}.input :where(input):focus,.input :where(input):focus-within{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.input :where(input):focus,.input :where(input):focus-within{outline-offset:2px;outline:2px solid #0000}}.input :where(input[type=url]),.input :where(input[type=email]){direction:ltr}.input :where(input[type=date]){display:inline-flex}.input:focus,.input:focus-within{--input-color:var(--color-base-content);box-shadow:0 1px var(--input-color)}@supports (color:color-mix(in lab, red, red)){.input:focus,.input:focus-within{box-shadow:0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000)}}.input:focus,.input:focus-within{outline:2px solid var(--input-color);outline-offset:2px;isolation:isolate}@media (pointer:coarse){@supports (-webkit-touch-callout:none){.input:focus,.input:focus-within{--font-size:1rem}}}.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input{cursor:not-allowed;border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input{color:color-mix(in oklab, var(--color-base-content) 40%, transparent)}}:is(.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input)::placeholder{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:is(.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input)::placeholder{color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input{box-shadow:none}.input:has(>input[disabled])>input[disabled]{cursor:not-allowed}.input::-webkit-date-and-time-value{text-align:inherit}.input[type=number]::-webkit-inner-spin-button{margin-block:-.75rem;margin-inline-end:-.75rem}.input::-webkit-calendar-picker-indicator{position:absolute;inset-inline-end:.75em}.input:has(>input[type=date]) :where(input[type=date]){webkit-appearance:none;appearance:none;display:inline-flex}.input:has(>input[type=date]) input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;width:1em;height:1em;position:absolute;inset-inline-end:.75em}.indicator{width:max-content;display:inline-flex;position:relative}.indicator :where(.indicator-item){z-index:1;white-space:nowrap;top:var(--indicator-t,0);bottom:var(--indicator-b,auto);left:var(--indicator-s,auto);right:var(--indicator-e,0);translate:var(--indicator-x,50%) var(--indicator-y,-50%);position:absolute}.table{border-collapse:separate;--tw-border-spacing-x:calc(.25rem * 0);--tw-border-spacing-y:calc(.25rem * 0);width:100%;border-spacing:var(--tw-border-spacing-x) var(--tw-border-spacing-y);border-radius:var(--radius-box);text-align:left;font-size:.875rem;position:relative}.table:where(:dir(rtl),[dir=rtl],[dir=rtl] *){text-align:right}@media (hover:hover){:is(.table tr.row-hover,.table tr.row-hover:nth-child(2n)):hover{background-color:var(--color-base-200)}}.table :where(th,td){vertical-align:middle;padding-block:.75rem;padding-inline:1rem}.table :where(thead,tfoot){white-space:nowrap;color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.table :where(thead,tfoot){color:color-mix(in oklab, var(--color-base-content) 60%, transparent)}}.table :where(thead,tfoot){font-size:.875rem;font-weight:600}.table :where(tfoot tr:first-child :is(td,th)){border-top:var(--border) solid var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.table :where(tfoot tr:first-child :is(td,th)){border-top:var(--border) solid color-mix(in oklch, var(--color-base-content) 5%, #0000)}}.table :where(.table-pin-rows thead tr){z-index:1;background-color:var(--color-base-100);position:sticky;top:0}.table :where(.table-pin-rows tfoot tr){z-index:1;background-color:var(--color-base-100);position:sticky;bottom:0}.table :where(.table-pin-cols tr th){background-color:var(--color-base-100);position:sticky;left:0;right:0}.table :where(thead tr :is(td,th),tbody tr:not(:last-child) :is(td,th)){border-bottom:var(--border) solid var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.table :where(thead tr :is(td,th),tbody tr:not(:last-child) :is(td,th)){border-bottom:var(--border) solid color-mix(in oklch, var(--color-base-content) 5%, #0000)}}.steps{counter-reset:step;grid-auto-columns:1fr;grid-auto-flow:column;display:inline-grid;overflow:auto hidden}.steps .step{text-align:center;--step-bg:var(--color-base-300);--step-fg:var(--color-base-content);grid-template-rows:40px 1fr;grid-template-columns:auto;place-items:center;min-width:4rem;display:grid}.steps .step:before{width:100%;height:.5rem;color:var(--step-bg);background-color:var(--step-bg);content:"";border:1px solid;grid-row-start:1;grid-column-start:1;margin-inline-start:-100%;top:0}.steps .step>.step-icon,.steps .step:not(:has(.step-icon)):after{--tw-content:counter(step);content:var(--tw-content);counter-increment:step;z-index:1;color:var(--step-fg);background-color:var(--step-bg);border:1px solid var(--step-bg);border-radius:3.40282e38px;grid-row-start:1;grid-column-start:1;place-self:center;place-items:center;width:2rem;height:2rem;display:grid;position:relative}.steps .step:first-child:before{--tw-content:none;content:var(--tw-content)}.steps .step[data-content]:after{--tw-content:attr(data-content);content:var(--tw-content)}.range{appearance:none;webkit-appearance:none;--range-thumb:var(--color-base-100);--range-thumb-size:calc(var(--size-selector,.25rem) * 6);--range-progress:currentColor;--range-fill:1;--range-p:.25rem;--range-bg:currentColor}@supports (color:color-mix(in lab, red, red)){.range{--range-bg:color-mix(in oklab, currentColor 10%, #0000)}}.range{cursor:pointer;vertical-align:middle;--radius-selector-max:calc(var(--radius-selector) + var(--radius-selector) + var(--radius-selector));border-radius:calc(var(--radius-selector) + min(var(--range-p), var(--radius-selector-max)));width:clamp(3rem,20rem,100%);height:var(--range-thumb-size);background-color:#0000;border:none;overflow:hidden}[dir=rtl] .range{--range-dir:-1}.range:focus{outline:none}.range:focus-visible{outline-offset:2px;outline:2px solid}.range::-webkit-slider-runnable-track{background-color:var(--range-bg);border-radius:var(--radius-selector);width:100%;height:calc(var(--range-thumb-size) * .5)}@media (forced-colors:active){.range::-webkit-slider-runnable-track{border:1px solid}.range::-moz-range-track{border:1px solid}}.range::-webkit-slider-thumb{box-sizing:border-box;border-radius:calc(var(--radius-selector) + min(var(--range-p), var(--radius-selector-max)));background-color:var(--range-thumb);height:var(--range-thumb-size);width:var(--range-thumb-size);border:var(--range-p) solid;appearance:none;webkit-appearance:none;color:var(--range-progress);box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px currentColor, 0 0 0 2rem var(--range-thumb) inset, calc((var(--range-dir,1) * -100cqw) - (var(--range-dir,1) * var(--range-thumb-size) / 2)) 0 0 calc(100cqw * var(--range-fill));position:relative;top:50%;transform:translateY(-50%)}@supports (color:color-mix(in lab, red, red)){.range::-webkit-slider-thumb{box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000), 0 0 0 2rem var(--range-thumb) inset, calc((var(--range-dir,1) * -100cqw) - (var(--range-dir,1) * var(--range-thumb-size) / 2)) 0 0 calc(100cqw * var(--range-fill))}}.range::-moz-range-track{background-color:var(--range-bg);border-radius:var(--radius-selector);width:100%;height:calc(var(--range-thumb-size) * .5)}.range::-moz-range-thumb{box-sizing:border-box;border-radius:calc(var(--radius-selector) + min(var(--range-p), var(--radius-selector-max)));height:var(--range-thumb-size);width:var(--range-thumb-size);border:var(--range-p) solid;color:var(--range-progress);box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px currentColor, 0 0 0 2rem var(--range-thumb) inset, calc((var(--range-dir,1) * -100cqw) - (var(--range-dir,1) * var(--range-thumb-size) / 2)) 0 0 calc(100cqw * var(--range-fill));background-color:currentColor;position:relative;top:50%}@supports (color:color-mix(in lab, red, red)){.range::-moz-range-thumb{box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000), 0 0 0 2rem var(--range-thumb) inset, calc((var(--range-dir,1) * -100cqw) - (var(--range-dir,1) * var(--range-thumb-size) / 2)) 0 0 calc(100cqw * var(--range-fill))}}.range:disabled{cursor:not-allowed;opacity:.3}.chat-bubble{border-radius:var(--radius-field);background-color:var(--color-base-300);width:fit-content;color:var(--color-base-content);grid-row-end:3;min-width:2.5rem;max-width:90%;min-height:2rem;padding-block:.5rem;padding-inline:1rem;display:block;position:relative}.chat-bubble:before{background-color:inherit;content:"";width:.75rem;height:.75rem;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-image:var(--mask-chat);-webkit-mask-image:var(--mask-chat);mask-image:var(--mask-chat);position:absolute;bottom:0;-webkit-mask-position:0 -1px;mask-position:0 -1px;-webkit-mask-size:.8125rem;mask-size:.8125rem}.select{border:var(--border) solid #0000;appearance:none;background-color:var(--color-base-100);vertical-align:middle;width:clamp(3rem,20rem,100%);height:var(--size);touch-action:manipulation;white-space:nowrap;text-overflow:ellipsis;box-shadow:0 1px var(--input-color) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 20px) calc(1px + 50%),calc(100% - 16.1px) calc(1px + 50%);background-repeat:no-repeat;background-size:4px 4px,4px 4px;border-start-start-radius:var(--join-ss,var(--radius-field));border-start-end-radius:var(--join-se,var(--radius-field));border-end-end-radius:var(--join-ee,var(--radius-field));border-end-start-radius:var(--join-es,var(--radius-field));flex-shrink:1;align-items:center;gap:.375rem;padding-inline:.75rem 1.75rem;font-size:.875rem;display:inline-flex;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.select{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) * .1)) inset}}.select{border-color:var(--input-color);--input-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.select{--input-color:color-mix(in oklab, var(--color-base-content) 20%, #0000)}}.select{--size:calc(var(--size-field,.25rem) * 10)}[dir=rtl] .select{background-position:12px calc(1px + 50%),16px calc(1px + 50%)}[dir=rtl] .select::picker(select){translate:.5rem}[dir=rtl] .select select::picker(select){translate:.5rem}.select[multiple]{background-image:none;height:auto;padding-block:.75rem;padding-inline-end:.75rem;overflow:auto}.select select{appearance:none;width:calc(100% + 2.75rem);height:calc(100% - calc(var(--border) * 2));background:inherit;border-radius:inherit;border-style:none;align-items:center;margin-inline:-.75rem -1.75rem;padding-inline:.75rem 1.75rem}.select select:focus,.select select:focus-within{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.select select:focus,.select select:focus-within{outline-offset:2px;outline:2px solid #0000}}.select select:not(:last-child){background-image:none;margin-inline-end:-1.375rem}.select:focus,.select:focus-within{--input-color:var(--color-base-content);box-shadow:0 1px var(--input-color)}@supports (color:color-mix(in lab, red, red)){.select:focus,.select:focus-within{box-shadow:0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000)}}.select:focus,.select:focus-within{outline:2px solid var(--input-color);outline-offset:2px;isolation:isolate}.select:has(>select[disabled]),.select:is(:disabled,[disabled]),fieldset:disabled .select{cursor:not-allowed;border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.select:has(>select[disabled]),.select:is(:disabled,[disabled]),fieldset:disabled .select{color:color-mix(in oklab, var(--color-base-content) 40%, transparent)}}:is(.select:has(>select[disabled]),.select:is(:disabled,[disabled]),fieldset:disabled .select)::placeholder{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:is(.select:has(>select[disabled]),.select:is(:disabled,[disabled]),fieldset:disabled .select)::placeholder{color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.select:has(>select[disabled])>select[disabled]{cursor:not-allowed}@supports (appearance:base-select){.select,.select select{appearance:base-select}:is(.select,.select select)::picker(select){appearance:base-select}}:is(.select,.select select)::picker(select){color:inherit;border:var(--border) solid var(--color-base-200);border-radius:var(--radius-box);background-color:inherit;max-height:min(24rem,70dvh);box-shadow:0 2px calc(var(--depth) * 3px) -2px oklch(0% 0 0/.2);box-shadow:0 20px 25px -5px rgb(0 0 0/calc(var(--depth) * .1)), 0 8px 10px -6px rgb(0 0 0/calc(var(--depth) * .1));margin-block:.5rem;margin-inline:.5rem;padding:.5rem;translate:-.5rem}:is(.select,.select select)::picker-icon{display:none}:is(.select,.select select) optgroup{padding-top:.5em}:is(.select,.select select) optgroup option:first-child{margin-top:.5em}:is(.select,.select select) option{border-radius:var(--radius-field);white-space:normal;padding-block:.375rem;padding-inline:.75rem;transition-property:color,background-color;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1)}:is(.select,.select select) option:not(:disabled):hover,:is(.select,.select select) option:not(:disabled):focus-visible{cursor:pointer;background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:is(.select,.select select) option:not(:disabled):hover,:is(.select,.select select) option:not(:disabled):focus-visible{background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}:is(.select,.select select) option:not(:disabled):hover,:is(.select,.select select) option:not(:disabled):focus-visible{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){:is(.select,.select select) option:not(:disabled):hover,:is(.select,.select select) option:not(:disabled):focus-visible{outline-offset:2px;outline:2px solid #0000}}:is(.select,.select select) option:not(:disabled):active{background-color:var(--color-neutral);color:var(--color-neutral-content);box-shadow:0 2px calc(var(--depth) * 3px) -2px var(--color-neutral)}.timeline{display:flex;position:relative}.timeline>li{grid-template-rows:var(--timeline-row-start,minmax(0, 1fr)) auto var(--timeline-row-end,minmax(0, 1fr));grid-template-columns:var(--timeline-col-start,minmax(0, 1fr)) auto var(--timeline-col-end,minmax(0, 1fr));flex-shrink:0;align-items:center;display:grid;position:relative}.timeline>li>hr{border:none;width:100%}.timeline>li>hr:first-child{grid-row-start:2;grid-column-start:1}.timeline>li>hr:last-child{grid-area:2/3/auto/none}@media print{.timeline>li>hr{border:.1px solid var(--color-base-300)}}.timeline :where(hr){background-color:var(--color-base-300);height:.25rem}.timeline:has(.timeline-middle hr):first-child{border-start-start-radius:0;border-start-end-radius:var(--radius-selector);border-end-end-radius:var(--radius-selector);border-end-start-radius:0}.timeline:has(.timeline-middle hr):last-child,.timeline:not(:has(.timeline-middle)) :first-child hr:last-child{border-start-start-radius:var(--radius-selector);border-start-end-radius:0;border-end-end-radius:0;border-end-start-radius:var(--radius-selector)}.timeline:not(:has(.timeline-middle)) :last-child hr:first-child{border-start-start-radius:0;border-start-end-radius:var(--radius-selector);border-end-end-radius:var(--radius-selector);border-end-start-radius:0}.swap{cursor:pointer;vertical-align:middle;webkit-user-select:none;-webkit-user-select:none;user-select:none;place-content:center;display:inline-grid;position:relative}.swap input{appearance:none;border:none}.swap>*{grid-row-start:1;grid-column-start:1}@media (prefers-reduced-motion:no-preference){.swap>*{transition-property:transform,rotate,opacity;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1)}}.swap .swap-on,.swap .swap-indeterminate,.swap input:indeterminate~.swap-on,.swap input:is(:checked,:indeterminate)~.swap-off{opacity:0}.swap input:checked~.swap-on,.swap input:indeterminate~.swap-indeterminate{opacity:1;backface-visibility:visible}.collapse-title{grid-row-start:1;grid-column-start:1;width:100%;min-height:1lh;padding:1rem;padding-inline-end:3rem;transition:background-color .2s ease-out;position:relative}.avatar{vertical-align:middle;display:inline-flex;position:relative}.avatar>div{aspect-ratio:1;display:block;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.checkbox{border:var(--border) solid var(--input-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.checkbox{border:var(--border) solid var(--input-color,color-mix(in oklab, var(--color-base-content) 20%, #0000))}}.checkbox{cursor:pointer;appearance:none;border-radius:var(--radius-selector);vertical-align:middle;color:var(--color-base-content);box-shadow:0 1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 0 #0000 inset, 0 0 #0000;--size:calc(var(--size-selector,.25rem) * 6);width:var(--size);height:var(--size);background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--fx-noise);flex-shrink:0;padding:.25rem;transition:background-color .2s,box-shadow .2s;display:inline-block;position:relative}.checkbox:before{--tw-content:"";content:var(--tw-content);opacity:0;clip-path:polygon(20% 100%,20% 80%,50% 80%,50% 80%,70% 80%,70% 100%);width:100%;height:100%;box-shadow:0px 3px 0 0px oklch(100% 0 0 / calc(var(--depth) * .1)) inset;background-color:currentColor;font-size:1rem;line-height:.75;transition:clip-path .3s .1s,opacity .1s .1s,rotate .3s .1s,translate .3s .1s;display:block;rotate:45deg}.checkbox:focus-visible{outline:2px solid var(--input-color,currentColor);outline-offset:2px}.checkbox:checked,.checkbox[aria-checked=true]{background-color:var(--input-color,#0000);box-shadow:0 0 #0000 inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px oklch(0% 0 0 / calc(var(--depth) * .1))}:is(.checkbox:checked,.checkbox[aria-checked=true]):before{clip-path:polygon(20% 100%,20% 80%,50% 80%,50% 0%,70% 0%,70% 100%);opacity:1}@media (forced-colors:active){:is(.checkbox:checked,.checkbox[aria-checked=true]):before{--tw-content:"✔︎";clip-path:none;background-color:#0000;rotate:0deg}}@media print{:is(.checkbox:checked,.checkbox[aria-checked=true]):before{--tw-content:"✔︎";clip-path:none;background-color:#0000;rotate:0deg}}.checkbox:indeterminate{background-color:var(--input-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.checkbox:indeterminate{background-color:var(--input-color,color-mix(in oklab, var(--color-base-content) 20%, #0000))}}.checkbox:indeterminate:before{opacity:1;clip-path:polygon(20% 100%,20% 80%,50% 80%,50% 80%,80% 80%,80% 100%);translate:0 -35%;rotate:0deg}.radio{cursor:pointer;appearance:none;vertical-align:middle;border:var(--border) solid var(--input-color,currentColor);border-radius:3.40282e38px;flex-shrink:0;padding:.25rem;display:inline-block;position:relative}@supports (color:color-mix(in lab, red, red)){.radio{border:var(--border) solid var(--input-color,color-mix(in srgb, currentColor 20%, #0000))}}.radio{box-shadow:0 1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset;--size:calc(var(--size-selector,.25rem) * 6);width:var(--size);height:var(--size);color:var(--input-color,currentColor)}.radio:before{--tw-content:"";content:var(--tw-content);background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--fx-noise);border-radius:3.40282e38px;width:100%;height:100%;display:block}.radio:focus-visible{outline:2px solid}.radio:checked,.radio[aria-checked=true]{background-color:var(--color-base-100);border-color:currentColor}@media (prefers-reduced-motion:no-preference){.radio:checked,.radio[aria-checked=true]{animation:.2s ease-out radio}}:is(.radio:checked,.radio[aria-checked=true]):before{box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px oklch(0% 0 0 / calc(var(--depth) * .1));background-color:currentColor}@media (forced-colors:active){:is(.radio:checked,.radio[aria-checked=true]):before{outline-style:var(--tw-outline-style);outline-offset:calc(1px * -1);outline-width:1px}}@media print{:is(.radio:checked,.radio[aria-checked=true]):before{outline-offset:-1rem;outline:.25rem solid}}.rating{vertical-align:middle;display:inline-flex;position:relative}.rating input{appearance:none;border:none}.rating :where(*){background-color:var(--color-base-content);opacity:.2;border-radius:0;width:1.5rem;height:1.5rem}@media (prefers-reduced-motion:no-preference){.rating :where(*){animation:.25s ease-out rating}}.rating :where(*):is(input){cursor:pointer}.rating .rating-hidden{background-color:#0000;width:.5rem}.rating input[type=radio]:checked{background-image:none}.rating :checked,.rating [aria-checked=true],.rating [aria-current=true],.rating :has(~:checked,~[aria-checked=true],~[aria-current=true]){opacity:1}.rating :focus-visible{scale:1.1}@media (prefers-reduced-motion:no-preference){.rating :focus-visible{transition:scale .2s ease-out}}.rating :active:focus{animation:none;scale:1.1}.rating\!{vertical-align:middle!important;display:inline-flex!important;position:relative!important}.rating\! input{appearance:none!important;border:none!important}.rating\! :where(*){background-color:var(--color-base-content)!important;opacity:.2!important;border-radius:0!important;width:1.5rem!important;height:1.5rem!important}@media (prefers-reduced-motion:no-preference){.rating\! :where(*){animation:.25s ease-out rating!important}}.rating\! :where(*):is(input){cursor:pointer!important}.rating\! .rating-hidden{background-color:#0000!important;width:.5rem!important}.rating\! input[type=radio]:checked{background-image:none!important}.rating\! :checked,.rating\! [aria-checked=true],.rating\! [aria-current=true],.rating\! :has(~:checked,~[aria-checked=true],~[aria-current=true]){opacity:1!important}.rating\! :focus-visible{scale:1.1!important}@media (prefers-reduced-motion:no-preference){.rating\! :focus-visible{transition:scale .2s ease-out!important}}.rating\! :active:focus{animation:none!important;scale:1.1!important}.navbar{align-items:center;width:100%;min-height:4rem;padding:.5rem;display:flex}.drawer{grid-auto-columns:max-content auto;width:100%;display:grid;position:relative}.card{border-radius:var(--radius-box);outline-offset:2px;outline:0 solid #0000;flex-direction:column;transition:outline .2s ease-in-out;display:flex;position:relative}.card:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.card:focus{outline-offset:2px;outline:2px solid #0000}}.card:focus-visible{outline-color:currentColor}.card :where(figure:first-child){border-start-start-radius:inherit;border-start-end-radius:inherit;border-end-end-radius:unset;border-end-start-radius:unset;overflow:hidden}.card :where(figure:last-child){border-start-start-radius:unset;border-start-end-radius:unset;border-end-end-radius:inherit;border-end-start-radius:inherit;overflow:hidden}.card figure{justify-content:center;align-items:center;display:flex}.card:has(>input:is(input[type=checkbox],input[type=radio])){cursor:pointer;-webkit-user-select:none;user-select:none}.card:has(>:checked){outline:2px solid}.stats{border-radius:var(--radius-box);grid-auto-flow:column;display:inline-grid;position:relative;overflow-x:auto}.progress{appearance:none;border-radius:var(--radius-box);background-color:currentColor;width:100%;height:.5rem;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.progress{background-color:color-mix(in oklab, currentcolor 20%, transparent)}}.progress{color:var(--color-base-content)}.progress:indeterminate{background-image:repeating-linear-gradient(90deg,currentColor -1% 10%,#0000 10% 90%);background-position-x:15%;background-size:200%}@media (prefers-reduced-motion:no-preference){.progress:indeterminate{animation:5s ease-in-out infinite progress}}@supports ((-moz-appearance:none)){.progress:indeterminate::-moz-progress-bar{background-color:#0000}@media (prefers-reduced-motion:no-preference){.progress:indeterminate::-moz-progress-bar{background-image:repeating-linear-gradient(90deg,currentColor -1% 10%,#0000 10% 90%);background-position-x:15%;background-size:200%;animation:5s ease-in-out infinite progress}}.progress::-moz-progress-bar{border-radius:var(--radius-box);background-color:currentColor}}@supports ((-webkit-appearance:none)){.progress::-webkit-progress-bar{border-radius:var(--radius-box);background-color:#0000}.progress::-webkit-progress-value{border-radius:var(--radius-box);background-color:currentColor}}.textarea{border:var(--border) solid #0000;appearance:none;border-radius:var(--radius-field);background-color:var(--color-base-100);vertical-align:middle;width:clamp(3rem,20rem,100%);min-height:5rem;font-size:max(var(--font-size,.875rem), .875rem);touch-action:manipulation;border-color:var(--input-color);box-shadow:0 1px var(--input-color) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset;flex-shrink:1;padding-block:.5rem;padding-inline:.75rem}@supports (color:color-mix(in lab, red, red)){.textarea{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) * .1)) inset}}.textarea{--input-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.textarea{--input-color:color-mix(in oklab, var(--color-base-content) 20%, #0000)}}.textarea textarea{appearance:none;background-color:#0000;border:none}.textarea textarea:focus,.textarea textarea:focus-within{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.textarea textarea:focus,.textarea textarea:focus-within{outline-offset:2px;outline:2px solid #0000}}.textarea:focus,.textarea:focus-within{--input-color:var(--color-base-content);box-shadow:0 1px var(--input-color)}@supports (color:color-mix(in lab, red, red)){.textarea:focus,.textarea:focus-within{box-shadow:0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000)}}.textarea:focus,.textarea:focus-within{outline:2px solid var(--input-color);outline-offset:2px;isolation:isolate}@media (pointer:coarse){@supports (-webkit-touch-callout:none){.textarea:focus,.textarea:focus-within{--font-size:1rem}}}.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]){cursor:not-allowed;border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]){color:color-mix(in oklab, var(--color-base-content) 40%, transparent)}}:is(.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]))::placeholder{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:is(.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]))::placeholder{color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]){box-shadow:none}.textarea:has(>textarea[disabled])>textarea[disabled]{cursor:not-allowed}.stack{grid-template-rows:3px 4px 1fr 4px 3px;grid-template-columns:3px 4px 1fr 4px 3px;display:inline-grid}.stack>*{width:100%;height:100%}.stack>:nth-child(n+2){opacity:.7;width:100%}.stack>:nth-child(2){z-index:2;opacity:.9}.stack>:first-child{z-index:3;width:100%}.modal-backdrop{color:#0000;z-index:-1;grid-row-start:1;grid-column-start:1;place-self:stretch stretch;display:grid}.modal-backdrop button{cursor:pointer}.tab-content{order:var(--tabcontent-order);--tabcontent-radius-ss:var(--radius-box);--tabcontent-radius-se:var(--radius-box);--tabcontent-radius-es:var(--radius-box);--tabcontent-radius-ee:var(--radius-box);--tabcontent-order:1;width:100%;height:calc(100% - var(--tab-height) + var(--border));margin:var(--tabcontent-margin);border-color:#0000;border-width:var(--border);border-start-start-radius:var(--tabcontent-radius-ss);border-start-end-radius:var(--tabcontent-radius-se);border-end-end-radius:var(--tabcontent-radius-ee);border-end-start-radius:var(--tabcontent-radius-es);display:none}.timeline-end{grid-area:3/1/4/4;place-self:flex-start center;margin:.25rem}.timeline-start{grid-area:1/1/2/4;place-self:flex-end center;margin:.25rem}.stat-figure{grid-row:1/span 3;grid-column-start:2;place-self:center flex-end}.modal-box{background-color:var(--color-base-100);border-top-left-radius:var(--modal-tl,var(--radius-box));border-top-right-radius:var(--modal-tr,var(--radius-box));border-bottom-left-radius:var(--modal-bl,var(--radius-box));border-bottom-right-radius:var(--modal-br,var(--radius-box));opacity:0;overscroll-behavior:contain;grid-row-start:1;grid-column-start:1;width:91.6667%;max-width:32rem;max-height:100vh;padding:1.5rem;transition:translate .3s ease-out,scale .3s ease-out,opacity .2s ease-out 50ms,box-shadow .3s ease-out;overflow-y:auto;scale:.95;box-shadow:0 25px 50px -12px oklch(0% 0 0/.25)}.drawer-content{grid-row-start:1;grid-column-start:2;min-width:0}.timeline-middle{grid-row-start:2;grid-column-start:2}.stat-value{white-space:nowrap;grid-column-start:1;font-size:2rem;font-weight:800}.stat-desc{white-space:nowrap;color:var(--color-base-content);grid-column-start:1}@supports (color:color-mix(in lab, red, red)){.stat-desc{color:color-mix(in oklab, var(--color-base-content) 60%, transparent)}}.stat-desc{font-size:.75rem}.stat-title{white-space:nowrap;color:var(--color-base-content);grid-column-start:1}@supports (color:color-mix(in lab, red, red)){.stat-title{color:color-mix(in oklab, var(--color-base-content) 60%, transparent)}}.stat-title{font-size:.75rem}.stat-actions{white-space:nowrap;grid-column-start:1}.chat-image{grid-row:span 2/span 2;align-self:flex-end}.chat-footer{grid-row-start:3;gap:.25rem;font-size:.6875rem;display:flex}.chat-header{grid-row-start:1;gap:.25rem;font-size:.6875rem;display:flex}.divider{white-space:nowrap;height:1rem;margin:var(--divider-m,1rem 0);--divider-color:var(--color-base-content);flex-direction:row;align-self:stretch;align-items:center;display:flex}@supports (color:color-mix(in lab, red, red)){.divider{--divider-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}.divider:before,.divider:after{content:"";background-color:var(--divider-color);flex-grow:1;width:100%;height:.125rem}@media print{.divider:before,.divider:after{border:.5px solid}}.divider:not(:empty){gap:1rem}.filter{flex-wrap:wrap;display:flex}.filter input[type=radio]{width:auto}.filter input{opacity:1;transition:margin .1s,opacity .3s,padding .3s,border-width .1s;overflow:hidden;scale:1}.filter input:not(:last-child){margin-inline-end:.25rem}.filter input.filter-reset{aspect-ratio:1}.filter input.filter-reset:after{--tw-content:"×";content:var(--tw-content)}.filter:not(:has(input:checked:not(.filter-reset))) .filter-reset,.filter:not(:has(input:checked:not(.filter-reset))) input[type=reset],.filter:has(input:checked:not(.filter-reset)) input:not(:checked,.filter-reset,input[type=reset]){opacity:0;border-width:0;width:0;margin-inline:0;padding-inline:0;scale:0}.label{white-space:nowrap;color:currentColor;align-items:center;gap:.375rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.label{color:color-mix(in oklab, currentcolor 60%, transparent)}}.label:has(input){cursor:pointer}.label:is(.input>*,.select>*){white-space:nowrap;height:calc(100% - .5rem);font-size:inherit;align-items:center;padding-inline:.75rem;display:flex}.label:is(.input>*,.select>*):first-child{border-inline-end:var(--border) solid currentColor;margin-inline:-.75rem .75rem}@supports (color:color-mix(in lab, red, red)){.label:is(.input>*,.select>*):first-child{border-inline-end:var(--border) solid color-mix(in oklab, currentColor 10%, #0000)}}.label:is(.input>*,.select>*):last-child{border-inline-start:var(--border) solid currentColor;margin-inline:.75rem -.75rem}@supports (color:color-mix(in lab, red, red)){.label:is(.input>*,.select>*):last-child{border-inline-start:var(--border) solid color-mix(in oklab, currentColor 10%, #0000)}}.modal-action{justify-content:flex-end;gap:.5rem;margin-top:1.5rem;display:flex}.fieldset-legend{color:var(--color-base-content);justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:-.25rem;padding-block:.5rem;font-weight:600;display:flex}.carousel-item{box-sizing:content-box;scroll-snap-align:start;flex:none;display:flex}.status{aspect-ratio:1;border-radius:var(--radius-selector);background-color:var(--color-base-content);width:.5rem;height:.5rem;display:inline-block}@supports (color:color-mix(in lab, red, red)){.status{background-color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.status{vertical-align:middle;color:#0000004d;background-position:50%;background-repeat:no-repeat}@supports (color:color-mix(in lab, red, red)){.status{color:color-mix(in oklab, var(--color-black) 30%, transparent)}}.status{background-image:radial-gradient(circle at 35% 30%, oklch(1 0 0 / calc(var(--depth) * .5)), #0000);box-shadow:0 2px 3px -1px}@supports (color:color-mix(in lab, red, red)){.status{box-shadow:0 2px 3px -1px color-mix(in oklab, currentColor calc(var(--depth) * 100%), #0000)}}.badge{border-radius:var(--radius-selector);vertical-align:middle;color:var(--badge-fg);border:var(--border) solid var(--badge-color,var(--color-base-200));background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--fx-noise);background-color:var(--badge-bg);--badge-bg:var(--badge-color,var(--color-base-100));--badge-fg:var(--color-base-content);--size:calc(var(--size-selector,.25rem) * 6);width:fit-content;height:var(--size);padding-inline:calc(var(--size) / 2 - var(--border));justify-content:center;align-items:center;gap:.5rem;font-size:.875rem;display:inline-flex}.kbd{border-radius:var(--radius-field);background-color:var(--color-base-200);vertical-align:middle;border:var(--border) solid var(--color-base-content);justify-content:center;align-items:center;padding-inline:.5em;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.kbd{border:var(--border) solid color-mix(in srgb, var(--color-base-content) 20%, #0000)}}.kbd{border-bottom:calc(var(--border) + 1px) solid var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.kbd{border-bottom:calc(var(--border) + 1px) solid color-mix(in srgb, var(--color-base-content) 20%, #0000)}}.kbd{--size:calc(var(--size-selector,.25rem) * 6);height:var(--size);min-width:var(--size);font-size:.875rem}.text-rotate{vertical-align:bottom;white-space:nowrap;--duration:var(--tw-duration);transition-property:none;display:inline-block;overflow:hidden}.text-rotate>*{height:calc(var(--items,1) * 100%);justify-items:start;display:grid}.text-rotate>:has(:nth-child(2)){--items:2;animation:rotator var(--duration,10s) linear(0 0% 49%, .5 50% 99%, 1 100% 100%) infinite}.text-rotate>:has(:nth-child(3)){--items:3;animation:rotator var(--duration,10s) linear(0 0% 32%, .333333 33% 65%, .666666 66% 99%, 1 100% 100%) infinite}.text-rotate>:has(:nth-child(4)){--items:4;animation:rotator var(--duration,10s) linear(0 0% 24%, .25 25% 49%, .5 50% 74%, .75 75% 99%, 1 100% 100%) infinite}.text-rotate>:has(:nth-child(5)){--items:5;animation:rotator var(--duration,10s) linear(0 0% 19%, .2 20% 39%, .4 40% 59%, .6 60% 79%, .8 80% 99%, 1 100% 100%) infinite}.text-rotate>:has(:nth-child(6)){--items:6;animation:rotator var(--duration,10s) linear(0 0% 15%, .16666 16% 32%, .333333 33% 49%, .5 50% 65%, .666666 66% 82%, .833333 83% 99%, 1 100% 100%) infinite}.text-rotate>*>*{clip-path:inset(.5px 0);align-content:baseline}.text-rotate>*>:first-child{translate:var(--first-item-position)}.text-rotate:hover>*{animation-play-state:paused}.tabs{--tabs-height:auto;--tabs-direction:row;--tab-height:calc(var(--size-field,.25rem) * 10);height:var(--tabs-height);flex-wrap:wrap;flex-direction:var(--tabs-direction);display:flex}.footer{grid-auto-flow:row;place-items:start;gap:2.5rem 1rem;width:100%;font-size:.875rem;line-height:1.25rem;display:grid}.footer>*{place-items:start;gap:.5rem;display:grid}.footer.footer-center{text-align:center;grid-auto-flow:column dense;place-items:center}.footer.footer-center>*{place-items:center}.stat{grid-template-columns:repeat(1,1fr);column-gap:1rem;width:100%;padding-block:1rem;padding-inline:1.5rem;display:inline-grid}.stat:not(:last-child){border-inline-end:var(--border) dashed currentColor}@supports (color:color-mix(in lab, red, red)){.stat:not(:last-child){border-inline-end:var(--border) dashed color-mix(in oklab, currentColor 10%, #0000)}}.stat:not(:last-child){border-block-end:none}.navbar-end{justify-content:flex-end;align-items:center;width:50%;display:inline-flex}.navbar-start{justify-content:flex-start;align-items:center;width:50%;display:inline-flex}.card-body{padding:var(--card-p,1.5rem);font-size:var(--card-fs,.875rem);flex-direction:column;flex:auto;gap:.5rem;display:flex}.card-body :where(p){flex-grow:1}.navbar-center{flex-shrink:0;align-items:center;display:inline-flex}.fieldset-label{color:var(--color-base-content);align-items:center;gap:.375rem;display:flex}@supports (color:color-mix(in lab, red, red)){.fieldset-label{color:color-mix(in oklab, var(--color-base-content) 60%, transparent)}}.fieldset-label:has(input){cursor:pointer}.carousel{scroll-snap-type:x mandatory;scrollbar-width:none;display:inline-flex;overflow-x:scroll}@media (prefers-reduced-motion:no-preference){.carousel{scroll-behavior:smooth}}.carousel::-webkit-scrollbar{display:none}.alert{--alert-border-color:var(--color-base-200);border-radius:var(--radius-box);color:var(--color-base-content);background-color:var(--alert-color,var(--color-base-200));text-align:start;background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--fx-noise);box-shadow:0 3px 0 -2px oklch(100% 0 0 / calc(var(--depth) * .08)) inset, 0 1px #000, 0 4px 3px -2px oklch(0% 0 0 / calc(var(--depth) * .08));border-style:solid;grid-template-columns:auto;grid-auto-flow:column;justify-content:start;place-items:center start;gap:1rem;padding-block:.75rem;padding-inline:1rem;font-size:.875rem;line-height:1.25rem;display:grid}@supports (color:color-mix(in lab, red, red)){.alert{box-shadow:0 3px 0 -2px oklch(100% 0 0 / calc(var(--depth) * .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) * .08))}}.alert:has(:nth-child(2)){grid-template-columns:auto minmax(auto,1fr)}.fieldset{grid-template-columns:1fr;grid-auto-rows:max-content;gap:.375rem;padding-block:.25rem;font-size:.75rem;display:grid}.chat{--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");grid-auto-rows:min-content;column-gap:.75rem;padding-block:.25rem;display:grid}.card-actions{flex-wrap:wrap;align-items:flex-start;gap:.5rem;display:flex}.card-title{font-size:var(--cardtitle-fs,1.125rem);align-items:center;gap:.5rem;font-weight:600;display:flex}.mask{vertical-align:middle;display:inline-block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.skeleton{border-radius:var(--radius-box);background-color:var(--color-base-300)}@media (prefers-reduced-motion:reduce){.skeleton{transition-duration:15s}}.skeleton{will-change:background-position;background-image:linear-gradient(105deg, #0000 0% 40%, var(--color-base-100) 50%, #0000 60% 100%);background-position-x:-50%;background-size:200%}@media (prefers-reduced-motion:no-preference){.skeleton{animation:1.8s ease-in-out infinite skeleton}}.timeline-box{border:var(--border) solid;border-radius:var(--radius-box);border-color:var(--color-base-300);background-color:var(--color-base-100);padding-block:.5rem;padding-inline:1rem;font-size:.75rem;box-shadow:0 1px 2px oklch(0% 0 0/.05)}.btn-accent{--btn-color:var(--color-accent);--btn-fg:var(--color-accent-content)}.btn-error{--btn-color:var(--color-error);--btn-fg:var(--color-error-content)}.btn-info{--btn-color:var(--color-info);--btn-fg:var(--color-info-content)}.btn-neutral{--btn-color:var(--color-neutral);--btn-fg:var(--color-neutral-content)}.btn-primary{--btn-color:var(--color-primary);--btn-fg:var(--color-primary-content)}.btn-secondary{--btn-color:var(--color-secondary);--btn-fg:var(--color-secondary-content)}.btn-success{--btn-color:var(--color-success);--btn-fg:var(--color-success-content)}.btn-warning{--btn-color:var(--color-warning);--btn-fg:var(--color-warning-content)}}@layer daisyui.l1.l2{.modal.modal-open,.modal[open],.modal:target,.modal-toggle:checked+.modal{pointer-events:auto;visibility:visible;opacity:1;transition:visibility 0s allow-discrete, background-color .3s ease-out, opacity .1s ease-out;background-color:oklch(0% 0 0/.4)}:is(.modal.modal-open,.modal[open],.modal:target,.modal-toggle:checked+.modal) .modal-box{opacity:1;translate:0;scale:1}:root:has(:is(.modal.modal-open,.modal[open],.modal:target,.modal-toggle:checked+.modal)){--page-has-backdrop:1;--page-overflow:hidden;--page-scroll-bg:var(--page-scroll-bg-on);--page-scroll-gutter:stable;--page-scroll-transition:var(--page-scroll-transition-on);animation:forwards set-page-has-scroll;animation-timeline:scroll()}@starting-style{.modal.modal-open,.modal[open],.modal:target,.modal-toggle:checked+.modal{opacity:0}}:where(.drawer-toggle:checked~.drawer-side){pointer-events:auto;visibility:visible;opacity:1;overflow-y:auto}:where(.drawer-toggle:checked~.drawer-side)>:not(.drawer-overlay){translate:0%}.drawer-toggle:focus-visible~.drawer-content label.drawer-button{outline-offset:2px;outline:2px solid}.tooltip>.tooltip-content,.tooltip[data-tip]:before{transform:translateX(-50%) translateY(var(--tt-pos,.25rem));inset:auto auto var(--tt-off) 50%}.tooltip:after{transform:translateX(-50%) translateY(var(--tt-pos,.25rem));inset:auto auto var(--tt-tail) 50%}.collapse-arrow>.collapse-title:after{width:.5rem;height:.5rem;display:block;position:absolute;transform:translateY(-100%)rotate(45deg)}@media (prefers-reduced-motion:no-preference){.collapse-arrow>.collapse-title:after{transition-property:all;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1)}}.collapse-arrow>.collapse-title:after{content:"";transform-origin:75% 75%;pointer-events:none;top:50%;inset-inline-end:1.4rem;box-shadow:2px 2px}.btn:disabled:not(.btn-link,.btn-ghost){background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn:disabled:not(.btn-link,.btn-ghost){background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}.btn:disabled:not(.btn-link,.btn-ghost){box-shadow:none}.btn:disabled{pointer-events:none;--btn-border:#0000;--btn-noise:none;--btn-fg:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn:disabled{--btn-fg:color-mix(in oklch, var(--color-base-content) 20%, #0000)}}.btn[disabled]:not(.btn-link,.btn-ghost){background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn[disabled]:not(.btn-link,.btn-ghost){background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}.btn[disabled]:not(.btn-link,.btn-ghost){box-shadow:none}.btn[disabled]{pointer-events:none;--btn-border:#0000;--btn-noise:none;--btn-fg:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn[disabled]{--btn-fg:color-mix(in oklch, var(--color-base-content) 20%, #0000)}}.btn-disabled:not(.btn-link,.btn-ghost){background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn-disabled:not(.btn-link,.btn-ghost){background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}.btn-disabled:not(.btn-link,.btn-ghost){box-shadow:none}.btn-disabled{pointer-events:none;--btn-border:#0000;--btn-noise:none;--btn-fg:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn-disabled{--btn-fg:color-mix(in oklch, var(--color-base-content) 20%, #0000)}}.tab-disabled{pointer-events:none;opacity:.4}@media (prefers-reduced-motion:no-preference){.collapse[open].collapse-arrow>.collapse-title:after,.collapse.collapse-open.collapse-arrow>.collapse-title:after{transform:translateY(-50%)rotate(225deg)}}.collapse.collapse-open.collapse-plus>.collapse-title:after{--tw-content:"−";content:var(--tw-content)}:is(.collapse[tabindex].collapse-arrow:focus:not(.collapse-close),.collapse.collapse-arrow[tabindex]:focus-within:not(.collapse-close))>.collapse-title:after,.collapse.collapse-arrow:not(.collapse-close)>input:is([type=checkbox],[type=radio]):checked~.collapse-title:after{transform:translateY(-50%)rotate(225deg)}.collapse[open].collapse-plus>.collapse-title:after,.collapse[tabindex].collapse-plus:focus:not(.collapse-close)>.collapse-title:after,.collapse.collapse-plus:not(.collapse-close)>input:is([type=checkbox],[type=radio]):checked~.collapse-title:after{--tw-content:"−";content:var(--tw-content)}.tabs-lift{--tabs-height:auto;--tabs-direction:row}.tabs-lift>.tab{--tab-border:0 0 var(--border) 0;--tab-radius-ss:var(--tab-radius-limit);--tab-radius-se:var(--tab-radius-limit);--tab-radius-es:0;--tab-radius-ee:0;--tab-paddings:var(--border) var(--tab-p) 0 var(--tab-p);--tab-border-colors:#0000 #0000 var(--tab-border-color) #0000;--tab-corner-width:calc(100% + var(--tab-radius-limit) * 2);--tab-corner-height:var(--tab-radius-limit);--tab-corner-position:top left, top right;border-width:var(--tab-border);padding:var(--tab-paddings);border-color:var(--tab-border-colors);border-start-start-radius:var(--tab-radius-ss);border-start-end-radius:var(--tab-radius-se);border-end-end-radius:var(--tab-radius-ee);border-end-start-radius:var(--tab-radius-es)}.tabs-lift>.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-lift>.tab:is(input:checked,label:has(:checked)){--tab-border:var(--border) var(--border) 0 var(--border);--tab-border-colors:var(--tab-border-color) var(--tab-border-color) #0000 var(--tab-border-color);--tab-paddings:0 calc(var(--tab-p) - var(--border)) var(--border) calc(var(--tab-p) - var(--border));--tab-inset:auto auto 0 auto;--radius-start:radial-gradient(circle at top left, var(--tab-radius-grad));--radius-end:radial-gradient(circle at top right, var(--tab-radius-grad));background-color:var(--tab-bg)}:is(.tabs-lift>.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-lift>.tab:is(input:checked,label:has(:checked))):before{z-index:1;content:"";width:var(--tab-corner-width);height:var(--tab-corner-height);background-position:var(--tab-corner-position);background-image:var(--radius-start), var(--radius-end);background-size:var(--tab-radius-limit) var(--tab-radius-limit);inset:var(--tab-inset);background-repeat:no-repeat;display:block;position:absolute}:is(.tabs-lift>.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-lift>.tab:is(input:checked,label:has(:checked))):first-child:before{--radius-start:none}[dir=rtl] :is(.tabs-lift>.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-lift>.tab:is(input:checked,label:has(:checked))):first-child:before{transform:rotateY(180deg)}:is(.tabs-lift>.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-lift>.tab:is(input:checked,label:has(:checked))):last-child:before{--radius-end:none}[dir=rtl] :is(.tabs-lift>.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-lift>.tab:is(input:checked,label:has(:checked))):last-child:before{transform:rotateY(180deg)}.tabs-lift:has(>.tab-content)>.tab:first-child:not(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]){--tab-border-colors:var(--tab-border-color) var(--tab-border-color) #0000 var(--tab-border-color)}.tabs-lift>.tab-content{--tabcontent-margin:calc(-1 * var(--border)) 0 0 0;--tabcontent-radius-ss:0;--tabcontent-radius-se:var(--radius-box);--tabcontent-radius-es:var(--radius-box);--tabcontent-radius-ee:var(--radius-box)}:is(.tabs-lift :checked,.tabs-lift label:has(:checked),.tabs-lift :is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]))+.tab-content:first-child,:is(.tabs-lift :checked,.tabs-lift label:has(:checked),.tabs-lift :is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]))+.tab-content:nth-child(n+3){--tabcontent-radius-ss:var(--radius-box)}.list .list-row:has(.list-col-grow:first-child){--list-grid-cols:1fr}.list .list-row:has(.list-col-grow:nth-child(2)){--list-grid-cols:minmax(0, auto) 1fr}.list .list-row:has(.list-col-grow:nth-child(3)){--list-grid-cols:minmax(0, auto) minmax(0, auto) 1fr}.list .list-row:has(.list-col-grow:nth-child(4)){--list-grid-cols:minmax(0, auto) minmax(0, auto) minmax(0, auto) 1fr}.list .list-row:has(.list-col-grow:nth-child(5)){--list-grid-cols:minmax(0, auto) minmax(0, auto) minmax(0, auto) minmax(0, auto) 1fr}.list .list-row:has(.list-col-grow:nth-child(6)){--list-grid-cols:minmax(0, auto) minmax(0, auto) minmax(0, auto) minmax(0, auto) minmax(0, auto) 1fr}.list .list-row>*{grid-row-start:1}.steps .step-neutral+.step-neutral:before,.steps .step-neutral:after,.steps .step-neutral>.step-icon{--step-bg:var(--color-neutral);--step-fg:var(--color-neutral-content)}.steps .step-primary+.step-primary:before,.steps .step-primary:after,.steps .step-primary>.step-icon{--step-bg:var(--color-primary);--step-fg:var(--color-primary-content)}.steps .step-secondary+.step-secondary:before,.steps .step-secondary:after,.steps .step-secondary>.step-icon{--step-bg:var(--color-secondary);--step-fg:var(--color-secondary-content)}.steps .step-accent+.step-accent:before,.steps .step-accent:after,.steps .step-accent>.step-icon{--step-bg:var(--color-accent);--step-fg:var(--color-accent-content)}.steps .step-info+.step-info:before,.steps .step-info:after,.steps .step-info>.step-icon{--step-bg:var(--color-info);--step-fg:var(--color-info-content)}.steps .step-success+.step-success:before,.steps .step-success:after,.steps .step-success>.step-icon{--step-bg:var(--color-success);--step-fg:var(--color-success-content)}.steps .step-warning+.step-warning:before,.steps .step-warning:after,.steps .step-warning>.step-icon{--step-bg:var(--color-warning);--step-fg:var(--color-warning-content)}.steps .step-error+.step-error:before,.steps .step-error:after,.steps .step-error>.step-icon{--step-bg:var(--color-error);--step-fg:var(--color-error-content)}.tabs-border>.tab{--tab-border-color:#0000 #0000 var(--tab-border-color) #0000;border-radius:var(--radius-field);position:relative}.tabs-border>.tab:before{content:"";background-color:var(--tab-border-color);border-radius:var(--radius-field);width:80%;height:3px;transition:background-color .2s;position:absolute;bottom:0;left:10%}:is(.tabs-border>.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-border>.tab:is(input:checked),.tabs-border>.tab:is(label:has(:checked))):before{--tab-border-color:currentColor;border-top:3px solid}.menu-horizontal{flex-direction:row;display:inline-flex}.menu-horizontal>li:not(.menu-title)>details>ul{transform-origin:top;border-radius:var(--radius-box);background-color:var(--color-base-100);opacity:0;margin-inline-start:0;margin-top:1rem;padding-block:.5rem;padding-inline-end:.5rem;position:absolute;scale:.95;box-shadow:0 1px 3px oklch(0% 0 0/.1),0 1px 2px -1px oklch(0% 0 0/.1)}@media (prefers-reduced-motion:no-preference){@starting-style{.menu-horizontal>li:not(.menu-title)>details>ul{opacity:0;scale:.95}}.menu-horizontal>li:not(.menu-title)>details>ul{transition-behavior:allow-discrete;transition-property:opacity,scale,display;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);animation:.2s menu}}.menu-horizontal>li:not(.menu-title)>details[open]>ul{opacity:1;scale:1}.menu-horizontal>li>details>ul:before{--tw-content:none;content:var(--tw-content)}.menu-vertical{flex-direction:column;display:inline-flex}.menu-vertical>li:not(.menu-title)>details>ul{background-color:revert-layer;border-radius:revert-layer;animation:revert-layer;box-shadow:revert-layer;margin-inline-start:1rem;margin-top:0;padding-block:0;padding-inline-end:0;transition:revert-layer;position:relative}.checkbox:disabled,.radio:disabled{cursor:not-allowed;opacity:.2}.rating.rating-xs :where(:not(.rating-hidden)){width:1rem;height:1rem}.rating.rating-sm :where(:not(.rating-hidden)){width:1.25rem;height:1.25rem}.rating.rating-md :where(:not(.rating-hidden)){width:1.5rem;height:1.5rem}.rating.rating-lg :where(:not(.rating-hidden)){width:1.75rem;height:1.75rem}.rating.rating-xl :where(:not(.rating-hidden)){width:2rem;height:2rem}.rating\!.rating-xs :where(:not(.rating-hidden)){width:1rem!important;height:1rem!important}.rating\!.rating-sm :where(:not(.rating-hidden)){width:1.25rem!important;height:1.25rem!important}.rating\!.rating-md :where(:not(.rating-hidden)){width:1.5rem!important;height:1.5rem!important}.rating\!.rating-lg :where(:not(.rating-hidden)){width:1.75rem!important;height:1.75rem!important}.rating\!.rating-xl :where(:not(.rating-hidden)){width:2rem!important;height:2rem!important}:where(.navbar){position:relative}.tooltip-bottom>.tooltip-content,.tooltip-bottom[data-tip]:before{transform:translateX(-50%) translateY(var(--tt-pos,-.25rem));inset:var(--tt-off) auto auto 50%}.tooltip-bottom:after{transform:translateX(-50%) translateY(var(--tt-pos,-.25rem)) rotate(180deg);inset:var(--tt-tail) auto auto 50%}.tooltip-left>.tooltip-content,.tooltip-left[data-tip]:before{transform:translateX(calc(var(--tt-pos,.25rem) - .25rem)) translateY(-50%);inset:50% var(--tt-off) auto auto}.tooltip-left:after{transform:translateX(var(--tt-pos,.25rem)) translateY(-50%) rotate(-90deg);inset:50% calc(var(--tt-tail) + 1px) auto auto}.tooltip-right>.tooltip-content,.tooltip-right[data-tip]:before{transform:translateX(calc(var(--tt-pos,-.25rem) + .25rem)) translateY(-50%);inset:50% auto auto var(--tt-off)}.tooltip-right:after{transform:translateX(var(--tt-pos,-.25rem)) translateY(-50%) rotate(90deg);inset:50% auto auto calc(var(--tt-tail) + 1px)}.tooltip-top>.tooltip-content,.tooltip-top[data-tip]:before{transform:translateX(-50%) translateY(var(--tt-pos,.25rem));inset:auto auto var(--tt-off) 50%}.tooltip-top:after{transform:translateX(-50%) translateY(var(--tt-pos,.25rem));inset:auto auto var(--tt-tail) 50%}.dropdown-right{--anchor-h:right;--anchor-v:span-bottom}.dropdown-right .dropdown-content{transform-origin:0;inset-inline-start:100%;top:0;bottom:auto}.dropdown-left{--anchor-h:left;--anchor-v:span-bottom}.dropdown-left .dropdown-content{transform-origin:100%;inset-inline-end:100%;top:0;bottom:auto}.dropdown-end{--anchor-h:span-left}.dropdown-end :where(.dropdown-content){inset-inline-end:0;translate:0}[dir=rtl] :is(.dropdown-end :where(.dropdown-content)){translate:0}.dropdown-end.dropdown-left{--anchor-h:left;--anchor-v:span-top}.dropdown-end.dropdown-left .dropdown-content{top:auto;bottom:0}.dropdown-end.dropdown-right{--anchor-h:right;--anchor-v:span-top}.dropdown-end.dropdown-right .dropdown-content{top:auto;bottom:0}.dropdown-bottom{--anchor-v:bottom}.dropdown-bottom .dropdown-content{transform-origin:top;top:100%;bottom:auto}.dropdown-top{--anchor-v:top}.dropdown-top .dropdown-content{transform-origin:bottom;top:auto;bottom:100%}.btn-active{--btn-bg:var(--btn-color,var(--color-base-200))}@supports (color:color-mix(in lab, red, red)){.btn-active{--btn-bg:color-mix(in oklab, var(--btn-color,var(--color-base-200)), #000 7%)}}.btn-active{--btn-shadow:0 0 0 0 oklch(0% 0 0/0), 0 0 0 0 oklch(0% 0 0/0);isolation:isolate}:is(.stack,.stack.stack-bottom)>*{grid-area:3/3/6/4}:is(.stack,.stack.stack-bottom)>:nth-child(2){grid-area:2/2/5/5}:is(.stack,.stack.stack-bottom)>:first-child{grid-area:1/1/4/6}.stack.stack-top>*{grid-area:1/3/4/4}.stack.stack-top>:nth-child(2){grid-area:2/2/5/5}.stack.stack-top>:first-child{grid-area:3/1/6/6}.stack.stack-start>*{grid-area:3/1/4/4}.stack.stack-start>:nth-child(2){grid-area:2/2/5/5}.stack.stack-start>:first-child{grid-area:1/3/6/6}.stack.stack-end>*{grid-area:3/3/4/6}.stack.stack-end>:nth-child(2){grid-area:2/2/5/5}.stack.stack-end>:first-child{grid-area:1/1/6/4}.tabs-box{background-color:var(--color-base-200);--tabs-box-radius:calc(3 * var(--radius-field));border-radius:calc(min(var(--tab-height) / 2, var(--radius-field)) + min(.25rem, var(--tabs-box-radius)));box-shadow:0 -.5px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 .5px oklch(0% 0 0 / calc(var(--depth) * .05)) inset;padding:.25rem}.tabs-box>.tab{border-radius:var(--radius-field);border-style:none}.tabs-box>.tab:focus-visible,.tabs-box>.tab:is(label:has(:checked:focus-visible)){outline-offset:2px}.tabs-box>.tab:focus-visible{z-index:1}.tabs-box>:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-box>:is(input:checked),.tabs-box>:is(label:has(:checked)){background-color:var(--tab-bg,var(--color-base-100));box-shadow:0 1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px 1px -1px var(--color-neutral), 0 1px 6px -4px var(--color-neutral)}@supports (color:color-mix(in lab, red, red)){.tabs-box>:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-box>:is(input:checked),.tabs-box>:is(label:has(:checked)){box-shadow:0 1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px 1px -1px color-mix(in oklab, var(--color-neutral) calc(var(--depth) * 50%), #0000), 0 1px 6px -4px color-mix(in oklab, var(--color-neutral) calc(var(--depth) * 100%), #0000)}}@media (forced-colors:active){.tabs-box>:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-box>:is(input:checked),.tabs-box>:is(label:has(:checked)){border:1px solid}}.tabs-box>.tab-content{height:calc(100% - var(--tab-height) + var(--border) - .5rem);border-radius:calc(min(var(--tab-height) / 2, var(--radius-field)) + min(.25rem, var(--tabs-box-radius)) - var(--border));margin-top:.25rem}.timeline-horizontal{flex-direction:row}.timeline-horizontal>li{align-items:center}.timeline-horizontal>li>hr{width:100%;height:.25rem}.timeline-horizontal>li>hr:first-child{grid-row-start:2;grid-column-start:1}.timeline-horizontal>li>hr:last-child{grid-area:2/3/auto/none}.timeline-horizontal .timeline-start{grid-area:1/1/2/4;place-self:flex-end center}.timeline-horizontal .timeline-end{grid-area:3/1/4/4;place-self:flex-start center}.timeline-horizontal:has(.timeline-middle)>li>hr:first-child{border-start-start-radius:0;border-start-end-radius:var(--radius-selector);border-end-end-radius:var(--radius-selector);border-end-start-radius:0}.timeline-horizontal:has(.timeline-middle)>li>hr:last-child,.timeline-horizontal:not(:has(.timeline-middle)) :first-child>hr:last-child{border-start-start-radius:var(--radius-selector);border-start-end-radius:0;border-end-end-radius:0;border-end-start-radius:var(--radius-selector)}.timeline-horizontal:not(:has(.timeline-middle)) :last-child>hr:first-child{border-start-start-radius:0;border-start-end-radius:var(--radius-selector);border-end-end-radius:var(--radius-selector);border-end-start-radius:0}.timeline-vertical{flex-direction:column}.timeline-vertical>li{--timeline-row-start:minmax(0, 1fr);--timeline-row-end:minmax(0, 1fr);justify-items:center}.timeline-vertical>li>hr{width:.25rem;height:100%}.timeline-vertical>li>hr:first-child{grid-row-start:1;grid-column-start:2}.timeline-vertical>li>hr:last-child{grid-area:3/2/none}.timeline-vertical .timeline-start{grid-area:1/1/4/2;place-self:center flex-end}.timeline-vertical .timeline-end{grid-area:1/3/4/4;place-self:center flex-start}.timeline-vertical:has(.timeline-middle)>li>hr:first-child{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:var(--radius-selector);border-bottom-left-radius:var(--radius-selector)}.timeline-vertical:has(.timeline-middle)>li>hr:last-child,.timeline-vertical:not(:has(.timeline-middle)) :first-child>hr:last-child{border-top-left-radius:var(--radius-selector);border-top-right-radius:var(--radius-selector);border-bottom-right-radius:0;border-bottom-left-radius:0}.timeline-vertical:not(:has(.timeline-middle)) :last-child>hr:first-child{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:var(--radius-selector);border-bottom-left-radius:var(--radius-selector)}.timeline-vertical.timeline-snap-icon>li{--timeline-col-start:minmax(0, 1fr);--timeline-row-start:.5rem}.timeline-compact{--timeline-row-start:0}.timeline-compact .timeline-start{grid-area:3/1/4/4;place-self:flex-start center}.timeline-compact li:has(.timeline-start) .timeline-end{grid-row-start:auto;grid-column-start:none}.timeline-compact.timeline-vertical>li{--timeline-col-start:0}.timeline-compact.timeline-vertical .timeline-start{grid-area:1/3/4/4;place-self:center flex-start}.timeline-compact.timeline-vertical li:has(.timeline-start) .timeline-end{grid-row-start:none;grid-column-start:auto}.drawer-end{grid-auto-columns:auto max-content}.drawer-end>.drawer-toggle~.drawer-content{grid-column-start:1}.drawer-end>.drawer-toggle~.drawer-side{grid-column-start:2;justify-items:end}.drawer-end>.drawer-toggle~.drawer-side>:not(.drawer-overlay){translate:100%}[dir=rtl] :is(.drawer-end>.drawer-toggle~.drawer-side>:not(.drawer-overlay)){translate:-100%}.drawer-end>.drawer-toggle:checked~.drawer-side>:not(.drawer-overlay){translate:0%}.input-lg{--size:calc(var(--size-field,.25rem) * 12);font-size:max(var(--font-size,1.125rem), 1.125rem)}.input-lg[type=number]::-webkit-inner-spin-button{margin-block:-.75rem;margin-inline-end:-.75rem}.input-md{--size:calc(var(--size-field,.25rem) * 10);font-size:max(var(--font-size,.875rem), .875rem)}.input-md[type=number]::-webkit-inner-spin-button{margin-block:-.75rem;margin-inline-end:-.75rem}.input-sm{--size:calc(var(--size-field,.25rem) * 8);font-size:max(var(--font-size,.75rem), .75rem)}.input-sm[type=number]::-webkit-inner-spin-button{margin-block:-.5rem;margin-inline-end:-.75rem}.input-xs{--size:calc(var(--size-field,.25rem) * 6);font-size:max(var(--font-size,.6875rem), .6875rem)}.input-xs[type=number]::-webkit-inner-spin-button{margin-block:-.25rem;margin-inline-end:-.75rem}.modal-bottom{place-items:end}.modal-bottom .modal-box{--modal-tl:var(--radius-box);--modal-tr:var(--radius-box);--modal-bl:0;--modal-br:0;width:100%;max-width:none;height:auto;max-height:calc(100vh - 5em);translate:0 100%;scale:1}.modal-middle{place-items:center}.modal-middle .modal-box{--modal-tl:var(--radius-box);--modal-tr:var(--radius-box);--modal-bl:var(--radius-box);--modal-br:var(--radius-box);width:91.6667%;max-width:32rem;height:auto;max-height:calc(100vh - 5em);translate:0 2%;scale:.98}.modal-top{place-items:start}.modal-top .modal-box{--modal-tl:0;--modal-tr:0;--modal-bl:var(--radius-box);--modal-br:var(--radius-box);width:100%;max-width:none;height:auto;max-height:calc(100vh - 5em);translate:0 -100%;scale:1}.btn-circle{width:var(--size);height:var(--size);border-radius:3.40282e38px;padding-inline:0}.btn-square{width:var(--size);height:var(--size);padding-inline:0}.btn-wide{width:100%;max-width:16rem}.btn-block{width:100%}.loading-xs{width:calc(var(--size-selector,.25rem) * 4)}.swap-rotate .swap-on,.swap-rotate input:indeterminate~.swap-on{rotate:45deg}.swap-rotate input:is(:checked,:indeterminate)~.swap-on,.swap-rotate.swap-active .swap-on{rotate:0deg}.swap-rotate input:is(:checked,:indeterminate)~.swap-off,.swap-rotate.swap-active .swap-off{rotate:-45deg}.swap-flip{transform-style:preserve-3d;perspective:20rem}.swap-flip .swap-on,.swap-flip .swap-indeterminate,.swap-flip input:indeterminate~.swap-on{backface-visibility:hidden;transform:rotateY(180deg)}.swap-flip input:is(:checked,:indeterminate)~.swap-on,.swap-flip.swap-active .swap-on{transform:rotateY(0)}.swap-flip input:is(:checked,:indeterminate)~.swap-off,.swap-flip.swap-active .swap-off{backface-visibility:hidden;opacity:1;transform:rotateY(-180deg)}.stats-horizontal{grid-auto-flow:column;overflow-x:auto}.stats-horizontal .stat:not(:last-child){border-inline-end:var(--border) dashed currentColor}@supports (color:color-mix(in lab, red, red)){.stats-horizontal .stat:not(:last-child){border-inline-end:var(--border) dashed color-mix(in oklab, currentColor 10%, #0000)}}.stats-horizontal .stat:not(:last-child){border-block-end:none}.stats-vertical{grid-auto-flow:row;overflow-y:auto}.stats-vertical .stat:not(:last-child){border-inline-end:none;border-block-end:var(--border) dashed currentColor}@supports (color:color-mix(in lab, red, red)){.stats-vertical .stat:not(:last-child){border-block-end:var(--border) dashed color-mix(in oklab, currentColor 10%, #0000)}}.menu-lg :where(li:not(.menu-title)>:not(ul,details,.menu-title)),.menu-lg :where(li:not(.menu-title)>details>summary:not(.menu-title)){border-radius:var(--radius-field);padding-block:.375rem;padding-inline:1rem;font-size:1.125rem}.menu-lg .menu-title{padding-block:.75rem;padding-inline:1.5rem}.menu-md :where(li:not(.menu-title)>:not(ul,details,.menu-title)),.menu-md :where(li:not(.menu-title)>details>summary:not(.menu-title)){border-radius:var(--radius-field);padding-block:.375rem;padding-inline:.75rem;font-size:.875rem}.menu-md .menu-title{padding-block:.5rem;padding-inline:.75rem}.menu-sm :where(li:not(.menu-title)>:not(ul,details,.menu-title)),.menu-sm :where(li:not(.menu-title)>details>summary:not(.menu-title)){border-radius:var(--radius-field);padding-block:.25rem;padding-inline:.625rem;font-size:.75rem}.menu-sm .menu-title{padding-block:.5rem;padding-inline:.75rem}.menu-xs :where(li:not(.menu-title)>:not(ul,details,.menu-title)),.menu-xs :where(li:not(.menu-title)>details>summary:not(.menu-title)){border-radius:var(--radius-field);padding-block:.25rem;padding-inline:.5rem;font-size:.6875rem}.menu-xs .menu-title{padding-block:.25rem;padding-inline:.5rem}.badge-dash{color:var(--badge-color);--badge-bg:#0000;background-image:none;border-style:dashed;border-color:currentColor}.badge-ghost{border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content);background-image:none}.select-ghost{box-shadow:none;background-color:#0000;border-color:#0000;transition:background-color .2s}.select-ghost:focus,.select-ghost:focus-within{background-color:var(--color-base-100);color:var(--color-base-content);box-shadow:none;border-color:#0000}.input-ghost{box-shadow:none;background-color:#0000;border-color:#0000}.input-ghost:focus,.input-ghost:focus-within{background-color:var(--color-base-100);color:var(--color-base-content);box-shadow:none;border-color:#0000}.badge-outline{color:var(--badge-color);--badge-bg:#0000;background-image:none;border-color:currentColor}.table-zebra tbody tr:where(:nth-child(2n)),.table-zebra tbody tr:where(:nth-child(2n)) :where(.table-pin-cols tr th){background-color:var(--color-base-200)}@media (hover:hover){:is(.table-zebra tbody tr.row-hover,.table-zebra tbody tr.row-hover:where(:nth-child(2n))):hover{background-color:var(--color-base-300)}}.loading-spinner{-webkit-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");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")}.mask-circle{-webkit-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");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")}.mask-heart{-webkit-mask-image:url("data:image/svg+xml,%3csvg width='200' height='185' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M100 184.606a15.384 15.384 0 0 1-8.653-2.678C53.565 156.28 37.205 138.695 28.182 127.7 8.952 104.264-.254 80.202.005 54.146.308 24.287 24.264 0 53.406 0c21.192 0 35.869 11.937 44.416 21.879a2.884 2.884 0 0 0 4.356 0C110.725 11.927 125.402 0 146.594 0c29.142 0 53.098 24.287 53.4 54.151.26 26.061-8.956 50.122-28.176 73.554-9.023 10.994-25.383 28.58-63.165 54.228a15.384 15.384 0 0 1-8.653 2.673Z' fill='black' fill-rule='nonzero'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg width='200' height='185' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M100 184.606a15.384 15.384 0 0 1-8.653-2.678C53.565 156.28 37.205 138.695 28.182 127.7 8.952 104.264-.254 80.202.005 54.146.308 24.287 24.264 0 53.406 0c21.192 0 35.869 11.937 44.416 21.879a2.884 2.884 0 0 0 4.356 0C110.725 11.927 125.402 0 146.594 0c29.142 0 53.098 24.287 53.4 54.151.26 26.061-8.956 50.122-28.176 73.554-9.023 10.994-25.383 28.58-63.165 54.228a15.384 15.384 0 0 1-8.653 2.673Z' fill='black' fill-rule='nonzero'/%3e%3c/svg%3e")}.mask-star{-webkit-mask-image:url("data:image/svg+xml,%3csvg width='192' height='180' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m96 137.263-58.779 42.024 22.163-68.389L.894 68.481l72.476-.243L96 0l22.63 68.238 72.476.243-58.49 42.417 22.163 68.389z' fill-rule='evenodd'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg width='192' height='180' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m96 137.263-58.779 42.024 22.163-68.389L.894 68.481l72.476-.243L96 0l22.63 68.238 72.476.243-58.49 42.417 22.163 68.389z' fill-rule='evenodd'/%3e%3c/svg%3e")}.mask-star-2{-webkit-mask-image:url("data:image/svg+xml,%3csvg width='192' height='180' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m96 153.044-58.779 26.243 7.02-63.513L.894 68.481l63.117-13.01L96 0l31.989 55.472 63.117 13.01-43.347 47.292 7.02 63.513z' fill-rule='evenodd'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg width='192' height='180' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m96 153.044-58.779 26.243 7.02-63.513L.894 68.481l63.117-13.01L96 0l31.989 55.472 63.117 13.01-43.347 47.292 7.02 63.513z' fill-rule='evenodd'/%3e%3c/svg%3e")}.checkbox-lg{--size:calc(var(--size-selector,.25rem) * 7);padding:.3125rem}.checkbox-md{--size:calc(var(--size-selector,.25rem) * 6);padding:.25rem}.checkbox-sm{--size:calc(var(--size-selector,.25rem) * 5);padding:.1875rem}.checkbox-xs{--size:calc(var(--size-selector,.25rem) * 4);padding:.125rem}.radio-lg{padding:.3125rem}.radio-lg[type=radio]{--size:calc(var(--size-selector,.25rem) * 7)}.radio-md{padding:.25rem}.radio-md[type=radio]{--size:calc(var(--size-selector,.25rem) * 6)}.radio-sm{padding:.1875rem}.radio-sm[type=radio]{--size:calc(var(--size-selector,.25rem) * 5)}.radio-xs{padding:.125rem}.radio-xs[type=radio]{--size:calc(var(--size-selector,.25rem) * 4)}.select-lg{--size:calc(var(--size-field,.25rem) * 12);font-size:1.125rem}.select-lg option{padding-block:.375rem;padding-inline:1rem}.select-md{--size:calc(var(--size-field,.25rem) * 10);font-size:.875rem}.select-md option{padding-block:.375rem;padding-inline:.75rem}.select-sm{--size:calc(var(--size-field,.25rem) * 8);font-size:.75rem}.select-sm option{padding-block:.25rem;padding-inline:.625rem}.select-xs{--size:calc(var(--size-field,.25rem) * 6);font-size:.6875rem}.select-xs option{padding-block:.25rem;padding-inline:.5rem}.table-lg :not(thead,tfoot) tr{font-size:1.125rem}.table-lg :where(th,td){padding-block:1rem;padding-inline:1.25rem}.table-md :not(thead,tfoot) tr{font-size:.875rem}.table-md :where(th,td){padding-block:.75rem;padding-inline:1rem}.table-sm :not(thead,tfoot) tr{font-size:.75rem}.table-sm :where(th,td){padding-block:.5rem;padding-inline:.75rem}.table-xl :not(thead,tfoot) tr{font-size:1.375rem}.table-xl :where(th,td){padding-block:1.25rem;padding-inline:1.5rem}.table-xs :not(thead,tfoot) tr{font-size:.6875rem}.table-xs :where(th,td){padding-block:.25rem;padding-inline:.5rem}.tabs-lg{--tab-height:calc(var(--size-field,.25rem) * 12)}.tabs-lg>.tab{--tab-p:1rem;--tab-radius-min:calc(1.5rem - var(--border));font-size:1.125rem}.tabs-md{--tab-height:calc(var(--size-field,.25rem) * 10)}.tabs-md>.tab{--tab-p:.75rem;--tab-radius-min:calc(.75rem - var(--border));font-size:.875rem}.tabs-sm{--tab-height:calc(var(--size-field,.25rem) * 8)}.tabs-sm>.tab{--tab-p:.5rem;--tab-radius-min:calc(.5rem - var(--border));font-size:.875rem}.tabs-xs{--tab-height:calc(var(--size-field,.25rem) * 6)}.tabs-xs>.tab{--tab-p:.375rem;--tab-radius-min:calc(.5rem - var(--border));font-size:.75rem}.badge-lg{--size:calc(var(--size-selector,.25rem) * 7);font-size:1rem}.badge-md{--size:calc(var(--size-selector,.25rem) * 6);font-size:.875rem}.badge-sm{--size:calc(var(--size-selector,.25rem) * 5);font-size:.75rem}.badge-xs{--size:calc(var(--size-selector,.25rem) * 4);font-size:.625rem}.alert-error{color:var(--color-error-content);--alert-border-color:var(--color-error);--alert-color:var(--color-error)}.alert-info{color:var(--color-info-content);--alert-border-color:var(--color-info);--alert-color:var(--color-info)}.alert-success{color:var(--color-success-content);--alert-border-color:var(--color-success);--alert-color:var(--color-success)}.alert-warning{color:var(--color-warning-content);--alert-border-color:var(--color-warning);--alert-color:var(--color-warning)}.checkbox-accent{color:var(--color-accent-content);--input-color:var(--color-accent)}.checkbox-error{color:var(--color-error-content);--input-color:var(--color-error)}.checkbox-info{color:var(--color-info-content);--input-color:var(--color-info)}.checkbox-primary{color:var(--color-primary-content);--input-color:var(--color-primary)}.checkbox-secondary{color:var(--color-secondary-content);--input-color:var(--color-secondary)}.checkbox-success{color:var(--color-success-content);--input-color:var(--color-success)}.checkbox-warning{color:var(--color-warning-content);--input-color:var(--color-warning)}.range-accent{color:var(--color-accent);--range-thumb:var(--color-accent-content)}.range-error{color:var(--color-error);--range-thumb:var(--color-error-content)}.range-info{color:var(--color-info);--range-thumb:var(--color-info-content)}.range-primary{color:var(--color-primary);--range-thumb:var(--color-primary-content)}.range-secondary{color:var(--color-secondary);--range-thumb:var(--color-secondary-content)}.range-success{color:var(--color-success);--range-thumb:var(--color-success-content)}.range-warning{color:var(--color-warning);--range-thumb:var(--color-warning-content)}.tooltip-accent{--tt-bg:var(--color-accent)}.tooltip-accent>.tooltip-content,.tooltip-accent[data-tip]:before{color:var(--color-accent-content)}.tooltip-error{--tt-bg:var(--color-error)}.tooltip-error>.tooltip-content,.tooltip-error[data-tip]:before{color:var(--color-error-content)}.tooltip-info{--tt-bg:var(--color-info)}.tooltip-info>.tooltip-content,.tooltip-info[data-tip]:before{color:var(--color-info-content)}.tooltip-primary{--tt-bg:var(--color-primary)}.tooltip-primary>.tooltip-content,.tooltip-primary[data-tip]:before{color:var(--color-primary-content)}.tooltip-secondary{--tt-bg:var(--color-secondary)}.tooltip-secondary>.tooltip-content,.tooltip-secondary[data-tip]:before{color:var(--color-secondary-content)}.tooltip-success{--tt-bg:var(--color-success)}.tooltip-success>.tooltip-content,.tooltip-success[data-tip]:before{color:var(--color-success-content)}.tooltip-warning{--tt-bg:var(--color-warning)}.tooltip-warning>.tooltip-content,.tooltip-warning[data-tip]:before{color:var(--color-warning-content)}.swap-active .swap-off{opacity:0}.swap-active .swap-on{opacity:1}.indicator-end{--indicator-s:auto;--indicator-e:0;--indicator-x:50%}[dir=rtl] .indicator-end,.indicator-start{--indicator-s:0;--indicator-e:auto;--indicator-x:-50%}[dir=rtl] .indicator-start{--indicator-s:auto;--indicator-e:0;--indicator-x:50%}.btn-lg{--fontsize:1.125rem;--btn-p:1.25rem;--size:calc(var(--size-field,.25rem) * 12)}.btn-md{--fontsize:.875rem;--btn-p:1rem;--size:calc(var(--size-field,.25rem) * 10)}.btn-sm{--fontsize:.75rem;--btn-p:.75rem;--size:calc(var(--size-field,.25rem) * 8)}.btn-xl{--fontsize:1.375rem;--btn-p:1.5rem;--size:calc(var(--size-field,.25rem) * 14)}.btn-xs{--fontsize:.6875rem;--btn-p:.5rem;--size:calc(var(--size-field,.25rem) * 6)}.indicator-bottom{--indicator-t:auto;--indicator-b:0;--indicator-y:50%}.indicator-top{--indicator-t:0;--indicator-b:auto;--indicator-y:-50%}.badge-accent{--badge-color:var(--color-accent);--badge-fg:var(--color-accent-content)}.badge-error{--badge-color:var(--color-error);--badge-fg:var(--color-error-content)}.badge-info{--badge-color:var(--color-info);--badge-fg:var(--color-info-content)}.badge-primary{--badge-color:var(--color-primary);--badge-fg:var(--color-primary-content)}.badge-secondary{--badge-color:var(--color-secondary);--badge-fg:var(--color-secondary-content)}.badge-success{--badge-color:var(--color-success);--badge-fg:var(--color-success-content)}.badge-warning{--badge-color:var(--color-warning);--badge-fg:var(--color-warning-content)}.input-accent,.input-accent:focus,.input-accent:focus-within{--input-color:var(--color-accent)}.input-error,.input-error:focus,.input-error:focus-within{--input-color:var(--color-error)}.input-info,.input-info:focus,.input-info:focus-within{--input-color:var(--color-info)}.input-primary,.input-primary:focus,.input-primary:focus-within{--input-color:var(--color-primary)}.input-secondary,.input-secondary:focus,.input-secondary:focus-within{--input-color:var(--color-secondary)}.input-success,.input-success:focus,.input-success:focus-within{--input-color:var(--color-success)}.input-warning,.input-warning:focus,.input-warning:focus-within{--input-color:var(--color-warning)}.radio-accent{--input-color:var(--color-accent)}.radio-error{--input-color:var(--color-error)}.radio-info{--input-color:var(--color-info)}.radio-primary{--input-color:var(--color-primary)}.radio-secondary{--input-color:var(--color-secondary)}.radio-success{--input-color:var(--color-success)}.radio-warning{--input-color:var(--color-warning)}.range-lg{--range-thumb-size:calc(var(--size-selector,.25rem) * 7)}.range-md{--range-thumb-size:calc(var(--size-selector,.25rem) * 6)}.range-sm{--range-thumb-size:calc(var(--size-selector,.25rem) * 5)}.range-xs{--range-thumb-size:calc(var(--size-selector,.25rem) * 4)}.select-accent,.select-accent:focus,.select-accent:focus-within{--input-color:var(--color-accent)}.select-error,.select-error:focus,.select-error:focus-within{--input-color:var(--color-error)}.select-info,.select-info:focus,.select-info:focus-within{--input-color:var(--color-info)}.select-primary,.select-primary:focus,.select-primary:focus-within{--input-color:var(--color-primary)}.select-secondary,.select-secondary:focus,.select-secondary:focus-within{--input-color:var(--color-secondary)}.select-success,.select-success:focus,.select-success:focus-within{--input-color:var(--color-success)}.select-warning,.select-warning:focus,.select-warning:focus-within{--input-color:var(--color-warning)}.toggle-accent:checked,.toggle-accent[aria-checked=true]{--input-color:var(--color-accent)}.toggle-error:checked,.toggle-error[aria-checked=true]{--input-color:var(--color-error)}.toggle-info:checked,.toggle-info[aria-checked=true]{--input-color:var(--color-info)}.toggle-lg[type=checkbox],.toggle-lg:has([type=checkbox]){--size:calc(var(--size-selector,.25rem) * 7)}.toggle-md[type=checkbox],.toggle-md:has([type=checkbox]){--size:calc(var(--size-selector,.25rem) * 6)}.toggle-primary:checked,.toggle-primary[aria-checked=true]{--input-color:var(--color-primary)}.toggle-secondary:checked,.toggle-secondary[aria-checked=true]{--input-color:var(--color-secondary)}.toggle-sm[type=checkbox],.toggle-sm:has([type=checkbox]){--size:calc(var(--size-selector,.25rem) * 5)}.toggle-success:checked,.toggle-success[aria-checked=true]{--input-color:var(--color-success)}.toggle-warning:checked,.toggle-warning[aria-checked=true]{--input-color:var(--color-warning)}.toggle-xs[type=checkbox],.toggle-xs:has([type=checkbox]){--size:calc(var(--size-selector,.25rem) * 4)}}.prose :where(a.btn:not(.btn-link)):not(:where([class~=not-prose],[class~=not-prose] *)){text-decoration-line:none}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse:not(td,tr,colgroup){visibility:revert-layer}.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing) * 0)}.inset-y-0{inset-block:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.-top-1{top:calc(var(--spacing) * -1)}.top-0{top:calc(var(--spacing) * 0)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-4{top:calc(var(--spacing) * 4)}.top-6{top:calc(var(--spacing) * 6)}.top-10{top:calc(var(--spacing) * 10)}.-right-2{right:calc(var(--spacing) * -2)}.right-0{right:calc(var(--spacing) * 0)}.right-1\/4{right:25%}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.right-6{right:calc(var(--spacing) * 6)}.-bottom-5{bottom:calc(var(--spacing) * -5)}.bottom-6{bottom:calc(var(--spacing) * 6)}.bottom-10{bottom:calc(var(--spacing) * 10)}.left-0{left:calc(var(--spacing) * 0)}.left-1\/2{left:50%}.left-1\/4{left:25%}.left-2{left:calc(var(--spacing) * 2)}.left-3{left:calc(var(--spacing) * 3)}.left-4{left:calc(var(--spacing) * 4)}.left-6{left:calc(var(--spacing) * 6)}.-z-0{z-index:calc(0 * -1)}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[1\]{z-index:1}.z-\[50\]{z-index:50}.z-\[90\]{z-index:90}.z-\[100\]{z-index:100}.z-\[110\]{z-index:110}.z-\[9999\]{z-index:9999}.col-start-1{grid-column-start:1}.col-start-2{grid-column-start:2}.col-start-3{grid-column-start:3}.row-start-2{grid-row-start:2}.row-start-3{grid-row-start:3}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-1{margin:calc(var(--spacing) * 1)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing) * 1)}.my-4{margin-block:calc(var(--spacing) * 4)}.my-6{margin-block:calc(var(--spacing) * 6)}.my-16{margin-block:calc(var(--spacing) * 16)}.-mt-10{margin-top:calc(var(--spacing) * -10)}.mt-0{margin-top:calc(var(--spacing) * 0)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mr-1{margin-right:calc(var(--spacing) * 1)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-6{margin-left:calc(var(--spacing) * 6)}.icon-\[lucide--alert-circle\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 8v4m0 4h.01'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--alert-triangle\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m21.73 18l-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3M12 9v4m0 4h.01'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--calendar\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M8 2v4m8-4v4'/%3E%3Crect width='18' height='18' x='3' y='4' rx='2'/%3E%3Cpath d='M3 10h18'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--check-circle\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M21.801 10A10 10 0 1 1 17 3.335'/%3E%3Cpath d='m9 11l3 3L22 4'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--check\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M20 6L9 17l-5-5'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--chevron-left\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m15 18l-6-6l6-6'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--chevron-right\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m9 18l6-6l-6-6'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--chevrons-left\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m11 17l-5-5l5-5m7 10l-5-5l5-5'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--chevrons-right\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m6 17l5-5l-5-5m7 10l5-5l-5-5'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--eye-off\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575a1 1 0 0 1 0 .696a10.8 10.8 0 0 1-1.444 2.49m-6.41-.679a3 3 0 0 1-4.242-4.242'/%3E%3Cpath d='M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151a1 1 0 0 1 0-.696a10.75 10.75 0 0 1 4.446-5.143M2 2l20 20'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--eye\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M2.062 12.348a1 1 0 0 1 0-.696a10.75 10.75 0 0 1 19.876 0a1 1 0 0 1 0 .696a10.75 10.75 0 0 1-19.876 0'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--hash\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 9h16M4 15h16M10 3L8 21m8-18l-2 18'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--heart\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 9.5a5.5 5.5 0 0 1 9.591-3.676a.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--info\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-4m0-4h.01'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--link\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71'/%3E%3Cpath d='M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--lock\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Crect width='18' height='11' x='3' y='11' rx='2' ry='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--mail\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='m22 7l-8.991 5.727a2 2 0 0 1-2.009 0L2 7'/%3E%3Crect width='20' height='16' x='2' y='4' rx='2'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--phone\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233a14 14 0 0 0 6.392 6.384'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--search-x\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='m13.5 8.5l-5 5m0-5l5 5'/%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21l-4.3-4.3'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--search\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='m21 21l-4.34-4.34'/%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--text\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M15 18H3M17 6H3m18 6H3'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--upload\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 3v12m5-7l-5-5l-5 5m14 7v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--x\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M18 6L6 18M6 6l12 12'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.kbd{box-shadow:none}.text-rotate{height:1lh}.alert{border-width:var(--border);border-color:var(--alert-border-color,var(--color-base-200))}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.table{display:table}.aspect-square{aspect-ratio:1}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-8{height:calc(var(--spacing) * 8)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-16{height:calc(var(--spacing) * 16)}.h-20{height:calc(var(--spacing) * 20)}.h-24{height:calc(var(--spacing) * 24)}.h-32{height:calc(var(--spacing) * 32)}.h-48{height:calc(var(--spacing) * 48)}.h-96{height:calc(var(--spacing) * 96)}.h-\[300px\]{height:300px}.h-\[400px\]{height:400px}.h-\[500px\]{height:500px}.h-auto{height:auto}.h-full{height:100%}.max-h-60{max-height:calc(var(--spacing) * 60)}.max-h-96{max-height:calc(var(--spacing) * 96)}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-\[300px\]{min-height:300px}.min-h-\[400px\]{min-height:400px}.min-h-\[500px\]{min-height:500px}.min-h-full{min-height:100%}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-8{width:calc(var(--spacing) * 8)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-16{width:calc(var(--spacing) * 16)}.w-24{width:calc(var(--spacing) * 24)}.w-32{width:calc(var(--spacing) * 32)}.w-40{width:calc(var(--spacing) * 40)}.w-48{width:calc(var(--spacing) * 48)}.w-52{width:calc(var(--spacing) * 52)}.w-56{width:calc(var(--spacing) * 56)}.w-64{width:calc(var(--spacing) * 64)}.w-80{width:calc(var(--spacing) * 80)}.w-96{width:calc(var(--spacing) * 96)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-3xl{max-width:var(--container-3xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-\[200px\]{max-width:200px}.max-w-md{max-width:var(--container-md)}.max-w-xs{max-width:var(--container-xs)}.min-w-\[4rem\]{min-width:4rem}.min-w-\[48px\]{min-width:48px}.min-w-\[500px\]{min-width:500px}.min-w-\[600px\]{min-width:600px}.flex-1{flex:1}.flex-none{flex:none}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-2{--tw-translate-x:calc(var(--spacing) * 2);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-4{--tw-translate-x:calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-10{--tw-translate-x:calc(var(--spacing) * 10);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-full{--tw-translate-x:100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-2{--tw-translate-y:calc(var(--spacing) * 2);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-4{--tw-translate-y:calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-105{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-110{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.cursor-help{cursor:help}.cursor-pointer{cursor:pointer}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.justify-items-center{justify-items:center}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-box{border-radius:var(--radius-box);border-radius:var(--radius-box)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-none{border-radius:0}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}@layer daisyui.l1{.alert-dash{color:var(--alert-color);box-shadow:none;background-color:#0000;background-image:none;border-style:dashed}.btn-dash:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-shadow:"";--btn-bg:#0000;--btn-fg:var(--btn-color);--btn-border:var(--btn-color);--btn-noise:none}@media (hover:none){.btn-dash:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-shadow:"";--btn-bg:#0000;--btn-fg:var(--btn-color);--btn-border:var(--btn-color);--btn-noise:none}}.alert-soft{color:var(--alert-color,var(--color-base-content));background:var(--alert-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.alert-soft{background:color-mix(in oklab, var(--alert-color,var(--color-base-content)) 8%, var(--color-base-100))}}.alert-soft{--alert-border-color:var(--alert-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.alert-soft{--alert-border-color:color-mix(in oklab, var(--alert-color,var(--color-base-content)) 10%, var(--color-base-100))}}.alert-soft{box-shadow:none;background-image:none}.btn-link{--btn-border:#0000;--btn-bg:#0000;--btn-noise:none;--btn-shadow:"";outline-color:currentColor;text-decoration-line:underline}.btn-link:not(.btn-disabled,.btn:disabled,.btn[disabled]){--btn-fg:var(--btn-color,var(--color-primary))}.btn-link:is(.btn-active,:hover,:active:focus,:focus-visible){--btn-border:#0000;--btn-bg:#0000}.btn-ghost:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn)){--btn-shadow:"";--btn-bg:#0000;--btn-border:#0000;--btn-noise:none}.btn-ghost:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn)):not(:disabled,[disabled],.btn-disabled){--btn-fg:var(--btn-color,currentColor);outline-color:currentColor}@media (hover:none){.btn-ghost:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-shadow:"";--btn-bg:#0000;--btn-fg:var(--btn-color,currentColor);--btn-border:#0000;--btn-noise:none;outline-color:currentColor}}.btn-outline:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-shadow:"";--btn-bg:#0000;--btn-fg:var(--btn-color);--btn-border:var(--btn-color);--btn-noise:none}@media (hover:none){.btn-outline:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-shadow:"";--btn-bg:#0000;--btn-fg:var(--btn-color);--btn-border:var(--btn-color);--btn-noise:none}}.btn-soft:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-shadow:"";--btn-fg:var(--btn-color,var(--color-base-content));--btn-bg:var(--btn-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.btn-soft:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-bg:color-mix(in oklab, var(--btn-color,var(--color-base-content)) 8%, var(--color-base-100))}}.btn-soft:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-border:var(--btn-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.btn-soft:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-border:color-mix(in oklab, var(--btn-color,var(--color-base-content)) 10%, var(--color-base-100))}}.btn-soft:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-noise:none}@media (hover:none){.btn-soft:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-shadow:"";--btn-fg:var(--btn-color,var(--color-base-content));--btn-bg:var(--btn-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.btn-soft:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-bg:color-mix(in oklab, var(--btn-color,var(--color-base-content)) 8%, var(--color-base-100))}}.btn-soft:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-border:var(--btn-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.btn-soft:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-border:color-mix(in oklab, var(--btn-color,var(--color-base-content)) 10%, var(--color-base-100))}}.btn-soft:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-noise:none}}}.btn-dash{border-style:dashed}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-base-200\/30{border-color:var(--color-base-200)}@supports (color:color-mix(in lab, red, red)){.border-base-200\/30{border-color:color-mix(in oklab, var(--color-base-200) 30%, transparent)}}.border-base-300{border-color:var(--color-base-300)}.border-base-content\/20{border-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.border-base-content\/20{border-color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.border-black\/5{border-color:#0000000d}@supports (color:color-mix(in lab, red, red)){.border-black\/5{border-color:color-mix(in oklab, var(--color-black) 5%, transparent)}}.border-black\/10{border-color:#0000001a}@supports (color:color-mix(in lab, red, red)){.border-black\/10{border-color:color-mix(in oklab, var(--color-black) 10%, transparent)}}.border-primary{border-color:var(--color-primary)}.border-transparent{border-color:#0000}.bg-accent{background-color:var(--color-accent)}.bg-base-100{background-color:var(--color-base-100)}.bg-base-200,.bg-base-200\/30{background-color:var(--color-base-200)}@supports (color:color-mix(in lab, red, red)){.bg-base-200\/30{background-color:color-mix(in oklab, var(--color-base-200) 30%, transparent)}}.bg-base-200\/50{background-color:var(--color-base-200)}@supports (color:color-mix(in lab, red, red)){.bg-base-200\/50{background-color:color-mix(in oklab, var(--color-base-200) 50%, transparent)}}.bg-base-300{background-color:var(--color-base-300)}.bg-black\/20{background-color:#0003}@supports (color:color-mix(in lab, red, red)){.bg-black\/20{background-color:color-mix(in oklab, var(--color-black) 20%, transparent)}}.bg-error,.bg-error\/10{background-color:var(--color-error)}@supports (color:color-mix(in lab, red, red)){.bg-error\/10{background-color:color-mix(in oklab, var(--color-error) 10%, transparent)}}.bg-info{background-color:var(--color-info)}.bg-neutral{background-color:var(--color-neutral)}.bg-primary,.bg-primary\/5{background-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/5{background-color:color-mix(in oklab, var(--color-primary) 5%, transparent)}}.bg-primary\/10{background-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/10{background-color:color-mix(in oklab, var(--color-primary) 10%, transparent)}}.bg-primary\/20{background-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/20{background-color:color-mix(in oklab, var(--color-primary) 20%, transparent)}}.bg-secondary{background-color:var(--color-secondary)}.bg-success,.bg-success\/10{background-color:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.bg-success\/10{background-color:color-mix(in oklab, var(--color-success) 10%, transparent)}}.bg-warning,.bg-warning\/10{background-color:var(--color-warning)}@supports (color:color-mix(in lab, red, red)){.bg-warning\/10{background-color:color-mix(in oklab, var(--color-warning) 10%, transparent)}}.bg-white\/20{background-color:#fff3}@supports (color:color-mix(in lab, red, red)){.bg-white\/20{background-color:color-mix(in oklab, var(--color-white) 20%, transparent)}}.bg-linear-to-r{--tw-gradient-position:to right}@supports (background-image:linear-gradient(in lab, red, red)){.bg-linear-to-r{--tw-gradient-position:to right in oklab}}.bg-linear-to-r{background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-accent{--tw-gradient-from:var(--color-accent);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-primary{--tw-gradient-from:var(--color-primary);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-secondary{--tw-gradient-from:var(--color-secondary);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.via-accent{--tw-gradient-via:var(--color-accent);--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-accent{--tw-gradient-to:var(--color-accent);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-primary{--tw-gradient-to:var(--color-primary);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-secondary{--tw-gradient-to:var(--color-secondary);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.mask-circle{--tw-mask-radial-shape:circle}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.p-0{padding:calc(var(--spacing) * 0)}.p-1{padding:calc(var(--spacing) * 1)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.p-10{padding:calc(var(--spacing) * 10)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-10{padding-inline:calc(var(--spacing) * 10)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-16{padding-block:calc(var(--spacing) * 16)}.py-20{padding-block:calc(var(--spacing) * 20)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pr-10{padding-right:calc(var(--spacing) * 10)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-10{padding-left:calc(var(--spacing) * 10)}.\!text-center{text-align:center!important}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.text-7xl{font-size:var(--text-7xl);line-height:var(--tw-leading,var(--text-7xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-tighter{--tw-tracking:var(--tracking-tighter);letter-spacing:var(--tracking-tighter)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-balance{text-wrap:balance}.whitespace-nowrap{white-space:nowrap}.text-accent{color:var(--color-accent)}.text-accent-content{color:var(--color-accent-content)}.text-base-content,.text-base-content\/60{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.text-base-content\/60{color:color-mix(in oklab, var(--color-base-content) 60%, transparent)}}.text-base-content\/90{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.text-base-content\/90{color:color-mix(in oklab, var(--color-base-content) 90%, transparent)}}.text-error{color:var(--color-error)}.text-error-content{color:var(--color-error-content)}.text-gray-500{color:var(--color-gray-500)}.text-info{color:var(--color-info)}.text-info-content{color:var(--color-info-content)}.text-neutral-content{color:var(--color-neutral-content)}.text-primary{color:var(--color-primary)}.text-primary-content{color:var(--color-primary-content)}.text-secondary{color:var(--color-secondary)}.text-secondary-content{color:var(--color-secondary-content)}.text-success{color:var(--color-success)}.text-success-content{color:var(--color-success-content)}.text-transparent{color:#0000}.text-warning{color:var(--color-warning)}.text-warning-content{color:var(--color-warning-content)}.text-white{color:var(--color-white)}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-secondary\/20{--tw-shadow-color:var(--color-secondary)}@supports (color:color-mix(in lab, red, red)){.shadow-secondary\/20{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-secondary) 20%, transparent) var(--tw-shadow-alpha), transparent)}}.ring-primary{--tw-ring-color:var(--color-primary)}.ring-offset-1{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.blur-3xl{--tw-blur:blur(var(--blur-3xl));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,)}.drop-shadow-2xl{--tw-drop-shadow-size:drop-shadow(0 25px 25px var(--tw-drop-shadow-color,#00000026));--tw-drop-shadow:drop-shadow(var(--drop-shadow-2xl));filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.ring-inset{--tw-ring-inset:inset}@media (hover:hover){.group-hover\:translate-x-1:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}}.before\:z-50:before,.after\:z-50:after{content:var(--tw-content);z-index:50}@media (hover:hover){.hover\:z-10:hover{z-index:10}.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\:scale-110:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\:scale-125:hover{--tw-scale-x:125%;--tw-scale-y:125%;--tw-scale-z:125%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\:border-accent\/40:hover{border-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.hover\:border-accent\/40:hover{border-color:color-mix(in oklab, var(--color-accent) 40%, transparent)}}.hover\:border-base-content\/20:hover{border-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.hover\:border-base-content\/20:hover{border-color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.hover\:border-primary\/40:hover{border-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.hover\:border-primary\/40:hover{border-color:color-mix(in oklab, var(--color-primary) 40%, transparent)}}.hover\:border-primary\/50:hover{border-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.hover\:border-primary\/50:hover{border-color:color-mix(in oklab, var(--color-primary) 50%, transparent)}}.hover\:border-secondary\/40:hover{border-color:var(--color-secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:border-secondary\/40:hover{border-color:color-mix(in oklab, var(--color-secondary) 40%, transparent)}}.hover\:bg-base-200:hover{background-color:var(--color-base-200)}.hover\:bg-base-300:hover{background-color:var(--color-base-300)}.hover\:bg-white\/30:hover{background-color:#ffffff4d}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/30:hover{background-color:color-mix(in oklab, var(--color-white) 30%, transparent)}}.hover\:text-base-content:hover{color:var(--color-base-content)}.hover\:opacity-70:hover{opacity:.7}.hover\:opacity-100:hover{opacity:1}}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}@media (min-width:48rem){.md\:h-64{height:calc(var(--spacing) * 64)}.md\:w-64{width:calc(var(--spacing) * 64)}.md\:w-auto{width:auto}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.md\:text-9xl{font-size:var(--text-9xl);line-height:var(--tw-leading,var(--text-9xl--line-height))}}@media (min-width:64rem){.lg\:col-span-2{grid-column:span 2/span 2}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@keyframes fade-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}.animate-fade-in{animation:.15s ease-out forwards fade-in}}:root{font-size:14px}.input,.label,.select,.textarea{transition:all .3s cubic-bezier(.4,0,.2,1)}:is(.input,.label,.select,.textarea):focus,:is(.input,.label,.select,.textarea):focus-within{box-shadow:0 0 4px;outline:none!important}:is(.input,.label,.select,.textarea):hover:not(:focus){background-color:oklch(from var(--color-base-100) calc(l - .03) c h)}.floating-label span{color:oklch(30% .01 260);font-size:1.1rem;transition:all .2s}.floating-label:focus-within span{color:oklch(25% .02 260);font-size:1.1rem}.floating-label:has(input:not(:placeholder-shown)) span{color:oklch(28% .01 260);font-size:1.1rem}.tab-content-inner{transform-origin:top;animation:.3s cubic-bezier(.4,0,.2,1) tabFadeIn}.input-content{z-index:100;background:#fff;width:100%;position:absolute;top:100%;left:0;box-shadow:0 4px 6px #0000001a}@keyframes tabFadeIn{0%{opacity:0;transform:scaleY(.95)}to{opacity:1;transform:scaleY(1)}}@keyframes rating{0%,40%{filter:brightness(1.05)contrast(1.05);scale:1.1}}@keyframes dropdown{0%{opacity:0}}@keyframes radio{0%{padding:5px}50%{padding:3px}}@keyframes toast{0%{opacity:0;scale:.9}to{opacity:1;scale:1}}@keyframes rotator{89.9999%,to{--first-item-position:0 0%}90%,99.9999%{--first-item-position:0 calc(var(--items) * 100%)}to{translate:0 -100%}}@keyframes skeleton{0%{background-position:150%}to{background-position:-50%}}@keyframes menu{0%{opacity:0}}@keyframes progress{50%{background-position-x:-115%}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes pulse{50%{opacity:.5}} \ No newline at end of file diff --git a/docs/sigpro-ui.min.js b/docs/sigpro-ui.min.js index 00bd4da..5dbc6e6 100644 --- a/docs/sigpro-ui.min.js +++ b/docs/sigpro-ui.min.js @@ -1 +1 @@ -(()=>{var{defineProperty:V,getOwnPropertyNames:fe,getOwnPropertyDescriptor:de}=Object,me=Object.prototype.hasOwnProperty;function he(t){return this[t]}var ge=(t)=>{var e=(Wt??=new WeakMap).get(t),a;if(e)return e;if(e=V({},"__esModule",{value:!0}),t&&typeof t==="object"||typeof t==="function"){for(var s of fe(t))if(!me.call(e,s))V(e,s,{get:he.bind(t,s),enumerable:!(a=de(t,s))||a.enumerable})}return Wt.set(t,e),e},Wt;var be=(t)=>t;function ve(t,e){this[t]=be.bind(null,e)}var d=(t,e)=>{for(var a in e)V(t,a,{get:e[a],enumerable:!0,configurable:!0,set:ve.bind(e,a)})};var _n={};d(_n,{Utils:()=>oe,Components:()=>ce});var tt={};d(tt,{Accordion:()=>_e});var D=(t)=>typeof t==="function",Q=(t)=>t&&typeof t==="object",z=Array.isArray,A=typeof document<"u"?document:null,Kt=(t)=>t?._isRuntime?t.container:t instanceof Node?t:A.createTextNode(t==null?"":String(t)),y=null,_=null,O=!1,q=0,W=new Set,Yt=new WeakMap,X=Symbol("iter"),G=new WeakMap,B=(t)=>{if(!t||t._disposed)return;t._disposed=!0;let e=[t];while(e.length){let a=e.pop();if(a._cleanups)a._cleanups.forEach((s)=>s()),a._cleanups.clear();if(a._children)a._children.forEach((s)=>e.push(s)),a._children.clear();if(a._deps)a._deps.forEach((s)=>s.delete(a)),a._deps.clear()}},F=(t)=>{if(_)(_._cleanups||=new Set).add(t)},ye=(t)=>{let e=y;y=null;try{return t()}finally{y=e}},P=(t,e=!1)=>{let a=()=>{if(a._disposed)return;if(a._deps)a._deps.forEach((r)=>r.delete(a));if(a._cleanups)a._cleanups.forEach((r)=>r()),a._cleanups.clear();let s=y,c=_;y=_=a;try{return a._result=t()}catch(r){console.error("[SigPro]",r)}finally{y=s,_=c}};if(a._deps=a._cleanups=a._children=null,a._disposed=!1,a._isComputed=e,a._depth=y?y._depth+1:0,a._mounts=[],a._parent=_,_)(_._children||=new Set).add(a);return a},Ut=()=>{if(O)return;O=!0;let t=Array.from(W).sort((e,a)=>e._depth-a._depth);W.clear();for(let e of t)if(!e._disposed)e();O=!1},xe=(t)=>{q++;try{return t()}finally{if(q--,q===0&&W.size>0&&!O)Ut()}},C=(t,e=!1)=>{if(!e&&y&&!y._disposed)t.add(y),(y._deps||=new Set).add(t);else if(e&&t.size>0){let a=!1;for(let s of t){if(s===y||s._disposed)continue;if(s._isComputed){if(s._dirty=!0,s._subs)C(s._subs,!0)}else W.add(s),a=!0}if(a&&!O&&q===0)queueMicrotask(Ut)}},g=(t,e=null)=>{let a=new Set;if(D(t)){let s,c=()=>{if(c._dirty){let r=y;y=c;try{let o=t();if(!Object.is(s,o))s=o,C(a,!0)}finally{y=r}c._dirty=!1}return C(a),s};if(c._isComputed=!0,c._subs=a,c._dirty=!0,c._deps=null,c._disposed=!1,c.stop=()=>{},_)F(c.stop);return c}if(e)try{t=JSON.parse(localStorage.getItem(e))??t}catch(s){}return(...s)=>{if(s.length){let c=D(s[0])?s[0](t):s[0];if(!Object.is(t,c)){if(t=c,e)localStorage.setItem(e,JSON.stringify(t));C(a,!0)}}return C(a),t}},Vt=(t)=>{if(!Q(t))return t;let e=Yt.get(t);if(e)return e;let a=new Map,s=(c)=>{let r=a.get(c);if(!r)a.set(c,r=new Set);return r};return e=new Proxy(t,{get(c,r,o){if(typeof r!=="symbol")C(s(r));return Vt(Reflect.get(c,r,o))},set(c,r,o,l){let i=!Reflect.has(c,r),u=Reflect.get(c,r,l),f=Reflect.set(c,r,o,l);if(f&&!Object.is(u,o)){if(C(s(r),!0),i)C(s(X),!0)}return f},deleteProperty(c,r){let o=Reflect.deleteProperty(c,r);if(o)C(s(r),!0),C(s(X),!0);return o},ownKeys(c){return C(s(X)),Reflect.ownKeys(c)}}),Yt.set(t,e),e},E=(t,e)=>{if(e===void 0){let s=P(t);return s(),()=>B(s)}let a=P(()=>{let s=Array.isArray(t)?t.map((c)=>c()):t();ye(()=>e(s))});return a(),()=>B(a)},Z=(t)=>{if(t._cleanups)t._cleanups.forEach((e)=>e()),t._cleanups.clear();if(t._ownerEffect)B(t._ownerEffect);if(t.childNodes)t.childNodes.forEach(Z)},we=/^\s*(javascript|data|vbscript):/i,$e=(t)=>t==="src"||t==="href"||t.startsWith("on"),Jt=(t,e)=>{if(e==null||e===!1)return null;if($e(t)){let a=String(e);if(we.test(a))return console.warn(`[SigPro] Bloqueado protocolo peligroso en ${t}`),"#"}return e},n=(t,e={},a=[])=>{if(e instanceof Node||z(e)||!Q(e))a=e,e={};if(D(t)){let o=P(()=>{let f=t(e,{children:a,emit:(h,...v)=>e[`on${h[0].toUpperCase()}${h.slice(1)}`]?.(...v)});return o._result=f,f});o();let l=o._result;if(l==null)return null;let i=l instanceof Node||z(l)&&l.every((f)=>f instanceof Node)?l:A.createTextNode(String(l)),u=(f)=>{if(Q(f)&&!f._isRuntime)f._mounts=o._mounts||[],f._cleanups=o._cleanups||new Set,f._ownerEffect=o};return z(i)?i.forEach(u):u(i),i}let s=/^(svg|path|circle|rect|line|poly(line|gon)|g|defs|text(path)?|tspan|use|symbol|image|marker|ellipse)$/i.test(t),c=s?A.createElementNS("http://www.w3.org/2000/svg",t):A.createElement(t);c._cleanups=new Set;for(let o in e){if(!e.hasOwnProperty(o))continue;let l=e[o];if(o==="ref"){D(l)?l(c):l.current=c;continue}if(s&&o.startsWith("xlink:")){l==null?c.removeAttributeNS("http://www.w3.org/1999/xlink",o.slice(6)):c.setAttributeNS("http://www.w3.org/1999/xlink",o.slice(6),l);continue}if(o.startsWith("on")){let i=o.slice(2).toLowerCase();c.addEventListener(i,l);let u=()=>c.removeEventListener(i,l);c._cleanups.add(u),F(u)}else if(D(l)){let i=P(()=>{let u=Jt(o,l());if(o==="class")c.className=u||"";else if(u==null)c.removeAttribute(o);else if(o in c&&!s)c[o]=u;else c.setAttribute(o,u===!0?"":u)});if(i(),c._cleanups.add(()=>B(i)),F(()=>B(i)),/^(INPUT|TEXTAREA|SELECT)$/.test(c.tagName)&&(o==="value"||o==="checked")){let u=o==="checked"?"change":"input";c.addEventListener(u,(f)=>l(f.target[o]))}}else{let i=Jt(o,l);if(i!=null)if(o in c&&!s)c[o]=i;else c.setAttribute(o,i===!0?"":i)}}let r=(o)=>{if(z(o))return o.forEach(r);if(D(o)){let l=A.createTextNode("");c.appendChild(l);let i=[],u=P(()=>{let f=o(),h=(z(f)?f:[f]).map(Kt);i.forEach((x)=>{if(x._isRuntime)x.destroy();else Z(x);if(x.parentNode)x.remove()});let v=l;for(let x=h.length-1;x>=0;x--){let m=h[x];if(m.parentNode!==v.parentNode)v.parentNode?.insertBefore(m,v);if(m._mounts)m._mounts.forEach((b)=>b());v=m}i=h});u(),c._cleanups.add(()=>B(u)),F(()=>B(u))}else{let l=Kt(o);if(c.appendChild(l),l._mounts)l._mounts.forEach((i)=>i())}};return r(a),c},p=(t)=>{let e=new Set,a=[],s=_,c=y,r=A.createElement("div");r.style.display="contents",r.setAttribute("role","presentation"),_={_cleanups:e,_mounts:a},y=null;let o=(l)=>{if(!l)return;if(l._isRuntime)e.add(l.destroy),r.appendChild(l.container);else if(z(l))l.forEach(o);else r.appendChild(l instanceof Node?l:A.createTextNode(String(l==null?"":l)))};try{o(t({onCleanup:(l)=>e.add(l)}))}finally{_=s,y=c}return a.forEach((l)=>l()),{_isRuntime:!0,container:r,destroy:()=>{e.forEach((l)=>l()),Z(r),r.remove()}}},N=(t,e,{enter:a,leave:s}={})=>{let c=n("div",{style:"display:contents"}),r=null,o=(l,i)=>{if(!l)return i();let u=!1,f=()=>!u&&(u=!0,i());l.addEventListener("transitionend",f,{once:!0}),l.addEventListener("animationend",f,{once:!0}),setTimeout(f,500)};return E(t,(l)=>{if(l&&!r){let i=(r=e(e)).container.firstChild;if(c.appendChild(r.container),a&&i)i.classList.add(a),i.clientTop,i.classList.add(a+"-active"),o(i,()=>i.classList.remove(a,a+"-active"))}else if(!l&&r){let i=r.container.firstChild,u=()=>(r.destroy(),r=null);if(s&&i)i.classList.add(s),o(i,u);else u()}}),F(()=>r?.destroy()),c},$=(t,e,a)=>{let s=A.createTextNode(""),c=n("div",{style:"display:contents"},[s]),r=new Map;return E(()=>(D(t)?t():t)||[],(o)=>{let l=new Map,i=[],u=o||[];for(let h=0;he(v,h));else r.delete(x);l.set(x,m),i.push(m)}r.forEach((h)=>h.destroy());let f=s;for(let h=i.length-1;h>=0;h--){let v=i[h].container;if(v.nextSibling!==f)c.insertBefore(v,f);f=v}r=l}),c},H=(t)=>{let e=()=>window.location.hash.slice(1)||"/",a=g(e()),s=()=>a(e());window.addEventListener("hashchange",s),F(()=>window.removeEventListener("hashchange",s));let c=n("div",{class:"router-hook"}),r=null;return E([a],()=>{let o=a(),l=t.find((i)=>{let u=i.path.split("/").filter(Boolean),f=o.split("/").filter(Boolean);return u.length===f.length&&u.every((h,v)=>h[0]===":"||h===f[v])})||t.find((i)=>i.path==="*");if(l){r?.destroy();let i={};l.path.split("/").filter(Boolean).forEach((u,f)=>{if(u[0]===":")i[u.slice(1)]=o.split("/").filter(Boolean)[f]}),H.params(i),r=p(()=>D(l.component)?l.component(i):l.component),c.replaceChildren(r.container)}}),c};H.params=g({});H.to=(t)=>window.location.hash=t.replace(/^#?\/?/,"#/");H.back=()=>window.history.back();H.path=()=>window.location.hash.replace(/^#/,"")||"/";var M=(t,e)=>{let a=typeof e==="string"?A.querySelector(e):e;if(!a)return;if(G.has(a))G.get(a).destroy();let s=p(D(t)?t:()=>t);return a.replaceChildren(s.container),G.set(a,s),s},ke=Object.freeze({$:g,$$:Vt,watch:E,h:n,when:N,each:$,router:H,mount:M,batch:xe});if(typeof window<"u")Object.assign(window,ke),"a abbr article aside audio b blockquote br button canvas caption cite code col colgroup datalist dd del details dfn dialog div dl dt em embed fieldset figcaption figure footer form h1 h2 h3 h4 h5 h6 header hr i iframe img input ins kbd label legend li main mark meter nav object ol optgroup option output p picture pre progress section select slot small source span strong sub summary sup svg table tbody td template textarea tfoot th thead time tr u ul video".split(" ").forEach((t)=>{window[t]=(e,a)=>n(t,e,a)});var _e=(t)=>{let e=t.name||`accordion-${Math.random().toString(36).slice(2,9)}`;if(t.items&&Array.isArray(t.items))return n("div",{class:`space-y-2 ${t.class??""}`},t.items.map((a)=>n("div",{class:`collapse ${a.class??""}`},[n("input",{type:"radio",name:e,checked:a.open}),n("div",{class:"collapse-title text-xl font-medium"},a.title),n("div",{class:"collapse-content"},a.children)])));return n("div",{class:`collapse ${t.class??""}`},[n("input",{type:"radio",name:e,checked:t.open}),n("div",{class:"collapse-title text-xl font-medium"},t.title),n("div",{class:"collapse-content"},t.children)])};var et={};d(et,{Alert:()=>Se});var Se=(t,e)=>{return e===void 0&&(e=t,t={}),n("div",{...t,class:`alert ${t.class??""}`},e)};var nt={};d(nt,{Autocomplete:()=>Ce});var Ce=(t)=>{let e=g(""),a=g(!1),s=g(-1),c=g([]);E(()=>{return(typeof t.value==="function"?t.value():t.value)||""},(l)=>setTimeout(()=>e(l),0)),E(()=>{let l=String(e()).toLowerCase(),i=typeof t.items==="function"?t.items():t.items,u=l?i.filter((f)=>(typeof f==="string"?f:f.label).toLowerCase().includes(l)):i;c(u)});let r=(l)=>{let i=typeof l==="string"?l:l.label,u=typeof l==="string"?l:l.value;if(e(i),typeof t.value==="function")t.value(u);t.onselect?.(l),a(!1),s(-1)},o=(l)=>{let i=c();if(l.key==="ArrowDown")l.preventDefault(),a(!0),s(Math.min(s()+1,i.length-1));else if(l.key==="ArrowUp")l.preventDefault(),s(Math.max(s()-1,0));else if(l.key==="Enter"&&s()>=0)l.preventDefault(),r(i[s()]);else if(l.key==="Escape")a(!1)};return n("div",{class:`relative w-full ${t.class??""}`},[n("label",{class:"input input-bordered w-full"},[n("span",{class:"icon-[lucide--search]"}),n("input",{...t,type:"text",class:"grow",placeholder:t.placeholder||"Buscar...",value:e,onfocus:()=>a(!0),onblur:()=>setTimeout(()=>a(!1),150),onkeydown:o,oninput:(l)=>{let i=l.target.value;if(e(i),typeof t.value==="function")t.value(i);a(!0),s(-1)}})]),n("ul",{class:"absolute left-0 w-full menu bg-base-100 rounded-box mt-1 p-2 shadow-xl max-h-60 overflow-y-auto border border-base-300 z-50",style:()=>`display: ${a()&&c().length?"block":"none"};`},[$(c,(l,i)=>n("li",{},[n("a",{class:()=>`block w-full ${s()===i?"active bg-primary text-primary-content":""}`,onclick:()=>r(l),onmouseenter:()=>s(i)},typeof l==="string"?l:l.label)]),(l,i)=>(typeof l==="string"?l:l.value)+i),()=>c().length===0?n("li",{class:"flex justify-center p-4 opacity-50"},n("span",{class:"icon-[lucide--search-x] text-2xl"})):null])])};var at={};d(at,{Badge:()=>Ee});var Ee=(t,e)=>{return e===void 0&&(e=t,t={}),n("span",{...t,class:`badge ${t.class??""}`},e)};var st={};d(st,{Button:()=>Te});var Te=(t,e)=>{return e===void 0&&(e=t,t={}),n("button",{...t,class:`btn ${t.class??""}`},e)};var ct={};d(ct,{Calendar:()=>lt});var lt=(t)=>{let e=g(new Date),a=g(null),s=g(0),c=g(0),r=()=>{return(typeof t.range==="function"?t.range():t.range)===!0},o=new Date,l=`${o.getFullYear()}-${String(o.getMonth()+1).padStart(2,"0")}-${String(o.getDate()).padStart(2,"0")}`,i=(m)=>{let b=m.getFullYear(),w=String(m.getMonth()+1).padStart(2,"0"),k=String(m.getDate()).padStart(2,"0");return`${b}-${w}-${k}`},u=()=>{return typeof t.value==="function"?t.value():t.value},f=(m)=>{let b=i(m),w=u();if(r())if(!w?.start||w.start&&w.end){let k={start:b,end:null,...t.hour&&{startHour:s()}};t.onChange?.(k)}else{let k=w.start,L;if(b{let b=e();e(new Date(b.getFullYear(),b.getMonth()+m,1))},v=(m)=>{let b=e();e(new Date(b.getFullYear()+m,b.getMonth(),1))},x=({value:m,onChange:b})=>{return n("div",{class:"flex-1"},[n("div",{class:"flex gap-2 items-center"},[n("input",{type:"range",min:0,max:23,value:m,class:"range range-xs flex-1",oninput:(w)=>b(parseInt(w.target.value))}),n("span",{class:"text-sm font-mono min-w-[48px] text-center"},()=>String(typeof m==="function"?m():m).padStart(2,"0")+":00")])])};return n("div",{class:`p-4 bg-base-100 border border-base-300 shadow-2xl rounded-box w-80 select-none ${t.class??""}`.trim()},[n("div",{class:"flex justify-between items-center mb-4 gap-1"},[n("div",{class:"flex gap-0.5"},[n("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>v(-1)},n("span",{class:"icon-[lucide--chevrons-left]"})),n("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>h(-1)},n("span",{class:"icon-[lucide--chevron-left]"}))]),n("span",{class:"font-bold uppercase flex-1 text-center"},[()=>e().toLocaleString("es-ES",{month:"short",year:"numeric"})]),n("div",{class:"flex gap-0.5"},[n("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>h(1)},n("span",{class:"icon-[lucide--chevron-right]"})),n("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>v(1)},n("span",{class:"icon-[lucide--chevrons-right]"}))])]),n("div",{class:"grid grid-cols-7 gap-1",onmouseleave:()=>a(null)},[...["L","M","X","J","V","S","D"].map((m)=>n("div",{class:"text-[10px] opacity-40 font-bold text-center"},m)),()=>{let m=e(),b=m.getFullYear(),w=m.getMonth(),k=new Date(b,w,1).getDay(),L=k===0?6:k-1,re=new Date(b,w+1,0).getDate(),K=[];for(let R=0;R{let T=u(),Y=a(),ie=typeof T==="string"?T.split("T")[0]===S:T?.start===S,ue=T?.end===S,J=!1;if(r()&&T?.start){let U=T.start;if(!T.end&&Y)J=S>U&&S<=Y||S=Y;else if(T.end)J=S>U&&S{if(r())a(S)},onclick:()=>f(qt)},R.toString()))}return K}]),t.hour?n("div",{class:"mt-3 pt-2 border-t border-base-300"},[r()?n("div",{class:"flex gap-4"},[x({value:s,onChange:(m)=>s(m)}),x({value:c,onChange:(m)=>c(m)})]):x({value:s,onChange:(m)=>s(m)})]):null])};var ot={};d(ot,{CardTitle:()=>Ae,CardBody:()=>Ne,CardActions:()=>Ie,Card:()=>De});var De=(t,e)=>{return e===void 0&&(e=t,t={}),n("div",{...t,class:`card ${t.class??""}`},e)},Ae=(t,e)=>{return e===void 0&&(e=t,t={}),n("div",{...t,class:`card-title ${t.class??""}`},e)},Ne=(t,e)=>{return e===void 0&&(e=t,t={}),n("div",{...t,class:`card-body ${t.class??""}`},e)},Ie=(t,e)=>{return e===void 0&&(e=t,t={}),n("div",{...t,class:`card-actions ${t.class??""}`},e)};var rt={};d(rt,{CarouselItem:()=>Re,Carousel:()=>Le});var Le=(t,e)=>{return e===void 0&&(e=t,t={}),n("div",{...t,class:`carousel ${t.class??""}`},e)},Re=(t,e)=>{return e===void 0&&(e=t,t={}),n("div",{...t,class:`carousel-item ${t.class??""}`},e)};var it={};d(it,{ChatMessage:()=>Be,ChatImage:()=>Gt,ChatHeader:()=>Qt,ChatFooter:()=>Zt,ChatBubble:()=>pt,Chat:()=>Xt});var Xt=(t,e)=>{return e===void 0&&(e=t,t={}),n("div",{...t,class:`chat ${t.class??""}`},e)},Gt=(t,e)=>{return e===void 0&&(e=t,t={}),n("div",{...t,class:`chat-image avatar ${t.class??""}`},n("div",{class:"w-10 rounded-full"},typeof e==="string"?n("img",{src:e,alt:"avatar"}):e))},Qt=(t,e)=>{return e===void 0&&(e=t,t={}),n("div",{...t,class:`chat-header ${t.class??""}`},e)},Zt=(t,e)=>{return e===void 0&&(e=t,t={}),n("div",{...t,class:`chat-footer ${t.class??""}`},e)},pt=(t,e)=>{return e===void 0&&(e=t,t={}),n("div",{...t,class:`chat-bubble ${t.class??""}`},e)},Be=(t)=>{let{position:e="start",avatar:a,header:s,message:c,footer:r,bubbleClass:o,...l}=t;return Xt({...l,class:`chat-${e} ${t.class??""}`},[a&&Gt(a),s&&Qt(s),pt({class:o},c),r&&Zt(r)])};var ut={};d(ut,{Checkbox:()=>ze});var ze=(t)=>n("input",{...t,type:"checkbox",class:`checkbox ${t.class??""}`});var ft={};d(ft,{Colorpicker:()=>Fe});var Fe=(t)=>{let e=g(!1),a=["#000","#1A1A1A","#333","#4D4D4D","#666","#808080","#B3B3B3","#FFF","#450a0a","#7f1d1d","#991b1b","#b91c1c","#dc2626","#ef4444","#f87171","#fca5a5","#431407","#7c2d12","#9a3412","#c2410c","#ea580c","#f97316","#fb923c","#ffedd5","#713f12","#a16207","#ca8a04","#eab308","#facc15","#fde047","#fef08a","#fff9c4","#064e3b","#065f46","#059669","#10b981","#34d399","#4ade80","#84cc16","#d9f99d","#082f49","#075985","#0284c7","#0ea5e9","#38bdf8","#7dd3fc","#22d3ee","#cffafe","#1e1b4b","#312e81","#4338ca","#4f46e5","#6366f1","#818cf8","#a5b4fc","#e0e7ff","#2e1065","#4c1d95","#6d28d9","#7c3aed","#8b5cf6","#a855f7","#d946ef","#fae8ff"],s=()=>{let c=t.value;return(typeof c==="function"?c():c)||"#000000"};return n("div",{class:`relative w-fit ${t.class??""}`},[n("button",{type:"button",class:"btn px-3 bg-base-100 border-base-300 hover:border-primary/50 flex items-center gap-2 shadow-sm font-normal normal-case",onclick:(c)=>{c.stopPropagation(),e(!e())},...t},[n("div",{class:"size-5 rounded-sm shadow-inner border border-black/10 shrink-0",style:()=>`background-color: ${s()}`}),t.label?n("span",{class:"opacity-80"},t.label):null]),N(e,()=>n("div",{class:"absolute left-0 mt-2 p-3 bg-base-100 border border-base-300 shadow-2xl rounded-box z-[110] w-64 select-none",onclick:(c)=>c.stopPropagation()},[n("div",{class:"grid grid-cols-8 gap-1"},a.map((c)=>n("button",{type:"button",style:`background-color: ${c}`,class:()=>{return`size-6 rounded-sm cursor-pointer transition-all hover:scale-125 hover:z-10 active:scale-95 outline-none border border-black/5 p-0 min-h-0 ${s().toLowerCase()===c.toLowerCase()?"ring-2 ring-offset-1 ring-primary z-10 scale-110":""}`},onclick:()=>{if(typeof t.value==="function")t.value(c);e(!1)}})))])),N(e,()=>n("div",{class:"fixed inset-0 z-[100]",onclick:()=>e(!1)}))])};var dt={};d(dt,{Datepicker:()=>He});var He=(t)=>{let e=g(!1),a=()=>{return(typeof t.range==="function"?t.range():t.range)===!0},s=g("");E(()=>{let o=typeof t.value==="function"?t.value():t.value;if(!o){s("");return}let l="";if(typeof o==="string")l=t.hour&&o.includes("T")?o.replace("T"," "):o;else if(o.start&&o.end){let i=t.hour&&o.startHour!==void 0?`${o.start} ${String(o.startHour).padStart(2,"0")}:00`:o.start,u=t.hour&&o.endHour!==void 0?`${o.end} ${String(o.endHour).padStart(2,"0")}:00`:o.end;l=`${i} - ${u}`}else if(o.start)l=`${t.hour&&o.startHour!==void 0?`${o.start} ${String(o.startHour).padStart(2,"0")}:00`:o.start}...`;s(l)});let c=(o)=>{if(typeof t.value==="function")t.value(o);if(!a()||o?.end!==void 0&&o?.end!==null)e(!1)},r=(o)=>{o.stopPropagation(),e(!e())};return n("div",{class:`relative w-full ${t.class??""}`},[n("label",{class:"input input-bordered w-full",onclick:r},[n("span",{class:"icon-[lucide--calendar]"}),n("input",{...t,type:"text",class:"grow",value:s,readonly:!0,placeholder:t.placeholder||(a()?"Seleccionar rango...":"Seleccionar fecha...")})]),N(e,()=>n("div",{class:"absolute left-0 mt-2 z-[100]",onclick:(o)=>o.stopPropagation()},[lt({value:t.value,range:a(),hour:t.hour,onChange:c})])),N(e,()=>n("div",{class:"fixed inset-0 z-[90]",onclick:()=>e(!1)}))])};var mt={};d(mt,{Sidebar:()=>Pe,Drawer:()=>Oe});var Oe=(t,e)=>{return e===void 0&&(e=t,t={}),n("div",{...t,class:`drawer ${t.class??""}`},e)},Pe=(t)=>{let e=t.id||`drawer-${Math.random().toString(36).slice(2,9)}`;return n("div",{...t,class:`drawer ${t.class??""}`},[n("input",{id:e,type:"checkbox",class:"drawer-toggle",checked:()=>typeof t.open==="function"?t.open():t.open,onchange:(a)=>typeof t.open==="function"&&t.open(a.target.checked)}),n("div",{class:"drawer-content"},t.children),n("div",{class:"drawer-side"},[n("label",{for:e,class:"drawer-overlay",onclick:()=>typeof t.open==="function"&&t.open(!1)}),n("div",{class:"min-h-full bg-base-200 w-80 p-4"},typeof t.content==="function"?t.content():t.content)])])};var ht={};d(ht,{Dropdown:()=>je});var I=null;if(typeof window<"u"&&!window.__dropdownHandlerRegistered)window.addEventListener("click",(t)=>{if(I&&!I.contains(t.target))I.open=!1,I=null}),window.__dropdownHandlerRegistered=!0;var je=(t)=>n("details",{...t,class:`dropdown ${t.class??""}`,onclick:(e)=>{let a=e.currentTarget;if(I&&I!==a)I.open=!1;setTimeout(()=>{I=a.open?a:null},0)}},t.children);var gt={};d(gt,{Fab:()=>qe});var qe=(t,e)=>{return e===void 0&&(e=t,t={}),n("div",{...t,class:`fab ${t.class??""}`},e)};var bt={};d(bt,{Fieldset:()=>We});var We=(t,e)=>n("fieldset",{...t,class:`fieldset ${t.class??""}`},[t.legend?n("legend",{class:"fieldset-legend"},t.legend):null,e]);var vt={};d(vt,{Fileinput:()=>Ke});var Ke=(t)=>{let e=g([]),a=g(!1),s=g(null),c=(t.max||2)*1024*1024,r=(l)=>{let i=Array.from(l);if(s(null),i.find((u)=>u.size>c)){s(`Máx ${t.max||2}MB`);return}e([...e(),...i]),t.onselect?.(e())},o=(l)=>{let i=e().filter((u,f)=>f!==l);e(i),t.onselect?.(i)};return n("div",{...t,class:`fieldset w-full p-0 ${t.class??""}`},[n("label",{class:()=>`relative flex items-center justify-between w-full h-12 px-4 border-2 border-dashed rounded-lg cursor-pointer transition-all duration-200 ${a()?"border-primary bg-primary/10":"border-base-content/20 bg-base-100 hover:bg-base-200"}`,ondragover:(l)=>{l.preventDefault(),a(!0)},ondragleave:()=>a(!1),ondrop:(l)=>{l.preventDefault(),a(!1),r(l.dataTransfer.files)}},[n("div",{class:"flex items-center gap-3 w-full"},[n("span",{class:"icon-[lucide--upload]"}),n("span",{class:"text-sm opacity-70 truncate grow text-left"},"Arrastra o selecciona archivos..."),n("span",{class:"text-[10px] opacity-40 shrink-0"},`Máx ${t.max||2}MB`)]),n("input",{type:"file",multiple:!0,accept:t.accept||"*",class:"hidden",onchange:(l)=>r(l.target.files)})]),()=>s()&&n("span",{class:"text-[10px] text-error mt-1 px-1 font-medium"},s()),N(()=>e().length>0,()=>n("ul",{class:"mt-2 space-y-1"},[$(e,(l,i)=>n("li",{class:"flex items-center justify-between p-1.5 pl-3 text-xs bg-base-200/50 rounded-md border border-base-300"},[n("div",{class:"flex items-center gap-2 truncate"},[n("span",{class:"opacity-50"},"\uD83D\uDCC4"),n("span",{class:"truncate font-medium max-w-[200px]"},l.name),n("span",{class:"text-[9px] opacity-40"},`(${(l.size/1024).toFixed(0)} KB)`)]),n("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle",onclick:(u)=>{u.preventDefault(),o(i)}},n("span",{class:"icon-[lucide--x]"}))]),(l)=>l.name+l.lastModified)]))])};var yt={};d(yt,{Icon:()=>Ye});var Ye=(t,e)=>{if(typeof t==="string"){if(t.includes("icon-")||t.startsWith("lucide-"))return n("span",{class:t},e);return n("span",{class:"icon"},t)}if(!t)return null;let{class:a,...s}=t;return n("span",{...s,class:a},e)};var xt={};d(xt,{Indicator:()=>Je});var Je=(t,e)=>{return e===void 0&&(e=t,t={}),n("div",{...t,class:`indicator ${t.class??""}`},[t.value?n("span",{class:`indicator-item badge ${t.class??""}`},t.value):null,e])};var wt={};d(wt,{InputLabel:()=>Ve,Input:()=>Ue});var Ue=(t)=>n("input",{...t,class:`input ${t.class??""}`}),Ve=(t)=>n("label",{class:`${t.float?"floating-label":"input"}`},[n("span",{class:t.float?"":"label opacity-50"},t.label),t.left??null,n("input",{...t,class:`${t.float?"input":""} ${t.class??""}`}),t.right??null]);var $t={};d($t,{Kbd:()=>Xe});var Xe=(t,e)=>{return e===void 0&&(e=t,t={}),n("kbd",{...t,class:`kbd ${t.class??""}`},e)};var kt={};d(kt,{Loading:()=>Ge});var Ge=(t,e)=>{return e===void 0&&(e=t,t={}),n("span",{...t,class:`loading loading-spinner ${t.class??""}`},e)};var _t={};d(_t,{MenuItems:()=>Mt,Menu:()=>Qe});var Qe=(t,e)=>{return e===void 0&&(e=t,t={}),n("ul",{...t,class:`menu ${t.class??""}`},e)},Mt=(t)=>{let{items:e,keyFn:a=(r,o)=>r.id??o}=t;return $(typeof e==="function"?e:()=>e||[],(r)=>{if(r.children)return n("li",{},[n("details",{},[n("summary",{},r.label),n("ul",{},Mt({items:r.children}))])]);return n("li",{},n("a",{href:r.href,onclick:r.onclick?(o)=>{if(!r.href)o.preventDefault();r.onclick(o)}:null},r.label))},a)};var St={};d(St,{Modal:()=>Ze});var Ze=(t)=>{let e=null;E(()=>{let s=typeof t.open==="function"?t.open():t.open;if(!e)return;s?e.showModal():e.close()});let a=()=>typeof t.open==="function"&&t.open(!1);return n("dialog",{...t,ref:(s)=>e=s,class:`modal ${t.class??""}`,onclose:a,oncancel:a},[n("div",{class:"modal-box"},[t.title&&n("h3",{class:"text-lg font-bold"},t.title),t.children,n("div",{class:"modal-action"},[t.actions||n("button",{class:"btn",onclick:a},"Cerrar")])]),n("form",{method:"dialog",class:"modal-backdrop"},[n("button",{},"close")])])};var Ct={};d(Ct,{Navbar:()=>pe});var pe=(t,e)=>{return e===void 0&&(e=t,t={}),n("div",{...t,class:`navbar ${t.class??""}`},e)};var Et={};d(Et,{Radial:()=>Me});var Me=(t,e)=>{e===void 0&&(e=t,t={});let a=t.value!=null?t.value/(t.max||100)*100:0,s=`--value: ${a}; --max: 100;`;return n("div",{...t,class:`radial-progress ${t.class??""}`,style:s,role:"progressbar","aria-valuenow":t.value,"aria-valuemin":0,"aria-valuemax":t.max||100},e||`${Math.round(a)}%`)};var Tt={};d(Tt,{Radio:()=>tn});var tn=(t)=>n("input",{...t,type:"radio",class:`radio ${t.class??""}`});var Dt={};d(Dt,{Range:()=>en});var en=(t)=>n("input",{...t,type:"range",class:`range ${t.class??""}`});var At={};d(At,{Rating:()=>nn});var nn=(t,e)=>{e===void 0&&(e=t,t={});let a=`rating-${Math.random().toString(36).slice(2,7)}`;return n("div",{...t,class:`rating ${t.class??""}`},e||Array.from({length:t.count||5},(s,c)=>{let r=c+1;return n("input",{type:"radio",name:a,class:`mask ${t.mask||"mask-star"}`,checked:()=>typeof t.value==="function"?t.value()===r:t.value===r,onchange:()=>{if(t.onchange)t.onchange(r);else if(typeof t.value==="function")t.value(r)}})}))};var Nt={};d(Nt,{SkeletonText:()=>sn,Skeleton:()=>an});var an=(t)=>n("div",{...t,class:`skeleton ${t.class??""}`}),sn=(t)=>{return n("div",{...t,class:"space-y-2"},Array.from({length:t.lines||3},()=>n("div",{class:`skeleton h-4 w-full ${t.class??""}`})))};var It={};d(It,{SelectLabel:()=>on,SelectItems:()=>cn,Select:()=>ln});var ln=(t,e)=>{return e===void 0&&(e=t,t={}),n("select",{...t,class:`select ${t.class??""}`},e)},cn=(t)=>{let e=t.placeholder?n("option",{disabled:t.placeholderDisabled??!0,selected:!0},t.placeholder):null,a=$(()=>[...typeof t.items==="function"?t.items():t.items||[]],(s)=>{let c=typeof s==="string"?s:s.value,r=typeof s==="string"?s:s.label;return n("option",{value:c},r)},t.keyFn||((s)=>typeof s==="string"?s:s.value));return e?[e,a]:a},on=(t,e)=>n("label",{class:`${t.float?"floating-label":"select"}`},[n("span",{class:t.float?"":"label opacity-50"},t.label),t.left??null,n("select",{...t,class:`${t.float?"select":""} ${t.class??""}`},e),t.right??null]);var Lt={};d(Lt,{Stack:()=>rn});var rn=(t,e)=>{return e===void 0&&(e=t,t={}),n("div",{...t,class:`stack ${t.class??""}`},e)};var j={};d(j,{Stats:()=>un,Stat:()=>fn});var un=(t,e)=>{e===void 0&&(e=t,t={});let a=t.vertical?"stats-vertical":"stats-horizontal";return n("div",{...t,class:`stats ${a} ${t.class??""}`.trim()},e)},fn=(t,e)=>{return e===void 0&&(e=t,t={}),n("div",{...t,class:`stat ${t.class??""}`},[t.icon&&n("div",{class:"stat-figure"},t.icon),t.label&&n("div",{class:"stat-title"},t.label),t.value&&n("div",{class:"stat-value"},t.value),t.desc&&n("div",{class:"stat-desc"},t.desc),t.actions&&n("div",{class:"stat-actions"},t.actions),e])};var Rt={};d(Rt,{Swap:()=>dn});var dn=(t)=>{return n("label",{...t,class:`swap ${t.class??""}`},[n("input",{type:"checkbox",checked:()=>typeof t.value==="function"?t.value():t.value,onchange:(e)=>typeof t.value==="function"&&t.value(e.target.checked)}),n("div",{class:"swap-on"},t.on),n("div",{class:"swap-off"},t.off)])};var Bt={};d(Bt,{TableItems:()=>hn,Table:()=>mn});var mn=(t,e)=>{return e===void 0&&(e=t,t={}),n("table",{...t,class:`table ${t.class??""}`},e)},hn=(t)=>{let e=typeof t.items==="function"?t.items():t.items||[],a=t.header!==!1&&t.columns?.some((c)=>c.label)?n("thead",{},n("tr",{},t.columns.map((c)=>n("th",{class:c.class},c.label)))):null,s=n("tbody",{},[$(e,(c,r)=>n("tr",{},t.columns.map((o)=>{let l=o.render?o.render(c,r):c[o.key];return n("td",{class:o.class},l)})),t.keyFn||((c,r)=>c.id??r))]);return[a,s]};var zt={};d(zt,{Tabs:()=>gn,TabItems:()=>bn,TabContent:()=>ee,TabClose:()=>ne,Tab:()=>te});var gn=(t,e)=>{return e===void 0&&(e=t,t={}),n("div",{...t,class:`tabs ${t.class??""}`},e)},te=(t,e)=>{return e===void 0&&(e=t,t={}),n("a",{...t,role:"tab",class:`tab ${t.class??""}`},e)},ee=(t,e)=>{return e===void 0&&(e=t,t={}),n("div",{...t,class:`tab-content ${t.class??""}`},e)},ne=(t)=>n("a",{...t,role:"tab",class:`tab ${t.class??""}`},[n("span",{class:"flex items-center"},[t.label,n("span",{class:"icon-[lucide--x] w-3.5 h-3.5 ml-2 cursor-pointer hover:opacity-70",onclick:(e)=>{e.stopPropagation(),t.onClose?.(e)}})])]),bn=(t)=>{let e=typeof t.items==="function"?t.items:()=>t.items||[];return $(e,(a,s)=>{return[(a.closable?ne:te)({...a,class:()=>t.activeIndex()===s?`tab-active ${a.class??""}`:a.class,onclick:(r)=>{r.preventDefault(),t.activeIndex(s),a.onclick?.(r)},onClose:()=>t.onClose?.(s,a)}),ee({style:()=>`display: ${t.activeIndex()===s?"block":"none"};`},typeof a.content==="function"?a.content():a.content)]},(a,s)=>a.id??s)};var Ft={};d(Ft,{Textarea:()=>vn});var vn=(t)=>n("textarea",{...t,class:`textarea ${t.class??""}`});var Ht={};d(Ht,{TextRotate:()=>yn});var yn=(t)=>{let e=Array.isArray(t.words)?t.words:typeof t.words==="string"?t.words.split(","):[];return n("span",{...t,class:`text-rotate ${t.class??""}`},[n("span",{},e.map((a)=>n("span",{},a)))])};var Ot={};d(Ot,{Timeline:()=>xn});var xn=(t,e)=>{e===void 0&&(e=t,t={});let a=t.vertical!==!1,s=t.compact===!0;return n("ul",{...t,class:`timeline ${a?"timeline-vertical":"timeline-horizontal"} ${s?"timeline-compact":""} ${t.class??""}`.trim()},e)};var Pt={};d(Pt,{Toast:()=>wn});var wn=(t,e="alert-success",a=3500)=>{let s=document.getElementById("sigpro-toast-container");if(!s)s=n("div",{id:"sigpro-toast-container",class:"fixed top-0 right-0 z-[9999] p-4 flex flex-col gap-2 pointer-events-none"}),document.body.appendChild(s);let c=n("div",{style:"display: contents"});s.appendChild(c);let r,o=()=>{clearTimeout(r);let u=c.firstElementChild;if(u&&!u.classList.contains("opacity-0"))u.classList.add("translate-x-full","opacity-0"),setTimeout(()=>{if(i.destroy(),c.remove(),!s.hasChildNodes())s.remove()},300);else i.destroy(),c.remove()},i=M(()=>{let u=n("span",{class:"icon-[lucide--x]"}),f=n("button",{class:"btn btn-xs btn-circle btn-ghost",onclick:o},u),h=n("div",{class:`alert alert-soft ${e} shadow-lg transition-all duration-300 translate-x-10 opacity-0 pointer-events-auto`},[n("span",{},typeof t==="function"?t():t),f]);return requestAnimationFrame(()=>h.classList.remove("translate-x-10","opacity-0")),h},c);if(a>0)r=setTimeout(o,a);return o};var jt={};d(jt,{Tooltip:()=>$n});var $n=(t,e)=>{return e===void 0&&(e=t,t={}),n("div",{...t,class:`tooltip ${t.class??""}`,"data-tip":t.tip},e)};var kn={es:{close:"Cerrar",confirm:"Confirmar",cancel:"Cancelar",search:"Buscar...",loading:"Cargando...",nodata:"Sin datos"},en:{close:"Close",confirm:"Confirm",cancel:"Cancel",search:"Search...",loading:"Loading...",nodata:"No data"}},ae=g("es"),se=(t)=>ae(t),le=(t)=>()=>kn[ae()][t]||t;var ce={...tt,...et,...nt,...at,...st,...ct,...ot,...rt,...it,...ut,...ft,...dt,...mt,...ht,...gt,...bt,...vt,...yt,...xt,...wt,...$t,...kt,..._t,...St,...Ct,...Et,...Tt,...Dt,...At,...Nt,...It,...Lt,...j,...j,...Rt,...Bt,...zt,...Ft,...Ht,...Ot,...Pt,...jt},oe={Locale:se,tt:le};if(typeof window<"u")Object.entries({...ce,...oe}).forEach(([t,e])=>{Object.defineProperty(window,t,{value:e,writable:!1,configurable:!0,enumerable:!0})}),console.log("SigProUI installed");})(); +(()=>{var{defineProperty:U,getOwnPropertyNames:ht,getOwnPropertyDescriptor:bt}=Object,yt=Object.prototype.hasOwnProperty;function vt(e){return this[e]}var xt=(e)=>{var t=(Ke??=new WeakMap).get(e),a;if(t)return t;if(t=U({},"__esModule",{value:!0}),e&&typeof e==="object"||typeof e==="function"){for(var s of ht(e))if(!yt.call(t,s))U(t,s,{get:vt.bind(e,s),enumerable:!(a=bt(e,s))||a.enumerable})}return Ke.set(e,t),t},Ke;var wt=(e)=>e;function $t(e,t){this[e]=wt.bind(null,t)}var m=(e,t)=>{for(var a in t)U(e,a,{get:t[a],enumerable:!0,configurable:!0,set:$t.bind(t,a)})};var En={};m(En,{Utils:()=>ft,Components:()=>ut});var te={};m(te,{Accordion:()=>pt});var E=(e)=>typeof e==="function",Q=(e)=>e&&typeof e==="object",I=Array.isArray,D=typeof document<"u"?document:null,We=(e)=>e?._isRuntime?e.container:e instanceof Node?e:D.createTextNode(e==null?"":String(e)),x=null,S=null,H=!1,O=0,q=new Set,Ye=new WeakMap,X=Symbol("iter"),G=new WeakMap,F=(e)=>{if(!e||e._disposed)return;e._disposed=!0;let t=[e];while(t.length){let a=t.pop();if(a._cleanups)a._cleanups.forEach((s)=>s()),a._cleanups.clear();if(a._children)a._children.forEach((s)=>t.push(s)),a._children.clear();if(a._deps)a._deps.forEach((s)=>s.delete(a)),a._deps.clear()}},L=(e)=>{if(S)(S._cleanups||=new Set).add(e)},kt=(e)=>{let t=x;x=null;try{return e()}finally{x=t}},j=(e,t=!1)=>{let a=()=>{if(a._disposed)return;if(a._deps)a._deps.forEach((r)=>r.delete(a));if(a._cleanups)a._cleanups.forEach((r)=>r()),a._cleanups.clear();let s=x,c=S;x=S=a;try{return a._result=e()}catch(r){console.error("[SigPro]",r)}finally{x=s,S=c}};if(a._deps=a._cleanups=a._children=null,a._disposed=!1,a._isComputed=t,a._depth=x?x._depth+1:0,a._mounts=[],a._parent=S,S)(S._children||=new Set).add(a);return a},Ve=()=>{if(H)return;H=!0;let e=Array.from(q).sort((t,a)=>t._depth-a._depth);q.clear();for(let t of e)if(!t._disposed)t();H=!1},St=(e)=>{O++;try{return e()}finally{if(O--,O===0&&q.size>0&&!H)Ve()}},T=(e,t=!1)=>{if(!t&&x&&!x._disposed)e.add(x),(x._deps||=new Set).add(e);else if(t&&e.size>0){let a=!1;for(let s of e){if(s===x||s._disposed)continue;if(s._isComputed){if(s._dirty=!0,s._subs)T(s._subs,!0)}else q.add(s),a=!0}if(a&&!H&&O===0)queueMicrotask(Ve)}},h=(e,t=null)=>{let a=new Set;if(E(e)){let s,c=()=>{if(c._dirty){let r=x;x=c;try{let l=e();if(!Object.is(s,l))s=l,T(a,!0)}finally{x=r}c._dirty=!1}return T(a),s};if(c._isComputed=!0,c._subs=a,c._dirty=!0,c._deps=null,c._disposed=!1,c.stop=()=>{},S)L(c.stop);return c}if(t)try{e=JSON.parse(localStorage.getItem(t))??e}catch(s){}return(...s)=>{if(s.length){let c=E(s[0])?s[0](e):s[0];if(!Object.is(e,c)){if(e=c,t)localStorage.setItem(t,JSON.stringify(e));T(a,!0)}}return T(a),e}},Ue=(e)=>{if(!Q(e))return e;let t=Ye.get(e);if(t)return t;let a=new Map,s=(r)=>{let l=a.get(r);if(!l)a.set(r,l=new Set);return l},c=new Proxy(e,{get(r,l,o){if(typeof l!=="symbol")T(s(l));return Ue(Reflect.get(r,l,o))},set(r,l,o,i){let u=Reflect.has(r,l),f=Reflect.get(r,l,i),g=Reflect.set(r,l,o,i);if(g&&!Object.is(f,o)){if(T(s(l),!0),!u)T(s(X),!0)}return g},deleteProperty(r,l){let o=Reflect.deleteProperty(r,l);if(o)T(s(l),!0),T(s(X),!0);return o},ownKeys(r){return T(s(X)),Reflect.ownKeys(r)}});return Ye.set(e,c),c},_=(e,t)=>{if(t===void 0){let s=j(e);return s(),()=>F(s)}let a=j(()=>{let s=Array.isArray(e)?e.map((c)=>c()):e();kt(()=>t(s))});return a(),()=>F(a)},Z=(e)=>{if(!e)return;if(e._cleanups)e._cleanups.forEach((t)=>t()),e._cleanups.clear();if(e._ownerEffect)F(e._ownerEffect);if(e.childNodes)e.childNodes.forEach((t)=>Z(t))},_t=/^\s*(javascript|data|vbscript):/i,Ct=(e)=>e==="src"||e==="href"||e.startsWith("on"),Je=(e,t)=>{if(t==null||t===!1)return null;if(Ct(e)){let a=String(t);if(_t.test(a))return console.warn(`[SigPro] Bloqueado protocolo peligroso en ${e}`),"#"}return t},n=(e,t={},a=[])=>{if(t instanceof Node||I(t)||!Q(t))a=t,t={};if(E(e)){let l=j(()=>{let f=e(t,{children:a,emit:(g,...b)=>t[`on${g[0].toUpperCase()}${g.slice(1)}`]?.(...b)});return l._result=f,f});l();let o=l._result;if(o==null)return null;let i=o instanceof Node||I(o)&&o.every((f)=>f instanceof Node)?o:D.createTextNode(String(o)),u=(f)=>{if(Q(f)&&!f._isRuntime)f._mounts=l._mounts||[],f._cleanups=l._cleanups||new Set,f._ownerEffect=l};return I(i)?i.forEach(u):u(i),i}let s=/^(svg|path|circle|rect|line|poly(line|gon)|g|defs|text(path)?|tspan|use|symbol|image|marker|ellipse)$/i.test(e),c=s?D.createElementNS("http://www.w3.org/2000/svg",e):D.createElement(e);c._cleanups=new Set;for(let l in t){if(!t.hasOwnProperty(l))continue;let o=t[l];if(l==="ref"){E(o)?o(c):o.current=c;continue}if(s&&l.startsWith("xlink:")){o==null?c.removeAttributeNS("http://www.w3.org/1999/xlink",l.slice(6)):c.setAttributeNS("http://www.w3.org/1999/xlink",l.slice(6),o);continue}if(l.startsWith("on")){let i=l.slice(2).toLowerCase();c.addEventListener(i,o);let u=()=>c.removeEventListener(i,o);c._cleanups.add(u),L(u)}else if(E(o)){let i=j(()=>{let u=Je(l,o());if(l==="class")c.className=u||"";else if(u==null)c.removeAttribute(l);else if(l in c&&!s)c[l]=u;else c.setAttribute(l,u===!0?"":u)});if(i(),c._cleanups.add(()=>F(i)),L(()=>F(i)),/^(INPUT|TEXTAREA|SELECT)$/.test(c.tagName)&&(l==="value"||l==="checked")){let u=l==="checked"?"change":"input";c.addEventListener(u,(f)=>o(f.target[l]))}}else{let i=Je(l,o);if(i!=null)if(l in c&&!s)c[l]=i;else c.setAttribute(l,i===!0?"":i)}}let r=(l)=>{if(I(l))return l.forEach(r);if(E(l)){let o=D.createTextNode("");c.appendChild(o);let i=[],u=j(()=>{let f=l(),g=(I(f)?f:[f]).map(We);i.forEach((v)=>{if(v._isRuntime)v.destroy();else Z(v);if(v.parentNode)v.remove()});let b=o;for(let v=g.length-1;v>=0;v--){let d=g[v];if(d.parentNode!==b.parentNode)b.parentNode?.insertBefore(d,b);if(d._mounts)d._mounts.forEach((y)=>y());b=d}i=g});u(),c._cleanups.add(()=>F(u)),L(()=>F(u))}else{let o=We(l);if(c.appendChild(o),o._mounts)o._mounts.forEach((i)=>i())}};return r(a),c},K=(e)=>{let t=new Set,a=S,s=x,c=D.createElement("div");c.style.display="contents",c.setAttribute("role","presentation"),S={_cleanups:t},x=null;let r=(l)=>{if(!l)return;if(l._isRuntime)t.add(l.destroy),c.appendChild(l.container);else if(I(l))l.forEach(r);else c.appendChild(l instanceof Node?l:D.createTextNode(String(l==null?"":l)))};try{r(e({onCleanup:(l)=>t.add(l)}))}finally{S=a,x=s}return{_isRuntime:!0,container:c,destroy:()=>{t.forEach((l)=>l()),Z(c),c.remove()}}},p=(e,t,a=null)=>{let s=D.createTextNode(""),c=n("div",{style:"display:contents"},[s]),r=null;return _(()=>!!(E(e)?e():e),(l)=>{if(r)r.destroy(),r=null;let o=l?t:a;if(o)r=K(()=>E(o)?o():o),c.insertBefore(r.container,s)}),L(()=>r?.destroy()),c},M=({name:e,duration:t=200,scale:a,slide:s,rotate:c,blur:r},l)=>{let o=typeof l==="function"?l():l;if(!(o instanceof Node))return o;if(e)return o.style.animation=`${e}-in ${t}ms`,o;let i=a||s||c||r,u=[a?"scale(0.95)":"",s?"translateY(-10px)":"",c?"rotate(-2deg)":""].filter(Boolean).join(" ");if(o.style.transition=`all ${t}ms ease`,o.style.opacity="0",i)o.style.transform=u;if(r)o.style.filter="blur(4px)";return requestAnimationFrame(()=>{if(o.style.opacity="1",i)o.style.transform="none";if(r)o.style.filter="none"}),o},$=(e,t,a)=>{let s=D.createTextNode(""),c=n("div",{style:"display:contents"},[s]),r=new Map;return _(()=>(E(e)?e():e)||[],(l)=>{let o=new Map,i=[],u=l||[];for(let g=0;gt(b,g));else r.delete(v);o.set(v,d),i.push(d)}r.forEach((g)=>g.destroy());let f=s;for(let g=i.length-1;g>=0;g--){let b=i[g].container;if(b.nextSibling!==f)c.insertBefore(b,f);f=b}r=o}),c},z=(e)=>{let t=()=>window.location.hash.slice(1)||"/",a=h(t()),s=()=>a(t());window.addEventListener("hashchange",s),L(()=>window.removeEventListener("hashchange",s));let c=n("div",{class:"router-hook"}),r=null;return _([a],()=>{let l=a(),o=e.find((i)=>{let u=i.path.split("/").filter(Boolean),f=l.split("/").filter(Boolean);return u.length===f.length&&u.every((g,b)=>g[0]===":"||g===f[b])})||e.find((i)=>i.path==="*");if(o){r?.destroy();let i={};o.path.split("/").filter(Boolean).forEach((u,f)=>{if(u[0]===":")i[u.slice(1)]=l.split("/").filter(Boolean)[f]}),z.params(i),r=K(()=>E(o.component)?o.component(i):o.component),c.replaceChildren(r.container)}}),c};z.params=h({});z.to=(e)=>window.location.hash=e.replace(/^#?\/?/,"#/");z.back=()=>window.history.back();z.path=()=>window.location.hash.replace(/^#/,"")||"/";var Tt=({url:e,method:t="GET",headers:a={}})=>{let s=h(!1),c=h(null),r=h(null),l=null,o=null;return{run:async(i=null)=>{l?.abort(),clearTimeout(o),l=new AbortController,o=setTimeout(()=>l.abort(),1e4),s(!0),c(null);try{let u=i instanceof FormData,f=await fetch(e,{method:t,headers:u?a:{"Content-Type":"application/json",...a},body:u?i:i?JSON.stringify(i):void 0,signal:l.signal}),g=await f.text(),b=g?JSON.parse(g):null;if(!f.ok)throw Error(b?.message||f.statusText);return r(b),b}catch(u){if(u.name!=="AbortError")c(u.message);throw u}finally{s(!1),clearTimeout(o),l=null,o=null}},abort:()=>l?.abort(),loading:s,error:c,data:r}},ee=(e,t)=>{let a=typeof t==="string"?D.querySelector(t):t;if(!a)return;if(G.has(a))G.get(a).destroy();let s=K(E(e)?e:()=>e);return a.replaceChildren(s.container),G.set(a,s),s},Et=Object.freeze({$:h,$$:Ue,watch:_,h:n,when:p,each:$,fx:M,router:z,req:Tt,mount:ee,batch:St});if(typeof window<"u")Object.assign(window,Et),"a abbr article aside audio b blockquote br button canvas caption cite code col colgroup datalist dd del details dfn dialog div dl dt em embed fieldset figcaption figure footer form h1 h2 h3 h4 h5 h6 header hr i iframe img input ins kbd label legend li main mark meter nav object ol optgroup option output p picture pre progress section select slot small source span strong sub summary sup svg table tbody td template textarea tfoot th thead time tr u ul video".split(" ").forEach((e)=>{window[e]=(t,a)=>n(e,t,a)});var pt=(e,t)=>{let a=e.name||`accordion-${Math.random().toString(36).slice(2,9)}`;if(e.items&&Array.isArray(e.items))return n("div",{class:`space-y-2 ${e.class??""}`},e.items.map((s)=>n("div",{class:`collapse ${s.class??""}`},[n("input",{type:"radio",name:a,checked:s.open}),n("div",{class:"collapse-title text-xl font-medium"},s.title),n("div",{class:"collapse-content"},t)])));return n("div",{class:`collapse ${e.class??""}`},[n("input",{type:"radio",name:a,checked:e.open}),n("div",{class:"collapse-title text-xl font-medium"},e.title),n("div",{class:"collapse-content"},t)])};var ne={};m(ne,{Alert:()=>Dt});var Dt=(e,t)=>{return t===void 0&&(t=e,e={}),n("div",{...e,class:`alert ${e.class??""}`},t)};var ae={};m(ae,{Autocomplete:()=>At});var At=(e)=>{let t=h(""),a=h(!1),s=h(-1),c=h([]);_(()=>{return(typeof e.value==="function"?e.value():e.value)||""},(o)=>setTimeout(()=>t(o),0)),_(()=>{let o=String(t()).toLowerCase(),i=typeof e.items==="function"?e.items():e.items,u=o?i.filter((f)=>(typeof f==="string"?f:f.label).toLowerCase().includes(o)):i;c(u)});let r=(o)=>{let i=typeof o==="string"?o:o.label,u=typeof o==="string"?o:o.value;if(t(i),typeof e.value==="function")e.value(u);e.onselect?.(o),a(!1),s(-1)},l=(o)=>{let i=c();if(o.key==="ArrowDown")o.preventDefault(),a(!0),s(Math.min(s()+1,i.length-1));else if(o.key==="ArrowUp")o.preventDefault(),s(Math.max(s()-1,0));else if(o.key==="Enter"&&s()>=0)o.preventDefault(),r(i[s()]);else if(o.key==="Escape")a(!1)};return n("div",{class:`relative w-full ${e.class??""}`},[n("label",{class:"input input-bordered w-full"},[n("span",{class:"icon-[lucide--search]"}),n("input",{...e,type:"text",class:"grow",placeholder:e.placeholder||"Buscar...",value:t,onfocus:()=>a(!0),onblur:()=>setTimeout(()=>a(!1),150),onkeydown:l,oninput:(o)=>{let i=o.target.value;if(t(i),typeof e.value==="function")e.value(i);a(!0),s(-1)}})]),n("ul",{class:"absolute left-0 w-full menu bg-base-100 rounded-box mt-1 p-2 shadow-xl max-h-60 overflow-y-auto border border-base-300 z-50",style:()=>`display: ${a()&&c().length?"block":"none"};`},[$(c,(o,i)=>n("li",{},[n("a",{class:()=>`block w-full ${s()===i?"active bg-primary text-primary-content":""}`,onclick:()=>r(o),onmouseenter:()=>s(i)},typeof o==="string"?o:o.label)]),(o,i)=>(typeof o==="string"?o:o.value)+i),()=>c().length===0?n("li",{class:"flex justify-center p-4 opacity-50"},n("span",{class:"icon-[lucide--search-x] text-2xl"})):null])])};var se={};m(se,{Badge:()=>Nt});var Nt=(e,t)=>{return t===void 0&&(t=e,e={}),n("span",{...e,class:`badge ${e.class??""}`},t)};var le={};m(le,{Button:()=>Bt});var Bt=(e,t)=>{return t===void 0&&(t=e,e={}),n("button",{...e,class:`btn ${e.class??""}`},t)};var ce={};m(ce,{Calendar:()=>oe});var oe=(e)=>{let t=h(new Date),a=h(null),s=h(0),c=h(0),r=()=>{return(typeof e.range==="function"?e.range():e.range)===!0},l=new Date,o=`${l.getFullYear()}-${String(l.getMonth()+1).padStart(2,"0")}-${String(l.getDate()).padStart(2,"0")}`,i=(d)=>{let y=d.getFullYear(),w=String(d.getMonth()+1).padStart(2,"0"),k=String(d.getDate()).padStart(2,"0");return`${y}-${w}-${k}`},u=()=>{return typeof e.value==="function"?e.value():e.value},f=(d)=>{let y=i(d),w=u();if(r())if(!w?.start||w.start&&w.end){let k={start:y,end:null,...e.hour&&{startHour:s()}};e.onChange?.(k)}else{let k=w.start,B;if(y{let y=t();t(new Date(y.getFullYear(),y.getMonth()+d,1))},b=(d)=>{let y=t();t(new Date(y.getFullYear()+d,y.getMonth(),1))},v=({value:d,onChange:y})=>{return n("div",{class:"flex-1"},[n("div",{class:"flex gap-2 items-center"},[n("input",{type:"range",min:0,max:23,value:d,class:"range range-xs flex-1",oninput:(w)=>y(parseInt(w.target.value))}),n("span",{class:"text-sm font-mono min-w-[48px] text-center"},()=>String(typeof d==="function"?d():d).padStart(2,"0")+":00")])])};return n("div",{class:`p-4 bg-base-100 border border-base-300 shadow-2xl rounded-box w-80 select-none ${e.class??""}`.trim()},[n("div",{class:"flex justify-between items-center mb-4 gap-1"},[n("div",{class:"flex gap-0.5"},[n("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>b(-1)},n("span",{class:"icon-[lucide--chevrons-left]"})),n("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>g(-1)},n("span",{class:"icon-[lucide--chevron-left]"}))]),n("span",{class:"font-bold uppercase flex-1 text-center"},[()=>t().toLocaleString("es-ES",{month:"short",year:"numeric"})]),n("div",{class:"flex gap-0.5"},[n("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>g(1)},n("span",{class:"icon-[lucide--chevron-right]"})),n("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>b(1)},n("span",{class:"icon-[lucide--chevrons-right]"}))])]),n("div",{class:"grid grid-cols-7 gap-1",onmouseleave:()=>a(null)},[...["L","M","X","J","V","S","D"].map((d)=>n("div",{class:"text-[10px] opacity-40 font-bold text-center"},d)),()=>{let d=t(),y=d.getFullYear(),w=d.getMonth(),k=new Date(y,w,1).getDay(),B=k===0?6:k-1,dt=new Date(y,w+1,0).getDate(),W=[];for(let R=0;R{let A=u(),Y=a(),mt=typeof A==="string"?A.split("T")[0]===C:A?.start===C,gt=A?.end===C,J=!1;if(r()&&A?.start){let V=A.start;if(!A.end&&Y)J=C>V&&C<=Y||C=Y;else if(A.end)J=C>V&&C{if(r())a(C)},onclick:()=>f(qe)},R.toString()))}return W}]),e.hour?n("div",{class:"mt-3 pt-2 border-t border-base-300"},[r()?n("div",{class:"flex gap-4"},[v({value:s,onChange:(d)=>s(d)}),v({value:c,onChange:(d)=>c(d)})]):v({value:s,onChange:(d)=>s(d)})]):null])};var re={};m(re,{CardTitle:()=>Ft,CardBody:()=>It,CardActions:()=>Lt,Card:()=>Rt});var Rt=(e,t)=>{return t===void 0&&(t=e,e={}),n("div",{...e,class:`card ${e.class??""}`},t)},Ft=(e,t)=>{return t===void 0&&(t=e,e={}),n("div",{...e,class:`card-title ${e.class??""}`},t)},It=(e,t)=>{return t===void 0&&(t=e,e={}),n("div",{...e,class:`card-body ${e.class??""}`},t)},Lt=(e,t)=>{return t===void 0&&(t=e,e={}),n("div",{...e,class:`card-actions ${e.class??""}`},t)};var ie={};m(ie,{CarouselItem:()=>Ht,Carousel:()=>zt});var zt=(e,t)=>{return t===void 0&&(t=e,e={}),n("div",{...e,class:`carousel ${e.class??""}`},t)},Ht=(e,t)=>{return t===void 0&&(t=e,e={}),n("div",{...e,class:`carousel-item ${e.class??""}`},t)};var ue={};m(ue,{ChatMessage:()=>jt,ChatImage:()=>Ge,ChatHeader:()=>Qe,ChatFooter:()=>Ze,ChatBubble:()=>Me,Chat:()=>Xe});var Xe=(e,t)=>{return t===void 0&&(t=e,e={}),n("div",{...e,class:`chat ${e.class??""}`},t)},Ge=(e,t)=>{return t===void 0&&(t=e,e={}),n("div",{...e,class:`chat-image avatar ${e.class??""}`},n("div",{class:"w-10 rounded-full"},typeof t==="string"?n("img",{src:t,alt:"avatar"}):t))},Qe=(e,t)=>{return t===void 0&&(t=e,e={}),n("div",{...e,class:`chat-header ${e.class??""}`},t)},Ze=(e,t)=>{return t===void 0&&(t=e,e={}),n("div",{...e,class:`chat-footer ${e.class??""}`},t)},Me=(e,t)=>{return t===void 0&&(t=e,e={}),n("div",{...e,class:`chat-bubble ${e.class??""}`},t)},jt=(e)=>{let{position:t="start",avatar:a,header:s,message:c,footer:r,bubbleClass:l,...o}=e;return Xe({...o,class:`chat-${t} ${e.class??""}`},[a&&Ge(a),s&&Qe(s),Me({class:l},c),r&&Ze(r)])};var fe={};m(fe,{Checkbox:()=>Pt});var Pt=(e)=>n("input",{...e,type:"checkbox",class:`checkbox ${e.class??""}`});var de={};m(de,{Colorpicker:()=>Ot});var Ot=(e)=>{let t=h(!1),a=["#000","#1A1A1A","#333","#4D4D4D","#666","#808080","#B3B3B3","#FFF","#450a0a","#7f1d1d","#991b1b","#b91c1c","#dc2626","#ef4444","#f87171","#fca5a5","#431407","#7c2d12","#9a3412","#c2410c","#ea580c","#f97316","#fb923c","#ffedd5","#713f12","#a16207","#ca8a04","#eab308","#facc15","#fde047","#fef08a","#fff9c4","#064e3b","#065f46","#059669","#10b981","#34d399","#4ade80","#84cc16","#d9f99d","#082f49","#075985","#0284c7","#0ea5e9","#38bdf8","#7dd3fc","#22d3ee","#cffafe","#1e1b4b","#312e81","#4338ca","#4f46e5","#6366f1","#818cf8","#a5b4fc","#e0e7ff","#2e1065","#4c1d95","#6d28d9","#7c3aed","#8b5cf6","#a855f7","#d946ef","#fae8ff"],s=()=>{let c=e.value;return(typeof c==="function"?c():c)||"#000000"};return n("div",{class:`relative w-fit ${e.class??""}`},[n("button",{type:"button",class:"btn px-3 bg-base-100 border-base-300 hover:border-primary/50 flex items-center gap-2 shadow-sm font-normal normal-case",onclick:(c)=>{c.stopPropagation(),t(!t())},...e},[n("div",{class:"size-5 rounded-sm shadow-inner border border-black/10 shrink-0",style:()=>`background-color: ${s()}`}),e.label?n("span",{class:"opacity-80"},e.label):null]),p(t,()=>n("div",{class:"absolute left-0 mt-2 p-3 bg-base-100 border border-base-300 shadow-2xl rounded-box z-[110] w-64 select-none",onclick:(c)=>c.stopPropagation()},[n("div",{class:"grid grid-cols-8 gap-1"},a.map((c)=>n("button",{type:"button",style:`background-color: ${c}`,class:()=>{return`size-6 rounded-sm cursor-pointer transition-all hover:scale-125 hover:z-10 active:scale-95 outline-none border border-black/5 p-0 min-h-0 ${s().toLowerCase()===c.toLowerCase()?"ring-2 ring-offset-1 ring-primary z-10 scale-110":""}`},onclick:()=>{if(typeof e.value==="function")e.value(c);t(!1)}})))])),p(t,()=>n("div",{class:"fixed inset-0 z-[100]",onclick:()=>t(!1)}))])};var me={};m(me,{Datepicker:()=>qt});var qt=(e)=>{let t=h(!1),a=()=>{return(typeof e.range==="function"?e.range():e.range)===!0},s=h("");_(()=>{let l=typeof e.value==="function"?e.value():e.value;if(!l){s("");return}let o="";if(typeof l==="string")o=e.hour&&l.includes("T")?l.replace("T"," "):l;else if(l.start&&l.end){let i=e.hour&&l.startHour!==void 0?`${l.start} ${String(l.startHour).padStart(2,"0")}:00`:l.start,u=e.hour&&l.endHour!==void 0?`${l.end} ${String(l.endHour).padStart(2,"0")}:00`:l.end;o=`${i} - ${u}`}else if(l.start)o=`${e.hour&&l.startHour!==void 0?`${l.start} ${String(l.startHour).padStart(2,"0")}:00`:l.start}...`;s(o)});let c=(l)=>{if(typeof e.value==="function")e.value(l);if(!a()||l?.end!==void 0&&l?.end!==null)t(!1)},r=(l)=>{l.stopPropagation(),t(!t())};return n("div",{class:`relative w-full ${e.class??""}`},[n("label",{class:"input input-bordered w-full",onclick:r},[n("span",{class:"icon-[lucide--calendar]"}),n("input",{...e,type:"text",class:"grow",value:s,readonly:!0,placeholder:e.placeholder||(a()?"Seleccionar rango...":"Seleccionar fecha...")})]),p(t,()=>n("div",{class:"absolute left-0 mt-2 z-[100]",onclick:(l)=>l.stopPropagation()},[oe({value:e.value,range:a(),hour:e.hour,onChange:c})])),p(t,()=>n("div",{class:"fixed inset-0 z-[90]",onclick:()=>t(!1)}))])};var ge={};m(ge,{Sidebar:()=>Wt,Drawer:()=>Kt});var Kt=(e,t)=>{return t===void 0&&(t=e,e={}),n("div",{...e,class:`drawer ${e.class??""}`},t)},Wt=(e)=>{let t=e.id||`drawer-${Math.random().toString(36).slice(2,9)}`;return n("div",{...e,class:`drawer ${e.class??""}`},[n("input",{id:t,type:"checkbox",class:"drawer-toggle",checked:()=>typeof e.open==="function"?e.open():e.open,onchange:(a)=>typeof e.open==="function"&&e.open(a.target.checked)}),n("div",{class:"drawer-content"},e.children),n("div",{class:"drawer-side"},[n("label",{for:t,class:"drawer-overlay",onclick:()=>typeof e.open==="function"&&e.open(!1)}),n("div",{class:"min-h-full bg-base-200 w-80 p-4"},typeof e.content==="function"?e.content():e.content)])])};var he={};m(he,{Dropdown:()=>Yt});var N=null;if(typeof window<"u"&&!window.__dropdownHandlerRegistered)window.addEventListener("click",(e)=>{if(N&&!N.contains(e.target))N.open=!1,N=null}),window.__dropdownHandlerRegistered=!0;var Yt=(e)=>n("details",{...e,class:`dropdown ${e.class??""}`,onclick:(t)=>{let a=t.currentTarget;if(N&&N!==a)N.open=!1;setTimeout(()=>{N=a.open?a:null},0)}},e.children);var be={};m(be,{Fab:()=>Jt});var Jt=(e,t)=>{return t===void 0&&(t=e,e={}),n("div",{...e,class:`fab ${e.class??""}`},t)};var ye={};m(ye,{Fieldset:()=>Vt});var Vt=(e,t)=>n("fieldset",{...e,class:`fieldset ${e.class??""}`},[e.legend?n("legend",{class:"fieldset-legend"},e.legend):null,t]);var ve={};m(ve,{Fileinput:()=>Ut});var Ut=(e)=>{let t=h([]),a=h(!1),s=h(null),c=(e.max||2)*1024*1024,r=(o)=>{let i=Array.from(o);if(s(null),i.find((u)=>u.size>c)){s(`Máx ${e.max||2}MB`);return}t([...t(),...i]),e.onselect?.(t())},l=(o)=>{let i=t().filter((u,f)=>f!==o);t(i),e.onselect?.(i)};return n("div",{...e,class:`fieldset w-full p-0 ${e.class??""}`},[n("label",{class:()=>`relative flex items-center justify-between w-full h-12 px-4 border-2 border-dashed rounded-lg cursor-pointer transition-all duration-200 ${a()?"border-primary bg-primary/10":"border-base-content/20 bg-base-100 hover:bg-base-200"}`,ondragover:(o)=>{o.preventDefault(),a(!0)},ondragleave:()=>a(!1),ondrop:(o)=>{o.preventDefault(),a(!1),r(o.dataTransfer.files)}},[n("div",{class:"flex items-center gap-3 w-full"},[n("span",{class:"icon-[lucide--upload]"}),n("span",{class:"text-sm opacity-70 truncate grow text-left"},"Arrastra o selecciona archivos..."),n("span",{class:"text-[10px] opacity-40 shrink-0"},`Máx ${e.max||2}MB`)]),n("input",{type:"file",multiple:!0,accept:e.accept||"*",class:"hidden",onchange:(o)=>r(o.target.files)})]),()=>s()&&n("span",{class:"text-[10px] text-error mt-1 px-1 font-medium"},s()),p(()=>t().length>0,()=>n("ul",{class:"mt-2 space-y-1"},[$(t,(o,i)=>n("li",{class:"flex items-center justify-between p-1.5 pl-3 text-xs bg-base-200/50 rounded-md border border-base-300"},[n("div",{class:"flex items-center gap-2 truncate"},[n("span",{class:"opacity-50"},"\uD83D\uDCC4"),n("span",{class:"truncate font-medium max-w-[200px]"},o.name),n("span",{class:"text-[9px] opacity-40"},`(${(o.size/1024).toFixed(0)} KB)`)]),n("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle",onclick:(u)=>{u.preventDefault(),l(i)}},n("span",{class:"icon-[lucide--x]"}))]),(o)=>o.name+o.lastModified)]))])};var xe={};m(xe,{Icon:()=>Xt});var Xt=(e,t)=>{if(typeof e==="string"){if(e.includes("icon-")||e.startsWith("lucide-"))return n("span",{class:e},t);return n("span",{class:"icon"},e)}if(!e)return null;let{class:a,...s}=e;return n("span",{...s,class:a},t)};var we={};m(we,{Indicator:()=>Gt});var Gt=(e,t)=>{return t===void 0&&(t=e,e={}),n("div",{...e,class:`indicator ${e.class??""}`},[e.value?n("span",{class:`indicator-item badge ${e.class??""}`},e.value):null,t])};var $e={};m($e,{Input:()=>Qt});var et=(e)=>typeof e==="function"?e():e;var tt=(...e)=>e.filter(Boolean).join(" ").trim();var nt=(e)=>typeof e==="function";var Qt=(e)=>{let{label:t,icon:a,float:s,placeholder:c,value:r,left:l,right:o,content:i,...u}=e,f=h(!1),g=h(!1),b=e.type==="password",v=()=>b?et(f)?"text":"password":e.type||"text";return n("div",{class:"input-container",onfocusin:()=>g(!0),onfocusout:(d)=>{if(!d.currentTarget.contains(d.relatedTarget))g(!1)}},[n("label",{class:"floating-label"},[s?n("span",{},t):null,n("label",{class:()=>tt("input",e.class)},[t&&!s?n("span",{class:"label"},t):null,l??null,n("input",{...u,type:v,class:"grow",placeholder:c||t||" ",value:r}),o??null,b?n("label",{class:"swap swap-rotate ml-2"},[n("input",{type:"checkbox",onchange:(d)=>f(d.target.checked)}),n("span",{class:"swap-on icon-[lucide--eye]"}),n("span",{class:"swap-off icon-[lucide--eye-off]"})]):null]),p(g,()=>M({duration:300,slide:!0},n("div",{class:"input-content",onmousedown:(d)=>d.preventDefault()},[nt(i)?i(g):i])))])])};var ke={};m(ke,{Kbd:()=>Zt});var Zt=(e,t)=>{return t===void 0&&(t=e,e={}),n("kbd",{...e,class:`kbd ${e.class??""}`},t)};var Se={};m(Se,{Loading:()=>Mt});var Mt=(e,t)=>{return t===void 0&&(t=e,e={}),n("span",{...e,class:`loading loading-spinner ${e.class??""}`},t)};var _e={};m(_e,{MenuItems:()=>at,Menu:()=>en});var en=(e,t)=>{return t===void 0&&(t=e,e={}),n("ul",{...e,class:`menu ${e.class??""}`},t)},at=(e)=>{let{items:t,keyFn:a=(r,l)=>r.id??l}=e;return $(typeof t==="function"?t:()=>t||[],(r)=>{if(r.children)return n("li",{},[n("details",{},[n("summary",{},r.label),n("ul",{},at({items:r.children}))])]);return n("li",{},n("a",{href:r.href,onclick:r.onclick?(l)=>{if(!r.href)l.preventDefault();r.onclick(l)}:null},r.label))},a)};var Ce={};m(Ce,{Modal:()=>tn});var tn=(e)=>{let t=null;_(()=>{let s=typeof e.open==="function"?e.open():e.open;if(!t)return;s?t.showModal():t.close()});let a=()=>typeof e.open==="function"&&e.open(!1);return n("dialog",{...e,ref:(s)=>t=s,class:`modal ${e.class??""}`,onclose:a,oncancel:a},[n("div",{class:"modal-box"},[e.title&&n("h3",{class:"text-lg font-bold"},e.title),e.children,n("div",{class:"modal-action"},[e.actions||n("button",{class:"btn",onclick:a},"Cerrar")])]),n("form",{method:"dialog",class:"modal-backdrop"},[n("button",{},"close")])])};var Te={};m(Te,{Navbar:()=>nn});var nn=(e,t)=>{return t===void 0&&(t=e,e={}),n("div",{...e,class:`navbar ${e.class??""}`},t)};var Ee={};m(Ee,{Radial:()=>an});var an=(e,t)=>{t===void 0&&(t=e,e={});let a=e.value!=null?e.value/(e.max||100)*100:0,s=`--value: ${a}; --max: 100;`;return n("div",{...e,class:`radial-progress ${e.class??""}`,style:s,role:"progressbar","aria-valuenow":e.value,"aria-valuemin":0,"aria-valuemax":e.max||100},t||`${Math.round(a)}%`)};var pe={};m(pe,{Radio:()=>sn});var sn=(e)=>n("input",{...e,type:"radio",class:`radio ${e.class??""}`});var De={};m(De,{Range:()=>ln});var ln=(e)=>n("input",{...e,type:"range",class:`range ${e.class??""}`});var Ae={};m(Ae,{Rating:()=>on});var on=(e,t)=>{t===void 0&&(t=e,e={});let a=`rating-${Math.random().toString(36).slice(2,7)}`;return n("div",{...e,class:`rating ${e.class??""}`},t||Array.from({length:e.count||5},(s,c)=>{let r=c+1;return n("input",{type:"radio",name:a,class:`mask ${e.mask||"mask-star"}`,checked:()=>typeof e.value==="function"?e.value()===r:e.value===r,onchange:()=>{if(e.onchange)e.onchange(r);else if(typeof e.value==="function")e.value(r)}})}))};var Ne={};m(Ne,{SkeletonText:()=>rn,Skeleton:()=>cn});var cn=(e)=>n("div",{...e,class:`skeleton ${e.class??""}`}),rn=(e)=>{return n("div",{...e,class:"space-y-2"},Array.from({length:e.lines||3},()=>n("div",{class:`skeleton h-4 w-full ${e.class??""}`})))};var Be={};m(Be,{SelectLabel:()=>dn,SelectItems:()=>fn,Select:()=>un});var un=(e,t)=>{return t===void 0&&(t=e,e={}),n("select",{...e,class:`select ${e.class??""}`},t)},fn=(e)=>{let t=e.placeholder?n("option",{disabled:e.placeholderDisabled??!0,selected:!0},e.placeholder):null,a=$(()=>[...typeof e.items==="function"?e.items():e.items||[]],(s)=>{let c=typeof s==="string"?s:s.value,r=typeof s==="string"?s:s.label;return n("option",{value:c},r)},e.keyFn||((s)=>typeof s==="string"?s:s.value));return t?[t,a]:a},dn=(e,t)=>n("label",{class:`${e.float?"floating-label":"select"}`},[n("span",{class:e.float?"":"label opacity-50"},e.label),e.left??null,n("select",{...e,class:`${e.float?"select":""} ${e.class??""}`},t),e.right??null]);var Re={};m(Re,{Stack:()=>mn});var mn=(e,t)=>{return t===void 0&&(t=e,e={}),n("div",{...e,class:`stack ${e.class??""}`},t)};var P={};m(P,{Stats:()=>gn,Stat:()=>hn});var gn=(e,t)=>{t===void 0&&(t=e,e={});let a=e.vertical?"stats-vertical":"stats-horizontal";return n("div",{...e,class:`stats ${a} ${e.class??""}`.trim()},t)},hn=(e,t)=>{return t===void 0&&(t=e,e={}),n("div",{...e,class:`stat ${e.class??""}`},[e.icon&&n("div",{class:"stat-figure"},e.icon),e.label&&n("div",{class:"stat-title"},e.label),e.value&&n("div",{class:"stat-value"},e.value),e.desc&&n("div",{class:"stat-desc"},e.desc),e.actions&&n("div",{class:"stat-actions"},e.actions),t])};var Fe={};m(Fe,{Swap:()=>bn});var bn=(e)=>{return n("label",{...e,class:`swap ${e.class??""}`},[n("input",{type:"checkbox",checked:()=>typeof e.value==="function"?e.value():e.value,onchange:(t)=>typeof e.value==="function"&&e.value(t.target.checked)}),n("div",{class:"swap-on"},e.on),n("div",{class:"swap-off"},e.off)])};var Ie={};m(Ie,{TableItems:()=>vn,Table:()=>yn});var yn=(e,t)=>{return t===void 0&&(t=e,e={}),n("table",{...e,class:`table ${e.class??""}`},t)},vn=(e)=>{let t=typeof e.items==="function"?e.items():e.items||[],a=e.header!==!1&&e.columns?.some((c)=>c.label)?n("thead",{},n("tr",{},e.columns.map((c)=>n("th",{class:c.class},c.label)))):null,s=n("tbody",{},[$(t,(c,r)=>n("tr",{},e.columns.map((l)=>{let o=l.render?l.render(c,r):c[l.key];return n("td",{class:l.class},o)})),e.keyFn||((c,r)=>c.id??r))]);return[a,s]};var Le={};m(Le,{Tabs:()=>xn,TabItems:()=>wn,TabContent:()=>lt,TabClose:()=>ot,Tab:()=>st});var xn=(e,t)=>{return t===void 0&&(t=e,e={}),n("div",{...e,class:`tabs ${e.class??""}`},t)},st=(e,t)=>{return t===void 0&&(t=e,e={}),n("a",{...e,role:"tab",class:`tab ${e.class??""}`},t)},lt=(e,t)=>{return t===void 0&&(t=e,e={}),n("div",{...e,class:`tab-content ${e.class??""}`},t)},ot=(e)=>n("a",{...e,role:"tab",class:`tab ${e.class??""}`},[n("span",{class:"flex items-center"},[e.label,n("span",{class:"icon-[lucide--x] w-3.5 h-3.5 ml-2 cursor-pointer hover:opacity-70",onclick:(t)=>{t.stopPropagation(),e.onClose?.(t)}})])]),wn=(e)=>{let t=typeof e.items==="function"?e.items:()=>e.items||[];return $(t,(a,s)=>{return[(a.closable?ot:st)({...a,class:()=>e.activeIndex()===s?`tab-active ${a.class??""}`:a.class,onclick:(r)=>{r.preventDefault(),e.activeIndex(s),a.onclick?.(r)},onClose:()=>e.onClose?.(s,a)}),lt({style:()=>`display: ${e.activeIndex()===s?"block":"none"};`},typeof a.content==="function"?a.content():a.content)]},(a,s)=>a.id??s)};var ze={};m(ze,{Textarea:()=>$n});var $n=(e)=>n("textarea",{...e,class:`textarea ${e.class??""}`});var He={};m(He,{TextRotate:()=>kn});var kn=(e)=>{let t=Array.isArray(e.words)?e.words:typeof e.words==="string"?e.words.split(","):[];return n("span",{...e,class:`text-rotate ${e.class??""}`},[n("span",{},t.map((a)=>n("span",{},a)))])};var je={};m(je,{Timeline:()=>Sn});var Sn=(e,t)=>{t===void 0&&(t=e,e={});let a=e.vertical!==!1,s=e.compact===!0;return n("ul",{...e,class:`timeline ${a?"timeline-vertical":"timeline-horizontal"} ${s?"timeline-compact":""} ${e.class??""}`.trim()},t)};var Pe={};m(Pe,{Toast:()=>_n});var _n=(e,t="alert-success",a=3500)=>{let s=document.getElementById("sigpro-toast-container");if(!s)s=n("div",{id:"sigpro-toast-container",class:"fixed top-0 right-0 z-[9999] p-4 flex flex-col gap-2 pointer-events-none"}),document.body.appendChild(s);let c=n("div",{style:"display: contents"});s.appendChild(c);let r,l=()=>{clearTimeout(r);let u=c.firstElementChild;if(u&&!u.classList.contains("opacity-0"))u.classList.add("translate-x-full","opacity-0"),setTimeout(()=>{if(i.destroy(),c.remove(),!s.hasChildNodes())s.remove()},300);else i.destroy(),c.remove()},i=ee(()=>{let u=n("span",{class:"icon-[lucide--x]"}),f=n("button",{class:"btn btn-xs btn-circle btn-ghost",onclick:l},u),g=n("div",{class:`alert alert-soft ${t} shadow-lg transition-all duration-300 translate-x-10 opacity-0 pointer-events-auto`},[n("span",{},typeof e==="function"?e():e),f]);return requestAnimationFrame(()=>g.classList.remove("translate-x-10","opacity-0")),g},c);if(a>0)r=setTimeout(l,a);return l};var Oe={};m(Oe,{Tooltip:()=>Cn});var Cn=(e,t)=>{return t===void 0&&(t=e,e={}),n("div",{...e,class:`tooltip ${e.class??""}`,"data-tip":e.tip},t)};var Tn={es:{close:"Cerrar",confirm:"Confirmar",cancel:"Cancelar",search:"Buscar...",loading:"Cargando...",nodata:"Sin datos"},en:{close:"Close",confirm:"Confirm",cancel:"Cancel",search:"Search...",loading:"Loading...",nodata:"No data"}},ct=h("es"),rt=(e)=>ct(e),it=(e)=>()=>Tn[ct()][e]||e;var ut={...te,...ne,...ae,...se,...le,...ce,...re,...ie,...ue,...fe,...de,...me,...ge,...he,...be,...ye,...ve,...xe,...we,...$e,...ke,...Se,..._e,...Ce,...Te,...Ee,...pe,...De,...Ae,...Ne,...Be,...Re,...P,...P,...Fe,...Ie,...Le,...ze,...He,...je,...Pe,...Oe},ft={Locale:rt,tt:it};if(typeof window<"u")Object.entries({...ut,...ft}).forEach(([e,t])=>{Object.defineProperty(window,e,{value:t,writable:!1,configurable:!0,enumerable:!0})}),console.log("SigProUI installed");})(); diff --git a/index.d.ts b/index.d.ts index c7e1d7c..023a71c 100644 --- a/index.d.ts +++ b/index.d.ts @@ -71,7 +71,7 @@ declare module 'sigpro-ui' { label?: string | (() => string); placeholder?: string | (() => string); } - function Autocomplete(props: AutocompleteProps): HTMLElement; + function autocomplete(props: AutocompleteProps): HTMLElement; // Badge interface BadgeProps extends BaseProps, EventProps {} @@ -83,7 +83,7 @@ declare module 'sigpro-ui' { loading?: boolean | (() => boolean); icon?: string | (() => string) | HTMLElement; } - function Button(props: ButtonProps, children: ComponentChildren): HTMLElement; + function button(props: ButtonProps, children: ComponentChildren): HTMLElement; // Checkbox interface CheckboxProps extends BaseProps, EventProps { @@ -160,7 +160,7 @@ declare module 'sigpro-ui' { interface FieldsetProps extends BaseProps, EventProps { legend?: string | (() => string); } - function Fieldset(props: FieldsetProps, children: ComponentChildren): HTMLElement; + function fieldset(props: FieldsetProps, children: ComponentChildren): HTMLElement; // Fileinput interface FileinputProps extends BaseProps, EventProps { @@ -188,7 +188,7 @@ declare module 'sigpro-ui' { validate?: (value: string) => string | null | undefined; label?: string | (() => string); } - function Input(props: InputProps): HTMLElement; + function input(props: InputProps): HTMLElement; // Label interface LabelProps extends BaseProps, EventProps { @@ -197,7 +197,7 @@ declare module 'sigpro-ui' { error?: string | (() => string); required?: boolean; } - function Label(props: LabelProps, children: ComponentChildren): HTMLElement; + function label(props: LabelProps, children: ComponentChildren): HTMLElement; // List interface ListProps extends BaseProps, EventProps { @@ -276,7 +276,7 @@ declare module 'sigpro-ui' { items?: SelectOption[] | (() => SelectOption[]); value?: Signal | string | number; } - function Select(props: SelectProps): HTMLElement; + function select(props: SelectProps): HTMLElement; // Stack interface StackProps extends BaseProps, EventProps {} diff --git a/index.js b/index.js index 3daff5a..59e10f0 100644 --- a/index.js +++ b/index.js @@ -1,15 +1,15 @@ import * as AccordionModule from './components/accordion.js'; import * as AlertModule from './components/alert.js'; -import * as AutocompleteModule from './components/autocomplete.js'; +import * as AutocompleteModule from './components/Autocomplete.js'; import * as BadgeModule from './components/badge.js'; import * as ButtonModule from './components/button.js'; -import * as CalendarModule from './components/calendar.js'; +import * as CalendarModule from './components/Calendar.js'; import * as CardModule from './components/card.js'; import * as CarouselModule from './components/carousel.js'; import * as ChatModule from './components/chat.js'; import * as CheckboxModule from './components/checkbox.js'; import * as ColorpickerModule from './components/colorpicker.js'; -import * as DatepickerModule from './components/datepicker.js'; +import * as DatepickerModule from './components/Datepicker.js'; import * as DrawerModule from './components/drawer.js'; import * as DropdownModule from './components/dropdown.js'; import * as FabModule from './components/fab.js'; @@ -17,7 +17,7 @@ import * as FieldsetModule from './components/fieldset.js'; import * as FileinputModule from './components/fileinput.js'; import * as IconModule from './components/icon.js'; import * as IndicatorModule from './components/indicator.js'; -import * as InputModule from './components/input.js'; +import * as InputModule from './components/Input.js'; import * as KdbModule from './components/kbd.js'; // import * as ListModule from './components/List.js'; import * as LoadingModule from './components/loading.js'; diff --git a/sigpro.css b/sigpro.css index 8e1fdf1..aeb892a 100644 --- a/sigpro.css +++ b/sigpro.css @@ -60,74 +60,38 @@ font-size: 14px; } - .input, +.label, .select, .textarea { transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); &:focus, &:focus-within { - outline: 1px solid transparent !important; - outline-offset: 1px !important; + outline: none !important; + box-shadow: 0 0 4px 0px; } &:hover:not(:focus) { background-color: oklch(from var(--color-base-100) calc(l - 0.03) c h); } - &:focus { - --focus-color: var(--color-primary); - - &[class*="-secondary"] { - --focus-color: var(--color-secondary); - } - &[class*="-accent"] { - --focus-color: var(--color-accent); - } - &[class*="-neutral"] { - --focus-color: var(--color-neutral); - } - &[class*="-ghost"] { - --focus-color: var(--color-base-content); - } - &[class*="-info"] { - --focus-color: var(--color-info); - } - &[class*="-success"] { - --focus-color: var(--color-success); - } - &[class*="-warning"] { - --focus-color: var(--color-warning); - } - &[class*="-error"] { - --focus-color: var(--color-error); - } - - background-color: oklch(from var(--focus-color) l c h / 0.05); - border-color: var(--focus-color); - box-shadow: 0 0 0 4px oklch(from var(--focus-color) l c h / 0.25); - - &[class*="-ghost"] { - border-width: 1px; - } - } } .floating-label span { - color: oklch(30% 0.01 260); /* Gris más oscuro (30% es más oscuro que 45%) */ - font-size: 1.1rem; /* text-base: más grande que 0.875rem */ + color: oklch(30% 0.01 260); + font-size: 1.1rem; transition: all 0.2s ease; } .floating-label:focus-within span { - color: oklch(25% 0.02 260); /* Aún más oscuro al enfocar */ - font-size: 1.1rem; /* Mantiene el mismo tamaño */ + color: oklch(25% 0.02 260); + font-size: 1.1rem; } .floating-label:has(input:not(:placeholder-shown)) span { - color: oklch(28% 0.01 260); /* Gris oscuro cuando tiene valor */ - font-size: 1.1rem; /* Mantiene el mismo tamaño */ + color: oklch(28% 0.01 260); + font-size: 1.1rem; } .tab-content-inner { @@ -135,6 +99,16 @@ transform-origin: top; } +.input-content { + position: absolute; /* Lo saca del flujo para que no empuje nada */ + top: 100%; /* Lo pega justo al borde inferior del input */ + left: 0; + width: 100%; /* Para que mida lo mismo que el input */ + z-index: 100; /* Para que pase por encima de otros botones/inputs */ + background: white; /* Para que no sea transparente y se lea bien */ + box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Opcional: para darle profundidad */ +} + @keyframes tabFadeIn { from { opacity: 0; @@ -146,6 +120,34 @@ } } +@layer utilities { + @keyframes fade-in { + from { + opacity: 0; + transform: translateY(-8px); + } + to { + opacity: 1; + transform: translateY(0); + } + } + + @keyframes fade-out { + from { + opacity: 1; + transform: translateY(0); + } + to { + opacity: 0; + transform: translateY(-8px); + } + } + + .animate-fade-in { + animation: fade-in 0.15s ease-out forwards; + } +} + /* @layer utilities { button { @apply btn; diff --git a/src/components/Autocomplete.js b/src/components/Autocomplete.js index 6ef095f..304595e 100644 --- a/src/components/Autocomplete.js +++ b/src/components/Autocomplete.js @@ -65,7 +65,7 @@ export const Autocomplete = (props) => { }; return h("div", { class: 'relative w-full' }, [ - Input({ + input({ label, class: className, placeholder: placeholder, diff --git a/src/components/Datepicker.js b/src/components/Datepicker.js index 154f56b..238302e 100644 --- a/src/components/Datepicker.js +++ b/src/components/Datepicker.js @@ -43,7 +43,7 @@ export const Datepicker = (props) => { }; return h("div", { class: ui('relative w-full', className) }, [ - Input({ + input({ label, placeholder: placeholder || (isRangeMode() ? "Seleccionar rango..." : "Seleccionar fecha..."), value: displayValue, diff --git a/src/components/InputPopover.js b/src/components/InputPopover.js index 032eeeb..0d9f6e0 100644 --- a/src/components/InputPopover.js +++ b/src/components/InputPopover.js @@ -23,7 +23,7 @@ export const InputPopover = (props) => { const toggle = () => isOpen(!isOpen()); return h("div", { class: ui("relative w-full", className) }, [ - Input({ + input({ label, placeholder, value: displayValue, diff --git a/src/components/Modal.js b/src/components/Modal.js index e7cae55..9205a76 100644 --- a/src/components/Modal.js +++ b/src/components/Modal.js @@ -53,7 +53,7 @@ export const Modal = (props, children) => { h("div", { class: "modal-action" }, [ h("form", { method: "dialog", class: "flex gap-2" }, [ ...(Array.isArray(buttons) ? buttons : [buttons]).filter(Boolean), - Button({ type: "submit" }, "close") + button({ type: "submit" }, "close") ]) ]) ]), diff --git a/src/components/Toast.js b/src/components/Toast.js index 75f3e13..f20bdc5 100644 --- a/src/components/Toast.js +++ b/src/components/Toast.js @@ -55,7 +55,7 @@ export const Toast = (message, type = "alert-success", duration = 3500) => { }, [ h("span", {}, [typeof message === "function" ? message() : message]), - Button({ + button({ class: "btn-xs btn-circle btn-ghost", onclick: close }, closeIcon)