From 098508d12aabcf1ec23186d9009034f3f57146fc Mon Sep 17 00:00:00 2001 From: natxocc Date: Sat, 2 May 2026 00:37:53 +0200 Subject: [PATCH] Avoid duplicate functions --- dist/sigpro-ui.css | 25 + dist/sigpro-ui.esm.js | 1346 ++++++++++++++++++++----------------- dist/sigpro-ui.esm.min.js | 4 +- dist/sigpro-ui.js | 1346 ++++++++++++++++++++----------------- dist/sigpro-ui.min.css | 2 +- dist/sigpro-ui.min.js | 4 +- docs/.nojekyll | 0 docs/install.md | 2 +- docs/sigpro-ui.min.css | 2 +- docs/sigpro-ui.min.js | 4 +- package.json | 2 - sigpro-ui.js | 8 +- sigpro.js | 512 ++++++++++++++ 13 files changed, 2035 insertions(+), 1222 deletions(-) delete mode 100644 docs/.nojekyll create mode 100644 sigpro.js diff --git a/dist/sigpro-ui.css b/dist/sigpro-ui.css index f71c1f1..67c3e96 100644 --- a/dist/sigpro-ui.css +++ b/dist/sigpro-ui.css @@ -4027,6 +4027,31 @@ flex-direction: var(--tabs-direction); } } + .footer { + @layer daisyui.l1.l2.l3 { + display: grid; + width: 100%; + grid-auto-flow: row; + place-items: start; + column-gap: calc(0.25rem * 4); + row-gap: calc(0.25rem * 10); + font-size: 0.875rem; + line-height: 1.25rem; + & > * { + display: grid; + place-items: start; + gap: calc(0.25rem * 2); + } + &.footer-center { + grid-auto-flow: column dense; + place-items: center; + text-align: center; + & > * { + place-items: center; + } + } + } + } .stat { @layer daisyui.l1.l2.l3 { display: inline-grid; diff --git a/dist/sigpro-ui.esm.js b/dist/sigpro-ui.esm.js index 98cb86e..43a4485 100644 --- a/dist/sigpro-ui.esm.js +++ b/dist/sigpro-ui.esm.js @@ -16,10 +16,21 @@ var __export = (target, all) => { // sigpro-ui.js var exports_sigpro_ui = {}; __export(exports_sigpro_ui, { - tt: () => tt, - i18n: () => i18n, + when: () => when, + watch: () => watch, + t: () => t, + router: () => router, + onUnmount: () => onUnmount, + mount: () => mount, + lang: () => lang, + isObj: () => isObj, + isFunc: () => isFunc, + isArr: () => isArr, hide: () => hide, + h: () => h, + each: () => each, currentLocale: () => currentLocale, + batch: () => batch, Tooltip: () => Tooltip, Toggle: () => Toggle, Toast: () => Toast, @@ -58,6 +69,7 @@ __export(exports_sigpro_ui, { Input: () => Input, Indicator: () => Indicator, Icon: () => Icon, + Fragment: () => Fragment, Fileinput: () => Fileinput, Fieldset: () => Fieldset, Fab: () => Fab, @@ -94,499 +106,623 @@ __export(exports_sigpro_ui, { Avatar: () => Avatar, Autocomplete: () => Autocomplete, Alert: () => Alert, - Accordion: () => Accordion + Accordion: () => Accordion, + $$: () => $$, + $: () => $ }); -// node_modules/sigpro/dist/sigpro.esm.min.js -var _ = (e) => typeof e === "function"; -var O = (e) => e && typeof e === "object"; -var b = Array.isArray; -var E = typeof document < "u" ? document : null; -var V = (e) => e?._isRuntime ? e.container : e instanceof Node ? e : E.createTextNode(e == null ? "" : String(e)); -var d = null; -var m = null; -var v = false; -var R = 0; -var T = new Set; -var I = new WeakMap; -var k = Symbol("iter"); -var L = new WeakMap; -var W = "http://www.w3.org/2000/svg"; -var M = "http://www.w3.org/1999/xlink"; -var q = new Set("svg,path,circle,rect,line,polyline,polygon,g,defs,text,textPath,tspan,use,symbol,image,marker,ellipse".split(",")); -var g = (e) => { - if (!e || e._disposed) +// sigpro.js +var isFunc = (f) => typeof f === "function"; +var isObj = (o) => o && typeof o === "object"; +var isArr = Array.isArray; +var doc = typeof document !== "undefined" ? document : null; +var ensureNode = (n) => n?._isRuntime ? n.container : n instanceof Node ? n : doc.createTextNode(n == null ? "" : String(n)); +var activeEffect = null; +var activeOwner = null; +var isFlushing = false; +var batchDepth = 0; +var effectQueue = new Set; +var proxyCache = new WeakMap; +var ITER = Symbol("iter"); +var MOUNTED_NODES = new WeakMap; +var SVG_NS = "http://www.w3.org/2000/svg"; +var XLINK_NS = "http://www.w3.org/1999/xlink"; +var SVG_TAGS = new Set("svg,path,circle,rect,line,polyline,polygon,g,defs,text,textPath,tspan,use,symbol,image,marker,ellipse".split(",")); +var dispose = (eff) => { + if (!eff || eff._disposed) return; - e._disposed = true; - let s = [e]; - while (s.length) { - let n = s.pop(); - if (n._cleanups) - n._cleanups.forEach((r) => r()), n._cleanups.clear(); - if (n._children) - n._children.forEach((r) => s.push(r)), n._children.clear(); - if (n._deps) - n._deps.forEach((r) => r.delete(n)), n._deps.clear(); + eff._disposed = true; + const stack = [eff]; + while (stack.length) { + const e = stack.pop(); + if (e._cleanups) { + e._cleanups.forEach((fn) => fn()); + e._cleanups.clear(); + } + if (e._children) { + e._children.forEach((child) => stack.push(child)); + e._children.clear(); + } + if (e._deps) { + e._deps.forEach((depSet) => depSet.delete(e)); + e._deps.clear(); + } } }; -var S = (e) => { - if (m) - (m._cleanups ||= new Set).add(e); +var onUnmount = (fn) => { + if (activeOwner) + (activeOwner._cleanups ||= new Set).add(fn); }; -var K = (e) => { - let s = d; - d = null; +var untrack = (fn) => { + const p = activeEffect; + activeEffect = null; try { - return e(); + return fn(); } finally { - d = s; + activeEffect = p; } }; -var x = (e, s = false) => { - let n = () => { - if (n._disposed) +var createEffect = (fn, isComputed = false) => { + const effect = () => { + if (effect._disposed) return; - if (n._deps) - n._deps.forEach((i) => i.delete(n)); - if (n._cleanups) - n._cleanups.forEach((i) => i()), n._cleanups.clear(); - let r = d, o = m; - d = m = n; + if (effect._deps) + effect._deps.forEach((s) => s.delete(effect)); + if (effect._cleanups) { + effect._cleanups.forEach((c) => c()); + effect._cleanups.clear(); + } + const prevEffect = activeEffect; + const prevOwner = activeOwner; + activeEffect = activeOwner = effect; try { - return n._result = e(); - } catch (i) { - console.error("[SigPro]", i); + return effect._result = fn(); + } catch (e) { + console.error("[SigPro]", e); } finally { - d = r, m = o; + activeEffect = prevEffect; + activeOwner = prevOwner; } }; - if (n._deps = n._cleanups = n._children = null, n._disposed = false, n._isComputed = s, n._depth = d ? d._depth + 1 : 0, n._mounts = [], n._parent = m, m) - (m._children ||= new Set).add(n); - return n; + effect._deps = effect._cleanups = effect._children = null; + effect._disposed = false; + effect._isComputed = isComputed; + effect._depth = activeEffect ? activeEffect._depth + 1 : 0; + effect._mounts = []; + effect._parent = activeOwner; + if (activeOwner) + (activeOwner._children ||= new Set).add(effect); + return effect; }; -var $ = () => { - if (v) +var flush = () => { + if (isFlushing) return; - v = true; - let e = Array.from(T).sort((s, n) => s._depth - n._depth); - T.clear(); - for (let s of e) - if (!s._disposed) - s(); - v = false; + isFlushing = true; + const sorted = Array.from(effectQueue).sort((a, b) => a._depth - b._depth); + effectQueue.clear(); + for (const e of sorted) + if (!e._disposed) + e(); + isFlushing = false; }; -var z = (e) => { - R++; +var batch = (fn) => { + batchDepth++; try { - return e(); + return fn(); } finally { - if (R--, R === 0 && T.size > 0 && !v) - $(); + batchDepth--; + if (batchDepth === 0 && effectQueue.size > 0 && !isFlushing) { + flush(); + } } }; -var w = (e, s = false) => { - if (!s && d && !d._disposed) - e.add(d), (d._deps ||= new Set).add(e); - else if (s && e.size > 0) { - let n = false; - for (let r of e) { - if (r === d || r._disposed) +var trackUpdate = (subs, trigger = false) => { + if (!trigger && activeEffect && !activeEffect._disposed) { + subs.add(activeEffect); + (activeEffect._deps ||= new Set).add(subs); + } else if (trigger && subs.size > 0) { + let hasQueue = false; + for (const e of subs) { + if (e === activeEffect || e._disposed) continue; - if (r._isComputed) { - if (r._dirty = true, r._subs) - w(r._subs, true); - } else - T.add(r), n = true; + if (e._isComputed) { + e._dirty = true; + if (e._subs) + trackUpdate(e._subs, true); + } else { + effectQueue.add(e); + hasQueue = true; + } } - if (n && !v && R === 0) - queueMicrotask($); + if (hasQueue && !isFlushing && batchDepth === 0) + queueMicrotask(flush); } }; -var P = (e, s = null) => { - let n = new Set; - if (_(e)) { - let r, o = () => { - if (o._dirty) { - let i = d; - d = o; +var $ = (val, key = null) => { + const subs = new Set; + if (isFunc(val)) { + let cache; + const computed = () => { + if (computed._dirty) { + const prev = activeEffect; + activeEffect = computed; try { - let t = e(); - if (!Object.is(r, t)) - r = t, w(n, true); + const next = val(); + if (!Object.is(cache, next)) { + cache = next; + trackUpdate(subs, true); + } } finally { - d = i; + activeEffect = prev; } - o._dirty = false; + computed._dirty = false; } - return w(n), r; + trackUpdate(subs); + return cache; }; - return o._isComputed = true, o._subs = n, o._dirty = true, o._deps = null, o._disposed = false, o; + computed._isComputed = true; + computed._subs = subs; + computed._dirty = true; + computed._deps = null; + computed._disposed = false; + return computed; } - if (s) + if (key) try { - e = JSON.parse(localStorage.getItem(s)) ?? e; - } catch (r) {} - return (...r) => { - if (r.length) { - let o = _(r[0]) ? r[0](e) : r[0]; - if (!Object.is(e, o)) { - if (e = o, s) - localStorage.setItem(s, JSON.stringify(e)); - w(n, true); + val = JSON.parse(localStorage.getItem(key)) ?? val; + } catch (e) {} + return (...args) => { + if (args.length) { + const next = isFunc(args[0]) ? args[0](val) : args[0]; + if (!Object.is(val, next)) { + val = next; + if (key) + localStorage.setItem(key, JSON.stringify(val)); + trackUpdate(subs, true); } } - return w(n), e; + trackUpdate(subs); + return val; }; }; -var D = (e) => { - if (!O(e)) - return e; - let s = I.get(e); - if (s) - return s; - let n = new Map, r = (i) => { - let t = n.get(i); - if (!t) - n.set(i, t = new Set); - return t; - }, o = new Proxy(e, { get(i, t, c) { - if (typeof t !== "symbol") - w(r(t)); - return D(Reflect.get(i, t, c)); - }, set(i, t, c, l) { - let a = Reflect.has(i, t), f = Reflect.get(i, t, l), u = Reflect.set(i, t, c, l); - if (u && !Object.is(f, c)) { - if (w(r(t), true), !a) - w(r(k), true); +var $$ = (target) => { + if (!isObj(target)) + return target; + const cached = proxyCache.get(target); + if (cached) + return cached; + const subs = new Map; + const getSubs = (key) => { + let set = subs.get(key); + if (!set) + subs.set(key, set = new Set); + return set; + }; + const proxy = new Proxy(target, { + get(target2, key, receiver) { + if (typeof key !== "symbol") + trackUpdate(getSubs(key)); + return $$(Reflect.get(target2, key, receiver)); + }, + set(target2, key, value, receiver) { + const hadKey = Reflect.has(target2, key); + const oldValue = Reflect.get(target2, key, receiver); + const result = Reflect.set(target2, key, value, receiver); + if (result && !Object.is(oldValue, value)) { + trackUpdate(getSubs(key), true); + if (!hadKey) + trackUpdate(getSubs(ITER), true); + } + return result; + }, + deleteProperty(target2, key) { + const result = Reflect.deleteProperty(target2, key); + if (result) { + trackUpdate(getSubs(key), true); + trackUpdate(getSubs(ITER), true); + } + return result; + }, + ownKeys(target2) { + trackUpdate(getSubs(ITER)); + return Reflect.ownKeys(target2); } - return u; - }, deleteProperty(i, t) { - let c = Reflect.deleteProperty(i, t); - if (c) - w(r(t), true), w(r(k), true); - return c; - }, ownKeys(i) { - return w(r(k)), Reflect.ownKeys(i); - } }); - return I.set(e, o), o; -}; -var C = (e, s) => { - if (s === undefined) { - let r = x(e); - return r(), () => g(r); - } - let n = x(() => { - let r = Array.isArray(e) ? e.map((o) => o()) : e(); - K(() => s(r)); }); - return n(), () => g(n); + proxyCache.set(target, proxy); + return proxy; }; -var U = (e) => { - if (!e) +var watch = (sources, cb) => { + if (cb === undefined) { + const effect2 = createEffect(sources); + effect2(); + return () => dispose(effect2); + } + const effect = createEffect(() => { + const vals = Array.isArray(sources) ? sources.map((s) => s()) : sources(); + untrack(() => cb(vals)); + }); + effect(); + return () => dispose(effect); +}; +var cleanupNode = (node) => { + if (!node) return; - if (e._cleanups) - e._cleanups.forEach((s) => s()), e._cleanups.clear(); - if (e._ownerEffect) - g(e._ownerEffect); - if (e.childNodes) - e.childNodes.forEach((s) => U(s)); + if (node._cleanups) { + node._cleanups.forEach((fn) => fn()); + node._cleanups.clear(); + } + if (node._ownerEffect) + dispose(node._ownerEffect); + if (node.childNodes) + node.childNodes.forEach((n) => cleanupNode(n)); }; -var J = /^\s*(javascript|data|vbscript):/i; -var Q = new Set(["src", "href", "formaction", "action", "background", "code", "archive"]); -var X = (e) => Q.has(e) || e.startsWith("on"); -var B = (e, s) => { - if (s == null || s === false) +var DANGEROUS_PROTOCOL = /^\s*(javascript|data|vbscript):/i; +var DANGEROUS_URI_ATTRS = new Set(["src", "href", "formaction", "action", "background", "code", "archive"]); +var isDangerousAttr = (key) => DANGEROUS_URI_ATTRS.has(key) || key.startsWith("on"); +var validateAttr = (key, val) => { + if (val == null || val === false) return null; - if (X(e)) { - let n = String(s); - if (J.test(n)) - return console.warn(`[SigPro] Bloqueado protocolo peligroso en ${e}`), "#"; + if (isDangerousAttr(key)) { + const sVal = String(val); + if (DANGEROUS_PROTOCOL.test(sVal)) { + console.warn(`[SigPro] Bloqueado protocolo peligroso en ${key}`); + return "#"; + } } - return s; + return val; }; -var A = (e, s = {}, n = []) => { - if (s instanceof Node || b(s) || !O(s)) - n = s, s = {}; - if (_(e)) { - let t = x(() => { - let f = e(s, { children: n, emit: (u, ...h) => s[`on${u[0].toUpperCase()}${u.slice(1)}`]?.(...h) }); - return t._result = f, f; - }); - t(); - let c = t._result; - if (c == null) - return null; - let l = c instanceof Node || b(c) && c.every((f) => f instanceof Node) ? c : E.createTextNode(String(c)), a = (f) => { - if (O(f) && !f._isRuntime) - f._mounts = t._mounts || [], f._cleanups = t._cleanups || new Set, f._ownerEffect = t; - }; - return b(l) ? l.forEach(a) : a(l), l; +var h = (tag, props = {}, children = []) => { + if (props instanceof Node || isArr(props) || !isObj(props)) { + children = props; + props = {}; } - let r = q.has(e), o = r ? E.createElementNS(W, e) : E.createElement(e); - o._cleanups = new Set; - for (let t of Object.keys(s)) { - let c = s[t]; - if (t === "ref") { - _(c) ? c(o) : c.current = o; - continue; - } - if (r && t.startsWith("xlink:")) { - let l = B(t.slice(6), c); - l == null ? o.removeAttributeNS(M, t.slice(6)) : o.setAttributeNS(M, t.slice(6), l); - continue; - } - if (t.startsWith("on")) { - let l = t.slice(2).toLowerCase(); - o.addEventListener(l, c); - let a = () => o.removeEventListener(l, c); - o._cleanups.add(a), S(a); - } else if (_(c)) { - let l = x(() => { - let a = B(t, c()); - if (t === "class") - o.className = a || ""; - else if (a == null) - o.removeAttribute(t); - else if (t === "style" && typeof a === "string") - o.setAttribute("style", a); - else if (t in o && !r) - o[t] = a; - else - o.setAttribute(t, a === true ? "" : a); + if (isFunc(tag)) { + const effect = createEffect(() => { + const result2 = tag(props, { + children, + emit: (ev, ...args) => props[`on${ev[0].toUpperCase()}${ev.slice(1)}`]?.(...args) }); - if (l(), o._cleanups.add(() => g(l)), S(() => g(l)), /^(INPUT|TEXTAREA|SELECT)$/.test(o.tagName) && (t === "value" || t === "checked")) { - let a = t === "checked" ? "change" : "input"; - o.addEventListener(a, (f) => c(f.target[t])); + effect._result = result2; + return result2; + }); + effect(); + const result = effect._result; + if (result == null) + return null; + const node = result instanceof Node || isArr(result) && result.every((n) => n instanceof Node) ? result : doc.createTextNode(String(result)); + const attach = (n) => { + if (isObj(n) && !n._isRuntime) { + n._mounts = effect._mounts || []; + n._cleanups = effect._cleanups || new Set; + n._ownerEffect = effect; + } + }; + isArr(node) ? node.forEach(attach) : attach(node); + return node; + } + const isSVG = SVG_TAGS.has(tag); + const el = isSVG ? doc.createElementNS(SVG_NS, tag) : doc.createElement(tag); + el._cleanups = new Set; + for (const k of Object.keys(props)) { + let v = props[k]; + if (k === "ref") { + isFunc(v) ? v(el) : v.current = el; + continue; + } + if (isSVG && k.startsWith("xlink:")) { + const cleanVal = validateAttr(k.slice(6), v); + cleanVal == null ? el.removeAttributeNS(XLINK_NS, k.slice(6)) : el.setAttributeNS(XLINK_NS, k.slice(6), cleanVal); + continue; + } + if (k.startsWith("on")) { + const ev = k.slice(2).toLowerCase(); + el.addEventListener(ev, v); + const off = () => el.removeEventListener(ev, v); + el._cleanups.add(off); + onUnmount(off); + } else if (isFunc(v)) { + const effect = createEffect(() => { + const val = validateAttr(k, v()); + if (k === "class") + el.className = val || ""; + else if (val == null) + el.removeAttribute(k); + else if (k === "style" && typeof val === "string") + el.setAttribute("style", val); + else if (k in el && !isSVG) + el[k] = val; + else + el.setAttribute(k, val === true ? "" : val); + }); + effect(); + el._cleanups.add(() => dispose(effect)); + onUnmount(() => dispose(effect)); + if (/^(INPUT|TEXTAREA|SELECT)$/.test(el.tagName) && (k === "value" || k === "checked")) { + const evType = k === "checked" ? "change" : "input"; + el.addEventListener(evType, (ev) => v(ev.target[k])); } } else { - let l = B(t, c); - if (l != null) - if (t === "style" && typeof l === "string") - o.setAttribute("style", l); - else if (t in o && !r) - o[t] = l; + const val = validateAttr(k, v); + if (val != null) { + if (k === "style" && typeof val === "string") + el.setAttribute("style", val); + else if (k in el && !isSVG) + el[k] = val; else - o.setAttribute(t, l === true ? "" : l); + el.setAttribute(k, val === true ? "" : val); + } } } - let i = (t) => { - if (b(t)) - return t.forEach(i); - if (_(t)) { - let c = E.createTextNode(""); - o.appendChild(c); - let l = [], a = x(() => { - let f = t(), u = (b(f) ? f : [f]).map(V); - l.forEach((p) => { - if (p._isRuntime) - p.destroy(); + const append = (c) => { + if (isArr(c)) + return c.forEach(append); + if (isFunc(c)) { + const anchor = doc.createTextNode(""); + el.appendChild(anchor); + let currentNodes = []; + const effect = createEffect(() => { + const res = c(); + const next = (isArr(res) ? res : [res]).map(ensureNode); + currentNodes.forEach((n) => { + if (n._isRuntime) + n.destroy(); else - U(p); - if (p.parentNode) - p.remove(); + cleanupNode(n); + if (n.parentNode) + n.remove(); }); - let h = c; - for (let p = u.length - 1;p >= 0; p--) { - let y = u[p]; - if (y.parentNode !== h.parentNode) - h.parentNode?.insertBefore(y, h); - if (y._mounts) - y._mounts.forEach((G) => G()); - h = y; + let ref = anchor; + for (let i = next.length - 1;i >= 0; i--) { + const node = next[i]; + if (node.parentNode !== ref.parentNode) + ref.parentNode?.insertBefore(node, ref); + if (node._mounts) + node._mounts.forEach((fn) => fn()); + ref = node; } - l = u; + currentNodes = next; }); - a(), o._cleanups.add(() => g(a)), S(() => g(a)); + effect(); + el._cleanups.add(() => dispose(effect)); + onUnmount(() => dispose(effect)); } else { - let c = V(t); - if (o.appendChild(c), c._mounts) - c._mounts.forEach((l) => l()); + const node = ensureNode(c); + el.appendChild(node); + if (node._mounts) + node._mounts.forEach((fn) => fn()); } }; - return i(n), o; + append(children); + return el; }; -var j = (e) => { - let s = new Set, n = m, r = d, o = E.createElement("div"); - o.style.display = "contents", o.setAttribute("role", "presentation"), m = { _cleanups: s }, d = null; - let i = (t) => { - if (!t) +var render = (renderFn) => { + const cleanups = new Set; + const previousOwner = activeOwner; + const previousEffect = activeEffect; + const container = doc.createElement("div"); + container.style.display = "contents"; + container.setAttribute("role", "presentation"); + activeOwner = { _cleanups: cleanups }; + activeEffect = null; + const processResult = (result) => { + if (!result) return; - if (t._isRuntime) - s.add(t.destroy), o.appendChild(t.container); - else if (b(t)) - t.forEach(i); - else - o.appendChild(t instanceof Node ? t : E.createTextNode(String(t == null ? "" : t))); + if (result._isRuntime) { + cleanups.add(result.destroy); + container.appendChild(result.container); + } else if (isArr(result)) { + result.forEach(processResult); + } else { + container.appendChild(result instanceof Node ? result : doc.createTextNode(String(result == null ? "" : result))); + } }; try { - i(e({ onCleanup: (t) => s.add(t) })); + processResult(renderFn({ onCleanup: (fn) => cleanups.add(fn) })); } finally { - m = n, d = r; + activeOwner = previousOwner; + activeEffect = previousEffect; } - return { _isRuntime: true, container: o, destroy: () => { - s.forEach((t) => t()), U(o), o.remove(); - } }; -}; -var F = (e, s, n = null) => { - let r = E.createTextNode(""), o = A("div", { style: "display:contents" }, [r]), i = null; - return C(() => !!(_(e) ? e() : e), (t) => { - if (i) - i.destroy(), i = null; - let c = t ? s : n; - if (c) - i = j(() => _(c) ? c() : c), o.insertBefore(i.container, r); - }), S(() => i?.destroy()), o; -}; -var H = (e, s, n) => { - let r = E.createTextNode(""), o = A("div", { style: "display:contents" }, [r]), i = new Map; - return C(() => (_(e) ? e() : e) || [], (t) => { - let c = new Map, l = [], a = t || []; - for (let u = 0;u < a.length; u++) { - let h = a[u], p = n ? h?.[n] ?? u : h?.id ?? u, y = i.get(p); - if (!y) - y = j(() => s(h, u)); - else - i.delete(p); - c.set(p, y), l.push(y); + return { + _isRuntime: true, + container, + destroy: () => { + cleanups.forEach((fn) => fn()); + cleanupNode(container); + container.remove(); } - i.forEach((u) => u.destroy()); - let f = r; - for (let u = l.length - 1;u >= 0; u--) { - let p = l[u].container; - if (p.nextSibling !== f) - o.insertBefore(p, f); - f = p; + }; +}; +var when = (cond, SIP, NOP = null) => { + const anchor = doc.createTextNode(""); + const root = h("div", { style: "display:contents" }, [anchor]); + let currentView = null; + watch(() => !!(isFunc(cond) ? cond() : cond), (show) => { + if (currentView) { + currentView.destroy(); + currentView = null; } - i = c; - }), o; -}; -var N = (e) => { - let s = () => window.location.hash.slice(1) || "/", n = P(s()), r = () => n(s()); - window.addEventListener("hashchange", r), S(() => window.removeEventListener("hashchange", r)); - let o = A("div", { class: "router-hook" }), i = null; - return C([n], () => { - let t = n(), c = e.find((l) => { - let a = l.path.split("/").filter(Boolean), f = t.split("/").filter(Boolean); - return a.length === f.length && a.every((u, h) => u[0] === ":" || u === f[h]); - }) || e.find((l) => l.path === "*"); - if (c) { - i?.destroy(); - let l = {}; - c.path.split("/").filter(Boolean).forEach((a, f) => { - if (a[0] === ":") - l[a.slice(1)] = t.split("/").filter(Boolean)[f]; - }), N.params(l), i = j(() => _(c.component) ? c.component(l) : c.component), o.replaceChildren(i.container); + const content = show ? SIP : NOP; + if (content) { + currentView = render(() => isFunc(content) ? content() : content); + root.insertBefore(currentView.container, anchor); } - }), o; -}; -N.params = P({}); -N.to = (e) => window.location.hash = e.replace(/^#?\/?/, "#/"); -N.back = () => window.history.back(); -N.path = () => window.location.hash.replace(/^#/, "") || "/"; -var Y = (e, s) => { - let n = typeof s === "string" ? E.querySelector(s) : s; - if (!n) - return; - if (L.has(n)) - L.get(n).destroy(); - let r = j(_(e) ? e : () => e); - return n.replaceChildren(r.container), L.set(n, r), r; -}; -if (typeof window < "u") - Object.assign(window, { $: P, $$: D, watch: C, h: A, when: F, each: H, router: N, mount: Y, batch: z, onUnmount: S, isArr: b, isFunc: _, isObj: O }), "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] = (s, n) => A(e, s, n); }); + onUnmount(() => currentView?.destroy()); + return root; +}; +var each = (src, itemFn, keyField) => { + const anchor = doc.createTextNode(""); + const root = h("div", { style: "display:contents" }, [anchor]); + let cache = new Map; + watch(() => (isFunc(src) ? src() : src) || [], (items) => { + const nextCache = new Map; + const nextOrder = []; + const newItems = items || []; + for (let i = 0;i < newItems.length; i++) { + const item = newItems[i]; + const key = keyField ? item?.[keyField] ?? i : item?.id ?? i; + let view = cache.get(key); + if (!view) + view = render(() => itemFn(item, i)); + else + cache.delete(key); + nextCache.set(key, view); + nextOrder.push(view); + } + cache.forEach((view) => view.destroy()); + let lastRef = anchor; + for (let i = nextOrder.length - 1;i >= 0; i--) { + const view = nextOrder[i]; + const node = view.container; + if (node.nextSibling !== lastRef) + root.insertBefore(node, lastRef); + lastRef = node; + } + cache = nextCache; + }); + return root; +}; +var router = (routes) => { + const getHash = () => window.location.hash.slice(1) || "/"; + const path = $(getHash()); + const handler = () => path(getHash()); + window.addEventListener("hashchange", handler); + onUnmount(() => window.removeEventListener("hashchange", handler)); + const hook = h("div", { class: "router-hook" }); + let currentView = null; + watch([path], () => { + const cur = path(); + const route = routes.find((r) => { + const p1 = r.path.split("/").filter(Boolean); + const p2 = cur.split("/").filter(Boolean); + return p1.length === p2.length && p1.every((p, i) => p[0] === ":" || p === p2[i]); + }) || routes.find((r) => r.path === "*"); + if (route) { + currentView?.destroy(); + const params = {}; + route.path.split("/").filter(Boolean).forEach((p, i) => { + if (p[0] === ":") + params[p.slice(1)] = cur.split("/").filter(Boolean)[i]; + }); + router.params(params); + currentView = render(() => isFunc(route.component) ? route.component(params) : route.component); + hook.replaceChildren(currentView.container); + } + }); + return hook; +}; +router.params = $({}); +router.to = (p) => window.location.hash = p.replace(/^#?\/?/, "#/"); +router.back = () => window.history.back(); +router.path = () => window.location.hash.replace(/^#/, "") || "/"; +var Fragment = (props) => props.children; +var mount = (comp, target) => { + const t = typeof target === "string" ? doc.querySelector(target) : target; + if (!t) + return; + if (MOUNTED_NODES.has(t)) + MOUNTED_NODES.get(t).destroy(); + const inst = render(isFunc(comp) ? comp : () => comp); + t.replaceChildren(inst.container); + MOUNTED_NODES.set(t, inst); + return inst; +}; // sigpro-ui.js +if (typeof window !== "undefined") { + "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((tag) => { + window[tag] = (props, children) => h(tag, props, children); + }); +} var val = (val2) => typeof val2 === "function" ? val2() : val2; var getBy = (item, field = "label") => item && typeof item === "object" ? item[field] : item; var cls = (...classes) => classes.filter(Boolean).join(" ").trim(); -var filterBy = (items, query, field = "label", q2 = String(query).toLowerCase()) => !query ? val(items) : val(items).filter((item) => String(item && typeof item === "object" ? item[field] : item).toLowerCase().includes(q2)); +var filterBy = (items, query, field = "label", q = String(query).toLowerCase()) => !query ? val(items) : val(items).filter((item) => String(item && typeof item === "object" ? item[field] : item).toLowerCase().includes(q)); var rand = (r) => `${r}-${Math.random().toString(36).slice(2, 9)}`; var hide = () => document.activeElement?.blur(); -var i18n = { +var lang = { es: { uploadFiles: "Arrastrar y soltar o click para seleccionar..." }, en: { - uploadFiles: "DRag and drop or click to select" + uploadFiles: "Drag and drop or click to select" } }; -var currentLocale = P("en"); +var currentLocale = $("en"); var Locale = (t) => currentLocale(t); -var tt = (t) => () => i18n[currentLocale()][t] || t; +var t = (t2) => () => lang[currentLocale()][t2] || t2; var Accordion = (p) => { const name = p.name || rand("acc"); - return H(p.items, (it) => { - return A("div", { class: cls("collapse", p.class) }, [ - A("input", { type: "radio", name, checked: it.open || undefined }), - it.title ? A("div", { class: cls("collapse-title", `${it.classTitle ?? " font-semibold"}`) }, it.title) : null, - it.content ? A("div", { class: cls("collapse-content text-sm", `${it.classContent ?? " font-semibold"}`) }, it.content) : null + return each(p.items, (it) => { + return h("div", { class: cls("collapse", p.class) }, [ + h("input", { type: "radio", name, checked: it.open || undefined }), + it.title ? h("div", { class: cls("collapse-title", `${it.classTitle ?? " font-semibold"}`) }, it.title) : null, + it.content ? h("div", { class: cls("collapse-content text-sm", `${it.classContent ?? " font-semibold"}`) }, it.content) : null ]); }); }; -var Alert = (p, c) => A("div", { ...p, class: cls("alert", p.class) }, c); -var Avatar = (p, c) => A("div", { class: "avatar" }, A("div", { class: p.class }, c)); -var AvatarGroup = (p, c) => A("div", { ...p, class: cls("avatar-group -space-x-6", p.class) }, c); +var Alert = (p, c) => h("div", { ...p, class: cls("alert", p.class) }, c); +var Avatar = (p, c) => h("div", { class: "avatar" }, h("div", { class: p.class }, c)); +var AvatarGroup = (p, c) => h("div", { ...p, class: cls("avatar-group -space-x-6", p.class) }, c); var Autocomplete = ({ items, value, onselect, placeholder = "...", ...props }) => { - const query = P(val(value) || ""); - const filtered = P(() => filterBy(items, query())); + const query = $(val(value) || ""); + const filtered = $(() => filterBy(items, query())); const pick = (item) => { const display = getBy(item); const actual = typeof item === "string" ? item : item.value; query(display); - if (_(value)) + if (isFunc(value)) value(actual); onselect?.(item); hide(); }; return Dropdown({ class: "w-full" }, [ - A("div", { tabindex: "0", role: "button", class: "w-full" }, Input({ + h("div", { tabindex: "0", role: "button", class: "w-full" }, Input({ ...props, placeholder, value: query, - left: A("span", { class: "icon-[lucide--search]" }), + left: h("span", { class: "icon-[lucide--search]" }), oninput: (e) => { query(e.target.value); - if (_(value)) + if (isFunc(value)) value(e.target.value); } })), - DropdownContent({ class: "p-2 bg-base-100 rounded-box shadow-xl w-full max-h-60 overflow-y-auto border border-base-300 z-50" }, A("ul", { class: "menu flex-col flex-nowrap w-full p-0" }, [ - H(filtered, (item) => A("li", {}, [ - A("a", { + DropdownContent({ class: "p-2 bg-base-100 rounded-box shadow-xl w-full max-h-60 overflow-y-auto border border-base-300 z-50" }, h("ul", { class: "menu flex-col flex-nowrap w-full p-0" }, [ + each(filtered, (item) => h("li", {}, [ + h("a", { onmousedown: (e) => e.preventDefault(), onclick: () => pick(item) }, getBy(item)) ]), (item) => getBy(item)), - () => filtered().length === 0 ? A("li", { class: "p-4 opacity-50 text-center" }, "Sin resultados") : null + () => filtered().length === 0 ? h("li", { class: "p-4 opacity-50 text-center" }, "Sin resultados") : null ])) ]); }; -var Badge = (p, c) => A("span", { ...p, class: cls("badge", p.class) }, c); -var Breadcrumbs = (p, c) => A("div", { ...p, class: cls("breadcrumbs", p.class) }, c); -var Button = (p, c) => A("button", { ...p, class: cls("btn", p.class) }, c); +var Badge = (p, c) => h("span", { ...p, class: cls("badge", p.class) }, c); +var Breadcrumbs = (p, c) => h("div", { ...p, class: cls("breadcrumbs", p.class) }, c); +var Button = (p, c) => h("button", { ...p, class: cls("btn", p.class) }, c); var Calendar = (p) => { - const internalDate = P(new Date); - const hoverDate = P(null); - const startHour = P(0); - const endHour = P(0); + const internalDate = $(new Date); + const hoverDate = $(null); + const startHour = $(0); + const endHour = $(0); const now = new Date; const todayStr = `${now.getFullYear()}-${String(now.getMonth() + 1).padStart(2, "0")}-${String(now.getDate()).padStart(2, "0")}`; - const fmt = (d2) => `${d2.getFullYear()}-${String(d2.getMonth() + 1).padStart(2, "0")}-${String(d2.getDate()).padStart(2, "0")}`; + const fmt = (d) => `${d.getFullYear()}-${String(d.getMonth() + 1).padStart(2, "0")}-${String(d.getDate()).padStart(2, "0")}`; const rangeMode = () => val(p.range) === true; const current = () => val(p.value); const selectDate = (date) => { const s = fmt(date); - const v2 = current(); + const v = current(); if (rangeMode()) { - if (!v2?.start || v2.start && v2.end) { + if (!v?.start || v.start && v.end) { p.onChange?.({ start: s, end: null, ...p.hour && { startHour: startHour() } }); } else { - const start = v2.start; + const start = v.start; const nv = s < start ? { start: s, end: start } : { start, end: s }; if (p.hour) { - nv.startHour = v2.startHour ?? startHour(); + nv.startHour = v.startHour ?? startHour(); nv.endHour = endHour(); } p.onChange?.(nv); @@ -595,59 +731,59 @@ var Calendar = (p) => { p.onChange?.(p.hour ? `${s}T${String(startHour()).padStart(2, "0")}:00:00` : s); } }; - const move = (m2) => { - const d2 = internalDate(); - internalDate(new Date(d2.getFullYear(), d2.getMonth() + m2, 1)); + const move = (m) => { + const d = internalDate(); + internalDate(new Date(d.getFullYear(), d.getMonth() + m, 1)); }; const moveYear = (y) => { - const d2 = internalDate(); - internalDate(new Date(d2.getFullYear() + y, d2.getMonth(), 1)); + const d = internalDate(); + internalDate(new Date(d.getFullYear() + y, d.getMonth(), 1)); }; - const HourSlider = ({ value: hVal, onChange: onH }) => A("div", { class: "flex-1" }, [ - A("div", { class: "flex gap-2 items-center" }, [ - A("input", { type: "range", min: 0, max: 23, value: hVal, class: "range range-xs flex-1", oninput: (e) => onH(+e.target.value) }), - A("span", { class: "text-sm font-mono min-w-[48px] text-center" }, () => String(val(hVal)).padStart(2, "0") + ":00") + const HourSlider = ({ value: hVal, onChange: onH }) => h("div", { class: "flex-1" }, [ + h("div", { class: "flex gap-2 items-center" }, [ + h("input", { type: "range", min: 0, max: 23, value: hVal, class: "range range-xs flex-1", oninput: (e) => onH(+e.target.value) }), + h("span", { class: "text-sm font-mono min-w-[48px] text-center" }, () => String(val(hVal)).padStart(2, "0") + ":00") ]) ]); - return A("div", { + return h("div", { class: cls("p-4 bg-base-100 border border-base-300 shadow-2xl rounded-box w-80 select-none", p.class) }, [ - A("div", { class: "flex justify-between items-center mb-4 gap-1" }, [ - A("div", { class: "flex gap-0.5" }, [ - A("button", { type: "button", class: "btn btn-ghost btn-xs px-1", onclick: () => moveYear(-1) }, A("span", { class: "icon-[lucide--chevrons-left]" })), - A("button", { type: "button", class: "btn btn-ghost btn-xs px-1", onclick: () => move(-1) }, A("span", { class: "icon-[lucide--chevron-left]" })) + h("div", { class: "flex justify-between items-center mb-4 gap-1" }, [ + h("div", { class: "flex gap-0.5" }, [ + h("button", { type: "button", class: "btn btn-ghost btn-xs px-1", onclick: () => moveYear(-1) }, h("span", { class: "icon-[lucide--chevrons-left]" })), + h("button", { type: "button", class: "btn btn-ghost btn-xs px-1", onclick: () => move(-1) }, h("span", { class: "icon-[lucide--chevron-left]" })) ]), - A("span", { class: "font-bold uppercase flex-1 text-center" }, () => internalDate().toLocaleString("es-ES", { month: "short", year: "numeric" })), - A("div", { class: "flex gap-0.5" }, [ - A("button", { type: "button", class: "btn btn-ghost btn-xs px-1", onclick: () => move(1) }, A("span", { class: "icon-[lucide--chevron-right]" })), - A("button", { type: "button", class: "btn btn-ghost btn-xs px-1", onclick: () => moveYear(1) }, A("span", { class: "icon-[lucide--chevrons-right]" })) + h("span", { class: "font-bold uppercase flex-1 text-center" }, () => internalDate().toLocaleString("es-ES", { month: "short", year: "numeric" })), + h("div", { class: "flex gap-0.5" }, [ + h("button", { type: "button", class: "btn btn-ghost btn-xs px-1", onclick: () => move(1) }, h("span", { class: "icon-[lucide--chevron-right]" })), + h("button", { type: "button", class: "btn btn-ghost btn-xs px-1", onclick: () => moveYear(1) }, h("span", { class: "icon-[lucide--chevrons-right]" })) ]) ]), - A("div", { class: "grid grid-cols-7 gap-1", onmouseleave: () => hoverDate(null) }, [ - ...["L", "M", "X", "J", "V", "S", "D"].map((d2) => A("div", { class: "text-[10px] opacity-40 font-bold text-center" }, d2)), + h("div", { class: "grid grid-cols-7 gap-1", onmouseleave: () => hoverDate(null) }, [ + ...["L", "M", "X", "J", "V", "S", "D"].map((d) => h("div", { class: "text-[10px] opacity-40 font-bold text-center" }, d)), () => { - const d2 = internalDate(), y = d2.getFullYear(), m2 = d2.getMonth(); - const firstDay = new Date(y, m2, 1).getDay(); + const d = internalDate(), y = d.getFullYear(), m = d.getMonth(); + const firstDay = new Date(y, m, 1).getDay(); const offset = firstDay === 0 ? 6 : firstDay - 1; - const dim = new Date(y, m2 + 1, 0).getDate(); + const dim = new Date(y, m + 1, 0).getDate(); const cells = []; for (let i = 0;i < offset; i++) - cells.push(A("div")); + cells.push(h("div")); for (let i = 1;i <= dim; i++) { - const date = new Date(y, m2, i), ds = fmt(date); - cells.push(A("button", { + const date = new Date(y, m, i), ds = fmt(date); + cells.push(h("button", { type: "button", class: () => { - const v2 = current(), h = hoverDate(); - const isStart = typeof v2 === "string" ? v2.split("T")[0] === ds : v2?.start === ds; - const isEnd = v2?.end === ds; + const v = current(), h2 = hoverDate(); + const isStart = typeof v === "string" ? v.split("T")[0] === ds : v?.start === ds; + const isEnd = v?.end === ds; let inRange = false; - if (rangeMode() && v2?.start) { - const start = v2.start; - if (!v2.end && h) - inRange = ds > start && ds <= h || ds < start && ds >= h; - else if (v2.end) - inRange = ds > start && ds < v2.end; + if (rangeMode() && v?.start) { + const start = v.start; + if (!v.end && h2) + inRange = ds > start && ds <= h2 || ds < start && ds >= h2; + else if (v.end) + inRange = ds > start && ds < v.end; } const base = "btn btn-xs p-0 aspect-square min-h-0 h-auto font-normal relative"; const st = isStart || isEnd ? "btn-primary z-10" : inRange ? "bg-primary/20 border-none rounded-none" : "btn-ghost"; @@ -661,32 +797,32 @@ var Calendar = (p) => { return cells; } ]), - p.hour ? A("div", { class: "mt-3 pt-2 border-t border-base-300" }, rangeMode() ? A("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) })) : null + p.hour ? h("div", { class: "mt-3 pt-2 border-t border-base-300" }, rangeMode() ? h("div", { class: "flex gap-4" }, [HourSlider({ value: startHour, onChange: (h2) => startHour(h2) }), HourSlider({ value: endHour, onChange: (h2) => endHour(h2) })]) : HourSlider({ value: startHour, onChange: (h2) => startHour(h2) })) : null ]); }; -var Card = (p, c) => A("div", { ...p, class: cls("card", p.class) }, c); -var CardTitle = (p, c) => A("div", { ...p, class: cls("card-title", p.class) }, c); -var CardBody = (p, c) => A("div", { ...p, class: cls("card-body", p.class) }, c); -var CardActions = (p, c) => A("div", { ...p, class: cls("card-actions", p.class) }, c); -var Carousel = (p, c) => A("div", { ...p, class: cls("carousel", p.class) }, c); -var CarouselItem = (p, c) => A("div", { ...p, class: cls("carousel-item", p.class) }, c); -var Chat = (p, c) => A("div", { ...p, class: cls("chat", p.class) }, c); -var ChatBubble = (p, c) => A("div", { ...p, class: cls("chat-bubble", p.class) }, c); -var ChatFooter = (p, c) => A("div", { ...p, class: cls("chat-footer", p.class) }, c); -var ChatHeader = (p, c) => A("div", { ...p, class: cls("chat-header", p.class) }, c); -var ChatImage = (p, c) => A("div", { ...p, class: cls("chat-image avatar", p.class) }, A("div", { class: "w-10 rounded-full" }, typeof c === "string" ? A("img", { src: c, alt: "avatar" }) : c)); -var Checkbox = (p) => A("input", { ...p, type: "checkbox", class: cls("checkbox", p.class) }); +var Card = (p, c) => h("div", { ...p, class: cls("card", p.class) }, c); +var CardTitle = (p, c) => h("div", { ...p, class: cls("card-title", p.class) }, c); +var CardBody = (p, c) => h("div", { ...p, class: cls("card-body", p.class) }, c); +var CardActions = (p, c) => h("div", { ...p, class: cls("card-actions", p.class) }, c); +var Carousel = (p, c) => h("div", { ...p, class: cls("carousel", p.class) }, c); +var CarouselItem = (p, c) => h("div", { ...p, class: cls("carousel-item", p.class) }, c); +var Chat = (p, c) => h("div", { ...p, class: cls("chat", p.class) }, c); +var ChatBubble = (p, c) => h("div", { ...p, class: cls("chat-bubble", p.class) }, c); +var ChatFooter = (p, c) => h("div", { ...p, class: cls("chat-footer", p.class) }, c); +var ChatHeader = (p, c) => h("div", { ...p, class: cls("chat-header", p.class) }, c); +var ChatImage = (p, c) => h("div", { ...p, class: cls("chat-image avatar", p.class) }, h("div", { class: "w-10 rounded-full" }, typeof c === "string" ? h("img", { src: c, alt: "avatar" }) : c)); +var Checkbox = (p) => h("input", { ...p, type: "checkbox", class: cls("checkbox", p.class) }); var Colorpicker = (p) => { const current = () => val(p.value) || "#000000"; return Dropdown({}, [ DropdownButton({ class: "btn" }, [ - A("div", { class: "size-5 rounded-sm", style: () => `background-color: ${current()}` }), - p.label && A("span", {}, p.label) + h("div", { class: "size-5 rounded-sm", style: () => `background-color: ${current()}` }), + p.label && h("span", {}, p.label) ]), DropdownContent({ class: "p-0" }, ColorPalette({ value: p.value, onchange: (c) => { - _(p.value) ? p.value(c) : p.onchange?.(c); + isFunc(p.value) ? p.value(c) : p.onchange?.(c); } })) ]); @@ -760,12 +896,12 @@ var ColorPalette = (p) => { "#fae8ff" ]; const pick = (c) => { - _(p.value) ? p.value(c) : p.onchange?.(c); + isFunc(p.value) ? p.value(c) : p.onchange?.(c); hide(); }; - return A("div", { + return h("div", { class: cls("p-3 bg-base-100 rounded-box shadow w-64", p.class) - }, A("div", { class: "grid grid-cols-8 gap-1" }, palette.map((c) => A("button", { + }, h("div", { class: "grid grid-cols-8 gap-1" }, palette.map((c) => h("button", { type: "button", style: `background-color: ${c}`, class: () => { @@ -778,27 +914,27 @@ var ColorPalette = (p) => { })))); }; var Datepicker = (p) => { - const displayValue = P(""); + const displayValue = $(""); const rangeMode = () => val(p.range) === true; - C(() => { - const v2 = val(p.value); - if (!v2) + watch(() => { + const v = val(p.value); + if (!v) return displayValue(""); let text = ""; - if (typeof v2 === "string") { - text = p.hour && v2.includes("T") ? v2.replace("T", " ") : v2; - } else if (v2.start && v2.end) { - const startStr = p.hour && v2.startHour != null ? `${v2.start} ${String(v2.startHour).padStart(2, "0")}:00` : v2.start; - const endStr = p.hour && v2.endHour != null ? `${v2.end} ${String(v2.endHour).padStart(2, "0")}:00` : v2.end; + if (typeof v === "string") { + text = p.hour && v.includes("T") ? v.replace("T", " ") : v; + } else if (v.start && v.end) { + const startStr = p.hour && v.startHour != null ? `${v.start} ${String(v.startHour).padStart(2, "0")}:00` : v.start; + const endStr = p.hour && v.endHour != null ? `${v.end} ${String(v.endHour).padStart(2, "0")}:00` : v.end; text = `${startStr} - ${endStr}`; - } else if (v2.start) { - const startStr = p.hour && v2.startHour != null ? `${v2.start} ${String(v2.startHour).padStart(2, "0")}:00` : v2.start; + } else if (v.start) { + const startStr = p.hour && v.startHour != null ? `${v.start} ${String(v.startHour).padStart(2, "0")}:00` : v.start; text = `${startStr}...`; } displayValue(text); }); const handleChange = (val2) => { - if (_(p.value)) + if (isFunc(p.value)) p.value(val2); else p.onChange?.(val2); @@ -806,28 +942,28 @@ var Datepicker = (p) => { hide(); }; return Dropdown({ class: cls("w-full", p.class) }, [ - A("label", { + h("label", { tabindex: "0", role: "button", class: "input input-bordered flex items-center gap-2 cursor-pointer" }, [ - A("span", { class: "icon-[lucide--calendar] shrink-0" }), - A("span", { + h("span", { class: "icon-[lucide--calendar] shrink-0" }), + h("span", { class: () => `grow text-left truncate ${!displayValue() ? "opacity-50" : ""}` }, () => displayValue() || p.placeholder || (rangeMode() ? "Seleccionar rango..." : "Seleccionar fecha...")), - () => displayValue() ? A("button", { + () => displayValue() ? h("button", { type: "button", class: "btn btn-ghost btn-xs btn-circle -mr-2", onmousedown: (e) => { e.preventDefault(); e.stopPropagation(); - if (_(p.value)) + if (isFunc(p.value)) p.value(null); else p.onChange?.(null); displayValue(""); } - }, A("span", { class: "icon-[lucide--x] opacity-50" })) : null + }, h("span", { class: "icon-[lucide--x] opacity-50" })) : null ]), DropdownContent({ class: "p-0" }, Calendar({ value: p.value, @@ -838,20 +974,20 @@ var Datepicker = (p) => { ]); }; var Drawer = (p, c) => div({ ...p, class: cls("drawer", p.class) }, c); -var DrawerToggle = (p) => input({ ...p, type: "checkbox", class: "drawer-toggle", checked: () => val(p.checked), onchange: (e) => _(p.checked) && p.checked(e.target.checked) }); +var DrawerToggle = (p) => input({ ...p, type: "checkbox", class: "drawer-toggle", checked: () => val(p.checked), onchange: (e) => isFunc(p.checked) && p.checked(e.target.checked) }); var DrawerContent = (p, c) => div({ ...p, class: cls("drawer-content", p.class) }, c); var DrawerSide = (p, c) => div({ ...p, class: cls("drawer-side", p.class) }, c); var DrawerOverlay = (p) => label({ ...p, for: p.for, class: cls("drawer-overlay", p.class) }); -var Divider = (p) => A("div", { ...p, class: cls("divider", p.class) }); -var Dropdown = (p, c) => A("div", { ...p, class: cls("dropdown", p.class) }, c); -var DropdownButton = (p, c) => A("div", { ...p, tabindex: "0", role: "button", class: cls("btn", p.class) }, c); -var DropdownContent = (p, c) => A("div", { ...p, tabindex: "0", class: cls("dropdown-content", p.class) }, c); -var Fab = (p, c) => A("div", { class: "fab" }, [A("div", { tabindex: "0", role: "button", class: cls("btn", p.class) }, Icon(p.icon)), c]); -var Fieldset = (p, c) => A("fieldset", { class: cls("fieldset", p.class) }, [A("legend", { class: "fieldset-legend" }, p.label), c]); +var Divider = (p) => h("div", { ...p, class: cls("divider", p.class) }); +var Dropdown = (p, c) => h("div", { ...p, class: cls("dropdown", p.class) }, c); +var DropdownButton = (p, c) => h("div", { ...p, tabindex: "0", role: "button", class: cls("btn", p.class) }, c); +var DropdownContent = (p, c) => h("div", { ...p, tabindex: "0", class: cls("dropdown-content", p.class) }, c); +var Fab = (p, c) => h("div", { class: "fab" }, [h("div", { tabindex: "0", role: "button", class: cls("btn", p.class) }, Icon(p.icon)), c]); +var Fieldset = (p, c) => h("fieldset", { class: cls("fieldset", p.class) }, [h("legend", { class: "fieldset-legend" }, p.label), c]); var Fileinput = (p) => { - const files = P([]); - const drag = P(false); - const error = P(null); + const files = $([]); + const drag = $(false); + const error = $(null); const maxBytes = (p.max || 2) * 1024 * 1024; const process = (fileList) => { const arr = Array.from(fileList); @@ -862,21 +998,21 @@ var Fileinput = (p) => { } const updated = [...files(), ...arr]; files(updated); - if (_(p.onselect)) + if (isFunc(p.onselect)) p.onselect(updated); - else if (_(p.value)) + else if (isFunc(p.value)) p.value(updated); }; const remove = (idx) => { - const updated = files().filter((_2, i) => i !== idx); + const updated = files().filter((_, i) => i !== idx); files(updated); - if (_(p.onselect)) + if (isFunc(p.onselect)) p.onselect(updated); - else if (_(p.value)) + else if (isFunc(p.value)) p.value(updated); }; - return A("div", { class: cls("fieldset w-full p-0", p.class) }, [ - A("label", { + return h("div", { class: cls("fieldset w-full p-0", p.class) }, [ + h("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 ${drag() ? "border-primary bg-primary/10" : "border-base-content/20 bg-base-100 hover:bg-base-200"}`, ondragover: (e) => { e.preventDefault(); @@ -889,12 +1025,12 @@ var Fileinput = (p) => { process(e.dataTransfer.files); } }, [ - A("div", { class: "flex items-center gap-3 w-full" }, [ - A("span", { class: "icon-[lucide--upload]" }), - A("span", { class: "text-sm opacity-70 truncate grow text-left" }, tt("uploadFiles")), - A("span", { class: "text-[10px] opacity-40 shrink-0" }, `Máx ${p.max || 2}MB`) + h("div", { class: "flex items-center gap-3 w-full" }, [ + h("span", { class: "icon-[lucide--upload]" }), + h("span", { class: "text-sm opacity-70 truncate grow text-left" }, t("uploadFiles")), + h("span", { class: "text-[10px] opacity-40 shrink-0" }, `Máx ${p.max || 2}MB`) ]), - A("input", { + h("input", { type: "file", multiple: true, accept: p.accept || "*", @@ -902,38 +1038,38 @@ var Fileinput = (p) => { onchange: (e) => process(e.target.files) }) ]), - () => error() && A("span", { class: "text-[10px] text-error mt-1 px-1 font-medium" }, error()), - F(() => files().length > 0, () => A("ul", { class: "mt-2 space-y-1" }, H(files, (file, idx) => A("li", { class: "flex items-center justify-between p-1.5 pl-3 text-xs bg-base-200/50 rounded-md border border-base-300" }, [ - A("div", { class: "flex items-center gap-2 truncate" }, [ - A("span", { class: "opacity-50" }, "\uD83D\uDCC4"), - A("span", { class: "truncate font-medium max-w-[200px]" }, file.name), - A("span", { class: "text-[9px] opacity-40" }, `(${(file.size / 1024).toFixed(0)} KB)`) + () => error() && h("span", { class: "text-[10px] text-error mt-1 px-1 font-medium" }, error()), + when(() => files().length > 0, () => h("ul", { class: "mt-2 space-y-1" }, each(files, (file, idx) => h("li", { class: "flex items-center justify-between p-1.5 pl-3 text-xs bg-base-200/50 rounded-md border border-base-300" }, [ + h("div", { class: "flex items-center gap-2 truncate" }, [ + h("span", { class: "opacity-50" }, "\uD83D\uDCC4"), + h("span", { class: "truncate font-medium max-w-[200px]" }, file.name), + h("span", { class: "text-[9px] opacity-40" }, `(${(file.size / 1024).toFixed(0)} KB)`) ]), - A("button", { + h("button", { type: "button", class: "btn btn-ghost btn-xs btn-circle", onclick: (e) => { e.preventDefault(); remove(idx); } - }, A("span", { class: "icon-[lucide--x]" })) + }, h("span", { class: "icon-[lucide--x]" })) ])))) ]); }; -var Icon = (p) => A("span", { class: p.startsWith("icon-") ? p : "" }, p.startsWith("icon-") ? null : p); -var Indicator = (p, c) => A("div", { ...p, class: cls("indicator", p.class) }, [p.value && A("span", { class: cls("indicator-item badge", p.class) }, p.value), c]); +var Icon = (p) => h("span", { class: p.startsWith("icon-") ? p : "" }, p.startsWith("icon-") ? null : p); +var Indicator = (p, c) => h("div", { ...p, class: cls("indicator", p.class) }, [p.value && h("span", { class: cls("indicator-item badge", p.class) }, p.value), c]); var Input = (p) => { const { label: label2, icon, float, placeholder, value, left, right, rule, hint, content, ...rest } = p; - const showPassword = P(false); + const showPassword = $(false); const isPassword = p.type === "password"; const pattern = rule ?? null; const inputType = () => isPassword ? val(showPassword) ? "text" : "password" : p.type || "search"; - return A("label", { class: float ? "floating-label" : "" }, [ - float ? A("span", {}, label2) : null, - A("label", { pattern, class: () => cls("input validator", p.class) }, [ - label2 && !float ? A("span", { class: "label" }, label2) : null, + return h("label", { class: float ? "floating-label" : "" }, [ + float ? h("span", {}, label2) : null, + h("label", { pattern, class: () => cls("input validator", p.class) }, [ + label2 && !float ? h("span", { class: "label" }, label2) : null, left ?? null, - A("input", { ...rest, type: inputType, class: "grow", pattern, placeholder: placeholder || label2 || " ", value }), + h("input", { ...rest, type: inputType, class: "grow", pattern, placeholder: placeholder || label2 || " ", value }), right ?? null, isPassword ? Swap({ class: "ml-2" }, [ SwapToggle({ value: showPassword, class: "swap-rotate" }), @@ -941,21 +1077,21 @@ var Input = (p) => { SwapOff({}, Icon("icon-[lucide--eye-off]")) ]) : null ]), - hint ? A("div", { class: "validator-hint" }, hint) : null + hint ? h("div", { class: "validator-hint" }, hint) : null ]); }; -var Kbd = (p, c) => A("kbd", { ...p, class: cls("kbd", p.class) }, c); -var List = (p, c) => A("ul", { ...p, class: cls("list", p.class) }, c); -var ListRows = (p) => () => (val(p.items) || []).map((item, idx) => A("li", { class: cls("list-row", p.class, item?.class) }, typeof p.render === "function" ? p.render(item, idx) : item)); -var Loading = (p, c) => A("span", { ...p, class: cls("loading loading-spinner", p.class) }, c); +var Kbd = (p, c) => h("kbd", { ...p, class: cls("kbd", p.class) }, c); +var List = (p, c) => h("ul", { ...p, class: cls("list", p.class) }, c); +var ListRows = (p) => () => (val(p.items) || []).map((item, idx) => h("li", { class: cls("list-row", p.class, item?.class) }, typeof p.render === "function" ? p.render(item, idx) : item)); +var Loading = (p, c) => h("span", { ...p, class: cls("loading loading-spinner", p.class) }, c); var Menu = (p) => { if (p.children !== undefined) - return A("ul", { class: cls("menu", p.class), ...p }, p.children); + return h("ul", { class: cls("menu", p.class), ...p }, p.children); const { items } = p; - const render = (item) => item.children ? A("li", {}, A("details", { open: item.open || undefined }, [ - A("summary", {}, getBy(item)), - A("ul", {}, H(() => val(item.children) || [], render)) - ])) : A("li", {}, A("a", { + const render2 = (item) => item.children ? h("li", {}, h("details", { open: item.open || undefined }, [ + h("summary", {}, getBy(item)), + h("ul", {}, each(() => val(item.children) || [], render2)) + ])) : h("li", {}, h("a", { href: item.href, onclick: item.onclick ? (e) => { if (!item.href) @@ -963,93 +1099,93 @@ var Menu = (p) => { item.onclick(e); } : null }, getBy(item))); - return A("ul", { class: cls("menu", p.class) }, H(() => val(items) || [], render)); + return h("ul", { class: cls("menu", p.class) }, each(() => val(items) || [], render2)); }; var Modal = (p) => { let dialogRef = null; - C(() => { + watch(() => { const isOpen = val(p.open); if (!dialogRef) return; isOpen ? dialogRef.showModal() : dialogRef.hide(); }); - const close = () => _(p.open) && p.open(false); - return A("dialog", { + const close = () => isFunc(p.open) && p.open(false); + return h("dialog", { ...p, ref: (el) => dialogRef = el, class: cls("modal", p.class), onclose: close, oncancel: close }, [ - A("div", { class: "modal-box" }, [ - p.title && A("h3", { class: "text-lg font-bold" }, p.title), + h("div", { class: "modal-box" }, [ + p.title && h("h3", { class: "text-lg font-bold" }, p.title), p.children, - A("div", { class: "modal-action" }, [ + h("div", { class: "modal-action" }, [ p.actions || Button({ class: "btn", onclick: close }, "Cerrar") ]) ]), - A("form", { method: "dialog", class: "modal-backdrop" }, [ - A("button", {}, "close") + h("form", { method: "dialog", class: "modal-backdrop" }, [ + h("button", {}, "close") ]) ]); }; -var Navbar = (p, c) => A("div", { ...p, class: cls("navbar", p.class) }, c); -var Progress = (p) => A("progress", { ...p, class: cls("progress", p.class) }); -var Radial = (p, c) => A("div", { class: cls("radial-progress", p.class), style: `--value:${val(p.value) ?? 0};`, role: "progressbar", "aria-valuenow": p.value }, c); -var Radio = (p) => A("input", { ...p, type: "radio", class: cls("radio", p.class) }); -var Range = (p) => A("input", { ...p, type: "range", class: cls("range", p.class) }); -var Rating = (p, c) => A("div", { ...p, class: "rating" }, c); -var RatingItems = (p) => [...Array(p.count)].map((_2, i) => A("input", { class: cls("mask", p.class), name: p.name, type: "radio", checked: () => val(p.value) === i, onchange: () => _(p.value) ? p.value(i) : p.onchange?.(i) })); +var Navbar = (p, c) => h("div", { ...p, class: cls("navbar", p.class) }, c); +var Progress = (p) => h("progress", { ...p, class: cls("progress", p.class) }); +var Radial = (p, c) => h("div", { class: cls("radial-progress", p.class), style: `--value:${val(p.value) ?? 0};`, role: "progressbar", "aria-valuenow": p.value }, c); +var Radio = (p) => h("input", { ...p, type: "radio", class: cls("radio", p.class) }); +var Range = (p) => h("input", { ...p, type: "range", class: cls("range", p.class) }); +var Rating = (p, c) => h("div", { ...p, class: "rating" }, c); +var RatingItems = (p) => [...Array(p.count)].map((_, i) => h("input", { class: cls("mask", p.class), name: p.name, type: "radio", checked: () => val(p.value) === i, onchange: () => isFunc(p.value) ? p.value(i) : p.onchange?.(i) })); var Select = (p, c) => { if (c !== undefined) - return A("select", { class: cls("select", p.class), ...p }, c); + return h("select", { class: cls("select", p.class), ...p }, c); const { label: label2, float, placeholder, placeholderDisabled = true, value, left, right, hint, items, keyFn, ...rest } = p; const opts = () => { const raw = val(items) || []; const ph = placeholder ? [{ disabled: placeholderDisabled, label: placeholder, value: "" }] : []; return [...ph, ...raw]; }; - return A("label", { class: float ? "floating-label" : "" }, [ - float ? A("span", {}, label2) : null, - A("label", { class: cls("select", rest.class) }, [ - !float && label2 ? A("span", { class: "label" }, label2) : null, + return h("label", { class: float ? "floating-label" : "" }, [ + float ? h("span", {}, label2) : null, + h("label", { class: cls("select", rest.class) }, [ + !float && label2 ? h("span", { class: "label" }, label2) : null, left ?? null, - A("select", { + h("select", { value: () => val(value), - onchange: (e) => _(value) ? value(e.target.value) : rest.onchange?.(e) - }, H(opts, (item) => { + onchange: (e) => isFunc(value) ? value(e.target.value) : rest.onchange?.(e) + }, each(opts, (item) => { const val2 = getBy(item, item.value !== undefined ? "value" : undefined); const lab = getBy(item, "label"); - return A("option", { value: val2, disabled: item.disabled || undefined }, lab); + return h("option", { value: val2, disabled: item.disabled || undefined }, lab); })), right ?? null ]), - hint ? A("div", { class: "validator-hint" }, hint) : null + hint ? h("div", { class: "validator-hint" }, hint) : null ]); }; -var Skeleton = (p) => A("div", { ...p, class: cls("skeleton", p.class) }); -var SkeletonText = (p) => A("span", { ...p, class: cls("skeleton skeleton-text", p.class) }); -var Stack = (p, c) => A("div", { ...p, class: cls("stack", p.class) }, c); -var Stats = (p, c) => A("div", { ...p, class: cls("stats shadow", p.class) }, c); -var Stat = (p) => A("div", { ...p, class: cls("stat", p.class) }, [ - p.title ? A("div", { class: "stat-title" }, p.title) : null, - p.value ? A("div", { class: "stat-value" }, p.value) : null, - p.desc ? A("div", { class: "stat-desc" }, p.desc) : null +var Skeleton = (p) => h("div", { ...p, class: cls("skeleton", p.class) }); +var SkeletonText = (p) => h("span", { ...p, class: cls("skeleton skeleton-text", p.class) }); +var Stack = (p, c) => h("div", { ...p, class: cls("stack", p.class) }, c); +var Stats = (p, c) => h("div", { ...p, class: cls("stats shadow", p.class) }, c); +var Stat = (p) => h("div", { ...p, class: cls("stat", p.class) }, [ + p.title ? h("div", { class: "stat-title" }, p.title) : null, + p.value ? h("div", { class: "stat-value" }, p.value) : null, + p.desc ? h("div", { class: "stat-desc" }, p.desc) : null ]); -var Steps = (p, c) => A("ul", { ...p, class: cls("steps", p.class) }, c); -var Step = (p, c) => A("li", { ...p, class: cls("step", p.class), "data-content": p.dataContent }, c); -var Swap = (p, c) => A("label", { ...p, class: cls("swap", p.class) }, c); -var SwapToggle = (p) => A("input", { type: "checkbox", checked: () => val(p.value), onchange: (e) => _(p.value) && p.value(e.target.checked), class: p.class }); -var SwapOn = (p, c) => A("div", { ...p, class: cls("swap-on", p.class) }, c); -var SwapOff = (p, c) => A("div", { ...p, class: cls("swap-off", p.class) }, c); -var Table = (p, c) => A("table", { ...p, class: cls("table", p.class) }, c); +var Steps = (p, c) => h("ul", { ...p, class: cls("steps", p.class) }, c); +var Step = (p, c) => h("li", { ...p, class: cls("step", p.class), "data-content": p.dataContent }, c); +var Swap = (p, c) => h("label", { ...p, class: cls("swap", p.class) }, c); +var SwapToggle = (p) => h("input", { type: "checkbox", checked: () => val(p.value), onchange: (e) => isFunc(p.value) && p.value(e.target.checked), class: p.class }); +var SwapOn = (p, c) => h("div", { ...p, class: cls("swap-on", p.class) }, c); +var SwapOff = (p, c) => h("div", { ...p, class: cls("swap-off", p.class) }, c); +var Table = (p, c) => h("table", { ...p, class: cls("table", p.class) }, c); var TableItems = ({ items, columns = [], header = true }) => { - const head = header !== false && columns.some((c) => c.label) ? A("thead", {}, A("tr", {}, columns.map((c) => A("th", { class: c.class }, c.label)))) : null; - const body = A("tbody", {}, () => { + const head = header !== false && columns.some((c) => c.label) ? h("thead", {}, h("tr", {}, columns.map((c) => h("th", { class: c.class }, c.label)))) : null; + const body = h("tbody", {}, () => { const list = val(items) || []; - return list.map((it, idx) => A("tr", {}, columns.map((c) => { - const v2 = c.render ? c.render(it, idx) : it[c.key]; - return A("td", { class: c.class }, v2); + return list.map((it, idx) => h("tr", {}, columns.map((c) => { + const v = c.render ? c.render(it, idx) : it[c.key]; + return h("td", { class: c.class }, v); }))); }); return [head, body].filter(Boolean); @@ -1057,22 +1193,22 @@ var TableItems = ({ items, columns = [], header = true }) => { var Tabs = (p, c) => { if (!p.items) { const { class: className2, ...rest2 } = p; - return A("div", { ...rest2, class: cls("tabs", className2) }, c); + return h("div", { ...rest2, class: cls("tabs", className2) }, c); } const { items, activeIndex, onClose, class: className, ...rest } = p; - const get = (x2) => _(x2) ? x2() : x2; - const closeH = onClose || (_(items) ? (idx, item) => { + const get = (x) => isFunc(x) ? x() : x; + const closeH = onClose || (isFunc(items) ? (idx, item) => { const arr = val(items); - const newArr = arr.filter((_2, i) => i !== idx); + const newArr = arr.filter((_, i) => i !== idx); items(newArr); if (activeIndex() >= newArr.length) activeIndex(Math.max(0, newArr.length - 1)); } : null); - return A("div", { ...rest, class: cls("tabs", className) }, () => { + return h("div", { ...rest, class: cls("tabs", className) }, () => { const list = val(items) || []; return list.flatMap((it, idx) => { const isActive = () => activeIndex() === idx; - const button = A("button", { + const button = h("button", { class: () => `tab ${isActive() ? "tab-active" : ""} ${it.class || ""}`, onclick: (e) => { e.preventDefault(); @@ -1081,40 +1217,40 @@ var Tabs = (p, c) => { } }, [ getBy(it), - it.closable ? A("span", { + it.closable ? h("span", { class: "ml-1 inline-flex items-center justify-center w-4 h-4 rounded-full hover:bg-base-300 text-base-content/60 hover:text-base-content cursor-pointer", onclick: (e) => { e.stopPropagation(); closeH?.(idx, it); } - }, A("span", { class: "icon-[lucide--x] w-3 h-3" })) : null + }, h("span", { class: "icon-[lucide--x] w-3 h-3" })) : null ]); - const contentDiv = A("div", { + const contentDiv = h("div", { class: "tab-content bg-base-100 border-base-300 p-6", style: () => `display: ${isActive() ? "block" : "none"};` - }, _(it.content) ? it.content() : it.content); + }, isFunc(it.content) ? it.content() : it.content); return [button, contentDiv]; }); }); }; -var Textarea = (p) => A("textarea", { ...p, class: cls("textarea", p.class) }); -var Textrotate = (p, c) => A("span", { ...p, class: cls("text-rotate", p.class) }, A("span", {}, c)); -var Timeline = (p, c) => A("ul", { ...p, class: cls("timeline", p.class) }, c); +var Textarea = (p) => h("textarea", { ...p, class: cls("textarea", p.class) }); +var Textrotate = (p, c) => h("span", { ...p, class: cls("text-rotate", p.class) }, h("span", {}, c)); +var Timeline = (p, c) => h("ul", { ...p, class: cls("timeline", p.class) }, c); var Toast = (message, type = "alert-success", duration = 3500) => { let container = document.getElementById("sigpro-toast-container"); if (!container) { - container = A("div", { + container = h("div", { id: "sigpro-toast-container", class: "fixed top-0 right-0 z-[9999] p-4 flex flex-col items-end gap-2 pointer-events-none" }); document.body.appendChild(container); } - const host = A("div", { style: "display: contents" }); + const host = h("div", { style: "display: contents" }); container.appendChild(host); let closeFn, timer, enterTimer; const ToastComponent = () => { - const visible = P(false); - const leaving = P(false); + const visible = $(false); + const leaving = $(false); closeFn = () => { if (leaving()) return; @@ -1130,8 +1266,8 @@ var Toast = (message, type = "alert-success", duration = 3500) => { }; enterTimer = setTimeout(() => visible(true), 0); const content = typeof message === "function" ? val(message) : message; - const msgNode = typeof content === "string" ? A("span", {}, content) : content; - return A("div", { + const msgNode = typeof content === "string" ? h("span", {}, content) : content; + return h("div", { class: () => { const base = `alert alert-soft ${type} shadow-lg transition-all duration-300 inline-flex w-auto whitespace-nowrap pointer-events-auto`; if (leaving()) @@ -1142,28 +1278,28 @@ var Toast = (message, type = "alert-success", duration = 3500) => { } }, [ msgNode, - A("button", { + h("button", { class: "btn btn-xs btn-circle btn-ghost", onclick: closeFn - }, A("span", { class: "icon-[lucide--x]" })) + }, h("span", { class: "icon-[lucide--x]" })) ]); }; - const instance = Y(ToastComponent, host); + const instance = mount(ToastComponent, host); if (duration > 0) timer = setTimeout(closeFn, duration); return closeFn; }; -var Toggle = (p) => A("input", { ...p, type: "checkbox", class: cls("toggle", p.class) }); -var Tooltip = (p, c) => A("div", { ...p, class: cls("tooltip", p.class), "data-tip": p.tip }, c); +var Toggle = (p) => h("input", { ...p, type: "checkbox", class: cls("toggle", p.class) }); +var Tooltip = (p, c) => h("div", { ...p, class: cls("tooltip", p.class), "data-tip": p.tip }, c); var Editor = (p) => { const { value, class: extraClass } = p; let editorRef = null; let savedRange = null; - const isSource = P(false); - const source = P(""); - const count = P(0); - const refreshTick = P(0); - const showEmojis = P(false); + const isSource = $(false); + const source = $(""); + const count = $(0); + const refreshTick = $(0); + const showEmojis = $(false); const emojis = ["\uD83D\uDE00", "\uD83D\uDE0A", "\uD83D\uDE09", "\uD83E\uDDD0", "\uD83D\uDE2E", "\uD83E\uDD14", "\uD83D\uDE05", "\uD83D\uDE02", "\uD83D\uDE0D", "\uD83D\uDE18", "\uD83E\uDD70", "\uD83D\uDC4D", "\uD83D\uDC4E", "\uD83D\uDC4C", "\uD83E\uDD1D", "\uD83E\uDD1E", "\uD83D\uDC4B", "\uD83D\uDC4F", "\uD83D\uDE4C", "\uD83D\uDE4F", "\uD83D\uDCAA", "☝️", "\uD83D\uDC47", "\uD83D\uDC48", "\uD83D\uDC49", "\uD83D\uDD95", "✅", "⚠️", "\uD83D\uDE80", "\uD83D\uDCE2", "✉️", "❤️"]; const saveSelection = () => { const sel = window.getSelection(); @@ -1186,7 +1322,7 @@ var Editor = (p) => { if (!editorRef) return; const html = editorRef.innerHTML; - if (_(value)) + if (isFunc(value)) value(html); else p.onchange?.(html); @@ -1246,63 +1382,63 @@ var Editor = (p) => { return false; } }; - const toolbar = A("div", { class: "flex flex-wrap items-center gap-1 p-2 border-b border-base-300 bg-base-200 sticky top-0 z-20" }, [ - A("div", { class: "flex flex-wrap gap-1 flex-1 items-center" }, [ - A("button", { type: "button", class: () => `btn btn-ghost btn-xs ${queryState("bold") ? "btn-active bg-primary/20" : ""}`, onclick: () => exec("bold") }, A("span", { class: "icon-[lucide--bold]" })), - A("button", { type: "button", class: () => `btn btn-ghost btn-xs ${queryState("italic") ? "btn-active bg-primary/20" : ""}`, onclick: () => exec("italic") }, A("span", { class: "icon-[lucide--italic]" })), - A("button", { type: "button", class: () => `btn btn-ghost btn-xs ${queryState("underline") ? "btn-active bg-primary/20" : ""}`, onclick: () => exec("underline") }, A("span", { class: "icon-[lucide--underline]" })), - A("input", { type: "color", class: "w-5 h-5 p-0 border-0 bg-transparent cursor-pointer", oninput: (e) => exec("foreColor", e.target.value) }), - A("span", { class: "w-px h-5 bg-base-300 mx-1" }), - A("button", { + const toolbar = h("div", { class: "flex flex-wrap items-center gap-1 p-2 border-b border-base-300 bg-base-200 sticky top-0 z-20" }, [ + h("div", { class: "flex flex-wrap gap-1 flex-1 items-center" }, [ + h("button", { type: "button", class: () => `btn btn-ghost btn-xs ${queryState("bold") ? "btn-active bg-primary/20" : ""}`, onclick: () => exec("bold") }, h("span", { class: "icon-[lucide--bold]" })), + h("button", { type: "button", class: () => `btn btn-ghost btn-xs ${queryState("italic") ? "btn-active bg-primary/20" : ""}`, onclick: () => exec("italic") }, h("span", { class: "icon-[lucide--italic]" })), + h("button", { type: "button", class: () => `btn btn-ghost btn-xs ${queryState("underline") ? "btn-active bg-primary/20" : ""}`, onclick: () => exec("underline") }, h("span", { class: "icon-[lucide--underline]" })), + h("input", { type: "color", class: "w-5 h-5 p-0 border-0 bg-transparent cursor-pointer", oninput: (e) => exec("foreColor", e.target.value) }), + h("span", { class: "w-px h-5 bg-base-300 mx-1" }), + h("button", { type: "button", class: "btn btn-ghost btn-xs", onclick: () => exec("justifyLeft") - }, A("span", { class: "icon-[lucide--align-left]" })), - A("button", { + }, h("span", { class: "icon-[lucide--align-left]" })), + h("button", { type: "button", class: "btn btn-ghost btn-xs", onclick: () => exec("justifyCenter") - }, A("span", { class: "icon-[lucide--align-center]" })), - A("button", { + }, h("span", { class: "icon-[lucide--align-center]" })), + h("button", { type: "button", class: "btn btn-ghost btn-xs", onclick: () => exec("justifyRight") - }, A("span", { class: "icon-[lucide--align-right]" })), - A("span", { class: "w-px h-5 bg-base-300 mx-1" }), - A("button", { type: "button", class: "btn btn-ghost btn-xs", onclick: () => exec("insertUnorderedList") }, A("span", { class: "icon-[lucide--list]" })), - A("button", { type: "button", class: "btn btn-ghost btn-xs", onclick: () => exec("insertOrderedList") }, A("span", { class: "icon-[lucide--list-ordered]" })), - A("button", { type: "button", class: "btn btn-ghost btn-xs", onclick: () => exec("outdent") }, A("span", { class: "icon-[lucide--indent-decrease]" })), - A("button", { type: "button", class: "btn btn-ghost btn-xs", onclick: () => exec("indent") }, A("span", { class: "icon-[lucide--indent-increase]" })), - A("button", { type: "button", class: () => `btn btn-ghost btn-xs ${queryState("formatBlock", "BLOCKQUOTE") ? "btn-active" : ""}`, onclick: () => exec("formatBlock", queryState("formatBlock", "BLOCKQUOTE") ? "P" : "BLOCKQUOTE") }, A("span", { class: "icon-[lucide--quote]" })), - A("span", { class: "w-px h-5 bg-base-300 mx-1" }), - A("button", { type: "button", class: "btn btn-ghost btn-xs", onclick: () => { + }, h("span", { class: "icon-[lucide--align-right]" })), + h("span", { class: "w-px h-5 bg-base-300 mx-1" }), + h("button", { type: "button", class: "btn btn-ghost btn-xs", onclick: () => exec("insertUnorderedList") }, h("span", { class: "icon-[lucide--list]" })), + h("button", { type: "button", class: "btn btn-ghost btn-xs", onclick: () => exec("insertOrderedList") }, h("span", { class: "icon-[lucide--list-ordered]" })), + h("button", { type: "button", class: "btn btn-ghost btn-xs", onclick: () => exec("outdent") }, h("span", { class: "icon-[lucide--indent-decrease]" })), + h("button", { type: "button", class: "btn btn-ghost btn-xs", onclick: () => exec("indent") }, h("span", { class: "icon-[lucide--indent-increase]" })), + h("button", { type: "button", class: () => `btn btn-ghost btn-xs ${queryState("formatBlock", "BLOCKQUOTE") ? "btn-active" : ""}`, onclick: () => exec("formatBlock", queryState("formatBlock", "BLOCKQUOTE") ? "P" : "BLOCKQUOTE") }, h("span", { class: "icon-[lucide--quote]" })), + h("span", { class: "w-px h-5 bg-base-300 mx-1" }), + h("button", { type: "button", class: "btn btn-ghost btn-xs", onclick: () => { const url = window.prompt("URL:"); if (url) exec("createLink", url); - } }, A("span", { class: "icon-[lucide--link]" })), - A("button", { type: "button", class: "btn btn-ghost btn-xs", onclick: () => { + } }, h("span", { class: "icon-[lucide--link]" })), + h("button", { type: "button", class: "btn btn-ghost btn-xs", onclick: () => { const input2 = document.createElement("input"); input2.type = "file"; input2.onchange = (e) => handleUpload(e.target.files[0]); input2.click(); - } }, A("span", { class: "icon-[lucide--paperclip]" })), - A("div", { class: "relative" }, [ - A("button", { type: "button", class: "btn btn-ghost btn-xs", onclick: (e) => { + } }, h("span", { class: "icon-[lucide--paperclip]" })), + h("div", { class: "relative" }, [ + h("button", { type: "button", class: "btn btn-ghost btn-xs", onclick: (e) => { e.stopPropagation(); saveSelection(); showEmojis(!showEmojis()); - } }, A("span", { class: "icon-[lucide--smile]" })), - A("div", { class: "absolute top-full left-0 mt-1 p-2 bg-base-100 border border-base-300 shadow-xl rounded-box w-52 z-50 flex flex-wrap gap-1", style: () => showEmojis() ? "display:flex" : "display:none" }, emojis.map((emo) => A("span", { class: "cursor-pointer hover:bg-base-200 p-1 rounded text-lg", onclick: (e) => { + } }, h("span", { class: "icon-[lucide--smile]" })), + h("div", { class: "absolute top-full left-0 mt-1 p-2 bg-base-100 border border-base-300 shadow-xl rounded-box w-52 z-50 flex flex-wrap gap-1", style: () => showEmojis() ? "display:flex" : "display:none" }, emojis.map((emo) => h("span", { class: "cursor-pointer hover:bg-base-200 p-1 rounded text-lg", onclick: (e) => { e.stopPropagation(); exec("insertText", emo); showEmojis(false); } }, emo))) ]), - A("span", { class: "w-px h-5 bg-base-300 mx-1" }), - A("button", { type: "button", class: "btn btn-ghost btn-xs", onclick: () => exec("undo") }, A("span", { class: "icon-[lucide--undo-2]" })), - A("button", { type: "button", class: "btn btn-ghost btn-xs", onclick: () => exec("redo") }, A("span", { class: "icon-[lucide--redo-2]" })) + h("span", { class: "w-px h-5 bg-base-300 mx-1" }), + h("button", { type: "button", class: "btn btn-ghost btn-xs", onclick: () => exec("undo") }, h("span", { class: "icon-[lucide--undo-2]" })), + h("button", { type: "button", class: "btn btn-ghost btn-xs", onclick: () => exec("redo") }, h("span", { class: "icon-[lucide--redo-2]" })) ]), - A("button", { type: "button", class: () => `btn btn-ghost btn-xs ${isSource() ? "btn-active" : ""}`, onclick: () => { + h("button", { type: "button", class: () => `btn btn-ghost btn-xs ${isSource() ? "btn-active" : ""}`, onclick: () => { if (!isSource()) source(editorRef?.innerHTML || ""); else if (editorRef) { @@ -1310,7 +1446,7 @@ var Editor = (p) => { notify(); } isSource(!isSource()); - } }, A("span", { class: "icon-[lucide--code-2]" })) + } }, h("span", { class: "icon-[lucide--code-2]" })) ]); if (typeof document !== "undefined" && !document.getElementById("editor-styles")) { const style = document.createElement("style"); @@ -1324,10 +1460,10 @@ var Editor = (p) => { `; document.head.appendChild(style); } - return A("div", { class: cls("border border-base-300 rounded-box bg-base-100 overflow-hidden shadow-sm flex flex-col", extraClass) }, [ + return h("div", { class: cls("border border-base-300 rounded-box bg-base-100 overflow-hidden shadow-sm flex flex-col", extraClass) }, [ toolbar, - A("div", { class: "relative flex-1 flex flex-col", onclick: () => showEmojis(false) }, [ - A("div", { + h("div", { class: "relative flex-1 flex flex-col", onclick: () => showEmojis(false) }, [ + h("div", { ref: (el) => { if (!editorRef && el) { editorRef = el; @@ -1377,7 +1513,7 @@ var Editor = (p) => { handleUpload(e.dataTransfer.files[0]); } }), - A("textarea", { + h("textarea", { class: "w-full flex-1 min-h-[22rem] p-4 outline-none font-mono text-sm bg-base-200 border-0", style: () => isSource() ? "" : "display:none", value: source, @@ -1389,8 +1525,8 @@ var Editor = (p) => { } }) ]), - A("div", { class: "px-3 py-1 border-t border-base-300 bg-base-100/50 text-[10px] text-right text-base-content/60 italic" }, [ - A("span", () => `${count()}`) + h("div", { class: "px-3 py-1 border-t border-base-300 bg-base-100/50 text-[10px] text-right text-base-content/60 italic" }, [ + h("span", () => `${count()}`) ]) ]); }; diff --git a/dist/sigpro-ui.esm.min.js b/dist/sigpro-ui.esm.min.js index 7a52ddf..18234d1 100644 --- a/dist/sigpro-ui.esm.min.js +++ b/dist/sigpro-ui.esm.min.js @@ -1,7 +1,7 @@ -var Qn=Object.defineProperty;var Sn=(n)=>n;function Gn(n,f){this[n]=Sn.bind(null,f)}var Mn=(n,f)=>{for(var t in f)Qn(n,t,{get:f[t],enumerable:!0,configurable:!0,set:Gn.bind(f,t)})};var bn={};Mn(bn,{tt:()=>On,i18n:()=>kn,hide:()=>s,currentLocale:()=>un,Tooltip:()=>mf,Toggle:()=>sf,Toast:()=>xf,Timeline:()=>af,Textrotate:()=>Ff,Textarea:()=>Df,Tabs:()=>lf,TableItems:()=>Rf,Table:()=>Hf,SwapToggle:()=>Kn,SwapOn:()=>Ln,SwapOff:()=>Un,Swap:()=>Jn,Steps:()=>Vf,Step:()=>qf,Stats:()=>df,Stat:()=>$f,Stack:()=>gf,SkeletonText:()=>If,Skeleton:()=>Bf,Select:()=>Yf,RatingItems:()=>Zf,Rating:()=>Mf,Range:()=>Gf,Radio:()=>Sf,Radial:()=>Qf,Progress:()=>zf,Navbar:()=>Xf,Modal:()=>Uf,Menu:()=>Lf,Locale:()=>Hn,Loading:()=>Kf,ListRows:()=>Jf,List:()=>Tf,Kbd:()=>Pf,Input:()=>Tn,Indicator:()=>Wf,Icon:()=>i,Fileinput:()=>Cf,Fieldset:()=>jf,Fab:()=>Of,Editor:()=>ef,DropdownContent:()=>e,DropdownButton:()=>Pn,Dropdown:()=>m,DrawerToggle:()=>Ef,DrawerSide:()=>yf,DrawerOverlay:()=>Af,DrawerContent:()=>Nf,Drawer:()=>wf,Divider:()=>kf,Datepicker:()=>bf,Colorpicker:()=>uf,ColorPalette:()=>Wn,Checkbox:()=>of,ChatImage:()=>_f,ChatHeader:()=>tf,ChatFooter:()=>rf,ChatBubble:()=>ff,Chat:()=>nf,CarouselItem:()=>pn,Carousel:()=>hn,CardTitle:()=>en,CardBody:()=>vn,CardActions:()=>cn,Card:()=>mn,Calendar:()=>Cn,Button:()=>jn,Breadcrumbs:()=>sn,Badge:()=>xn,AvatarGroup:()=>Fn,Avatar:()=>Dn,Autocomplete:()=>an,Alert:()=>ln,Accordion:()=>Rn});var P=(n)=>typeof n==="function",F=(n)=>n&&typeof n==="object",d=Array.isArray,Z=typeof document<"u"?document:null,wn=(n)=>n?._isRuntime?n.container:n instanceof Node?n:Z.createTextNode(n==null?"":String(n)),X=null,G=null,R=!1,D=0,a=new Set,En=new WeakMap,nn=Symbol("iter"),fn=new WeakMap,Zn="http://www.w3.org/2000/svg",Nn="http://www.w3.org/1999/xlink",Yn=new Set("svg,path,circle,rect,line,polyline,polygon,g,defs,text,textPath,tspan,use,symbol,image,marker,ellipse".split(",")),$=(n)=>{if(!n||n._disposed)return;n._disposed=!0;let f=[n];while(f.length){let t=f.pop();if(t._cleanups)t._cleanups.forEach((o)=>o()),t._cleanups.clear();if(t._children)t._children.forEach((o)=>f.push(o)),t._children.clear();if(t._deps)t._deps.forEach((o)=>o.delete(t)),t._deps.clear()}},q=(n)=>{if(G)(G._cleanups||=new Set).add(n)},Bn=(n)=>{let f=X;X=null;try{return n()}finally{X=f}},l=(n,f=!1)=>{let t=()=>{if(t._disposed)return;if(t._deps)t._deps.forEach((b)=>b.delete(t));if(t._cleanups)t._cleanups.forEach((b)=>b()),t._cleanups.clear();let o=X,_=G;X=G=t;try{return t._result=n()}catch(b){console.error("[SigPro]",b)}finally{X=o,G=_}};if(t._deps=t._cleanups=t._children=null,t._disposed=!1,t._isComputed=f,t._depth=X?X._depth+1:0,t._mounts=[],t._parent=G,G)(G._children||=new Set).add(t);return t},yn=()=>{if(R)return;R=!0;let n=Array.from(a).sort((f,t)=>f._depth-t._depth);a.clear();for(let f of n)if(!f._disposed)f();R=!1},In=(n)=>{D++;try{return n()}finally{if(D--,D===0&&a.size>0&&!R)yn()}},M=(n,f=!1)=>{if(!f&&X&&!X._disposed)n.add(X),(X._deps||=new Set).add(n);else if(f&&n.size>0){let t=!1;for(let o of n){if(o===X||o._disposed)continue;if(o._isComputed){if(o._dirty=!0,o._subs)M(o._subs,!0)}else a.add(o),t=!0}if(t&&!R&&D===0)queueMicrotask(yn)}},L=(n,f=null)=>{let t=new Set;if(P(n)){let o,_=()=>{if(_._dirty){let b=X;X=_;try{let u=n();if(!Object.is(o,u))o=u,M(t,!0)}finally{X=b}_._dirty=!1}return M(t),o};return _._isComputed=!0,_._subs=t,_._dirty=!0,_._deps=null,_._disposed=!1,_}if(f)try{n=JSON.parse(localStorage.getItem(f))??n}catch(o){}return(...o)=>{if(o.length){let _=P(o[0])?o[0](n):o[0];if(!Object.is(n,_)){if(n=_,f)localStorage.setItem(f,JSON.stringify(n));M(t,!0)}}return M(t),n}},An=(n)=>{if(!F(n))return n;let f=En.get(n);if(f)return f;let t=new Map,o=(b)=>{let u=t.get(b);if(!u)t.set(b,u=new Set);return u},_=new Proxy(n,{get(b,u,E){if(typeof u!=="symbol")M(o(u));return An(Reflect.get(b,u,E))},set(b,u,E,w){let y=Reflect.has(b,u),O=Reflect.get(b,u,w),C=Reflect.set(b,u,E,w);if(C&&!Object.is(O,E)){if(M(o(u),!0),!y)M(o(nn),!0)}return C},deleteProperty(b,u){let E=Reflect.deleteProperty(b,u);if(E)M(o(u),!0),M(o(nn),!0);return E},ownKeys(b){return M(o(nn)),Reflect.ownKeys(b)}});return En.set(n,_),_},V=(n,f)=>{if(f===void 0){let o=l(n);return o(),()=>$(o)}let t=l(()=>{let o=Array.isArray(n)?n.map((_)=>_()):n();Bn(()=>f(o))});return t(),()=>$(t)},tn=(n)=>{if(!n)return;if(n._cleanups)n._cleanups.forEach((f)=>f()),n._cleanups.clear();if(n._ownerEffect)$(n._ownerEffect);if(n.childNodes)n.childNodes.forEach((f)=>tn(f))},gn=/^\s*(javascript|data|vbscript):/i,dn=new Set(["src","href","formaction","action","background","code","archive"]),$n=(n)=>dn.has(n)||n.startsWith("on"),rn=(n,f)=>{if(f==null||f===!1)return null;if($n(n)){let t=String(f);if(gn.test(t))return console.warn(`[SigPro] Bloqueado protocolo peligroso en ${n}`),"#"}return f},r=(n,f={},t=[])=>{if(f instanceof Node||d(f)||!F(f))t=f,f={};if(P(n)){let u=l(()=>{let O=n(f,{children:t,emit:(C,...W)=>f[`on${C[0].toUpperCase()}${C.slice(1)}`]?.(...W)});return u._result=O,O});u();let E=u._result;if(E==null)return null;let w=E instanceof Node||d(E)&&E.every((O)=>O instanceof Node)?E:Z.createTextNode(String(E)),y=(O)=>{if(F(O)&&!O._isRuntime)O._mounts=u._mounts||[],O._cleanups=u._cleanups||new Set,O._ownerEffect=u};return d(w)?w.forEach(y):y(w),w}let o=Yn.has(n),_=o?Z.createElementNS(Zn,n):Z.createElement(n);_._cleanups=new Set;for(let u of Object.keys(f)){let E=f[u];if(u==="ref"){P(E)?E(_):E.current=_;continue}if(o&&u.startsWith("xlink:")){let w=rn(u.slice(6),E);w==null?_.removeAttributeNS(Nn,u.slice(6)):_.setAttributeNS(Nn,u.slice(6),w);continue}if(u.startsWith("on")){let w=u.slice(2).toLowerCase();_.addEventListener(w,E);let y=()=>_.removeEventListener(w,E);_._cleanups.add(y),q(y)}else if(P(E)){let w=l(()=>{let y=rn(u,E());if(u==="class")_.className=y||"";else if(y==null)_.removeAttribute(u);else if(u==="style"&&typeof y==="string")_.setAttribute("style",y);else if(u in _&&!o)_[u]=y;else _.setAttribute(u,y===!0?"":y)});if(w(),_._cleanups.add(()=>$(w)),q(()=>$(w)),/^(INPUT|TEXTAREA|SELECT)$/.test(_.tagName)&&(u==="value"||u==="checked")){let y=u==="checked"?"change":"input";_.addEventListener(y,(O)=>E(O.target[u]))}}else{let w=rn(u,E);if(w!=null)if(u==="style"&&typeof w==="string")_.setAttribute("style",w);else if(u in _&&!o)_[u]=w;else _.setAttribute(u,w===!0?"":w)}}let b=(u)=>{if(d(u))return u.forEach(b);if(P(u)){let E=Z.createTextNode("");_.appendChild(E);let w=[],y=l(()=>{let O=u(),C=(d(O)?O:[O]).map(wn);w.forEach((T)=>{if(T._isRuntime)T.destroy();else tn(T);if(T.parentNode)T.remove()});let W=E;for(let T=C.length-1;T>=0;T--){let k=C[T];if(k.parentNode!==W.parentNode)W.parentNode?.insertBefore(k,W);if(k._mounts)k._mounts.forEach((j)=>j());W=k}w=C});y(),_._cleanups.add(()=>$(y)),q(()=>$(y))}else{let E=wn(u);if(_.appendChild(E),E._mounts)E._mounts.forEach((w)=>w())}};return b(t),_},x=(n)=>{let f=new Set,t=G,o=X,_=Z.createElement("div");_.style.display="contents",_.setAttribute("role","presentation"),G={_cleanups:f},X=null;let b=(u)=>{if(!u)return;if(u._isRuntime)f.add(u.destroy),_.appendChild(u.container);else if(d(u))u.forEach(b);else _.appendChild(u instanceof Node?u:Z.createTextNode(String(u==null?"":u)))};try{b(n({onCleanup:(u)=>f.add(u)}))}finally{G=t,X=o}return{_isRuntime:!0,container:_,destroy:()=>{f.forEach((u)=>u()),tn(_),_.remove()}}},_n=(n,f,t=null)=>{let o=Z.createTextNode(""),_=r("div",{style:"display:contents"},[o]),b=null;return V(()=>!!(P(n)?n():n),(u)=>{if(b)b.destroy(),b=null;let E=u?f:t;if(E)b=x(()=>P(E)?E():E),_.insertBefore(b.container,o)}),q(()=>b?.destroy()),_},I=(n,f,t)=>{let o=Z.createTextNode(""),_=r("div",{style:"display:contents"},[o]),b=new Map;return V(()=>(P(n)?n():n)||[],(u)=>{let E=new Map,w=[],y=u||[];for(let C=0;Cf(W,C));else b.delete(T);E.set(T,k),w.push(k)}b.forEach((C)=>C.destroy());let O=o;for(let C=w.length-1;C>=0;C--){let W=w[C].container;if(W.nextSibling!==O)_.insertBefore(W,O);O=W}b=E}),_},H=(n)=>{let f=()=>window.location.hash.slice(1)||"/",t=L(f()),o=()=>t(f());window.addEventListener("hashchange",o),q(()=>window.removeEventListener("hashchange",o));let _=r("div",{class:"router-hook"}),b=null;return V([t],()=>{let u=t(),E=n.find((w)=>{let y=w.path.split("/").filter(Boolean),O=u.split("/").filter(Boolean);return y.length===O.length&&y.every((C,W)=>C[0]===":"||C===O[W])})||n.find((w)=>w.path==="*");if(E){b?.destroy();let w={};E.path.split("/").filter(Boolean).forEach((y,O)=>{if(y[0]===":")w[y.slice(1)]=u.split("/").filter(Boolean)[O]}),H.params(w),b=x(()=>P(E.component)?E.component(w):E.component),_.replaceChildren(b.container)}}),_};H.params=L({});H.to=(n)=>window.location.hash=n.replace(/^#?\/?/,"#/");H.back=()=>window.history.back();H.path=()=>window.location.hash.replace(/^#/,"")||"/";var on=(n,f)=>{let t=typeof f==="string"?Z.querySelector(f):f;if(!t)return;if(fn.has(t))fn.get(t).destroy();let o=x(P(n)?n:()=>n);return t.replaceChildren(o.container),fn.set(t,o),o};if(typeof window<"u")Object.assign(window,{$:L,$$:An,watch:V,h:r,when:_n,each:I,router:H,mount:on,batch:In,onUnmount:q,isArr:d,isFunc:P,isObj: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((n)=>{window[n]=(f,t)=>r(n,f,t)});var K=(n)=>typeof n==="function"?n():n,g=(n,f="label")=>n&&typeof n==="object"?n[f]:n,N=(...n)=>n.filter(Boolean).join(" ").trim(),Vn=(n,f,t="label",o=String(f).toLowerCase())=>!f?K(n):K(n).filter((_)=>String(_&&typeof _==="object"?_[t]:_).toLowerCase().includes(o)),qn=(n)=>`${n}-${Math.random().toString(36).slice(2,9)}`,s=()=>document.activeElement?.blur(),kn={es:{uploadFiles:"Arrastrar y soltar o click para seleccionar..."},en:{uploadFiles:"DRag and drop or click to select"}},un=L("en"),Hn=(n)=>un(n),On=(n)=>()=>kn[un()][n]||n,Rn=(n)=>{let f=n.name||qn("acc");return I(n.items,(t)=>{return r("div",{class:N("collapse",n.class)},[r("input",{type:"radio",name:f,checked:t.open||void 0}),t.title?r("div",{class:N("collapse-title",`${t.classTitle??" font-semibold"}`)},t.title):null,t.content?r("div",{class:N("collapse-content text-sm",`${t.classContent??" font-semibold"}`)},t.content):null])})},ln=(n,f)=>r("div",{...n,class:N("alert",n.class)},f),Dn=(n,f)=>r("div",{class:"avatar"},r("div",{class:n.class},f)),Fn=(n,f)=>r("div",{...n,class:N("avatar-group -space-x-6",n.class)},f),an=({items:n,value:f,onselect:t,placeholder:o="...",..._})=>{let b=L(K(f)||""),u=L(()=>Vn(n,b())),E=(w)=>{let y=g(w),O=typeof w==="string"?w:w.value;if(b(y),P(f))f(O);t?.(w),s()};return m({class:"w-full"},[r("div",{tabindex:"0",role:"button",class:"w-full"},Tn({..._,placeholder:o,value:b,left:r("span",{class:"icon-[lucide--search]"}),oninput:(w)=>{if(b(w.target.value),P(f))f(w.target.value)}})),e({class:"p-2 bg-base-100 rounded-box shadow-xl w-full max-h-60 overflow-y-auto border border-base-300 z-50"},r("ul",{class:"menu flex-col flex-nowrap w-full p-0"},[I(u,(w)=>r("li",{},[r("a",{onmousedown:(y)=>y.preventDefault(),onclick:()=>E(w)},g(w))]),(w)=>g(w)),()=>u().length===0?r("li",{class:"p-4 opacity-50 text-center"},"Sin resultados"):null]))])},xn=(n,f)=>r("span",{...n,class:N("badge",n.class)},f),sn=(n,f)=>r("div",{...n,class:N("breadcrumbs",n.class)},f),jn=(n,f)=>r("button",{...n,class:N("btn",n.class)},f),Cn=(n)=>{let f=L(new Date),t=L(null),o=L(0),_=L(0),b=new Date,u=`${b.getFullYear()}-${String(b.getMonth()+1).padStart(2,"0")}-${String(b.getDate()).padStart(2,"0")}`,E=(k)=>`${k.getFullYear()}-${String(k.getMonth()+1).padStart(2,"0")}-${String(k.getDate()).padStart(2,"0")}`,w=()=>K(n.range)===!0,y=()=>K(n.value),O=(k)=>{let j=E(k),Q=y();if(w())if(!Q?.start||Q.start&&Q.end)n.onChange?.({start:j,end:null,...n.hour&&{startHour:o()}});else{let Y=Q.start,S=j{let j=f();f(new Date(j.getFullYear(),j.getMonth()+k,1))},W=(k)=>{let j=f();f(new Date(j.getFullYear()+k,j.getMonth(),1))},T=({value:k,onChange:j})=>r("div",{class:"flex-1"},[r("div",{class:"flex gap-2 items-center"},[r("input",{type:"range",min:0,max:23,value:k,class:"range range-xs flex-1",oninput:(Q)=>j(+Q.target.value)}),r("span",{class:"text-sm font-mono min-w-[48px] text-center"},()=>String(K(k)).padStart(2,"0")+":00")])]);return r("div",{class:N("p-4 bg-base-100 border border-base-300 shadow-2xl rounded-box w-80 select-none",n.class)},[r("div",{class:"flex justify-between items-center mb-4 gap-1"},[r("div",{class:"flex gap-0.5"},[r("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>W(-1)},r("span",{class:"icon-[lucide--chevrons-left]"})),r("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>C(-1)},r("span",{class:"icon-[lucide--chevron-left]"}))]),r("span",{class:"font-bold uppercase flex-1 text-center"},()=>f().toLocaleString("es-ES",{month:"short",year:"numeric"})),r("div",{class:"flex gap-0.5"},[r("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>C(1)},r("span",{class:"icon-[lucide--chevron-right]"})),r("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>W(1)},r("span",{class:"icon-[lucide--chevrons-right]"}))])]),r("div",{class:"grid grid-cols-7 gap-1",onmouseleave:()=>t(null)},[...["L","M","X","J","V","S","D"].map((k)=>r("div",{class:"text-[10px] opacity-40 font-bold text-center"},k)),()=>{let k=f(),j=k.getFullYear(),Q=k.getMonth(),Y=new Date(j,Q,1).getDay(),S=Y===0?6:Y-1,v=new Date(j,Q+1,0).getDate(),A=[];for(let J=0;J{let B=y(),c=t(),Xn=typeof B==="string"?B.split("T")[0]===z:B?.start===z,zn=B?.end===z,h=!1;if(w()&&B?.start){let p=B.start;if(!B.end&&c)h=z>p&&z<=c||z=c;else if(B.end)h=z>p&&zw()&&t(z),onclick:()=>O(U)},J.toString()))}return A}]),n.hour?r("div",{class:"mt-3 pt-2 border-t border-base-300"},w()?r("div",{class:"flex gap-4"},[T({value:o,onChange:(k)=>o(k)}),T({value:_,onChange:(k)=>_(k)})]):T({value:o,onChange:(k)=>o(k)})):null])},mn=(n,f)=>r("div",{...n,class:N("card",n.class)},f),en=(n,f)=>r("div",{...n,class:N("card-title",n.class)},f),vn=(n,f)=>r("div",{...n,class:N("card-body",n.class)},f),cn=(n,f)=>r("div",{...n,class:N("card-actions",n.class)},f),hn=(n,f)=>r("div",{...n,class:N("carousel",n.class)},f),pn=(n,f)=>r("div",{...n,class:N("carousel-item",n.class)},f),nf=(n,f)=>r("div",{...n,class:N("chat",n.class)},f),ff=(n,f)=>r("div",{...n,class:N("chat-bubble",n.class)},f),rf=(n,f)=>r("div",{...n,class:N("chat-footer",n.class)},f),tf=(n,f)=>r("div",{...n,class:N("chat-header",n.class)},f),_f=(n,f)=>r("div",{...n,class:N("chat-image avatar",n.class)},r("div",{class:"w-10 rounded-full"},typeof f==="string"?r("img",{src:f,alt:"avatar"}):f)),of=(n)=>r("input",{...n,type:"checkbox",class:N("checkbox",n.class)}),uf=(n)=>{let f=()=>K(n.value)||"#000000";return m({},[Pn({class:"btn"},[r("div",{class:"size-5 rounded-sm",style:()=>`background-color: ${f()}`}),n.label&&r("span",{},n.label)]),e({class:"p-0"},Wn({value:n.value,onchange:(t)=>{P(n.value)?n.value(t):n.onchange?.(t)}}))])},Wn=(n)=>{let f=()=>K(n.value)||"#000000",t=["#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"],o=(_)=>{P(n.value)?n.value(_):n.onchange?.(_),s()};return r("div",{class:N("p-3 bg-base-100 rounded-box shadow w-64",n.class)},r("div",{class:"grid grid-cols-8 gap-1"},t.map((_)=>r("button",{type:"button",style:`background-color: ${_}`,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 ${f().toLowerCase()===_.toLowerCase()?"ring-2 ring-offset-1 ring-primary z-10 scale-110":""}`},onclick:()=>{o(_)}}))))},bf=(n)=>{let f=L(""),t=()=>K(n.range)===!0;V(()=>{let _=K(n.value);if(!_)return f("");let b="";if(typeof _==="string")b=n.hour&&_.includes("T")?_.replace("T"," "):_;else if(_.start&&_.end){let u=n.hour&&_.startHour!=null?`${_.start} ${String(_.startHour).padStart(2,"0")}:00`:_.start,E=n.hour&&_.endHour!=null?`${_.end} ${String(_.endHour).padStart(2,"0")}:00`:_.end;b=`${u} - ${E}`}else if(_.start)b=`${n.hour&&_.startHour!=null?`${_.start} ${String(_.startHour).padStart(2,"0")}:00`:_.start}...`;f(b)});let o=(_)=>{if(P(n.value))n.value(_);else n.onChange?.(_);if(!t()||_?.end!=null)s()};return m({class:N("w-full",n.class)},[r("label",{tabindex:"0",role:"button",class:"input input-bordered flex items-center gap-2 cursor-pointer"},[r("span",{class:"icon-[lucide--calendar] shrink-0"}),r("span",{class:()=>`grow text-left truncate ${!f()?"opacity-50":""}`},()=>f()||n.placeholder||(t()?"Seleccionar rango...":"Seleccionar fecha...")),()=>f()?r("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle -mr-2",onmousedown:(_)=>{if(_.preventDefault(),_.stopPropagation(),P(n.value))n.value(null);else n.onChange?.(null);f("")}},r("span",{class:"icon-[lucide--x] opacity-50"})):null]),e({class:"p-0"},Cn({value:n.value,range:t(),hour:n.hour,onChange:o}))])},wf=(n,f)=>div({...n,class:N("drawer",n.class)},f),Ef=(n)=>input({...n,type:"checkbox",class:"drawer-toggle",checked:()=>K(n.checked),onchange:(f)=>P(n.checked)&&n.checked(f.target.checked)}),Nf=(n,f)=>div({...n,class:N("drawer-content",n.class)},f),yf=(n,f)=>div({...n,class:N("drawer-side",n.class)},f),Af=(n)=>label({...n,for:n.for,class:N("drawer-overlay",n.class)}),kf=(n)=>r("div",{...n,class:N("divider",n.class)}),m=(n,f)=>r("div",{...n,class:N("dropdown",n.class)},f),Pn=(n,f)=>r("div",{...n,tabindex:"0",role:"button",class:N("btn",n.class)},f),e=(n,f)=>r("div",{...n,tabindex:"0",class:N("dropdown-content",n.class)},f),Of=(n,f)=>r("div",{class:"fab"},[r("div",{tabindex:"0",role:"button",class:N("btn",n.class)},i(n.icon)),f]),jf=(n,f)=>r("fieldset",{class:N("fieldset",n.class)},[r("legend",{class:"fieldset-legend"},n.label),f]),Cf=(n)=>{let f=L([]),t=L(!1),o=L(null),_=(n.max||2)*1024*1024,b=(E)=>{let w=Array.from(E);if(o(null),w.some((O)=>O.size>_)){o(`Máx ${n.max||2}MB`);return}let y=[...f(),...w];if(f(y),P(n.onselect))n.onselect(y);else if(P(n.value))n.value(y)},u=(E)=>{let w=f().filter((y,O)=>O!==E);if(f(w),P(n.onselect))n.onselect(w);else if(P(n.value))n.value(w)};return r("div",{class:N("fieldset w-full p-0",n.class)},[r("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 ${t()?"border-primary bg-primary/10":"border-base-content/20 bg-base-100 hover:bg-base-200"}`,ondragover:(E)=>{E.preventDefault(),t(!0)},ondragleave:()=>t(!1),ondrop:(E)=>{E.preventDefault(),t(!1),b(E.dataTransfer.files)}},[r("div",{class:"flex items-center gap-3 w-full"},[r("span",{class:"icon-[lucide--upload]"}),r("span",{class:"text-sm opacity-70 truncate grow text-left"},On("uploadFiles")),r("span",{class:"text-[10px] opacity-40 shrink-0"},`Máx ${n.max||2}MB`)]),r("input",{type:"file",multiple:!0,accept:n.accept||"*",class:"hidden",onchange:(E)=>b(E.target.files)})]),()=>o()&&r("span",{class:"text-[10px] text-error mt-1 px-1 font-medium"},o()),_n(()=>f().length>0,()=>r("ul",{class:"mt-2 space-y-1"},I(f,(E,w)=>r("li",{class:"flex items-center justify-between p-1.5 pl-3 text-xs bg-base-200/50 rounded-md border border-base-300"},[r("div",{class:"flex items-center gap-2 truncate"},[r("span",{class:"opacity-50"},"\uD83D\uDCC4"),r("span",{class:"truncate font-medium max-w-[200px]"},E.name),r("span",{class:"text-[9px] opacity-40"},`(${(E.size/1024).toFixed(0)} KB)`)]),r("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle",onclick:(y)=>{y.preventDefault(),u(w)}},r("span",{class:"icon-[lucide--x]"}))]))))])},i=(n)=>r("span",{class:n.startsWith("icon-")?n:""},n.startsWith("icon-")?null:n),Wf=(n,f)=>r("div",{...n,class:N("indicator",n.class)},[n.value&&r("span",{class:N("indicator-item badge",n.class)},n.value),f]),Tn=(n)=>{let{label:f,icon:t,float:o,placeholder:_,value:b,left:u,right:E,rule:w,hint:y,content:O,...C}=n,W=L(!1),T=n.type==="password",k=w??null,j=()=>T?K(W)?"text":"password":n.type||"search";return r("label",{class:o?"floating-label":""},[o?r("span",{},f):null,r("label",{pattern:k,class:()=>N("input validator",n.class)},[f&&!o?r("span",{class:"label"},f):null,u??null,r("input",{...C,type:j,class:"grow",pattern:k,placeholder:_||f||" ",value:b}),E??null,T?Jn({class:"ml-2"},[Kn({value:W,class:"swap-rotate"}),Ln({},i("icon-[lucide--eye]")),Un({},i("icon-[lucide--eye-off]"))]):null]),y?r("div",{class:"validator-hint"},y):null])},Pf=(n,f)=>r("kbd",{...n,class:N("kbd",n.class)},f),Tf=(n,f)=>r("ul",{...n,class:N("list",n.class)},f),Jf=(n)=>()=>(K(n.items)||[]).map((f,t)=>r("li",{class:N("list-row",n.class,f?.class)},typeof n.render==="function"?n.render(f,t):f)),Kf=(n,f)=>r("span",{...n,class:N("loading loading-spinner",n.class)},f),Lf=(n)=>{if(n.children!==void 0)return r("ul",{class:N("menu",n.class),...n},n.children);let{items:f}=n,t=(o)=>o.children?r("li",{},r("details",{open:o.open||void 0},[r("summary",{},g(o)),r("ul",{},I(()=>K(o.children)||[],t))])):r("li",{},r("a",{href:o.href,onclick:o.onclick?(_)=>{if(!o.href)_.preventDefault();o.onclick(_)}:null},g(o)));return r("ul",{class:N("menu",n.class)},I(()=>K(f)||[],t))},Uf=(n)=>{let f=null;V(()=>{let o=K(n.open);if(!f)return;o?f.showModal():f.hide()});let t=()=>P(n.open)&&n.open(!1);return r("dialog",{...n,ref:(o)=>f=o,class:N("modal",n.class),onclose:t,oncancel:t},[r("div",{class:"modal-box"},[n.title&&r("h3",{class:"text-lg font-bold"},n.title),n.children,r("div",{class:"modal-action"},[n.actions||jn({class:"btn",onclick:t},"Cerrar")])]),r("form",{method:"dialog",class:"modal-backdrop"},[r("button",{},"close")])])},Xf=(n,f)=>r("div",{...n,class:N("navbar",n.class)},f),zf=(n)=>r("progress",{...n,class:N("progress",n.class)}),Qf=(n,f)=>r("div",{class:N("radial-progress",n.class),style:`--value:${K(n.value)??0};`,role:"progressbar","aria-valuenow":n.value},f),Sf=(n)=>r("input",{...n,type:"radio",class:N("radio",n.class)}),Gf=(n)=>r("input",{...n,type:"range",class:N("range",n.class)}),Mf=(n,f)=>r("div",{...n,class:"rating"},f),Zf=(n)=>[...Array(n.count)].map((f,t)=>r("input",{class:N("mask",n.class),name:n.name,type:"radio",checked:()=>K(n.value)===t,onchange:()=>P(n.value)?n.value(t):n.onchange?.(t)})),Yf=(n,f)=>{if(f!==void 0)return r("select",{class:N("select",n.class),...n},f);let{label:t,float:o,placeholder:_,placeholderDisabled:b=!0,value:u,left:E,right:w,hint:y,items:O,keyFn:C,...W}=n,T=()=>{let k=K(O)||[];return[..._?[{disabled:b,label:_,value:""}]:[],...k]};return r("label",{class:o?"floating-label":""},[o?r("span",{},t):null,r("label",{class:N("select",W.class)},[!o&&t?r("span",{class:"label"},t):null,E??null,r("select",{value:()=>K(u),onchange:(k)=>P(u)?u(k.target.value):W.onchange?.(k)},I(T,(k)=>{let j=g(k,k.value!==void 0?"value":void 0),Q=g(k,"label");return r("option",{value:j,disabled:k.disabled||void 0},Q)})),w??null]),y?r("div",{class:"validator-hint"},y):null])},Bf=(n)=>r("div",{...n,class:N("skeleton",n.class)}),If=(n)=>r("span",{...n,class:N("skeleton skeleton-text",n.class)}),gf=(n,f)=>r("div",{...n,class:N("stack",n.class)},f),df=(n,f)=>r("div",{...n,class:N("stats shadow",n.class)},f),$f=(n)=>r("div",{...n,class:N("stat",n.class)},[n.title?r("div",{class:"stat-title"},n.title):null,n.value?r("div",{class:"stat-value"},n.value):null,n.desc?r("div",{class:"stat-desc"},n.desc):null]),Vf=(n,f)=>r("ul",{...n,class:N("steps",n.class)},f),qf=(n,f)=>r("li",{...n,class:N("step",n.class),"data-content":n.dataContent},f),Jn=(n,f)=>r("label",{...n,class:N("swap",n.class)},f),Kn=(n)=>r("input",{type:"checkbox",checked:()=>K(n.value),onchange:(f)=>P(n.value)&&n.value(f.target.checked),class:n.class}),Ln=(n,f)=>r("div",{...n,class:N("swap-on",n.class)},f),Un=(n,f)=>r("div",{...n,class:N("swap-off",n.class)},f),Hf=(n,f)=>r("table",{...n,class:N("table",n.class)},f),Rf=({items:n,columns:f=[],header:t=!0})=>{let o=t!==!1&&f.some((b)=>b.label)?r("thead",{},r("tr",{},f.map((b)=>r("th",{class:b.class},b.label)))):null,_=r("tbody",{},()=>{return(K(n)||[]).map((u,E)=>r("tr",{},f.map((w)=>{let y=w.render?w.render(u,E):u[w.key];return r("td",{class:w.class},y)})))});return[o,_].filter(Boolean)},lf=(n,f)=>{if(!n.items){let{class:y,...O}=n;return r("div",{...O,class:N("tabs",y)},f)}let{items:t,activeIndex:o,onClose:_,class:b,...u}=n,E=(y)=>P(y)?y():y,w=_||(P(t)?(y,O)=>{let W=K(t).filter((T,k)=>k!==y);if(t(W),o()>=W.length)o(Math.max(0,W.length-1))}:null);return r("div",{...u,class:N("tabs",b)},()=>{return(K(t)||[]).flatMap((O,C)=>{let W=()=>o()===C,T=r("button",{class:()=>`tab ${W()?"tab-active":""} ${O.class||""}`,onclick:(j)=>{j.preventDefault(),o(C),O.onclick?.(j)}},[g(O),O.closable?r("span",{class:"ml-1 inline-flex items-center justify-center w-4 h-4 rounded-full hover:bg-base-300 text-base-content/60 hover:text-base-content cursor-pointer",onclick:(j)=>{j.stopPropagation(),w?.(C,O)}},r("span",{class:"icon-[lucide--x] w-3 h-3"})):null]),k=r("div",{class:"tab-content bg-base-100 border-base-300 p-6",style:()=>`display: ${W()?"block":"none"};`},P(O.content)?O.content():O.content);return[T,k]})})},Df=(n)=>r("textarea",{...n,class:N("textarea",n.class)}),Ff=(n,f)=>r("span",{...n,class:N("text-rotate",n.class)},r("span",{},f)),af=(n,f)=>r("ul",{...n,class:N("timeline",n.class)},f),xf=(n,f="alert-success",t=3500)=>{let o=document.getElementById("sigpro-toast-container");if(!o)o=r("div",{id:"sigpro-toast-container",class:"fixed top-0 right-0 z-[9999] p-4 flex flex-col items-end gap-2 pointer-events-none"}),document.body.appendChild(o);let _=r("div",{style:"display: contents"});o.appendChild(_);let b,u,E,y=on(()=>{let O=L(!1),C=L(!1);b=()=>{if(C())return;clearTimeout(u),clearTimeout(E),C(!0),setTimeout(()=>{if(y.destroy(),_.remove(),!o.hasChildNodes())o.remove()},300)},E=setTimeout(()=>O(!0),0);let W=typeof n==="function"?K(n):n,T=typeof W==="string"?r("span",{},W):W;return r("div",{class:()=>{let k=`alert alert-soft ${f} shadow-lg transition-all duration-300 inline-flex w-auto whitespace-nowrap pointer-events-auto`;if(C())return`${k} translate-x-full opacity-0`;if(O())return`${k} translate-x-0 opacity-100`;return`${k} translate-x-10 opacity-0`}},[T,r("button",{class:"btn btn-xs btn-circle btn-ghost",onclick:b},r("span",{class:"icon-[lucide--x]"}))])},_);if(t>0)u=setTimeout(b,t);return b},sf=(n)=>r("input",{...n,type:"checkbox",class:N("toggle",n.class)}),mf=(n,f)=>r("div",{...n,class:N("tooltip",n.class),"data-tip":n.tip},f),ef=(n)=>{let{value:f,class:t}=n,o=null,_=null,b=L(!1),u=L(""),E=L(0),w=L(0),y=L(!1),O=["\uD83D\uDE00","\uD83D\uDE0A","\uD83D\uDE09","\uD83E\uDDD0","\uD83D\uDE2E","\uD83E\uDD14","\uD83D\uDE05","\uD83D\uDE02","\uD83D\uDE0D","\uD83D\uDE18","\uD83E\uDD70","\uD83D\uDC4D","\uD83D\uDC4E","\uD83D\uDC4C","\uD83E\uDD1D","\uD83E\uDD1E","\uD83D\uDC4B","\uD83D\uDC4F","\uD83D\uDE4C","\uD83D\uDE4F","\uD83D\uDCAA","☝️","\uD83D\uDC47","\uD83D\uDC48","\uD83D\uDC49","\uD83D\uDD95","✅","⚠️","\uD83D\uDE80","\uD83D\uDCE2","✉️","❤️"],C=()=>{let A=window.getSelection();if(A.getRangeAt&&A.rangeCount)_=A.getRangeAt(0)},W=()=>{if(_){let A=window.getSelection();A.removeAllRanges(),A.addRange(_)}},T=()=>{if(w(w()+1),o)E(o.innerText.length)},k=()=>{if(!o)return;let A=o.innerHTML;if(P(f))f(A);else n.onchange?.(A);T()},j=(A,J=null)=>{if(!o)return;if(o.focus(),_)W();document.execCommand(A,!1,J),_=null,k()},Q=(A)=>{let J=document.createElement("div");J.style="position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.9);z-index:9999;display:flex;align-items:center;justify-content:center;cursor:zoom-out;";let U=document.createElement("img");U.src=A,U.style="max-width:95%;max-height:95%;box-shadow:0 0 30px rgba(0,0,0,0.5);border-radius:4px;",J.onclick=()=>document.body.removeChild(J),J.appendChild(U),document.body.appendChild(J)},Y=(A)=>{if(!A)return;let J=new FileReader;J.onload=(U)=>{if(A.type.startsWith("image/")){let z=`
 `;j("insertHTML",z)}else{let z=`${A.name} `;j("insertHTML",z)}},J.readAsDataURL(A)},S=(A,J=null)=>{if(w(),!o||b())return!1;try{if(A==="formatBlock"){let U=window.getSelection().getRangeAt(0).commonAncestorContainer;while(U&&U!==o){if(U.nodeType===1&&U.tagName===J)return!0;U=U.parentNode}return!1}return document.queryCommandState(A)}catch(U){return!1}},v=r("div",{class:"flex flex-wrap items-center gap-1 p-2 border-b border-base-300 bg-base-200 sticky top-0 z-20"},[r("div",{class:"flex flex-wrap gap-1 flex-1 items-center"},[r("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${S("bold")?"btn-active bg-primary/20":""}`,onclick:()=>j("bold")},r("span",{class:"icon-[lucide--bold]"})),r("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${S("italic")?"btn-active bg-primary/20":""}`,onclick:()=>j("italic")},r("span",{class:"icon-[lucide--italic]"})),r("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${S("underline")?"btn-active bg-primary/20":""}`,onclick:()=>j("underline")},r("span",{class:"icon-[lucide--underline]"})),r("input",{type:"color",class:"w-5 h-5 p-0 border-0 bg-transparent cursor-pointer",oninput:(A)=>j("foreColor",A.target.value)}),r("span",{class:"w-px h-5 bg-base-300 mx-1"}),r("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>j("justifyLeft")},r("span",{class:"icon-[lucide--align-left]"})),r("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>j("justifyCenter")},r("span",{class:"icon-[lucide--align-center]"})),r("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>j("justifyRight")},r("span",{class:"icon-[lucide--align-right]"})),r("span",{class:"w-px h-5 bg-base-300 mx-1"}),r("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>j("insertUnorderedList")},r("span",{class:"icon-[lucide--list]"})),r("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>j("insertOrderedList")},r("span",{class:"icon-[lucide--list-ordered]"})),r("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>j("outdent")},r("span",{class:"icon-[lucide--indent-decrease]"})),r("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>j("indent")},r("span",{class:"icon-[lucide--indent-increase]"})),r("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${S("formatBlock","BLOCKQUOTE")?"btn-active":""}`,onclick:()=>j("formatBlock",S("formatBlock","BLOCKQUOTE")?"P":"BLOCKQUOTE")},r("span",{class:"icon-[lucide--quote]"})),r("span",{class:"w-px h-5 bg-base-300 mx-1"}),r("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>{let A=window.prompt("URL:");if(A)j("createLink",A)}},r("span",{class:"icon-[lucide--link]"})),r("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>{let A=document.createElement("input");A.type="file",A.onchange=(J)=>Y(J.target.files[0]),A.click()}},r("span",{class:"icon-[lucide--paperclip]"})),r("div",{class:"relative"},[r("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:(A)=>{A.stopPropagation(),C(),y(!y())}},r("span",{class:"icon-[lucide--smile]"})),r("div",{class:"absolute top-full left-0 mt-1 p-2 bg-base-100 border border-base-300 shadow-xl rounded-box w-52 z-50 flex flex-wrap gap-1",style:()=>y()?"display:flex":"display:none"},O.map((A)=>r("span",{class:"cursor-pointer hover:bg-base-200 p-1 rounded text-lg",onclick:(J)=>{J.stopPropagation(),j("insertText",A),y(!1)}},A)))]),r("span",{class:"w-px h-5 bg-base-300 mx-1"}),r("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>j("undo")},r("span",{class:"icon-[lucide--undo-2]"})),r("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>j("redo")},r("span",{class:"icon-[lucide--redo-2]"}))]),r("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${b()?"btn-active":""}`,onclick:()=>{if(!b())u(o?.innerHTML||"");else if(o)o.innerHTML=u(),k();b(!b())}},r("span",{class:"icon-[lucide--code-2]"}))]);if(typeof document<"u"&&!document.getElementById("editor-styles")){let A=document.createElement("style");A.id="editor-styles",A.textContent=` +var kn=Object.defineProperty;var zn=(n)=>n;function Mn(n,t){this[n]=zn.bind(null,t)}var Zn=(n,t)=>{for(var o in t)kn(n,o,{get:t[o],enumerable:!0,configurable:!0,set:Mn.bind(t,o)})};var En={};Zn(En,{when:()=>rn,watch:()=>D,t:()=>Cn,router:()=>$,onUnmount:()=>q,mount:()=>un,lang:()=>Tn,isObj:()=>d,isFunc:()=>W,isArr:()=>V,hide:()=>a,h:()=>f,each:()=>Y,currentLocale:()=>sn,batch:()=>bn,Tooltip:()=>it,Toggle:()=>at,Toast:()=>ct,Timeline:()=>et,Textrotate:()=>gt,Textarea:()=>xt,Tabs:()=>dt,TableItems:()=>Ft,Table:()=>Ht,SwapToggle:()=>Jn,SwapOn:()=>Qn,SwapOff:()=>Xn,Swap:()=>Pn,Steps:()=>Dt,Step:()=>$t,Stats:()=>Rt,Stat:()=>qt,Stack:()=>Bt,SkeletonText:()=>Yt,Skeleton:()=>Vt,Select:()=>It,RatingItems:()=>Zt,Rating:()=>Mt,Range:()=>zt,Radio:()=>kt,Radial:()=>yt,Progress:()=>jt,Navbar:()=>Xt,Modal:()=>Qt,Menu:()=>Jt,Locale:()=>Hn,Loading:()=>Pt,ListRows:()=>Lt,List:()=>Kt,Kbd:()=>Wt,Input:()=>Ln,Indicator:()=>Ut,Icon:()=>c,Fragment:()=>Sn,Fileinput:()=>Gt,Fieldset:()=>Ct,Fab:()=>Tt,Editor:()=>lt,DropdownContent:()=>l,DropdownButton:()=>Kn,Dropdown:()=>i,DrawerToggle:()=>wt,DrawerSide:()=>Ot,DrawerOverlay:()=>bt,DrawerContent:()=>At,Drawer:()=>Nt,Divider:()=>St,Datepicker:()=>Et,Colorpicker:()=>st,ColorPalette:()=>Wn,Checkbox:()=>ut,ChatImage:()=>rt,ChatHeader:()=>_t,ChatFooter:()=>ot,ChatBubble:()=>ft,Chat:()=>tt,CarouselItem:()=>nt,Carousel:()=>pn,CardTitle:()=>mn,CardBody:()=>vn,CardActions:()=>hn,Card:()=>ln,Calendar:()=>Un,Button:()=>Gn,Breadcrumbs:()=>an,Badge:()=>cn,AvatarGroup:()=>gn,Avatar:()=>xn,Autocomplete:()=>en,Alert:()=>dn,Accordion:()=>Fn,$$:()=>on,$:()=>P});var W=(n)=>typeof n==="function",d=(n)=>n&&typeof n==="object",V=Array.isArray,M=typeof document<"u"?document:null,Nn=(n)=>n?._isRuntime?n.container:n instanceof Node?n:M.createTextNode(n==null?"":String(n)),Q=null,k=null,H=!1,x=0,g=new Set,wn=new WeakMap,nn=Symbol("iter"),tn=new WeakMap,In="http://www.w3.org/2000/svg",An="http://www.w3.org/1999/xlink",Vn=new Set("svg,path,circle,rect,line,polyline,polygon,g,defs,text,textPath,tspan,use,symbol,image,marker,ellipse".split(",")),R=(n)=>{if(!n||n._disposed)return;n._disposed=!0;let t=[n];while(t.length){let o=t.pop();if(o._cleanups)o._cleanups.forEach((r)=>r()),o._cleanups.clear();if(o._children)o._children.forEach((r)=>t.push(r)),o._children.clear();if(o._deps)o._deps.forEach((r)=>r.delete(o)),o._deps.clear()}},q=(n)=>{if(k)(k._cleanups||=new Set).add(n)},Yn=(n)=>{let t=Q;Q=null;try{return n()}finally{Q=t}},F=(n,t=!1)=>{let o=()=>{if(o._disposed)return;if(o._deps)o._deps.forEach((s)=>s.delete(o));if(o._cleanups)o._cleanups.forEach((s)=>s()),o._cleanups.clear();let r=Q,_=k;Q=k=o;try{return o._result=n()}catch(s){console.error("[SigPro]",s)}finally{Q=r,k=_}};if(o._deps=o._cleanups=o._children=null,o._disposed=!1,o._isComputed=t,o._depth=Q?Q._depth+1:0,o._mounts=[],o._parent=k,k)(k._children||=new Set).add(o);return o},On=()=>{if(H)return;H=!0;let n=Array.from(g).sort((t,o)=>t._depth-o._depth);g.clear();for(let t of n)if(!t._disposed)t();H=!1},bn=(n)=>{x++;try{return n()}finally{if(x--,x===0&&g.size>0&&!H)On()}},z=(n,t=!1)=>{if(!t&&Q&&!Q._disposed)n.add(Q),(Q._deps||=new Set).add(n);else if(t&&n.size>0){let o=!1;for(let r of n){if(r===Q||r._disposed)continue;if(r._isComputed){if(r._dirty=!0,r._subs)z(r._subs,!0)}else g.add(r),o=!0}if(o&&!H&&x===0)queueMicrotask(On)}},P=(n,t=null)=>{let o=new Set;if(W(n)){let r,_=()=>{if(_._dirty){let s=Q;Q=_;try{let u=n();if(!Object.is(r,u))r=u,z(o,!0)}finally{Q=s}_._dirty=!1}return z(o),r};return _._isComputed=!0,_._subs=o,_._dirty=!0,_._deps=null,_._disposed=!1,_}if(t)try{n=JSON.parse(localStorage.getItem(t))??n}catch(r){}return(...r)=>{if(r.length){let _=W(r[0])?r[0](n):r[0];if(!Object.is(n,_)){if(n=_,t)localStorage.setItem(t,JSON.stringify(n));z(o,!0)}}return z(o),n}},on=(n)=>{if(!d(n))return n;let t=wn.get(n);if(t)return t;let o=new Map,r=(s)=>{let u=o.get(s);if(!u)o.set(s,u=new Set);return u},_=new Proxy(n,{get(s,u,N){if(typeof u!=="symbol")z(r(u));return on(Reflect.get(s,u,N))},set(s,u,N,E){let A=Reflect.has(s,u),S=Reflect.get(s,u,E),C=Reflect.set(s,u,N,E);if(C&&!Object.is(S,N)){if(z(r(u),!0),!A)z(r(nn),!0)}return C},deleteProperty(s,u){let N=Reflect.deleteProperty(s,u);if(N)z(r(u),!0),z(r(nn),!0);return N},ownKeys(s){return z(r(nn)),Reflect.ownKeys(s)}});return wn.set(n,_),_},D=(n,t)=>{if(t===void 0){let r=F(n);return r(),()=>R(r)}let o=F(()=>{let r=Array.isArray(n)?n.map((_)=>_()):n();Yn(()=>t(r))});return o(),()=>R(o)},_n=(n)=>{if(!n)return;if(n._cleanups)n._cleanups.forEach((t)=>t()),n._cleanups.clear();if(n._ownerEffect)R(n._ownerEffect);if(n.childNodes)n.childNodes.forEach((t)=>_n(t))},Bn=/^\s*(javascript|data|vbscript):/i,Rn=new Set(["src","href","formaction","action","background","code","archive"]),qn=(n)=>Rn.has(n)||n.startsWith("on"),fn=(n,t)=>{if(t==null||t===!1)return null;if(qn(n)){let o=String(t);if(Bn.test(o))return console.warn(`[SigPro] Bloqueado protocolo peligroso en ${n}`),"#"}return t},f=(n,t={},o=[])=>{if(t instanceof Node||V(t)||!d(t))o=t,t={};if(W(n)){let u=F(()=>{let S=n(t,{children:o,emit:(C,...G)=>t[`on${C[0].toUpperCase()}${C.slice(1)}`]?.(...G)});return u._result=S,S});u();let N=u._result;if(N==null)return null;let E=N instanceof Node||V(N)&&N.every((S)=>S instanceof Node)?N:M.createTextNode(String(N)),A=(S)=>{if(d(S)&&!S._isRuntime)S._mounts=u._mounts||[],S._cleanups=u._cleanups||new Set,S._ownerEffect=u};return V(E)?E.forEach(A):A(E),E}let r=Vn.has(n),_=r?M.createElementNS(In,n):M.createElement(n);_._cleanups=new Set;for(let u of Object.keys(t)){let N=t[u];if(u==="ref"){W(N)?N(_):N.current=_;continue}if(r&&u.startsWith("xlink:")){let E=fn(u.slice(6),N);E==null?_.removeAttributeNS(An,u.slice(6)):_.setAttributeNS(An,u.slice(6),E);continue}if(u.startsWith("on")){let E=u.slice(2).toLowerCase();_.addEventListener(E,N);let A=()=>_.removeEventListener(E,N);_._cleanups.add(A),q(A)}else if(W(N)){let E=F(()=>{let A=fn(u,N());if(u==="class")_.className=A||"";else if(A==null)_.removeAttribute(u);else if(u==="style"&&typeof A==="string")_.setAttribute("style",A);else if(u in _&&!r)_[u]=A;else _.setAttribute(u,A===!0?"":A)});if(E(),_._cleanups.add(()=>R(E)),q(()=>R(E)),/^(INPUT|TEXTAREA|SELECT)$/.test(_.tagName)&&(u==="value"||u==="checked")){let A=u==="checked"?"change":"input";_.addEventListener(A,(S)=>N(S.target[u]))}}else{let E=fn(u,N);if(E!=null)if(u==="style"&&typeof E==="string")_.setAttribute("style",E);else if(u in _&&!r)_[u]=E;else _.setAttribute(u,E===!0?"":E)}}let s=(u)=>{if(V(u))return u.forEach(s);if(W(u)){let N=M.createTextNode("");_.appendChild(N);let E=[],A=F(()=>{let S=u(),C=(V(S)?S:[S]).map(Nn);E.forEach((U)=>{if(U._isRuntime)U.destroy();else _n(U);if(U.parentNode)U.remove()});let G=N;for(let U=C.length-1;U>=0;U--){let b=C[U];if(b.parentNode!==G.parentNode)G.parentNode?.insertBefore(b,G);if(b._mounts)b._mounts.forEach((T)=>T());G=b}E=C});A(),_._cleanups.add(()=>R(A)),q(()=>R(A))}else{let N=Nn(u);if(_.appendChild(N),N._mounts)N._mounts.forEach((E)=>E())}};return s(o),_},e=(n)=>{let t=new Set,o=k,r=Q,_=M.createElement("div");_.style.display="contents",_.setAttribute("role","presentation"),k={_cleanups:t},Q=null;let s=(u)=>{if(!u)return;if(u._isRuntime)t.add(u.destroy),_.appendChild(u.container);else if(V(u))u.forEach(s);else _.appendChild(u instanceof Node?u:M.createTextNode(String(u==null?"":u)))};try{s(n({onCleanup:(u)=>t.add(u)}))}finally{k=o,Q=r}return{_isRuntime:!0,container:_,destroy:()=>{t.forEach((u)=>u()),_n(_),_.remove()}}},rn=(n,t,o=null)=>{let r=M.createTextNode(""),_=f("div",{style:"display:contents"},[r]),s=null;return D(()=>!!(W(n)?n():n),(u)=>{if(s)s.destroy(),s=null;let N=u?t:o;if(N)s=e(()=>W(N)?N():N),_.insertBefore(s.container,r)}),q(()=>s?.destroy()),_},Y=(n,t,o)=>{let r=M.createTextNode(""),_=f("div",{style:"display:contents"},[r]),s=new Map;return D(()=>(W(n)?n():n)||[],(u)=>{let N=new Map,E=[],A=u||[];for(let C=0;Ct(G,C));else s.delete(U);N.set(U,b),E.push(b)}s.forEach((C)=>C.destroy());let S=r;for(let C=E.length-1;C>=0;C--){let U=E[C].container;if(U.nextSibling!==S)_.insertBefore(U,S);S=U}s=N}),_},$=(n)=>{let t=()=>window.location.hash.slice(1)||"/",o=P(t()),r=()=>o(t());window.addEventListener("hashchange",r),q(()=>window.removeEventListener("hashchange",r));let _=f("div",{class:"router-hook"}),s=null;return D([o],()=>{let u=o(),N=n.find((E)=>{let A=E.path.split("/").filter(Boolean),S=u.split("/").filter(Boolean);return A.length===S.length&&A.every((C,G)=>C[0]===":"||C===S[G])})||n.find((E)=>E.path==="*");if(N){s?.destroy();let E={};N.path.split("/").filter(Boolean).forEach((A,S)=>{if(A[0]===":")E[A.slice(1)]=u.split("/").filter(Boolean)[S]}),$.params(E),s=e(()=>W(N.component)?N.component(E):N.component),_.replaceChildren(s.container)}}),_};$.params=P({});$.to=(n)=>window.location.hash=n.replace(/^#?\/?/,"#/");$.back=()=>window.history.back();$.path=()=>window.location.hash.replace(/^#/,"")||"/";var Sn=(n)=>n.children,un=(n,t)=>{let o=typeof t==="string"?M.querySelector(t):t;if(!o)return;if(tn.has(o))tn.get(o).destroy();let r=e(W(n)?n:()=>n);return o.replaceChildren(r.container),tn.set(o,r),r};if(typeof window<"u")"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((n)=>{window[n]=(t,o)=>f(n,t,o)});var L=(n)=>typeof n==="function"?n():n,B=(n,t="label")=>n&&typeof n==="object"?n[t]:n,w=(...n)=>n.filter(Boolean).join(" ").trim(),Dn=(n,t,o="label",r=String(t).toLowerCase())=>!t?L(n):L(n).filter((_)=>String(_&&typeof _==="object"?_[o]:_).toLowerCase().includes(r)),$n=(n)=>`${n}-${Math.random().toString(36).slice(2,9)}`,a=()=>document.activeElement?.blur(),Tn={es:{uploadFiles:"Arrastrar y soltar o click para seleccionar..."},en:{uploadFiles:"Drag and drop or click to select"}},sn=P("en"),Hn=(n)=>sn(n),Cn=(n)=>()=>Tn[sn()][n]||n,Fn=(n)=>{let t=n.name||$n("acc");return Y(n.items,(o)=>{return f("div",{class:w("collapse",n.class)},[f("input",{type:"radio",name:t,checked:o.open||void 0}),o.title?f("div",{class:w("collapse-title",`${o.classTitle??" font-semibold"}`)},o.title):null,o.content?f("div",{class:w("collapse-content text-sm",`${o.classContent??" font-semibold"}`)},o.content):null])})},dn=(n,t)=>f("div",{...n,class:w("alert",n.class)},t),xn=(n,t)=>f("div",{class:"avatar"},f("div",{class:n.class},t)),gn=(n,t)=>f("div",{...n,class:w("avatar-group -space-x-6",n.class)},t),en=({items:n,value:t,onselect:o,placeholder:r="...",..._})=>{let s=P(L(t)||""),u=P(()=>Dn(n,s())),N=(E)=>{let A=B(E),S=typeof E==="string"?E:E.value;if(s(A),W(t))t(S);o?.(E),a()};return i({class:"w-full"},[f("div",{tabindex:"0",role:"button",class:"w-full"},Ln({..._,placeholder:r,value:s,left:f("span",{class:"icon-[lucide--search]"}),oninput:(E)=>{if(s(E.target.value),W(t))t(E.target.value)}})),l({class:"p-2 bg-base-100 rounded-box shadow-xl w-full max-h-60 overflow-y-auto border border-base-300 z-50"},f("ul",{class:"menu flex-col flex-nowrap w-full p-0"},[Y(u,(E)=>f("li",{},[f("a",{onmousedown:(A)=>A.preventDefault(),onclick:()=>N(E)},B(E))]),(E)=>B(E)),()=>u().length===0?f("li",{class:"p-4 opacity-50 text-center"},"Sin resultados"):null]))])},cn=(n,t)=>f("span",{...n,class:w("badge",n.class)},t),an=(n,t)=>f("div",{...n,class:w("breadcrumbs",n.class)},t),Gn=(n,t)=>f("button",{...n,class:w("btn",n.class)},t),Un=(n)=>{let t=P(new Date),o=P(null),r=P(0),_=P(0),s=new Date,u=`${s.getFullYear()}-${String(s.getMonth()+1).padStart(2,"0")}-${String(s.getDate()).padStart(2,"0")}`,N=(b)=>`${b.getFullYear()}-${String(b.getMonth()+1).padStart(2,"0")}-${String(b.getDate()).padStart(2,"0")}`,E=()=>L(n.range)===!0,A=()=>L(n.value),S=(b)=>{let T=N(b),j=A();if(E())if(!j?.start||j.start&&j.end)n.onChange?.({start:T,end:null,...n.hour&&{startHour:r()}});else{let Z=j.start,y=T{let T=t();t(new Date(T.getFullYear(),T.getMonth()+b,1))},G=(b)=>{let T=t();t(new Date(T.getFullYear()+b,T.getMonth(),1))},U=({value:b,onChange:T})=>f("div",{class:"flex-1"},[f("div",{class:"flex gap-2 items-center"},[f("input",{type:"range",min:0,max:23,value:b,class:"range range-xs flex-1",oninput:(j)=>T(+j.target.value)}),f("span",{class:"text-sm font-mono min-w-[48px] text-center"},()=>String(L(b)).padStart(2,"0")+":00")])]);return f("div",{class:w("p-4 bg-base-100 border border-base-300 shadow-2xl rounded-box w-80 select-none",n.class)},[f("div",{class:"flex justify-between items-center mb-4 gap-1"},[f("div",{class:"flex gap-0.5"},[f("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>G(-1)},f("span",{class:"icon-[lucide--chevrons-left]"})),f("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>C(-1)},f("span",{class:"icon-[lucide--chevron-left]"}))]),f("span",{class:"font-bold uppercase flex-1 text-center"},()=>t().toLocaleString("es-ES",{month:"short",year:"numeric"})),f("div",{class:"flex gap-0.5"},[f("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>C(1)},f("span",{class:"icon-[lucide--chevron-right]"})),f("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>G(1)},f("span",{class:"icon-[lucide--chevrons-right]"}))])]),f("div",{class:"grid grid-cols-7 gap-1",onmouseleave:()=>o(null)},[...["L","M","X","J","V","S","D"].map((b)=>f("div",{class:"text-[10px] opacity-40 font-bold text-center"},b)),()=>{let b=t(),T=b.getFullYear(),j=b.getMonth(),Z=new Date(T,j,1).getDay(),y=Z===0?6:Z-1,m=new Date(T,j+1,0).getDate(),O=[];for(let K=0;K{let I=A(),v=o(),jn=typeof I==="string"?I.split("T")[0]===X:I?.start===X,yn=I?.end===X,h=!1;if(E()&&I?.start){let p=I.start;if(!I.end&&v)h=X>p&&X<=v||X=v;else if(I.end)h=X>p&&XE()&&o(X),onclick:()=>S(J)},K.toString()))}return O}]),n.hour?f("div",{class:"mt-3 pt-2 border-t border-base-300"},E()?f("div",{class:"flex gap-4"},[U({value:r,onChange:(b)=>r(b)}),U({value:_,onChange:(b)=>_(b)})]):U({value:r,onChange:(b)=>r(b)})):null])},ln=(n,t)=>f("div",{...n,class:w("card",n.class)},t),mn=(n,t)=>f("div",{...n,class:w("card-title",n.class)},t),vn=(n,t)=>f("div",{...n,class:w("card-body",n.class)},t),hn=(n,t)=>f("div",{...n,class:w("card-actions",n.class)},t),pn=(n,t)=>f("div",{...n,class:w("carousel",n.class)},t),nt=(n,t)=>f("div",{...n,class:w("carousel-item",n.class)},t),tt=(n,t)=>f("div",{...n,class:w("chat",n.class)},t),ft=(n,t)=>f("div",{...n,class:w("chat-bubble",n.class)},t),ot=(n,t)=>f("div",{...n,class:w("chat-footer",n.class)},t),_t=(n,t)=>f("div",{...n,class:w("chat-header",n.class)},t),rt=(n,t)=>f("div",{...n,class:w("chat-image avatar",n.class)},f("div",{class:"w-10 rounded-full"},typeof t==="string"?f("img",{src:t,alt:"avatar"}):t)),ut=(n)=>f("input",{...n,type:"checkbox",class:w("checkbox",n.class)}),st=(n)=>{let t=()=>L(n.value)||"#000000";return i({},[Kn({class:"btn"},[f("div",{class:"size-5 rounded-sm",style:()=>`background-color: ${t()}`}),n.label&&f("span",{},n.label)]),l({class:"p-0"},Wn({value:n.value,onchange:(o)=>{W(n.value)?n.value(o):n.onchange?.(o)}}))])},Wn=(n)=>{let t=()=>L(n.value)||"#000000",o=["#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"],r=(_)=>{W(n.value)?n.value(_):n.onchange?.(_),a()};return f("div",{class:w("p-3 bg-base-100 rounded-box shadow w-64",n.class)},f("div",{class:"grid grid-cols-8 gap-1"},o.map((_)=>f("button",{type:"button",style:`background-color: ${_}`,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 ${t().toLowerCase()===_.toLowerCase()?"ring-2 ring-offset-1 ring-primary z-10 scale-110":""}`},onclick:()=>{r(_)}}))))},Et=(n)=>{let t=P(""),o=()=>L(n.range)===!0;D(()=>{let _=L(n.value);if(!_)return t("");let s="";if(typeof _==="string")s=n.hour&&_.includes("T")?_.replace("T"," "):_;else if(_.start&&_.end){let u=n.hour&&_.startHour!=null?`${_.start} ${String(_.startHour).padStart(2,"0")}:00`:_.start,N=n.hour&&_.endHour!=null?`${_.end} ${String(_.endHour).padStart(2,"0")}:00`:_.end;s=`${u} - ${N}`}else if(_.start)s=`${n.hour&&_.startHour!=null?`${_.start} ${String(_.startHour).padStart(2,"0")}:00`:_.start}...`;t(s)});let r=(_)=>{if(W(n.value))n.value(_);else n.onChange?.(_);if(!o()||_?.end!=null)a()};return i({class:w("w-full",n.class)},[f("label",{tabindex:"0",role:"button",class:"input input-bordered flex items-center gap-2 cursor-pointer"},[f("span",{class:"icon-[lucide--calendar] shrink-0"}),f("span",{class:()=>`grow text-left truncate ${!t()?"opacity-50":""}`},()=>t()||n.placeholder||(o()?"Seleccionar rango...":"Seleccionar fecha...")),()=>t()?f("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle -mr-2",onmousedown:(_)=>{if(_.preventDefault(),_.stopPropagation(),W(n.value))n.value(null);else n.onChange?.(null);t("")}},f("span",{class:"icon-[lucide--x] opacity-50"})):null]),l({class:"p-0"},Un({value:n.value,range:o(),hour:n.hour,onChange:r}))])},Nt=(n,t)=>div({...n,class:w("drawer",n.class)},t),wt=(n)=>input({...n,type:"checkbox",class:"drawer-toggle",checked:()=>L(n.checked),onchange:(t)=>W(n.checked)&&n.checked(t.target.checked)}),At=(n,t)=>div({...n,class:w("drawer-content",n.class)},t),Ot=(n,t)=>div({...n,class:w("drawer-side",n.class)},t),bt=(n)=>label({...n,for:n.for,class:w("drawer-overlay",n.class)}),St=(n)=>f("div",{...n,class:w("divider",n.class)}),i=(n,t)=>f("div",{...n,class:w("dropdown",n.class)},t),Kn=(n,t)=>f("div",{...n,tabindex:"0",role:"button",class:w("btn",n.class)},t),l=(n,t)=>f("div",{...n,tabindex:"0",class:w("dropdown-content",n.class)},t),Tt=(n,t)=>f("div",{class:"fab"},[f("div",{tabindex:"0",role:"button",class:w("btn",n.class)},c(n.icon)),t]),Ct=(n,t)=>f("fieldset",{class:w("fieldset",n.class)},[f("legend",{class:"fieldset-legend"},n.label),t]),Gt=(n)=>{let t=P([]),o=P(!1),r=P(null),_=(n.max||2)*1024*1024,s=(N)=>{let E=Array.from(N);if(r(null),E.some((S)=>S.size>_)){r(`Máx ${n.max||2}MB`);return}let A=[...t(),...E];if(t(A),W(n.onselect))n.onselect(A);else if(W(n.value))n.value(A)},u=(N)=>{let E=t().filter((A,S)=>S!==N);if(t(E),W(n.onselect))n.onselect(E);else if(W(n.value))n.value(E)};return f("div",{class:w("fieldset w-full p-0",n.class)},[f("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 ${o()?"border-primary bg-primary/10":"border-base-content/20 bg-base-100 hover:bg-base-200"}`,ondragover:(N)=>{N.preventDefault(),o(!0)},ondragleave:()=>o(!1),ondrop:(N)=>{N.preventDefault(),o(!1),s(N.dataTransfer.files)}},[f("div",{class:"flex items-center gap-3 w-full"},[f("span",{class:"icon-[lucide--upload]"}),f("span",{class:"text-sm opacity-70 truncate grow text-left"},Cn("uploadFiles")),f("span",{class:"text-[10px] opacity-40 shrink-0"},`Máx ${n.max||2}MB`)]),f("input",{type:"file",multiple:!0,accept:n.accept||"*",class:"hidden",onchange:(N)=>s(N.target.files)})]),()=>r()&&f("span",{class:"text-[10px] text-error mt-1 px-1 font-medium"},r()),rn(()=>t().length>0,()=>f("ul",{class:"mt-2 space-y-1"},Y(t,(N,E)=>f("li",{class:"flex items-center justify-between p-1.5 pl-3 text-xs bg-base-200/50 rounded-md border border-base-300"},[f("div",{class:"flex items-center gap-2 truncate"},[f("span",{class:"opacity-50"},"\uD83D\uDCC4"),f("span",{class:"truncate font-medium max-w-[200px]"},N.name),f("span",{class:"text-[9px] opacity-40"},`(${(N.size/1024).toFixed(0)} KB)`)]),f("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle",onclick:(A)=>{A.preventDefault(),u(E)}},f("span",{class:"icon-[lucide--x]"}))]))))])},c=(n)=>f("span",{class:n.startsWith("icon-")?n:""},n.startsWith("icon-")?null:n),Ut=(n,t)=>f("div",{...n,class:w("indicator",n.class)},[n.value&&f("span",{class:w("indicator-item badge",n.class)},n.value),t]),Ln=(n)=>{let{label:t,icon:o,float:r,placeholder:_,value:s,left:u,right:N,rule:E,hint:A,content:S,...C}=n,G=P(!1),U=n.type==="password",b=E??null,T=()=>U?L(G)?"text":"password":n.type||"search";return f("label",{class:r?"floating-label":""},[r?f("span",{},t):null,f("label",{pattern:b,class:()=>w("input validator",n.class)},[t&&!r?f("span",{class:"label"},t):null,u??null,f("input",{...C,type:T,class:"grow",pattern:b,placeholder:_||t||" ",value:s}),N??null,U?Pn({class:"ml-2"},[Jn({value:G,class:"swap-rotate"}),Qn({},c("icon-[lucide--eye]")),Xn({},c("icon-[lucide--eye-off]"))]):null]),A?f("div",{class:"validator-hint"},A):null])},Wt=(n,t)=>f("kbd",{...n,class:w("kbd",n.class)},t),Kt=(n,t)=>f("ul",{...n,class:w("list",n.class)},t),Lt=(n)=>()=>(L(n.items)||[]).map((t,o)=>f("li",{class:w("list-row",n.class,t?.class)},typeof n.render==="function"?n.render(t,o):t)),Pt=(n,t)=>f("span",{...n,class:w("loading loading-spinner",n.class)},t),Jt=(n)=>{if(n.children!==void 0)return f("ul",{class:w("menu",n.class),...n},n.children);let{items:t}=n,o=(r)=>r.children?f("li",{},f("details",{open:r.open||void 0},[f("summary",{},B(r)),f("ul",{},Y(()=>L(r.children)||[],o))])):f("li",{},f("a",{href:r.href,onclick:r.onclick?(_)=>{if(!r.href)_.preventDefault();r.onclick(_)}:null},B(r)));return f("ul",{class:w("menu",n.class)},Y(()=>L(t)||[],o))},Qt=(n)=>{let t=null;D(()=>{let r=L(n.open);if(!t)return;r?t.showModal():t.hide()});let o=()=>W(n.open)&&n.open(!1);return f("dialog",{...n,ref:(r)=>t=r,class:w("modal",n.class),onclose:o,oncancel:o},[f("div",{class:"modal-box"},[n.title&&f("h3",{class:"text-lg font-bold"},n.title),n.children,f("div",{class:"modal-action"},[n.actions||Gn({class:"btn",onclick:o},"Cerrar")])]),f("form",{method:"dialog",class:"modal-backdrop"},[f("button",{},"close")])])},Xt=(n,t)=>f("div",{...n,class:w("navbar",n.class)},t),jt=(n)=>f("progress",{...n,class:w("progress",n.class)}),yt=(n,t)=>f("div",{class:w("radial-progress",n.class),style:`--value:${L(n.value)??0};`,role:"progressbar","aria-valuenow":n.value},t),kt=(n)=>f("input",{...n,type:"radio",class:w("radio",n.class)}),zt=(n)=>f("input",{...n,type:"range",class:w("range",n.class)}),Mt=(n,t)=>f("div",{...n,class:"rating"},t),Zt=(n)=>[...Array(n.count)].map((t,o)=>f("input",{class:w("mask",n.class),name:n.name,type:"radio",checked:()=>L(n.value)===o,onchange:()=>W(n.value)?n.value(o):n.onchange?.(o)})),It=(n,t)=>{if(t!==void 0)return f("select",{class:w("select",n.class),...n},t);let{label:o,float:r,placeholder:_,placeholderDisabled:s=!0,value:u,left:N,right:E,hint:A,items:S,keyFn:C,...G}=n,U=()=>{let b=L(S)||[];return[..._?[{disabled:s,label:_,value:""}]:[],...b]};return f("label",{class:r?"floating-label":""},[r?f("span",{},o):null,f("label",{class:w("select",G.class)},[!r&&o?f("span",{class:"label"},o):null,N??null,f("select",{value:()=>L(u),onchange:(b)=>W(u)?u(b.target.value):G.onchange?.(b)},Y(U,(b)=>{let T=B(b,b.value!==void 0?"value":void 0),j=B(b,"label");return f("option",{value:T,disabled:b.disabled||void 0},j)})),E??null]),A?f("div",{class:"validator-hint"},A):null])},Vt=(n)=>f("div",{...n,class:w("skeleton",n.class)}),Yt=(n)=>f("span",{...n,class:w("skeleton skeleton-text",n.class)}),Bt=(n,t)=>f("div",{...n,class:w("stack",n.class)},t),Rt=(n,t)=>f("div",{...n,class:w("stats shadow",n.class)},t),qt=(n)=>f("div",{...n,class:w("stat",n.class)},[n.title?f("div",{class:"stat-title"},n.title):null,n.value?f("div",{class:"stat-value"},n.value):null,n.desc?f("div",{class:"stat-desc"},n.desc):null]),Dt=(n,t)=>f("ul",{...n,class:w("steps",n.class)},t),$t=(n,t)=>f("li",{...n,class:w("step",n.class),"data-content":n.dataContent},t),Pn=(n,t)=>f("label",{...n,class:w("swap",n.class)},t),Jn=(n)=>f("input",{type:"checkbox",checked:()=>L(n.value),onchange:(t)=>W(n.value)&&n.value(t.target.checked),class:n.class}),Qn=(n,t)=>f("div",{...n,class:w("swap-on",n.class)},t),Xn=(n,t)=>f("div",{...n,class:w("swap-off",n.class)},t),Ht=(n,t)=>f("table",{...n,class:w("table",n.class)},t),Ft=({items:n,columns:t=[],header:o=!0})=>{let r=o!==!1&&t.some((s)=>s.label)?f("thead",{},f("tr",{},t.map((s)=>f("th",{class:s.class},s.label)))):null,_=f("tbody",{},()=>{return(L(n)||[]).map((u,N)=>f("tr",{},t.map((E)=>{let A=E.render?E.render(u,N):u[E.key];return f("td",{class:E.class},A)})))});return[r,_].filter(Boolean)},dt=(n,t)=>{if(!n.items){let{class:A,...S}=n;return f("div",{...S,class:w("tabs",A)},t)}let{items:o,activeIndex:r,onClose:_,class:s,...u}=n,N=(A)=>W(A)?A():A,E=_||(W(o)?(A,S)=>{let G=L(o).filter((U,b)=>b!==A);if(o(G),r()>=G.length)r(Math.max(0,G.length-1))}:null);return f("div",{...u,class:w("tabs",s)},()=>{return(L(o)||[]).flatMap((S,C)=>{let G=()=>r()===C,U=f("button",{class:()=>`tab ${G()?"tab-active":""} ${S.class||""}`,onclick:(T)=>{T.preventDefault(),r(C),S.onclick?.(T)}},[B(S),S.closable?f("span",{class:"ml-1 inline-flex items-center justify-center w-4 h-4 rounded-full hover:bg-base-300 text-base-content/60 hover:text-base-content cursor-pointer",onclick:(T)=>{T.stopPropagation(),E?.(C,S)}},f("span",{class:"icon-[lucide--x] w-3 h-3"})):null]),b=f("div",{class:"tab-content bg-base-100 border-base-300 p-6",style:()=>`display: ${G()?"block":"none"};`},W(S.content)?S.content():S.content);return[U,b]})})},xt=(n)=>f("textarea",{...n,class:w("textarea",n.class)}),gt=(n,t)=>f("span",{...n,class:w("text-rotate",n.class)},f("span",{},t)),et=(n,t)=>f("ul",{...n,class:w("timeline",n.class)},t),ct=(n,t="alert-success",o=3500)=>{let r=document.getElementById("sigpro-toast-container");if(!r)r=f("div",{id:"sigpro-toast-container",class:"fixed top-0 right-0 z-[9999] p-4 flex flex-col items-end gap-2 pointer-events-none"}),document.body.appendChild(r);let _=f("div",{style:"display: contents"});r.appendChild(_);let s,u,N,A=un(()=>{let S=P(!1),C=P(!1);s=()=>{if(C())return;clearTimeout(u),clearTimeout(N),C(!0),setTimeout(()=>{if(A.destroy(),_.remove(),!r.hasChildNodes())r.remove()},300)},N=setTimeout(()=>S(!0),0);let G=typeof n==="function"?L(n):n,U=typeof G==="string"?f("span",{},G):G;return f("div",{class:()=>{let b=`alert alert-soft ${t} shadow-lg transition-all duration-300 inline-flex w-auto whitespace-nowrap pointer-events-auto`;if(C())return`${b} translate-x-full opacity-0`;if(S())return`${b} translate-x-0 opacity-100`;return`${b} translate-x-10 opacity-0`}},[U,f("button",{class:"btn btn-xs btn-circle btn-ghost",onclick:s},f("span",{class:"icon-[lucide--x]"}))])},_);if(o>0)u=setTimeout(s,o);return s},at=(n)=>f("input",{...n,type:"checkbox",class:w("toggle",n.class)}),it=(n,t)=>f("div",{...n,class:w("tooltip",n.class),"data-tip":n.tip},t),lt=(n)=>{let{value:t,class:o}=n,r=null,_=null,s=P(!1),u=P(""),N=P(0),E=P(0),A=P(!1),S=["\uD83D\uDE00","\uD83D\uDE0A","\uD83D\uDE09","\uD83E\uDDD0","\uD83D\uDE2E","\uD83E\uDD14","\uD83D\uDE05","\uD83D\uDE02","\uD83D\uDE0D","\uD83D\uDE18","\uD83E\uDD70","\uD83D\uDC4D","\uD83D\uDC4E","\uD83D\uDC4C","\uD83E\uDD1D","\uD83E\uDD1E","\uD83D\uDC4B","\uD83D\uDC4F","\uD83D\uDE4C","\uD83D\uDE4F","\uD83D\uDCAA","☝️","\uD83D\uDC47","\uD83D\uDC48","\uD83D\uDC49","\uD83D\uDD95","✅","⚠️","\uD83D\uDE80","\uD83D\uDCE2","✉️","❤️"],C=()=>{let O=window.getSelection();if(O.getRangeAt&&O.rangeCount)_=O.getRangeAt(0)},G=()=>{if(_){let O=window.getSelection();O.removeAllRanges(),O.addRange(_)}},U=()=>{if(E(E()+1),r)N(r.innerText.length)},b=()=>{if(!r)return;let O=r.innerHTML;if(W(t))t(O);else n.onchange?.(O);U()},T=(O,K=null)=>{if(!r)return;if(r.focus(),_)G();document.execCommand(O,!1,K),_=null,b()},j=(O)=>{let K=document.createElement("div");K.style="position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.9);z-index:9999;display:flex;align-items:center;justify-content:center;cursor:zoom-out;";let J=document.createElement("img");J.src=O,J.style="max-width:95%;max-height:95%;box-shadow:0 0 30px rgba(0,0,0,0.5);border-radius:4px;",K.onclick=()=>document.body.removeChild(K),K.appendChild(J),document.body.appendChild(K)},Z=(O)=>{if(!O)return;let K=new FileReader;K.onload=(J)=>{if(O.type.startsWith("image/")){let X=`
 `;T("insertHTML",X)}else{let X=`${O.name} `;T("insertHTML",X)}},K.readAsDataURL(O)},y=(O,K=null)=>{if(E(),!r||s())return!1;try{if(O==="formatBlock"){let J=window.getSelection().getRangeAt(0).commonAncestorContainer;while(J&&J!==r){if(J.nodeType===1&&J.tagName===K)return!0;J=J.parentNode}return!1}return document.queryCommandState(O)}catch(J){return!1}},m=f("div",{class:"flex flex-wrap items-center gap-1 p-2 border-b border-base-300 bg-base-200 sticky top-0 z-20"},[f("div",{class:"flex flex-wrap gap-1 flex-1 items-center"},[f("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${y("bold")?"btn-active bg-primary/20":""}`,onclick:()=>T("bold")},f("span",{class:"icon-[lucide--bold]"})),f("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${y("italic")?"btn-active bg-primary/20":""}`,onclick:()=>T("italic")},f("span",{class:"icon-[lucide--italic]"})),f("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${y("underline")?"btn-active bg-primary/20":""}`,onclick:()=>T("underline")},f("span",{class:"icon-[lucide--underline]"})),f("input",{type:"color",class:"w-5 h-5 p-0 border-0 bg-transparent cursor-pointer",oninput:(O)=>T("foreColor",O.target.value)}),f("span",{class:"w-px h-5 bg-base-300 mx-1"}),f("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>T("justifyLeft")},f("span",{class:"icon-[lucide--align-left]"})),f("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>T("justifyCenter")},f("span",{class:"icon-[lucide--align-center]"})),f("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>T("justifyRight")},f("span",{class:"icon-[lucide--align-right]"})),f("span",{class:"w-px h-5 bg-base-300 mx-1"}),f("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>T("insertUnorderedList")},f("span",{class:"icon-[lucide--list]"})),f("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>T("insertOrderedList")},f("span",{class:"icon-[lucide--list-ordered]"})),f("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>T("outdent")},f("span",{class:"icon-[lucide--indent-decrease]"})),f("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>T("indent")},f("span",{class:"icon-[lucide--indent-increase]"})),f("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${y("formatBlock","BLOCKQUOTE")?"btn-active":""}`,onclick:()=>T("formatBlock",y("formatBlock","BLOCKQUOTE")?"P":"BLOCKQUOTE")},f("span",{class:"icon-[lucide--quote]"})),f("span",{class:"w-px h-5 bg-base-300 mx-1"}),f("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>{let O=window.prompt("URL:");if(O)T("createLink",O)}},f("span",{class:"icon-[lucide--link]"})),f("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>{let O=document.createElement("input");O.type="file",O.onchange=(K)=>Z(K.target.files[0]),O.click()}},f("span",{class:"icon-[lucide--paperclip]"})),f("div",{class:"relative"},[f("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:(O)=>{O.stopPropagation(),C(),A(!A())}},f("span",{class:"icon-[lucide--smile]"})),f("div",{class:"absolute top-full left-0 mt-1 p-2 bg-base-100 border border-base-300 shadow-xl rounded-box w-52 z-50 flex flex-wrap gap-1",style:()=>A()?"display:flex":"display:none"},S.map((O)=>f("span",{class:"cursor-pointer hover:bg-base-200 p-1 rounded text-lg",onclick:(K)=>{K.stopPropagation(),T("insertText",O),A(!1)}},O)))]),f("span",{class:"w-px h-5 bg-base-300 mx-1"}),f("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>T("undo")},f("span",{class:"icon-[lucide--undo-2]"})),f("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>T("redo")},f("span",{class:"icon-[lucide--redo-2]"}))]),f("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${s()?"btn-active":""}`,onclick:()=>{if(!s())u(r?.innerHTML||"");else if(r)r.innerHTML=u(),b();s(!s())}},f("span",{class:"icon-[lucide--code-2]"}))]);if(typeof document<"u"&&!document.getElementById("editor-styles")){let O=document.createElement("style");O.id="editor-styles",O.textContent=` [contenteditable="true"] div, [contenteditable="true"] p { margin: 0; padding: 0; } - `,document.head.appendChild(A)}return r("div",{class:N("border border-base-300 rounded-box bg-base-100 overflow-hidden shadow-sm flex flex-col",t)},[v,r("div",{class:"relative flex-1 flex flex-col",onclick:()=>y(!1)},[r("div",{ref:(A)=>{if(!o&&A)o=A,A.innerHTML=K(f)||"",document.execCommand("defaultParagraphSeparator",!1,"br"),A.addEventListener("click",(J)=>{let U=J.target.closest(".resizable-img-container");if(U){let z=U.querySelector("img");if(z)Q(z.src)}})},style:()=>`min-height:22rem;${b()?"display:none":""}`,class:"p-4 outline-none text-base-content leading-relaxed [&>div]:m-0 [&>p]:m-0 [&>div]:min-h-[1em] [&_.resizable-img-container]:hover:border-primary [&_blockquote]:border-l-4 [&_blockquote]:border-base-300 [&_blockquote]:pl-4 [&_blockquote]:italic [&_ul]:list-disc [&_ul]:pl-8 [&_ol]:list-decimal [&_ol]:pl-8",contenteditable:"true",oninput:k,onkeydown:(A)=>{if(A.key==="Tab")A.preventDefault(),j("indent")},onkeyup:()=>{T(),C()},onclick:(A)=>{T(),C(),A.stopPropagation()},onmouseup:()=>{k(),C()},onpaste:(A)=>{A.preventDefault();let J=A.clipboardData.getData("text/plain");j("insertText",J)},ondragover:(A)=>A.preventDefault(),ondrop:(A)=>{A.preventDefault(),Y(A.dataTransfer.files[0])}}),r("textarea",{class:"w-full flex-1 min-h-[22rem] p-4 outline-none font-mono text-sm bg-base-200 border-0",style:()=>b()?"":"display:none",value:u,oninput:(A)=>{if(u(A.target.value),o)o.innerHTML=A.target.value;n.onchange?.(A.target.value)}})]),r("div",{class:"px-3 py-1 border-t border-base-300 bg-base-100/50 text-[10px] text-right text-base-content/60 italic"},[r("span",()=>`${E()}`)])])};var vf={...bn};if(typeof window<"u")Object.entries({...vf}).forEach(([n,f])=>{Object.defineProperty(window,n,{value:f,writable:!1,configurable:!0,enumerable:!0})});export{vf as Components}; + `,document.head.appendChild(O)}return f("div",{class:w("border border-base-300 rounded-box bg-base-100 overflow-hidden shadow-sm flex flex-col",o)},[m,f("div",{class:"relative flex-1 flex flex-col",onclick:()=>A(!1)},[f("div",{ref:(O)=>{if(!r&&O)r=O,O.innerHTML=L(t)||"",document.execCommand("defaultParagraphSeparator",!1,"br"),O.addEventListener("click",(K)=>{let J=K.target.closest(".resizable-img-container");if(J){let X=J.querySelector("img");if(X)j(X.src)}})},style:()=>`min-height:22rem;${s()?"display:none":""}`,class:"p-4 outline-none text-base-content leading-relaxed [&>div]:m-0 [&>p]:m-0 [&>div]:min-h-[1em] [&_.resizable-img-container]:hover:border-primary [&_blockquote]:border-l-4 [&_blockquote]:border-base-300 [&_blockquote]:pl-4 [&_blockquote]:italic [&_ul]:list-disc [&_ul]:pl-8 [&_ol]:list-decimal [&_ol]:pl-8",contenteditable:"true",oninput:b,onkeydown:(O)=>{if(O.key==="Tab")O.preventDefault(),T("indent")},onkeyup:()=>{U(),C()},onclick:(O)=>{U(),C(),O.stopPropagation()},onmouseup:()=>{b(),C()},onpaste:(O)=>{O.preventDefault();let K=O.clipboardData.getData("text/plain");T("insertText",K)},ondragover:(O)=>O.preventDefault(),ondrop:(O)=>{O.preventDefault(),Z(O.dataTransfer.files[0])}}),f("textarea",{class:"w-full flex-1 min-h-[22rem] p-4 outline-none font-mono text-sm bg-base-200 border-0",style:()=>s()?"":"display:none",value:u,oninput:(O)=>{if(u(O.target.value),r)r.innerHTML=O.target.value;n.onchange?.(O.target.value)}})]),f("div",{class:"px-3 py-1 border-t border-base-300 bg-base-100/50 text-[10px] text-right text-base-content/60 italic"},[f("span",()=>`${N()}`)])])};var mt={...En};if(typeof window<"u")Object.entries({...mt}).forEach(([n,t])=>{Object.defineProperty(window,n,{value:t,writable:!1,configurable:!0,enumerable:!0})});export{mt as Components}; diff --git a/dist/sigpro-ui.js b/dist/sigpro-ui.js index 48d1a47..fa59ca1 100644 --- a/dist/sigpro-ui.js +++ b/dist/sigpro-ui.js @@ -46,10 +46,21 @@ // sigpro-ui.js var exports_sigpro_ui = {}; __export(exports_sigpro_ui, { - tt: () => tt, - i18n: () => i18n, + when: () => when, + watch: () => watch, + t: () => t, + router: () => router, + onUnmount: () => onUnmount, + mount: () => mount, + lang: () => lang, + isObj: () => isObj, + isFunc: () => isFunc, + isArr: () => isArr, hide: () => hide, + h: () => h, + each: () => each, currentLocale: () => currentLocale, + batch: () => batch, Tooltip: () => Tooltip, Toggle: () => Toggle, Toast: () => Toast, @@ -88,6 +99,7 @@ Input: () => Input, Indicator: () => Indicator, Icon: () => Icon, + Fragment: () => Fragment, Fileinput: () => Fileinput, Fieldset: () => Fieldset, Fab: () => Fab, @@ -124,499 +136,623 @@ Avatar: () => Avatar, Autocomplete: () => Autocomplete, Alert: () => Alert, - Accordion: () => Accordion + Accordion: () => Accordion, + $$: () => $$, + $: () => $ }); - // node_modules/sigpro/dist/sigpro.esm.min.js - var _ = (e) => typeof e === "function"; - var O = (e) => e && typeof e === "object"; - var b = Array.isArray; - var E = typeof document < "u" ? document : null; - var V = (e) => e?._isRuntime ? e.container : e instanceof Node ? e : E.createTextNode(e == null ? "" : String(e)); - var d = null; - var m = null; - var v = false; - var R = 0; - var T = new Set; - var I = new WeakMap; - var k = Symbol("iter"); - var L = new WeakMap; - var W = "http://www.w3.org/2000/svg"; - var M = "http://www.w3.org/1999/xlink"; - var q = new Set("svg,path,circle,rect,line,polyline,polygon,g,defs,text,textPath,tspan,use,symbol,image,marker,ellipse".split(",")); - var g = (e) => { - if (!e || e._disposed) + // sigpro.js + var isFunc = (f) => typeof f === "function"; + var isObj = (o) => o && typeof o === "object"; + var isArr = Array.isArray; + var doc = typeof document !== "undefined" ? document : null; + var ensureNode = (n) => n?._isRuntime ? n.container : n instanceof Node ? n : doc.createTextNode(n == null ? "" : String(n)); + var activeEffect = null; + var activeOwner = null; + var isFlushing = false; + var batchDepth = 0; + var effectQueue = new Set; + var proxyCache = new WeakMap; + var ITER = Symbol("iter"); + var MOUNTED_NODES = new WeakMap; + var SVG_NS = "http://www.w3.org/2000/svg"; + var XLINK_NS = "http://www.w3.org/1999/xlink"; + var SVG_TAGS = new Set("svg,path,circle,rect,line,polyline,polygon,g,defs,text,textPath,tspan,use,symbol,image,marker,ellipse".split(",")); + var dispose = (eff) => { + if (!eff || eff._disposed) return; - e._disposed = true; - let s = [e]; - while (s.length) { - let n = s.pop(); - if (n._cleanups) - n._cleanups.forEach((r) => r()), n._cleanups.clear(); - if (n._children) - n._children.forEach((r) => s.push(r)), n._children.clear(); - if (n._deps) - n._deps.forEach((r) => r.delete(n)), n._deps.clear(); + eff._disposed = true; + const stack = [eff]; + while (stack.length) { + const e = stack.pop(); + if (e._cleanups) { + e._cleanups.forEach((fn) => fn()); + e._cleanups.clear(); + } + if (e._children) { + e._children.forEach((child) => stack.push(child)); + e._children.clear(); + } + if (e._deps) { + e._deps.forEach((depSet) => depSet.delete(e)); + e._deps.clear(); + } } }; - var S = (e) => { - if (m) - (m._cleanups ||= new Set).add(e); + var onUnmount = (fn) => { + if (activeOwner) + (activeOwner._cleanups ||= new Set).add(fn); }; - var K = (e) => { - let s = d; - d = null; + var untrack = (fn) => { + const p = activeEffect; + activeEffect = null; try { - return e(); + return fn(); } finally { - d = s; + activeEffect = p; } }; - var x = (e, s = false) => { - let n = () => { - if (n._disposed) + var createEffect = (fn, isComputed = false) => { + const effect = () => { + if (effect._disposed) return; - if (n._deps) - n._deps.forEach((i) => i.delete(n)); - if (n._cleanups) - n._cleanups.forEach((i) => i()), n._cleanups.clear(); - let r = d, o = m; - d = m = n; + if (effect._deps) + effect._deps.forEach((s) => s.delete(effect)); + if (effect._cleanups) { + effect._cleanups.forEach((c) => c()); + effect._cleanups.clear(); + } + const prevEffect = activeEffect; + const prevOwner = activeOwner; + activeEffect = activeOwner = effect; try { - return n._result = e(); - } catch (i) { - console.error("[SigPro]", i); + return effect._result = fn(); + } catch (e) { + console.error("[SigPro]", e); } finally { - d = r, m = o; + activeEffect = prevEffect; + activeOwner = prevOwner; } }; - if (n._deps = n._cleanups = n._children = null, n._disposed = false, n._isComputed = s, n._depth = d ? d._depth + 1 : 0, n._mounts = [], n._parent = m, m) - (m._children ||= new Set).add(n); - return n; + effect._deps = effect._cleanups = effect._children = null; + effect._disposed = false; + effect._isComputed = isComputed; + effect._depth = activeEffect ? activeEffect._depth + 1 : 0; + effect._mounts = []; + effect._parent = activeOwner; + if (activeOwner) + (activeOwner._children ||= new Set).add(effect); + return effect; }; - var $ = () => { - if (v) + var flush = () => { + if (isFlushing) return; - v = true; - let e = Array.from(T).sort((s, n) => s._depth - n._depth); - T.clear(); - for (let s of e) - if (!s._disposed) - s(); - v = false; + isFlushing = true; + const sorted = Array.from(effectQueue).sort((a, b) => a._depth - b._depth); + effectQueue.clear(); + for (const e of sorted) + if (!e._disposed) + e(); + isFlushing = false; }; - var z = (e) => { - R++; + var batch = (fn) => { + batchDepth++; try { - return e(); + return fn(); } finally { - if (R--, R === 0 && T.size > 0 && !v) - $(); + batchDepth--; + if (batchDepth === 0 && effectQueue.size > 0 && !isFlushing) { + flush(); + } } }; - var w = (e, s = false) => { - if (!s && d && !d._disposed) - e.add(d), (d._deps ||= new Set).add(e); - else if (s && e.size > 0) { - let n = false; - for (let r of e) { - if (r === d || r._disposed) + var trackUpdate = (subs, trigger = false) => { + if (!trigger && activeEffect && !activeEffect._disposed) { + subs.add(activeEffect); + (activeEffect._deps ||= new Set).add(subs); + } else if (trigger && subs.size > 0) { + let hasQueue = false; + for (const e of subs) { + if (e === activeEffect || e._disposed) continue; - if (r._isComputed) { - if (r._dirty = true, r._subs) - w(r._subs, true); - } else - T.add(r), n = true; + if (e._isComputed) { + e._dirty = true; + if (e._subs) + trackUpdate(e._subs, true); + } else { + effectQueue.add(e); + hasQueue = true; + } } - if (n && !v && R === 0) - queueMicrotask($); + if (hasQueue && !isFlushing && batchDepth === 0) + queueMicrotask(flush); } }; - var P = (e, s = null) => { - let n = new Set; - if (_(e)) { - let r, o = () => { - if (o._dirty) { - let i = d; - d = o; + var $ = (val, key = null) => { + const subs = new Set; + if (isFunc(val)) { + let cache; + const computed = () => { + if (computed._dirty) { + const prev = activeEffect; + activeEffect = computed; try { - let t = e(); - if (!Object.is(r, t)) - r = t, w(n, true); + const next = val(); + if (!Object.is(cache, next)) { + cache = next; + trackUpdate(subs, true); + } } finally { - d = i; + activeEffect = prev; } - o._dirty = false; + computed._dirty = false; } - return w(n), r; + trackUpdate(subs); + return cache; }; - return o._isComputed = true, o._subs = n, o._dirty = true, o._deps = null, o._disposed = false, o; + computed._isComputed = true; + computed._subs = subs; + computed._dirty = true; + computed._deps = null; + computed._disposed = false; + return computed; } - if (s) + if (key) try { - e = JSON.parse(localStorage.getItem(s)) ?? e; - } catch (r) {} - return (...r) => { - if (r.length) { - let o = _(r[0]) ? r[0](e) : r[0]; - if (!Object.is(e, o)) { - if (e = o, s) - localStorage.setItem(s, JSON.stringify(e)); - w(n, true); + val = JSON.parse(localStorage.getItem(key)) ?? val; + } catch (e) {} + return (...args) => { + if (args.length) { + const next = isFunc(args[0]) ? args[0](val) : args[0]; + if (!Object.is(val, next)) { + val = next; + if (key) + localStorage.setItem(key, JSON.stringify(val)); + trackUpdate(subs, true); } } - return w(n), e; + trackUpdate(subs); + return val; }; }; - var D = (e) => { - if (!O(e)) - return e; - let s = I.get(e); - if (s) - return s; - let n = new Map, r = (i) => { - let t = n.get(i); - if (!t) - n.set(i, t = new Set); - return t; - }, o = new Proxy(e, { get(i, t, c) { - if (typeof t !== "symbol") - w(r(t)); - return D(Reflect.get(i, t, c)); - }, set(i, t, c, l) { - let a = Reflect.has(i, t), f = Reflect.get(i, t, l), u = Reflect.set(i, t, c, l); - if (u && !Object.is(f, c)) { - if (w(r(t), true), !a) - w(r(k), true); + var $$ = (target) => { + if (!isObj(target)) + return target; + const cached = proxyCache.get(target); + if (cached) + return cached; + const subs = new Map; + const getSubs = (key) => { + let set = subs.get(key); + if (!set) + subs.set(key, set = new Set); + return set; + }; + const proxy = new Proxy(target, { + get(target2, key, receiver) { + if (typeof key !== "symbol") + trackUpdate(getSubs(key)); + return $$(Reflect.get(target2, key, receiver)); + }, + set(target2, key, value, receiver) { + const hadKey = Reflect.has(target2, key); + const oldValue = Reflect.get(target2, key, receiver); + const result = Reflect.set(target2, key, value, receiver); + if (result && !Object.is(oldValue, value)) { + trackUpdate(getSubs(key), true); + if (!hadKey) + trackUpdate(getSubs(ITER), true); + } + return result; + }, + deleteProperty(target2, key) { + const result = Reflect.deleteProperty(target2, key); + if (result) { + trackUpdate(getSubs(key), true); + trackUpdate(getSubs(ITER), true); + } + return result; + }, + ownKeys(target2) { + trackUpdate(getSubs(ITER)); + return Reflect.ownKeys(target2); } - return u; - }, deleteProperty(i, t) { - let c = Reflect.deleteProperty(i, t); - if (c) - w(r(t), true), w(r(k), true); - return c; - }, ownKeys(i) { - return w(r(k)), Reflect.ownKeys(i); - } }); - return I.set(e, o), o; - }; - var C = (e, s) => { - if (s === undefined) { - let r = x(e); - return r(), () => g(r); - } - let n = x(() => { - let r = Array.isArray(e) ? e.map((o) => o()) : e(); - K(() => s(r)); }); - return n(), () => g(n); + proxyCache.set(target, proxy); + return proxy; }; - var U = (e) => { - if (!e) + var watch = (sources, cb) => { + if (cb === undefined) { + const effect2 = createEffect(sources); + effect2(); + return () => dispose(effect2); + } + const effect = createEffect(() => { + const vals = Array.isArray(sources) ? sources.map((s) => s()) : sources(); + untrack(() => cb(vals)); + }); + effect(); + return () => dispose(effect); + }; + var cleanupNode = (node) => { + if (!node) return; - if (e._cleanups) - e._cleanups.forEach((s) => s()), e._cleanups.clear(); - if (e._ownerEffect) - g(e._ownerEffect); - if (e.childNodes) - e.childNodes.forEach((s) => U(s)); + if (node._cleanups) { + node._cleanups.forEach((fn) => fn()); + node._cleanups.clear(); + } + if (node._ownerEffect) + dispose(node._ownerEffect); + if (node.childNodes) + node.childNodes.forEach((n) => cleanupNode(n)); }; - var J = /^\s*(javascript|data|vbscript):/i; - var Q = new Set(["src", "href", "formaction", "action", "background", "code", "archive"]); - var X = (e) => Q.has(e) || e.startsWith("on"); - var B = (e, s) => { - if (s == null || s === false) + var DANGEROUS_PROTOCOL = /^\s*(javascript|data|vbscript):/i; + var DANGEROUS_URI_ATTRS = new Set(["src", "href", "formaction", "action", "background", "code", "archive"]); + var isDangerousAttr = (key) => DANGEROUS_URI_ATTRS.has(key) || key.startsWith("on"); + var validateAttr = (key, val) => { + if (val == null || val === false) return null; - if (X(e)) { - let n = String(s); - if (J.test(n)) - return console.warn(`[SigPro] Bloqueado protocolo peligroso en ${e}`), "#"; + if (isDangerousAttr(key)) { + const sVal = String(val); + if (DANGEROUS_PROTOCOL.test(sVal)) { + console.warn(`[SigPro] Bloqueado protocolo peligroso en ${key}`); + return "#"; + } } - return s; + return val; }; - var A = (e, s = {}, n = []) => { - if (s instanceof Node || b(s) || !O(s)) - n = s, s = {}; - if (_(e)) { - let t = x(() => { - let f = e(s, { children: n, emit: (u, ...h) => s[`on${u[0].toUpperCase()}${u.slice(1)}`]?.(...h) }); - return t._result = f, f; - }); - t(); - let c = t._result; - if (c == null) - return null; - let l = c instanceof Node || b(c) && c.every((f) => f instanceof Node) ? c : E.createTextNode(String(c)), a = (f) => { - if (O(f) && !f._isRuntime) - f._mounts = t._mounts || [], f._cleanups = t._cleanups || new Set, f._ownerEffect = t; - }; - return b(l) ? l.forEach(a) : a(l), l; + var h = (tag, props = {}, children = []) => { + if (props instanceof Node || isArr(props) || !isObj(props)) { + children = props; + props = {}; } - let r = q.has(e), o = r ? E.createElementNS(W, e) : E.createElement(e); - o._cleanups = new Set; - for (let t of Object.keys(s)) { - let c = s[t]; - if (t === "ref") { - _(c) ? c(o) : c.current = o; - continue; - } - if (r && t.startsWith("xlink:")) { - let l = B(t.slice(6), c); - l == null ? o.removeAttributeNS(M, t.slice(6)) : o.setAttributeNS(M, t.slice(6), l); - continue; - } - if (t.startsWith("on")) { - let l = t.slice(2).toLowerCase(); - o.addEventListener(l, c); - let a = () => o.removeEventListener(l, c); - o._cleanups.add(a), S(a); - } else if (_(c)) { - let l = x(() => { - let a = B(t, c()); - if (t === "class") - o.className = a || ""; - else if (a == null) - o.removeAttribute(t); - else if (t === "style" && typeof a === "string") - o.setAttribute("style", a); - else if (t in o && !r) - o[t] = a; - else - o.setAttribute(t, a === true ? "" : a); + if (isFunc(tag)) { + const effect = createEffect(() => { + const result2 = tag(props, { + children, + emit: (ev, ...args) => props[`on${ev[0].toUpperCase()}${ev.slice(1)}`]?.(...args) }); - if (l(), o._cleanups.add(() => g(l)), S(() => g(l)), /^(INPUT|TEXTAREA|SELECT)$/.test(o.tagName) && (t === "value" || t === "checked")) { - let a = t === "checked" ? "change" : "input"; - o.addEventListener(a, (f) => c(f.target[t])); + effect._result = result2; + return result2; + }); + effect(); + const result = effect._result; + if (result == null) + return null; + const node = result instanceof Node || isArr(result) && result.every((n) => n instanceof Node) ? result : doc.createTextNode(String(result)); + const attach = (n) => { + if (isObj(n) && !n._isRuntime) { + n._mounts = effect._mounts || []; + n._cleanups = effect._cleanups || new Set; + n._ownerEffect = effect; + } + }; + isArr(node) ? node.forEach(attach) : attach(node); + return node; + } + const isSVG = SVG_TAGS.has(tag); + const el = isSVG ? doc.createElementNS(SVG_NS, tag) : doc.createElement(tag); + el._cleanups = new Set; + for (const k of Object.keys(props)) { + let v = props[k]; + if (k === "ref") { + isFunc(v) ? v(el) : v.current = el; + continue; + } + if (isSVG && k.startsWith("xlink:")) { + const cleanVal = validateAttr(k.slice(6), v); + cleanVal == null ? el.removeAttributeNS(XLINK_NS, k.slice(6)) : el.setAttributeNS(XLINK_NS, k.slice(6), cleanVal); + continue; + } + if (k.startsWith("on")) { + const ev = k.slice(2).toLowerCase(); + el.addEventListener(ev, v); + const off = () => el.removeEventListener(ev, v); + el._cleanups.add(off); + onUnmount(off); + } else if (isFunc(v)) { + const effect = createEffect(() => { + const val = validateAttr(k, v()); + if (k === "class") + el.className = val || ""; + else if (val == null) + el.removeAttribute(k); + else if (k === "style" && typeof val === "string") + el.setAttribute("style", val); + else if (k in el && !isSVG) + el[k] = val; + else + el.setAttribute(k, val === true ? "" : val); + }); + effect(); + el._cleanups.add(() => dispose(effect)); + onUnmount(() => dispose(effect)); + if (/^(INPUT|TEXTAREA|SELECT)$/.test(el.tagName) && (k === "value" || k === "checked")) { + const evType = k === "checked" ? "change" : "input"; + el.addEventListener(evType, (ev) => v(ev.target[k])); } } else { - let l = B(t, c); - if (l != null) - if (t === "style" && typeof l === "string") - o.setAttribute("style", l); - else if (t in o && !r) - o[t] = l; + const val = validateAttr(k, v); + if (val != null) { + if (k === "style" && typeof val === "string") + el.setAttribute("style", val); + else if (k in el && !isSVG) + el[k] = val; else - o.setAttribute(t, l === true ? "" : l); + el.setAttribute(k, val === true ? "" : val); + } } } - let i = (t) => { - if (b(t)) - return t.forEach(i); - if (_(t)) { - let c = E.createTextNode(""); - o.appendChild(c); - let l = [], a = x(() => { - let f = t(), u = (b(f) ? f : [f]).map(V); - l.forEach((p) => { - if (p._isRuntime) - p.destroy(); + const append = (c) => { + if (isArr(c)) + return c.forEach(append); + if (isFunc(c)) { + const anchor = doc.createTextNode(""); + el.appendChild(anchor); + let currentNodes = []; + const effect = createEffect(() => { + const res = c(); + const next = (isArr(res) ? res : [res]).map(ensureNode); + currentNodes.forEach((n) => { + if (n._isRuntime) + n.destroy(); else - U(p); - if (p.parentNode) - p.remove(); + cleanupNode(n); + if (n.parentNode) + n.remove(); }); - let h = c; - for (let p = u.length - 1;p >= 0; p--) { - let y = u[p]; - if (y.parentNode !== h.parentNode) - h.parentNode?.insertBefore(y, h); - if (y._mounts) - y._mounts.forEach((G) => G()); - h = y; + let ref = anchor; + for (let i = next.length - 1;i >= 0; i--) { + const node = next[i]; + if (node.parentNode !== ref.parentNode) + ref.parentNode?.insertBefore(node, ref); + if (node._mounts) + node._mounts.forEach((fn) => fn()); + ref = node; } - l = u; + currentNodes = next; }); - a(), o._cleanups.add(() => g(a)), S(() => g(a)); + effect(); + el._cleanups.add(() => dispose(effect)); + onUnmount(() => dispose(effect)); } else { - let c = V(t); - if (o.appendChild(c), c._mounts) - c._mounts.forEach((l) => l()); + const node = ensureNode(c); + el.appendChild(node); + if (node._mounts) + node._mounts.forEach((fn) => fn()); } }; - return i(n), o; + append(children); + return el; }; - var j = (e) => { - let s = new Set, n = m, r = d, o = E.createElement("div"); - o.style.display = "contents", o.setAttribute("role", "presentation"), m = { _cleanups: s }, d = null; - let i = (t) => { - if (!t) + var render = (renderFn) => { + const cleanups = new Set; + const previousOwner = activeOwner; + const previousEffect = activeEffect; + const container = doc.createElement("div"); + container.style.display = "contents"; + container.setAttribute("role", "presentation"); + activeOwner = { _cleanups: cleanups }; + activeEffect = null; + const processResult = (result) => { + if (!result) return; - if (t._isRuntime) - s.add(t.destroy), o.appendChild(t.container); - else if (b(t)) - t.forEach(i); - else - o.appendChild(t instanceof Node ? t : E.createTextNode(String(t == null ? "" : t))); + if (result._isRuntime) { + cleanups.add(result.destroy); + container.appendChild(result.container); + } else if (isArr(result)) { + result.forEach(processResult); + } else { + container.appendChild(result instanceof Node ? result : doc.createTextNode(String(result == null ? "" : result))); + } }; try { - i(e({ onCleanup: (t) => s.add(t) })); + processResult(renderFn({ onCleanup: (fn) => cleanups.add(fn) })); } finally { - m = n, d = r; + activeOwner = previousOwner; + activeEffect = previousEffect; } - return { _isRuntime: true, container: o, destroy: () => { - s.forEach((t) => t()), U(o), o.remove(); - } }; - }; - var F = (e, s, n = null) => { - let r = E.createTextNode(""), o = A("div", { style: "display:contents" }, [r]), i = null; - return C(() => !!(_(e) ? e() : e), (t) => { - if (i) - i.destroy(), i = null; - let c = t ? s : n; - if (c) - i = j(() => _(c) ? c() : c), o.insertBefore(i.container, r); - }), S(() => i?.destroy()), o; - }; - var H = (e, s, n) => { - let r = E.createTextNode(""), o = A("div", { style: "display:contents" }, [r]), i = new Map; - return C(() => (_(e) ? e() : e) || [], (t) => { - let c = new Map, l = [], a = t || []; - for (let u = 0;u < a.length; u++) { - let h = a[u], p = n ? h?.[n] ?? u : h?.id ?? u, y = i.get(p); - if (!y) - y = j(() => s(h, u)); - else - i.delete(p); - c.set(p, y), l.push(y); + return { + _isRuntime: true, + container, + destroy: () => { + cleanups.forEach((fn) => fn()); + cleanupNode(container); + container.remove(); } - i.forEach((u) => u.destroy()); - let f = r; - for (let u = l.length - 1;u >= 0; u--) { - let p = l[u].container; - if (p.nextSibling !== f) - o.insertBefore(p, f); - f = p; + }; + }; + var when = (cond, SIP, NOP = null) => { + const anchor = doc.createTextNode(""); + const root = h("div", { style: "display:contents" }, [anchor]); + let currentView = null; + watch(() => !!(isFunc(cond) ? cond() : cond), (show) => { + if (currentView) { + currentView.destroy(); + currentView = null; } - i = c; - }), o; - }; - var N = (e) => { - let s = () => window.location.hash.slice(1) || "/", n = P(s()), r = () => n(s()); - window.addEventListener("hashchange", r), S(() => window.removeEventListener("hashchange", r)); - let o = A("div", { class: "router-hook" }), i = null; - return C([n], () => { - let t = n(), c = e.find((l) => { - let a = l.path.split("/").filter(Boolean), f = t.split("/").filter(Boolean); - return a.length === f.length && a.every((u, h) => u[0] === ":" || u === f[h]); - }) || e.find((l) => l.path === "*"); - if (c) { - i?.destroy(); - let l = {}; - c.path.split("/").filter(Boolean).forEach((a, f) => { - if (a[0] === ":") - l[a.slice(1)] = t.split("/").filter(Boolean)[f]; - }), N.params(l), i = j(() => _(c.component) ? c.component(l) : c.component), o.replaceChildren(i.container); + const content = show ? SIP : NOP; + if (content) { + currentView = render(() => isFunc(content) ? content() : content); + root.insertBefore(currentView.container, anchor); } - }), o; - }; - N.params = P({}); - N.to = (e) => window.location.hash = e.replace(/^#?\/?/, "#/"); - N.back = () => window.history.back(); - N.path = () => window.location.hash.replace(/^#/, "") || "/"; - var Y = (e, s) => { - let n = typeof s === "string" ? E.querySelector(s) : s; - if (!n) - return; - if (L.has(n)) - L.get(n).destroy(); - let r = j(_(e) ? e : () => e); - return n.replaceChildren(r.container), L.set(n, r), r; - }; - if (typeof window < "u") - Object.assign(window, { $: P, $$: D, watch: C, h: A, when: F, each: H, router: N, mount: Y, batch: z, onUnmount: S, isArr: b, isFunc: _, isObj: O }), "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] = (s, n) => A(e, s, n); }); + onUnmount(() => currentView?.destroy()); + return root; + }; + var each = (src, itemFn, keyField) => { + const anchor = doc.createTextNode(""); + const root = h("div", { style: "display:contents" }, [anchor]); + let cache = new Map; + watch(() => (isFunc(src) ? src() : src) || [], (items) => { + const nextCache = new Map; + const nextOrder = []; + const newItems = items || []; + for (let i = 0;i < newItems.length; i++) { + const item = newItems[i]; + const key = keyField ? item?.[keyField] ?? i : item?.id ?? i; + let view = cache.get(key); + if (!view) + view = render(() => itemFn(item, i)); + else + cache.delete(key); + nextCache.set(key, view); + nextOrder.push(view); + } + cache.forEach((view) => view.destroy()); + let lastRef = anchor; + for (let i = nextOrder.length - 1;i >= 0; i--) { + const view = nextOrder[i]; + const node = view.container; + if (node.nextSibling !== lastRef) + root.insertBefore(node, lastRef); + lastRef = node; + } + cache = nextCache; + }); + return root; + }; + var router = (routes) => { + const getHash = () => window.location.hash.slice(1) || "/"; + const path = $(getHash()); + const handler = () => path(getHash()); + window.addEventListener("hashchange", handler); + onUnmount(() => window.removeEventListener("hashchange", handler)); + const hook = h("div", { class: "router-hook" }); + let currentView = null; + watch([path], () => { + const cur = path(); + const route = routes.find((r) => { + const p1 = r.path.split("/").filter(Boolean); + const p2 = cur.split("/").filter(Boolean); + return p1.length === p2.length && p1.every((p, i) => p[0] === ":" || p === p2[i]); + }) || routes.find((r) => r.path === "*"); + if (route) { + currentView?.destroy(); + const params = {}; + route.path.split("/").filter(Boolean).forEach((p, i) => { + if (p[0] === ":") + params[p.slice(1)] = cur.split("/").filter(Boolean)[i]; + }); + router.params(params); + currentView = render(() => isFunc(route.component) ? route.component(params) : route.component); + hook.replaceChildren(currentView.container); + } + }); + return hook; + }; + router.params = $({}); + router.to = (p) => window.location.hash = p.replace(/^#?\/?/, "#/"); + router.back = () => window.history.back(); + router.path = () => window.location.hash.replace(/^#/, "") || "/"; + var Fragment = (props) => props.children; + var mount = (comp, target) => { + const t = typeof target === "string" ? doc.querySelector(target) : target; + if (!t) + return; + if (MOUNTED_NODES.has(t)) + MOUNTED_NODES.get(t).destroy(); + const inst = render(isFunc(comp) ? comp : () => comp); + t.replaceChildren(inst.container); + MOUNTED_NODES.set(t, inst); + return inst; + }; // sigpro-ui.js + if (typeof window !== "undefined") { + "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((tag) => { + window[tag] = (props, children) => h(tag, props, children); + }); + } var val = (val2) => typeof val2 === "function" ? val2() : val2; var getBy = (item, field = "label") => item && typeof item === "object" ? item[field] : item; var cls = (...classes) => classes.filter(Boolean).join(" ").trim(); - var filterBy = (items, query, field = "label", q2 = String(query).toLowerCase()) => !query ? val(items) : val(items).filter((item) => String(item && typeof item === "object" ? item[field] : item).toLowerCase().includes(q2)); + var filterBy = (items, query, field = "label", q = String(query).toLowerCase()) => !query ? val(items) : val(items).filter((item) => String(item && typeof item === "object" ? item[field] : item).toLowerCase().includes(q)); var rand = (r) => `${r}-${Math.random().toString(36).slice(2, 9)}`; var hide = () => document.activeElement?.blur(); - var i18n = { + var lang = { es: { uploadFiles: "Arrastrar y soltar o click para seleccionar..." }, en: { - uploadFiles: "DRag and drop or click to select" + uploadFiles: "Drag and drop or click to select" } }; - var currentLocale = P("en"); + var currentLocale = $("en"); var Locale = (t) => currentLocale(t); - var tt = (t) => () => i18n[currentLocale()][t] || t; + var t = (t2) => () => lang[currentLocale()][t2] || t2; var Accordion = (p) => { const name = p.name || rand("acc"); - return H(p.items, (it) => { - return A("div", { class: cls("collapse", p.class) }, [ - A("input", { type: "radio", name, checked: it.open || undefined }), - it.title ? A("div", { class: cls("collapse-title", `${it.classTitle ?? " font-semibold"}`) }, it.title) : null, - it.content ? A("div", { class: cls("collapse-content text-sm", `${it.classContent ?? " font-semibold"}`) }, it.content) : null + return each(p.items, (it) => { + return h("div", { class: cls("collapse", p.class) }, [ + h("input", { type: "radio", name, checked: it.open || undefined }), + it.title ? h("div", { class: cls("collapse-title", `${it.classTitle ?? " font-semibold"}`) }, it.title) : null, + it.content ? h("div", { class: cls("collapse-content text-sm", `${it.classContent ?? " font-semibold"}`) }, it.content) : null ]); }); }; - var Alert = (p, c) => A("div", { ...p, class: cls("alert", p.class) }, c); - var Avatar = (p, c) => A("div", { class: "avatar" }, A("div", { class: p.class }, c)); - var AvatarGroup = (p, c) => A("div", { ...p, class: cls("avatar-group -space-x-6", p.class) }, c); + var Alert = (p, c) => h("div", { ...p, class: cls("alert", p.class) }, c); + var Avatar = (p, c) => h("div", { class: "avatar" }, h("div", { class: p.class }, c)); + var AvatarGroup = (p, c) => h("div", { ...p, class: cls("avatar-group -space-x-6", p.class) }, c); var Autocomplete = ({ items, value, onselect, placeholder = "...", ...props }) => { - const query = P(val(value) || ""); - const filtered = P(() => filterBy(items, query())); + const query = $(val(value) || ""); + const filtered = $(() => filterBy(items, query())); const pick = (item) => { const display = getBy(item); const actual = typeof item === "string" ? item : item.value; query(display); - if (_(value)) + if (isFunc(value)) value(actual); onselect?.(item); hide(); }; return Dropdown({ class: "w-full" }, [ - A("div", { tabindex: "0", role: "button", class: "w-full" }, Input({ + h("div", { tabindex: "0", role: "button", class: "w-full" }, Input({ ...props, placeholder, value: query, - left: A("span", { class: "icon-[lucide--search]" }), + left: h("span", { class: "icon-[lucide--search]" }), oninput: (e) => { query(e.target.value); - if (_(value)) + if (isFunc(value)) value(e.target.value); } })), - DropdownContent({ class: "p-2 bg-base-100 rounded-box shadow-xl w-full max-h-60 overflow-y-auto border border-base-300 z-50" }, A("ul", { class: "menu flex-col flex-nowrap w-full p-0" }, [ - H(filtered, (item) => A("li", {}, [ - A("a", { + DropdownContent({ class: "p-2 bg-base-100 rounded-box shadow-xl w-full max-h-60 overflow-y-auto border border-base-300 z-50" }, h("ul", { class: "menu flex-col flex-nowrap w-full p-0" }, [ + each(filtered, (item) => h("li", {}, [ + h("a", { onmousedown: (e) => e.preventDefault(), onclick: () => pick(item) }, getBy(item)) ]), (item) => getBy(item)), - () => filtered().length === 0 ? A("li", { class: "p-4 opacity-50 text-center" }, "Sin resultados") : null + () => filtered().length === 0 ? h("li", { class: "p-4 opacity-50 text-center" }, "Sin resultados") : null ])) ]); }; - var Badge = (p, c) => A("span", { ...p, class: cls("badge", p.class) }, c); - var Breadcrumbs = (p, c) => A("div", { ...p, class: cls("breadcrumbs", p.class) }, c); - var Button = (p, c) => A("button", { ...p, class: cls("btn", p.class) }, c); + var Badge = (p, c) => h("span", { ...p, class: cls("badge", p.class) }, c); + var Breadcrumbs = (p, c) => h("div", { ...p, class: cls("breadcrumbs", p.class) }, c); + var Button = (p, c) => h("button", { ...p, class: cls("btn", p.class) }, c); var Calendar = (p) => { - const internalDate = P(new Date); - const hoverDate = P(null); - const startHour = P(0); - const endHour = P(0); + const internalDate = $(new Date); + const hoverDate = $(null); + const startHour = $(0); + const endHour = $(0); const now = new Date; const todayStr = `${now.getFullYear()}-${String(now.getMonth() + 1).padStart(2, "0")}-${String(now.getDate()).padStart(2, "0")}`; - const fmt = (d2) => `${d2.getFullYear()}-${String(d2.getMonth() + 1).padStart(2, "0")}-${String(d2.getDate()).padStart(2, "0")}`; + const fmt = (d) => `${d.getFullYear()}-${String(d.getMonth() + 1).padStart(2, "0")}-${String(d.getDate()).padStart(2, "0")}`; const rangeMode = () => val(p.range) === true; const current = () => val(p.value); const selectDate = (date) => { const s = fmt(date); - const v2 = current(); + const v = current(); if (rangeMode()) { - if (!v2?.start || v2.start && v2.end) { + if (!v?.start || v.start && v.end) { p.onChange?.({ start: s, end: null, ...p.hour && { startHour: startHour() } }); } else { - const start = v2.start; + const start = v.start; const nv = s < start ? { start: s, end: start } : { start, end: s }; if (p.hour) { - nv.startHour = v2.startHour ?? startHour(); + nv.startHour = v.startHour ?? startHour(); nv.endHour = endHour(); } p.onChange?.(nv); @@ -625,59 +761,59 @@ p.onChange?.(p.hour ? `${s}T${String(startHour()).padStart(2, "0")}:00:00` : s); } }; - const move = (m2) => { - const d2 = internalDate(); - internalDate(new Date(d2.getFullYear(), d2.getMonth() + m2, 1)); + const move = (m) => { + const d = internalDate(); + internalDate(new Date(d.getFullYear(), d.getMonth() + m, 1)); }; const moveYear = (y) => { - const d2 = internalDate(); - internalDate(new Date(d2.getFullYear() + y, d2.getMonth(), 1)); + const d = internalDate(); + internalDate(new Date(d.getFullYear() + y, d.getMonth(), 1)); }; - const HourSlider = ({ value: hVal, onChange: onH }) => A("div", { class: "flex-1" }, [ - A("div", { class: "flex gap-2 items-center" }, [ - A("input", { type: "range", min: 0, max: 23, value: hVal, class: "range range-xs flex-1", oninput: (e) => onH(+e.target.value) }), - A("span", { class: "text-sm font-mono min-w-[48px] text-center" }, () => String(val(hVal)).padStart(2, "0") + ":00") + const HourSlider = ({ value: hVal, onChange: onH }) => h("div", { class: "flex-1" }, [ + h("div", { class: "flex gap-2 items-center" }, [ + h("input", { type: "range", min: 0, max: 23, value: hVal, class: "range range-xs flex-1", oninput: (e) => onH(+e.target.value) }), + h("span", { class: "text-sm font-mono min-w-[48px] text-center" }, () => String(val(hVal)).padStart(2, "0") + ":00") ]) ]); - return A("div", { + return h("div", { class: cls("p-4 bg-base-100 border border-base-300 shadow-2xl rounded-box w-80 select-none", p.class) }, [ - A("div", { class: "flex justify-between items-center mb-4 gap-1" }, [ - A("div", { class: "flex gap-0.5" }, [ - A("button", { type: "button", class: "btn btn-ghost btn-xs px-1", onclick: () => moveYear(-1) }, A("span", { class: "icon-[lucide--chevrons-left]" })), - A("button", { type: "button", class: "btn btn-ghost btn-xs px-1", onclick: () => move(-1) }, A("span", { class: "icon-[lucide--chevron-left]" })) + h("div", { class: "flex justify-between items-center mb-4 gap-1" }, [ + h("div", { class: "flex gap-0.5" }, [ + h("button", { type: "button", class: "btn btn-ghost btn-xs px-1", onclick: () => moveYear(-1) }, h("span", { class: "icon-[lucide--chevrons-left]" })), + h("button", { type: "button", class: "btn btn-ghost btn-xs px-1", onclick: () => move(-1) }, h("span", { class: "icon-[lucide--chevron-left]" })) ]), - A("span", { class: "font-bold uppercase flex-1 text-center" }, () => internalDate().toLocaleString("es-ES", { month: "short", year: "numeric" })), - A("div", { class: "flex gap-0.5" }, [ - A("button", { type: "button", class: "btn btn-ghost btn-xs px-1", onclick: () => move(1) }, A("span", { class: "icon-[lucide--chevron-right]" })), - A("button", { type: "button", class: "btn btn-ghost btn-xs px-1", onclick: () => moveYear(1) }, A("span", { class: "icon-[lucide--chevrons-right]" })) + h("span", { class: "font-bold uppercase flex-1 text-center" }, () => internalDate().toLocaleString("es-ES", { month: "short", year: "numeric" })), + h("div", { class: "flex gap-0.5" }, [ + h("button", { type: "button", class: "btn btn-ghost btn-xs px-1", onclick: () => move(1) }, h("span", { class: "icon-[lucide--chevron-right]" })), + h("button", { type: "button", class: "btn btn-ghost btn-xs px-1", onclick: () => moveYear(1) }, h("span", { class: "icon-[lucide--chevrons-right]" })) ]) ]), - A("div", { class: "grid grid-cols-7 gap-1", onmouseleave: () => hoverDate(null) }, [ - ...["L", "M", "X", "J", "V", "S", "D"].map((d2) => A("div", { class: "text-[10px] opacity-40 font-bold text-center" }, d2)), + h("div", { class: "grid grid-cols-7 gap-1", onmouseleave: () => hoverDate(null) }, [ + ...["L", "M", "X", "J", "V", "S", "D"].map((d) => h("div", { class: "text-[10px] opacity-40 font-bold text-center" }, d)), () => { - const d2 = internalDate(), y = d2.getFullYear(), m2 = d2.getMonth(); - const firstDay = new Date(y, m2, 1).getDay(); + const d = internalDate(), y = d.getFullYear(), m = d.getMonth(); + const firstDay = new Date(y, m, 1).getDay(); const offset = firstDay === 0 ? 6 : firstDay - 1; - const dim = new Date(y, m2 + 1, 0).getDate(); + const dim = new Date(y, m + 1, 0).getDate(); const cells = []; for (let i = 0;i < offset; i++) - cells.push(A("div")); + cells.push(h("div")); for (let i = 1;i <= dim; i++) { - const date = new Date(y, m2, i), ds = fmt(date); - cells.push(A("button", { + const date = new Date(y, m, i), ds = fmt(date); + cells.push(h("button", { type: "button", class: () => { - const v2 = current(), h = hoverDate(); - const isStart = typeof v2 === "string" ? v2.split("T")[0] === ds : v2?.start === ds; - const isEnd = v2?.end === ds; + const v = current(), h2 = hoverDate(); + const isStart = typeof v === "string" ? v.split("T")[0] === ds : v?.start === ds; + const isEnd = v?.end === ds; let inRange = false; - if (rangeMode() && v2?.start) { - const start = v2.start; - if (!v2.end && h) - inRange = ds > start && ds <= h || ds < start && ds >= h; - else if (v2.end) - inRange = ds > start && ds < v2.end; + if (rangeMode() && v?.start) { + const start = v.start; + if (!v.end && h2) + inRange = ds > start && ds <= h2 || ds < start && ds >= h2; + else if (v.end) + inRange = ds > start && ds < v.end; } const base = "btn btn-xs p-0 aspect-square min-h-0 h-auto font-normal relative"; const st = isStart || isEnd ? "btn-primary z-10" : inRange ? "bg-primary/20 border-none rounded-none" : "btn-ghost"; @@ -691,32 +827,32 @@ return cells; } ]), - p.hour ? A("div", { class: "mt-3 pt-2 border-t border-base-300" }, rangeMode() ? A("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) })) : null + p.hour ? h("div", { class: "mt-3 pt-2 border-t border-base-300" }, rangeMode() ? h("div", { class: "flex gap-4" }, [HourSlider({ value: startHour, onChange: (h2) => startHour(h2) }), HourSlider({ value: endHour, onChange: (h2) => endHour(h2) })]) : HourSlider({ value: startHour, onChange: (h2) => startHour(h2) })) : null ]); }; - var Card = (p, c) => A("div", { ...p, class: cls("card", p.class) }, c); - var CardTitle = (p, c) => A("div", { ...p, class: cls("card-title", p.class) }, c); - var CardBody = (p, c) => A("div", { ...p, class: cls("card-body", p.class) }, c); - var CardActions = (p, c) => A("div", { ...p, class: cls("card-actions", p.class) }, c); - var Carousel = (p, c) => A("div", { ...p, class: cls("carousel", p.class) }, c); - var CarouselItem = (p, c) => A("div", { ...p, class: cls("carousel-item", p.class) }, c); - var Chat = (p, c) => A("div", { ...p, class: cls("chat", p.class) }, c); - var ChatBubble = (p, c) => A("div", { ...p, class: cls("chat-bubble", p.class) }, c); - var ChatFooter = (p, c) => A("div", { ...p, class: cls("chat-footer", p.class) }, c); - var ChatHeader = (p, c) => A("div", { ...p, class: cls("chat-header", p.class) }, c); - var ChatImage = (p, c) => A("div", { ...p, class: cls("chat-image avatar", p.class) }, A("div", { class: "w-10 rounded-full" }, typeof c === "string" ? A("img", { src: c, alt: "avatar" }) : c)); - var Checkbox = (p) => A("input", { ...p, type: "checkbox", class: cls("checkbox", p.class) }); + var Card = (p, c) => h("div", { ...p, class: cls("card", p.class) }, c); + var CardTitle = (p, c) => h("div", { ...p, class: cls("card-title", p.class) }, c); + var CardBody = (p, c) => h("div", { ...p, class: cls("card-body", p.class) }, c); + var CardActions = (p, c) => h("div", { ...p, class: cls("card-actions", p.class) }, c); + var Carousel = (p, c) => h("div", { ...p, class: cls("carousel", p.class) }, c); + var CarouselItem = (p, c) => h("div", { ...p, class: cls("carousel-item", p.class) }, c); + var Chat = (p, c) => h("div", { ...p, class: cls("chat", p.class) }, c); + var ChatBubble = (p, c) => h("div", { ...p, class: cls("chat-bubble", p.class) }, c); + var ChatFooter = (p, c) => h("div", { ...p, class: cls("chat-footer", p.class) }, c); + var ChatHeader = (p, c) => h("div", { ...p, class: cls("chat-header", p.class) }, c); + var ChatImage = (p, c) => h("div", { ...p, class: cls("chat-image avatar", p.class) }, h("div", { class: "w-10 rounded-full" }, typeof c === "string" ? h("img", { src: c, alt: "avatar" }) : c)); + var Checkbox = (p) => h("input", { ...p, type: "checkbox", class: cls("checkbox", p.class) }); var Colorpicker = (p) => { const current = () => val(p.value) || "#000000"; return Dropdown({}, [ DropdownButton({ class: "btn" }, [ - A("div", { class: "size-5 rounded-sm", style: () => `background-color: ${current()}` }), - p.label && A("span", {}, p.label) + h("div", { class: "size-5 rounded-sm", style: () => `background-color: ${current()}` }), + p.label && h("span", {}, p.label) ]), DropdownContent({ class: "p-0" }, ColorPalette({ value: p.value, onchange: (c) => { - _(p.value) ? p.value(c) : p.onchange?.(c); + isFunc(p.value) ? p.value(c) : p.onchange?.(c); } })) ]); @@ -790,12 +926,12 @@ "#fae8ff" ]; const pick = (c) => { - _(p.value) ? p.value(c) : p.onchange?.(c); + isFunc(p.value) ? p.value(c) : p.onchange?.(c); hide(); }; - return A("div", { + return h("div", { class: cls("p-3 bg-base-100 rounded-box shadow w-64", p.class) - }, A("div", { class: "grid grid-cols-8 gap-1" }, palette.map((c) => A("button", { + }, h("div", { class: "grid grid-cols-8 gap-1" }, palette.map((c) => h("button", { type: "button", style: `background-color: ${c}`, class: () => { @@ -808,27 +944,27 @@ })))); }; var Datepicker = (p) => { - const displayValue = P(""); + const displayValue = $(""); const rangeMode = () => val(p.range) === true; - C(() => { - const v2 = val(p.value); - if (!v2) + watch(() => { + const v = val(p.value); + if (!v) return displayValue(""); let text = ""; - if (typeof v2 === "string") { - text = p.hour && v2.includes("T") ? v2.replace("T", " ") : v2; - } else if (v2.start && v2.end) { - const startStr = p.hour && v2.startHour != null ? `${v2.start} ${String(v2.startHour).padStart(2, "0")}:00` : v2.start; - const endStr = p.hour && v2.endHour != null ? `${v2.end} ${String(v2.endHour).padStart(2, "0")}:00` : v2.end; + if (typeof v === "string") { + text = p.hour && v.includes("T") ? v.replace("T", " ") : v; + } else if (v.start && v.end) { + const startStr = p.hour && v.startHour != null ? `${v.start} ${String(v.startHour).padStart(2, "0")}:00` : v.start; + const endStr = p.hour && v.endHour != null ? `${v.end} ${String(v.endHour).padStart(2, "0")}:00` : v.end; text = `${startStr} - ${endStr}`; - } else if (v2.start) { - const startStr = p.hour && v2.startHour != null ? `${v2.start} ${String(v2.startHour).padStart(2, "0")}:00` : v2.start; + } else if (v.start) { + const startStr = p.hour && v.startHour != null ? `${v.start} ${String(v.startHour).padStart(2, "0")}:00` : v.start; text = `${startStr}...`; } displayValue(text); }); const handleChange = (val2) => { - if (_(p.value)) + if (isFunc(p.value)) p.value(val2); else p.onChange?.(val2); @@ -836,28 +972,28 @@ hide(); }; return Dropdown({ class: cls("w-full", p.class) }, [ - A("label", { + h("label", { tabindex: "0", role: "button", class: "input input-bordered flex items-center gap-2 cursor-pointer" }, [ - A("span", { class: "icon-[lucide--calendar] shrink-0" }), - A("span", { + h("span", { class: "icon-[lucide--calendar] shrink-0" }), + h("span", { class: () => `grow text-left truncate ${!displayValue() ? "opacity-50" : ""}` }, () => displayValue() || p.placeholder || (rangeMode() ? "Seleccionar rango..." : "Seleccionar fecha...")), - () => displayValue() ? A("button", { + () => displayValue() ? h("button", { type: "button", class: "btn btn-ghost btn-xs btn-circle -mr-2", onmousedown: (e) => { e.preventDefault(); e.stopPropagation(); - if (_(p.value)) + if (isFunc(p.value)) p.value(null); else p.onChange?.(null); displayValue(""); } - }, A("span", { class: "icon-[lucide--x] opacity-50" })) : null + }, h("span", { class: "icon-[lucide--x] opacity-50" })) : null ]), DropdownContent({ class: "p-0" }, Calendar({ value: p.value, @@ -868,20 +1004,20 @@ ]); }; var Drawer = (p, c) => div({ ...p, class: cls("drawer", p.class) }, c); - var DrawerToggle = (p) => input({ ...p, type: "checkbox", class: "drawer-toggle", checked: () => val(p.checked), onchange: (e) => _(p.checked) && p.checked(e.target.checked) }); + var DrawerToggle = (p) => input({ ...p, type: "checkbox", class: "drawer-toggle", checked: () => val(p.checked), onchange: (e) => isFunc(p.checked) && p.checked(e.target.checked) }); var DrawerContent = (p, c) => div({ ...p, class: cls("drawer-content", p.class) }, c); var DrawerSide = (p, c) => div({ ...p, class: cls("drawer-side", p.class) }, c); var DrawerOverlay = (p) => label({ ...p, for: p.for, class: cls("drawer-overlay", p.class) }); - var Divider = (p) => A("div", { ...p, class: cls("divider", p.class) }); - var Dropdown = (p, c) => A("div", { ...p, class: cls("dropdown", p.class) }, c); - var DropdownButton = (p, c) => A("div", { ...p, tabindex: "0", role: "button", class: cls("btn", p.class) }, c); - var DropdownContent = (p, c) => A("div", { ...p, tabindex: "0", class: cls("dropdown-content", p.class) }, c); - var Fab = (p, c) => A("div", { class: "fab" }, [A("div", { tabindex: "0", role: "button", class: cls("btn", p.class) }, Icon(p.icon)), c]); - var Fieldset = (p, c) => A("fieldset", { class: cls("fieldset", p.class) }, [A("legend", { class: "fieldset-legend" }, p.label), c]); + var Divider = (p) => h("div", { ...p, class: cls("divider", p.class) }); + var Dropdown = (p, c) => h("div", { ...p, class: cls("dropdown", p.class) }, c); + var DropdownButton = (p, c) => h("div", { ...p, tabindex: "0", role: "button", class: cls("btn", p.class) }, c); + var DropdownContent = (p, c) => h("div", { ...p, tabindex: "0", class: cls("dropdown-content", p.class) }, c); + var Fab = (p, c) => h("div", { class: "fab" }, [h("div", { tabindex: "0", role: "button", class: cls("btn", p.class) }, Icon(p.icon)), c]); + var Fieldset = (p, c) => h("fieldset", { class: cls("fieldset", p.class) }, [h("legend", { class: "fieldset-legend" }, p.label), c]); var Fileinput = (p) => { - const files = P([]); - const drag = P(false); - const error = P(null); + const files = $([]); + const drag = $(false); + const error = $(null); const maxBytes = (p.max || 2) * 1024 * 1024; const process = (fileList) => { const arr = Array.from(fileList); @@ -892,21 +1028,21 @@ } const updated = [...files(), ...arr]; files(updated); - if (_(p.onselect)) + if (isFunc(p.onselect)) p.onselect(updated); - else if (_(p.value)) + else if (isFunc(p.value)) p.value(updated); }; const remove = (idx) => { - const updated = files().filter((_2, i) => i !== idx); + const updated = files().filter((_, i) => i !== idx); files(updated); - if (_(p.onselect)) + if (isFunc(p.onselect)) p.onselect(updated); - else if (_(p.value)) + else if (isFunc(p.value)) p.value(updated); }; - return A("div", { class: cls("fieldset w-full p-0", p.class) }, [ - A("label", { + return h("div", { class: cls("fieldset w-full p-0", p.class) }, [ + h("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 ${drag() ? "border-primary bg-primary/10" : "border-base-content/20 bg-base-100 hover:bg-base-200"}`, ondragover: (e) => { e.preventDefault(); @@ -919,12 +1055,12 @@ process(e.dataTransfer.files); } }, [ - A("div", { class: "flex items-center gap-3 w-full" }, [ - A("span", { class: "icon-[lucide--upload]" }), - A("span", { class: "text-sm opacity-70 truncate grow text-left" }, tt("uploadFiles")), - A("span", { class: "text-[10px] opacity-40 shrink-0" }, `Máx ${p.max || 2}MB`) + h("div", { class: "flex items-center gap-3 w-full" }, [ + h("span", { class: "icon-[lucide--upload]" }), + h("span", { class: "text-sm opacity-70 truncate grow text-left" }, t("uploadFiles")), + h("span", { class: "text-[10px] opacity-40 shrink-0" }, `Máx ${p.max || 2}MB`) ]), - A("input", { + h("input", { type: "file", multiple: true, accept: p.accept || "*", @@ -932,38 +1068,38 @@ onchange: (e) => process(e.target.files) }) ]), - () => error() && A("span", { class: "text-[10px] text-error mt-1 px-1 font-medium" }, error()), - F(() => files().length > 0, () => A("ul", { class: "mt-2 space-y-1" }, H(files, (file, idx) => A("li", { class: "flex items-center justify-between p-1.5 pl-3 text-xs bg-base-200/50 rounded-md border border-base-300" }, [ - A("div", { class: "flex items-center gap-2 truncate" }, [ - A("span", { class: "opacity-50" }, "\uD83D\uDCC4"), - A("span", { class: "truncate font-medium max-w-[200px]" }, file.name), - A("span", { class: "text-[9px] opacity-40" }, `(${(file.size / 1024).toFixed(0)} KB)`) + () => error() && h("span", { class: "text-[10px] text-error mt-1 px-1 font-medium" }, error()), + when(() => files().length > 0, () => h("ul", { class: "mt-2 space-y-1" }, each(files, (file, idx) => h("li", { class: "flex items-center justify-between p-1.5 pl-3 text-xs bg-base-200/50 rounded-md border border-base-300" }, [ + h("div", { class: "flex items-center gap-2 truncate" }, [ + h("span", { class: "opacity-50" }, "\uD83D\uDCC4"), + h("span", { class: "truncate font-medium max-w-[200px]" }, file.name), + h("span", { class: "text-[9px] opacity-40" }, `(${(file.size / 1024).toFixed(0)} KB)`) ]), - A("button", { + h("button", { type: "button", class: "btn btn-ghost btn-xs btn-circle", onclick: (e) => { e.preventDefault(); remove(idx); } - }, A("span", { class: "icon-[lucide--x]" })) + }, h("span", { class: "icon-[lucide--x]" })) ])))) ]); }; - var Icon = (p) => A("span", { class: p.startsWith("icon-") ? p : "" }, p.startsWith("icon-") ? null : p); - var Indicator = (p, c) => A("div", { ...p, class: cls("indicator", p.class) }, [p.value && A("span", { class: cls("indicator-item badge", p.class) }, p.value), c]); + var Icon = (p) => h("span", { class: p.startsWith("icon-") ? p : "" }, p.startsWith("icon-") ? null : p); + var Indicator = (p, c) => h("div", { ...p, class: cls("indicator", p.class) }, [p.value && h("span", { class: cls("indicator-item badge", p.class) }, p.value), c]); var Input = (p) => { const { label: label2, icon, float, placeholder, value, left, right, rule, hint, content, ...rest } = p; - const showPassword = P(false); + const showPassword = $(false); const isPassword = p.type === "password"; const pattern = rule ?? null; const inputType = () => isPassword ? val(showPassword) ? "text" : "password" : p.type || "search"; - return A("label", { class: float ? "floating-label" : "" }, [ - float ? A("span", {}, label2) : null, - A("label", { pattern, class: () => cls("input validator", p.class) }, [ - label2 && !float ? A("span", { class: "label" }, label2) : null, + return h("label", { class: float ? "floating-label" : "" }, [ + float ? h("span", {}, label2) : null, + h("label", { pattern, class: () => cls("input validator", p.class) }, [ + label2 && !float ? h("span", { class: "label" }, label2) : null, left ?? null, - A("input", { ...rest, type: inputType, class: "grow", pattern, placeholder: placeholder || label2 || " ", value }), + h("input", { ...rest, type: inputType, class: "grow", pattern, placeholder: placeholder || label2 || " ", value }), right ?? null, isPassword ? Swap({ class: "ml-2" }, [ SwapToggle({ value: showPassword, class: "swap-rotate" }), @@ -971,21 +1107,21 @@ SwapOff({}, Icon("icon-[lucide--eye-off]")) ]) : null ]), - hint ? A("div", { class: "validator-hint" }, hint) : null + hint ? h("div", { class: "validator-hint" }, hint) : null ]); }; - var Kbd = (p, c) => A("kbd", { ...p, class: cls("kbd", p.class) }, c); - var List = (p, c) => A("ul", { ...p, class: cls("list", p.class) }, c); - var ListRows = (p) => () => (val(p.items) || []).map((item, idx) => A("li", { class: cls("list-row", p.class, item?.class) }, typeof p.render === "function" ? p.render(item, idx) : item)); - var Loading = (p, c) => A("span", { ...p, class: cls("loading loading-spinner", p.class) }, c); + var Kbd = (p, c) => h("kbd", { ...p, class: cls("kbd", p.class) }, c); + var List = (p, c) => h("ul", { ...p, class: cls("list", p.class) }, c); + var ListRows = (p) => () => (val(p.items) || []).map((item, idx) => h("li", { class: cls("list-row", p.class, item?.class) }, typeof p.render === "function" ? p.render(item, idx) : item)); + var Loading = (p, c) => h("span", { ...p, class: cls("loading loading-spinner", p.class) }, c); var Menu = (p) => { if (p.children !== undefined) - return A("ul", { class: cls("menu", p.class), ...p }, p.children); + return h("ul", { class: cls("menu", p.class), ...p }, p.children); const { items } = p; - const render = (item) => item.children ? A("li", {}, A("details", { open: item.open || undefined }, [ - A("summary", {}, getBy(item)), - A("ul", {}, H(() => val(item.children) || [], render)) - ])) : A("li", {}, A("a", { + const render2 = (item) => item.children ? h("li", {}, h("details", { open: item.open || undefined }, [ + h("summary", {}, getBy(item)), + h("ul", {}, each(() => val(item.children) || [], render2)) + ])) : h("li", {}, h("a", { href: item.href, onclick: item.onclick ? (e) => { if (!item.href) @@ -993,93 +1129,93 @@ item.onclick(e); } : null }, getBy(item))); - return A("ul", { class: cls("menu", p.class) }, H(() => val(items) || [], render)); + return h("ul", { class: cls("menu", p.class) }, each(() => val(items) || [], render2)); }; var Modal = (p) => { let dialogRef = null; - C(() => { + watch(() => { const isOpen = val(p.open); if (!dialogRef) return; isOpen ? dialogRef.showModal() : dialogRef.hide(); }); - const close = () => _(p.open) && p.open(false); - return A("dialog", { + const close = () => isFunc(p.open) && p.open(false); + return h("dialog", { ...p, ref: (el) => dialogRef = el, class: cls("modal", p.class), onclose: close, oncancel: close }, [ - A("div", { class: "modal-box" }, [ - p.title && A("h3", { class: "text-lg font-bold" }, p.title), + h("div", { class: "modal-box" }, [ + p.title && h("h3", { class: "text-lg font-bold" }, p.title), p.children, - A("div", { class: "modal-action" }, [ + h("div", { class: "modal-action" }, [ p.actions || Button({ class: "btn", onclick: close }, "Cerrar") ]) ]), - A("form", { method: "dialog", class: "modal-backdrop" }, [ - A("button", {}, "close") + h("form", { method: "dialog", class: "modal-backdrop" }, [ + h("button", {}, "close") ]) ]); }; - var Navbar = (p, c) => A("div", { ...p, class: cls("navbar", p.class) }, c); - var Progress = (p) => A("progress", { ...p, class: cls("progress", p.class) }); - var Radial = (p, c) => A("div", { class: cls("radial-progress", p.class), style: `--value:${val(p.value) ?? 0};`, role: "progressbar", "aria-valuenow": p.value }, c); - var Radio = (p) => A("input", { ...p, type: "radio", class: cls("radio", p.class) }); - var Range = (p) => A("input", { ...p, type: "range", class: cls("range", p.class) }); - var Rating = (p, c) => A("div", { ...p, class: "rating" }, c); - var RatingItems = (p) => [...Array(p.count)].map((_2, i) => A("input", { class: cls("mask", p.class), name: p.name, type: "radio", checked: () => val(p.value) === i, onchange: () => _(p.value) ? p.value(i) : p.onchange?.(i) })); + var Navbar = (p, c) => h("div", { ...p, class: cls("navbar", p.class) }, c); + var Progress = (p) => h("progress", { ...p, class: cls("progress", p.class) }); + var Radial = (p, c) => h("div", { class: cls("radial-progress", p.class), style: `--value:${val(p.value) ?? 0};`, role: "progressbar", "aria-valuenow": p.value }, c); + var Radio = (p) => h("input", { ...p, type: "radio", class: cls("radio", p.class) }); + var Range = (p) => h("input", { ...p, type: "range", class: cls("range", p.class) }); + var Rating = (p, c) => h("div", { ...p, class: "rating" }, c); + var RatingItems = (p) => [...Array(p.count)].map((_, i) => h("input", { class: cls("mask", p.class), name: p.name, type: "radio", checked: () => val(p.value) === i, onchange: () => isFunc(p.value) ? p.value(i) : p.onchange?.(i) })); var Select = (p, c) => { if (c !== undefined) - return A("select", { class: cls("select", p.class), ...p }, c); + return h("select", { class: cls("select", p.class), ...p }, c); const { label: label2, float, placeholder, placeholderDisabled = true, value, left, right, hint, items, keyFn, ...rest } = p; const opts = () => { const raw = val(items) || []; const ph = placeholder ? [{ disabled: placeholderDisabled, label: placeholder, value: "" }] : []; return [...ph, ...raw]; }; - return A("label", { class: float ? "floating-label" : "" }, [ - float ? A("span", {}, label2) : null, - A("label", { class: cls("select", rest.class) }, [ - !float && label2 ? A("span", { class: "label" }, label2) : null, + return h("label", { class: float ? "floating-label" : "" }, [ + float ? h("span", {}, label2) : null, + h("label", { class: cls("select", rest.class) }, [ + !float && label2 ? h("span", { class: "label" }, label2) : null, left ?? null, - A("select", { + h("select", { value: () => val(value), - onchange: (e) => _(value) ? value(e.target.value) : rest.onchange?.(e) - }, H(opts, (item) => { + onchange: (e) => isFunc(value) ? value(e.target.value) : rest.onchange?.(e) + }, each(opts, (item) => { const val2 = getBy(item, item.value !== undefined ? "value" : undefined); const lab = getBy(item, "label"); - return A("option", { value: val2, disabled: item.disabled || undefined }, lab); + return h("option", { value: val2, disabled: item.disabled || undefined }, lab); })), right ?? null ]), - hint ? A("div", { class: "validator-hint" }, hint) : null + hint ? h("div", { class: "validator-hint" }, hint) : null ]); }; - var Skeleton = (p) => A("div", { ...p, class: cls("skeleton", p.class) }); - var SkeletonText = (p) => A("span", { ...p, class: cls("skeleton skeleton-text", p.class) }); - var Stack = (p, c) => A("div", { ...p, class: cls("stack", p.class) }, c); - var Stats = (p, c) => A("div", { ...p, class: cls("stats shadow", p.class) }, c); - var Stat = (p) => A("div", { ...p, class: cls("stat", p.class) }, [ - p.title ? A("div", { class: "stat-title" }, p.title) : null, - p.value ? A("div", { class: "stat-value" }, p.value) : null, - p.desc ? A("div", { class: "stat-desc" }, p.desc) : null + var Skeleton = (p) => h("div", { ...p, class: cls("skeleton", p.class) }); + var SkeletonText = (p) => h("span", { ...p, class: cls("skeleton skeleton-text", p.class) }); + var Stack = (p, c) => h("div", { ...p, class: cls("stack", p.class) }, c); + var Stats = (p, c) => h("div", { ...p, class: cls("stats shadow", p.class) }, c); + var Stat = (p) => h("div", { ...p, class: cls("stat", p.class) }, [ + p.title ? h("div", { class: "stat-title" }, p.title) : null, + p.value ? h("div", { class: "stat-value" }, p.value) : null, + p.desc ? h("div", { class: "stat-desc" }, p.desc) : null ]); - var Steps = (p, c) => A("ul", { ...p, class: cls("steps", p.class) }, c); - var Step = (p, c) => A("li", { ...p, class: cls("step", p.class), "data-content": p.dataContent }, c); - var Swap = (p, c) => A("label", { ...p, class: cls("swap", p.class) }, c); - var SwapToggle = (p) => A("input", { type: "checkbox", checked: () => val(p.value), onchange: (e) => _(p.value) && p.value(e.target.checked), class: p.class }); - var SwapOn = (p, c) => A("div", { ...p, class: cls("swap-on", p.class) }, c); - var SwapOff = (p, c) => A("div", { ...p, class: cls("swap-off", p.class) }, c); - var Table = (p, c) => A("table", { ...p, class: cls("table", p.class) }, c); + var Steps = (p, c) => h("ul", { ...p, class: cls("steps", p.class) }, c); + var Step = (p, c) => h("li", { ...p, class: cls("step", p.class), "data-content": p.dataContent }, c); + var Swap = (p, c) => h("label", { ...p, class: cls("swap", p.class) }, c); + var SwapToggle = (p) => h("input", { type: "checkbox", checked: () => val(p.value), onchange: (e) => isFunc(p.value) && p.value(e.target.checked), class: p.class }); + var SwapOn = (p, c) => h("div", { ...p, class: cls("swap-on", p.class) }, c); + var SwapOff = (p, c) => h("div", { ...p, class: cls("swap-off", p.class) }, c); + var Table = (p, c) => h("table", { ...p, class: cls("table", p.class) }, c); var TableItems = ({ items, columns = [], header = true }) => { - const head = header !== false && columns.some((c) => c.label) ? A("thead", {}, A("tr", {}, columns.map((c) => A("th", { class: c.class }, c.label)))) : null; - const body = A("tbody", {}, () => { + const head = header !== false && columns.some((c) => c.label) ? h("thead", {}, h("tr", {}, columns.map((c) => h("th", { class: c.class }, c.label)))) : null; + const body = h("tbody", {}, () => { const list = val(items) || []; - return list.map((it, idx) => A("tr", {}, columns.map((c) => { - const v2 = c.render ? c.render(it, idx) : it[c.key]; - return A("td", { class: c.class }, v2); + return list.map((it, idx) => h("tr", {}, columns.map((c) => { + const v = c.render ? c.render(it, idx) : it[c.key]; + return h("td", { class: c.class }, v); }))); }); return [head, body].filter(Boolean); @@ -1087,22 +1223,22 @@ var Tabs = (p, c) => { if (!p.items) { const { class: className2, ...rest2 } = p; - return A("div", { ...rest2, class: cls("tabs", className2) }, c); + return h("div", { ...rest2, class: cls("tabs", className2) }, c); } const { items, activeIndex, onClose, class: className, ...rest } = p; - const get = (x2) => _(x2) ? x2() : x2; - const closeH = onClose || (_(items) ? (idx, item) => { + const get = (x) => isFunc(x) ? x() : x; + const closeH = onClose || (isFunc(items) ? (idx, item) => { const arr = val(items); - const newArr = arr.filter((_2, i) => i !== idx); + const newArr = arr.filter((_, i) => i !== idx); items(newArr); if (activeIndex() >= newArr.length) activeIndex(Math.max(0, newArr.length - 1)); } : null); - return A("div", { ...rest, class: cls("tabs", className) }, () => { + return h("div", { ...rest, class: cls("tabs", className) }, () => { const list = val(items) || []; return list.flatMap((it, idx) => { const isActive = () => activeIndex() === idx; - const button = A("button", { + const button = h("button", { class: () => `tab ${isActive() ? "tab-active" : ""} ${it.class || ""}`, onclick: (e) => { e.preventDefault(); @@ -1111,40 +1247,40 @@ } }, [ getBy(it), - it.closable ? A("span", { + it.closable ? h("span", { class: "ml-1 inline-flex items-center justify-center w-4 h-4 rounded-full hover:bg-base-300 text-base-content/60 hover:text-base-content cursor-pointer", onclick: (e) => { e.stopPropagation(); closeH?.(idx, it); } - }, A("span", { class: "icon-[lucide--x] w-3 h-3" })) : null + }, h("span", { class: "icon-[lucide--x] w-3 h-3" })) : null ]); - const contentDiv = A("div", { + const contentDiv = h("div", { class: "tab-content bg-base-100 border-base-300 p-6", style: () => `display: ${isActive() ? "block" : "none"};` - }, _(it.content) ? it.content() : it.content); + }, isFunc(it.content) ? it.content() : it.content); return [button, contentDiv]; }); }); }; - var Textarea = (p) => A("textarea", { ...p, class: cls("textarea", p.class) }); - var Textrotate = (p, c) => A("span", { ...p, class: cls("text-rotate", p.class) }, A("span", {}, c)); - var Timeline = (p, c) => A("ul", { ...p, class: cls("timeline", p.class) }, c); + var Textarea = (p) => h("textarea", { ...p, class: cls("textarea", p.class) }); + var Textrotate = (p, c) => h("span", { ...p, class: cls("text-rotate", p.class) }, h("span", {}, c)); + var Timeline = (p, c) => h("ul", { ...p, class: cls("timeline", p.class) }, c); var Toast = (message, type = "alert-success", duration = 3500) => { let container = document.getElementById("sigpro-toast-container"); if (!container) { - container = A("div", { + container = h("div", { id: "sigpro-toast-container", class: "fixed top-0 right-0 z-[9999] p-4 flex flex-col items-end gap-2 pointer-events-none" }); document.body.appendChild(container); } - const host = A("div", { style: "display: contents" }); + const host = h("div", { style: "display: contents" }); container.appendChild(host); let closeFn, timer, enterTimer; const ToastComponent = () => { - const visible = P(false); - const leaving = P(false); + const visible = $(false); + const leaving = $(false); closeFn = () => { if (leaving()) return; @@ -1160,8 +1296,8 @@ }; enterTimer = setTimeout(() => visible(true), 0); const content = typeof message === "function" ? val(message) : message; - const msgNode = typeof content === "string" ? A("span", {}, content) : content; - return A("div", { + const msgNode = typeof content === "string" ? h("span", {}, content) : content; + return h("div", { class: () => { const base = `alert alert-soft ${type} shadow-lg transition-all duration-300 inline-flex w-auto whitespace-nowrap pointer-events-auto`; if (leaving()) @@ -1172,28 +1308,28 @@ } }, [ msgNode, - A("button", { + h("button", { class: "btn btn-xs btn-circle btn-ghost", onclick: closeFn - }, A("span", { class: "icon-[lucide--x]" })) + }, h("span", { class: "icon-[lucide--x]" })) ]); }; - const instance = Y(ToastComponent, host); + const instance = mount(ToastComponent, host); if (duration > 0) timer = setTimeout(closeFn, duration); return closeFn; }; - var Toggle = (p) => A("input", { ...p, type: "checkbox", class: cls("toggle", p.class) }); - var Tooltip = (p, c) => A("div", { ...p, class: cls("tooltip", p.class), "data-tip": p.tip }, c); + var Toggle = (p) => h("input", { ...p, type: "checkbox", class: cls("toggle", p.class) }); + var Tooltip = (p, c) => h("div", { ...p, class: cls("tooltip", p.class), "data-tip": p.tip }, c); var Editor = (p) => { const { value, class: extraClass } = p; let editorRef = null; let savedRange = null; - const isSource = P(false); - const source = P(""); - const count = P(0); - const refreshTick = P(0); - const showEmojis = P(false); + const isSource = $(false); + const source = $(""); + const count = $(0); + const refreshTick = $(0); + const showEmojis = $(false); const emojis = ["\uD83D\uDE00", "\uD83D\uDE0A", "\uD83D\uDE09", "\uD83E\uDDD0", "\uD83D\uDE2E", "\uD83E\uDD14", "\uD83D\uDE05", "\uD83D\uDE02", "\uD83D\uDE0D", "\uD83D\uDE18", "\uD83E\uDD70", "\uD83D\uDC4D", "\uD83D\uDC4E", "\uD83D\uDC4C", "\uD83E\uDD1D", "\uD83E\uDD1E", "\uD83D\uDC4B", "\uD83D\uDC4F", "\uD83D\uDE4C", "\uD83D\uDE4F", "\uD83D\uDCAA", "☝️", "\uD83D\uDC47", "\uD83D\uDC48", "\uD83D\uDC49", "\uD83D\uDD95", "✅", "⚠️", "\uD83D\uDE80", "\uD83D\uDCE2", "✉️", "❤️"]; const saveSelection = () => { const sel = window.getSelection(); @@ -1216,7 +1352,7 @@ if (!editorRef) return; const html = editorRef.innerHTML; - if (_(value)) + if (isFunc(value)) value(html); else p.onchange?.(html); @@ -1276,63 +1412,63 @@ return false; } }; - const toolbar = A("div", { class: "flex flex-wrap items-center gap-1 p-2 border-b border-base-300 bg-base-200 sticky top-0 z-20" }, [ - A("div", { class: "flex flex-wrap gap-1 flex-1 items-center" }, [ - A("button", { type: "button", class: () => `btn btn-ghost btn-xs ${queryState("bold") ? "btn-active bg-primary/20" : ""}`, onclick: () => exec("bold") }, A("span", { class: "icon-[lucide--bold]" })), - A("button", { type: "button", class: () => `btn btn-ghost btn-xs ${queryState("italic") ? "btn-active bg-primary/20" : ""}`, onclick: () => exec("italic") }, A("span", { class: "icon-[lucide--italic]" })), - A("button", { type: "button", class: () => `btn btn-ghost btn-xs ${queryState("underline") ? "btn-active bg-primary/20" : ""}`, onclick: () => exec("underline") }, A("span", { class: "icon-[lucide--underline]" })), - A("input", { type: "color", class: "w-5 h-5 p-0 border-0 bg-transparent cursor-pointer", oninput: (e) => exec("foreColor", e.target.value) }), - A("span", { class: "w-px h-5 bg-base-300 mx-1" }), - A("button", { + const toolbar = h("div", { class: "flex flex-wrap items-center gap-1 p-2 border-b border-base-300 bg-base-200 sticky top-0 z-20" }, [ + h("div", { class: "flex flex-wrap gap-1 flex-1 items-center" }, [ + h("button", { type: "button", class: () => `btn btn-ghost btn-xs ${queryState("bold") ? "btn-active bg-primary/20" : ""}`, onclick: () => exec("bold") }, h("span", { class: "icon-[lucide--bold]" })), + h("button", { type: "button", class: () => `btn btn-ghost btn-xs ${queryState("italic") ? "btn-active bg-primary/20" : ""}`, onclick: () => exec("italic") }, h("span", { class: "icon-[lucide--italic]" })), + h("button", { type: "button", class: () => `btn btn-ghost btn-xs ${queryState("underline") ? "btn-active bg-primary/20" : ""}`, onclick: () => exec("underline") }, h("span", { class: "icon-[lucide--underline]" })), + h("input", { type: "color", class: "w-5 h-5 p-0 border-0 bg-transparent cursor-pointer", oninput: (e) => exec("foreColor", e.target.value) }), + h("span", { class: "w-px h-5 bg-base-300 mx-1" }), + h("button", { type: "button", class: "btn btn-ghost btn-xs", onclick: () => exec("justifyLeft") - }, A("span", { class: "icon-[lucide--align-left]" })), - A("button", { + }, h("span", { class: "icon-[lucide--align-left]" })), + h("button", { type: "button", class: "btn btn-ghost btn-xs", onclick: () => exec("justifyCenter") - }, A("span", { class: "icon-[lucide--align-center]" })), - A("button", { + }, h("span", { class: "icon-[lucide--align-center]" })), + h("button", { type: "button", class: "btn btn-ghost btn-xs", onclick: () => exec("justifyRight") - }, A("span", { class: "icon-[lucide--align-right]" })), - A("span", { class: "w-px h-5 bg-base-300 mx-1" }), - A("button", { type: "button", class: "btn btn-ghost btn-xs", onclick: () => exec("insertUnorderedList") }, A("span", { class: "icon-[lucide--list]" })), - A("button", { type: "button", class: "btn btn-ghost btn-xs", onclick: () => exec("insertOrderedList") }, A("span", { class: "icon-[lucide--list-ordered]" })), - A("button", { type: "button", class: "btn btn-ghost btn-xs", onclick: () => exec("outdent") }, A("span", { class: "icon-[lucide--indent-decrease]" })), - A("button", { type: "button", class: "btn btn-ghost btn-xs", onclick: () => exec("indent") }, A("span", { class: "icon-[lucide--indent-increase]" })), - A("button", { type: "button", class: () => `btn btn-ghost btn-xs ${queryState("formatBlock", "BLOCKQUOTE") ? "btn-active" : ""}`, onclick: () => exec("formatBlock", queryState("formatBlock", "BLOCKQUOTE") ? "P" : "BLOCKQUOTE") }, A("span", { class: "icon-[lucide--quote]" })), - A("span", { class: "w-px h-5 bg-base-300 mx-1" }), - A("button", { type: "button", class: "btn btn-ghost btn-xs", onclick: () => { + }, h("span", { class: "icon-[lucide--align-right]" })), + h("span", { class: "w-px h-5 bg-base-300 mx-1" }), + h("button", { type: "button", class: "btn btn-ghost btn-xs", onclick: () => exec("insertUnorderedList") }, h("span", { class: "icon-[lucide--list]" })), + h("button", { type: "button", class: "btn btn-ghost btn-xs", onclick: () => exec("insertOrderedList") }, h("span", { class: "icon-[lucide--list-ordered]" })), + h("button", { type: "button", class: "btn btn-ghost btn-xs", onclick: () => exec("outdent") }, h("span", { class: "icon-[lucide--indent-decrease]" })), + h("button", { type: "button", class: "btn btn-ghost btn-xs", onclick: () => exec("indent") }, h("span", { class: "icon-[lucide--indent-increase]" })), + h("button", { type: "button", class: () => `btn btn-ghost btn-xs ${queryState("formatBlock", "BLOCKQUOTE") ? "btn-active" : ""}`, onclick: () => exec("formatBlock", queryState("formatBlock", "BLOCKQUOTE") ? "P" : "BLOCKQUOTE") }, h("span", { class: "icon-[lucide--quote]" })), + h("span", { class: "w-px h-5 bg-base-300 mx-1" }), + h("button", { type: "button", class: "btn btn-ghost btn-xs", onclick: () => { const url = window.prompt("URL:"); if (url) exec("createLink", url); - } }, A("span", { class: "icon-[lucide--link]" })), - A("button", { type: "button", class: "btn btn-ghost btn-xs", onclick: () => { + } }, h("span", { class: "icon-[lucide--link]" })), + h("button", { type: "button", class: "btn btn-ghost btn-xs", onclick: () => { const input2 = document.createElement("input"); input2.type = "file"; input2.onchange = (e) => handleUpload(e.target.files[0]); input2.click(); - } }, A("span", { class: "icon-[lucide--paperclip]" })), - A("div", { class: "relative" }, [ - A("button", { type: "button", class: "btn btn-ghost btn-xs", onclick: (e) => { + } }, h("span", { class: "icon-[lucide--paperclip]" })), + h("div", { class: "relative" }, [ + h("button", { type: "button", class: "btn btn-ghost btn-xs", onclick: (e) => { e.stopPropagation(); saveSelection(); showEmojis(!showEmojis()); - } }, A("span", { class: "icon-[lucide--smile]" })), - A("div", { class: "absolute top-full left-0 mt-1 p-2 bg-base-100 border border-base-300 shadow-xl rounded-box w-52 z-50 flex flex-wrap gap-1", style: () => showEmojis() ? "display:flex" : "display:none" }, emojis.map((emo) => A("span", { class: "cursor-pointer hover:bg-base-200 p-1 rounded text-lg", onclick: (e) => { + } }, h("span", { class: "icon-[lucide--smile]" })), + h("div", { class: "absolute top-full left-0 mt-1 p-2 bg-base-100 border border-base-300 shadow-xl rounded-box w-52 z-50 flex flex-wrap gap-1", style: () => showEmojis() ? "display:flex" : "display:none" }, emojis.map((emo) => h("span", { class: "cursor-pointer hover:bg-base-200 p-1 rounded text-lg", onclick: (e) => { e.stopPropagation(); exec("insertText", emo); showEmojis(false); } }, emo))) ]), - A("span", { class: "w-px h-5 bg-base-300 mx-1" }), - A("button", { type: "button", class: "btn btn-ghost btn-xs", onclick: () => exec("undo") }, A("span", { class: "icon-[lucide--undo-2]" })), - A("button", { type: "button", class: "btn btn-ghost btn-xs", onclick: () => exec("redo") }, A("span", { class: "icon-[lucide--redo-2]" })) + h("span", { class: "w-px h-5 bg-base-300 mx-1" }), + h("button", { type: "button", class: "btn btn-ghost btn-xs", onclick: () => exec("undo") }, h("span", { class: "icon-[lucide--undo-2]" })), + h("button", { type: "button", class: "btn btn-ghost btn-xs", onclick: () => exec("redo") }, h("span", { class: "icon-[lucide--redo-2]" })) ]), - A("button", { type: "button", class: () => `btn btn-ghost btn-xs ${isSource() ? "btn-active" : ""}`, onclick: () => { + h("button", { type: "button", class: () => `btn btn-ghost btn-xs ${isSource() ? "btn-active" : ""}`, onclick: () => { if (!isSource()) source(editorRef?.innerHTML || ""); else if (editorRef) { @@ -1340,7 +1476,7 @@ notify(); } isSource(!isSource()); - } }, A("span", { class: "icon-[lucide--code-2]" })) + } }, h("span", { class: "icon-[lucide--code-2]" })) ]); if (typeof document !== "undefined" && !document.getElementById("editor-styles")) { const style = document.createElement("style"); @@ -1354,10 +1490,10 @@ `; document.head.appendChild(style); } - return A("div", { class: cls("border border-base-300 rounded-box bg-base-100 overflow-hidden shadow-sm flex flex-col", extraClass) }, [ + return h("div", { class: cls("border border-base-300 rounded-box bg-base-100 overflow-hidden shadow-sm flex flex-col", extraClass) }, [ toolbar, - A("div", { class: "relative flex-1 flex flex-col", onclick: () => showEmojis(false) }, [ - A("div", { + h("div", { class: "relative flex-1 flex flex-col", onclick: () => showEmojis(false) }, [ + h("div", { ref: (el) => { if (!editorRef && el) { editorRef = el; @@ -1407,7 +1543,7 @@ handleUpload(e.dataTransfer.files[0]); } }), - A("textarea", { + h("textarea", { class: "w-full flex-1 min-h-[22rem] p-4 outline-none font-mono text-sm bg-base-200 border-0", style: () => isSource() ? "" : "display:none", value: source, @@ -1419,8 +1555,8 @@ } }) ]), - A("div", { class: "px-3 py-1 border-t border-base-300 bg-base-100/50 text-[10px] text-right text-base-content/60 italic" }, [ - A("span", () => `${count()}`) + h("div", { class: "px-3 py-1 border-t border-base-300 bg-base-100/50 text-[10px] text-right text-base-content/60 italic" }, [ + h("span", () => `${count()}`) ]) ]); }; diff --git a/dist/sigpro-ui.min.css b/dist/sigpro-ui.min.css index bcbd1ce..59c2153 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-space-y-reverse:0;--tw-space-x-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}}}@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-black:#000;--spacing:.25rem;--container-xs:20rem;--container-md:28rem;--container-2xl:42rem;--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-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-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-semibold:600;--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-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}.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}}.validator-hint{visibility:hidden;margin-top:.5rem;font-size:.75rem}.validator:user-valid{--input-color:var(--color-success)}.validator:user-valid:focus{--input-color:var(--color-success)}.validator:user-valid:checked{--input-color:var(--color-success)}.validator:user-valid[aria-checked=true]{--input-color:var(--color-success)}.validator:user-valid:focus-within{--input-color:var(--color-success)}.validator:has(:user-valid){--input-color:var(--color-success)}.validator:has(:user-valid):focus{--input-color:var(--color-success)}.validator:has(:user-valid):checked{--input-color:var(--color-success)}.validator:has(:user-valid)[aria-checked=true]{--input-color:var(--color-success)}.validator:has(:user-valid):focus-within{--input-color:var(--color-success)}.validator:user-invalid{--input-color:var(--color-error)}.validator:user-invalid:focus{--input-color:var(--color-error)}.validator:user-invalid:checked{--input-color:var(--color-error)}.validator:user-invalid[aria-checked=true]{--input-color:var(--color-error)}.validator:user-invalid:focus-within{--input-color:var(--color-error)}.validator:user-invalid~.validator-hint{visibility:visible;color:var(--color-error)}.validator:has(:user-invalid){--input-color:var(--color-error)}.validator:has(:user-invalid):focus{--input-color:var(--color-error)}.validator:has(:user-invalid):checked{--input-color:var(--color-error)}.validator:has(:user-invalid)[aria-checked=true]{--input-color:var(--color-error)}.validator:has(:user-invalid):focus-within{--input-color:var(--color-error)}.validator:has(:user-invalid)~.validator-hint{visibility:visible;color:var(--color-error)}:is(.validator[aria-invalid]:not([aria-invalid=false]),.validator:has([aria-invalid]:not([aria-invalid=false]))),:is(.validator[aria-invalid]:not([aria-invalid=false]),.validator:has([aria-invalid]:not([aria-invalid=false]))):focus,:is(.validator[aria-invalid]:not([aria-invalid=false]),.validator:has([aria-invalid]:not([aria-invalid=false]))):checked,:is(.validator[aria-invalid]:not([aria-invalid=false]),.validator:has([aria-invalid]:not([aria-invalid=false])))[aria-checked=true],:is(.validator[aria-invalid]:not([aria-invalid=false]),.validator:has([aria-invalid]:not([aria-invalid=false]))):focus-within{--input-color:var(--color-error)}:is(.validator[aria-invalid]:not([aria-invalid=false]),.validator:has([aria-invalid]:not([aria-invalid=false])))~.validator-hint{visibility:visible;color:var(--color-error)}.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)}}.toast{translate:var(--toast-x,0) var(--toast-y,0);inset-inline:auto 1rem;background-color:#0000;flex-direction:column;gap:.5rem;width:max-content;max-width:calc(100vw - 2rem);display:flex;position:fixed;top:auto;bottom:1rem}@media (prefers-reduced-motion:no-preference){.toast>*{animation:.25s ease-out toast}}.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}.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}.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}.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}.breadcrumbs{max-width:100%;padding-block:.5rem;overflow-x:auto}.breadcrumbs>menu,.breadcrumbs>ul,.breadcrumbs>ol{white-space:nowrap;align-items:center;min-height:min-content;display:flex}:is(.breadcrumbs>menu,.breadcrumbs>ul,.breadcrumbs>ol)>li{align-items:center;display:flex}:is(.breadcrumbs>menu,.breadcrumbs>ul,.breadcrumbs>ol)>li>*{cursor:pointer;align-items:center;gap:.5rem;display:flex}@media (hover:hover){:is(.breadcrumbs>menu,.breadcrumbs>ul,.breadcrumbs>ol)>li>:hover{text-decoration-line:underline}}:is(.breadcrumbs>menu,.breadcrumbs>ul,.breadcrumbs>ol)>li>:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){:is(.breadcrumbs>menu,.breadcrumbs>ul,.breadcrumbs>ol)>li>:focus{outline-offset:2px;outline:2px solid #0000}}:is(.breadcrumbs>menu,.breadcrumbs>ul,.breadcrumbs>ol)>li>:focus-visible{outline-offset:2px;outline:2px solid}:is(.breadcrumbs>menu,.breadcrumbs>ul,.breadcrumbs>ol)>li+:before{content:"";opacity:.4;background-color:#0000;border-top:1px solid;border-right:1px solid;width:.375rem;height:.375rem;margin-inline:.5rem .75rem;display:block;rotate:45deg}[dir=rtl] :is(:is(.breadcrumbs>menu,.breadcrumbs>ul,.breadcrumbs>ol)>li)+:before{rotate:-135deg}.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}.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}.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}.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}.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}.avatar-group{display:flex;overflow:hidden}.avatar-group .avatar{border:4px solid var(--color-base-100);border-radius:3.40282e38px;overflow:hidden}.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-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)}}@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)}}@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)}.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)}.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}:where(.navbar){position:relative}.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)}.chat-end{grid-template-columns:1fr auto;place-items:end}.chat-end .chat-header,.chat-end .chat-footer{grid-column-start:1}.chat-end .chat-image{grid-column-start:2}.chat-end .chat-bubble{border-end-end-radius:0;grid-column-start:1}.chat-end .chat-bubble:before{inset-inline-start:100%;transform:rotateY(180deg)}[dir=rtl] :is(.chat-end .chat-bubble):before{transform:rotateY(0)}.chat-start{grid-template-columns:auto 1fr;place-items:start}.chat-start .chat-header,.chat-start .chat-footer{grid-column-start:2}.chat-start .chat-image{grid-column-start:1}.chat-start .chat-bubble{border-end-start-radius:0;grid-column-start:2}.chat-start .chat-bubble:before{inset-inline-start:-.75rem;transform:rotateY(0)}[dir=rtl] :is(.chat-start .chat-bubble):before{transform:rotateY(180deg)}.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}.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%}.steps-horizontal{grid-auto-columns:1fr;grid-auto-flow:column;display:inline-grid;overflow:auto hidden}.steps-horizontal .step{text-align:center;grid-template-rows:40px 1fr;grid-template-columns:auto;place-items:center;min-width:4rem;display:grid}.steps-horizontal .step:before{width:100%;height:.5rem;margin-inline-start:-100%;translate:0}[dir=rtl] :is(.steps-horizontal .step):before{translate:0}.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}.loading-lg{width:calc(var(--size-selector,.25rem) * 7)}.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}.carousel-vertical{scroll-snap-type:y mandatory;flex-direction:column;overflow-y:scroll}.badge-ghost{border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content);background-image:none}.badge-outline{color:var(--badge-color);--badge-bg:#0000;background-image:none;border-color:currentColor}.skeleton-text{webkit-background-clip:text;color:#0000;-webkit-background-clip:text;background-clip:text;background-image:linear-gradient(105deg, var(--color-base-content) 0% 40%, var(--color-base-content) 50%, var(--color-base-content) 60% 100%)}@supports (color:color-mix(in lab, red, red)){.skeleton-text{background-image:linear-gradient(105deg, color-mix(in oklab, var(--color-base-content) 20%, transparent) 0% 40%, var(--color-base-content) 50%, color-mix(in oklab, var(--color-base-content) 20%, transparent) 60% 100%)}}.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-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")}.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)}.tooltip-primary{--tt-bg:var(--color-primary)}.tooltip-primary>.tooltip-content,.tooltip-primary[data-tip]:before{color:var(--color-primary-content)}.btn-lg{--fontsize:1.125rem;--btn-p:1.25rem;--size:calc(var(--size-field,.25rem) * 12)}.btn-sm{--fontsize:.75rem;--btn-p:.75rem;--size:calc(var(--size-field,.25rem) * 8)}.btn-xs{--fontsize:.6875rem;--btn-p:.5rem;--size:calc(var(--size-field,.25rem) * 6)}.badge-error{--badge-color:var(--color-error);--badge-fg:var(--color-error-content)}.badge-success{--badge-color:var(--color-success);--badge-fg:var(--color-success-content)}.range-sm{--range-thumb-size:calc(var(--size-selector,.25rem) * 5)}.range-xs{--range-thumb-size:calc(var(--size-selector,.25rem) * 4)}.toggle-primary:checked,.toggle-primary[aria-checked=true]{--input-color:var(--color-primary)}}.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}.validator:user-invalid~.validator-hint{display:revert-layer}.validator:has(:user-invalid)~.validator-hint{display:revert-layer}:is(.validator[aria-invalid]:not([aria-invalid=false]),.validator:has([aria-invalid]:not([aria-invalid=false])))~.validator-hint{display:revert-layer}.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-0{top:calc(var(--spacing) * 0)}.top-10{top:calc(var(--spacing) * 10)}.top-full{top:100%}.right-0{right:calc(var(--spacing) * 0)}.right-1\/4{right:25%}.bottom-10{bottom:calc(var(--spacing) * 10)}.left-0{left:calc(var(--spacing) * 0)}.left-1\/2{left:50%}.left-1\/4{left:25%}.-z-0{z-index:calc(0 * -1)}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[9999\]{z-index:9999}.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}}.mx-1{margin-inline:calc(var(--spacing) * 1)}.mx-auto{margin-inline:auto}.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)}.-mr-2{margin-right:calc(var(--spacing) * -2)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-2{margin-left:calc(var(--spacing) * 2)}.icon-\[lucide--align-center\]{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='M17 12H7m12 6H5M21 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--align-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 12H3m14 6H3M21 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--align-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='M21 12H9m12 6H7M21 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--bell\]{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='M10.268 21a2 2 0 0 0 3.464 0m-10.47-5.674A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326'/%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--bold\]{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 12h9a4 4 0 0 1 0 8H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h7a4 4 0 0 1 0 8'/%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\]{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--clock\]{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 6v6l4 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--code-2\]{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 16l4-4l-4-4M6 8l-4 4l4 4m8.5-12l-5 16'/%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--home\]{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='M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8'/%3E%3Cpath d='M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%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--indent-decrease\]{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 12H11m10 6H11M21 6H11M7 8l-4 4l4 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--indent-increase\]{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 12H11m10 6H11M21 6H11M3 8l4 4l-4 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--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--italic\]{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='M19 4h-9m4 16H5M15 4L9 20'/%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--list-ordered\]{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 5h10m-10 7h10m-10 7h10M4 4h1v5M4 9h2m.5 11H3.4c0-1 2.6-1.925 2.6-3.5a1.5 1.5 0 0 0-2.6-1.02'/%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--list\]{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='M3 5h.01M3 12h.01M3 19h.01M8 5h13M8 12h13M8 19h13'/%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--menu\]{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 5h16M4 12h16M4 19h16'/%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--moon\]{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.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401'/%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--paperclip\]{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='m16 6l-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551'/%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--quote\]{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='M16 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2a1 1 0 0 1 1 1v1a2 2 0 0 1-2 2a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1a6 6 0 0 0 6-6V5a2 2 0 0 0-2-2zM5 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2a1 1 0 0 1 1 1v1a2 2 0 0 1-2 2a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1a6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z'/%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--redo-2\]{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='m15 14l5-5l-5-5'/%3E%3Cpath d='M20 9H9.5A5.5 5.5 0 0 0 4 14.5A5.5 5.5 0 0 0 9.5 20H13'/%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--settings\]{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='M9.671 4.136a2.34 2.34 0 0 1 4.659 0a2.34 2.34 0 0 0 3.319 1.915a2.34 2.34 0 0 1 2.33 4.033a2.34 2.34 0 0 0 0 3.831a2.34 2.34 0 0 1-2.33 4.033a2.34 2.34 0 0 0-3.319 1.915a2.34 2.34 0 0 1-4.659 0a2.34 2.34 0 0 0-3.32-1.915a2.34 2.34 0 0 1-2.33-4.033a2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915'/%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--smile\]{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='M8 14s1.5 2 4 2s4-2 4-2M9 9h.01M15 9h.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--sun\]{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='4'/%3E%3Cpath d='M12 2v2m0 16v2M4.93 4.93l1.41 1.41m11.32 11.32l1.41 1.41M2 12h2m16 0h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41'/%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--underline\]{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 4v6a6 6 0 0 0 12 0V4M4 20h16'/%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--undo-2\]{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='M9 14L4 9l5-5'/%3E%3Cpath d='M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11'/%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--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--user\]{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='M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='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--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{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.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{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-12{height:calc(var(--spacing) * 12)}.h-20{height:calc(var(--spacing) * 20)}.h-32{height:calc(var(--spacing) * 32)}.h-48{height:calc(var(--spacing) * 48)}.h-96{height:calc(var(--spacing) * 96)}.h-auto{height:auto}.h-full{height:100%}.max-h-60{max-height:calc(var(--spacing) * 60)}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-\[22rem\]{min-height:22rem}.min-h-full{min-height:100%}.w-3{width:calc(var(--spacing) * 3)}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-24{width:calc(var(--spacing) * 24)}.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-60{width:calc(var(--spacing) * 60)}.w-64{width:calc(var(--spacing) * 64)}.w-80{width:calc(var(--spacing) * 80)}.w-96{width:calc(var(--spacing) * 96)}.w-auto{width:auto}.w-full{width:100%}.w-px{width:1px}.w-xs{width:var(--container-xs)}.max-w-2xl{max-width:var(--container-2xl)}.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)}.min-w-\[48px\]{min-width:48px}.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-0{--tw-translate-x:calc(var(--spacing) * 0);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)}.scale-110{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.animate-pulse{animation:var(--animate-pulse)}.cursor-pointer{cursor:pointer}.grid-cols-1{grid-template-columns:repeat(1,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-nowrap{flex-wrap:nowrap}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.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}.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-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-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)))}:where(.-space-x-6>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * -6) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * -6) * calc(1 - var(--tw-space-x-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.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)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.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-primary{border-color:var(--color-primary)}.bg-base-100,.bg-base-100\/50{background-color:var(--color-base-100)}@supports (color:color-mix(in lab, red, red)){.bg-base-100\/50{background-color:color-mix(in oklab, var(--color-base-100) 50%, transparent)}}.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-primary,.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-transparent{background-color:#0000}.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))}@layer daisyui.l1{.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-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}}}.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-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))}.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-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-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)}.pl-3{padding-left:calc(var(--spacing) * 3)}.\!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-7xl{font-size:var(--text-7xl);line-height:var(--tw-leading,var(--text-7xl--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)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-tighter{--tw-tracking:var(--tracking-tighter);letter-spacing:var(--tracking-tighter)}.tracking-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-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-primary{color:var(--color-primary)}.text-secondary{color:var(--color-secondary)}.text-secondary-content{color:var(--color-secondary-content)}.text-transparent{color:#0000}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-100{opacity:1}.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-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)}.hover\:z-10:hover{z-index:10}.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-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\:text-base-content:hover{color:var(--color-base-content)}}.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\:grid-cols-2{grid-template-columns:repeat(2,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\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (hover:hover){.\[\&_\.resizable-img-container\]\:hover\:border-primary .resizable-img-container:hover{border-color:var(--color-primary)}}.\[\&_blockquote\]\:border-l-4 blockquote{border-left-style:var(--tw-border-style);border-left-width:4px}.\[\&_blockquote\]\:border-base-300 blockquote{border-color:var(--color-base-300)}.\[\&_blockquote\]\:pl-4 blockquote{padding-left:calc(var(--spacing) * 4)}.\[\&_blockquote\]\:italic blockquote{font-style:italic}.\[\&_ol\]\:list-decimal ol{list-style-type:decimal}.\[\&_ol\]\:pl-8 ol{padding-left:calc(var(--spacing) * 8)}.\[\&_ul\]\:list-disc ul{list-style-type:disc}.\[\&_ul\]\:pl-8 ul{padding-left:calc(var(--spacing) * 8)}.\[\&\>div\]\:m-0>div{margin:calc(var(--spacing) * 0)}.\[\&\>div\]\:min-h-\[1em\]>div{min-height:1em}.\[\&\>p\]\:m-0>p{margin:calc(var(--spacing) * 0)}}: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}.markdown-section progress.progress{all:revert-layer}@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-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-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}@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-space-y-reverse:0;--tw-space-x-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}}}@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-black:#000;--spacing:.25rem;--container-xs:20rem;--container-md:28rem;--container-2xl:42rem;--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-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-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-semibold:600;--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-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}.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}}.validator-hint{visibility:hidden;margin-top:.5rem;font-size:.75rem}.validator:user-valid{--input-color:var(--color-success)}.validator:user-valid:focus{--input-color:var(--color-success)}.validator:user-valid:checked{--input-color:var(--color-success)}.validator:user-valid[aria-checked=true]{--input-color:var(--color-success)}.validator:user-valid:focus-within{--input-color:var(--color-success)}.validator:has(:user-valid){--input-color:var(--color-success)}.validator:has(:user-valid):focus{--input-color:var(--color-success)}.validator:has(:user-valid):checked{--input-color:var(--color-success)}.validator:has(:user-valid)[aria-checked=true]{--input-color:var(--color-success)}.validator:has(:user-valid):focus-within{--input-color:var(--color-success)}.validator:user-invalid{--input-color:var(--color-error)}.validator:user-invalid:focus{--input-color:var(--color-error)}.validator:user-invalid:checked{--input-color:var(--color-error)}.validator:user-invalid[aria-checked=true]{--input-color:var(--color-error)}.validator:user-invalid:focus-within{--input-color:var(--color-error)}.validator:user-invalid~.validator-hint{visibility:visible;color:var(--color-error)}.validator:has(:user-invalid){--input-color:var(--color-error)}.validator:has(:user-invalid):focus{--input-color:var(--color-error)}.validator:has(:user-invalid):checked{--input-color:var(--color-error)}.validator:has(:user-invalid)[aria-checked=true]{--input-color:var(--color-error)}.validator:has(:user-invalid):focus-within{--input-color:var(--color-error)}.validator:has(:user-invalid)~.validator-hint{visibility:visible;color:var(--color-error)}:is(.validator[aria-invalid]:not([aria-invalid=false]),.validator:has([aria-invalid]:not([aria-invalid=false]))),:is(.validator[aria-invalid]:not([aria-invalid=false]),.validator:has([aria-invalid]:not([aria-invalid=false]))):focus,:is(.validator[aria-invalid]:not([aria-invalid=false]),.validator:has([aria-invalid]:not([aria-invalid=false]))):checked,:is(.validator[aria-invalid]:not([aria-invalid=false]),.validator:has([aria-invalid]:not([aria-invalid=false])))[aria-checked=true],:is(.validator[aria-invalid]:not([aria-invalid=false]),.validator:has([aria-invalid]:not([aria-invalid=false]))):focus-within{--input-color:var(--color-error)}:is(.validator[aria-invalid]:not([aria-invalid=false]),.validator:has([aria-invalid]:not([aria-invalid=false])))~.validator-hint{visibility:visible;color:var(--color-error)}.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)}}.toast{translate:var(--toast-x,0) var(--toast-y,0);inset-inline:auto 1rem;background-color:#0000;flex-direction:column;gap:.5rem;width:max-content;max-width:calc(100vw - 2rem);display:flex;position:fixed;top:auto;bottom:1rem}@media (prefers-reduced-motion:no-preference){.toast>*{animation:.25s ease-out toast}}.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}.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}.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}.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}.breadcrumbs{max-width:100%;padding-block:.5rem;overflow-x:auto}.breadcrumbs>menu,.breadcrumbs>ul,.breadcrumbs>ol{white-space:nowrap;align-items:center;min-height:min-content;display:flex}:is(.breadcrumbs>menu,.breadcrumbs>ul,.breadcrumbs>ol)>li{align-items:center;display:flex}:is(.breadcrumbs>menu,.breadcrumbs>ul,.breadcrumbs>ol)>li>*{cursor:pointer;align-items:center;gap:.5rem;display:flex}@media (hover:hover){:is(.breadcrumbs>menu,.breadcrumbs>ul,.breadcrumbs>ol)>li>:hover{text-decoration-line:underline}}:is(.breadcrumbs>menu,.breadcrumbs>ul,.breadcrumbs>ol)>li>:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){:is(.breadcrumbs>menu,.breadcrumbs>ul,.breadcrumbs>ol)>li>:focus{outline-offset:2px;outline:2px solid #0000}}:is(.breadcrumbs>menu,.breadcrumbs>ul,.breadcrumbs>ol)>li>:focus-visible{outline-offset:2px;outline:2px solid}:is(.breadcrumbs>menu,.breadcrumbs>ul,.breadcrumbs>ol)>li+:before{content:"";opacity:.4;background-color:#0000;border-top:1px solid;border-right:1px solid;width:.375rem;height:.375rem;margin-inline:.5rem .75rem;display:block;rotate:45deg}[dir=rtl] :is(:is(.breadcrumbs>menu,.breadcrumbs>ul,.breadcrumbs>ol)>li)+:before{rotate:-135deg}.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}.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}.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}.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}.avatar-group{display:flex;overflow:hidden}.avatar-group .avatar{border:4px solid var(--color-base-100);border-radius:3.40282e38px;overflow:hidden}.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-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)}}@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)}}@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)}.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)}.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}:where(.navbar){position:relative}.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)}.chat-end{grid-template-columns:1fr auto;place-items:end}.chat-end .chat-header,.chat-end .chat-footer{grid-column-start:1}.chat-end .chat-image{grid-column-start:2}.chat-end .chat-bubble{border-end-end-radius:0;grid-column-start:1}.chat-end .chat-bubble:before{inset-inline-start:100%;transform:rotateY(180deg)}[dir=rtl] :is(.chat-end .chat-bubble):before{transform:rotateY(0)}.chat-start{grid-template-columns:auto 1fr;place-items:start}.chat-start .chat-header,.chat-start .chat-footer{grid-column-start:2}.chat-start .chat-image{grid-column-start:1}.chat-start .chat-bubble{border-end-start-radius:0;grid-column-start:2}.chat-start .chat-bubble:before{inset-inline-start:-.75rem;transform:rotateY(0)}[dir=rtl] :is(.chat-start .chat-bubble):before{transform:rotateY(180deg)}.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}.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%}.steps-horizontal{grid-auto-columns:1fr;grid-auto-flow:column;display:inline-grid;overflow:auto hidden}.steps-horizontal .step{text-align:center;grid-template-rows:40px 1fr;grid-template-columns:auto;place-items:center;min-width:4rem;display:grid}.steps-horizontal .step:before{width:100%;height:.5rem;margin-inline-start:-100%;translate:0}[dir=rtl] :is(.steps-horizontal .step):before{translate:0}.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}.loading-lg{width:calc(var(--size-selector,.25rem) * 7)}.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}.carousel-vertical{scroll-snap-type:y mandatory;flex-direction:column;overflow-y:scroll}.badge-ghost{border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content);background-image:none}.badge-outline{color:var(--badge-color);--badge-bg:#0000;background-image:none;border-color:currentColor}.skeleton-text{webkit-background-clip:text;color:#0000;-webkit-background-clip:text;background-clip:text;background-image:linear-gradient(105deg, var(--color-base-content) 0% 40%, var(--color-base-content) 50%, var(--color-base-content) 60% 100%)}@supports (color:color-mix(in lab, red, red)){.skeleton-text{background-image:linear-gradient(105deg, color-mix(in oklab, var(--color-base-content) 20%, transparent) 0% 40%, var(--color-base-content) 50%, color-mix(in oklab, var(--color-base-content) 20%, transparent) 60% 100%)}}.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-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")}.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)}.tooltip-primary{--tt-bg:var(--color-primary)}.tooltip-primary>.tooltip-content,.tooltip-primary[data-tip]:before{color:var(--color-primary-content)}.btn-lg{--fontsize:1.125rem;--btn-p:1.25rem;--size:calc(var(--size-field,.25rem) * 12)}.btn-sm{--fontsize:.75rem;--btn-p:.75rem;--size:calc(var(--size-field,.25rem) * 8)}.btn-xs{--fontsize:.6875rem;--btn-p:.5rem;--size:calc(var(--size-field,.25rem) * 6)}.badge-error{--badge-color:var(--color-error);--badge-fg:var(--color-error-content)}.badge-success{--badge-color:var(--color-success);--badge-fg:var(--color-success-content)}.range-sm{--range-thumb-size:calc(var(--size-selector,.25rem) * 5)}.range-xs{--range-thumb-size:calc(var(--size-selector,.25rem) * 4)}.toggle-primary:checked,.toggle-primary[aria-checked=true]{--input-color:var(--color-primary)}}.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}.validator:user-invalid~.validator-hint{display:revert-layer}.validator:has(:user-invalid)~.validator-hint{display:revert-layer}:is(.validator[aria-invalid]:not([aria-invalid=false]),.validator:has([aria-invalid]:not([aria-invalid=false])))~.validator-hint{display:revert-layer}.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-0{top:calc(var(--spacing) * 0)}.top-10{top:calc(var(--spacing) * 10)}.top-full{top:100%}.right-0{right:calc(var(--spacing) * 0)}.right-1\/4{right:25%}.bottom-10{bottom:calc(var(--spacing) * 10)}.left-0{left:calc(var(--spacing) * 0)}.left-1\/2{left:50%}.left-1\/4{left:25%}.-z-0{z-index:calc(0 * -1)}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[9999\]{z-index:9999}.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}}.mx-1{margin-inline:calc(var(--spacing) * 1)}.mx-auto{margin-inline:auto}.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)}.-mr-2{margin-right:calc(var(--spacing) * -2)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-2{margin-left:calc(var(--spacing) * 2)}.icon-\[lucide--align-center\]{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='M17 12H7m12 6H5M21 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--align-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 12H3m14 6H3M21 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--align-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='M21 12H9m12 6H7M21 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--bell\]{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='M10.268 21a2 2 0 0 0 3.464 0m-10.47-5.674A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326'/%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--bold\]{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 12h9a4 4 0 0 1 0 8H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h7a4 4 0 0 1 0 8'/%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\]{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--clock\]{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 6v6l4 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--code-2\]{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 16l4-4l-4-4M6 8l-4 4l4 4m8.5-12l-5 16'/%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--home\]{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='M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8'/%3E%3Cpath d='M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%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--indent-decrease\]{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 12H11m10 6H11M21 6H11M7 8l-4 4l4 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--indent-increase\]{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 12H11m10 6H11M21 6H11M3 8l4 4l-4 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--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--italic\]{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='M19 4h-9m4 16H5M15 4L9 20'/%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--list-ordered\]{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 5h10m-10 7h10m-10 7h10M4 4h1v5M4 9h2m.5 11H3.4c0-1 2.6-1.925 2.6-3.5a1.5 1.5 0 0 0-2.6-1.02'/%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--list\]{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='M3 5h.01M3 12h.01M3 19h.01M8 5h13M8 12h13M8 19h13'/%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--menu\]{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 5h16M4 12h16M4 19h16'/%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--moon\]{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.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401'/%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--paperclip\]{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='m16 6l-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551'/%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--quote\]{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='M16 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2a1 1 0 0 1 1 1v1a2 2 0 0 1-2 2a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1a6 6 0 0 0 6-6V5a2 2 0 0 0-2-2zM5 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2a1 1 0 0 1 1 1v1a2 2 0 0 1-2 2a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1a6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z'/%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--redo-2\]{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='m15 14l5-5l-5-5'/%3E%3Cpath d='M20 9H9.5A5.5 5.5 0 0 0 4 14.5A5.5 5.5 0 0 0 9.5 20H13'/%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--settings\]{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='M9.671 4.136a2.34 2.34 0 0 1 4.659 0a2.34 2.34 0 0 0 3.319 1.915a2.34 2.34 0 0 1 2.33 4.033a2.34 2.34 0 0 0 0 3.831a2.34 2.34 0 0 1-2.33 4.033a2.34 2.34 0 0 0-3.319 1.915a2.34 2.34 0 0 1-4.659 0a2.34 2.34 0 0 0-3.32-1.915a2.34 2.34 0 0 1-2.33-4.033a2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915'/%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--smile\]{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='M8 14s1.5 2 4 2s4-2 4-2M9 9h.01M15 9h.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--sun\]{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='4'/%3E%3Cpath d='M12 2v2m0 16v2M4.93 4.93l1.41 1.41m11.32 11.32l1.41 1.41M2 12h2m16 0h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41'/%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--underline\]{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 4v6a6 6 0 0 0 12 0V4M4 20h16'/%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--undo-2\]{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='M9 14L4 9l5-5'/%3E%3Cpath d='M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11'/%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--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--user\]{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='M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='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--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{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.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{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-12{height:calc(var(--spacing) * 12)}.h-20{height:calc(var(--spacing) * 20)}.h-32{height:calc(var(--spacing) * 32)}.h-48{height:calc(var(--spacing) * 48)}.h-96{height:calc(var(--spacing) * 96)}.h-auto{height:auto}.h-full{height:100%}.max-h-60{max-height:calc(var(--spacing) * 60)}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-\[22rem\]{min-height:22rem}.min-h-full{min-height:100%}.w-3{width:calc(var(--spacing) * 3)}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-24{width:calc(var(--spacing) * 24)}.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-60{width:calc(var(--spacing) * 60)}.w-64{width:calc(var(--spacing) * 64)}.w-80{width:calc(var(--spacing) * 80)}.w-96{width:calc(var(--spacing) * 96)}.w-auto{width:auto}.w-full{width:100%}.w-px{width:1px}.w-xs{width:var(--container-xs)}.max-w-2xl{max-width:var(--container-2xl)}.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)}.min-w-\[48px\]{min-width:48px}.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-0{--tw-translate-x:calc(var(--spacing) * 0);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)}.scale-110{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.animate-pulse{animation:var(--animate-pulse)}.cursor-pointer{cursor:pointer}.grid-cols-1{grid-template-columns:repeat(1,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-nowrap{flex-wrap:nowrap}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.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}.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-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-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)))}:where(.-space-x-6>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * -6) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * -6) * calc(1 - var(--tw-space-x-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.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)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.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-primary{border-color:var(--color-primary)}.bg-base-100,.bg-base-100\/50{background-color:var(--color-base-100)}@supports (color:color-mix(in lab, red, red)){.bg-base-100\/50{background-color:color-mix(in oklab, var(--color-base-100) 50%, transparent)}}.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-primary,.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-transparent{background-color:#0000}.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))}@layer daisyui.l1{.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-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}}}.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-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))}.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-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-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)}.pl-3{padding-left:calc(var(--spacing) * 3)}.\!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-7xl{font-size:var(--text-7xl);line-height:var(--tw-leading,var(--text-7xl--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)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-tighter{--tw-tracking:var(--tracking-tighter);letter-spacing:var(--tracking-tighter)}.tracking-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-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-primary{color:var(--color-primary)}.text-secondary{color:var(--color-secondary)}.text-secondary-content{color:var(--color-secondary-content)}.text-transparent{color:#0000}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-100{opacity:1}.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-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)}.hover\:z-10:hover{z-index:10}.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-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\:text-base-content:hover{color:var(--color-base-content)}}.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\:grid-cols-2{grid-template-columns:repeat(2,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\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (hover:hover){.\[\&_\.resizable-img-container\]\:hover\:border-primary .resizable-img-container:hover{border-color:var(--color-primary)}}.\[\&_blockquote\]\:border-l-4 blockquote{border-left-style:var(--tw-border-style);border-left-width:4px}.\[\&_blockquote\]\:border-base-300 blockquote{border-color:var(--color-base-300)}.\[\&_blockquote\]\:pl-4 blockquote{padding-left:calc(var(--spacing) * 4)}.\[\&_blockquote\]\:italic blockquote{font-style:italic}.\[\&_ol\]\:list-decimal ol{list-style-type:decimal}.\[\&_ol\]\:pl-8 ol{padding-left:calc(var(--spacing) * 8)}.\[\&_ul\]\:list-disc ul{list-style-type:disc}.\[\&_ul\]\:pl-8 ul{padding-left:calc(var(--spacing) * 8)}.\[\&\>div\]\:m-0>div{margin:calc(var(--spacing) * 0)}.\[\&\>div\]\:min-h-\[1em\]>div{min-height:1em}.\[\&\>p\]\:m-0>p{margin:calc(var(--spacing) * 0)}}: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}.markdown-section progress.progress{all:revert-layer}@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-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-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}@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 7b00dbf..06998ec 100644 --- a/dist/sigpro-ui.min.js +++ b/dist/sigpro-ui.min.js @@ -1,7 +1,7 @@ -(()=>{var{defineProperty:nn,getOwnPropertyNames:Zn,getOwnPropertyDescriptor:Yn}=Object,Bn=Object.prototype.hasOwnProperty;function In(n){return this[n]}var gn=(n)=>{var f=(En??=new WeakMap).get(n),t;if(f)return f;if(f=nn({},"__esModule",{value:!0}),n&&typeof n==="object"||typeof n==="function"){for(var _ of Zn(n))if(!Bn.call(f,_))nn(f,_,{get:In.bind(n,_),enumerable:!(t=Yn(n,_))||t.enumerable})}return En.set(n,f),f},En;var dn=(n)=>n;function $n(n,f){this[n]=dn.bind(null,f)}var Nn=(n,f)=>{for(var t in f)nn(n,t,{get:f[t],enumerable:!0,configurable:!0,set:$n.bind(f,t)})};var tr={};Nn(tr,{Components:()=>Sn});var wn={};Nn(wn,{tt:()=>Wn,i18n:()=>Cn,hide:()=>s,currentLocale:()=>bn,Tooltip:()=>fr,Toggle:()=>nr,Toast:()=>pf,Timeline:()=>hf,Textrotate:()=>cf,Textarea:()=>vf,Tabs:()=>ef,TableItems:()=>mf,Table:()=>sf,SwapToggle:()=>Xn,SwapOn:()=>zn,SwapOff:()=>Qn,Swap:()=>Un,Steps:()=>af,Step:()=>xf,Stats:()=>Df,Stat:()=>Ff,Stack:()=>lf,SkeletonText:()=>Rf,Skeleton:()=>Hf,Select:()=>qf,RatingItems:()=>Vf,Rating:()=>$f,Range:()=>df,Radio:()=>gf,Radial:()=>If,Progress:()=>Bf,Navbar:()=>Yf,Modal:()=>Zf,Menu:()=>Mf,Locale:()=>sn,Loading:()=>Gf,ListRows:()=>Sf,List:()=>Qf,Kbd:()=>zf,Input:()=>Ln,Indicator:()=>Xf,Icon:()=>i,Fileinput:()=>Uf,Fieldset:()=>Lf,Fab:()=>Kf,Editor:()=>rr,DropdownContent:()=>e,DropdownButton:()=>Kn,Dropdown:()=>m,DrawerToggle:()=>Cf,DrawerSide:()=>Pf,DrawerOverlay:()=>Tf,DrawerContent:()=>Wf,Drawer:()=>jf,Divider:()=>Jf,Datepicker:()=>Of,Colorpicker:()=>kf,ColorPalette:()=>Jn,Checkbox:()=>Af,ChatImage:()=>yf,ChatHeader:()=>Nf,ChatFooter:()=>Ef,ChatBubble:()=>wf,Chat:()=>bf,CarouselItem:()=>uf,Carousel:()=>of,CardTitle:()=>rf,CardBody:()=>tf,CardActions:()=>_f,Card:()=>ff,Calendar:()=>Tn,Button:()=>Pn,Breadcrumbs:()=>nf,Badge:()=>pn,AvatarGroup:()=>cn,Avatar:()=>vn,Autocomplete:()=>hn,Alert:()=>en,Accordion:()=>mn});var P=(n)=>typeof n==="function",F=(n)=>n&&typeof n==="object",d=Array.isArray,Z=typeof document<"u"?document:null,yn=(n)=>n?._isRuntime?n.container:n instanceof Node?n:Z.createTextNode(n==null?"":String(n)),X=null,G=null,R=!1,D=0,a=new Set,An=new WeakMap,fn=Symbol("iter"),rn=new WeakMap,Vn="http://www.w3.org/2000/svg",kn="http://www.w3.org/1999/xlink",qn=new Set("svg,path,circle,rect,line,polyline,polygon,g,defs,text,textPath,tspan,use,symbol,image,marker,ellipse".split(",")),$=(n)=>{if(!n||n._disposed)return;n._disposed=!0;let f=[n];while(f.length){let t=f.pop();if(t._cleanups)t._cleanups.forEach((_)=>_()),t._cleanups.clear();if(t._children)t._children.forEach((_)=>f.push(_)),t._children.clear();if(t._deps)t._deps.forEach((_)=>_.delete(t)),t._deps.clear()}},q=(n)=>{if(G)(G._cleanups||=new Set).add(n)},Hn=(n)=>{let f=X;X=null;try{return n()}finally{X=f}},l=(n,f=!1)=>{let t=()=>{if(t._disposed)return;if(t._deps)t._deps.forEach((b)=>b.delete(t));if(t._cleanups)t._cleanups.forEach((b)=>b()),t._cleanups.clear();let _=X,o=G;X=G=t;try{return t._result=n()}catch(b){console.error("[SigPro]",b)}finally{X=_,G=o}};if(t._deps=t._cleanups=t._children=null,t._disposed=!1,t._isComputed=f,t._depth=X?X._depth+1:0,t._mounts=[],t._parent=G,G)(G._children||=new Set).add(t);return t},On=()=>{if(R)return;R=!0;let n=Array.from(a).sort((f,t)=>f._depth-t._depth);a.clear();for(let f of n)if(!f._disposed)f();R=!1},Rn=(n)=>{D++;try{return n()}finally{if(D--,D===0&&a.size>0&&!R)On()}},M=(n,f=!1)=>{if(!f&&X&&!X._disposed)n.add(X),(X._deps||=new Set).add(n);else if(f&&n.size>0){let t=!1;for(let _ of n){if(_===X||_._disposed)continue;if(_._isComputed){if(_._dirty=!0,_._subs)M(_._subs,!0)}else a.add(_),t=!0}if(t&&!R&&D===0)queueMicrotask(On)}},L=(n,f=null)=>{let t=new Set;if(P(n)){let _,o=()=>{if(o._dirty){let b=X;X=o;try{let u=n();if(!Object.is(_,u))_=u,M(t,!0)}finally{X=b}o._dirty=!1}return M(t),_};return o._isComputed=!0,o._subs=t,o._dirty=!0,o._deps=null,o._disposed=!1,o}if(f)try{n=JSON.parse(localStorage.getItem(f))??n}catch(_){}return(..._)=>{if(_.length){let o=P(_[0])?_[0](n):_[0];if(!Object.is(n,o)){if(n=o,f)localStorage.setItem(f,JSON.stringify(n));M(t,!0)}}return M(t),n}},jn=(n)=>{if(!F(n))return n;let f=An.get(n);if(f)return f;let t=new Map,_=(b)=>{let u=t.get(b);if(!u)t.set(b,u=new Set);return u},o=new Proxy(n,{get(b,u,E){if(typeof u!=="symbol")M(_(u));return jn(Reflect.get(b,u,E))},set(b,u,E,w){let y=Reflect.has(b,u),O=Reflect.get(b,u,w),C=Reflect.set(b,u,E,w);if(C&&!Object.is(O,E)){if(M(_(u),!0),!y)M(_(fn),!0)}return C},deleteProperty(b,u){let E=Reflect.deleteProperty(b,u);if(E)M(_(u),!0),M(_(fn),!0);return E},ownKeys(b){return M(_(fn)),Reflect.ownKeys(b)}});return An.set(n,o),o},V=(n,f)=>{if(f===void 0){let _=l(n);return _(),()=>$(_)}let t=l(()=>{let _=Array.isArray(n)?n.map((o)=>o()):n();Hn(()=>f(_))});return t(),()=>$(t)},_n=(n)=>{if(!n)return;if(n._cleanups)n._cleanups.forEach((f)=>f()),n._cleanups.clear();if(n._ownerEffect)$(n._ownerEffect);if(n.childNodes)n.childNodes.forEach((f)=>_n(f))},ln=/^\s*(javascript|data|vbscript):/i,Dn=new Set(["src","href","formaction","action","background","code","archive"]),Fn=(n)=>Dn.has(n)||n.startsWith("on"),tn=(n,f)=>{if(f==null||f===!1)return null;if(Fn(n)){let t=String(f);if(ln.test(t))return console.warn(`[SigPro] Bloqueado protocolo peligroso en ${n}`),"#"}return f},r=(n,f={},t=[])=>{if(f instanceof Node||d(f)||!F(f))t=f,f={};if(P(n)){let u=l(()=>{let O=n(f,{children:t,emit:(C,...W)=>f[`on${C[0].toUpperCase()}${C.slice(1)}`]?.(...W)});return u._result=O,O});u();let E=u._result;if(E==null)return null;let w=E instanceof Node||d(E)&&E.every((O)=>O instanceof Node)?E:Z.createTextNode(String(E)),y=(O)=>{if(F(O)&&!O._isRuntime)O._mounts=u._mounts||[],O._cleanups=u._cleanups||new Set,O._ownerEffect=u};return d(w)?w.forEach(y):y(w),w}let _=qn.has(n),o=_?Z.createElementNS(Vn,n):Z.createElement(n);o._cleanups=new Set;for(let u of Object.keys(f)){let E=f[u];if(u==="ref"){P(E)?E(o):E.current=o;continue}if(_&&u.startsWith("xlink:")){let w=tn(u.slice(6),E);w==null?o.removeAttributeNS(kn,u.slice(6)):o.setAttributeNS(kn,u.slice(6),w);continue}if(u.startsWith("on")){let w=u.slice(2).toLowerCase();o.addEventListener(w,E);let y=()=>o.removeEventListener(w,E);o._cleanups.add(y),q(y)}else if(P(E)){let w=l(()=>{let y=tn(u,E());if(u==="class")o.className=y||"";else if(y==null)o.removeAttribute(u);else if(u==="style"&&typeof y==="string")o.setAttribute("style",y);else if(u in o&&!_)o[u]=y;else o.setAttribute(u,y===!0?"":y)});if(w(),o._cleanups.add(()=>$(w)),q(()=>$(w)),/^(INPUT|TEXTAREA|SELECT)$/.test(o.tagName)&&(u==="value"||u==="checked")){let y=u==="checked"?"change":"input";o.addEventListener(y,(O)=>E(O.target[u]))}}else{let w=tn(u,E);if(w!=null)if(u==="style"&&typeof w==="string")o.setAttribute("style",w);else if(u in o&&!_)o[u]=w;else o.setAttribute(u,w===!0?"":w)}}let b=(u)=>{if(d(u))return u.forEach(b);if(P(u)){let E=Z.createTextNode("");o.appendChild(E);let w=[],y=l(()=>{let O=u(),C=(d(O)?O:[O]).map(yn);w.forEach((T)=>{if(T._isRuntime)T.destroy();else _n(T);if(T.parentNode)T.remove()});let W=E;for(let T=C.length-1;T>=0;T--){let k=C[T];if(k.parentNode!==W.parentNode)W.parentNode?.insertBefore(k,W);if(k._mounts)k._mounts.forEach((j)=>j());W=k}w=C});y(),o._cleanups.add(()=>$(y)),q(()=>$(y))}else{let E=yn(u);if(o.appendChild(E),E._mounts)E._mounts.forEach((w)=>w())}};return b(t),o},x=(n)=>{let f=new Set,t=G,_=X,o=Z.createElement("div");o.style.display="contents",o.setAttribute("role","presentation"),G={_cleanups:f},X=null;let b=(u)=>{if(!u)return;if(u._isRuntime)f.add(u.destroy),o.appendChild(u.container);else if(d(u))u.forEach(b);else o.appendChild(u instanceof Node?u:Z.createTextNode(String(u==null?"":u)))};try{b(n({onCleanup:(u)=>f.add(u)}))}finally{G=t,X=_}return{_isRuntime:!0,container:o,destroy:()=>{f.forEach((u)=>u()),_n(o),o.remove()}}},on=(n,f,t=null)=>{let _=Z.createTextNode(""),o=r("div",{style:"display:contents"},[_]),b=null;return V(()=>!!(P(n)?n():n),(u)=>{if(b)b.destroy(),b=null;let E=u?f:t;if(E)b=x(()=>P(E)?E():E),o.insertBefore(b.container,_)}),q(()=>b?.destroy()),o},I=(n,f,t)=>{let _=Z.createTextNode(""),o=r("div",{style:"display:contents"},[_]),b=new Map;return V(()=>(P(n)?n():n)||[],(u)=>{let E=new Map,w=[],y=u||[];for(let C=0;Cf(W,C));else b.delete(T);E.set(T,k),w.push(k)}b.forEach((C)=>C.destroy());let O=_;for(let C=w.length-1;C>=0;C--){let W=w[C].container;if(W.nextSibling!==O)o.insertBefore(W,O);O=W}b=E}),o},H=(n)=>{let f=()=>window.location.hash.slice(1)||"/",t=L(f()),_=()=>t(f());window.addEventListener("hashchange",_),q(()=>window.removeEventListener("hashchange",_));let o=r("div",{class:"router-hook"}),b=null;return V([t],()=>{let u=t(),E=n.find((w)=>{let y=w.path.split("/").filter(Boolean),O=u.split("/").filter(Boolean);return y.length===O.length&&y.every((C,W)=>C[0]===":"||C===O[W])})||n.find((w)=>w.path==="*");if(E){b?.destroy();let w={};E.path.split("/").filter(Boolean).forEach((y,O)=>{if(y[0]===":")w[y.slice(1)]=u.split("/").filter(Boolean)[O]}),H.params(w),b=x(()=>P(E.component)?E.component(w):E.component),o.replaceChildren(b.container)}}),o};H.params=L({});H.to=(n)=>window.location.hash=n.replace(/^#?\/?/,"#/");H.back=()=>window.history.back();H.path=()=>window.location.hash.replace(/^#/,"")||"/";var un=(n,f)=>{let t=typeof f==="string"?Z.querySelector(f):f;if(!t)return;if(rn.has(t))rn.get(t).destroy();let _=x(P(n)?n:()=>n);return t.replaceChildren(_.container),rn.set(t,_),_};if(typeof window<"u")Object.assign(window,{$:L,$$:jn,watch:V,h:r,when:on,each:I,router:H,mount:un,batch:Rn,onUnmount:q,isArr:d,isFunc:P,isObj: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((n)=>{window[n]=(f,t)=>r(n,f,t)});var K=(n)=>typeof n==="function"?n():n,g=(n,f="label")=>n&&typeof n==="object"?n[f]:n,N=(...n)=>n.filter(Boolean).join(" ").trim(),an=(n,f,t="label",_=String(f).toLowerCase())=>!f?K(n):K(n).filter((o)=>String(o&&typeof o==="object"?o[t]:o).toLowerCase().includes(_)),xn=(n)=>`${n}-${Math.random().toString(36).slice(2,9)}`,s=()=>document.activeElement?.blur(),Cn={es:{uploadFiles:"Arrastrar y soltar o click para seleccionar..."},en:{uploadFiles:"DRag and drop or click to select"}},bn=L("en"),sn=(n)=>bn(n),Wn=(n)=>()=>Cn[bn()][n]||n,mn=(n)=>{let f=n.name||xn("acc");return I(n.items,(t)=>{return r("div",{class:N("collapse",n.class)},[r("input",{type:"radio",name:f,checked:t.open||void 0}),t.title?r("div",{class:N("collapse-title",`${t.classTitle??" font-semibold"}`)},t.title):null,t.content?r("div",{class:N("collapse-content text-sm",`${t.classContent??" font-semibold"}`)},t.content):null])})},en=(n,f)=>r("div",{...n,class:N("alert",n.class)},f),vn=(n,f)=>r("div",{class:"avatar"},r("div",{class:n.class},f)),cn=(n,f)=>r("div",{...n,class:N("avatar-group -space-x-6",n.class)},f),hn=({items:n,value:f,onselect:t,placeholder:_="...",...o})=>{let b=L(K(f)||""),u=L(()=>an(n,b())),E=(w)=>{let y=g(w),O=typeof w==="string"?w:w.value;if(b(y),P(f))f(O);t?.(w),s()};return m({class:"w-full"},[r("div",{tabindex:"0",role:"button",class:"w-full"},Ln({...o,placeholder:_,value:b,left:r("span",{class:"icon-[lucide--search]"}),oninput:(w)=>{if(b(w.target.value),P(f))f(w.target.value)}})),e({class:"p-2 bg-base-100 rounded-box shadow-xl w-full max-h-60 overflow-y-auto border border-base-300 z-50"},r("ul",{class:"menu flex-col flex-nowrap w-full p-0"},[I(u,(w)=>r("li",{},[r("a",{onmousedown:(y)=>y.preventDefault(),onclick:()=>E(w)},g(w))]),(w)=>g(w)),()=>u().length===0?r("li",{class:"p-4 opacity-50 text-center"},"Sin resultados"):null]))])},pn=(n,f)=>r("span",{...n,class:N("badge",n.class)},f),nf=(n,f)=>r("div",{...n,class:N("breadcrumbs",n.class)},f),Pn=(n,f)=>r("button",{...n,class:N("btn",n.class)},f),Tn=(n)=>{let f=L(new Date),t=L(null),_=L(0),o=L(0),b=new Date,u=`${b.getFullYear()}-${String(b.getMonth()+1).padStart(2,"0")}-${String(b.getDate()).padStart(2,"0")}`,E=(k)=>`${k.getFullYear()}-${String(k.getMonth()+1).padStart(2,"0")}-${String(k.getDate()).padStart(2,"0")}`,w=()=>K(n.range)===!0,y=()=>K(n.value),O=(k)=>{let j=E(k),Q=y();if(w())if(!Q?.start||Q.start&&Q.end)n.onChange?.({start:j,end:null,...n.hour&&{startHour:_()}});else{let Y=Q.start,S=j{let j=f();f(new Date(j.getFullYear(),j.getMonth()+k,1))},W=(k)=>{let j=f();f(new Date(j.getFullYear()+k,j.getMonth(),1))},T=({value:k,onChange:j})=>r("div",{class:"flex-1"},[r("div",{class:"flex gap-2 items-center"},[r("input",{type:"range",min:0,max:23,value:k,class:"range range-xs flex-1",oninput:(Q)=>j(+Q.target.value)}),r("span",{class:"text-sm font-mono min-w-[48px] text-center"},()=>String(K(k)).padStart(2,"0")+":00")])]);return r("div",{class:N("p-4 bg-base-100 border border-base-300 shadow-2xl rounded-box w-80 select-none",n.class)},[r("div",{class:"flex justify-between items-center mb-4 gap-1"},[r("div",{class:"flex gap-0.5"},[r("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>W(-1)},r("span",{class:"icon-[lucide--chevrons-left]"})),r("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>C(-1)},r("span",{class:"icon-[lucide--chevron-left]"}))]),r("span",{class:"font-bold uppercase flex-1 text-center"},()=>f().toLocaleString("es-ES",{month:"short",year:"numeric"})),r("div",{class:"flex gap-0.5"},[r("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>C(1)},r("span",{class:"icon-[lucide--chevron-right]"})),r("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>W(1)},r("span",{class:"icon-[lucide--chevrons-right]"}))])]),r("div",{class:"grid grid-cols-7 gap-1",onmouseleave:()=>t(null)},[...["L","M","X","J","V","S","D"].map((k)=>r("div",{class:"text-[10px] opacity-40 font-bold text-center"},k)),()=>{let k=f(),j=k.getFullYear(),Q=k.getMonth(),Y=new Date(j,Q,1).getDay(),S=Y===0?6:Y-1,v=new Date(j,Q+1,0).getDate(),A=[];for(let J=0;J{let B=y(),c=t(),Gn=typeof B==="string"?B.split("T")[0]===z:B?.start===z,Mn=B?.end===z,h=!1;if(w()&&B?.start){let p=B.start;if(!B.end&&c)h=z>p&&z<=c||z=c;else if(B.end)h=z>p&&zw()&&t(z),onclick:()=>O(U)},J.toString()))}return A}]),n.hour?r("div",{class:"mt-3 pt-2 border-t border-base-300"},w()?r("div",{class:"flex gap-4"},[T({value:_,onChange:(k)=>_(k)}),T({value:o,onChange:(k)=>o(k)})]):T({value:_,onChange:(k)=>_(k)})):null])},ff=(n,f)=>r("div",{...n,class:N("card",n.class)},f),rf=(n,f)=>r("div",{...n,class:N("card-title",n.class)},f),tf=(n,f)=>r("div",{...n,class:N("card-body",n.class)},f),_f=(n,f)=>r("div",{...n,class:N("card-actions",n.class)},f),of=(n,f)=>r("div",{...n,class:N("carousel",n.class)},f),uf=(n,f)=>r("div",{...n,class:N("carousel-item",n.class)},f),bf=(n,f)=>r("div",{...n,class:N("chat",n.class)},f),wf=(n,f)=>r("div",{...n,class:N("chat-bubble",n.class)},f),Ef=(n,f)=>r("div",{...n,class:N("chat-footer",n.class)},f),Nf=(n,f)=>r("div",{...n,class:N("chat-header",n.class)},f),yf=(n,f)=>r("div",{...n,class:N("chat-image avatar",n.class)},r("div",{class:"w-10 rounded-full"},typeof f==="string"?r("img",{src:f,alt:"avatar"}):f)),Af=(n)=>r("input",{...n,type:"checkbox",class:N("checkbox",n.class)}),kf=(n)=>{let f=()=>K(n.value)||"#000000";return m({},[Kn({class:"btn"},[r("div",{class:"size-5 rounded-sm",style:()=>`background-color: ${f()}`}),n.label&&r("span",{},n.label)]),e({class:"p-0"},Jn({value:n.value,onchange:(t)=>{P(n.value)?n.value(t):n.onchange?.(t)}}))])},Jn=(n)=>{let f=()=>K(n.value)||"#000000",t=["#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"],_=(o)=>{P(n.value)?n.value(o):n.onchange?.(o),s()};return r("div",{class:N("p-3 bg-base-100 rounded-box shadow w-64",n.class)},r("div",{class:"grid grid-cols-8 gap-1"},t.map((o)=>r("button",{type:"button",style:`background-color: ${o}`,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 ${f().toLowerCase()===o.toLowerCase()?"ring-2 ring-offset-1 ring-primary z-10 scale-110":""}`},onclick:()=>{_(o)}}))))},Of=(n)=>{let f=L(""),t=()=>K(n.range)===!0;V(()=>{let o=K(n.value);if(!o)return f("");let b="";if(typeof o==="string")b=n.hour&&o.includes("T")?o.replace("T"," "):o;else if(o.start&&o.end){let u=n.hour&&o.startHour!=null?`${o.start} ${String(o.startHour).padStart(2,"0")}:00`:o.start,E=n.hour&&o.endHour!=null?`${o.end} ${String(o.endHour).padStart(2,"0")}:00`:o.end;b=`${u} - ${E}`}else if(o.start)b=`${n.hour&&o.startHour!=null?`${o.start} ${String(o.startHour).padStart(2,"0")}:00`:o.start}...`;f(b)});let _=(o)=>{if(P(n.value))n.value(o);else n.onChange?.(o);if(!t()||o?.end!=null)s()};return m({class:N("w-full",n.class)},[r("label",{tabindex:"0",role:"button",class:"input input-bordered flex items-center gap-2 cursor-pointer"},[r("span",{class:"icon-[lucide--calendar] shrink-0"}),r("span",{class:()=>`grow text-left truncate ${!f()?"opacity-50":""}`},()=>f()||n.placeholder||(t()?"Seleccionar rango...":"Seleccionar fecha...")),()=>f()?r("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle -mr-2",onmousedown:(o)=>{if(o.preventDefault(),o.stopPropagation(),P(n.value))n.value(null);else n.onChange?.(null);f("")}},r("span",{class:"icon-[lucide--x] opacity-50"})):null]),e({class:"p-0"},Tn({value:n.value,range:t(),hour:n.hour,onChange:_}))])},jf=(n,f)=>div({...n,class:N("drawer",n.class)},f),Cf=(n)=>input({...n,type:"checkbox",class:"drawer-toggle",checked:()=>K(n.checked),onchange:(f)=>P(n.checked)&&n.checked(f.target.checked)}),Wf=(n,f)=>div({...n,class:N("drawer-content",n.class)},f),Pf=(n,f)=>div({...n,class:N("drawer-side",n.class)},f),Tf=(n)=>label({...n,for:n.for,class:N("drawer-overlay",n.class)}),Jf=(n)=>r("div",{...n,class:N("divider",n.class)}),m=(n,f)=>r("div",{...n,class:N("dropdown",n.class)},f),Kn=(n,f)=>r("div",{...n,tabindex:"0",role:"button",class:N("btn",n.class)},f),e=(n,f)=>r("div",{...n,tabindex:"0",class:N("dropdown-content",n.class)},f),Kf=(n,f)=>r("div",{class:"fab"},[r("div",{tabindex:"0",role:"button",class:N("btn",n.class)},i(n.icon)),f]),Lf=(n,f)=>r("fieldset",{class:N("fieldset",n.class)},[r("legend",{class:"fieldset-legend"},n.label),f]),Uf=(n)=>{let f=L([]),t=L(!1),_=L(null),o=(n.max||2)*1024*1024,b=(E)=>{let w=Array.from(E);if(_(null),w.some((O)=>O.size>o)){_(`Máx ${n.max||2}MB`);return}let y=[...f(),...w];if(f(y),P(n.onselect))n.onselect(y);else if(P(n.value))n.value(y)},u=(E)=>{let w=f().filter((y,O)=>O!==E);if(f(w),P(n.onselect))n.onselect(w);else if(P(n.value))n.value(w)};return r("div",{class:N("fieldset w-full p-0",n.class)},[r("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 ${t()?"border-primary bg-primary/10":"border-base-content/20 bg-base-100 hover:bg-base-200"}`,ondragover:(E)=>{E.preventDefault(),t(!0)},ondragleave:()=>t(!1),ondrop:(E)=>{E.preventDefault(),t(!1),b(E.dataTransfer.files)}},[r("div",{class:"flex items-center gap-3 w-full"},[r("span",{class:"icon-[lucide--upload]"}),r("span",{class:"text-sm opacity-70 truncate grow text-left"},Wn("uploadFiles")),r("span",{class:"text-[10px] opacity-40 shrink-0"},`Máx ${n.max||2}MB`)]),r("input",{type:"file",multiple:!0,accept:n.accept||"*",class:"hidden",onchange:(E)=>b(E.target.files)})]),()=>_()&&r("span",{class:"text-[10px] text-error mt-1 px-1 font-medium"},_()),on(()=>f().length>0,()=>r("ul",{class:"mt-2 space-y-1"},I(f,(E,w)=>r("li",{class:"flex items-center justify-between p-1.5 pl-3 text-xs bg-base-200/50 rounded-md border border-base-300"},[r("div",{class:"flex items-center gap-2 truncate"},[r("span",{class:"opacity-50"},"\uD83D\uDCC4"),r("span",{class:"truncate font-medium max-w-[200px]"},E.name),r("span",{class:"text-[9px] opacity-40"},`(${(E.size/1024).toFixed(0)} KB)`)]),r("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle",onclick:(y)=>{y.preventDefault(),u(w)}},r("span",{class:"icon-[lucide--x]"}))]))))])},i=(n)=>r("span",{class:n.startsWith("icon-")?n:""},n.startsWith("icon-")?null:n),Xf=(n,f)=>r("div",{...n,class:N("indicator",n.class)},[n.value&&r("span",{class:N("indicator-item badge",n.class)},n.value),f]),Ln=(n)=>{let{label:f,icon:t,float:_,placeholder:o,value:b,left:u,right:E,rule:w,hint:y,content:O,...C}=n,W=L(!1),T=n.type==="password",k=w??null,j=()=>T?K(W)?"text":"password":n.type||"search";return r("label",{class:_?"floating-label":""},[_?r("span",{},f):null,r("label",{pattern:k,class:()=>N("input validator",n.class)},[f&&!_?r("span",{class:"label"},f):null,u??null,r("input",{...C,type:j,class:"grow",pattern:k,placeholder:o||f||" ",value:b}),E??null,T?Un({class:"ml-2"},[Xn({value:W,class:"swap-rotate"}),zn({},i("icon-[lucide--eye]")),Qn({},i("icon-[lucide--eye-off]"))]):null]),y?r("div",{class:"validator-hint"},y):null])},zf=(n,f)=>r("kbd",{...n,class:N("kbd",n.class)},f),Qf=(n,f)=>r("ul",{...n,class:N("list",n.class)},f),Sf=(n)=>()=>(K(n.items)||[]).map((f,t)=>r("li",{class:N("list-row",n.class,f?.class)},typeof n.render==="function"?n.render(f,t):f)),Gf=(n,f)=>r("span",{...n,class:N("loading loading-spinner",n.class)},f),Mf=(n)=>{if(n.children!==void 0)return r("ul",{class:N("menu",n.class),...n},n.children);let{items:f}=n,t=(_)=>_.children?r("li",{},r("details",{open:_.open||void 0},[r("summary",{},g(_)),r("ul",{},I(()=>K(_.children)||[],t))])):r("li",{},r("a",{href:_.href,onclick:_.onclick?(o)=>{if(!_.href)o.preventDefault();_.onclick(o)}:null},g(_)));return r("ul",{class:N("menu",n.class)},I(()=>K(f)||[],t))},Zf=(n)=>{let f=null;V(()=>{let _=K(n.open);if(!f)return;_?f.showModal():f.hide()});let t=()=>P(n.open)&&n.open(!1);return r("dialog",{...n,ref:(_)=>f=_,class:N("modal",n.class),onclose:t,oncancel:t},[r("div",{class:"modal-box"},[n.title&&r("h3",{class:"text-lg font-bold"},n.title),n.children,r("div",{class:"modal-action"},[n.actions||Pn({class:"btn",onclick:t},"Cerrar")])]),r("form",{method:"dialog",class:"modal-backdrop"},[r("button",{},"close")])])},Yf=(n,f)=>r("div",{...n,class:N("navbar",n.class)},f),Bf=(n)=>r("progress",{...n,class:N("progress",n.class)}),If=(n,f)=>r("div",{class:N("radial-progress",n.class),style:`--value:${K(n.value)??0};`,role:"progressbar","aria-valuenow":n.value},f),gf=(n)=>r("input",{...n,type:"radio",class:N("radio",n.class)}),df=(n)=>r("input",{...n,type:"range",class:N("range",n.class)}),$f=(n,f)=>r("div",{...n,class:"rating"},f),Vf=(n)=>[...Array(n.count)].map((f,t)=>r("input",{class:N("mask",n.class),name:n.name,type:"radio",checked:()=>K(n.value)===t,onchange:()=>P(n.value)?n.value(t):n.onchange?.(t)})),qf=(n,f)=>{if(f!==void 0)return r("select",{class:N("select",n.class),...n},f);let{label:t,float:_,placeholder:o,placeholderDisabled:b=!0,value:u,left:E,right:w,hint:y,items:O,keyFn:C,...W}=n,T=()=>{let k=K(O)||[];return[...o?[{disabled:b,label:o,value:""}]:[],...k]};return r("label",{class:_?"floating-label":""},[_?r("span",{},t):null,r("label",{class:N("select",W.class)},[!_&&t?r("span",{class:"label"},t):null,E??null,r("select",{value:()=>K(u),onchange:(k)=>P(u)?u(k.target.value):W.onchange?.(k)},I(T,(k)=>{let j=g(k,k.value!==void 0?"value":void 0),Q=g(k,"label");return r("option",{value:j,disabled:k.disabled||void 0},Q)})),w??null]),y?r("div",{class:"validator-hint"},y):null])},Hf=(n)=>r("div",{...n,class:N("skeleton",n.class)}),Rf=(n)=>r("span",{...n,class:N("skeleton skeleton-text",n.class)}),lf=(n,f)=>r("div",{...n,class:N("stack",n.class)},f),Df=(n,f)=>r("div",{...n,class:N("stats shadow",n.class)},f),Ff=(n)=>r("div",{...n,class:N("stat",n.class)},[n.title?r("div",{class:"stat-title"},n.title):null,n.value?r("div",{class:"stat-value"},n.value):null,n.desc?r("div",{class:"stat-desc"},n.desc):null]),af=(n,f)=>r("ul",{...n,class:N("steps",n.class)},f),xf=(n,f)=>r("li",{...n,class:N("step",n.class),"data-content":n.dataContent},f),Un=(n,f)=>r("label",{...n,class:N("swap",n.class)},f),Xn=(n)=>r("input",{type:"checkbox",checked:()=>K(n.value),onchange:(f)=>P(n.value)&&n.value(f.target.checked),class:n.class}),zn=(n,f)=>r("div",{...n,class:N("swap-on",n.class)},f),Qn=(n,f)=>r("div",{...n,class:N("swap-off",n.class)},f),sf=(n,f)=>r("table",{...n,class:N("table",n.class)},f),mf=({items:n,columns:f=[],header:t=!0})=>{let _=t!==!1&&f.some((b)=>b.label)?r("thead",{},r("tr",{},f.map((b)=>r("th",{class:b.class},b.label)))):null,o=r("tbody",{},()=>{return(K(n)||[]).map((u,E)=>r("tr",{},f.map((w)=>{let y=w.render?w.render(u,E):u[w.key];return r("td",{class:w.class},y)})))});return[_,o].filter(Boolean)},ef=(n,f)=>{if(!n.items){let{class:y,...O}=n;return r("div",{...O,class:N("tabs",y)},f)}let{items:t,activeIndex:_,onClose:o,class:b,...u}=n,E=(y)=>P(y)?y():y,w=o||(P(t)?(y,O)=>{let W=K(t).filter((T,k)=>k!==y);if(t(W),_()>=W.length)_(Math.max(0,W.length-1))}:null);return r("div",{...u,class:N("tabs",b)},()=>{return(K(t)||[]).flatMap((O,C)=>{let W=()=>_()===C,T=r("button",{class:()=>`tab ${W()?"tab-active":""} ${O.class||""}`,onclick:(j)=>{j.preventDefault(),_(C),O.onclick?.(j)}},[g(O),O.closable?r("span",{class:"ml-1 inline-flex items-center justify-center w-4 h-4 rounded-full hover:bg-base-300 text-base-content/60 hover:text-base-content cursor-pointer",onclick:(j)=>{j.stopPropagation(),w?.(C,O)}},r("span",{class:"icon-[lucide--x] w-3 h-3"})):null]),k=r("div",{class:"tab-content bg-base-100 border-base-300 p-6",style:()=>`display: ${W()?"block":"none"};`},P(O.content)?O.content():O.content);return[T,k]})})},vf=(n)=>r("textarea",{...n,class:N("textarea",n.class)}),cf=(n,f)=>r("span",{...n,class:N("text-rotate",n.class)},r("span",{},f)),hf=(n,f)=>r("ul",{...n,class:N("timeline",n.class)},f),pf=(n,f="alert-success",t=3500)=>{let _=document.getElementById("sigpro-toast-container");if(!_)_=r("div",{id:"sigpro-toast-container",class:"fixed top-0 right-0 z-[9999] p-4 flex flex-col items-end gap-2 pointer-events-none"}),document.body.appendChild(_);let o=r("div",{style:"display: contents"});_.appendChild(o);let b,u,E,y=un(()=>{let O=L(!1),C=L(!1);b=()=>{if(C())return;clearTimeout(u),clearTimeout(E),C(!0),setTimeout(()=>{if(y.destroy(),o.remove(),!_.hasChildNodes())_.remove()},300)},E=setTimeout(()=>O(!0),0);let W=typeof n==="function"?K(n):n,T=typeof W==="string"?r("span",{},W):W;return r("div",{class:()=>{let k=`alert alert-soft ${f} shadow-lg transition-all duration-300 inline-flex w-auto whitespace-nowrap pointer-events-auto`;if(C())return`${k} translate-x-full opacity-0`;if(O())return`${k} translate-x-0 opacity-100`;return`${k} translate-x-10 opacity-0`}},[T,r("button",{class:"btn btn-xs btn-circle btn-ghost",onclick:b},r("span",{class:"icon-[lucide--x]"}))])},o);if(t>0)u=setTimeout(b,t);return b},nr=(n)=>r("input",{...n,type:"checkbox",class:N("toggle",n.class)}),fr=(n,f)=>r("div",{...n,class:N("tooltip",n.class),"data-tip":n.tip},f),rr=(n)=>{let{value:f,class:t}=n,_=null,o=null,b=L(!1),u=L(""),E=L(0),w=L(0),y=L(!1),O=["\uD83D\uDE00","\uD83D\uDE0A","\uD83D\uDE09","\uD83E\uDDD0","\uD83D\uDE2E","\uD83E\uDD14","\uD83D\uDE05","\uD83D\uDE02","\uD83D\uDE0D","\uD83D\uDE18","\uD83E\uDD70","\uD83D\uDC4D","\uD83D\uDC4E","\uD83D\uDC4C","\uD83E\uDD1D","\uD83E\uDD1E","\uD83D\uDC4B","\uD83D\uDC4F","\uD83D\uDE4C","\uD83D\uDE4F","\uD83D\uDCAA","☝️","\uD83D\uDC47","\uD83D\uDC48","\uD83D\uDC49","\uD83D\uDD95","✅","⚠️","\uD83D\uDE80","\uD83D\uDCE2","✉️","❤️"],C=()=>{let A=window.getSelection();if(A.getRangeAt&&A.rangeCount)o=A.getRangeAt(0)},W=()=>{if(o){let A=window.getSelection();A.removeAllRanges(),A.addRange(o)}},T=()=>{if(w(w()+1),_)E(_.innerText.length)},k=()=>{if(!_)return;let A=_.innerHTML;if(P(f))f(A);else n.onchange?.(A);T()},j=(A,J=null)=>{if(!_)return;if(_.focus(),o)W();document.execCommand(A,!1,J),o=null,k()},Q=(A)=>{let J=document.createElement("div");J.style="position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.9);z-index:9999;display:flex;align-items:center;justify-content:center;cursor:zoom-out;";let U=document.createElement("img");U.src=A,U.style="max-width:95%;max-height:95%;box-shadow:0 0 30px rgba(0,0,0,0.5);border-radius:4px;",J.onclick=()=>document.body.removeChild(J),J.appendChild(U),document.body.appendChild(J)},Y=(A)=>{if(!A)return;let J=new FileReader;J.onload=(U)=>{if(A.type.startsWith("image/")){let z=`
 `;j("insertHTML",z)}else{let z=`${A.name} `;j("insertHTML",z)}},J.readAsDataURL(A)},S=(A,J=null)=>{if(w(),!_||b())return!1;try{if(A==="formatBlock"){let U=window.getSelection().getRangeAt(0).commonAncestorContainer;while(U&&U!==_){if(U.nodeType===1&&U.tagName===J)return!0;U=U.parentNode}return!1}return document.queryCommandState(A)}catch(U){return!1}},v=r("div",{class:"flex flex-wrap items-center gap-1 p-2 border-b border-base-300 bg-base-200 sticky top-0 z-20"},[r("div",{class:"flex flex-wrap gap-1 flex-1 items-center"},[r("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${S("bold")?"btn-active bg-primary/20":""}`,onclick:()=>j("bold")},r("span",{class:"icon-[lucide--bold]"})),r("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${S("italic")?"btn-active bg-primary/20":""}`,onclick:()=>j("italic")},r("span",{class:"icon-[lucide--italic]"})),r("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${S("underline")?"btn-active bg-primary/20":""}`,onclick:()=>j("underline")},r("span",{class:"icon-[lucide--underline]"})),r("input",{type:"color",class:"w-5 h-5 p-0 border-0 bg-transparent cursor-pointer",oninput:(A)=>j("foreColor",A.target.value)}),r("span",{class:"w-px h-5 bg-base-300 mx-1"}),r("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>j("justifyLeft")},r("span",{class:"icon-[lucide--align-left]"})),r("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>j("justifyCenter")},r("span",{class:"icon-[lucide--align-center]"})),r("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>j("justifyRight")},r("span",{class:"icon-[lucide--align-right]"})),r("span",{class:"w-px h-5 bg-base-300 mx-1"}),r("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>j("insertUnorderedList")},r("span",{class:"icon-[lucide--list]"})),r("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>j("insertOrderedList")},r("span",{class:"icon-[lucide--list-ordered]"})),r("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>j("outdent")},r("span",{class:"icon-[lucide--indent-decrease]"})),r("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>j("indent")},r("span",{class:"icon-[lucide--indent-increase]"})),r("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${S("formatBlock","BLOCKQUOTE")?"btn-active":""}`,onclick:()=>j("formatBlock",S("formatBlock","BLOCKQUOTE")?"P":"BLOCKQUOTE")},r("span",{class:"icon-[lucide--quote]"})),r("span",{class:"w-px h-5 bg-base-300 mx-1"}),r("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>{let A=window.prompt("URL:");if(A)j("createLink",A)}},r("span",{class:"icon-[lucide--link]"})),r("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>{let A=document.createElement("input");A.type="file",A.onchange=(J)=>Y(J.target.files[0]),A.click()}},r("span",{class:"icon-[lucide--paperclip]"})),r("div",{class:"relative"},[r("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:(A)=>{A.stopPropagation(),C(),y(!y())}},r("span",{class:"icon-[lucide--smile]"})),r("div",{class:"absolute top-full left-0 mt-1 p-2 bg-base-100 border border-base-300 shadow-xl rounded-box w-52 z-50 flex flex-wrap gap-1",style:()=>y()?"display:flex":"display:none"},O.map((A)=>r("span",{class:"cursor-pointer hover:bg-base-200 p-1 rounded text-lg",onclick:(J)=>{J.stopPropagation(),j("insertText",A),y(!1)}},A)))]),r("span",{class:"w-px h-5 bg-base-300 mx-1"}),r("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>j("undo")},r("span",{class:"icon-[lucide--undo-2]"})),r("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>j("redo")},r("span",{class:"icon-[lucide--redo-2]"}))]),r("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${b()?"btn-active":""}`,onclick:()=>{if(!b())u(_?.innerHTML||"");else if(_)_.innerHTML=u(),k();b(!b())}},r("span",{class:"icon-[lucide--code-2]"}))]);if(typeof document<"u"&&!document.getElementById("editor-styles")){let A=document.createElement("style");A.id="editor-styles",A.textContent=` +(()=>{var{defineProperty:nn,getOwnPropertyNames:In,getOwnPropertyDescriptor:Vn}=Object,Yn=Object.prototype.hasOwnProperty;function Bn(n){return this[n]}var Rn=(n)=>{var t=(wn??=new WeakMap).get(n),o;if(t)return t;if(t=nn({},"__esModule",{value:!0}),n&&typeof n==="object"||typeof n==="function"){for(var _ of In(n))if(!Yn.call(t,_))nn(t,_,{get:Bn.bind(n,_),enumerable:!(o=Vn(n,_))||o.enumerable})}return wn.set(n,t),t},wn;var qn=(n)=>n;function Dn(n,t){this[n]=qn.bind(null,t)}var An=(n,t)=>{for(var o in t)nn(n,o,{get:t[o],enumerable:!0,configurable:!0,set:Dn.bind(t,o)})};var of={};An(of,{Components:()=>zn});var Nn={};An(Nn,{when:()=>un,watch:()=>D,t:()=>Wn,router:()=>$,onUnmount:()=>q,mount:()=>sn,lang:()=>Un,isObj:()=>d,isFunc:()=>W,isArr:()=>V,hide:()=>a,h:()=>f,each:()=>Y,currentLocale:()=>En,batch:()=>Cn,Tooltip:()=>tf,Toggle:()=>nf,Toast:()=>pt,Timeline:()=>ht,Textrotate:()=>vt,Textarea:()=>mt,Tabs:()=>lt,TableItems:()=>it,Table:()=>at,SwapToggle:()=>jn,SwapOn:()=>yn,SwapOff:()=>kn,Swap:()=>Xn,Steps:()=>et,Step:()=>ct,Stats:()=>xt,Stat:()=>gt,Stack:()=>dt,SkeletonText:()=>Ft,Skeleton:()=>Ht,Select:()=>$t,RatingItems:()=>Dt,Rating:()=>qt,Range:()=>Rt,Radio:()=>Bt,Radial:()=>Yt,Progress:()=>Vt,Navbar:()=>It,Modal:()=>Zt,Menu:()=>Mt,Locale:()=>an,Loading:()=>zt,ListRows:()=>kt,List:()=>yt,Kbd:()=>jt,Input:()=>Qn,Indicator:()=>Xt,Icon:()=>c,Fragment:()=>Gn,Fileinput:()=>Qt,Fieldset:()=>Jt,Fab:()=>Pt,Editor:()=>ff,DropdownContent:()=>l,DropdownButton:()=>Jn,Dropdown:()=>i,DrawerToggle:()=>Gt,DrawerSide:()=>Wt,DrawerOverlay:()=>Kt,DrawerContent:()=>Ut,Drawer:()=>Ct,Divider:()=>Lt,Datepicker:()=>Tt,Colorpicker:()=>St,ColorPalette:()=>Pn,Checkbox:()=>bt,ChatImage:()=>Ot,ChatHeader:()=>At,ChatFooter:()=>wt,ChatBubble:()=>Nt,Chat:()=>Et,CarouselItem:()=>st,Carousel:()=>ut,CardTitle:()=>ot,CardBody:()=>_t,CardActions:()=>rt,Card:()=>ft,Calendar:()=>Ln,Button:()=>Kn,Breadcrumbs:()=>tt,Badge:()=>nt,AvatarGroup:()=>hn,Avatar:()=>vn,Autocomplete:()=>pn,Alert:()=>mn,Accordion:()=>ln,$$:()=>_n,$:()=>P});var W=(n)=>typeof n==="function",d=(n)=>n&&typeof n==="object",V=Array.isArray,M=typeof document<"u"?document:null,On=(n)=>n?._isRuntime?n.container:n instanceof Node?n:M.createTextNode(n==null?"":String(n)),Q=null,k=null,H=!1,x=0,g=new Set,bn=new WeakMap,tn=Symbol("iter"),fn=new WeakMap,$n="http://www.w3.org/2000/svg",Sn="http://www.w3.org/1999/xlink",Hn=new Set("svg,path,circle,rect,line,polyline,polygon,g,defs,text,textPath,tspan,use,symbol,image,marker,ellipse".split(",")),R=(n)=>{if(!n||n._disposed)return;n._disposed=!0;let t=[n];while(t.length){let o=t.pop();if(o._cleanups)o._cleanups.forEach((_)=>_()),o._cleanups.clear();if(o._children)o._children.forEach((_)=>t.push(_)),o._children.clear();if(o._deps)o._deps.forEach((_)=>_.delete(o)),o._deps.clear()}},q=(n)=>{if(k)(k._cleanups||=new Set).add(n)},Fn=(n)=>{let t=Q;Q=null;try{return n()}finally{Q=t}},F=(n,t=!1)=>{let o=()=>{if(o._disposed)return;if(o._deps)o._deps.forEach((s)=>s.delete(o));if(o._cleanups)o._cleanups.forEach((s)=>s()),o._cleanups.clear();let _=Q,r=k;Q=k=o;try{return o._result=n()}catch(s){console.error("[SigPro]",s)}finally{Q=_,k=r}};if(o._deps=o._cleanups=o._children=null,o._disposed=!1,o._isComputed=t,o._depth=Q?Q._depth+1:0,o._mounts=[],o._parent=k,k)(k._children||=new Set).add(o);return o},Tn=()=>{if(H)return;H=!0;let n=Array.from(g).sort((t,o)=>t._depth-o._depth);g.clear();for(let t of n)if(!t._disposed)t();H=!1},Cn=(n)=>{x++;try{return n()}finally{if(x--,x===0&&g.size>0&&!H)Tn()}},z=(n,t=!1)=>{if(!t&&Q&&!Q._disposed)n.add(Q),(Q._deps||=new Set).add(n);else if(t&&n.size>0){let o=!1;for(let _ of n){if(_===Q||_._disposed)continue;if(_._isComputed){if(_._dirty=!0,_._subs)z(_._subs,!0)}else g.add(_),o=!0}if(o&&!H&&x===0)queueMicrotask(Tn)}},P=(n,t=null)=>{let o=new Set;if(W(n)){let _,r=()=>{if(r._dirty){let s=Q;Q=r;try{let u=n();if(!Object.is(_,u))_=u,z(o,!0)}finally{Q=s}r._dirty=!1}return z(o),_};return r._isComputed=!0,r._subs=o,r._dirty=!0,r._deps=null,r._disposed=!1,r}if(t)try{n=JSON.parse(localStorage.getItem(t))??n}catch(_){}return(..._)=>{if(_.length){let r=W(_[0])?_[0](n):_[0];if(!Object.is(n,r)){if(n=r,t)localStorage.setItem(t,JSON.stringify(n));z(o,!0)}}return z(o),n}},_n=(n)=>{if(!d(n))return n;let t=bn.get(n);if(t)return t;let o=new Map,_=(s)=>{let u=o.get(s);if(!u)o.set(s,u=new Set);return u},r=new Proxy(n,{get(s,u,N){if(typeof u!=="symbol")z(_(u));return _n(Reflect.get(s,u,N))},set(s,u,N,E){let A=Reflect.has(s,u),S=Reflect.get(s,u,E),C=Reflect.set(s,u,N,E);if(C&&!Object.is(S,N)){if(z(_(u),!0),!A)z(_(tn),!0)}return C},deleteProperty(s,u){let N=Reflect.deleteProperty(s,u);if(N)z(_(u),!0),z(_(tn),!0);return N},ownKeys(s){return z(_(tn)),Reflect.ownKeys(s)}});return bn.set(n,r),r},D=(n,t)=>{if(t===void 0){let _=F(n);return _(),()=>R(_)}let o=F(()=>{let _=Array.isArray(n)?n.map((r)=>r()):n();Fn(()=>t(_))});return o(),()=>R(o)},rn=(n)=>{if(!n)return;if(n._cleanups)n._cleanups.forEach((t)=>t()),n._cleanups.clear();if(n._ownerEffect)R(n._ownerEffect);if(n.childNodes)n.childNodes.forEach((t)=>rn(t))},dn=/^\s*(javascript|data|vbscript):/i,xn=new Set(["src","href","formaction","action","background","code","archive"]),gn=(n)=>xn.has(n)||n.startsWith("on"),on=(n,t)=>{if(t==null||t===!1)return null;if(gn(n)){let o=String(t);if(dn.test(o))return console.warn(`[SigPro] Bloqueado protocolo peligroso en ${n}`),"#"}return t},f=(n,t={},o=[])=>{if(t instanceof Node||V(t)||!d(t))o=t,t={};if(W(n)){let u=F(()=>{let S=n(t,{children:o,emit:(C,...G)=>t[`on${C[0].toUpperCase()}${C.slice(1)}`]?.(...G)});return u._result=S,S});u();let N=u._result;if(N==null)return null;let E=N instanceof Node||V(N)&&N.every((S)=>S instanceof Node)?N:M.createTextNode(String(N)),A=(S)=>{if(d(S)&&!S._isRuntime)S._mounts=u._mounts||[],S._cleanups=u._cleanups||new Set,S._ownerEffect=u};return V(E)?E.forEach(A):A(E),E}let _=Hn.has(n),r=_?M.createElementNS($n,n):M.createElement(n);r._cleanups=new Set;for(let u of Object.keys(t)){let N=t[u];if(u==="ref"){W(N)?N(r):N.current=r;continue}if(_&&u.startsWith("xlink:")){let E=on(u.slice(6),N);E==null?r.removeAttributeNS(Sn,u.slice(6)):r.setAttributeNS(Sn,u.slice(6),E);continue}if(u.startsWith("on")){let E=u.slice(2).toLowerCase();r.addEventListener(E,N);let A=()=>r.removeEventListener(E,N);r._cleanups.add(A),q(A)}else if(W(N)){let E=F(()=>{let A=on(u,N());if(u==="class")r.className=A||"";else if(A==null)r.removeAttribute(u);else if(u==="style"&&typeof A==="string")r.setAttribute("style",A);else if(u in r&&!_)r[u]=A;else r.setAttribute(u,A===!0?"":A)});if(E(),r._cleanups.add(()=>R(E)),q(()=>R(E)),/^(INPUT|TEXTAREA|SELECT)$/.test(r.tagName)&&(u==="value"||u==="checked")){let A=u==="checked"?"change":"input";r.addEventListener(A,(S)=>N(S.target[u]))}}else{let E=on(u,N);if(E!=null)if(u==="style"&&typeof E==="string")r.setAttribute("style",E);else if(u in r&&!_)r[u]=E;else r.setAttribute(u,E===!0?"":E)}}let s=(u)=>{if(V(u))return u.forEach(s);if(W(u)){let N=M.createTextNode("");r.appendChild(N);let E=[],A=F(()=>{let S=u(),C=(V(S)?S:[S]).map(On);E.forEach((U)=>{if(U._isRuntime)U.destroy();else rn(U);if(U.parentNode)U.remove()});let G=N;for(let U=C.length-1;U>=0;U--){let b=C[U];if(b.parentNode!==G.parentNode)G.parentNode?.insertBefore(b,G);if(b._mounts)b._mounts.forEach((T)=>T());G=b}E=C});A(),r._cleanups.add(()=>R(A)),q(()=>R(A))}else{let N=On(u);if(r.appendChild(N),N._mounts)N._mounts.forEach((E)=>E())}};return s(o),r},e=(n)=>{let t=new Set,o=k,_=Q,r=M.createElement("div");r.style.display="contents",r.setAttribute("role","presentation"),k={_cleanups:t},Q=null;let s=(u)=>{if(!u)return;if(u._isRuntime)t.add(u.destroy),r.appendChild(u.container);else if(V(u))u.forEach(s);else r.appendChild(u instanceof Node?u:M.createTextNode(String(u==null?"":u)))};try{s(n({onCleanup:(u)=>t.add(u)}))}finally{k=o,Q=_}return{_isRuntime:!0,container:r,destroy:()=>{t.forEach((u)=>u()),rn(r),r.remove()}}},un=(n,t,o=null)=>{let _=M.createTextNode(""),r=f("div",{style:"display:contents"},[_]),s=null;return D(()=>!!(W(n)?n():n),(u)=>{if(s)s.destroy(),s=null;let N=u?t:o;if(N)s=e(()=>W(N)?N():N),r.insertBefore(s.container,_)}),q(()=>s?.destroy()),r},Y=(n,t,o)=>{let _=M.createTextNode(""),r=f("div",{style:"display:contents"},[_]),s=new Map;return D(()=>(W(n)?n():n)||[],(u)=>{let N=new Map,E=[],A=u||[];for(let C=0;Ct(G,C));else s.delete(U);N.set(U,b),E.push(b)}s.forEach((C)=>C.destroy());let S=_;for(let C=E.length-1;C>=0;C--){let U=E[C].container;if(U.nextSibling!==S)r.insertBefore(U,S);S=U}s=N}),r},$=(n)=>{let t=()=>window.location.hash.slice(1)||"/",o=P(t()),_=()=>o(t());window.addEventListener("hashchange",_),q(()=>window.removeEventListener("hashchange",_));let r=f("div",{class:"router-hook"}),s=null;return D([o],()=>{let u=o(),N=n.find((E)=>{let A=E.path.split("/").filter(Boolean),S=u.split("/").filter(Boolean);return A.length===S.length&&A.every((C,G)=>C[0]===":"||C===S[G])})||n.find((E)=>E.path==="*");if(N){s?.destroy();let E={};N.path.split("/").filter(Boolean).forEach((A,S)=>{if(A[0]===":")E[A.slice(1)]=u.split("/").filter(Boolean)[S]}),$.params(E),s=e(()=>W(N.component)?N.component(E):N.component),r.replaceChildren(s.container)}}),r};$.params=P({});$.to=(n)=>window.location.hash=n.replace(/^#?\/?/,"#/");$.back=()=>window.history.back();$.path=()=>window.location.hash.replace(/^#/,"")||"/";var Gn=(n)=>n.children,sn=(n,t)=>{let o=typeof t==="string"?M.querySelector(t):t;if(!o)return;if(fn.has(o))fn.get(o).destroy();let _=e(W(n)?n:()=>n);return o.replaceChildren(_.container),fn.set(o,_),_};if(typeof window<"u")"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((n)=>{window[n]=(t,o)=>f(n,t,o)});var L=(n)=>typeof n==="function"?n():n,B=(n,t="label")=>n&&typeof n==="object"?n[t]:n,w=(...n)=>n.filter(Boolean).join(" ").trim(),en=(n,t,o="label",_=String(t).toLowerCase())=>!t?L(n):L(n).filter((r)=>String(r&&typeof r==="object"?r[o]:r).toLowerCase().includes(_)),cn=(n)=>`${n}-${Math.random().toString(36).slice(2,9)}`,a=()=>document.activeElement?.blur(),Un={es:{uploadFiles:"Arrastrar y soltar o click para seleccionar..."},en:{uploadFiles:"Drag and drop or click to select"}},En=P("en"),an=(n)=>En(n),Wn=(n)=>()=>Un[En()][n]||n,ln=(n)=>{let t=n.name||cn("acc");return Y(n.items,(o)=>{return f("div",{class:w("collapse",n.class)},[f("input",{type:"radio",name:t,checked:o.open||void 0}),o.title?f("div",{class:w("collapse-title",`${o.classTitle??" font-semibold"}`)},o.title):null,o.content?f("div",{class:w("collapse-content text-sm",`${o.classContent??" font-semibold"}`)},o.content):null])})},mn=(n,t)=>f("div",{...n,class:w("alert",n.class)},t),vn=(n,t)=>f("div",{class:"avatar"},f("div",{class:n.class},t)),hn=(n,t)=>f("div",{...n,class:w("avatar-group -space-x-6",n.class)},t),pn=({items:n,value:t,onselect:o,placeholder:_="...",...r})=>{let s=P(L(t)||""),u=P(()=>en(n,s())),N=(E)=>{let A=B(E),S=typeof E==="string"?E:E.value;if(s(A),W(t))t(S);o?.(E),a()};return i({class:"w-full"},[f("div",{tabindex:"0",role:"button",class:"w-full"},Qn({...r,placeholder:_,value:s,left:f("span",{class:"icon-[lucide--search]"}),oninput:(E)=>{if(s(E.target.value),W(t))t(E.target.value)}})),l({class:"p-2 bg-base-100 rounded-box shadow-xl w-full max-h-60 overflow-y-auto border border-base-300 z-50"},f("ul",{class:"menu flex-col flex-nowrap w-full p-0"},[Y(u,(E)=>f("li",{},[f("a",{onmousedown:(A)=>A.preventDefault(),onclick:()=>N(E)},B(E))]),(E)=>B(E)),()=>u().length===0?f("li",{class:"p-4 opacity-50 text-center"},"Sin resultados"):null]))])},nt=(n,t)=>f("span",{...n,class:w("badge",n.class)},t),tt=(n,t)=>f("div",{...n,class:w("breadcrumbs",n.class)},t),Kn=(n,t)=>f("button",{...n,class:w("btn",n.class)},t),Ln=(n)=>{let t=P(new Date),o=P(null),_=P(0),r=P(0),s=new Date,u=`${s.getFullYear()}-${String(s.getMonth()+1).padStart(2,"0")}-${String(s.getDate()).padStart(2,"0")}`,N=(b)=>`${b.getFullYear()}-${String(b.getMonth()+1).padStart(2,"0")}-${String(b.getDate()).padStart(2,"0")}`,E=()=>L(n.range)===!0,A=()=>L(n.value),S=(b)=>{let T=N(b),j=A();if(E())if(!j?.start||j.start&&j.end)n.onChange?.({start:T,end:null,...n.hour&&{startHour:_()}});else{let Z=j.start,y=T{let T=t();t(new Date(T.getFullYear(),T.getMonth()+b,1))},G=(b)=>{let T=t();t(new Date(T.getFullYear()+b,T.getMonth(),1))},U=({value:b,onChange:T})=>f("div",{class:"flex-1"},[f("div",{class:"flex gap-2 items-center"},[f("input",{type:"range",min:0,max:23,value:b,class:"range range-xs flex-1",oninput:(j)=>T(+j.target.value)}),f("span",{class:"text-sm font-mono min-w-[48px] text-center"},()=>String(L(b)).padStart(2,"0")+":00")])]);return f("div",{class:w("p-4 bg-base-100 border border-base-300 shadow-2xl rounded-box w-80 select-none",n.class)},[f("div",{class:"flex justify-between items-center mb-4 gap-1"},[f("div",{class:"flex gap-0.5"},[f("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>G(-1)},f("span",{class:"icon-[lucide--chevrons-left]"})),f("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>C(-1)},f("span",{class:"icon-[lucide--chevron-left]"}))]),f("span",{class:"font-bold uppercase flex-1 text-center"},()=>t().toLocaleString("es-ES",{month:"short",year:"numeric"})),f("div",{class:"flex gap-0.5"},[f("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>C(1)},f("span",{class:"icon-[lucide--chevron-right]"})),f("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>G(1)},f("span",{class:"icon-[lucide--chevrons-right]"}))])]),f("div",{class:"grid grid-cols-7 gap-1",onmouseleave:()=>o(null)},[...["L","M","X","J","V","S","D"].map((b)=>f("div",{class:"text-[10px] opacity-40 font-bold text-center"},b)),()=>{let b=t(),T=b.getFullYear(),j=b.getMonth(),Z=new Date(T,j,1).getDay(),y=Z===0?6:Z-1,m=new Date(T,j+1,0).getDate(),O=[];for(let K=0;K{let I=A(),v=o(),Mn=typeof I==="string"?I.split("T")[0]===X:I?.start===X,Zn=I?.end===X,h=!1;if(E()&&I?.start){let p=I.start;if(!I.end&&v)h=X>p&&X<=v||X=v;else if(I.end)h=X>p&&XE()&&o(X),onclick:()=>S(J)},K.toString()))}return O}]),n.hour?f("div",{class:"mt-3 pt-2 border-t border-base-300"},E()?f("div",{class:"flex gap-4"},[U({value:_,onChange:(b)=>_(b)}),U({value:r,onChange:(b)=>r(b)})]):U({value:_,onChange:(b)=>_(b)})):null])},ft=(n,t)=>f("div",{...n,class:w("card",n.class)},t),ot=(n,t)=>f("div",{...n,class:w("card-title",n.class)},t),_t=(n,t)=>f("div",{...n,class:w("card-body",n.class)},t),rt=(n,t)=>f("div",{...n,class:w("card-actions",n.class)},t),ut=(n,t)=>f("div",{...n,class:w("carousel",n.class)},t),st=(n,t)=>f("div",{...n,class:w("carousel-item",n.class)},t),Et=(n,t)=>f("div",{...n,class:w("chat",n.class)},t),Nt=(n,t)=>f("div",{...n,class:w("chat-bubble",n.class)},t),wt=(n,t)=>f("div",{...n,class:w("chat-footer",n.class)},t),At=(n,t)=>f("div",{...n,class:w("chat-header",n.class)},t),Ot=(n,t)=>f("div",{...n,class:w("chat-image avatar",n.class)},f("div",{class:"w-10 rounded-full"},typeof t==="string"?f("img",{src:t,alt:"avatar"}):t)),bt=(n)=>f("input",{...n,type:"checkbox",class:w("checkbox",n.class)}),St=(n)=>{let t=()=>L(n.value)||"#000000";return i({},[Jn({class:"btn"},[f("div",{class:"size-5 rounded-sm",style:()=>`background-color: ${t()}`}),n.label&&f("span",{},n.label)]),l({class:"p-0"},Pn({value:n.value,onchange:(o)=>{W(n.value)?n.value(o):n.onchange?.(o)}}))])},Pn=(n)=>{let t=()=>L(n.value)||"#000000",o=["#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"],_=(r)=>{W(n.value)?n.value(r):n.onchange?.(r),a()};return f("div",{class:w("p-3 bg-base-100 rounded-box shadow w-64",n.class)},f("div",{class:"grid grid-cols-8 gap-1"},o.map((r)=>f("button",{type:"button",style:`background-color: ${r}`,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 ${t().toLowerCase()===r.toLowerCase()?"ring-2 ring-offset-1 ring-primary z-10 scale-110":""}`},onclick:()=>{_(r)}}))))},Tt=(n)=>{let t=P(""),o=()=>L(n.range)===!0;D(()=>{let r=L(n.value);if(!r)return t("");let s="";if(typeof r==="string")s=n.hour&&r.includes("T")?r.replace("T"," "):r;else if(r.start&&r.end){let u=n.hour&&r.startHour!=null?`${r.start} ${String(r.startHour).padStart(2,"0")}:00`:r.start,N=n.hour&&r.endHour!=null?`${r.end} ${String(r.endHour).padStart(2,"0")}:00`:r.end;s=`${u} - ${N}`}else if(r.start)s=`${n.hour&&r.startHour!=null?`${r.start} ${String(r.startHour).padStart(2,"0")}:00`:r.start}...`;t(s)});let _=(r)=>{if(W(n.value))n.value(r);else n.onChange?.(r);if(!o()||r?.end!=null)a()};return i({class:w("w-full",n.class)},[f("label",{tabindex:"0",role:"button",class:"input input-bordered flex items-center gap-2 cursor-pointer"},[f("span",{class:"icon-[lucide--calendar] shrink-0"}),f("span",{class:()=>`grow text-left truncate ${!t()?"opacity-50":""}`},()=>t()||n.placeholder||(o()?"Seleccionar rango...":"Seleccionar fecha...")),()=>t()?f("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle -mr-2",onmousedown:(r)=>{if(r.preventDefault(),r.stopPropagation(),W(n.value))n.value(null);else n.onChange?.(null);t("")}},f("span",{class:"icon-[lucide--x] opacity-50"})):null]),l({class:"p-0"},Ln({value:n.value,range:o(),hour:n.hour,onChange:_}))])},Ct=(n,t)=>div({...n,class:w("drawer",n.class)},t),Gt=(n)=>input({...n,type:"checkbox",class:"drawer-toggle",checked:()=>L(n.checked),onchange:(t)=>W(n.checked)&&n.checked(t.target.checked)}),Ut=(n,t)=>div({...n,class:w("drawer-content",n.class)},t),Wt=(n,t)=>div({...n,class:w("drawer-side",n.class)},t),Kt=(n)=>label({...n,for:n.for,class:w("drawer-overlay",n.class)}),Lt=(n)=>f("div",{...n,class:w("divider",n.class)}),i=(n,t)=>f("div",{...n,class:w("dropdown",n.class)},t),Jn=(n,t)=>f("div",{...n,tabindex:"0",role:"button",class:w("btn",n.class)},t),l=(n,t)=>f("div",{...n,tabindex:"0",class:w("dropdown-content",n.class)},t),Pt=(n,t)=>f("div",{class:"fab"},[f("div",{tabindex:"0",role:"button",class:w("btn",n.class)},c(n.icon)),t]),Jt=(n,t)=>f("fieldset",{class:w("fieldset",n.class)},[f("legend",{class:"fieldset-legend"},n.label),t]),Qt=(n)=>{let t=P([]),o=P(!1),_=P(null),r=(n.max||2)*1024*1024,s=(N)=>{let E=Array.from(N);if(_(null),E.some((S)=>S.size>r)){_(`Máx ${n.max||2}MB`);return}let A=[...t(),...E];if(t(A),W(n.onselect))n.onselect(A);else if(W(n.value))n.value(A)},u=(N)=>{let E=t().filter((A,S)=>S!==N);if(t(E),W(n.onselect))n.onselect(E);else if(W(n.value))n.value(E)};return f("div",{class:w("fieldset w-full p-0",n.class)},[f("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 ${o()?"border-primary bg-primary/10":"border-base-content/20 bg-base-100 hover:bg-base-200"}`,ondragover:(N)=>{N.preventDefault(),o(!0)},ondragleave:()=>o(!1),ondrop:(N)=>{N.preventDefault(),o(!1),s(N.dataTransfer.files)}},[f("div",{class:"flex items-center gap-3 w-full"},[f("span",{class:"icon-[lucide--upload]"}),f("span",{class:"text-sm opacity-70 truncate grow text-left"},Wn("uploadFiles")),f("span",{class:"text-[10px] opacity-40 shrink-0"},`Máx ${n.max||2}MB`)]),f("input",{type:"file",multiple:!0,accept:n.accept||"*",class:"hidden",onchange:(N)=>s(N.target.files)})]),()=>_()&&f("span",{class:"text-[10px] text-error mt-1 px-1 font-medium"},_()),un(()=>t().length>0,()=>f("ul",{class:"mt-2 space-y-1"},Y(t,(N,E)=>f("li",{class:"flex items-center justify-between p-1.5 pl-3 text-xs bg-base-200/50 rounded-md border border-base-300"},[f("div",{class:"flex items-center gap-2 truncate"},[f("span",{class:"opacity-50"},"\uD83D\uDCC4"),f("span",{class:"truncate font-medium max-w-[200px]"},N.name),f("span",{class:"text-[9px] opacity-40"},`(${(N.size/1024).toFixed(0)} KB)`)]),f("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle",onclick:(A)=>{A.preventDefault(),u(E)}},f("span",{class:"icon-[lucide--x]"}))]))))])},c=(n)=>f("span",{class:n.startsWith("icon-")?n:""},n.startsWith("icon-")?null:n),Xt=(n,t)=>f("div",{...n,class:w("indicator",n.class)},[n.value&&f("span",{class:w("indicator-item badge",n.class)},n.value),t]),Qn=(n)=>{let{label:t,icon:o,float:_,placeholder:r,value:s,left:u,right:N,rule:E,hint:A,content:S,...C}=n,G=P(!1),U=n.type==="password",b=E??null,T=()=>U?L(G)?"text":"password":n.type||"search";return f("label",{class:_?"floating-label":""},[_?f("span",{},t):null,f("label",{pattern:b,class:()=>w("input validator",n.class)},[t&&!_?f("span",{class:"label"},t):null,u??null,f("input",{...C,type:T,class:"grow",pattern:b,placeholder:r||t||" ",value:s}),N??null,U?Xn({class:"ml-2"},[jn({value:G,class:"swap-rotate"}),yn({},c("icon-[lucide--eye]")),kn({},c("icon-[lucide--eye-off]"))]):null]),A?f("div",{class:"validator-hint"},A):null])},jt=(n,t)=>f("kbd",{...n,class:w("kbd",n.class)},t),yt=(n,t)=>f("ul",{...n,class:w("list",n.class)},t),kt=(n)=>()=>(L(n.items)||[]).map((t,o)=>f("li",{class:w("list-row",n.class,t?.class)},typeof n.render==="function"?n.render(t,o):t)),zt=(n,t)=>f("span",{...n,class:w("loading loading-spinner",n.class)},t),Mt=(n)=>{if(n.children!==void 0)return f("ul",{class:w("menu",n.class),...n},n.children);let{items:t}=n,o=(_)=>_.children?f("li",{},f("details",{open:_.open||void 0},[f("summary",{},B(_)),f("ul",{},Y(()=>L(_.children)||[],o))])):f("li",{},f("a",{href:_.href,onclick:_.onclick?(r)=>{if(!_.href)r.preventDefault();_.onclick(r)}:null},B(_)));return f("ul",{class:w("menu",n.class)},Y(()=>L(t)||[],o))},Zt=(n)=>{let t=null;D(()=>{let _=L(n.open);if(!t)return;_?t.showModal():t.hide()});let o=()=>W(n.open)&&n.open(!1);return f("dialog",{...n,ref:(_)=>t=_,class:w("modal",n.class),onclose:o,oncancel:o},[f("div",{class:"modal-box"},[n.title&&f("h3",{class:"text-lg font-bold"},n.title),n.children,f("div",{class:"modal-action"},[n.actions||Kn({class:"btn",onclick:o},"Cerrar")])]),f("form",{method:"dialog",class:"modal-backdrop"},[f("button",{},"close")])])},It=(n,t)=>f("div",{...n,class:w("navbar",n.class)},t),Vt=(n)=>f("progress",{...n,class:w("progress",n.class)}),Yt=(n,t)=>f("div",{class:w("radial-progress",n.class),style:`--value:${L(n.value)??0};`,role:"progressbar","aria-valuenow":n.value},t),Bt=(n)=>f("input",{...n,type:"radio",class:w("radio",n.class)}),Rt=(n)=>f("input",{...n,type:"range",class:w("range",n.class)}),qt=(n,t)=>f("div",{...n,class:"rating"},t),Dt=(n)=>[...Array(n.count)].map((t,o)=>f("input",{class:w("mask",n.class),name:n.name,type:"radio",checked:()=>L(n.value)===o,onchange:()=>W(n.value)?n.value(o):n.onchange?.(o)})),$t=(n,t)=>{if(t!==void 0)return f("select",{class:w("select",n.class),...n},t);let{label:o,float:_,placeholder:r,placeholderDisabled:s=!0,value:u,left:N,right:E,hint:A,items:S,keyFn:C,...G}=n,U=()=>{let b=L(S)||[];return[...r?[{disabled:s,label:r,value:""}]:[],...b]};return f("label",{class:_?"floating-label":""},[_?f("span",{},o):null,f("label",{class:w("select",G.class)},[!_&&o?f("span",{class:"label"},o):null,N??null,f("select",{value:()=>L(u),onchange:(b)=>W(u)?u(b.target.value):G.onchange?.(b)},Y(U,(b)=>{let T=B(b,b.value!==void 0?"value":void 0),j=B(b,"label");return f("option",{value:T,disabled:b.disabled||void 0},j)})),E??null]),A?f("div",{class:"validator-hint"},A):null])},Ht=(n)=>f("div",{...n,class:w("skeleton",n.class)}),Ft=(n)=>f("span",{...n,class:w("skeleton skeleton-text",n.class)}),dt=(n,t)=>f("div",{...n,class:w("stack",n.class)},t),xt=(n,t)=>f("div",{...n,class:w("stats shadow",n.class)},t),gt=(n)=>f("div",{...n,class:w("stat",n.class)},[n.title?f("div",{class:"stat-title"},n.title):null,n.value?f("div",{class:"stat-value"},n.value):null,n.desc?f("div",{class:"stat-desc"},n.desc):null]),et=(n,t)=>f("ul",{...n,class:w("steps",n.class)},t),ct=(n,t)=>f("li",{...n,class:w("step",n.class),"data-content":n.dataContent},t),Xn=(n,t)=>f("label",{...n,class:w("swap",n.class)},t),jn=(n)=>f("input",{type:"checkbox",checked:()=>L(n.value),onchange:(t)=>W(n.value)&&n.value(t.target.checked),class:n.class}),yn=(n,t)=>f("div",{...n,class:w("swap-on",n.class)},t),kn=(n,t)=>f("div",{...n,class:w("swap-off",n.class)},t),at=(n,t)=>f("table",{...n,class:w("table",n.class)},t),it=({items:n,columns:t=[],header:o=!0})=>{let _=o!==!1&&t.some((s)=>s.label)?f("thead",{},f("tr",{},t.map((s)=>f("th",{class:s.class},s.label)))):null,r=f("tbody",{},()=>{return(L(n)||[]).map((u,N)=>f("tr",{},t.map((E)=>{let A=E.render?E.render(u,N):u[E.key];return f("td",{class:E.class},A)})))});return[_,r].filter(Boolean)},lt=(n,t)=>{if(!n.items){let{class:A,...S}=n;return f("div",{...S,class:w("tabs",A)},t)}let{items:o,activeIndex:_,onClose:r,class:s,...u}=n,N=(A)=>W(A)?A():A,E=r||(W(o)?(A,S)=>{let G=L(o).filter((U,b)=>b!==A);if(o(G),_()>=G.length)_(Math.max(0,G.length-1))}:null);return f("div",{...u,class:w("tabs",s)},()=>{return(L(o)||[]).flatMap((S,C)=>{let G=()=>_()===C,U=f("button",{class:()=>`tab ${G()?"tab-active":""} ${S.class||""}`,onclick:(T)=>{T.preventDefault(),_(C),S.onclick?.(T)}},[B(S),S.closable?f("span",{class:"ml-1 inline-flex items-center justify-center w-4 h-4 rounded-full hover:bg-base-300 text-base-content/60 hover:text-base-content cursor-pointer",onclick:(T)=>{T.stopPropagation(),E?.(C,S)}},f("span",{class:"icon-[lucide--x] w-3 h-3"})):null]),b=f("div",{class:"tab-content bg-base-100 border-base-300 p-6",style:()=>`display: ${G()?"block":"none"};`},W(S.content)?S.content():S.content);return[U,b]})})},mt=(n)=>f("textarea",{...n,class:w("textarea",n.class)}),vt=(n,t)=>f("span",{...n,class:w("text-rotate",n.class)},f("span",{},t)),ht=(n,t)=>f("ul",{...n,class:w("timeline",n.class)},t),pt=(n,t="alert-success",o=3500)=>{let _=document.getElementById("sigpro-toast-container");if(!_)_=f("div",{id:"sigpro-toast-container",class:"fixed top-0 right-0 z-[9999] p-4 flex flex-col items-end gap-2 pointer-events-none"}),document.body.appendChild(_);let r=f("div",{style:"display: contents"});_.appendChild(r);let s,u,N,A=sn(()=>{let S=P(!1),C=P(!1);s=()=>{if(C())return;clearTimeout(u),clearTimeout(N),C(!0),setTimeout(()=>{if(A.destroy(),r.remove(),!_.hasChildNodes())_.remove()},300)},N=setTimeout(()=>S(!0),0);let G=typeof n==="function"?L(n):n,U=typeof G==="string"?f("span",{},G):G;return f("div",{class:()=>{let b=`alert alert-soft ${t} shadow-lg transition-all duration-300 inline-flex w-auto whitespace-nowrap pointer-events-auto`;if(C())return`${b} translate-x-full opacity-0`;if(S())return`${b} translate-x-0 opacity-100`;return`${b} translate-x-10 opacity-0`}},[U,f("button",{class:"btn btn-xs btn-circle btn-ghost",onclick:s},f("span",{class:"icon-[lucide--x]"}))])},r);if(o>0)u=setTimeout(s,o);return s},nf=(n)=>f("input",{...n,type:"checkbox",class:w("toggle",n.class)}),tf=(n,t)=>f("div",{...n,class:w("tooltip",n.class),"data-tip":n.tip},t),ff=(n)=>{let{value:t,class:o}=n,_=null,r=null,s=P(!1),u=P(""),N=P(0),E=P(0),A=P(!1),S=["\uD83D\uDE00","\uD83D\uDE0A","\uD83D\uDE09","\uD83E\uDDD0","\uD83D\uDE2E","\uD83E\uDD14","\uD83D\uDE05","\uD83D\uDE02","\uD83D\uDE0D","\uD83D\uDE18","\uD83E\uDD70","\uD83D\uDC4D","\uD83D\uDC4E","\uD83D\uDC4C","\uD83E\uDD1D","\uD83E\uDD1E","\uD83D\uDC4B","\uD83D\uDC4F","\uD83D\uDE4C","\uD83D\uDE4F","\uD83D\uDCAA","☝️","\uD83D\uDC47","\uD83D\uDC48","\uD83D\uDC49","\uD83D\uDD95","✅","⚠️","\uD83D\uDE80","\uD83D\uDCE2","✉️","❤️"],C=()=>{let O=window.getSelection();if(O.getRangeAt&&O.rangeCount)r=O.getRangeAt(0)},G=()=>{if(r){let O=window.getSelection();O.removeAllRanges(),O.addRange(r)}},U=()=>{if(E(E()+1),_)N(_.innerText.length)},b=()=>{if(!_)return;let O=_.innerHTML;if(W(t))t(O);else n.onchange?.(O);U()},T=(O,K=null)=>{if(!_)return;if(_.focus(),r)G();document.execCommand(O,!1,K),r=null,b()},j=(O)=>{let K=document.createElement("div");K.style="position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.9);z-index:9999;display:flex;align-items:center;justify-content:center;cursor:zoom-out;";let J=document.createElement("img");J.src=O,J.style="max-width:95%;max-height:95%;box-shadow:0 0 30px rgba(0,0,0,0.5);border-radius:4px;",K.onclick=()=>document.body.removeChild(K),K.appendChild(J),document.body.appendChild(K)},Z=(O)=>{if(!O)return;let K=new FileReader;K.onload=(J)=>{if(O.type.startsWith("image/")){let X=`
 `;T("insertHTML",X)}else{let X=`${O.name} `;T("insertHTML",X)}},K.readAsDataURL(O)},y=(O,K=null)=>{if(E(),!_||s())return!1;try{if(O==="formatBlock"){let J=window.getSelection().getRangeAt(0).commonAncestorContainer;while(J&&J!==_){if(J.nodeType===1&&J.tagName===K)return!0;J=J.parentNode}return!1}return document.queryCommandState(O)}catch(J){return!1}},m=f("div",{class:"flex flex-wrap items-center gap-1 p-2 border-b border-base-300 bg-base-200 sticky top-0 z-20"},[f("div",{class:"flex flex-wrap gap-1 flex-1 items-center"},[f("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${y("bold")?"btn-active bg-primary/20":""}`,onclick:()=>T("bold")},f("span",{class:"icon-[lucide--bold]"})),f("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${y("italic")?"btn-active bg-primary/20":""}`,onclick:()=>T("italic")},f("span",{class:"icon-[lucide--italic]"})),f("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${y("underline")?"btn-active bg-primary/20":""}`,onclick:()=>T("underline")},f("span",{class:"icon-[lucide--underline]"})),f("input",{type:"color",class:"w-5 h-5 p-0 border-0 bg-transparent cursor-pointer",oninput:(O)=>T("foreColor",O.target.value)}),f("span",{class:"w-px h-5 bg-base-300 mx-1"}),f("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>T("justifyLeft")},f("span",{class:"icon-[lucide--align-left]"})),f("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>T("justifyCenter")},f("span",{class:"icon-[lucide--align-center]"})),f("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>T("justifyRight")},f("span",{class:"icon-[lucide--align-right]"})),f("span",{class:"w-px h-5 bg-base-300 mx-1"}),f("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>T("insertUnorderedList")},f("span",{class:"icon-[lucide--list]"})),f("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>T("insertOrderedList")},f("span",{class:"icon-[lucide--list-ordered]"})),f("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>T("outdent")},f("span",{class:"icon-[lucide--indent-decrease]"})),f("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>T("indent")},f("span",{class:"icon-[lucide--indent-increase]"})),f("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${y("formatBlock","BLOCKQUOTE")?"btn-active":""}`,onclick:()=>T("formatBlock",y("formatBlock","BLOCKQUOTE")?"P":"BLOCKQUOTE")},f("span",{class:"icon-[lucide--quote]"})),f("span",{class:"w-px h-5 bg-base-300 mx-1"}),f("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>{let O=window.prompt("URL:");if(O)T("createLink",O)}},f("span",{class:"icon-[lucide--link]"})),f("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>{let O=document.createElement("input");O.type="file",O.onchange=(K)=>Z(K.target.files[0]),O.click()}},f("span",{class:"icon-[lucide--paperclip]"})),f("div",{class:"relative"},[f("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:(O)=>{O.stopPropagation(),C(),A(!A())}},f("span",{class:"icon-[lucide--smile]"})),f("div",{class:"absolute top-full left-0 mt-1 p-2 bg-base-100 border border-base-300 shadow-xl rounded-box w-52 z-50 flex flex-wrap gap-1",style:()=>A()?"display:flex":"display:none"},S.map((O)=>f("span",{class:"cursor-pointer hover:bg-base-200 p-1 rounded text-lg",onclick:(K)=>{K.stopPropagation(),T("insertText",O),A(!1)}},O)))]),f("span",{class:"w-px h-5 bg-base-300 mx-1"}),f("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>T("undo")},f("span",{class:"icon-[lucide--undo-2]"})),f("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>T("redo")},f("span",{class:"icon-[lucide--redo-2]"}))]),f("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${s()?"btn-active":""}`,onclick:()=>{if(!s())u(_?.innerHTML||"");else if(_)_.innerHTML=u(),b();s(!s())}},f("span",{class:"icon-[lucide--code-2]"}))]);if(typeof document<"u"&&!document.getElementById("editor-styles")){let O=document.createElement("style");O.id="editor-styles",O.textContent=` [contenteditable="true"] div, [contenteditable="true"] p { margin: 0; padding: 0; } - `,document.head.appendChild(A)}return r("div",{class:N("border border-base-300 rounded-box bg-base-100 overflow-hidden shadow-sm flex flex-col",t)},[v,r("div",{class:"relative flex-1 flex flex-col",onclick:()=>y(!1)},[r("div",{ref:(A)=>{if(!_&&A)_=A,A.innerHTML=K(f)||"",document.execCommand("defaultParagraphSeparator",!1,"br"),A.addEventListener("click",(J)=>{let U=J.target.closest(".resizable-img-container");if(U){let z=U.querySelector("img");if(z)Q(z.src)}})},style:()=>`min-height:22rem;${b()?"display:none":""}`,class:"p-4 outline-none text-base-content leading-relaxed [&>div]:m-0 [&>p]:m-0 [&>div]:min-h-[1em] [&_.resizable-img-container]:hover:border-primary [&_blockquote]:border-l-4 [&_blockquote]:border-base-300 [&_blockquote]:pl-4 [&_blockquote]:italic [&_ul]:list-disc [&_ul]:pl-8 [&_ol]:list-decimal [&_ol]:pl-8",contenteditable:"true",oninput:k,onkeydown:(A)=>{if(A.key==="Tab")A.preventDefault(),j("indent")},onkeyup:()=>{T(),C()},onclick:(A)=>{T(),C(),A.stopPropagation()},onmouseup:()=>{k(),C()},onpaste:(A)=>{A.preventDefault();let J=A.clipboardData.getData("text/plain");j("insertText",J)},ondragover:(A)=>A.preventDefault(),ondrop:(A)=>{A.preventDefault(),Y(A.dataTransfer.files[0])}}),r("textarea",{class:"w-full flex-1 min-h-[22rem] p-4 outline-none font-mono text-sm bg-base-200 border-0",style:()=>b()?"":"display:none",value:u,oninput:(A)=>{if(u(A.target.value),_)_.innerHTML=A.target.value;n.onchange?.(A.target.value)}})]),r("div",{class:"px-3 py-1 border-t border-base-300 bg-base-100/50 text-[10px] text-right text-base-content/60 italic"},[r("span",()=>`${E()}`)])])};var Sn={...wn};if(typeof window<"u")Object.entries({...Sn}).forEach(([n,f])=>{Object.defineProperty(window,n,{value:f,writable:!1,configurable:!0,enumerable:!0})});})(); + `,document.head.appendChild(O)}return f("div",{class:w("border border-base-300 rounded-box bg-base-100 overflow-hidden shadow-sm flex flex-col",o)},[m,f("div",{class:"relative flex-1 flex flex-col",onclick:()=>A(!1)},[f("div",{ref:(O)=>{if(!_&&O)_=O,O.innerHTML=L(t)||"",document.execCommand("defaultParagraphSeparator",!1,"br"),O.addEventListener("click",(K)=>{let J=K.target.closest(".resizable-img-container");if(J){let X=J.querySelector("img");if(X)j(X.src)}})},style:()=>`min-height:22rem;${s()?"display:none":""}`,class:"p-4 outline-none text-base-content leading-relaxed [&>div]:m-0 [&>p]:m-0 [&>div]:min-h-[1em] [&_.resizable-img-container]:hover:border-primary [&_blockquote]:border-l-4 [&_blockquote]:border-base-300 [&_blockquote]:pl-4 [&_blockquote]:italic [&_ul]:list-disc [&_ul]:pl-8 [&_ol]:list-decimal [&_ol]:pl-8",contenteditable:"true",oninput:b,onkeydown:(O)=>{if(O.key==="Tab")O.preventDefault(),T("indent")},onkeyup:()=>{U(),C()},onclick:(O)=>{U(),C(),O.stopPropagation()},onmouseup:()=>{b(),C()},onpaste:(O)=>{O.preventDefault();let K=O.clipboardData.getData("text/plain");T("insertText",K)},ondragover:(O)=>O.preventDefault(),ondrop:(O)=>{O.preventDefault(),Z(O.dataTransfer.files[0])}}),f("textarea",{class:"w-full flex-1 min-h-[22rem] p-4 outline-none font-mono text-sm bg-base-200 border-0",style:()=>s()?"":"display:none",value:u,oninput:(O)=>{if(u(O.target.value),_)_.innerHTML=O.target.value;n.onchange?.(O.target.value)}})]),f("div",{class:"px-3 py-1 border-t border-base-300 bg-base-100/50 text-[10px] text-right text-base-content/60 italic"},[f("span",()=>`${N()}`)])])};var zn={...Nn};if(typeof window<"u")Object.entries({...zn}).forEach(([n,t])=>{Object.defineProperty(window,n,{value:t,writable:!1,configurable:!0,enumerable:!0})});})(); diff --git a/docs/.nojekyll b/docs/.nojekyll deleted file mode 100644 index e69de29..0000000 diff --git a/docs/install.md b/docs/install.md index 09bd494..36989b5 100644 --- a/docs/install.md +++ b/docs/install.md @@ -24,7 +24,7 @@ bun add sigpro-ui ### ESM / Module usage ```javascript -import "sigpro-ui"; +import { Input, Button, Alert } from "sigpro-ui"; import "sigpro-ui/css"; const App = () => { diff --git a/docs/sigpro-ui.min.css b/docs/sigpro-ui.min.css index bcbd1ce..59c2153 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-space-y-reverse:0;--tw-space-x-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}}}@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-black:#000;--spacing:.25rem;--container-xs:20rem;--container-md:28rem;--container-2xl:42rem;--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-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-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-semibold:600;--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-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}.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}}.validator-hint{visibility:hidden;margin-top:.5rem;font-size:.75rem}.validator:user-valid{--input-color:var(--color-success)}.validator:user-valid:focus{--input-color:var(--color-success)}.validator:user-valid:checked{--input-color:var(--color-success)}.validator:user-valid[aria-checked=true]{--input-color:var(--color-success)}.validator:user-valid:focus-within{--input-color:var(--color-success)}.validator:has(:user-valid){--input-color:var(--color-success)}.validator:has(:user-valid):focus{--input-color:var(--color-success)}.validator:has(:user-valid):checked{--input-color:var(--color-success)}.validator:has(:user-valid)[aria-checked=true]{--input-color:var(--color-success)}.validator:has(:user-valid):focus-within{--input-color:var(--color-success)}.validator:user-invalid{--input-color:var(--color-error)}.validator:user-invalid:focus{--input-color:var(--color-error)}.validator:user-invalid:checked{--input-color:var(--color-error)}.validator:user-invalid[aria-checked=true]{--input-color:var(--color-error)}.validator:user-invalid:focus-within{--input-color:var(--color-error)}.validator:user-invalid~.validator-hint{visibility:visible;color:var(--color-error)}.validator:has(:user-invalid){--input-color:var(--color-error)}.validator:has(:user-invalid):focus{--input-color:var(--color-error)}.validator:has(:user-invalid):checked{--input-color:var(--color-error)}.validator:has(:user-invalid)[aria-checked=true]{--input-color:var(--color-error)}.validator:has(:user-invalid):focus-within{--input-color:var(--color-error)}.validator:has(:user-invalid)~.validator-hint{visibility:visible;color:var(--color-error)}:is(.validator[aria-invalid]:not([aria-invalid=false]),.validator:has([aria-invalid]:not([aria-invalid=false]))),:is(.validator[aria-invalid]:not([aria-invalid=false]),.validator:has([aria-invalid]:not([aria-invalid=false]))):focus,:is(.validator[aria-invalid]:not([aria-invalid=false]),.validator:has([aria-invalid]:not([aria-invalid=false]))):checked,:is(.validator[aria-invalid]:not([aria-invalid=false]),.validator:has([aria-invalid]:not([aria-invalid=false])))[aria-checked=true],:is(.validator[aria-invalid]:not([aria-invalid=false]),.validator:has([aria-invalid]:not([aria-invalid=false]))):focus-within{--input-color:var(--color-error)}:is(.validator[aria-invalid]:not([aria-invalid=false]),.validator:has([aria-invalid]:not([aria-invalid=false])))~.validator-hint{visibility:visible;color:var(--color-error)}.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)}}.toast{translate:var(--toast-x,0) var(--toast-y,0);inset-inline:auto 1rem;background-color:#0000;flex-direction:column;gap:.5rem;width:max-content;max-width:calc(100vw - 2rem);display:flex;position:fixed;top:auto;bottom:1rem}@media (prefers-reduced-motion:no-preference){.toast>*{animation:.25s ease-out toast}}.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}.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}.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}.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}.breadcrumbs{max-width:100%;padding-block:.5rem;overflow-x:auto}.breadcrumbs>menu,.breadcrumbs>ul,.breadcrumbs>ol{white-space:nowrap;align-items:center;min-height:min-content;display:flex}:is(.breadcrumbs>menu,.breadcrumbs>ul,.breadcrumbs>ol)>li{align-items:center;display:flex}:is(.breadcrumbs>menu,.breadcrumbs>ul,.breadcrumbs>ol)>li>*{cursor:pointer;align-items:center;gap:.5rem;display:flex}@media (hover:hover){:is(.breadcrumbs>menu,.breadcrumbs>ul,.breadcrumbs>ol)>li>:hover{text-decoration-line:underline}}:is(.breadcrumbs>menu,.breadcrumbs>ul,.breadcrumbs>ol)>li>:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){:is(.breadcrumbs>menu,.breadcrumbs>ul,.breadcrumbs>ol)>li>:focus{outline-offset:2px;outline:2px solid #0000}}:is(.breadcrumbs>menu,.breadcrumbs>ul,.breadcrumbs>ol)>li>:focus-visible{outline-offset:2px;outline:2px solid}:is(.breadcrumbs>menu,.breadcrumbs>ul,.breadcrumbs>ol)>li+:before{content:"";opacity:.4;background-color:#0000;border-top:1px solid;border-right:1px solid;width:.375rem;height:.375rem;margin-inline:.5rem .75rem;display:block;rotate:45deg}[dir=rtl] :is(:is(.breadcrumbs>menu,.breadcrumbs>ul,.breadcrumbs>ol)>li)+:before{rotate:-135deg}.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}.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}.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}.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}.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}.avatar-group{display:flex;overflow:hidden}.avatar-group .avatar{border:4px solid var(--color-base-100);border-radius:3.40282e38px;overflow:hidden}.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-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)}}@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)}}@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)}.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)}.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}:where(.navbar){position:relative}.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)}.chat-end{grid-template-columns:1fr auto;place-items:end}.chat-end .chat-header,.chat-end .chat-footer{grid-column-start:1}.chat-end .chat-image{grid-column-start:2}.chat-end .chat-bubble{border-end-end-radius:0;grid-column-start:1}.chat-end .chat-bubble:before{inset-inline-start:100%;transform:rotateY(180deg)}[dir=rtl] :is(.chat-end .chat-bubble):before{transform:rotateY(0)}.chat-start{grid-template-columns:auto 1fr;place-items:start}.chat-start .chat-header,.chat-start .chat-footer{grid-column-start:2}.chat-start .chat-image{grid-column-start:1}.chat-start .chat-bubble{border-end-start-radius:0;grid-column-start:2}.chat-start .chat-bubble:before{inset-inline-start:-.75rem;transform:rotateY(0)}[dir=rtl] :is(.chat-start .chat-bubble):before{transform:rotateY(180deg)}.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}.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%}.steps-horizontal{grid-auto-columns:1fr;grid-auto-flow:column;display:inline-grid;overflow:auto hidden}.steps-horizontal .step{text-align:center;grid-template-rows:40px 1fr;grid-template-columns:auto;place-items:center;min-width:4rem;display:grid}.steps-horizontal .step:before{width:100%;height:.5rem;margin-inline-start:-100%;translate:0}[dir=rtl] :is(.steps-horizontal .step):before{translate:0}.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}.loading-lg{width:calc(var(--size-selector,.25rem) * 7)}.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}.carousel-vertical{scroll-snap-type:y mandatory;flex-direction:column;overflow-y:scroll}.badge-ghost{border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content);background-image:none}.badge-outline{color:var(--badge-color);--badge-bg:#0000;background-image:none;border-color:currentColor}.skeleton-text{webkit-background-clip:text;color:#0000;-webkit-background-clip:text;background-clip:text;background-image:linear-gradient(105deg, var(--color-base-content) 0% 40%, var(--color-base-content) 50%, var(--color-base-content) 60% 100%)}@supports (color:color-mix(in lab, red, red)){.skeleton-text{background-image:linear-gradient(105deg, color-mix(in oklab, var(--color-base-content) 20%, transparent) 0% 40%, var(--color-base-content) 50%, color-mix(in oklab, var(--color-base-content) 20%, transparent) 60% 100%)}}.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-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")}.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)}.tooltip-primary{--tt-bg:var(--color-primary)}.tooltip-primary>.tooltip-content,.tooltip-primary[data-tip]:before{color:var(--color-primary-content)}.btn-lg{--fontsize:1.125rem;--btn-p:1.25rem;--size:calc(var(--size-field,.25rem) * 12)}.btn-sm{--fontsize:.75rem;--btn-p:.75rem;--size:calc(var(--size-field,.25rem) * 8)}.btn-xs{--fontsize:.6875rem;--btn-p:.5rem;--size:calc(var(--size-field,.25rem) * 6)}.badge-error{--badge-color:var(--color-error);--badge-fg:var(--color-error-content)}.badge-success{--badge-color:var(--color-success);--badge-fg:var(--color-success-content)}.range-sm{--range-thumb-size:calc(var(--size-selector,.25rem) * 5)}.range-xs{--range-thumb-size:calc(var(--size-selector,.25rem) * 4)}.toggle-primary:checked,.toggle-primary[aria-checked=true]{--input-color:var(--color-primary)}}.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}.validator:user-invalid~.validator-hint{display:revert-layer}.validator:has(:user-invalid)~.validator-hint{display:revert-layer}:is(.validator[aria-invalid]:not([aria-invalid=false]),.validator:has([aria-invalid]:not([aria-invalid=false])))~.validator-hint{display:revert-layer}.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-0{top:calc(var(--spacing) * 0)}.top-10{top:calc(var(--spacing) * 10)}.top-full{top:100%}.right-0{right:calc(var(--spacing) * 0)}.right-1\/4{right:25%}.bottom-10{bottom:calc(var(--spacing) * 10)}.left-0{left:calc(var(--spacing) * 0)}.left-1\/2{left:50%}.left-1\/4{left:25%}.-z-0{z-index:calc(0 * -1)}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[9999\]{z-index:9999}.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}}.mx-1{margin-inline:calc(var(--spacing) * 1)}.mx-auto{margin-inline:auto}.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)}.-mr-2{margin-right:calc(var(--spacing) * -2)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-2{margin-left:calc(var(--spacing) * 2)}.icon-\[lucide--align-center\]{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='M17 12H7m12 6H5M21 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--align-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 12H3m14 6H3M21 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--align-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='M21 12H9m12 6H7M21 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--bell\]{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='M10.268 21a2 2 0 0 0 3.464 0m-10.47-5.674A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326'/%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--bold\]{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 12h9a4 4 0 0 1 0 8H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h7a4 4 0 0 1 0 8'/%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\]{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--clock\]{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 6v6l4 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--code-2\]{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 16l4-4l-4-4M6 8l-4 4l4 4m8.5-12l-5 16'/%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--home\]{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='M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8'/%3E%3Cpath d='M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%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--indent-decrease\]{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 12H11m10 6H11M21 6H11M7 8l-4 4l4 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--indent-increase\]{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 12H11m10 6H11M21 6H11M3 8l4 4l-4 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--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--italic\]{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='M19 4h-9m4 16H5M15 4L9 20'/%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--list-ordered\]{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 5h10m-10 7h10m-10 7h10M4 4h1v5M4 9h2m.5 11H3.4c0-1 2.6-1.925 2.6-3.5a1.5 1.5 0 0 0-2.6-1.02'/%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--list\]{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='M3 5h.01M3 12h.01M3 19h.01M8 5h13M8 12h13M8 19h13'/%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--menu\]{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 5h16M4 12h16M4 19h16'/%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--moon\]{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.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401'/%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--paperclip\]{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='m16 6l-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551'/%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--quote\]{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='M16 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2a1 1 0 0 1 1 1v1a2 2 0 0 1-2 2a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1a6 6 0 0 0 6-6V5a2 2 0 0 0-2-2zM5 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2a1 1 0 0 1 1 1v1a2 2 0 0 1-2 2a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1a6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z'/%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--redo-2\]{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='m15 14l5-5l-5-5'/%3E%3Cpath d='M20 9H9.5A5.5 5.5 0 0 0 4 14.5A5.5 5.5 0 0 0 9.5 20H13'/%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--settings\]{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='M9.671 4.136a2.34 2.34 0 0 1 4.659 0a2.34 2.34 0 0 0 3.319 1.915a2.34 2.34 0 0 1 2.33 4.033a2.34 2.34 0 0 0 0 3.831a2.34 2.34 0 0 1-2.33 4.033a2.34 2.34 0 0 0-3.319 1.915a2.34 2.34 0 0 1-4.659 0a2.34 2.34 0 0 0-3.32-1.915a2.34 2.34 0 0 1-2.33-4.033a2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915'/%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--smile\]{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='M8 14s1.5 2 4 2s4-2 4-2M9 9h.01M15 9h.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--sun\]{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='4'/%3E%3Cpath d='M12 2v2m0 16v2M4.93 4.93l1.41 1.41m11.32 11.32l1.41 1.41M2 12h2m16 0h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41'/%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--underline\]{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 4v6a6 6 0 0 0 12 0V4M4 20h16'/%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--undo-2\]{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='M9 14L4 9l5-5'/%3E%3Cpath d='M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11'/%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--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--user\]{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='M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='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--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{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.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{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-12{height:calc(var(--spacing) * 12)}.h-20{height:calc(var(--spacing) * 20)}.h-32{height:calc(var(--spacing) * 32)}.h-48{height:calc(var(--spacing) * 48)}.h-96{height:calc(var(--spacing) * 96)}.h-auto{height:auto}.h-full{height:100%}.max-h-60{max-height:calc(var(--spacing) * 60)}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-\[22rem\]{min-height:22rem}.min-h-full{min-height:100%}.w-3{width:calc(var(--spacing) * 3)}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-24{width:calc(var(--spacing) * 24)}.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-60{width:calc(var(--spacing) * 60)}.w-64{width:calc(var(--spacing) * 64)}.w-80{width:calc(var(--spacing) * 80)}.w-96{width:calc(var(--spacing) * 96)}.w-auto{width:auto}.w-full{width:100%}.w-px{width:1px}.w-xs{width:var(--container-xs)}.max-w-2xl{max-width:var(--container-2xl)}.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)}.min-w-\[48px\]{min-width:48px}.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-0{--tw-translate-x:calc(var(--spacing) * 0);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)}.scale-110{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.animate-pulse{animation:var(--animate-pulse)}.cursor-pointer{cursor:pointer}.grid-cols-1{grid-template-columns:repeat(1,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-nowrap{flex-wrap:nowrap}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.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}.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-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-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)))}:where(.-space-x-6>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * -6) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * -6) * calc(1 - var(--tw-space-x-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.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)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.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-primary{border-color:var(--color-primary)}.bg-base-100,.bg-base-100\/50{background-color:var(--color-base-100)}@supports (color:color-mix(in lab, red, red)){.bg-base-100\/50{background-color:color-mix(in oklab, var(--color-base-100) 50%, transparent)}}.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-primary,.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-transparent{background-color:#0000}.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))}@layer daisyui.l1{.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-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}}}.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-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))}.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-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-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)}.pl-3{padding-left:calc(var(--spacing) * 3)}.\!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-7xl{font-size:var(--text-7xl);line-height:var(--tw-leading,var(--text-7xl--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)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-tighter{--tw-tracking:var(--tracking-tighter);letter-spacing:var(--tracking-tighter)}.tracking-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-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-primary{color:var(--color-primary)}.text-secondary{color:var(--color-secondary)}.text-secondary-content{color:var(--color-secondary-content)}.text-transparent{color:#0000}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-100{opacity:1}.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-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)}.hover\:z-10:hover{z-index:10}.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-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\:text-base-content:hover{color:var(--color-base-content)}}.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\:grid-cols-2{grid-template-columns:repeat(2,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\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (hover:hover){.\[\&_\.resizable-img-container\]\:hover\:border-primary .resizable-img-container:hover{border-color:var(--color-primary)}}.\[\&_blockquote\]\:border-l-4 blockquote{border-left-style:var(--tw-border-style);border-left-width:4px}.\[\&_blockquote\]\:border-base-300 blockquote{border-color:var(--color-base-300)}.\[\&_blockquote\]\:pl-4 blockquote{padding-left:calc(var(--spacing) * 4)}.\[\&_blockquote\]\:italic blockquote{font-style:italic}.\[\&_ol\]\:list-decimal ol{list-style-type:decimal}.\[\&_ol\]\:pl-8 ol{padding-left:calc(var(--spacing) * 8)}.\[\&_ul\]\:list-disc ul{list-style-type:disc}.\[\&_ul\]\:pl-8 ul{padding-left:calc(var(--spacing) * 8)}.\[\&\>div\]\:m-0>div{margin:calc(var(--spacing) * 0)}.\[\&\>div\]\:min-h-\[1em\]>div{min-height:1em}.\[\&\>p\]\:m-0>p{margin:calc(var(--spacing) * 0)}}: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}.markdown-section progress.progress{all:revert-layer}@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-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-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}@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-space-y-reverse:0;--tw-space-x-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}}}@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-black:#000;--spacing:.25rem;--container-xs:20rem;--container-md:28rem;--container-2xl:42rem;--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-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-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-semibold:600;--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-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}.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}}.validator-hint{visibility:hidden;margin-top:.5rem;font-size:.75rem}.validator:user-valid{--input-color:var(--color-success)}.validator:user-valid:focus{--input-color:var(--color-success)}.validator:user-valid:checked{--input-color:var(--color-success)}.validator:user-valid[aria-checked=true]{--input-color:var(--color-success)}.validator:user-valid:focus-within{--input-color:var(--color-success)}.validator:has(:user-valid){--input-color:var(--color-success)}.validator:has(:user-valid):focus{--input-color:var(--color-success)}.validator:has(:user-valid):checked{--input-color:var(--color-success)}.validator:has(:user-valid)[aria-checked=true]{--input-color:var(--color-success)}.validator:has(:user-valid):focus-within{--input-color:var(--color-success)}.validator:user-invalid{--input-color:var(--color-error)}.validator:user-invalid:focus{--input-color:var(--color-error)}.validator:user-invalid:checked{--input-color:var(--color-error)}.validator:user-invalid[aria-checked=true]{--input-color:var(--color-error)}.validator:user-invalid:focus-within{--input-color:var(--color-error)}.validator:user-invalid~.validator-hint{visibility:visible;color:var(--color-error)}.validator:has(:user-invalid){--input-color:var(--color-error)}.validator:has(:user-invalid):focus{--input-color:var(--color-error)}.validator:has(:user-invalid):checked{--input-color:var(--color-error)}.validator:has(:user-invalid)[aria-checked=true]{--input-color:var(--color-error)}.validator:has(:user-invalid):focus-within{--input-color:var(--color-error)}.validator:has(:user-invalid)~.validator-hint{visibility:visible;color:var(--color-error)}:is(.validator[aria-invalid]:not([aria-invalid=false]),.validator:has([aria-invalid]:not([aria-invalid=false]))),:is(.validator[aria-invalid]:not([aria-invalid=false]),.validator:has([aria-invalid]:not([aria-invalid=false]))):focus,:is(.validator[aria-invalid]:not([aria-invalid=false]),.validator:has([aria-invalid]:not([aria-invalid=false]))):checked,:is(.validator[aria-invalid]:not([aria-invalid=false]),.validator:has([aria-invalid]:not([aria-invalid=false])))[aria-checked=true],:is(.validator[aria-invalid]:not([aria-invalid=false]),.validator:has([aria-invalid]:not([aria-invalid=false]))):focus-within{--input-color:var(--color-error)}:is(.validator[aria-invalid]:not([aria-invalid=false]),.validator:has([aria-invalid]:not([aria-invalid=false])))~.validator-hint{visibility:visible;color:var(--color-error)}.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)}}.toast{translate:var(--toast-x,0) var(--toast-y,0);inset-inline:auto 1rem;background-color:#0000;flex-direction:column;gap:.5rem;width:max-content;max-width:calc(100vw - 2rem);display:flex;position:fixed;top:auto;bottom:1rem}@media (prefers-reduced-motion:no-preference){.toast>*{animation:.25s ease-out toast}}.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}.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}.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}.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}.breadcrumbs{max-width:100%;padding-block:.5rem;overflow-x:auto}.breadcrumbs>menu,.breadcrumbs>ul,.breadcrumbs>ol{white-space:nowrap;align-items:center;min-height:min-content;display:flex}:is(.breadcrumbs>menu,.breadcrumbs>ul,.breadcrumbs>ol)>li{align-items:center;display:flex}:is(.breadcrumbs>menu,.breadcrumbs>ul,.breadcrumbs>ol)>li>*{cursor:pointer;align-items:center;gap:.5rem;display:flex}@media (hover:hover){:is(.breadcrumbs>menu,.breadcrumbs>ul,.breadcrumbs>ol)>li>:hover{text-decoration-line:underline}}:is(.breadcrumbs>menu,.breadcrumbs>ul,.breadcrumbs>ol)>li>:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){:is(.breadcrumbs>menu,.breadcrumbs>ul,.breadcrumbs>ol)>li>:focus{outline-offset:2px;outline:2px solid #0000}}:is(.breadcrumbs>menu,.breadcrumbs>ul,.breadcrumbs>ol)>li>:focus-visible{outline-offset:2px;outline:2px solid}:is(.breadcrumbs>menu,.breadcrumbs>ul,.breadcrumbs>ol)>li+:before{content:"";opacity:.4;background-color:#0000;border-top:1px solid;border-right:1px solid;width:.375rem;height:.375rem;margin-inline:.5rem .75rem;display:block;rotate:45deg}[dir=rtl] :is(:is(.breadcrumbs>menu,.breadcrumbs>ul,.breadcrumbs>ol)>li)+:before{rotate:-135deg}.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}.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}.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}.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}.avatar-group{display:flex;overflow:hidden}.avatar-group .avatar{border:4px solid var(--color-base-100);border-radius:3.40282e38px;overflow:hidden}.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-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)}}@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)}}@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)}.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)}.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}:where(.navbar){position:relative}.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)}.chat-end{grid-template-columns:1fr auto;place-items:end}.chat-end .chat-header,.chat-end .chat-footer{grid-column-start:1}.chat-end .chat-image{grid-column-start:2}.chat-end .chat-bubble{border-end-end-radius:0;grid-column-start:1}.chat-end .chat-bubble:before{inset-inline-start:100%;transform:rotateY(180deg)}[dir=rtl] :is(.chat-end .chat-bubble):before{transform:rotateY(0)}.chat-start{grid-template-columns:auto 1fr;place-items:start}.chat-start .chat-header,.chat-start .chat-footer{grid-column-start:2}.chat-start .chat-image{grid-column-start:1}.chat-start .chat-bubble{border-end-start-radius:0;grid-column-start:2}.chat-start .chat-bubble:before{inset-inline-start:-.75rem;transform:rotateY(0)}[dir=rtl] :is(.chat-start .chat-bubble):before{transform:rotateY(180deg)}.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}.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%}.steps-horizontal{grid-auto-columns:1fr;grid-auto-flow:column;display:inline-grid;overflow:auto hidden}.steps-horizontal .step{text-align:center;grid-template-rows:40px 1fr;grid-template-columns:auto;place-items:center;min-width:4rem;display:grid}.steps-horizontal .step:before{width:100%;height:.5rem;margin-inline-start:-100%;translate:0}[dir=rtl] :is(.steps-horizontal .step):before{translate:0}.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}.loading-lg{width:calc(var(--size-selector,.25rem) * 7)}.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}.carousel-vertical{scroll-snap-type:y mandatory;flex-direction:column;overflow-y:scroll}.badge-ghost{border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content);background-image:none}.badge-outline{color:var(--badge-color);--badge-bg:#0000;background-image:none;border-color:currentColor}.skeleton-text{webkit-background-clip:text;color:#0000;-webkit-background-clip:text;background-clip:text;background-image:linear-gradient(105deg, var(--color-base-content) 0% 40%, var(--color-base-content) 50%, var(--color-base-content) 60% 100%)}@supports (color:color-mix(in lab, red, red)){.skeleton-text{background-image:linear-gradient(105deg, color-mix(in oklab, var(--color-base-content) 20%, transparent) 0% 40%, var(--color-base-content) 50%, color-mix(in oklab, var(--color-base-content) 20%, transparent) 60% 100%)}}.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-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")}.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)}.tooltip-primary{--tt-bg:var(--color-primary)}.tooltip-primary>.tooltip-content,.tooltip-primary[data-tip]:before{color:var(--color-primary-content)}.btn-lg{--fontsize:1.125rem;--btn-p:1.25rem;--size:calc(var(--size-field,.25rem) * 12)}.btn-sm{--fontsize:.75rem;--btn-p:.75rem;--size:calc(var(--size-field,.25rem) * 8)}.btn-xs{--fontsize:.6875rem;--btn-p:.5rem;--size:calc(var(--size-field,.25rem) * 6)}.badge-error{--badge-color:var(--color-error);--badge-fg:var(--color-error-content)}.badge-success{--badge-color:var(--color-success);--badge-fg:var(--color-success-content)}.range-sm{--range-thumb-size:calc(var(--size-selector,.25rem) * 5)}.range-xs{--range-thumb-size:calc(var(--size-selector,.25rem) * 4)}.toggle-primary:checked,.toggle-primary[aria-checked=true]{--input-color:var(--color-primary)}}.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}.validator:user-invalid~.validator-hint{display:revert-layer}.validator:has(:user-invalid)~.validator-hint{display:revert-layer}:is(.validator[aria-invalid]:not([aria-invalid=false]),.validator:has([aria-invalid]:not([aria-invalid=false])))~.validator-hint{display:revert-layer}.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-0{top:calc(var(--spacing) * 0)}.top-10{top:calc(var(--spacing) * 10)}.top-full{top:100%}.right-0{right:calc(var(--spacing) * 0)}.right-1\/4{right:25%}.bottom-10{bottom:calc(var(--spacing) * 10)}.left-0{left:calc(var(--spacing) * 0)}.left-1\/2{left:50%}.left-1\/4{left:25%}.-z-0{z-index:calc(0 * -1)}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[9999\]{z-index:9999}.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}}.mx-1{margin-inline:calc(var(--spacing) * 1)}.mx-auto{margin-inline:auto}.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)}.-mr-2{margin-right:calc(var(--spacing) * -2)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-2{margin-left:calc(var(--spacing) * 2)}.icon-\[lucide--align-center\]{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='M17 12H7m12 6H5M21 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--align-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 12H3m14 6H3M21 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--align-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='M21 12H9m12 6H7M21 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--bell\]{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='M10.268 21a2 2 0 0 0 3.464 0m-10.47-5.674A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326'/%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--bold\]{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 12h9a4 4 0 0 1 0 8H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h7a4 4 0 0 1 0 8'/%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\]{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--clock\]{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 6v6l4 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--code-2\]{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 16l4-4l-4-4M6 8l-4 4l4 4m8.5-12l-5 16'/%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--home\]{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='M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8'/%3E%3Cpath d='M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%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--indent-decrease\]{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 12H11m10 6H11M21 6H11M7 8l-4 4l4 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--indent-increase\]{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 12H11m10 6H11M21 6H11M3 8l4 4l-4 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--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--italic\]{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='M19 4h-9m4 16H5M15 4L9 20'/%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--list-ordered\]{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 5h10m-10 7h10m-10 7h10M4 4h1v5M4 9h2m.5 11H3.4c0-1 2.6-1.925 2.6-3.5a1.5 1.5 0 0 0-2.6-1.02'/%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--list\]{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='M3 5h.01M3 12h.01M3 19h.01M8 5h13M8 12h13M8 19h13'/%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--menu\]{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 5h16M4 12h16M4 19h16'/%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--moon\]{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.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401'/%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--paperclip\]{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='m16 6l-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551'/%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--quote\]{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='M16 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2a1 1 0 0 1 1 1v1a2 2 0 0 1-2 2a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1a6 6 0 0 0 6-6V5a2 2 0 0 0-2-2zM5 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2a1 1 0 0 1 1 1v1a2 2 0 0 1-2 2a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1a6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z'/%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--redo-2\]{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='m15 14l5-5l-5-5'/%3E%3Cpath d='M20 9H9.5A5.5 5.5 0 0 0 4 14.5A5.5 5.5 0 0 0 9.5 20H13'/%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--settings\]{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='M9.671 4.136a2.34 2.34 0 0 1 4.659 0a2.34 2.34 0 0 0 3.319 1.915a2.34 2.34 0 0 1 2.33 4.033a2.34 2.34 0 0 0 0 3.831a2.34 2.34 0 0 1-2.33 4.033a2.34 2.34 0 0 0-3.319 1.915a2.34 2.34 0 0 1-4.659 0a2.34 2.34 0 0 0-3.32-1.915a2.34 2.34 0 0 1-2.33-4.033a2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915'/%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--smile\]{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='M8 14s1.5 2 4 2s4-2 4-2M9 9h.01M15 9h.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--sun\]{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='4'/%3E%3Cpath d='M12 2v2m0 16v2M4.93 4.93l1.41 1.41m11.32 11.32l1.41 1.41M2 12h2m16 0h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41'/%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--underline\]{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 4v6a6 6 0 0 0 12 0V4M4 20h16'/%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--undo-2\]{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='M9 14L4 9l5-5'/%3E%3Cpath d='M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11'/%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--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--user\]{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='M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='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--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{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.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{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-12{height:calc(var(--spacing) * 12)}.h-20{height:calc(var(--spacing) * 20)}.h-32{height:calc(var(--spacing) * 32)}.h-48{height:calc(var(--spacing) * 48)}.h-96{height:calc(var(--spacing) * 96)}.h-auto{height:auto}.h-full{height:100%}.max-h-60{max-height:calc(var(--spacing) * 60)}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-\[22rem\]{min-height:22rem}.min-h-full{min-height:100%}.w-3{width:calc(var(--spacing) * 3)}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-24{width:calc(var(--spacing) * 24)}.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-60{width:calc(var(--spacing) * 60)}.w-64{width:calc(var(--spacing) * 64)}.w-80{width:calc(var(--spacing) * 80)}.w-96{width:calc(var(--spacing) * 96)}.w-auto{width:auto}.w-full{width:100%}.w-px{width:1px}.w-xs{width:var(--container-xs)}.max-w-2xl{max-width:var(--container-2xl)}.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)}.min-w-\[48px\]{min-width:48px}.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-0{--tw-translate-x:calc(var(--spacing) * 0);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)}.scale-110{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.animate-pulse{animation:var(--animate-pulse)}.cursor-pointer{cursor:pointer}.grid-cols-1{grid-template-columns:repeat(1,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-nowrap{flex-wrap:nowrap}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.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}.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-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-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)))}:where(.-space-x-6>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * -6) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * -6) * calc(1 - var(--tw-space-x-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.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)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.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-primary{border-color:var(--color-primary)}.bg-base-100,.bg-base-100\/50{background-color:var(--color-base-100)}@supports (color:color-mix(in lab, red, red)){.bg-base-100\/50{background-color:color-mix(in oklab, var(--color-base-100) 50%, transparent)}}.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-primary,.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-transparent{background-color:#0000}.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))}@layer daisyui.l1{.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-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}}}.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-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))}.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-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-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)}.pl-3{padding-left:calc(var(--spacing) * 3)}.\!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-7xl{font-size:var(--text-7xl);line-height:var(--tw-leading,var(--text-7xl--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)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-tighter{--tw-tracking:var(--tracking-tighter);letter-spacing:var(--tracking-tighter)}.tracking-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-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-primary{color:var(--color-primary)}.text-secondary{color:var(--color-secondary)}.text-secondary-content{color:var(--color-secondary-content)}.text-transparent{color:#0000}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-100{opacity:1}.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-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)}.hover\:z-10:hover{z-index:10}.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-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\:text-base-content:hover{color:var(--color-base-content)}}.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\:grid-cols-2{grid-template-columns:repeat(2,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\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (hover:hover){.\[\&_\.resizable-img-container\]\:hover\:border-primary .resizable-img-container:hover{border-color:var(--color-primary)}}.\[\&_blockquote\]\:border-l-4 blockquote{border-left-style:var(--tw-border-style);border-left-width:4px}.\[\&_blockquote\]\:border-base-300 blockquote{border-color:var(--color-base-300)}.\[\&_blockquote\]\:pl-4 blockquote{padding-left:calc(var(--spacing) * 4)}.\[\&_blockquote\]\:italic blockquote{font-style:italic}.\[\&_ol\]\:list-decimal ol{list-style-type:decimal}.\[\&_ol\]\:pl-8 ol{padding-left:calc(var(--spacing) * 8)}.\[\&_ul\]\:list-disc ul{list-style-type:disc}.\[\&_ul\]\:pl-8 ul{padding-left:calc(var(--spacing) * 8)}.\[\&\>div\]\:m-0>div{margin:calc(var(--spacing) * 0)}.\[\&\>div\]\:min-h-\[1em\]>div{min-height:1em}.\[\&\>p\]\:m-0>p{margin:calc(var(--spacing) * 0)}}: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}.markdown-section progress.progress{all:revert-layer}@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-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-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}@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 7b00dbf..06998ec 100644 --- a/docs/sigpro-ui.min.js +++ b/docs/sigpro-ui.min.js @@ -1,7 +1,7 @@ -(()=>{var{defineProperty:nn,getOwnPropertyNames:Zn,getOwnPropertyDescriptor:Yn}=Object,Bn=Object.prototype.hasOwnProperty;function In(n){return this[n]}var gn=(n)=>{var f=(En??=new WeakMap).get(n),t;if(f)return f;if(f=nn({},"__esModule",{value:!0}),n&&typeof n==="object"||typeof n==="function"){for(var _ of Zn(n))if(!Bn.call(f,_))nn(f,_,{get:In.bind(n,_),enumerable:!(t=Yn(n,_))||t.enumerable})}return En.set(n,f),f},En;var dn=(n)=>n;function $n(n,f){this[n]=dn.bind(null,f)}var Nn=(n,f)=>{for(var t in f)nn(n,t,{get:f[t],enumerable:!0,configurable:!0,set:$n.bind(f,t)})};var tr={};Nn(tr,{Components:()=>Sn});var wn={};Nn(wn,{tt:()=>Wn,i18n:()=>Cn,hide:()=>s,currentLocale:()=>bn,Tooltip:()=>fr,Toggle:()=>nr,Toast:()=>pf,Timeline:()=>hf,Textrotate:()=>cf,Textarea:()=>vf,Tabs:()=>ef,TableItems:()=>mf,Table:()=>sf,SwapToggle:()=>Xn,SwapOn:()=>zn,SwapOff:()=>Qn,Swap:()=>Un,Steps:()=>af,Step:()=>xf,Stats:()=>Df,Stat:()=>Ff,Stack:()=>lf,SkeletonText:()=>Rf,Skeleton:()=>Hf,Select:()=>qf,RatingItems:()=>Vf,Rating:()=>$f,Range:()=>df,Radio:()=>gf,Radial:()=>If,Progress:()=>Bf,Navbar:()=>Yf,Modal:()=>Zf,Menu:()=>Mf,Locale:()=>sn,Loading:()=>Gf,ListRows:()=>Sf,List:()=>Qf,Kbd:()=>zf,Input:()=>Ln,Indicator:()=>Xf,Icon:()=>i,Fileinput:()=>Uf,Fieldset:()=>Lf,Fab:()=>Kf,Editor:()=>rr,DropdownContent:()=>e,DropdownButton:()=>Kn,Dropdown:()=>m,DrawerToggle:()=>Cf,DrawerSide:()=>Pf,DrawerOverlay:()=>Tf,DrawerContent:()=>Wf,Drawer:()=>jf,Divider:()=>Jf,Datepicker:()=>Of,Colorpicker:()=>kf,ColorPalette:()=>Jn,Checkbox:()=>Af,ChatImage:()=>yf,ChatHeader:()=>Nf,ChatFooter:()=>Ef,ChatBubble:()=>wf,Chat:()=>bf,CarouselItem:()=>uf,Carousel:()=>of,CardTitle:()=>rf,CardBody:()=>tf,CardActions:()=>_f,Card:()=>ff,Calendar:()=>Tn,Button:()=>Pn,Breadcrumbs:()=>nf,Badge:()=>pn,AvatarGroup:()=>cn,Avatar:()=>vn,Autocomplete:()=>hn,Alert:()=>en,Accordion:()=>mn});var P=(n)=>typeof n==="function",F=(n)=>n&&typeof n==="object",d=Array.isArray,Z=typeof document<"u"?document:null,yn=(n)=>n?._isRuntime?n.container:n instanceof Node?n:Z.createTextNode(n==null?"":String(n)),X=null,G=null,R=!1,D=0,a=new Set,An=new WeakMap,fn=Symbol("iter"),rn=new WeakMap,Vn="http://www.w3.org/2000/svg",kn="http://www.w3.org/1999/xlink",qn=new Set("svg,path,circle,rect,line,polyline,polygon,g,defs,text,textPath,tspan,use,symbol,image,marker,ellipse".split(",")),$=(n)=>{if(!n||n._disposed)return;n._disposed=!0;let f=[n];while(f.length){let t=f.pop();if(t._cleanups)t._cleanups.forEach((_)=>_()),t._cleanups.clear();if(t._children)t._children.forEach((_)=>f.push(_)),t._children.clear();if(t._deps)t._deps.forEach((_)=>_.delete(t)),t._deps.clear()}},q=(n)=>{if(G)(G._cleanups||=new Set).add(n)},Hn=(n)=>{let f=X;X=null;try{return n()}finally{X=f}},l=(n,f=!1)=>{let t=()=>{if(t._disposed)return;if(t._deps)t._deps.forEach((b)=>b.delete(t));if(t._cleanups)t._cleanups.forEach((b)=>b()),t._cleanups.clear();let _=X,o=G;X=G=t;try{return t._result=n()}catch(b){console.error("[SigPro]",b)}finally{X=_,G=o}};if(t._deps=t._cleanups=t._children=null,t._disposed=!1,t._isComputed=f,t._depth=X?X._depth+1:0,t._mounts=[],t._parent=G,G)(G._children||=new Set).add(t);return t},On=()=>{if(R)return;R=!0;let n=Array.from(a).sort((f,t)=>f._depth-t._depth);a.clear();for(let f of n)if(!f._disposed)f();R=!1},Rn=(n)=>{D++;try{return n()}finally{if(D--,D===0&&a.size>0&&!R)On()}},M=(n,f=!1)=>{if(!f&&X&&!X._disposed)n.add(X),(X._deps||=new Set).add(n);else if(f&&n.size>0){let t=!1;for(let _ of n){if(_===X||_._disposed)continue;if(_._isComputed){if(_._dirty=!0,_._subs)M(_._subs,!0)}else a.add(_),t=!0}if(t&&!R&&D===0)queueMicrotask(On)}},L=(n,f=null)=>{let t=new Set;if(P(n)){let _,o=()=>{if(o._dirty){let b=X;X=o;try{let u=n();if(!Object.is(_,u))_=u,M(t,!0)}finally{X=b}o._dirty=!1}return M(t),_};return o._isComputed=!0,o._subs=t,o._dirty=!0,o._deps=null,o._disposed=!1,o}if(f)try{n=JSON.parse(localStorage.getItem(f))??n}catch(_){}return(..._)=>{if(_.length){let o=P(_[0])?_[0](n):_[0];if(!Object.is(n,o)){if(n=o,f)localStorage.setItem(f,JSON.stringify(n));M(t,!0)}}return M(t),n}},jn=(n)=>{if(!F(n))return n;let f=An.get(n);if(f)return f;let t=new Map,_=(b)=>{let u=t.get(b);if(!u)t.set(b,u=new Set);return u},o=new Proxy(n,{get(b,u,E){if(typeof u!=="symbol")M(_(u));return jn(Reflect.get(b,u,E))},set(b,u,E,w){let y=Reflect.has(b,u),O=Reflect.get(b,u,w),C=Reflect.set(b,u,E,w);if(C&&!Object.is(O,E)){if(M(_(u),!0),!y)M(_(fn),!0)}return C},deleteProperty(b,u){let E=Reflect.deleteProperty(b,u);if(E)M(_(u),!0),M(_(fn),!0);return E},ownKeys(b){return M(_(fn)),Reflect.ownKeys(b)}});return An.set(n,o),o},V=(n,f)=>{if(f===void 0){let _=l(n);return _(),()=>$(_)}let t=l(()=>{let _=Array.isArray(n)?n.map((o)=>o()):n();Hn(()=>f(_))});return t(),()=>$(t)},_n=(n)=>{if(!n)return;if(n._cleanups)n._cleanups.forEach((f)=>f()),n._cleanups.clear();if(n._ownerEffect)$(n._ownerEffect);if(n.childNodes)n.childNodes.forEach((f)=>_n(f))},ln=/^\s*(javascript|data|vbscript):/i,Dn=new Set(["src","href","formaction","action","background","code","archive"]),Fn=(n)=>Dn.has(n)||n.startsWith("on"),tn=(n,f)=>{if(f==null||f===!1)return null;if(Fn(n)){let t=String(f);if(ln.test(t))return console.warn(`[SigPro] Bloqueado protocolo peligroso en ${n}`),"#"}return f},r=(n,f={},t=[])=>{if(f instanceof Node||d(f)||!F(f))t=f,f={};if(P(n)){let u=l(()=>{let O=n(f,{children:t,emit:(C,...W)=>f[`on${C[0].toUpperCase()}${C.slice(1)}`]?.(...W)});return u._result=O,O});u();let E=u._result;if(E==null)return null;let w=E instanceof Node||d(E)&&E.every((O)=>O instanceof Node)?E:Z.createTextNode(String(E)),y=(O)=>{if(F(O)&&!O._isRuntime)O._mounts=u._mounts||[],O._cleanups=u._cleanups||new Set,O._ownerEffect=u};return d(w)?w.forEach(y):y(w),w}let _=qn.has(n),o=_?Z.createElementNS(Vn,n):Z.createElement(n);o._cleanups=new Set;for(let u of Object.keys(f)){let E=f[u];if(u==="ref"){P(E)?E(o):E.current=o;continue}if(_&&u.startsWith("xlink:")){let w=tn(u.slice(6),E);w==null?o.removeAttributeNS(kn,u.slice(6)):o.setAttributeNS(kn,u.slice(6),w);continue}if(u.startsWith("on")){let w=u.slice(2).toLowerCase();o.addEventListener(w,E);let y=()=>o.removeEventListener(w,E);o._cleanups.add(y),q(y)}else if(P(E)){let w=l(()=>{let y=tn(u,E());if(u==="class")o.className=y||"";else if(y==null)o.removeAttribute(u);else if(u==="style"&&typeof y==="string")o.setAttribute("style",y);else if(u in o&&!_)o[u]=y;else o.setAttribute(u,y===!0?"":y)});if(w(),o._cleanups.add(()=>$(w)),q(()=>$(w)),/^(INPUT|TEXTAREA|SELECT)$/.test(o.tagName)&&(u==="value"||u==="checked")){let y=u==="checked"?"change":"input";o.addEventListener(y,(O)=>E(O.target[u]))}}else{let w=tn(u,E);if(w!=null)if(u==="style"&&typeof w==="string")o.setAttribute("style",w);else if(u in o&&!_)o[u]=w;else o.setAttribute(u,w===!0?"":w)}}let b=(u)=>{if(d(u))return u.forEach(b);if(P(u)){let E=Z.createTextNode("");o.appendChild(E);let w=[],y=l(()=>{let O=u(),C=(d(O)?O:[O]).map(yn);w.forEach((T)=>{if(T._isRuntime)T.destroy();else _n(T);if(T.parentNode)T.remove()});let W=E;for(let T=C.length-1;T>=0;T--){let k=C[T];if(k.parentNode!==W.parentNode)W.parentNode?.insertBefore(k,W);if(k._mounts)k._mounts.forEach((j)=>j());W=k}w=C});y(),o._cleanups.add(()=>$(y)),q(()=>$(y))}else{let E=yn(u);if(o.appendChild(E),E._mounts)E._mounts.forEach((w)=>w())}};return b(t),o},x=(n)=>{let f=new Set,t=G,_=X,o=Z.createElement("div");o.style.display="contents",o.setAttribute("role","presentation"),G={_cleanups:f},X=null;let b=(u)=>{if(!u)return;if(u._isRuntime)f.add(u.destroy),o.appendChild(u.container);else if(d(u))u.forEach(b);else o.appendChild(u instanceof Node?u:Z.createTextNode(String(u==null?"":u)))};try{b(n({onCleanup:(u)=>f.add(u)}))}finally{G=t,X=_}return{_isRuntime:!0,container:o,destroy:()=>{f.forEach((u)=>u()),_n(o),o.remove()}}},on=(n,f,t=null)=>{let _=Z.createTextNode(""),o=r("div",{style:"display:contents"},[_]),b=null;return V(()=>!!(P(n)?n():n),(u)=>{if(b)b.destroy(),b=null;let E=u?f:t;if(E)b=x(()=>P(E)?E():E),o.insertBefore(b.container,_)}),q(()=>b?.destroy()),o},I=(n,f,t)=>{let _=Z.createTextNode(""),o=r("div",{style:"display:contents"},[_]),b=new Map;return V(()=>(P(n)?n():n)||[],(u)=>{let E=new Map,w=[],y=u||[];for(let C=0;Cf(W,C));else b.delete(T);E.set(T,k),w.push(k)}b.forEach((C)=>C.destroy());let O=_;for(let C=w.length-1;C>=0;C--){let W=w[C].container;if(W.nextSibling!==O)o.insertBefore(W,O);O=W}b=E}),o},H=(n)=>{let f=()=>window.location.hash.slice(1)||"/",t=L(f()),_=()=>t(f());window.addEventListener("hashchange",_),q(()=>window.removeEventListener("hashchange",_));let o=r("div",{class:"router-hook"}),b=null;return V([t],()=>{let u=t(),E=n.find((w)=>{let y=w.path.split("/").filter(Boolean),O=u.split("/").filter(Boolean);return y.length===O.length&&y.every((C,W)=>C[0]===":"||C===O[W])})||n.find((w)=>w.path==="*");if(E){b?.destroy();let w={};E.path.split("/").filter(Boolean).forEach((y,O)=>{if(y[0]===":")w[y.slice(1)]=u.split("/").filter(Boolean)[O]}),H.params(w),b=x(()=>P(E.component)?E.component(w):E.component),o.replaceChildren(b.container)}}),o};H.params=L({});H.to=(n)=>window.location.hash=n.replace(/^#?\/?/,"#/");H.back=()=>window.history.back();H.path=()=>window.location.hash.replace(/^#/,"")||"/";var un=(n,f)=>{let t=typeof f==="string"?Z.querySelector(f):f;if(!t)return;if(rn.has(t))rn.get(t).destroy();let _=x(P(n)?n:()=>n);return t.replaceChildren(_.container),rn.set(t,_),_};if(typeof window<"u")Object.assign(window,{$:L,$$:jn,watch:V,h:r,when:on,each:I,router:H,mount:un,batch:Rn,onUnmount:q,isArr:d,isFunc:P,isObj: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((n)=>{window[n]=(f,t)=>r(n,f,t)});var K=(n)=>typeof n==="function"?n():n,g=(n,f="label")=>n&&typeof n==="object"?n[f]:n,N=(...n)=>n.filter(Boolean).join(" ").trim(),an=(n,f,t="label",_=String(f).toLowerCase())=>!f?K(n):K(n).filter((o)=>String(o&&typeof o==="object"?o[t]:o).toLowerCase().includes(_)),xn=(n)=>`${n}-${Math.random().toString(36).slice(2,9)}`,s=()=>document.activeElement?.blur(),Cn={es:{uploadFiles:"Arrastrar y soltar o click para seleccionar..."},en:{uploadFiles:"DRag and drop or click to select"}},bn=L("en"),sn=(n)=>bn(n),Wn=(n)=>()=>Cn[bn()][n]||n,mn=(n)=>{let f=n.name||xn("acc");return I(n.items,(t)=>{return r("div",{class:N("collapse",n.class)},[r("input",{type:"radio",name:f,checked:t.open||void 0}),t.title?r("div",{class:N("collapse-title",`${t.classTitle??" font-semibold"}`)},t.title):null,t.content?r("div",{class:N("collapse-content text-sm",`${t.classContent??" font-semibold"}`)},t.content):null])})},en=(n,f)=>r("div",{...n,class:N("alert",n.class)},f),vn=(n,f)=>r("div",{class:"avatar"},r("div",{class:n.class},f)),cn=(n,f)=>r("div",{...n,class:N("avatar-group -space-x-6",n.class)},f),hn=({items:n,value:f,onselect:t,placeholder:_="...",...o})=>{let b=L(K(f)||""),u=L(()=>an(n,b())),E=(w)=>{let y=g(w),O=typeof w==="string"?w:w.value;if(b(y),P(f))f(O);t?.(w),s()};return m({class:"w-full"},[r("div",{tabindex:"0",role:"button",class:"w-full"},Ln({...o,placeholder:_,value:b,left:r("span",{class:"icon-[lucide--search]"}),oninput:(w)=>{if(b(w.target.value),P(f))f(w.target.value)}})),e({class:"p-2 bg-base-100 rounded-box shadow-xl w-full max-h-60 overflow-y-auto border border-base-300 z-50"},r("ul",{class:"menu flex-col flex-nowrap w-full p-0"},[I(u,(w)=>r("li",{},[r("a",{onmousedown:(y)=>y.preventDefault(),onclick:()=>E(w)},g(w))]),(w)=>g(w)),()=>u().length===0?r("li",{class:"p-4 opacity-50 text-center"},"Sin resultados"):null]))])},pn=(n,f)=>r("span",{...n,class:N("badge",n.class)},f),nf=(n,f)=>r("div",{...n,class:N("breadcrumbs",n.class)},f),Pn=(n,f)=>r("button",{...n,class:N("btn",n.class)},f),Tn=(n)=>{let f=L(new Date),t=L(null),_=L(0),o=L(0),b=new Date,u=`${b.getFullYear()}-${String(b.getMonth()+1).padStart(2,"0")}-${String(b.getDate()).padStart(2,"0")}`,E=(k)=>`${k.getFullYear()}-${String(k.getMonth()+1).padStart(2,"0")}-${String(k.getDate()).padStart(2,"0")}`,w=()=>K(n.range)===!0,y=()=>K(n.value),O=(k)=>{let j=E(k),Q=y();if(w())if(!Q?.start||Q.start&&Q.end)n.onChange?.({start:j,end:null,...n.hour&&{startHour:_()}});else{let Y=Q.start,S=j{let j=f();f(new Date(j.getFullYear(),j.getMonth()+k,1))},W=(k)=>{let j=f();f(new Date(j.getFullYear()+k,j.getMonth(),1))},T=({value:k,onChange:j})=>r("div",{class:"flex-1"},[r("div",{class:"flex gap-2 items-center"},[r("input",{type:"range",min:0,max:23,value:k,class:"range range-xs flex-1",oninput:(Q)=>j(+Q.target.value)}),r("span",{class:"text-sm font-mono min-w-[48px] text-center"},()=>String(K(k)).padStart(2,"0")+":00")])]);return r("div",{class:N("p-4 bg-base-100 border border-base-300 shadow-2xl rounded-box w-80 select-none",n.class)},[r("div",{class:"flex justify-between items-center mb-4 gap-1"},[r("div",{class:"flex gap-0.5"},[r("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>W(-1)},r("span",{class:"icon-[lucide--chevrons-left]"})),r("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>C(-1)},r("span",{class:"icon-[lucide--chevron-left]"}))]),r("span",{class:"font-bold uppercase flex-1 text-center"},()=>f().toLocaleString("es-ES",{month:"short",year:"numeric"})),r("div",{class:"flex gap-0.5"},[r("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>C(1)},r("span",{class:"icon-[lucide--chevron-right]"})),r("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>W(1)},r("span",{class:"icon-[lucide--chevrons-right]"}))])]),r("div",{class:"grid grid-cols-7 gap-1",onmouseleave:()=>t(null)},[...["L","M","X","J","V","S","D"].map((k)=>r("div",{class:"text-[10px] opacity-40 font-bold text-center"},k)),()=>{let k=f(),j=k.getFullYear(),Q=k.getMonth(),Y=new Date(j,Q,1).getDay(),S=Y===0?6:Y-1,v=new Date(j,Q+1,0).getDate(),A=[];for(let J=0;J{let B=y(),c=t(),Gn=typeof B==="string"?B.split("T")[0]===z:B?.start===z,Mn=B?.end===z,h=!1;if(w()&&B?.start){let p=B.start;if(!B.end&&c)h=z>p&&z<=c||z=c;else if(B.end)h=z>p&&zw()&&t(z),onclick:()=>O(U)},J.toString()))}return A}]),n.hour?r("div",{class:"mt-3 pt-2 border-t border-base-300"},w()?r("div",{class:"flex gap-4"},[T({value:_,onChange:(k)=>_(k)}),T({value:o,onChange:(k)=>o(k)})]):T({value:_,onChange:(k)=>_(k)})):null])},ff=(n,f)=>r("div",{...n,class:N("card",n.class)},f),rf=(n,f)=>r("div",{...n,class:N("card-title",n.class)},f),tf=(n,f)=>r("div",{...n,class:N("card-body",n.class)},f),_f=(n,f)=>r("div",{...n,class:N("card-actions",n.class)},f),of=(n,f)=>r("div",{...n,class:N("carousel",n.class)},f),uf=(n,f)=>r("div",{...n,class:N("carousel-item",n.class)},f),bf=(n,f)=>r("div",{...n,class:N("chat",n.class)},f),wf=(n,f)=>r("div",{...n,class:N("chat-bubble",n.class)},f),Ef=(n,f)=>r("div",{...n,class:N("chat-footer",n.class)},f),Nf=(n,f)=>r("div",{...n,class:N("chat-header",n.class)},f),yf=(n,f)=>r("div",{...n,class:N("chat-image avatar",n.class)},r("div",{class:"w-10 rounded-full"},typeof f==="string"?r("img",{src:f,alt:"avatar"}):f)),Af=(n)=>r("input",{...n,type:"checkbox",class:N("checkbox",n.class)}),kf=(n)=>{let f=()=>K(n.value)||"#000000";return m({},[Kn({class:"btn"},[r("div",{class:"size-5 rounded-sm",style:()=>`background-color: ${f()}`}),n.label&&r("span",{},n.label)]),e({class:"p-0"},Jn({value:n.value,onchange:(t)=>{P(n.value)?n.value(t):n.onchange?.(t)}}))])},Jn=(n)=>{let f=()=>K(n.value)||"#000000",t=["#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"],_=(o)=>{P(n.value)?n.value(o):n.onchange?.(o),s()};return r("div",{class:N("p-3 bg-base-100 rounded-box shadow w-64",n.class)},r("div",{class:"grid grid-cols-8 gap-1"},t.map((o)=>r("button",{type:"button",style:`background-color: ${o}`,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 ${f().toLowerCase()===o.toLowerCase()?"ring-2 ring-offset-1 ring-primary z-10 scale-110":""}`},onclick:()=>{_(o)}}))))},Of=(n)=>{let f=L(""),t=()=>K(n.range)===!0;V(()=>{let o=K(n.value);if(!o)return f("");let b="";if(typeof o==="string")b=n.hour&&o.includes("T")?o.replace("T"," "):o;else if(o.start&&o.end){let u=n.hour&&o.startHour!=null?`${o.start} ${String(o.startHour).padStart(2,"0")}:00`:o.start,E=n.hour&&o.endHour!=null?`${o.end} ${String(o.endHour).padStart(2,"0")}:00`:o.end;b=`${u} - ${E}`}else if(o.start)b=`${n.hour&&o.startHour!=null?`${o.start} ${String(o.startHour).padStart(2,"0")}:00`:o.start}...`;f(b)});let _=(o)=>{if(P(n.value))n.value(o);else n.onChange?.(o);if(!t()||o?.end!=null)s()};return m({class:N("w-full",n.class)},[r("label",{tabindex:"0",role:"button",class:"input input-bordered flex items-center gap-2 cursor-pointer"},[r("span",{class:"icon-[lucide--calendar] shrink-0"}),r("span",{class:()=>`grow text-left truncate ${!f()?"opacity-50":""}`},()=>f()||n.placeholder||(t()?"Seleccionar rango...":"Seleccionar fecha...")),()=>f()?r("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle -mr-2",onmousedown:(o)=>{if(o.preventDefault(),o.stopPropagation(),P(n.value))n.value(null);else n.onChange?.(null);f("")}},r("span",{class:"icon-[lucide--x] opacity-50"})):null]),e({class:"p-0"},Tn({value:n.value,range:t(),hour:n.hour,onChange:_}))])},jf=(n,f)=>div({...n,class:N("drawer",n.class)},f),Cf=(n)=>input({...n,type:"checkbox",class:"drawer-toggle",checked:()=>K(n.checked),onchange:(f)=>P(n.checked)&&n.checked(f.target.checked)}),Wf=(n,f)=>div({...n,class:N("drawer-content",n.class)},f),Pf=(n,f)=>div({...n,class:N("drawer-side",n.class)},f),Tf=(n)=>label({...n,for:n.for,class:N("drawer-overlay",n.class)}),Jf=(n)=>r("div",{...n,class:N("divider",n.class)}),m=(n,f)=>r("div",{...n,class:N("dropdown",n.class)},f),Kn=(n,f)=>r("div",{...n,tabindex:"0",role:"button",class:N("btn",n.class)},f),e=(n,f)=>r("div",{...n,tabindex:"0",class:N("dropdown-content",n.class)},f),Kf=(n,f)=>r("div",{class:"fab"},[r("div",{tabindex:"0",role:"button",class:N("btn",n.class)},i(n.icon)),f]),Lf=(n,f)=>r("fieldset",{class:N("fieldset",n.class)},[r("legend",{class:"fieldset-legend"},n.label),f]),Uf=(n)=>{let f=L([]),t=L(!1),_=L(null),o=(n.max||2)*1024*1024,b=(E)=>{let w=Array.from(E);if(_(null),w.some((O)=>O.size>o)){_(`Máx ${n.max||2}MB`);return}let y=[...f(),...w];if(f(y),P(n.onselect))n.onselect(y);else if(P(n.value))n.value(y)},u=(E)=>{let w=f().filter((y,O)=>O!==E);if(f(w),P(n.onselect))n.onselect(w);else if(P(n.value))n.value(w)};return r("div",{class:N("fieldset w-full p-0",n.class)},[r("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 ${t()?"border-primary bg-primary/10":"border-base-content/20 bg-base-100 hover:bg-base-200"}`,ondragover:(E)=>{E.preventDefault(),t(!0)},ondragleave:()=>t(!1),ondrop:(E)=>{E.preventDefault(),t(!1),b(E.dataTransfer.files)}},[r("div",{class:"flex items-center gap-3 w-full"},[r("span",{class:"icon-[lucide--upload]"}),r("span",{class:"text-sm opacity-70 truncate grow text-left"},Wn("uploadFiles")),r("span",{class:"text-[10px] opacity-40 shrink-0"},`Máx ${n.max||2}MB`)]),r("input",{type:"file",multiple:!0,accept:n.accept||"*",class:"hidden",onchange:(E)=>b(E.target.files)})]),()=>_()&&r("span",{class:"text-[10px] text-error mt-1 px-1 font-medium"},_()),on(()=>f().length>0,()=>r("ul",{class:"mt-2 space-y-1"},I(f,(E,w)=>r("li",{class:"flex items-center justify-between p-1.5 pl-3 text-xs bg-base-200/50 rounded-md border border-base-300"},[r("div",{class:"flex items-center gap-2 truncate"},[r("span",{class:"opacity-50"},"\uD83D\uDCC4"),r("span",{class:"truncate font-medium max-w-[200px]"},E.name),r("span",{class:"text-[9px] opacity-40"},`(${(E.size/1024).toFixed(0)} KB)`)]),r("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle",onclick:(y)=>{y.preventDefault(),u(w)}},r("span",{class:"icon-[lucide--x]"}))]))))])},i=(n)=>r("span",{class:n.startsWith("icon-")?n:""},n.startsWith("icon-")?null:n),Xf=(n,f)=>r("div",{...n,class:N("indicator",n.class)},[n.value&&r("span",{class:N("indicator-item badge",n.class)},n.value),f]),Ln=(n)=>{let{label:f,icon:t,float:_,placeholder:o,value:b,left:u,right:E,rule:w,hint:y,content:O,...C}=n,W=L(!1),T=n.type==="password",k=w??null,j=()=>T?K(W)?"text":"password":n.type||"search";return r("label",{class:_?"floating-label":""},[_?r("span",{},f):null,r("label",{pattern:k,class:()=>N("input validator",n.class)},[f&&!_?r("span",{class:"label"},f):null,u??null,r("input",{...C,type:j,class:"grow",pattern:k,placeholder:o||f||" ",value:b}),E??null,T?Un({class:"ml-2"},[Xn({value:W,class:"swap-rotate"}),zn({},i("icon-[lucide--eye]")),Qn({},i("icon-[lucide--eye-off]"))]):null]),y?r("div",{class:"validator-hint"},y):null])},zf=(n,f)=>r("kbd",{...n,class:N("kbd",n.class)},f),Qf=(n,f)=>r("ul",{...n,class:N("list",n.class)},f),Sf=(n)=>()=>(K(n.items)||[]).map((f,t)=>r("li",{class:N("list-row",n.class,f?.class)},typeof n.render==="function"?n.render(f,t):f)),Gf=(n,f)=>r("span",{...n,class:N("loading loading-spinner",n.class)},f),Mf=(n)=>{if(n.children!==void 0)return r("ul",{class:N("menu",n.class),...n},n.children);let{items:f}=n,t=(_)=>_.children?r("li",{},r("details",{open:_.open||void 0},[r("summary",{},g(_)),r("ul",{},I(()=>K(_.children)||[],t))])):r("li",{},r("a",{href:_.href,onclick:_.onclick?(o)=>{if(!_.href)o.preventDefault();_.onclick(o)}:null},g(_)));return r("ul",{class:N("menu",n.class)},I(()=>K(f)||[],t))},Zf=(n)=>{let f=null;V(()=>{let _=K(n.open);if(!f)return;_?f.showModal():f.hide()});let t=()=>P(n.open)&&n.open(!1);return r("dialog",{...n,ref:(_)=>f=_,class:N("modal",n.class),onclose:t,oncancel:t},[r("div",{class:"modal-box"},[n.title&&r("h3",{class:"text-lg font-bold"},n.title),n.children,r("div",{class:"modal-action"},[n.actions||Pn({class:"btn",onclick:t},"Cerrar")])]),r("form",{method:"dialog",class:"modal-backdrop"},[r("button",{},"close")])])},Yf=(n,f)=>r("div",{...n,class:N("navbar",n.class)},f),Bf=(n)=>r("progress",{...n,class:N("progress",n.class)}),If=(n,f)=>r("div",{class:N("radial-progress",n.class),style:`--value:${K(n.value)??0};`,role:"progressbar","aria-valuenow":n.value},f),gf=(n)=>r("input",{...n,type:"radio",class:N("radio",n.class)}),df=(n)=>r("input",{...n,type:"range",class:N("range",n.class)}),$f=(n,f)=>r("div",{...n,class:"rating"},f),Vf=(n)=>[...Array(n.count)].map((f,t)=>r("input",{class:N("mask",n.class),name:n.name,type:"radio",checked:()=>K(n.value)===t,onchange:()=>P(n.value)?n.value(t):n.onchange?.(t)})),qf=(n,f)=>{if(f!==void 0)return r("select",{class:N("select",n.class),...n},f);let{label:t,float:_,placeholder:o,placeholderDisabled:b=!0,value:u,left:E,right:w,hint:y,items:O,keyFn:C,...W}=n,T=()=>{let k=K(O)||[];return[...o?[{disabled:b,label:o,value:""}]:[],...k]};return r("label",{class:_?"floating-label":""},[_?r("span",{},t):null,r("label",{class:N("select",W.class)},[!_&&t?r("span",{class:"label"},t):null,E??null,r("select",{value:()=>K(u),onchange:(k)=>P(u)?u(k.target.value):W.onchange?.(k)},I(T,(k)=>{let j=g(k,k.value!==void 0?"value":void 0),Q=g(k,"label");return r("option",{value:j,disabled:k.disabled||void 0},Q)})),w??null]),y?r("div",{class:"validator-hint"},y):null])},Hf=(n)=>r("div",{...n,class:N("skeleton",n.class)}),Rf=(n)=>r("span",{...n,class:N("skeleton skeleton-text",n.class)}),lf=(n,f)=>r("div",{...n,class:N("stack",n.class)},f),Df=(n,f)=>r("div",{...n,class:N("stats shadow",n.class)},f),Ff=(n)=>r("div",{...n,class:N("stat",n.class)},[n.title?r("div",{class:"stat-title"},n.title):null,n.value?r("div",{class:"stat-value"},n.value):null,n.desc?r("div",{class:"stat-desc"},n.desc):null]),af=(n,f)=>r("ul",{...n,class:N("steps",n.class)},f),xf=(n,f)=>r("li",{...n,class:N("step",n.class),"data-content":n.dataContent},f),Un=(n,f)=>r("label",{...n,class:N("swap",n.class)},f),Xn=(n)=>r("input",{type:"checkbox",checked:()=>K(n.value),onchange:(f)=>P(n.value)&&n.value(f.target.checked),class:n.class}),zn=(n,f)=>r("div",{...n,class:N("swap-on",n.class)},f),Qn=(n,f)=>r("div",{...n,class:N("swap-off",n.class)},f),sf=(n,f)=>r("table",{...n,class:N("table",n.class)},f),mf=({items:n,columns:f=[],header:t=!0})=>{let _=t!==!1&&f.some((b)=>b.label)?r("thead",{},r("tr",{},f.map((b)=>r("th",{class:b.class},b.label)))):null,o=r("tbody",{},()=>{return(K(n)||[]).map((u,E)=>r("tr",{},f.map((w)=>{let y=w.render?w.render(u,E):u[w.key];return r("td",{class:w.class},y)})))});return[_,o].filter(Boolean)},ef=(n,f)=>{if(!n.items){let{class:y,...O}=n;return r("div",{...O,class:N("tabs",y)},f)}let{items:t,activeIndex:_,onClose:o,class:b,...u}=n,E=(y)=>P(y)?y():y,w=o||(P(t)?(y,O)=>{let W=K(t).filter((T,k)=>k!==y);if(t(W),_()>=W.length)_(Math.max(0,W.length-1))}:null);return r("div",{...u,class:N("tabs",b)},()=>{return(K(t)||[]).flatMap((O,C)=>{let W=()=>_()===C,T=r("button",{class:()=>`tab ${W()?"tab-active":""} ${O.class||""}`,onclick:(j)=>{j.preventDefault(),_(C),O.onclick?.(j)}},[g(O),O.closable?r("span",{class:"ml-1 inline-flex items-center justify-center w-4 h-4 rounded-full hover:bg-base-300 text-base-content/60 hover:text-base-content cursor-pointer",onclick:(j)=>{j.stopPropagation(),w?.(C,O)}},r("span",{class:"icon-[lucide--x] w-3 h-3"})):null]),k=r("div",{class:"tab-content bg-base-100 border-base-300 p-6",style:()=>`display: ${W()?"block":"none"};`},P(O.content)?O.content():O.content);return[T,k]})})},vf=(n)=>r("textarea",{...n,class:N("textarea",n.class)}),cf=(n,f)=>r("span",{...n,class:N("text-rotate",n.class)},r("span",{},f)),hf=(n,f)=>r("ul",{...n,class:N("timeline",n.class)},f),pf=(n,f="alert-success",t=3500)=>{let _=document.getElementById("sigpro-toast-container");if(!_)_=r("div",{id:"sigpro-toast-container",class:"fixed top-0 right-0 z-[9999] p-4 flex flex-col items-end gap-2 pointer-events-none"}),document.body.appendChild(_);let o=r("div",{style:"display: contents"});_.appendChild(o);let b,u,E,y=un(()=>{let O=L(!1),C=L(!1);b=()=>{if(C())return;clearTimeout(u),clearTimeout(E),C(!0),setTimeout(()=>{if(y.destroy(),o.remove(),!_.hasChildNodes())_.remove()},300)},E=setTimeout(()=>O(!0),0);let W=typeof n==="function"?K(n):n,T=typeof W==="string"?r("span",{},W):W;return r("div",{class:()=>{let k=`alert alert-soft ${f} shadow-lg transition-all duration-300 inline-flex w-auto whitespace-nowrap pointer-events-auto`;if(C())return`${k} translate-x-full opacity-0`;if(O())return`${k} translate-x-0 opacity-100`;return`${k} translate-x-10 opacity-0`}},[T,r("button",{class:"btn btn-xs btn-circle btn-ghost",onclick:b},r("span",{class:"icon-[lucide--x]"}))])},o);if(t>0)u=setTimeout(b,t);return b},nr=(n)=>r("input",{...n,type:"checkbox",class:N("toggle",n.class)}),fr=(n,f)=>r("div",{...n,class:N("tooltip",n.class),"data-tip":n.tip},f),rr=(n)=>{let{value:f,class:t}=n,_=null,o=null,b=L(!1),u=L(""),E=L(0),w=L(0),y=L(!1),O=["\uD83D\uDE00","\uD83D\uDE0A","\uD83D\uDE09","\uD83E\uDDD0","\uD83D\uDE2E","\uD83E\uDD14","\uD83D\uDE05","\uD83D\uDE02","\uD83D\uDE0D","\uD83D\uDE18","\uD83E\uDD70","\uD83D\uDC4D","\uD83D\uDC4E","\uD83D\uDC4C","\uD83E\uDD1D","\uD83E\uDD1E","\uD83D\uDC4B","\uD83D\uDC4F","\uD83D\uDE4C","\uD83D\uDE4F","\uD83D\uDCAA","☝️","\uD83D\uDC47","\uD83D\uDC48","\uD83D\uDC49","\uD83D\uDD95","✅","⚠️","\uD83D\uDE80","\uD83D\uDCE2","✉️","❤️"],C=()=>{let A=window.getSelection();if(A.getRangeAt&&A.rangeCount)o=A.getRangeAt(0)},W=()=>{if(o){let A=window.getSelection();A.removeAllRanges(),A.addRange(o)}},T=()=>{if(w(w()+1),_)E(_.innerText.length)},k=()=>{if(!_)return;let A=_.innerHTML;if(P(f))f(A);else n.onchange?.(A);T()},j=(A,J=null)=>{if(!_)return;if(_.focus(),o)W();document.execCommand(A,!1,J),o=null,k()},Q=(A)=>{let J=document.createElement("div");J.style="position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.9);z-index:9999;display:flex;align-items:center;justify-content:center;cursor:zoom-out;";let U=document.createElement("img");U.src=A,U.style="max-width:95%;max-height:95%;box-shadow:0 0 30px rgba(0,0,0,0.5);border-radius:4px;",J.onclick=()=>document.body.removeChild(J),J.appendChild(U),document.body.appendChild(J)},Y=(A)=>{if(!A)return;let J=new FileReader;J.onload=(U)=>{if(A.type.startsWith("image/")){let z=`
 `;j("insertHTML",z)}else{let z=`${A.name} `;j("insertHTML",z)}},J.readAsDataURL(A)},S=(A,J=null)=>{if(w(),!_||b())return!1;try{if(A==="formatBlock"){let U=window.getSelection().getRangeAt(0).commonAncestorContainer;while(U&&U!==_){if(U.nodeType===1&&U.tagName===J)return!0;U=U.parentNode}return!1}return document.queryCommandState(A)}catch(U){return!1}},v=r("div",{class:"flex flex-wrap items-center gap-1 p-2 border-b border-base-300 bg-base-200 sticky top-0 z-20"},[r("div",{class:"flex flex-wrap gap-1 flex-1 items-center"},[r("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${S("bold")?"btn-active bg-primary/20":""}`,onclick:()=>j("bold")},r("span",{class:"icon-[lucide--bold]"})),r("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${S("italic")?"btn-active bg-primary/20":""}`,onclick:()=>j("italic")},r("span",{class:"icon-[lucide--italic]"})),r("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${S("underline")?"btn-active bg-primary/20":""}`,onclick:()=>j("underline")},r("span",{class:"icon-[lucide--underline]"})),r("input",{type:"color",class:"w-5 h-5 p-0 border-0 bg-transparent cursor-pointer",oninput:(A)=>j("foreColor",A.target.value)}),r("span",{class:"w-px h-5 bg-base-300 mx-1"}),r("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>j("justifyLeft")},r("span",{class:"icon-[lucide--align-left]"})),r("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>j("justifyCenter")},r("span",{class:"icon-[lucide--align-center]"})),r("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>j("justifyRight")},r("span",{class:"icon-[lucide--align-right]"})),r("span",{class:"w-px h-5 bg-base-300 mx-1"}),r("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>j("insertUnorderedList")},r("span",{class:"icon-[lucide--list]"})),r("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>j("insertOrderedList")},r("span",{class:"icon-[lucide--list-ordered]"})),r("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>j("outdent")},r("span",{class:"icon-[lucide--indent-decrease]"})),r("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>j("indent")},r("span",{class:"icon-[lucide--indent-increase]"})),r("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${S("formatBlock","BLOCKQUOTE")?"btn-active":""}`,onclick:()=>j("formatBlock",S("formatBlock","BLOCKQUOTE")?"P":"BLOCKQUOTE")},r("span",{class:"icon-[lucide--quote]"})),r("span",{class:"w-px h-5 bg-base-300 mx-1"}),r("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>{let A=window.prompt("URL:");if(A)j("createLink",A)}},r("span",{class:"icon-[lucide--link]"})),r("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>{let A=document.createElement("input");A.type="file",A.onchange=(J)=>Y(J.target.files[0]),A.click()}},r("span",{class:"icon-[lucide--paperclip]"})),r("div",{class:"relative"},[r("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:(A)=>{A.stopPropagation(),C(),y(!y())}},r("span",{class:"icon-[lucide--smile]"})),r("div",{class:"absolute top-full left-0 mt-1 p-2 bg-base-100 border border-base-300 shadow-xl rounded-box w-52 z-50 flex flex-wrap gap-1",style:()=>y()?"display:flex":"display:none"},O.map((A)=>r("span",{class:"cursor-pointer hover:bg-base-200 p-1 rounded text-lg",onclick:(J)=>{J.stopPropagation(),j("insertText",A),y(!1)}},A)))]),r("span",{class:"w-px h-5 bg-base-300 mx-1"}),r("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>j("undo")},r("span",{class:"icon-[lucide--undo-2]"})),r("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>j("redo")},r("span",{class:"icon-[lucide--redo-2]"}))]),r("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${b()?"btn-active":""}`,onclick:()=>{if(!b())u(_?.innerHTML||"");else if(_)_.innerHTML=u(),k();b(!b())}},r("span",{class:"icon-[lucide--code-2]"}))]);if(typeof document<"u"&&!document.getElementById("editor-styles")){let A=document.createElement("style");A.id="editor-styles",A.textContent=` +(()=>{var{defineProperty:nn,getOwnPropertyNames:In,getOwnPropertyDescriptor:Vn}=Object,Yn=Object.prototype.hasOwnProperty;function Bn(n){return this[n]}var Rn=(n)=>{var t=(wn??=new WeakMap).get(n),o;if(t)return t;if(t=nn({},"__esModule",{value:!0}),n&&typeof n==="object"||typeof n==="function"){for(var _ of In(n))if(!Yn.call(t,_))nn(t,_,{get:Bn.bind(n,_),enumerable:!(o=Vn(n,_))||o.enumerable})}return wn.set(n,t),t},wn;var qn=(n)=>n;function Dn(n,t){this[n]=qn.bind(null,t)}var An=(n,t)=>{for(var o in t)nn(n,o,{get:t[o],enumerable:!0,configurable:!0,set:Dn.bind(t,o)})};var of={};An(of,{Components:()=>zn});var Nn={};An(Nn,{when:()=>un,watch:()=>D,t:()=>Wn,router:()=>$,onUnmount:()=>q,mount:()=>sn,lang:()=>Un,isObj:()=>d,isFunc:()=>W,isArr:()=>V,hide:()=>a,h:()=>f,each:()=>Y,currentLocale:()=>En,batch:()=>Cn,Tooltip:()=>tf,Toggle:()=>nf,Toast:()=>pt,Timeline:()=>ht,Textrotate:()=>vt,Textarea:()=>mt,Tabs:()=>lt,TableItems:()=>it,Table:()=>at,SwapToggle:()=>jn,SwapOn:()=>yn,SwapOff:()=>kn,Swap:()=>Xn,Steps:()=>et,Step:()=>ct,Stats:()=>xt,Stat:()=>gt,Stack:()=>dt,SkeletonText:()=>Ft,Skeleton:()=>Ht,Select:()=>$t,RatingItems:()=>Dt,Rating:()=>qt,Range:()=>Rt,Radio:()=>Bt,Radial:()=>Yt,Progress:()=>Vt,Navbar:()=>It,Modal:()=>Zt,Menu:()=>Mt,Locale:()=>an,Loading:()=>zt,ListRows:()=>kt,List:()=>yt,Kbd:()=>jt,Input:()=>Qn,Indicator:()=>Xt,Icon:()=>c,Fragment:()=>Gn,Fileinput:()=>Qt,Fieldset:()=>Jt,Fab:()=>Pt,Editor:()=>ff,DropdownContent:()=>l,DropdownButton:()=>Jn,Dropdown:()=>i,DrawerToggle:()=>Gt,DrawerSide:()=>Wt,DrawerOverlay:()=>Kt,DrawerContent:()=>Ut,Drawer:()=>Ct,Divider:()=>Lt,Datepicker:()=>Tt,Colorpicker:()=>St,ColorPalette:()=>Pn,Checkbox:()=>bt,ChatImage:()=>Ot,ChatHeader:()=>At,ChatFooter:()=>wt,ChatBubble:()=>Nt,Chat:()=>Et,CarouselItem:()=>st,Carousel:()=>ut,CardTitle:()=>ot,CardBody:()=>_t,CardActions:()=>rt,Card:()=>ft,Calendar:()=>Ln,Button:()=>Kn,Breadcrumbs:()=>tt,Badge:()=>nt,AvatarGroup:()=>hn,Avatar:()=>vn,Autocomplete:()=>pn,Alert:()=>mn,Accordion:()=>ln,$$:()=>_n,$:()=>P});var W=(n)=>typeof n==="function",d=(n)=>n&&typeof n==="object",V=Array.isArray,M=typeof document<"u"?document:null,On=(n)=>n?._isRuntime?n.container:n instanceof Node?n:M.createTextNode(n==null?"":String(n)),Q=null,k=null,H=!1,x=0,g=new Set,bn=new WeakMap,tn=Symbol("iter"),fn=new WeakMap,$n="http://www.w3.org/2000/svg",Sn="http://www.w3.org/1999/xlink",Hn=new Set("svg,path,circle,rect,line,polyline,polygon,g,defs,text,textPath,tspan,use,symbol,image,marker,ellipse".split(",")),R=(n)=>{if(!n||n._disposed)return;n._disposed=!0;let t=[n];while(t.length){let o=t.pop();if(o._cleanups)o._cleanups.forEach((_)=>_()),o._cleanups.clear();if(o._children)o._children.forEach((_)=>t.push(_)),o._children.clear();if(o._deps)o._deps.forEach((_)=>_.delete(o)),o._deps.clear()}},q=(n)=>{if(k)(k._cleanups||=new Set).add(n)},Fn=(n)=>{let t=Q;Q=null;try{return n()}finally{Q=t}},F=(n,t=!1)=>{let o=()=>{if(o._disposed)return;if(o._deps)o._deps.forEach((s)=>s.delete(o));if(o._cleanups)o._cleanups.forEach((s)=>s()),o._cleanups.clear();let _=Q,r=k;Q=k=o;try{return o._result=n()}catch(s){console.error("[SigPro]",s)}finally{Q=_,k=r}};if(o._deps=o._cleanups=o._children=null,o._disposed=!1,o._isComputed=t,o._depth=Q?Q._depth+1:0,o._mounts=[],o._parent=k,k)(k._children||=new Set).add(o);return o},Tn=()=>{if(H)return;H=!0;let n=Array.from(g).sort((t,o)=>t._depth-o._depth);g.clear();for(let t of n)if(!t._disposed)t();H=!1},Cn=(n)=>{x++;try{return n()}finally{if(x--,x===0&&g.size>0&&!H)Tn()}},z=(n,t=!1)=>{if(!t&&Q&&!Q._disposed)n.add(Q),(Q._deps||=new Set).add(n);else if(t&&n.size>0){let o=!1;for(let _ of n){if(_===Q||_._disposed)continue;if(_._isComputed){if(_._dirty=!0,_._subs)z(_._subs,!0)}else g.add(_),o=!0}if(o&&!H&&x===0)queueMicrotask(Tn)}},P=(n,t=null)=>{let o=new Set;if(W(n)){let _,r=()=>{if(r._dirty){let s=Q;Q=r;try{let u=n();if(!Object.is(_,u))_=u,z(o,!0)}finally{Q=s}r._dirty=!1}return z(o),_};return r._isComputed=!0,r._subs=o,r._dirty=!0,r._deps=null,r._disposed=!1,r}if(t)try{n=JSON.parse(localStorage.getItem(t))??n}catch(_){}return(..._)=>{if(_.length){let r=W(_[0])?_[0](n):_[0];if(!Object.is(n,r)){if(n=r,t)localStorage.setItem(t,JSON.stringify(n));z(o,!0)}}return z(o),n}},_n=(n)=>{if(!d(n))return n;let t=bn.get(n);if(t)return t;let o=new Map,_=(s)=>{let u=o.get(s);if(!u)o.set(s,u=new Set);return u},r=new Proxy(n,{get(s,u,N){if(typeof u!=="symbol")z(_(u));return _n(Reflect.get(s,u,N))},set(s,u,N,E){let A=Reflect.has(s,u),S=Reflect.get(s,u,E),C=Reflect.set(s,u,N,E);if(C&&!Object.is(S,N)){if(z(_(u),!0),!A)z(_(tn),!0)}return C},deleteProperty(s,u){let N=Reflect.deleteProperty(s,u);if(N)z(_(u),!0),z(_(tn),!0);return N},ownKeys(s){return z(_(tn)),Reflect.ownKeys(s)}});return bn.set(n,r),r},D=(n,t)=>{if(t===void 0){let _=F(n);return _(),()=>R(_)}let o=F(()=>{let _=Array.isArray(n)?n.map((r)=>r()):n();Fn(()=>t(_))});return o(),()=>R(o)},rn=(n)=>{if(!n)return;if(n._cleanups)n._cleanups.forEach((t)=>t()),n._cleanups.clear();if(n._ownerEffect)R(n._ownerEffect);if(n.childNodes)n.childNodes.forEach((t)=>rn(t))},dn=/^\s*(javascript|data|vbscript):/i,xn=new Set(["src","href","formaction","action","background","code","archive"]),gn=(n)=>xn.has(n)||n.startsWith("on"),on=(n,t)=>{if(t==null||t===!1)return null;if(gn(n)){let o=String(t);if(dn.test(o))return console.warn(`[SigPro] Bloqueado protocolo peligroso en ${n}`),"#"}return t},f=(n,t={},o=[])=>{if(t instanceof Node||V(t)||!d(t))o=t,t={};if(W(n)){let u=F(()=>{let S=n(t,{children:o,emit:(C,...G)=>t[`on${C[0].toUpperCase()}${C.slice(1)}`]?.(...G)});return u._result=S,S});u();let N=u._result;if(N==null)return null;let E=N instanceof Node||V(N)&&N.every((S)=>S instanceof Node)?N:M.createTextNode(String(N)),A=(S)=>{if(d(S)&&!S._isRuntime)S._mounts=u._mounts||[],S._cleanups=u._cleanups||new Set,S._ownerEffect=u};return V(E)?E.forEach(A):A(E),E}let _=Hn.has(n),r=_?M.createElementNS($n,n):M.createElement(n);r._cleanups=new Set;for(let u of Object.keys(t)){let N=t[u];if(u==="ref"){W(N)?N(r):N.current=r;continue}if(_&&u.startsWith("xlink:")){let E=on(u.slice(6),N);E==null?r.removeAttributeNS(Sn,u.slice(6)):r.setAttributeNS(Sn,u.slice(6),E);continue}if(u.startsWith("on")){let E=u.slice(2).toLowerCase();r.addEventListener(E,N);let A=()=>r.removeEventListener(E,N);r._cleanups.add(A),q(A)}else if(W(N)){let E=F(()=>{let A=on(u,N());if(u==="class")r.className=A||"";else if(A==null)r.removeAttribute(u);else if(u==="style"&&typeof A==="string")r.setAttribute("style",A);else if(u in r&&!_)r[u]=A;else r.setAttribute(u,A===!0?"":A)});if(E(),r._cleanups.add(()=>R(E)),q(()=>R(E)),/^(INPUT|TEXTAREA|SELECT)$/.test(r.tagName)&&(u==="value"||u==="checked")){let A=u==="checked"?"change":"input";r.addEventListener(A,(S)=>N(S.target[u]))}}else{let E=on(u,N);if(E!=null)if(u==="style"&&typeof E==="string")r.setAttribute("style",E);else if(u in r&&!_)r[u]=E;else r.setAttribute(u,E===!0?"":E)}}let s=(u)=>{if(V(u))return u.forEach(s);if(W(u)){let N=M.createTextNode("");r.appendChild(N);let E=[],A=F(()=>{let S=u(),C=(V(S)?S:[S]).map(On);E.forEach((U)=>{if(U._isRuntime)U.destroy();else rn(U);if(U.parentNode)U.remove()});let G=N;for(let U=C.length-1;U>=0;U--){let b=C[U];if(b.parentNode!==G.parentNode)G.parentNode?.insertBefore(b,G);if(b._mounts)b._mounts.forEach((T)=>T());G=b}E=C});A(),r._cleanups.add(()=>R(A)),q(()=>R(A))}else{let N=On(u);if(r.appendChild(N),N._mounts)N._mounts.forEach((E)=>E())}};return s(o),r},e=(n)=>{let t=new Set,o=k,_=Q,r=M.createElement("div");r.style.display="contents",r.setAttribute("role","presentation"),k={_cleanups:t},Q=null;let s=(u)=>{if(!u)return;if(u._isRuntime)t.add(u.destroy),r.appendChild(u.container);else if(V(u))u.forEach(s);else r.appendChild(u instanceof Node?u:M.createTextNode(String(u==null?"":u)))};try{s(n({onCleanup:(u)=>t.add(u)}))}finally{k=o,Q=_}return{_isRuntime:!0,container:r,destroy:()=>{t.forEach((u)=>u()),rn(r),r.remove()}}},un=(n,t,o=null)=>{let _=M.createTextNode(""),r=f("div",{style:"display:contents"},[_]),s=null;return D(()=>!!(W(n)?n():n),(u)=>{if(s)s.destroy(),s=null;let N=u?t:o;if(N)s=e(()=>W(N)?N():N),r.insertBefore(s.container,_)}),q(()=>s?.destroy()),r},Y=(n,t,o)=>{let _=M.createTextNode(""),r=f("div",{style:"display:contents"},[_]),s=new Map;return D(()=>(W(n)?n():n)||[],(u)=>{let N=new Map,E=[],A=u||[];for(let C=0;Ct(G,C));else s.delete(U);N.set(U,b),E.push(b)}s.forEach((C)=>C.destroy());let S=_;for(let C=E.length-1;C>=0;C--){let U=E[C].container;if(U.nextSibling!==S)r.insertBefore(U,S);S=U}s=N}),r},$=(n)=>{let t=()=>window.location.hash.slice(1)||"/",o=P(t()),_=()=>o(t());window.addEventListener("hashchange",_),q(()=>window.removeEventListener("hashchange",_));let r=f("div",{class:"router-hook"}),s=null;return D([o],()=>{let u=o(),N=n.find((E)=>{let A=E.path.split("/").filter(Boolean),S=u.split("/").filter(Boolean);return A.length===S.length&&A.every((C,G)=>C[0]===":"||C===S[G])})||n.find((E)=>E.path==="*");if(N){s?.destroy();let E={};N.path.split("/").filter(Boolean).forEach((A,S)=>{if(A[0]===":")E[A.slice(1)]=u.split("/").filter(Boolean)[S]}),$.params(E),s=e(()=>W(N.component)?N.component(E):N.component),r.replaceChildren(s.container)}}),r};$.params=P({});$.to=(n)=>window.location.hash=n.replace(/^#?\/?/,"#/");$.back=()=>window.history.back();$.path=()=>window.location.hash.replace(/^#/,"")||"/";var Gn=(n)=>n.children,sn=(n,t)=>{let o=typeof t==="string"?M.querySelector(t):t;if(!o)return;if(fn.has(o))fn.get(o).destroy();let _=e(W(n)?n:()=>n);return o.replaceChildren(_.container),fn.set(o,_),_};if(typeof window<"u")"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((n)=>{window[n]=(t,o)=>f(n,t,o)});var L=(n)=>typeof n==="function"?n():n,B=(n,t="label")=>n&&typeof n==="object"?n[t]:n,w=(...n)=>n.filter(Boolean).join(" ").trim(),en=(n,t,o="label",_=String(t).toLowerCase())=>!t?L(n):L(n).filter((r)=>String(r&&typeof r==="object"?r[o]:r).toLowerCase().includes(_)),cn=(n)=>`${n}-${Math.random().toString(36).slice(2,9)}`,a=()=>document.activeElement?.blur(),Un={es:{uploadFiles:"Arrastrar y soltar o click para seleccionar..."},en:{uploadFiles:"Drag and drop or click to select"}},En=P("en"),an=(n)=>En(n),Wn=(n)=>()=>Un[En()][n]||n,ln=(n)=>{let t=n.name||cn("acc");return Y(n.items,(o)=>{return f("div",{class:w("collapse",n.class)},[f("input",{type:"radio",name:t,checked:o.open||void 0}),o.title?f("div",{class:w("collapse-title",`${o.classTitle??" font-semibold"}`)},o.title):null,o.content?f("div",{class:w("collapse-content text-sm",`${o.classContent??" font-semibold"}`)},o.content):null])})},mn=(n,t)=>f("div",{...n,class:w("alert",n.class)},t),vn=(n,t)=>f("div",{class:"avatar"},f("div",{class:n.class},t)),hn=(n,t)=>f("div",{...n,class:w("avatar-group -space-x-6",n.class)},t),pn=({items:n,value:t,onselect:o,placeholder:_="...",...r})=>{let s=P(L(t)||""),u=P(()=>en(n,s())),N=(E)=>{let A=B(E),S=typeof E==="string"?E:E.value;if(s(A),W(t))t(S);o?.(E),a()};return i({class:"w-full"},[f("div",{tabindex:"0",role:"button",class:"w-full"},Qn({...r,placeholder:_,value:s,left:f("span",{class:"icon-[lucide--search]"}),oninput:(E)=>{if(s(E.target.value),W(t))t(E.target.value)}})),l({class:"p-2 bg-base-100 rounded-box shadow-xl w-full max-h-60 overflow-y-auto border border-base-300 z-50"},f("ul",{class:"menu flex-col flex-nowrap w-full p-0"},[Y(u,(E)=>f("li",{},[f("a",{onmousedown:(A)=>A.preventDefault(),onclick:()=>N(E)},B(E))]),(E)=>B(E)),()=>u().length===0?f("li",{class:"p-4 opacity-50 text-center"},"Sin resultados"):null]))])},nt=(n,t)=>f("span",{...n,class:w("badge",n.class)},t),tt=(n,t)=>f("div",{...n,class:w("breadcrumbs",n.class)},t),Kn=(n,t)=>f("button",{...n,class:w("btn",n.class)},t),Ln=(n)=>{let t=P(new Date),o=P(null),_=P(0),r=P(0),s=new Date,u=`${s.getFullYear()}-${String(s.getMonth()+1).padStart(2,"0")}-${String(s.getDate()).padStart(2,"0")}`,N=(b)=>`${b.getFullYear()}-${String(b.getMonth()+1).padStart(2,"0")}-${String(b.getDate()).padStart(2,"0")}`,E=()=>L(n.range)===!0,A=()=>L(n.value),S=(b)=>{let T=N(b),j=A();if(E())if(!j?.start||j.start&&j.end)n.onChange?.({start:T,end:null,...n.hour&&{startHour:_()}});else{let Z=j.start,y=T{let T=t();t(new Date(T.getFullYear(),T.getMonth()+b,1))},G=(b)=>{let T=t();t(new Date(T.getFullYear()+b,T.getMonth(),1))},U=({value:b,onChange:T})=>f("div",{class:"flex-1"},[f("div",{class:"flex gap-2 items-center"},[f("input",{type:"range",min:0,max:23,value:b,class:"range range-xs flex-1",oninput:(j)=>T(+j.target.value)}),f("span",{class:"text-sm font-mono min-w-[48px] text-center"},()=>String(L(b)).padStart(2,"0")+":00")])]);return f("div",{class:w("p-4 bg-base-100 border border-base-300 shadow-2xl rounded-box w-80 select-none",n.class)},[f("div",{class:"flex justify-between items-center mb-4 gap-1"},[f("div",{class:"flex gap-0.5"},[f("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>G(-1)},f("span",{class:"icon-[lucide--chevrons-left]"})),f("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>C(-1)},f("span",{class:"icon-[lucide--chevron-left]"}))]),f("span",{class:"font-bold uppercase flex-1 text-center"},()=>t().toLocaleString("es-ES",{month:"short",year:"numeric"})),f("div",{class:"flex gap-0.5"},[f("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>C(1)},f("span",{class:"icon-[lucide--chevron-right]"})),f("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>G(1)},f("span",{class:"icon-[lucide--chevrons-right]"}))])]),f("div",{class:"grid grid-cols-7 gap-1",onmouseleave:()=>o(null)},[...["L","M","X","J","V","S","D"].map((b)=>f("div",{class:"text-[10px] opacity-40 font-bold text-center"},b)),()=>{let b=t(),T=b.getFullYear(),j=b.getMonth(),Z=new Date(T,j,1).getDay(),y=Z===0?6:Z-1,m=new Date(T,j+1,0).getDate(),O=[];for(let K=0;K{let I=A(),v=o(),Mn=typeof I==="string"?I.split("T")[0]===X:I?.start===X,Zn=I?.end===X,h=!1;if(E()&&I?.start){let p=I.start;if(!I.end&&v)h=X>p&&X<=v||X=v;else if(I.end)h=X>p&&XE()&&o(X),onclick:()=>S(J)},K.toString()))}return O}]),n.hour?f("div",{class:"mt-3 pt-2 border-t border-base-300"},E()?f("div",{class:"flex gap-4"},[U({value:_,onChange:(b)=>_(b)}),U({value:r,onChange:(b)=>r(b)})]):U({value:_,onChange:(b)=>_(b)})):null])},ft=(n,t)=>f("div",{...n,class:w("card",n.class)},t),ot=(n,t)=>f("div",{...n,class:w("card-title",n.class)},t),_t=(n,t)=>f("div",{...n,class:w("card-body",n.class)},t),rt=(n,t)=>f("div",{...n,class:w("card-actions",n.class)},t),ut=(n,t)=>f("div",{...n,class:w("carousel",n.class)},t),st=(n,t)=>f("div",{...n,class:w("carousel-item",n.class)},t),Et=(n,t)=>f("div",{...n,class:w("chat",n.class)},t),Nt=(n,t)=>f("div",{...n,class:w("chat-bubble",n.class)},t),wt=(n,t)=>f("div",{...n,class:w("chat-footer",n.class)},t),At=(n,t)=>f("div",{...n,class:w("chat-header",n.class)},t),Ot=(n,t)=>f("div",{...n,class:w("chat-image avatar",n.class)},f("div",{class:"w-10 rounded-full"},typeof t==="string"?f("img",{src:t,alt:"avatar"}):t)),bt=(n)=>f("input",{...n,type:"checkbox",class:w("checkbox",n.class)}),St=(n)=>{let t=()=>L(n.value)||"#000000";return i({},[Jn({class:"btn"},[f("div",{class:"size-5 rounded-sm",style:()=>`background-color: ${t()}`}),n.label&&f("span",{},n.label)]),l({class:"p-0"},Pn({value:n.value,onchange:(o)=>{W(n.value)?n.value(o):n.onchange?.(o)}}))])},Pn=(n)=>{let t=()=>L(n.value)||"#000000",o=["#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"],_=(r)=>{W(n.value)?n.value(r):n.onchange?.(r),a()};return f("div",{class:w("p-3 bg-base-100 rounded-box shadow w-64",n.class)},f("div",{class:"grid grid-cols-8 gap-1"},o.map((r)=>f("button",{type:"button",style:`background-color: ${r}`,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 ${t().toLowerCase()===r.toLowerCase()?"ring-2 ring-offset-1 ring-primary z-10 scale-110":""}`},onclick:()=>{_(r)}}))))},Tt=(n)=>{let t=P(""),o=()=>L(n.range)===!0;D(()=>{let r=L(n.value);if(!r)return t("");let s="";if(typeof r==="string")s=n.hour&&r.includes("T")?r.replace("T"," "):r;else if(r.start&&r.end){let u=n.hour&&r.startHour!=null?`${r.start} ${String(r.startHour).padStart(2,"0")}:00`:r.start,N=n.hour&&r.endHour!=null?`${r.end} ${String(r.endHour).padStart(2,"0")}:00`:r.end;s=`${u} - ${N}`}else if(r.start)s=`${n.hour&&r.startHour!=null?`${r.start} ${String(r.startHour).padStart(2,"0")}:00`:r.start}...`;t(s)});let _=(r)=>{if(W(n.value))n.value(r);else n.onChange?.(r);if(!o()||r?.end!=null)a()};return i({class:w("w-full",n.class)},[f("label",{tabindex:"0",role:"button",class:"input input-bordered flex items-center gap-2 cursor-pointer"},[f("span",{class:"icon-[lucide--calendar] shrink-0"}),f("span",{class:()=>`grow text-left truncate ${!t()?"opacity-50":""}`},()=>t()||n.placeholder||(o()?"Seleccionar rango...":"Seleccionar fecha...")),()=>t()?f("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle -mr-2",onmousedown:(r)=>{if(r.preventDefault(),r.stopPropagation(),W(n.value))n.value(null);else n.onChange?.(null);t("")}},f("span",{class:"icon-[lucide--x] opacity-50"})):null]),l({class:"p-0"},Ln({value:n.value,range:o(),hour:n.hour,onChange:_}))])},Ct=(n,t)=>div({...n,class:w("drawer",n.class)},t),Gt=(n)=>input({...n,type:"checkbox",class:"drawer-toggle",checked:()=>L(n.checked),onchange:(t)=>W(n.checked)&&n.checked(t.target.checked)}),Ut=(n,t)=>div({...n,class:w("drawer-content",n.class)},t),Wt=(n,t)=>div({...n,class:w("drawer-side",n.class)},t),Kt=(n)=>label({...n,for:n.for,class:w("drawer-overlay",n.class)}),Lt=(n)=>f("div",{...n,class:w("divider",n.class)}),i=(n,t)=>f("div",{...n,class:w("dropdown",n.class)},t),Jn=(n,t)=>f("div",{...n,tabindex:"0",role:"button",class:w("btn",n.class)},t),l=(n,t)=>f("div",{...n,tabindex:"0",class:w("dropdown-content",n.class)},t),Pt=(n,t)=>f("div",{class:"fab"},[f("div",{tabindex:"0",role:"button",class:w("btn",n.class)},c(n.icon)),t]),Jt=(n,t)=>f("fieldset",{class:w("fieldset",n.class)},[f("legend",{class:"fieldset-legend"},n.label),t]),Qt=(n)=>{let t=P([]),o=P(!1),_=P(null),r=(n.max||2)*1024*1024,s=(N)=>{let E=Array.from(N);if(_(null),E.some((S)=>S.size>r)){_(`Máx ${n.max||2}MB`);return}let A=[...t(),...E];if(t(A),W(n.onselect))n.onselect(A);else if(W(n.value))n.value(A)},u=(N)=>{let E=t().filter((A,S)=>S!==N);if(t(E),W(n.onselect))n.onselect(E);else if(W(n.value))n.value(E)};return f("div",{class:w("fieldset w-full p-0",n.class)},[f("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 ${o()?"border-primary bg-primary/10":"border-base-content/20 bg-base-100 hover:bg-base-200"}`,ondragover:(N)=>{N.preventDefault(),o(!0)},ondragleave:()=>o(!1),ondrop:(N)=>{N.preventDefault(),o(!1),s(N.dataTransfer.files)}},[f("div",{class:"flex items-center gap-3 w-full"},[f("span",{class:"icon-[lucide--upload]"}),f("span",{class:"text-sm opacity-70 truncate grow text-left"},Wn("uploadFiles")),f("span",{class:"text-[10px] opacity-40 shrink-0"},`Máx ${n.max||2}MB`)]),f("input",{type:"file",multiple:!0,accept:n.accept||"*",class:"hidden",onchange:(N)=>s(N.target.files)})]),()=>_()&&f("span",{class:"text-[10px] text-error mt-1 px-1 font-medium"},_()),un(()=>t().length>0,()=>f("ul",{class:"mt-2 space-y-1"},Y(t,(N,E)=>f("li",{class:"flex items-center justify-between p-1.5 pl-3 text-xs bg-base-200/50 rounded-md border border-base-300"},[f("div",{class:"flex items-center gap-2 truncate"},[f("span",{class:"opacity-50"},"\uD83D\uDCC4"),f("span",{class:"truncate font-medium max-w-[200px]"},N.name),f("span",{class:"text-[9px] opacity-40"},`(${(N.size/1024).toFixed(0)} KB)`)]),f("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle",onclick:(A)=>{A.preventDefault(),u(E)}},f("span",{class:"icon-[lucide--x]"}))]))))])},c=(n)=>f("span",{class:n.startsWith("icon-")?n:""},n.startsWith("icon-")?null:n),Xt=(n,t)=>f("div",{...n,class:w("indicator",n.class)},[n.value&&f("span",{class:w("indicator-item badge",n.class)},n.value),t]),Qn=(n)=>{let{label:t,icon:o,float:_,placeholder:r,value:s,left:u,right:N,rule:E,hint:A,content:S,...C}=n,G=P(!1),U=n.type==="password",b=E??null,T=()=>U?L(G)?"text":"password":n.type||"search";return f("label",{class:_?"floating-label":""},[_?f("span",{},t):null,f("label",{pattern:b,class:()=>w("input validator",n.class)},[t&&!_?f("span",{class:"label"},t):null,u??null,f("input",{...C,type:T,class:"grow",pattern:b,placeholder:r||t||" ",value:s}),N??null,U?Xn({class:"ml-2"},[jn({value:G,class:"swap-rotate"}),yn({},c("icon-[lucide--eye]")),kn({},c("icon-[lucide--eye-off]"))]):null]),A?f("div",{class:"validator-hint"},A):null])},jt=(n,t)=>f("kbd",{...n,class:w("kbd",n.class)},t),yt=(n,t)=>f("ul",{...n,class:w("list",n.class)},t),kt=(n)=>()=>(L(n.items)||[]).map((t,o)=>f("li",{class:w("list-row",n.class,t?.class)},typeof n.render==="function"?n.render(t,o):t)),zt=(n,t)=>f("span",{...n,class:w("loading loading-spinner",n.class)},t),Mt=(n)=>{if(n.children!==void 0)return f("ul",{class:w("menu",n.class),...n},n.children);let{items:t}=n,o=(_)=>_.children?f("li",{},f("details",{open:_.open||void 0},[f("summary",{},B(_)),f("ul",{},Y(()=>L(_.children)||[],o))])):f("li",{},f("a",{href:_.href,onclick:_.onclick?(r)=>{if(!_.href)r.preventDefault();_.onclick(r)}:null},B(_)));return f("ul",{class:w("menu",n.class)},Y(()=>L(t)||[],o))},Zt=(n)=>{let t=null;D(()=>{let _=L(n.open);if(!t)return;_?t.showModal():t.hide()});let o=()=>W(n.open)&&n.open(!1);return f("dialog",{...n,ref:(_)=>t=_,class:w("modal",n.class),onclose:o,oncancel:o},[f("div",{class:"modal-box"},[n.title&&f("h3",{class:"text-lg font-bold"},n.title),n.children,f("div",{class:"modal-action"},[n.actions||Kn({class:"btn",onclick:o},"Cerrar")])]),f("form",{method:"dialog",class:"modal-backdrop"},[f("button",{},"close")])])},It=(n,t)=>f("div",{...n,class:w("navbar",n.class)},t),Vt=(n)=>f("progress",{...n,class:w("progress",n.class)}),Yt=(n,t)=>f("div",{class:w("radial-progress",n.class),style:`--value:${L(n.value)??0};`,role:"progressbar","aria-valuenow":n.value},t),Bt=(n)=>f("input",{...n,type:"radio",class:w("radio",n.class)}),Rt=(n)=>f("input",{...n,type:"range",class:w("range",n.class)}),qt=(n,t)=>f("div",{...n,class:"rating"},t),Dt=(n)=>[...Array(n.count)].map((t,o)=>f("input",{class:w("mask",n.class),name:n.name,type:"radio",checked:()=>L(n.value)===o,onchange:()=>W(n.value)?n.value(o):n.onchange?.(o)})),$t=(n,t)=>{if(t!==void 0)return f("select",{class:w("select",n.class),...n},t);let{label:o,float:_,placeholder:r,placeholderDisabled:s=!0,value:u,left:N,right:E,hint:A,items:S,keyFn:C,...G}=n,U=()=>{let b=L(S)||[];return[...r?[{disabled:s,label:r,value:""}]:[],...b]};return f("label",{class:_?"floating-label":""},[_?f("span",{},o):null,f("label",{class:w("select",G.class)},[!_&&o?f("span",{class:"label"},o):null,N??null,f("select",{value:()=>L(u),onchange:(b)=>W(u)?u(b.target.value):G.onchange?.(b)},Y(U,(b)=>{let T=B(b,b.value!==void 0?"value":void 0),j=B(b,"label");return f("option",{value:T,disabled:b.disabled||void 0},j)})),E??null]),A?f("div",{class:"validator-hint"},A):null])},Ht=(n)=>f("div",{...n,class:w("skeleton",n.class)}),Ft=(n)=>f("span",{...n,class:w("skeleton skeleton-text",n.class)}),dt=(n,t)=>f("div",{...n,class:w("stack",n.class)},t),xt=(n,t)=>f("div",{...n,class:w("stats shadow",n.class)},t),gt=(n)=>f("div",{...n,class:w("stat",n.class)},[n.title?f("div",{class:"stat-title"},n.title):null,n.value?f("div",{class:"stat-value"},n.value):null,n.desc?f("div",{class:"stat-desc"},n.desc):null]),et=(n,t)=>f("ul",{...n,class:w("steps",n.class)},t),ct=(n,t)=>f("li",{...n,class:w("step",n.class),"data-content":n.dataContent},t),Xn=(n,t)=>f("label",{...n,class:w("swap",n.class)},t),jn=(n)=>f("input",{type:"checkbox",checked:()=>L(n.value),onchange:(t)=>W(n.value)&&n.value(t.target.checked),class:n.class}),yn=(n,t)=>f("div",{...n,class:w("swap-on",n.class)},t),kn=(n,t)=>f("div",{...n,class:w("swap-off",n.class)},t),at=(n,t)=>f("table",{...n,class:w("table",n.class)},t),it=({items:n,columns:t=[],header:o=!0})=>{let _=o!==!1&&t.some((s)=>s.label)?f("thead",{},f("tr",{},t.map((s)=>f("th",{class:s.class},s.label)))):null,r=f("tbody",{},()=>{return(L(n)||[]).map((u,N)=>f("tr",{},t.map((E)=>{let A=E.render?E.render(u,N):u[E.key];return f("td",{class:E.class},A)})))});return[_,r].filter(Boolean)},lt=(n,t)=>{if(!n.items){let{class:A,...S}=n;return f("div",{...S,class:w("tabs",A)},t)}let{items:o,activeIndex:_,onClose:r,class:s,...u}=n,N=(A)=>W(A)?A():A,E=r||(W(o)?(A,S)=>{let G=L(o).filter((U,b)=>b!==A);if(o(G),_()>=G.length)_(Math.max(0,G.length-1))}:null);return f("div",{...u,class:w("tabs",s)},()=>{return(L(o)||[]).flatMap((S,C)=>{let G=()=>_()===C,U=f("button",{class:()=>`tab ${G()?"tab-active":""} ${S.class||""}`,onclick:(T)=>{T.preventDefault(),_(C),S.onclick?.(T)}},[B(S),S.closable?f("span",{class:"ml-1 inline-flex items-center justify-center w-4 h-4 rounded-full hover:bg-base-300 text-base-content/60 hover:text-base-content cursor-pointer",onclick:(T)=>{T.stopPropagation(),E?.(C,S)}},f("span",{class:"icon-[lucide--x] w-3 h-3"})):null]),b=f("div",{class:"tab-content bg-base-100 border-base-300 p-6",style:()=>`display: ${G()?"block":"none"};`},W(S.content)?S.content():S.content);return[U,b]})})},mt=(n)=>f("textarea",{...n,class:w("textarea",n.class)}),vt=(n,t)=>f("span",{...n,class:w("text-rotate",n.class)},f("span",{},t)),ht=(n,t)=>f("ul",{...n,class:w("timeline",n.class)},t),pt=(n,t="alert-success",o=3500)=>{let _=document.getElementById("sigpro-toast-container");if(!_)_=f("div",{id:"sigpro-toast-container",class:"fixed top-0 right-0 z-[9999] p-4 flex flex-col items-end gap-2 pointer-events-none"}),document.body.appendChild(_);let r=f("div",{style:"display: contents"});_.appendChild(r);let s,u,N,A=sn(()=>{let S=P(!1),C=P(!1);s=()=>{if(C())return;clearTimeout(u),clearTimeout(N),C(!0),setTimeout(()=>{if(A.destroy(),r.remove(),!_.hasChildNodes())_.remove()},300)},N=setTimeout(()=>S(!0),0);let G=typeof n==="function"?L(n):n,U=typeof G==="string"?f("span",{},G):G;return f("div",{class:()=>{let b=`alert alert-soft ${t} shadow-lg transition-all duration-300 inline-flex w-auto whitespace-nowrap pointer-events-auto`;if(C())return`${b} translate-x-full opacity-0`;if(S())return`${b} translate-x-0 opacity-100`;return`${b} translate-x-10 opacity-0`}},[U,f("button",{class:"btn btn-xs btn-circle btn-ghost",onclick:s},f("span",{class:"icon-[lucide--x]"}))])},r);if(o>0)u=setTimeout(s,o);return s},nf=(n)=>f("input",{...n,type:"checkbox",class:w("toggle",n.class)}),tf=(n,t)=>f("div",{...n,class:w("tooltip",n.class),"data-tip":n.tip},t),ff=(n)=>{let{value:t,class:o}=n,_=null,r=null,s=P(!1),u=P(""),N=P(0),E=P(0),A=P(!1),S=["\uD83D\uDE00","\uD83D\uDE0A","\uD83D\uDE09","\uD83E\uDDD0","\uD83D\uDE2E","\uD83E\uDD14","\uD83D\uDE05","\uD83D\uDE02","\uD83D\uDE0D","\uD83D\uDE18","\uD83E\uDD70","\uD83D\uDC4D","\uD83D\uDC4E","\uD83D\uDC4C","\uD83E\uDD1D","\uD83E\uDD1E","\uD83D\uDC4B","\uD83D\uDC4F","\uD83D\uDE4C","\uD83D\uDE4F","\uD83D\uDCAA","☝️","\uD83D\uDC47","\uD83D\uDC48","\uD83D\uDC49","\uD83D\uDD95","✅","⚠️","\uD83D\uDE80","\uD83D\uDCE2","✉️","❤️"],C=()=>{let O=window.getSelection();if(O.getRangeAt&&O.rangeCount)r=O.getRangeAt(0)},G=()=>{if(r){let O=window.getSelection();O.removeAllRanges(),O.addRange(r)}},U=()=>{if(E(E()+1),_)N(_.innerText.length)},b=()=>{if(!_)return;let O=_.innerHTML;if(W(t))t(O);else n.onchange?.(O);U()},T=(O,K=null)=>{if(!_)return;if(_.focus(),r)G();document.execCommand(O,!1,K),r=null,b()},j=(O)=>{let K=document.createElement("div");K.style="position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.9);z-index:9999;display:flex;align-items:center;justify-content:center;cursor:zoom-out;";let J=document.createElement("img");J.src=O,J.style="max-width:95%;max-height:95%;box-shadow:0 0 30px rgba(0,0,0,0.5);border-radius:4px;",K.onclick=()=>document.body.removeChild(K),K.appendChild(J),document.body.appendChild(K)},Z=(O)=>{if(!O)return;let K=new FileReader;K.onload=(J)=>{if(O.type.startsWith("image/")){let X=`
 `;T("insertHTML",X)}else{let X=`${O.name} `;T("insertHTML",X)}},K.readAsDataURL(O)},y=(O,K=null)=>{if(E(),!_||s())return!1;try{if(O==="formatBlock"){let J=window.getSelection().getRangeAt(0).commonAncestorContainer;while(J&&J!==_){if(J.nodeType===1&&J.tagName===K)return!0;J=J.parentNode}return!1}return document.queryCommandState(O)}catch(J){return!1}},m=f("div",{class:"flex flex-wrap items-center gap-1 p-2 border-b border-base-300 bg-base-200 sticky top-0 z-20"},[f("div",{class:"flex flex-wrap gap-1 flex-1 items-center"},[f("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${y("bold")?"btn-active bg-primary/20":""}`,onclick:()=>T("bold")},f("span",{class:"icon-[lucide--bold]"})),f("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${y("italic")?"btn-active bg-primary/20":""}`,onclick:()=>T("italic")},f("span",{class:"icon-[lucide--italic]"})),f("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${y("underline")?"btn-active bg-primary/20":""}`,onclick:()=>T("underline")},f("span",{class:"icon-[lucide--underline]"})),f("input",{type:"color",class:"w-5 h-5 p-0 border-0 bg-transparent cursor-pointer",oninput:(O)=>T("foreColor",O.target.value)}),f("span",{class:"w-px h-5 bg-base-300 mx-1"}),f("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>T("justifyLeft")},f("span",{class:"icon-[lucide--align-left]"})),f("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>T("justifyCenter")},f("span",{class:"icon-[lucide--align-center]"})),f("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>T("justifyRight")},f("span",{class:"icon-[lucide--align-right]"})),f("span",{class:"w-px h-5 bg-base-300 mx-1"}),f("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>T("insertUnorderedList")},f("span",{class:"icon-[lucide--list]"})),f("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>T("insertOrderedList")},f("span",{class:"icon-[lucide--list-ordered]"})),f("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>T("outdent")},f("span",{class:"icon-[lucide--indent-decrease]"})),f("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>T("indent")},f("span",{class:"icon-[lucide--indent-increase]"})),f("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${y("formatBlock","BLOCKQUOTE")?"btn-active":""}`,onclick:()=>T("formatBlock",y("formatBlock","BLOCKQUOTE")?"P":"BLOCKQUOTE")},f("span",{class:"icon-[lucide--quote]"})),f("span",{class:"w-px h-5 bg-base-300 mx-1"}),f("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>{let O=window.prompt("URL:");if(O)T("createLink",O)}},f("span",{class:"icon-[lucide--link]"})),f("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>{let O=document.createElement("input");O.type="file",O.onchange=(K)=>Z(K.target.files[0]),O.click()}},f("span",{class:"icon-[lucide--paperclip]"})),f("div",{class:"relative"},[f("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:(O)=>{O.stopPropagation(),C(),A(!A())}},f("span",{class:"icon-[lucide--smile]"})),f("div",{class:"absolute top-full left-0 mt-1 p-2 bg-base-100 border border-base-300 shadow-xl rounded-box w-52 z-50 flex flex-wrap gap-1",style:()=>A()?"display:flex":"display:none"},S.map((O)=>f("span",{class:"cursor-pointer hover:bg-base-200 p-1 rounded text-lg",onclick:(K)=>{K.stopPropagation(),T("insertText",O),A(!1)}},O)))]),f("span",{class:"w-px h-5 bg-base-300 mx-1"}),f("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>T("undo")},f("span",{class:"icon-[lucide--undo-2]"})),f("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>T("redo")},f("span",{class:"icon-[lucide--redo-2]"}))]),f("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${s()?"btn-active":""}`,onclick:()=>{if(!s())u(_?.innerHTML||"");else if(_)_.innerHTML=u(),b();s(!s())}},f("span",{class:"icon-[lucide--code-2]"}))]);if(typeof document<"u"&&!document.getElementById("editor-styles")){let O=document.createElement("style");O.id="editor-styles",O.textContent=` [contenteditable="true"] div, [contenteditable="true"] p { margin: 0; padding: 0; } - `,document.head.appendChild(A)}return r("div",{class:N("border border-base-300 rounded-box bg-base-100 overflow-hidden shadow-sm flex flex-col",t)},[v,r("div",{class:"relative flex-1 flex flex-col",onclick:()=>y(!1)},[r("div",{ref:(A)=>{if(!_&&A)_=A,A.innerHTML=K(f)||"",document.execCommand("defaultParagraphSeparator",!1,"br"),A.addEventListener("click",(J)=>{let U=J.target.closest(".resizable-img-container");if(U){let z=U.querySelector("img");if(z)Q(z.src)}})},style:()=>`min-height:22rem;${b()?"display:none":""}`,class:"p-4 outline-none text-base-content leading-relaxed [&>div]:m-0 [&>p]:m-0 [&>div]:min-h-[1em] [&_.resizable-img-container]:hover:border-primary [&_blockquote]:border-l-4 [&_blockquote]:border-base-300 [&_blockquote]:pl-4 [&_blockquote]:italic [&_ul]:list-disc [&_ul]:pl-8 [&_ol]:list-decimal [&_ol]:pl-8",contenteditable:"true",oninput:k,onkeydown:(A)=>{if(A.key==="Tab")A.preventDefault(),j("indent")},onkeyup:()=>{T(),C()},onclick:(A)=>{T(),C(),A.stopPropagation()},onmouseup:()=>{k(),C()},onpaste:(A)=>{A.preventDefault();let J=A.clipboardData.getData("text/plain");j("insertText",J)},ondragover:(A)=>A.preventDefault(),ondrop:(A)=>{A.preventDefault(),Y(A.dataTransfer.files[0])}}),r("textarea",{class:"w-full flex-1 min-h-[22rem] p-4 outline-none font-mono text-sm bg-base-200 border-0",style:()=>b()?"":"display:none",value:u,oninput:(A)=>{if(u(A.target.value),_)_.innerHTML=A.target.value;n.onchange?.(A.target.value)}})]),r("div",{class:"px-3 py-1 border-t border-base-300 bg-base-100/50 text-[10px] text-right text-base-content/60 italic"},[r("span",()=>`${E()}`)])])};var Sn={...wn};if(typeof window<"u")Object.entries({...Sn}).forEach(([n,f])=>{Object.defineProperty(window,n,{value:f,writable:!1,configurable:!0,enumerable:!0})});})(); + `,document.head.appendChild(O)}return f("div",{class:w("border border-base-300 rounded-box bg-base-100 overflow-hidden shadow-sm flex flex-col",o)},[m,f("div",{class:"relative flex-1 flex flex-col",onclick:()=>A(!1)},[f("div",{ref:(O)=>{if(!_&&O)_=O,O.innerHTML=L(t)||"",document.execCommand("defaultParagraphSeparator",!1,"br"),O.addEventListener("click",(K)=>{let J=K.target.closest(".resizable-img-container");if(J){let X=J.querySelector("img");if(X)j(X.src)}})},style:()=>`min-height:22rem;${s()?"display:none":""}`,class:"p-4 outline-none text-base-content leading-relaxed [&>div]:m-0 [&>p]:m-0 [&>div]:min-h-[1em] [&_.resizable-img-container]:hover:border-primary [&_blockquote]:border-l-4 [&_blockquote]:border-base-300 [&_blockquote]:pl-4 [&_blockquote]:italic [&_ul]:list-disc [&_ul]:pl-8 [&_ol]:list-decimal [&_ol]:pl-8",contenteditable:"true",oninput:b,onkeydown:(O)=>{if(O.key==="Tab")O.preventDefault(),T("indent")},onkeyup:()=>{U(),C()},onclick:(O)=>{U(),C(),O.stopPropagation()},onmouseup:()=>{b(),C()},onpaste:(O)=>{O.preventDefault();let K=O.clipboardData.getData("text/plain");T("insertText",K)},ondragover:(O)=>O.preventDefault(),ondrop:(O)=>{O.preventDefault(),Z(O.dataTransfer.files[0])}}),f("textarea",{class:"w-full flex-1 min-h-[22rem] p-4 outline-none font-mono text-sm bg-base-200 border-0",style:()=>s()?"":"display:none",value:u,oninput:(O)=>{if(u(O.target.value),_)_.innerHTML=O.target.value;n.onchange?.(O.target.value)}})]),f("div",{class:"px-3 py-1 border-t border-base-300 bg-base-100/50 text-[10px] text-right text-base-content/60 italic"},[f("span",()=>`${N()}`)])])};var zn={...Nn};if(typeof window<"u")Object.entries({...zn}).forEach(([n,t])=>{Object.defineProperty(window,n,{value:t,writable:!1,configurable:!0,enumerable:!0})});})(); diff --git a/package.json b/package.json index 8484fb4..b8ef927 100644 --- a/package.json +++ b/package.json @@ -62,8 +62,6 @@ "@iconify/tailwind4": "^1.2.3", "@tailwindcss/cli": "^4.2.4", "daisyui": "^5.5.19", - "sigpro": "git+http://gitea:3000/natxocc/sigpro", - "sigpro-grid": "git+http://gitea:3000/natxocc/sigpro-grid", "tailwindcss": "^4.2.4" } } \ No newline at end of file diff --git a/sigpro-ui.js b/sigpro-ui.js index f044068..82a3acd 100644 --- a/sigpro-ui.js +++ b/sigpro-ui.js @@ -1,5 +1,11 @@ // All base components -import { h, each, watch, when, mount, $, isFunc } from "sigpro"; +import { $, $$, watch, batch, h, Fragment, mount, when, each, router, onUnmount, isArr, isFunc, isObj } from "./sigpro.js" +if (typeof window !== "undefined") { + "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(tag => { window[tag] = (props, children) => h(tag, props, children) }) +} +export { $, $$, watch, batch, h, Fragment, mount, when, each, router, onUnmount, isArr, isFunc, isObj } // Helpers const val = val => typeof val === "function" ? val() : val; diff --git a/sigpro.js b/sigpro.js new file mode 100644 index 0000000..0842690 --- /dev/null +++ b/sigpro.js @@ -0,0 +1,512 @@ +const isFunc = f => typeof f === "function" +const isObj = o => o && typeof o === "object" +const isArr = Array.isArray +const doc = typeof document !== "undefined" ? document : null +const ensureNode = n => n?._isRuntime ? n.container : (n instanceof Node ? n : doc.createTextNode(n == null ? "" : String(n))) + +let activeEffect = null +let activeOwner = null +let isFlushing = false +let batchDepth = 0 +const effectQueue = new Set() +const proxyCache = new WeakMap() +const ITER = Symbol('iter') +const MOUNTED_NODES = new WeakMap() + +const SVG_NS = "http://www.w3.org/2000/svg" +const XLINK_NS = "http://www.w3.org/1999/xlink" +const SVG_TAGS = new Set("svg,path,circle,rect,line,polyline,polygon,g,defs,text,textPath,tspan,use,symbol,image,marker,ellipse".split(",")) + +const dispose = eff => { + if (!eff || eff._disposed) return + eff._disposed = true + const stack = [eff] + while (stack.length) { + const e = stack.pop() + if (e._cleanups) { + e._cleanups.forEach(fn => fn()) + e._cleanups.clear() + } + if (e._children) { + e._children.forEach(child => stack.push(child)) + e._children.clear() + } + if (e._deps) { + e._deps.forEach(depSet => depSet.delete(e)) + e._deps.clear() + } + } +} + +const onUnmount = fn => { + if (activeOwner) (activeOwner._cleanups ||= new Set()).add(fn) +} + +const untrack = fn => { + const p = activeEffect + activeEffect = null + try { return fn() } finally { activeEffect = p } +} + +const createEffect = (fn, isComputed = false) => { + const effect = () => { + if (effect._disposed) return + if (effect._deps) effect._deps.forEach(s => s.delete(effect)) + if (effect._cleanups) { + effect._cleanups.forEach(c => c()) + effect._cleanups.clear() + } + const prevEffect = activeEffect + const prevOwner = activeOwner + activeEffect = activeOwner = effect + try { + return effect._result = fn() + } catch (e) { + console.error("[SigPro]", e) + } finally { + activeEffect = prevEffect + activeOwner = prevOwner + } + } + effect._deps = effect._cleanups = effect._children = null + effect._disposed = false + effect._isComputed = isComputed + effect._depth = activeEffect ? activeEffect._depth + 1 : 0 + effect._mounts = [] + effect._parent = activeOwner + if (activeOwner) (activeOwner._children ||= new Set()).add(effect) + return effect +} + +const flush = () => { + if (isFlushing) return + isFlushing = true + const sorted = Array.from(effectQueue).sort((a, b) => a._depth - b._depth) + effectQueue.clear() + for (const e of sorted) if (!e._disposed) e() + isFlushing = false +} + +const batch = fn => { + batchDepth++ + try { + return fn() + } finally { + batchDepth-- + if (batchDepth === 0 && effectQueue.size > 0 && !isFlushing) { + flush() + } + } +} + +const trackUpdate = (subs, trigger = false) => { + if (!trigger && activeEffect && !activeEffect._disposed) { + subs.add(activeEffect); + (activeEffect._deps ||= new Set()).add(subs) + } else if (trigger && subs.size > 0) { + let hasQueue = false + for (const e of subs) { + if (e === activeEffect || e._disposed) continue + if (e._isComputed) { + e._dirty = true + if (e._subs) trackUpdate(e._subs, true) + } else { + effectQueue.add(e) + hasQueue = true + } + } + if (hasQueue && !isFlushing && batchDepth === 0) queueMicrotask(flush) + } +} + +const $ = (val, key = null) => { + const subs = new Set() + if (isFunc(val)) { + let cache + const computed = () => { + if (computed._dirty) { + const prev = activeEffect + activeEffect = computed + try { + const next = val() + if (!Object.is(cache, next)) { + cache = next + trackUpdate(subs, true) + } + } finally { + activeEffect = prev + } + computed._dirty = false + } + trackUpdate(subs) + return cache + } + computed._isComputed = true + computed._subs = subs + computed._dirty = true + computed._deps = null + computed._disposed = false + return computed + } + if (key) try { val = JSON.parse(localStorage.getItem(key)) ?? val } catch (e) { } + return (...args) => { + if (args.length) { + const next = isFunc(args[0]) ? args[0](val) : args[0] + if (!Object.is(val, next)) { + val = next + if (key) localStorage.setItem(key, JSON.stringify(val)) + trackUpdate(subs, true) + } + } + trackUpdate(subs) + return val + } +} + +const $$ = (target) => { + if (!isObj(target)) return target + const cached = proxyCache.get(target) + if (cached) return cached + + const subs = new Map() + const getSubs = (key) => { + let set = subs.get(key) + if (!set) subs.set(key, set = new Set()) + return set + } + + const proxy = new Proxy(target, { + get(target, key, receiver) { + if (typeof key !== 'symbol') trackUpdate(getSubs(key)) + return $$(Reflect.get(target, key, receiver)) + }, + set(target, key, value, receiver) { + const hadKey = Reflect.has(target, key) + const oldValue = Reflect.get(target, key, receiver) + const result = Reflect.set(target, key, value, receiver) + if (result && !Object.is(oldValue, value)) { + trackUpdate(getSubs(key), true) + if (!hadKey) trackUpdate(getSubs(ITER), true) + } + return result + }, + deleteProperty(target, key) { + const result = Reflect.deleteProperty(target, key) + if (result) { + trackUpdate(getSubs(key), true) + trackUpdate(getSubs(ITER), true) + } + return result + }, + ownKeys(target) { + trackUpdate(getSubs(ITER)) + return Reflect.ownKeys(target) + } + }) + + proxyCache.set(target, proxy) + return proxy +} + +const watch = (sources, cb) => { + if (cb === undefined) { + const effect = createEffect(sources) + effect() + return () => dispose(effect) + } + const effect = createEffect(() => { + const vals = Array.isArray(sources) ? sources.map(s => s()) : sources() + untrack(() => cb(vals)) + }) + effect() + return () => dispose(effect) +} + +const cleanupNode = (node) => { + if (!node) return; + if (node._cleanups) { + node._cleanups.forEach(fn => fn()); + node._cleanups.clear(); + } + if (node._ownerEffect) dispose(node._ownerEffect); + if (node.childNodes) node.childNodes.forEach(n => cleanupNode(n)); +}; + +var DANGEROUS_PROTOCOL = /^\s*(javascript|data|vbscript):/i; +var DANGEROUS_URI_ATTRS = new Set(["src", "href", "formaction", "action", "background", "code", "archive"]); +var isDangerousAttr = (key) => DANGEROUS_URI_ATTRS.has(key) || key.startsWith("on"); + +const validateAttr = (key, val) => { + if (val == null || val === false) return null + if (isDangerousAttr(key)) { + const sVal = String(val) + if (DANGEROUS_PROTOCOL.test(sVal)) { + console.warn(`[SigPro] Bloqueado protocolo peligroso en ${key}`) + return '#' + } + } + return val +} + +const h = (tag, props = {}, children = []) => { + if (props instanceof Node || isArr(props) || !isObj(props)) { + children = props + props = {} + } + + if (isFunc(tag)) { + const effect = createEffect(() => { + const result = tag(props, { + children, + emit: (ev, ...args) => props[`on${ev[0].toUpperCase()}${ev.slice(1)}`]?.(...args) + }) + effect._result = result + return result + }) + effect() + + const result = effect._result + if (result == null) return null + + const node = (result instanceof Node || (isArr(result) && result.every(n => n instanceof Node))) + ? result + : doc.createTextNode(String(result)) + + const attach = n => { + if (isObj(n) && !n._isRuntime) { + n._mounts = effect._mounts || [] + n._cleanups = effect._cleanups || new Set() + n._ownerEffect = effect + } + } + + isArr(node) ? node.forEach(attach) : attach(node) + return node + } + + const isSVG = SVG_TAGS.has(tag) + const el = isSVG ? doc.createElementNS(SVG_NS, tag) : doc.createElement(tag) + el._cleanups = new Set() + + for (const k of Object.keys(props)) { + let v = props[k] + if (k === "ref") { + isFunc(v) ? v(el) : (v.current = el) + continue + } + if (isSVG && k.startsWith("xlink:")) { + const cleanVal = validateAttr(k.slice(6), v) + cleanVal == null + ? el.removeAttributeNS(XLINK_NS, k.slice(6)) + : el.setAttributeNS(XLINK_NS, k.slice(6), cleanVal) + continue + } + if (k.startsWith("on")) { + const ev = k.slice(2).toLowerCase() + el.addEventListener(ev, v) + const off = () => el.removeEventListener(ev, v) + el._cleanups.add(off) + onUnmount(off) + } else if (isFunc(v)) { + const effect = createEffect(() => { + const val = validateAttr(k, v()) + if (k === "class") el.className = val || "" + else if (val == null) el.removeAttribute(k) + else if (k === "style" && typeof val === "string") el.setAttribute("style", val) + else if (k in el && !isSVG) el[k] = val + else el.setAttribute(k, val === true ? "" : val) + }) + effect() + el._cleanups.add(() => dispose(effect)) + onUnmount(() => dispose(effect)) + if (/^(INPUT|TEXTAREA|SELECT)$/.test(el.tagName) && (k === "value" || k === "checked")) { + const evType = k === "checked" ? "change" : "input" + el.addEventListener(evType, ev => v(ev.target[k])) + } + } else { + const val = validateAttr(k, v) + if (val != null) { + if (k === "style" && typeof val === "string") el.setAttribute("style", val) + else if (k in el && !isSVG) el[k] = val + else el.setAttribute(k, val === true ? "" : val) + } + } + } + + const append = c => { + if (isArr(c)) return c.forEach(append) + if (isFunc(c)) { + const anchor = doc.createTextNode("") + el.appendChild(anchor) + let currentNodes = [] + const effect = createEffect(() => { + const res = c() + const next = (isArr(res) ? res : [res]).map(ensureNode) + currentNodes.forEach(n => { + if (n._isRuntime) n.destroy() + else cleanupNode(n) + if (n.parentNode) n.remove() + }) + let ref = anchor + for (let i = next.length - 1; i >= 0; i--) { + const node = next[i] + if (node.parentNode !== ref.parentNode) ref.parentNode?.insertBefore(node, ref) + if (node._mounts) node._mounts.forEach(fn => fn()) + ref = node + } + currentNodes = next + }) + effect() + el._cleanups.add(() => dispose(effect)) + onUnmount(() => dispose(effect)) + } else { + const node = ensureNode(c) + el.appendChild(node) + if (node._mounts) node._mounts.forEach(fn => fn()) + } + } + append(children) + return el +} + +const render = renderFn => { + const cleanups = new Set() + const previousOwner = activeOwner + const previousEffect = activeEffect + const container = doc.createElement("div") + container.style.display = "contents" + container.setAttribute("role", "presentation") + activeOwner = { _cleanups: cleanups } + activeEffect = null + + const processResult = result => { + if (!result) return + if (result._isRuntime) { + cleanups.add(result.destroy) + container.appendChild(result.container) + } else if (isArr(result)) { + result.forEach(processResult) + } else { + container.appendChild(result instanceof Node ? result : doc.createTextNode(String(result == null ? "" : result))) + } + } + + try { + processResult(renderFn({ onCleanup: fn => cleanups.add(fn) })) + } finally { + activeOwner = previousOwner + activeEffect = previousEffect + } + + return { + _isRuntime: true, + container, + destroy: () => { + cleanups.forEach(fn => fn()) + cleanupNode(container) + container.remove() + } + } +} + +const when = (cond, SIP, NOP = null) => { + const anchor = doc.createTextNode("") + const root = h("div", { style: "display:contents" }, [anchor]) + let currentView = null + + watch( + () => !!(isFunc(cond) ? cond() : cond), + show => { + if (currentView) { + currentView.destroy() + currentView = null + } + + const content = show ? SIP : NOP + if (content) { + currentView = render(() => isFunc(content) ? content() : content) + root.insertBefore(currentView.container, anchor) + } + } + ) + + onUnmount(() => currentView?.destroy()) + return root +} + +const each = (src, itemFn, keyField) => { + const anchor = doc.createTextNode("") + const root = h("div", { style: "display:contents" }, [anchor]) + let cache = new Map() + watch(() => (isFunc(src) ? src() : src) || [], items => { + const nextCache = new Map() + const nextOrder = [] + const newItems = items || [] + for (let i = 0; i < newItems.length; i++) { + const item = newItems[i] + const key = keyField ? (item?.[keyField] ?? i) : (item?.id ?? i) + let view = cache.get(key) + if (!view) view = render(() => itemFn(item, i)) + else cache.delete(key) + nextCache.set(key, view) + nextOrder.push(view) + } + cache.forEach(view => view.destroy()) + let lastRef = anchor + for (let i = nextOrder.length - 1; i >= 0; i--) { + const view = nextOrder[i] + const node = view.container + if (node.nextSibling !== lastRef) root.insertBefore(node, lastRef) + lastRef = node + } + cache = nextCache + }) + return root +} + +const router = routes => { + const getHash = () => window.location.hash.slice(1) || "/" + const path = $(getHash()) + const handler = () => path(getHash()) + window.addEventListener("hashchange", handler) + onUnmount(() => window.removeEventListener("hashchange", handler)) + const hook = h("div", { class: "router-hook" }) + let currentView = null + watch([path], () => { + const cur = path() + const route = routes.find(r => { + const p1 = r.path.split("/").filter(Boolean) + const p2 = cur.split("/").filter(Boolean) + return p1.length === p2.length && p1.every((p, i) => p[0] === ":" || p === p2[i]) + }) || routes.find(r => r.path === "*") + if (route) { + currentView?.destroy() + const params = {} + route.path.split("/").filter(Boolean).forEach((p, i) => { + if (p[0] === ":") params[p.slice(1)] = cur.split("/").filter(Boolean)[i] + }) + router.params(params) + currentView = render(() => isFunc(route.component) ? route.component(params) : route.component) + hook.replaceChildren(currentView.container) + } + }) + return hook +} +router.params = $({}) +router.to = p => window.location.hash = p.replace(/^#?\/?/, "#/") +router.back = () => window.history.back() +router.path = () => window.location.hash.replace(/^#/, "") || "/" + +const Fragment = (props) => props.children; + +const mount = (comp, target) => { + const t = typeof target === "string" ? doc.querySelector(target) : target + if (!t) return + if (MOUNTED_NODES.has(t)) MOUNTED_NODES.get(t).destroy() + const inst = render(isFunc(comp) ? comp : () => comp) + t.replaceChildren(inst.container) + MOUNTED_NODES.set(t, inst) + return inst +} + +export { $, $$, watch, batch, h, Fragment, mount, when, each, router, onUnmount, isArr, isFunc, isObj } \ No newline at end of file