diff --git a/Readme.md b/Readme.md
index ec4de57..f6f5fe9 100644
--- a/Readme.md
+++ b/Readme.md
@@ -1,9 +1,9 @@
-Full Pure reactive JS UI +40 components in less than 35 KB!
+Full Pure reactive JS UI +40 components in less than 30 KB!
# SigPro UI
[](https://www.npmjs.com/package/sigpro)
-
+

[](https://github.com/natxocc/sigpro-ui/blob/main/LICENSE)
@@ -12,7 +12,7 @@ Full Pure reactive JS UI +40 components in less than 35 KB!
Based in SigPro Core
[**Explore the Core Docs →**](https://sigpro.natxocc.com/#/)
-**SigPro UI** is a lightweight (<35KB JS+CSS), ultra-fast, and reactive component library built for the **SigPro** reactivity core. It provides a set of high-quality, accessible, and themeable UI components with **zero external dependencies**
+**SigPro UI** is a lightweight (<30KB JS+CSS), ultra-fast, and reactive component library built for the **SigPro** reactivity core. It provides a set of high-quality, accessible, and themeable UI components with **zero external dependencies**
Unlike heavy frameworks, SigPro UI focuses on a **"Zero-Build"** philosophy, allowing you to build complex reactive interfaces with a functional, declarative syntax that runs natively in the browser.
diff --git a/dist/sigpro-ui.css b/dist/sigpro-ui.css
index 1be96d0..2599f01 100644
--- a/dist/sigpro-ui.css
+++ b/dist/sigpro-ui.css
@@ -1,4 +1,4 @@
-/*! tailwindcss v4.2.4 | MIT License | https://tailwindcss.com */
+/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
@layer properties;
@layer theme, base, components, utilities;
@layer theme {
@@ -11,7 +11,6 @@
--spacing: 0.25rem;
--container-xs: 20rem;
--container-md: 28rem;
- --container-2xl: 42rem;
--container-3xl: 48rem;
--container-5xl: 64rem;
--container-6xl: 72rem;
@@ -35,7 +34,6 @@
--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;
@@ -401,6 +399,57 @@
}
}
}
+ .drawer-open {
+ @layer daisyui.l1.l2.l3 {
+ > .drawer-toggle:checked {
+ ~ .drawer-side {
+ scrollbar-color: revert-layer;
+ }
+ :root:has(&) {
+ --page-overflow: revert-layer;
+ --page-scroll-gutter: revert-layer;
+ --page-scroll-bg: revert-layer;
+ --page-scroll-transition: revert-layer;
+ --page-has-backdrop: revert-layer;
+ animation: revert-layer;
+ animation-timeline: revert-layer;
+ }
+ }
+ }
+ @layer daisyui.l1.l2 {
+ > .drawer-side {
+ overflow-y: auto;
+ }
+ > .drawer-toggle {
+ display: none;
+ ~ .drawer-side {
+ pointer-events: auto;
+ visibility: visible;
+ position: sticky;
+ display: block;
+ width: auto;
+ overscroll-behavior: auto;
+ opacity: 100%;
+ > .drawer-overlay {
+ cursor: default;
+ background-color: transparent;
+ }
+ }
+ &:checked ~ .drawer-side {
+ pointer-events: auto;
+ visibility: visible;
+ }
+ }
+ }
+ @layer daisyui.l1 {
+ > .drawer-toggle ~ .drawer-side > :not(.drawer-overlay) {
+ translate: 0%;
+ [dir="rtl"] & {
+ translate: 0%;
+ }
+ }
+ }
+ }
.drawer-toggle {
@layer daisyui.l1.l2.l3 {
position: fixed;
@@ -1328,9 +1377,6 @@
.collapse {
visibility: collapse;
}
- .visible {
- visibility: visible;
- }
.tabs-lift {
@layer daisyui.l1.l2 {
--tabs-height: auto;
@@ -2823,9 +2869,6 @@
.relative {
position: relative;
}
- .sticky {
- position: sticky;
- }
.tooltip-bottom {
@layer daisyui.l1.l2 {
> .tooltip-content, &[data-tip]:before {
@@ -2938,9 +2981,6 @@
}
}
}
- .start {
- inset-inline-start: var(--spacing);
- }
.dropdown-left {
@layer daisyui.l1.l2 {
--anchor-h: left;
@@ -2981,9 +3021,6 @@
}
}
}
- .end {
- inset-inline-end: var(--spacing);
- }
.dropdown-bottom {
@layer daisyui.l1.l2 {
--anchor-v: bottom;
@@ -3007,24 +3044,24 @@
.top-0 {
top: calc(var(--spacing) * 0);
}
+ .top-2 {
+ top: calc(var(--spacing) * 2);
+ }
.top-10 {
top: calc(var(--spacing) * 10);
}
- .top-full {
- top: 100%;
- }
.right-0 {
right: calc(var(--spacing) * 0);
}
.right-1\/4 {
right: calc(1 / 4 * 100%);
}
+ .right-2 {
+ right: calc(var(--spacing) * 2);
+ }
.bottom-10 {
bottom: calc(var(--spacing) * 10);
}
- .left-0 {
- left: calc(var(--spacing) * 0);
- }
.left-1\/2 {
left: calc(1 / 2 * 100%);
}
@@ -3101,6 +3138,116 @@
}
}
}
+ .file-input {
+ @layer daisyui.l1.l2.l3 {
+ cursor: pointer;
+ cursor: pointer;
+ border: var(--border) solid #0000;
+ display: inline-flex;
+ appearance: none;
+ align-items: center;
+ background-color: var(--color-base-100);
+ vertical-align: middle;
+ webkit-user-select: none;
+ user-select: none;
+ width: clamp(3rem, 20rem, 100%);
+ height: var(--size);
+ padding-inline-end: 0.75rem;
+ font-size: 0.875rem;
+ line-height: 2;
+ border-start-start-radius: var(--join-ss, var(--radius-field));
+ border-start-end-radius: var(--join-se, var(--radius-field));
+ border-end-start-radius: var(--join-es, var(--radius-field));
+ border-end-end-radius: var(--join-ee, var(--radius-field));
+ border-color: var(--input-color);
+ box-shadow: 0 1px var(--input-color) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset;
+ @supports (color: color-mix(in lab, red, red)) {
+ box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset;
+ }
+ --size: calc(var(--size-field, 0.25rem) * 10);
+ --input-color: var(--color-base-content);
+ @supports (color: color-mix(in lab, red, red)) {
+ --input-color: color-mix(in oklab, var(--color-base-content) 20%, #0000);
+ }
+ &::file-selector-button {
+ margin-inline-end: calc(0.25rem * 4);
+ cursor: pointer;
+ padding-inline: calc(0.25rem * 4);
+ webkit-user-select: none;
+ user-select: none;
+ height: calc(100% + var(--border) * 2);
+ margin-block: calc(var(--border) * -1);
+ margin-inline-start: calc(var(--border) * -1);
+ font-size: 0.875rem;
+ color: var(--btn-fg);
+ border-width: var(--border);
+ border-style: solid;
+ border-color: var(--btn-border);
+ border-start-start-radius: calc(var(--join-ss, var(--radius-field) - var(--border)));
+ border-end-start-radius: calc(var(--join-es, var(--radius-field) - var(--border)));
+ font-weight: 600;
+ background-color: var(--btn-bg);
+ background-size: calc(var(--noise) * 100%);
+ background-image: var(--btn-noise);
+ text-shadow: 0 0.5px oklch(1 0 0 / calc(var(--depth) * 0.15));
+ box-shadow: 0 0.5px 0 0.5px white inset, var(--btn-shadow);
+ @supports (color: color-mix(in lab, red, red)) {
+ box-shadow: 0 0.5px 0 0.5px color-mix( in oklab, color-mix(in oklab, white 30%, var(--btn-bg)) calc(var(--depth) * 20%), #0000 ) inset, var(--btn-shadow);
+ }
+ --size: calc(var(--size-field, 0.25rem) * 10);
+ --btn-bg: var(--btn-color, var(--color-base-200));
+ --btn-fg: var(--color-base-content);
+ --btn-border: var(--btn-bg);
+ @supports (color: color-mix(in lab, red, red)) {
+ --btn-border: color-mix(in oklab, var(--btn-bg), #000 5%);
+ }
+ --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-shadow: 0 3px 2px -2px color-mix(in oklab, var(--btn-bg) 30%, #0000),
+ 0 4px 3px -2px color-mix(in oklab, var(--btn-bg) 30%, #0000);
+ }
+ --btn-noise: var(--fx-noise);
+ }
+ &:focus {
+ --input-color: var(--color-base-content);
+ box-shadow: 0 1px var(--input-color);
+ @supports (color: color-mix(in lab, red, red)) {
+ box-shadow: 0 1px color-mix(in oklab, var(--input-color) 10%, #0000);
+ }
+ outline: 2px solid var(--input-color);
+ outline-offset: 2px;
+ isolation: isolate;
+ }
+ &:has(> input[disabled]), &:is(:disabled, [disabled]) {
+ cursor: not-allowed;
+ border-color: var(--color-base-200);
+ background-color: var(--color-base-200);
+ &::placeholder {
+ color: var(--color-base-content);
+ @supports (color: color-mix(in lab, red, red)) {
+ color: color-mix(in oklab, var(--color-base-content) 20%, transparent);
+ }
+ }
+ box-shadow: none;
+ color: var(--color-base-content);
+ @supports (color: color-mix(in lab, red, red)) {
+ color: color-mix(in oklch, var(--color-base-content) 20%, #0000);
+ }
+ &::file-selector-button {
+ cursor: not-allowed;
+ border-color: var(--color-base-200);
+ background-color: var(--color-base-200);
+ --btn-border: #0000;
+ --btn-noise: none;
+ --btn-fg: var(--color-base-content);
+ @supports (color: color-mix(in lab, red, red)) {
+ --btn-fg: color-mix(in oklch, var(--color-base-content) 20%, #0000);
+ }
+ }
+ }
+ }
+ }
.textarea {
@layer daisyui.l1.l2.l3 {
border: var(--border) solid #0000;
@@ -3321,9 +3468,6 @@
.z-10 {
z-index: 10;
}
- .z-20 {
- z-index: 20;
- }
.z-50 {
z-index: 50;
}
@@ -3777,9 +3921,6 @@
}
}
}
- .mx-1 {
- margin-inline: calc(var(--spacing) * 1);
- }
.mx-auto {
margin-inline: auto;
}
@@ -4058,9 +4199,6 @@
.mb-10 {
margin-bottom: calc(var(--spacing) * 10);
}
- .ml-1 {
- margin-left: calc(var(--spacing) * 1);
- }
.ml-2 {
margin-left: calc(var(--spacing) * 2);
}
@@ -4120,45 +4258,6 @@
mask-size: 100% 100%;
--svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m21.73 18l-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3M12 9v4m0 4h.01'/%3E%3C/svg%3E");
}
- .icon-\[lucide--align-center\] {
- display: inline-block;
- width: 1em;
- height: 1em;
- background-color: currentColor;
- -webkit-mask-image: var(--svg);
- mask-image: var(--svg);
- -webkit-mask-repeat: no-repeat;
- mask-repeat: no-repeat;
- -webkit-mask-size: 100% 100%;
- mask-size: 100% 100%;
- --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M17 12H7m12 6H5M21 6H3'/%3E%3C/svg%3E");
- }
- .icon-\[lucide--align-left\] {
- display: inline-block;
- width: 1em;
- height: 1em;
- background-color: currentColor;
- -webkit-mask-image: var(--svg);
- mask-image: var(--svg);
- -webkit-mask-repeat: no-repeat;
- mask-repeat: no-repeat;
- -webkit-mask-size: 100% 100%;
- mask-size: 100% 100%;
- --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M15 12H3m14 6H3M21 6H3'/%3E%3C/svg%3E");
- }
- .icon-\[lucide--align-right\] {
- display: inline-block;
- width: 1em;
- height: 1em;
- background-color: currentColor;
- -webkit-mask-image: var(--svg);
- mask-image: var(--svg);
- -webkit-mask-repeat: no-repeat;
- mask-repeat: no-repeat;
- -webkit-mask-size: 100% 100%;
- mask-size: 100% 100%;
- --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M21 12H9m12 6H7M21 6H3'/%3E%3C/svg%3E");
- }
.icon-\[lucide--bell\] {
display: inline-block;
width: 1em;
@@ -4289,19 +4388,6 @@
mask-size: 100% 100%;
--svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 6v6l4 2'/%3E%3C/g%3E%3C/svg%3E");
}
- .icon-\[lucide--code-2\] {
- display: inline-block;
- width: 1em;
- height: 1em;
- background-color: currentColor;
- -webkit-mask-image: var(--svg);
- mask-image: var(--svg);
- -webkit-mask-repeat: no-repeat;
- mask-repeat: no-repeat;
- -webkit-mask-size: 100% 100%;
- mask-size: 100% 100%;
- --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m18 16l4-4l-4-4M6 8l-4 4l4 4m8.5-12l-5 16'/%3E%3C/svg%3E");
- }
.icon-\[lucide--eye-off\] {
display: inline-block;
width: 1em;
@@ -4367,32 +4453,6 @@
mask-size: 100% 100%;
--svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='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");
}
- .icon-\[lucide--indent-decrease\] {
- display: inline-block;
- width: 1em;
- height: 1em;
- background-color: currentColor;
- -webkit-mask-image: var(--svg);
- mask-image: var(--svg);
- -webkit-mask-repeat: no-repeat;
- mask-repeat: no-repeat;
- -webkit-mask-size: 100% 100%;
- mask-size: 100% 100%;
- --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M21 12H11m10 6H11M21 6H11M7 8l-4 4l4 4'/%3E%3C/svg%3E");
- }
- .icon-\[lucide--indent-increase\] {
- display: inline-block;
- width: 1em;
- height: 1em;
- background-color: currentColor;
- -webkit-mask-image: var(--svg);
- mask-image: var(--svg);
- -webkit-mask-repeat: no-repeat;
- mask-repeat: no-repeat;
- -webkit-mask-size: 100% 100%;
- mask-size: 100% 100%;
- --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M21 12H11m10 6H11M21 6H11M3 8l4 4l-4 4'/%3E%3C/svg%3E");
- }
.icon-\[lucide--info\] {
display: inline-block;
width: 1em;
@@ -4406,19 +4466,6 @@
mask-size: 100% 100%;
--svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-4m0-4h.01'/%3E%3C/g%3E%3C/svg%3E");
}
- .icon-\[lucide--italic\] {
- display: inline-block;
- width: 1em;
- height: 1em;
- background-color: currentColor;
- -webkit-mask-image: var(--svg);
- mask-image: var(--svg);
- -webkit-mask-repeat: no-repeat;
- mask-repeat: no-repeat;
- -webkit-mask-size: 100% 100%;
- mask-size: 100% 100%;
- --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 4h-9m4 16H5M15 4L9 20'/%3E%3C/svg%3E");
- }
.icon-\[lucide--link\] {
display: inline-block;
width: 1em;
@@ -4432,32 +4479,6 @@
mask-size: 100% 100%;
--svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='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");
}
- .icon-\[lucide--list-ordered\] {
- display: inline-block;
- width: 1em;
- height: 1em;
- background-color: currentColor;
- -webkit-mask-image: var(--svg);
- mask-image: var(--svg);
- -webkit-mask-repeat: no-repeat;
- mask-repeat: no-repeat;
- -webkit-mask-size: 100% 100%;
- mask-size: 100% 100%;
- --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='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");
- }
- .icon-\[lucide--list\] {
- display: inline-block;
- width: 1em;
- height: 1em;
- background-color: currentColor;
- -webkit-mask-image: var(--svg);
- mask-image: var(--svg);
- -webkit-mask-repeat: no-repeat;
- mask-repeat: no-repeat;
- -webkit-mask-size: 100% 100%;
- mask-size: 100% 100%;
- --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M3 5h.01M3 12h.01M3 19h.01M8 5h13M8 12h13M8 19h13'/%3E%3C/svg%3E");
- }
.icon-\[lucide--lock\] {
display: inline-block;
width: 1em;
@@ -4510,19 +4531,6 @@
mask-size: 100% 100%;
--svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M20.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");
}
- .icon-\[lucide--paperclip\] {
- display: inline-block;
- width: 1em;
- height: 1em;
- background-color: currentColor;
- -webkit-mask-image: var(--svg);
- mask-image: var(--svg);
- -webkit-mask-repeat: no-repeat;
- mask-repeat: no-repeat;
- -webkit-mask-size: 100% 100%;
- mask-size: 100% 100%;
- --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='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");
- }
.icon-\[lucide--phone\] {
display: inline-block;
width: 1em;
@@ -4536,32 +4544,6 @@
mask-size: 100% 100%;
--svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233a14 14 0 0 0 6.392 6.384'/%3E%3C/svg%3E");
}
- .icon-\[lucide--quote\] {
- display: inline-block;
- width: 1em;
- height: 1em;
- background-color: currentColor;
- -webkit-mask-image: var(--svg);
- mask-image: var(--svg);
- -webkit-mask-repeat: no-repeat;
- mask-repeat: no-repeat;
- -webkit-mask-size: 100% 100%;
- mask-size: 100% 100%;
- --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='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");
- }
- .icon-\[lucide--redo-2\] {
- display: inline-block;
- width: 1em;
- height: 1em;
- background-color: currentColor;
- -webkit-mask-image: var(--svg);
- mask-image: var(--svg);
- -webkit-mask-repeat: no-repeat;
- mask-repeat: no-repeat;
- -webkit-mask-size: 100% 100%;
- mask-size: 100% 100%;
- --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%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");
- }
.icon-\[lucide--search\] {
display: inline-block;
width: 1em;
@@ -4588,19 +4570,6 @@
mask-size: 100% 100%;
--svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='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");
}
- .icon-\[lucide--smile\] {
- display: inline-block;
- width: 1em;
- height: 1em;
- background-color: currentColor;
- -webkit-mask-image: var(--svg);
- mask-image: var(--svg);
- -webkit-mask-repeat: no-repeat;
- mask-repeat: no-repeat;
- -webkit-mask-size: 100% 100%;
- mask-size: 100% 100%;
- --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%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");
- }
.icon-\[lucide--sun\] {
display: inline-block;
width: 1em;
@@ -4627,32 +4596,6 @@
mask-size: 100% 100%;
--svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M15 18H3M17 6H3m18 6H3'/%3E%3C/svg%3E");
}
- .icon-\[lucide--underline\] {
- display: inline-block;
- width: 1em;
- height: 1em;
- background-color: currentColor;
- -webkit-mask-image: var(--svg);
- mask-image: var(--svg);
- -webkit-mask-repeat: no-repeat;
- mask-repeat: no-repeat;
- -webkit-mask-size: 100% 100%;
- mask-size: 100% 100%;
- --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M6 4v6a6 6 0 0 0 12 0V4M4 20h16'/%3E%3C/svg%3E");
- }
- .icon-\[lucide--undo-2\] {
- display: inline-block;
- width: 1em;
- height: 1em;
- background-color: currentColor;
- -webkit-mask-image: var(--svg);
- mask-image: var(--svg);
- -webkit-mask-repeat: no-repeat;
- mask-repeat: no-repeat;
- -webkit-mask-size: 100% 100%;
- mask-size: 100% 100%;
- --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%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");
- }
.icon-\[lucide--upload\] {
display: inline-block;
width: 1em;
@@ -4939,12 +4882,6 @@
mask-position: center;
}
}
- .block {
- display: block;
- }
- .contents {
- display: contents;
- }
.flex {
display: flex;
}
@@ -5061,15 +4998,9 @@
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);
}
@@ -5097,9 +5028,6 @@
.min-h-0 {
min-height: calc(var(--spacing) * 0);
}
- .min-h-\[22rem\] {
- min-height: 22rem;
- }
.min-h-full {
min-height: 100%;
}
@@ -5138,18 +5066,9 @@
width: calc(var(--size-selector, 0.25rem) * 7);
}
}
- .w-3 {
- width: calc(var(--spacing) * 3);
- }
.w-3\/4 {
width: calc(3 / 4 * 100%);
}
- .w-4 {
- width: calc(var(--spacing) * 4);
- }
- .w-5 {
- width: calc(var(--spacing) * 5);
- }
.w-10 {
width: calc(var(--spacing) * 10);
}
@@ -5189,15 +5108,9 @@
.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);
}
@@ -5207,24 +5120,18 @@
.max-w-6xl {
max-width: var(--container-6xl);
}
- .max-w-\[200px\] {
- max-width: 200px;
+ .max-w-\[180px\] {
+ max-width: 180px;
}
.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;
}
@@ -5352,9 +5259,6 @@
.justify-end {
justify-content: flex-end;
}
- .gap-0\.5 {
- gap: calc(var(--spacing) * 0.5);
- }
.gap-1 {
gap: calc(var(--spacing) * 1);
}
@@ -5380,6 +5284,13 @@
margin-block-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)));
}
}
+ .space-y-2 {
+ :where(& > :not(:last-child)) {
+ --tw-space-y-reverse: 0;
+ margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
+ margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
+ }
+ }
.space-y-4 {
:where(& > :not(:last-child)) {
--tw-space-y-reverse: 0;
@@ -5448,10 +5359,6 @@
border-style: var(--tw-border-style);
border-width: 1px;
}
- .border-0 {
- border-style: var(--tw-border-style);
- border-width: 0px;
- }
.border-2 {
border-style: var(--tw-border-style);
border-width: 2px;
@@ -5620,12 +5527,6 @@
.bg-base-100 {
background-color: var(--color-base-100);
}
- .bg-base-100\/50 {
- background-color: var(--color-base-100);
- @supports (color: color-mix(in lab, red, red)) {
- background-color: color-mix(in oklab, var(--color-base-100) 50%, transparent);
- }
- }
.bg-base-200 {
background-color: var(--color-base-200);
}
@@ -5662,9 +5563,6 @@
.bg-secondary {
background-color: var(--color-secondary);
}
- .bg-transparent {
- background-color: transparent;
- }
.bg-linear-to-r {
--tw-gradient-position: to right;
@supports (background-image: linear-gradient(in lab, red, red)) {
@@ -5829,6 +5727,18 @@
.p-10 {
padding: calc(var(--spacing) * 10);
}
+ .menu-title {
+ @layer daisyui.l1.l2.l3 {
+ padding-inline: calc(0.25rem * 3);
+ padding-block: calc(0.25rem * 2);
+ color: var(--color-base-content);
+ @supports (color: color-mix(in lab, red, red)) {
+ color: color-mix(in oklab, var(--color-base-content) 40%, transparent);
+ }
+ font-size: 0.875rem;
+ font-weight: 600;
+ }
+ }
.select-lg {
@layer daisyui.l1.l2 {
--size: calc(var(--size-field, 0.25rem) * 12);
@@ -5916,9 +5826,6 @@
.px-1 {
padding-inline: calc(var(--spacing) * 1);
}
- .px-3 {
- padding-inline: calc(var(--spacing) * 3);
- }
.px-4 {
padding-inline: calc(var(--spacing) * 4);
}
@@ -5928,8 +5835,8 @@
.px-10 {
padding-inline: calc(var(--spacing) * 10);
}
- .py-1 {
- padding-block: calc(var(--spacing) * 1);
+ .py-4 {
+ padding-block: calc(var(--spacing) * 4);
}
.py-10 {
padding-block: calc(var(--spacing) * 10);
@@ -5955,9 +5862,6 @@
.text-left {
text-align: left;
}
- .text-right {
- text-align: right;
- }
.font-mono {
font-family: var(--font-mono);
}
@@ -6065,10 +5969,6 @@
--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);
@@ -6092,9 +5992,6 @@
.text-balance {
text-wrap: balance;
}
- .whitespace-nowrap {
- white-space: nowrap;
- }
.alert-error {
@layer daisyui.l1.l2 {
color: var(--color-error-content);
@@ -6359,9 +6256,6 @@
}
}
}
- .underline {
- text-decoration-line: underline;
- }
.swap-active {
@layer daisyui.l1.l2 {
.swap-off {
@@ -6416,10 +6310,6 @@
--tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
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, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
- 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, rgb(0 0 0 / 0.1)), 0 8px 10px -6px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
@@ -6491,10 +6381,6 @@
transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
transition-duration: var(--tw-duration, var(--default-transition-duration));
}
- .duration-200 {
- --tw-duration: 200ms;
- transition-duration: 200ms;
- }
.duration-300 {
--tw-duration: 300ms;
transition-duration: 300ms;
@@ -6692,10 +6578,6 @@
--btn-fg: var(--color-warning-content);
}
}
- .outline-none {
- --tw-outline-style: none;
- outline-style: none;
- }
.select-none {
-webkit-user-select: none;
user-select: none;
@@ -6804,9 +6686,6 @@
--range-thumb-size: calc(var(--size-selector, 0.25rem) * 4);
}
}
- .ring-inset {
- --tw-ring-inset: inset;
- }
.select-accent {
@layer daisyui.l1.l2 {
&, &:focus, &:focus-within {
@@ -6970,13 +6849,6 @@
}
}
}
- .hover\:bg-base-200 {
- &:hover {
- @media (hover: hover) {
- background-color: var(--color-base-200);
- }
- }
- }
.hover\:bg-base-300 {
&:hover {
@media (hover: hover) {
@@ -7094,71 +6966,6 @@
grid-template-columns: repeat(4, minmax(0, 1fr));
}
}
- .\[\&_\.resizable-img-container\]\:hover\:border-primary {
- & .resizable-img-container {
- &:hover {
- @media (hover: 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;
diff --git a/dist/sigpro-ui.editor.esm.js b/dist/sigpro-ui.editor.esm.js
deleted file mode 100644
index 7cdba60..0000000
--- a/dist/sigpro-ui.editor.esm.js
+++ /dev/null
@@ -1,295 +0,0 @@
-// src/editor.js
-import { $ as $2, isFunc as isFunc2, h as h2 } from "sigpro";
-
-// src/sigpro-ui.js
-import { $, watch, h, mount, when, each, isFunc } from "sigpro";
-var val = (val2) => typeof val2 === "function" ? val2() : val2;
-var cls = (...classes) => classes.filter(Boolean).join(" ").trim();
-var c1 = (tag, cls2) => (p) => h(tag, { ...p, class: `${cls2} ${p?.class || ""}`.trim() });
-var c2 = (tag, cls2) => (p, c) => h(tag, { ...p, class: `${cls2} ${p?.class || ""}`.trim() }, c);
-var ct = (tag, cls2, type) => (p) => h(tag, { type, ...p, class: `${cls2} ${p?.class || ""}`.trim() });
-var Alert = c2("div", "alert");
-var AvatarGroup = c2("div", "avatar-group -space-x-6");
-var Badge = c2("span", "badge");
-var Breadcrumbs = c2("div", "breadcrumbs");
-var Button = c2("button", "btn");
-var Card = c2("div", "card");
-var CardTitle = c2("div", "card-title");
-var CardBody = c2("div", "card-body");
-var CardActions = c2("div", "card-actions");
-var Carousel = c2("div", "carousel");
-var CarouselItem = c2("div", "carousel-item");
-var Chat = c2("div", "chat");
-var ChatBubble = c2("div", "chat-bubble");
-var ChatFooter = c2("div", "chat-footer");
-var ChatHeader = c2("div", "chat-header");
-var Checkbox = ct("input", "checkbox", "checkbox");
-var Drawer = c2("div", "drawer");
-var DrawerContent = c2("div", "drawer-content");
-var DrawerSide = c2("div", "drawer-side");
-var Divider = c1("div", "divider");
-var Dropdown = c2("div", "dropdown");
-var Kbd = c2("kbd", "kbd");
-var List = c2("ul", "list");
-var Loading = c2("span", "loading loading-spinner");
-var Navbar = c2("div", "navbar");
-var Progress = c1("progress", "progress");
-var Radio = ct("input", "radio", "radio");
-var Range = ct("input", "range", "range");
-var Rating = c2("div", "rating");
-var Skeleton = c1("div", "skeleton");
-var SkeletonText = c1("span", "skeleton skeleton-text");
-var Stack = c2("div", "stack");
-var Stats = c2("div", "stats shadow");
-var Steps = c2("ul", "steps");
-var Swap = c2("label", "swap");
-var SwapOn = c2("div", "swap-on");
-var SwapOff = c2("div", "swap-off");
-var Table = c2("table", "table");
-var Textarea = c1("textarea", "textarea");
-var Timeline = c2("ul", "timeline");
-var Toggle = ct("input", "toggle", "checkbox");
-
-// src/editor.js
-var Editor = (p) => {
- const { value, class: extraClass } = p;
- let editorRef = null;
- let savedRange = null;
- const isSource = $2(false);
- const source = $2("");
- const count = $2(0);
- const refreshTick = $2(0);
- const showEmojis = $2(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();
- if (sel.getRangeAt && sel.rangeCount)
- savedRange = sel.getRangeAt(0);
- };
- const restoreSelection = () => {
- if (savedRange) {
- const sel = window.getSelection();
- sel.removeAllRanges();
- sel.addRange(savedRange);
- }
- };
- const triggerRefresh = () => {
- refreshTick(refreshTick() + 1);
- if (editorRef)
- count(editorRef.innerText.length);
- };
- const notify = () => {
- if (!editorRef)
- return;
- const html = editorRef.innerHTML;
- if (isFunc2(value))
- value(html);
- else
- p.onchange?.(html);
- triggerRefresh();
- };
- const exec = (cmd, val2 = null) => {
- if (!editorRef)
- return;
- editorRef.focus();
- if (savedRange)
- restoreSelection();
- document.execCommand(cmd, false, val2);
- savedRange = null;
- notify();
- };
- const openLightbox = (src) => {
- const overlay = document.createElement("div");
- overlay.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;`;
- const img = document.createElement("img");
- img.src = src;
- img.style = `max-width:95%;max-height:95%;box-shadow:0 0 30px rgba(0,0,0,0.5);border-radius:4px;`;
- overlay.onclick = () => document.body.removeChild(overlay);
- overlay.appendChild(img);
- document.body.appendChild(overlay);
- };
- const handleUpload = (file) => {
- if (!file)
- return;
- const reader = new FileReader;
- reader.onload = (re) => {
- if (file.type.startsWith("image/")) {
- const imgHtml = `

`;
- exec("insertHTML", imgHtml);
- } else {
- const linkHtml = `${file.name} `;
- exec("insertHTML", linkHtml);
- }
- };
- reader.readAsDataURL(file);
- };
- const queryState = (cmd, val2 = null) => {
- refreshTick();
- if (!editorRef || isSource())
- return false;
- try {
- if (cmd === "formatBlock") {
- let node = window.getSelection().getRangeAt(0).commonAncestorContainer;
- while (node && node !== editorRef) {
- if (node.nodeType === 1 && node.tagName === val2)
- return true;
- node = node.parentNode;
- }
- return false;
- }
- return document.queryCommandState(cmd);
- } catch (e) {
- return false;
- }
- };
- const toolbar = h2("div", { class: "flex flex-wrap items-center gap-1 p-2 border-b border-base-300 bg-base-200 sticky top-0 z-20" }, [
- h2("div", { class: "flex flex-wrap gap-1 flex-1 items-center" }, [
- h2("button", { type: "button", class: () => `btn btn-ghost btn-xs ${queryState("bold") ? "btn-active bg-primary/20" : ""}`, onclick: () => exec("bold") }, h2("span", { class: "icon-[lucide--bold]" })),
- h2("button", { type: "button", class: () => `btn btn-ghost btn-xs ${queryState("italic") ? "btn-active bg-primary/20" : ""}`, onclick: () => exec("italic") }, h2("span", { class: "icon-[lucide--italic]" })),
- h2("button", { type: "button", class: () => `btn btn-ghost btn-xs ${queryState("underline") ? "btn-active bg-primary/20" : ""}`, onclick: () => exec("underline") }, h2("span", { class: "icon-[lucide--underline]" })),
- h2("input", { type: "color", class: "w-5 h-5 p-0 border-0 bg-transparent cursor-pointer", oninput: (e) => exec("foreColor", e.target.value) }),
- h2("span", { class: "w-px h-5 bg-base-300 mx-1" }),
- h2("button", {
- type: "button",
- class: "btn btn-ghost btn-xs",
- onclick: () => exec("justifyLeft")
- }, h2("span", { class: "icon-[lucide--align-left]" })),
- h2("button", {
- type: "button",
- class: "btn btn-ghost btn-xs",
- onclick: () => exec("justifyCenter")
- }, h2("span", { class: "icon-[lucide--align-center]" })),
- h2("button", {
- type: "button",
- class: "btn btn-ghost btn-xs",
- onclick: () => exec("justifyRight")
- }, h2("span", { class: "icon-[lucide--align-right]" })),
- h2("span", { class: "w-px h-5 bg-base-300 mx-1" }),
- h2("button", { type: "button", class: "btn btn-ghost btn-xs", onclick: () => exec("insertUnorderedList") }, h2("span", { class: "icon-[lucide--list]" })),
- h2("button", { type: "button", class: "btn btn-ghost btn-xs", onclick: () => exec("insertOrderedList") }, h2("span", { class: "icon-[lucide--list-ordered]" })),
- h2("button", { type: "button", class: "btn btn-ghost btn-xs", onclick: () => exec("outdent") }, h2("span", { class: "icon-[lucide--indent-decrease]" })),
- h2("button", { type: "button", class: "btn btn-ghost btn-xs", onclick: () => exec("indent") }, h2("span", { class: "icon-[lucide--indent-increase]" })),
- h2("button", { type: "button", class: () => `btn btn-ghost btn-xs ${queryState("formatBlock", "BLOCKQUOTE") ? "btn-active" : ""}`, onclick: () => exec("formatBlock", queryState("formatBlock", "BLOCKQUOTE") ? "P" : "BLOCKQUOTE") }, h2("span", { class: "icon-[lucide--quote]" })),
- h2("span", { class: "w-px h-5 bg-base-300 mx-1" }),
- h2("button", { type: "button", class: "btn btn-ghost btn-xs", onclick: () => {
- const url = window.prompt("URL:");
- if (url)
- exec("createLink", url);
- } }, h2("span", { class: "icon-[lucide--link]" })),
- h2("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();
- } }, h2("span", { class: "icon-[lucide--paperclip]" })),
- h2("div", { class: "relative" }, [
- h2("button", { type: "button", class: "btn btn-ghost btn-xs", onclick: (e) => {
- e.stopPropagation();
- saveSelection();
- showEmojis(!showEmojis());
- } }, h2("span", { class: "icon-[lucide--smile]" })),
- h2("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) => h2("span", { class: "cursor-pointer hover:bg-base-200 p-1 rounded text-lg", onclick: (e) => {
- e.stopPropagation();
- exec("insertText", emo);
- showEmojis(false);
- } }, emo)))
- ]),
- h2("span", { class: "w-px h-5 bg-base-300 mx-1" }),
- h2("button", { type: "button", class: "btn btn-ghost btn-xs", onclick: () => exec("undo") }, h2("span", { class: "icon-[lucide--undo-2]" })),
- h2("button", { type: "button", class: "btn btn-ghost btn-xs", onclick: () => exec("redo") }, h2("span", { class: "icon-[lucide--redo-2]" }))
- ]),
- h2("button", { type: "button", class: () => `btn btn-ghost btn-xs ${isSource() ? "btn-active" : ""}`, onclick: () => {
- if (!isSource())
- source(editorRef?.innerHTML || "");
- else if (editorRef) {
- editorRef.innerHTML = source();
- notify();
- }
- isSource(!isSource());
- } }, h2("span", { class: "icon-[lucide--code-2]" }))
- ]);
- if (typeof document !== "undefined" && !document.getElementById("editor-styles")) {
- const style = document.createElement("style");
- style.id = "editor-styles";
- style.textContent = `
- [contenteditable="true"] div,
- [contenteditable="true"] p {
- margin: 0;
- padding: 0;
- }
- `;
- document.head.appendChild(style);
- }
- return h2("div", { class: cls("border border-base-300 rounded-box bg-base-100 overflow-hidden shadow-sm flex flex-col", extraClass) }, [
- toolbar,
- h2("div", { class: "relative flex-1 flex flex-col", onclick: () => showEmojis(false) }, [
- h2("div", {
- ref: (el) => {
- if (!editorRef && el) {
- editorRef = el;
- el.innerHTML = val(value) || "";
- document.execCommand("defaultParagraphSeparator", false, "br");
- el.addEventListener("click", (e) => {
- const container = e.target.closest(".resizable-img-container");
- if (container) {
- const img = container.querySelector("img");
- if (img)
- openLightbox(img.src);
- }
- });
- }
- },
- style: () => `min-height:22rem;${isSource() ? "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: notify,
- onkeydown: (e) => {
- if (e.key === "Tab") {
- e.preventDefault();
- exec("indent");
- }
- },
- onkeyup: () => {
- triggerRefresh();
- saveSelection();
- },
- onclick: (e) => {
- triggerRefresh();
- saveSelection();
- e.stopPropagation();
- },
- onmouseup: () => {
- notify();
- saveSelection();
- },
- onpaste: (e) => {
- e.preventDefault();
- const text = e.clipboardData.getData("text/plain");
- exec("insertText", text);
- },
- ondragover: (e) => e.preventDefault(),
- ondrop: (e) => {
- e.preventDefault();
- handleUpload(e.dataTransfer.files[0]);
- }
- }),
- h2("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,
- oninput: (e) => {
- source(e.target.value);
- if (editorRef)
- editorRef.innerHTML = e.target.value;
- p.onchange?.(e.target.value);
- }
- })
- ]),
- h2("div", { class: "px-3 py-1 border-t border-base-300 bg-base-100/50 text-[10px] text-right text-base-content/60 italic" }, [
- h2("span", () => `${count()}`)
- ])
- ]);
-};
-export {
- Editor
-};
diff --git a/dist/sigpro-ui.editor.esm.min.js b/dist/sigpro-ui.editor.esm.min.js
deleted file mode 100644
index f140bba..0000000
--- a/dist/sigpro-ui.editor.esm.min.js
+++ /dev/null
@@ -1,7 +0,0 @@
-import{$ as y,isFunc as A,h as o}from"sigpro";import{$ as G,watch as J,h as j,mount as M,when as P,each as X,isFunc as Z}from"sigpro";var w=(u)=>typeof u==="function"?u():u;var R=(...u)=>u.filter(Boolean).join(" ").trim();var k=(u,l)=>(g)=>j(u,{...g,class:`${l} ${g?.class||""}`.trim()}),t=(u,l)=>(g,b)=>j(u,{...g,class:`${l} ${g?.class||""}`.trim()},b),E=(u,l,g)=>(b)=>j(u,{type:g,...b,class:`${l} ${b?.class||""}`.trim()}),N=t("div","alert");var S=t("div","avatar-group -space-x-6"),$=t("span","badge"),Y=t("div","breadcrumbs"),B=t("button","btn"),H=t("div","card"),I=t("div","card-title"),V=t("div","card-body"),D=t("div","card-actions"),m=t("div","carousel"),F=t("div","carousel-item"),v=t("div","chat"),h=t("div","chat-bubble"),p=t("div","chat-footer"),nn=t("div","chat-header");var on=E("input","checkbox","checkbox"),tn=t("div","drawer");var bn=t("div","drawer-content"),sn=t("div","drawer-side");var en=k("div","divider"),rn=t("div","dropdown");var un=t("kbd","kbd"),ln=t("ul","list");var gn=t("span","loading loading-spinner"),an=t("div","navbar"),xn=k("progress","progress");var fn=E("input","radio","radio"),cn=E("input","range","range"),dn=t("div","rating");var kn=k("div","skeleton"),yn=k("span","skeleton skeleton-text"),Ln=t("div","stack"),Tn=t("div","stats shadow"),En=t("ul","steps");var Cn=t("label","swap");var _n=t("div","swap-on"),jn=t("div","swap-off"),zn=t("table","table"),Un=k("textarea","textarea");var wn=t("ul","timeline"),Rn=E("input","toggle","checkbox");var qn=(u)=>{let{value:l,class:g}=u,b=null,f=null,a=y(!1),i=y(""),z=y(0),C=y(0),c=y(!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","✉️","❤️"],L=()=>{let n=window.getSelection();if(n.getRangeAt&&n.rangeCount)f=n.getRangeAt(0)},K=()=>{if(f){let n=window.getSelection();n.removeAllRanges(),n.addRange(f)}},_=()=>{if(C(C()+1),b)z(b.innerText.length)},T=()=>{if(!b)return;let n=b.innerHTML;if(A(l))l(n);else u.onchange?.(n);_()},s=(n,e=null)=>{if(!b)return;if(b.focus(),f)K();document.execCommand(n,!1,e),f=null,T()},Q=(n)=>{let e=document.createElement("div");e.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 r=document.createElement("img");r.src=n,r.style="max-width:95%;max-height:95%;box-shadow:0 0 30px rgba(0,0,0,0.5);border-radius:4px;",e.onclick=()=>document.body.removeChild(e),e.appendChild(r),document.body.appendChild(e)},U=(n)=>{if(!n)return;let e=new FileReader;e.onload=(r)=>{if(n.type.startsWith("image/")){let x=` `;s("insertHTML",x)}else{let x=`${n.name} `;s("insertHTML",x)}},e.readAsDataURL(n)},d=(n,e=null)=>{if(C(),!b||a())return!1;try{if(n==="formatBlock"){let r=window.getSelection().getRangeAt(0).commonAncestorContainer;while(r&&r!==b){if(r.nodeType===1&&r.tagName===e)return!0;r=r.parentNode}return!1}return document.queryCommandState(n)}catch(r){return!1}},q=o("div",{class:"flex flex-wrap items-center gap-1 p-2 border-b border-base-300 bg-base-200 sticky top-0 z-20"},[o("div",{class:"flex flex-wrap gap-1 flex-1 items-center"},[o("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${d("bold")?"btn-active bg-primary/20":""}`,onclick:()=>s("bold")},o("span",{class:"icon-[lucide--bold]"})),o("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${d("italic")?"btn-active bg-primary/20":""}`,onclick:()=>s("italic")},o("span",{class:"icon-[lucide--italic]"})),o("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${d("underline")?"btn-active bg-primary/20":""}`,onclick:()=>s("underline")},o("span",{class:"icon-[lucide--underline]"})),o("input",{type:"color",class:"w-5 h-5 p-0 border-0 bg-transparent cursor-pointer",oninput:(n)=>s("foreColor",n.target.value)}),o("span",{class:"w-px h-5 bg-base-300 mx-1"}),o("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>s("justifyLeft")},o("span",{class:"icon-[lucide--align-left]"})),o("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>s("justifyCenter")},o("span",{class:"icon-[lucide--align-center]"})),o("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>s("justifyRight")},o("span",{class:"icon-[lucide--align-right]"})),o("span",{class:"w-px h-5 bg-base-300 mx-1"}),o("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>s("insertUnorderedList")},o("span",{class:"icon-[lucide--list]"})),o("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>s("insertOrderedList")},o("span",{class:"icon-[lucide--list-ordered]"})),o("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>s("outdent")},o("span",{class:"icon-[lucide--indent-decrease]"})),o("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>s("indent")},o("span",{class:"icon-[lucide--indent-increase]"})),o("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${d("formatBlock","BLOCKQUOTE")?"btn-active":""}`,onclick:()=>s("formatBlock",d("formatBlock","BLOCKQUOTE")?"P":"BLOCKQUOTE")},o("span",{class:"icon-[lucide--quote]"})),o("span",{class:"w-px h-5 bg-base-300 mx-1"}),o("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>{let n=window.prompt("URL:");if(n)s("createLink",n)}},o("span",{class:"icon-[lucide--link]"})),o("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>{let n=document.createElement("input");n.type="file",n.onchange=(e)=>U(e.target.files[0]),n.click()}},o("span",{class:"icon-[lucide--paperclip]"})),o("div",{class:"relative"},[o("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:(n)=>{n.stopPropagation(),L(),c(!c())}},o("span",{class:"icon-[lucide--smile]"})),o("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:()=>c()?"display:flex":"display:none"},O.map((n)=>o("span",{class:"cursor-pointer hover:bg-base-200 p-1 rounded text-lg",onclick:(e)=>{e.stopPropagation(),s("insertText",n),c(!1)}},n)))]),o("span",{class:"w-px h-5 bg-base-300 mx-1"}),o("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>s("undo")},o("span",{class:"icon-[lucide--undo-2]"})),o("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>s("redo")},o("span",{class:"icon-[lucide--redo-2]"}))]),o("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${a()?"btn-active":""}`,onclick:()=>{if(!a())i(b?.innerHTML||"");else if(b)b.innerHTML=i(),T();a(!a())}},o("span",{class:"icon-[lucide--code-2]"}))]);if(typeof document<"u"&&!document.getElementById("editor-styles")){let n=document.createElement("style");n.id="editor-styles",n.textContent=`
- [contenteditable="true"] div,
- [contenteditable="true"] p {
- margin: 0;
- padding: 0;
- }
- `,document.head.appendChild(n)}return o("div",{class:R("border border-base-300 rounded-box bg-base-100 overflow-hidden shadow-sm flex flex-col",g)},[q,o("div",{class:"relative flex-1 flex flex-col",onclick:()=>c(!1)},[o("div",{ref:(n)=>{if(!b&&n)b=n,n.innerHTML=w(l)||"",document.execCommand("defaultParagraphSeparator",!1,"br"),n.addEventListener("click",(e)=>{let r=e.target.closest(".resizable-img-container");if(r){let x=r.querySelector("img");if(x)Q(x.src)}})},style:()=>`min-height:22rem;${a()?"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:T,onkeydown:(n)=>{if(n.key==="Tab")n.preventDefault(),s("indent")},onkeyup:()=>{_(),L()},onclick:(n)=>{_(),L(),n.stopPropagation()},onmouseup:()=>{T(),L()},onpaste:(n)=>{n.preventDefault();let e=n.clipboardData.getData("text/plain");s("insertText",e)},ondragover:(n)=>n.preventDefault(),ondrop:(n)=>{n.preventDefault(),U(n.dataTransfer.files[0])}}),o("textarea",{class:"w-full flex-1 min-h-[22rem] p-4 outline-none font-mono text-sm bg-base-200 border-0",style:()=>a()?"":"display:none",value:i,oninput:(n)=>{if(i(n.target.value),b)b.innerHTML=n.target.value;u.onchange?.(n.target.value)}})]),o("div",{class:"px-3 py-1 border-t border-base-300 bg-base-100/50 text-[10px] text-right text-base-content/60 italic"},[o("span",()=>`${z()}`)])])};export{qn as Editor};
diff --git a/dist/sigpro-ui.esm.js b/dist/sigpro-ui.esm.js
index 36b2ca7..1be72c5 100644
--- a/dist/sigpro-ui.esm.js
+++ b/dist/sigpro-ui.esm.js
@@ -1,633 +1,220 @@
// src/sigpro-ui.js
-import { $, watch, h, mount, when, each, isFunc } from "sigpro";
-var val = (val2) => typeof val2 === "function" ? val2() : val2;
+import { $, h, mount, val, isFunc } from "sigpro";
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") => {
const q = String(val(query) || "").toLowerCase();
const list = (val(items) || []).map((i) => typeof i === "object" ? i : { label: i, value: i });
return !q ? list : list.filter((item) => String(item[field] || "").toLowerCase().includes(q));
};
-var rand = (r) => `${r}-${Math.random().toString(36).slice(2, 9)}`;
var hide = () => document.activeElement?.blur();
-var c1 = (tag, cls2) => (p) => h(tag, { ...p, class: `${cls2} ${p?.class || ""}`.trim() });
-var c2 = (tag, cls2) => (p, c) => h(tag, { ...p, class: `${cls2} ${p?.class || ""}`.trim() }, c);
-var ct = (tag, cls2, type) => (p) => h(tag, { type, ...p, class: `${cls2} ${p?.class || ""}`.trim() });
-var Alert = c2("div", "alert");
+var Accordion = (p, c) => h("div", { ...p, class: `${"collapse"} ${p?.class || ""}`.trim() }, c);
+var AccordionRadio = (p) => h("input", { type: "radio", name: p.name, checked: p.checked || undefined, class: p.class });
+var AccordionTitle = (p, c) => h("div", { ...p, class: `${"collapse-title"} ${p?.class || ""}`.trim() }, c);
+var AccordionContent = (p, c) => h("div", { ...p, class: `${"collapse-content"} ${p?.class || ""}`.trim() }, c);
+var Alert = (p, c) => h("div", { ...p, class: `${"alert"} ${p?.class || ""}`.trim() }, c);
var Avatar = (p, c) => h("div", { class: "avatar" }, h("div", { class: p.class }, c));
-var AvatarGroup = c2("div", "avatar-group -space-x-6");
-var Badge = c2("span", "badge");
-var Breadcrumbs = c2("div", "breadcrumbs");
-var Button = c2("button", "btn");
-var Card = c2("div", "card");
-var CardTitle = c2("div", "card-title");
-var CardBody = c2("div", "card-body");
-var CardActions = c2("div", "card-actions");
-var Carousel = c2("div", "carousel");
-var CarouselItem = c2("div", "carousel-item");
-var Chat = c2("div", "chat");
-var ChatBubble = c2("div", "chat-bubble");
-var ChatFooter = c2("div", "chat-footer");
-var ChatHeader = c2("div", "chat-header");
-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 = ct("input", "checkbox", "checkbox");
-var Drawer = c2("div", "drawer");
-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 = c2("div", "drawer-content");
-var DrawerSide = c2("div", "drawer-side");
-var DrawerOverlay = (p) => label({ ...p, for: p.for, class: cls("drawer-overlay", p.class) });
-var Divider = c1("div", "divider");
-var Dropdown = c2("div", "dropdown");
-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 Icon = (p, c) => h("span", { ...p, class: cls(c, p.class) });
-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 Kbd = c2("kbd", "kbd");
-var List = c2("ul", "list");
-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 = c2("span", "loading loading-spinner");
-var Navbar = c2("div", "navbar");
-var Progress = c1("progress", "progress");
-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 = ct("input", "radio", "radio");
-var Range = ct("input", "range", "range");
-var Rating = c2("div", "rating");
-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 Skeleton = c1("div", "skeleton");
-var SkeletonText = c1("span", "skeleton skeleton-text");
-var Stack = c2("div", "stack");
-var Stats = c2("div", "stats shadow");
-var Steps = c2("ul", "steps");
-var Step = (p, c) => h("li", { ...p, class: cls("step", p.class), "data-content": p.dataContent }, c);
-var Swap = c2("label", "swap");
-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 = c2("div", "swap-on");
-var SwapOff = c2("div", "swap-off");
-var Table = c2("table", "table");
-var Textarea = c1("textarea", "textarea");
-var Textrotate = (p, c) => h("span", { ...p, class: cls("text-rotate", p.class) }, h("span", {}, c));
-var Timeline = c2("ul", "timeline");
-var Toggle = ct("input", "toggle", "checkbox");
-var Tooltip = (p, c) => h("div", { ...p, class: cls("tooltip", p.class), "data-tip": p.tip }, c);
-var Accordion = (p) => {
- const name = p.name || rand("acc");
- 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 Autocomplete = ({ items, value, onselect, placeholder = "...", ...props }) => {
- 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 (isFunc(value))
- value(actual);
- onselect?.(item);
- hide();
- };
- return Dropdown({ class: "w-80" }, [
- h("div", { tabindex: "0", role: "button", class: "w-full" }, Input({ ...props, placeholder, value: query, left: Icon({}, "icon-[lucide--search]") })),
- 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))]), "value"),
- () => filtered().length === 0 ? h("li", { class: "p-4 opacity-50 text-center" }, "Sin resultados") : null
- ]))
- ]);
-};
+var AvatarGroup = (p, c) => h("div", { ...p, class: `${"avatar-group -space-x-6"} ${p?.class || ""}`.trim() }, c);
+var Badge = (p, c) => h("span", { ...p, class: `${"badge"} ${p?.class || ""}`.trim() }, c);
+var Breadcrumbs = (p, c) => h("div", { ...p, class: `${"breadcrumbs"} ${p?.class || ""}`.trim() }, c);
+var Button = (p, c) => h("button", { ...p, class: `${"btn"} ${p?.class || ""}`.trim() }, c);
var Calendar = (p) => {
- 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 = (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 v = current();
- if (rangeMode()) {
- if (!v?.start || v.start && v.end) {
- p.onChange?.({ start: s, end: null, ...p.hour && { startHour: startHour() } });
- } else {
- const start = v.start;
- const nv = s < start ? { start: s, end: start } : { start, end: s };
- if (p.hour) {
- nv.startHour = v.startHour ?? startHour();
- nv.endHour = endHour();
- }
- p.onChange?.(nv);
- }
- } else {
- p.onChange?.(p.hour ? `${s}T${String(startHour()).padStart(2, "0")}:00:00` : s);
- }
- };
- const move = (m) => {
- const d = internalDate();
- internalDate(new Date(d.getFullYear(), d.getMonth() + m, 1));
- };
- const moveYear = (y) => {
- const d = internalDate();
- internalDate(new Date(d.getFullYear() + y, d.getMonth(), 1));
- };
- 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")
- ])
+ let [d, hv, sh, eh] = [$(new Date), $(0), $(0), $(0)], now = new Date, F = (v) => v?.toISOString().slice(0, 10), P = (n) => (n < 10 ? "0" : "") + n, M = (m, y = 0) => d(new Date(d().getFullYear() + y, d().getMonth() + m, 1)), V = () => typeof p.value == "function" ? p.value() : p.value, G = () => typeof p.range == "function" ? p.range() : p.range, L = (dt) => {
+ let s = F(dt), v = V(), r = G();
+ if (!r)
+ return p.onChange?.(p.hour ? `${s}T${P(sh())}:00:00` : s);
+ if (!v?.start || v.end)
+ return p.onChange?.({ start: s, end: null, ...p.hour && { startHour: sh() } });
+ let nv = s < v.start ? { start: s, end: v.start } : { start: v.start, end: s };
+ p.onChange?.({ ...nv, ...p.hour && { startHour: v.startHour ?? sh(), endHour: eh() } });
+ }, I = ({ v, on }) => h("div", { class: "flex-1 flex gap-2 items-center" }, [
+ h("input", { type: "range", min: 0, max: 23, value: v, class: "range range-xs", oninput: (e) => on(+e.target.value) }),
+ h("span", { class: "text-sm font-mono" }, () => P(v()) + ":00")
]);
- return h("div", {
- class: cls("p-4 bg-base-100 border border-base-300 shadow-2xl rounded-box w-80 select-none", p.class)
- }, [
- 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]" }))
- ]),
- 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]" }))
- ])
+ return h("div", { class: `p-4 bg-base-100 border shadow-2xl rounded-box w-80 select-none ${p.class || ""}` }, [
+ h("div", { class: "flex justify-between items-center mb-4" }, [
+ h("div", { class: "flex" }, [["-1y", -1, 1], ["-1m", -1, 0]].map(([_, m, y]) => h("button", { class: "btn btn-ghost btn-xs", onclick: () => M(m, y) }, h("span", { class: `icon-[lucide--chevron${y ? "s" : ""}-left]` })))),
+ h("span", { class: "font-bold uppercase" }, () => d().toLocaleString("es", { month: "short", year: "numeric" })),
+ h("div", { class: "flex" }, [[1, 0], [1, 1]].map(([m, y]) => h("button", { class: "btn btn-ghost btn-xs", onclick: () => M(m, y) }, h("span", { class: `icon-[lucide--chevron${y ? "s" : ""}-right]` }))))
]),
- 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)),
+ h("div", { class: "grid grid-cols-7 gap-1", onmouseleave: () => hv(null) }, [
+ ..."LMXJVSD".split("").map((l) => h("div", { class: "text-[10px] opacity-40 font-bold text-center" }, l)),
() => {
- 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, m + 1, 0).getDate();
- const cells = [];
- for (let i = 0;i < offset; i++)
- cells.push(h("div"));
- for (let i = 1;i <= dim; i++) {
- const date = new Date(y, m, i), ds = fmt(date);
- cells.push(h("button", {
+ let y = d().getFullYear(), m = d().getMonth(), first = (new Date(y, m, 1).getDay() + 6) % 7;
+ return [...Array(first).fill(h("div")), ...Array(new Date(y, m + 1, 0).getDate()).keys()].map((i) => {
+ if (typeof i != "number")
+ return i;
+ let day = i + 1, ds = F(new Date(y, m, day)), today = F(now) == ds;
+ return h("button", {
type: "button",
+ onclick: () => L(new Date(y, m, day)),
+ onmouseenter: () => G() && hv(ds),
class: () => {
- 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() && 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";
- const today = ds === todayStr ? "ring-1 ring-primary ring-inset font-black text-primary" : "";
- return cls(base, st, today);
- },
- onmouseenter: () => rangeMode() && hoverDate(ds),
- onclick: () => selectDate(date)
- }, i.toString()));
- }
- return cells;
+ let v = V(), hov = hv(), s = v?.start || (typeof v == "string" ? v.slice(0, 10) : 0), isE = v?.end == ds, isS = s == ds, inR = G() && v?.start && (v.end ? ds > v.start && ds < v.end : hov && (ds > s && ds <= hov || ds < s && ds >= hov));
+ return `btn btn-xs p-0 aspect-square min-h-0 h-auto font-normal relative ${isS || isE ? "btn-primary z-10" : inR ? "bg-primary/20 border-none rounded-none" : "btn-ghost"} ${today ? "ring-1 ring-primary font-black" : ""}`;
+ }
+ }, day);
+ });
}
]),
- 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 Colorpicker = (p) => {
- const current = () => val(p.value) || "#000000";
- return Dropdown({}, [
- DropdownButton({ class: "btn" }, [
- 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) => {
- isFunc(p.value) ? p.value(c) : p.onchange?.(c);
- } }))
+ p.hour && h("div", { class: "mt-3 pt-2 border-t flex gap-4" }, G() ? [I({ v: sh, on: sh }), I({ v: eh, on: eh })] : [I({ v: sh, on: sh })])
]);
};
+var Card = (p, c) => h("div", { ...p, class: `${"card"} ${p?.class || ""}`.trim() }, c);
+var CardTitle = (p, c) => h("div", { ...p, class: `${"card-title"} ${p?.class || ""}`.trim() }, c);
+var CardBody = (p, c) => h("div", { ...p, class: `${"card-body"} ${p?.class || ""}`.trim() }, c);
+var CardActions = (p, c) => h("div", { ...p, class: `${"card-actions"} ${p?.class || ""}`.trim() }, c);
+var Carousel = (p, c) => h("div", { ...p, class: `${"carousel"} ${p?.class || ""}`.trim() }, c);
+var CarouselItem = (p, c) => h("div", { ...p, class: `${"carousel-item"} ${p?.class || ""}`.trim() }, c);
+var Chat = (p, c) => h("div", { ...p, class: `${"chat"} ${p?.class || ""}`.trim() }, c);
+var ChatBubble = (p, c) => h("div", { ...p, class: `${"chat-bubble"} ${p?.class || ""}`.trim() }, c);
+var ChatFooter = (p, c) => h("div", { ...p, class: `${"chat-footer"} ${p?.class || ""}`.trim() }, c);
+var ChatHeader = (p, c) => h("div", { ...p, class: `${"chat-header"} ${p?.class || ""}`.trim() }, c);
+var ChatImage = (p, c) => h("div", { ...p, class: `${"chat-image avatar"} ${p?.class || ""}`.trim() }, h("div", { class: "w-10 rounded-full" }, typeof c === "string" ? h("img", { src: c, alt: "avatar" }) : c));
+var Checkbox = (p) => h("input", { type: "checkbox", ...p, class: `${"checkbox"} ${p?.class || ""}`.trim() });
var ColorPalette = (p) => {
- const current = () => val(p.value) || "#000000";
- const palette = [
- "#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"
- ];
- const pick = (c) => {
- isFunc(p.value) ? p.value(c) : p.onchange?.(c);
- hide();
- };
- return h("div", {
- class: cls("p-3 bg-base-100 rounded-box shadow w-64", p.class)
- }, h("div", { class: "grid grid-cols-8 gap-1" }, palette.map((c) => h("button", {
+ let L = (s) => (s || "").toLowerCase(), C = "#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".split(",");
+ return h("div", { class: `p-3 bg-base-100 rounded-box shadow w-64 ${p.class || ""}` }, h("div", { class: "grid grid-cols-8 gap-1" }, C.map((c) => h("button", {
type: "button",
- style: `background-color: ${c}`,
- class: () => {
- const act = current().toLowerCase() === c.toLowerCase();
- 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 ${act ? "ring-2 ring-offset-1 ring-primary z-10 scale-110" : ""}`;
- },
- onclick: () => {
- pick(c);
- }
+ style: { background: c },
+ onclick: () => (isFunc(p.value) ? p.value(c) : p.onchange?.(c), hide()),
+ class: () => `size-6 rounded-sm transition-all hover:scale-125 hover:z-10 active:scale-95 border border-black/5 p-0 min-h-0 ${L(val(p.value)) == L(c) ? "ring-2 ring-offset-1 ring-primary z-10 scale-110" : ""}`
}))));
};
-var Datepicker = (p) => {
- const displayValue = $("");
- const rangeMode = () => val(p.range) === true;
- watch(() => {
- const v = val(p.value);
- if (!v)
- return displayValue("");
- let text = "";
- 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 (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 (isFunc(p.value))
- p.value(val2);
- else
- p.onChange?.(val2);
- if (!rangeMode() || val2?.end != null)
- hide();
- };
- return Dropdown({ class: cls("w-full", p.class) }, [
- h("label", {
- tabindex: "0",
- role: "button",
- class: "input input-bordered flex items-center gap-2 cursor-pointer"
- }, [
- 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() ? h("button", {
- type: "button",
- class: "btn btn-ghost btn-xs btn-circle -mr-2",
- onmousedown: (e) => {
- e.preventDefault();
- e.stopPropagation();
- if (isFunc(p.value))
- p.value(null);
- else
- p.onChange?.(null);
- displayValue("");
- }
- }, h("span", { class: "icon-[lucide--x] opacity-50" })) : null
- ]),
- DropdownContent({ class: "p-0" }, Calendar({ value: p.value, range: rangeMode(), hour: p.hour, onChange: handleChange }))
- ]);
-};
-var Fileinput = (p) => {
- const files = $([]);
- const drag = $(false);
- const error = $(null);
- const maxBytes = (p.max || 2) * 1024 * 1024;
- const process = (fileList) => {
- const arr = Array.from(fileList);
- error(null);
- if (arr.some((f) => f.size > maxBytes)) {
- error(`Máx ${p.max || 2}MB`);
- return;
- }
- const updated = [...files(), ...arr];
- files(updated);
- if (isFunc(p.onselect))
- p.onselect(updated);
- else if (isFunc(p.value))
- p.value(updated);
- };
- const remove = (idx) => {
- const updated = files().filter((_, i) => i !== idx);
- files(updated);
- if (isFunc(p.onselect))
- p.onselect(updated);
- else if (isFunc(p.value))
- p.value(updated);
- };
- 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();
- drag(true);
- },
- ondragleave: () => drag(false),
- ondrop: (e) => {
- e.preventDefault();
- drag(false);
- process(e.dataTransfer.files);
- }
- }, [
- 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" }, "..."),
- h("span", { class: "text-[10px] opacity-40 shrink-0" }, `Máx ${p.max || 2}MB`)
- ]),
- h("input", {
- type: "file",
- multiple: true,
- accept: p.accept || "*",
- class: "hidden",
- onchange: (e) => process(e.target.files)
- })
- ]),
- () => 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)`)
- ]),
- h("button", {
- type: "button",
- class: "btn btn-ghost btn-xs btn-circle",
- onclick: (e) => {
- e.preventDefault();
- remove(idx);
- }
- }, h("span", { class: "icon-[lucide--x]" }))
- ]))))
- ]);
-};
-var Input = (p) => {
- const { label: label2, icon, float, placeholder, value, left, right, rule, hint, content, ...rest } = p;
- const showPassword = $(false);
- const isPassword = p.type === "password";
- const pattern = rule ?? null;
- const inputType = () => isPassword ? val(showPassword) ? "text" : "password" : p.type || "search";
- 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,
- 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" }),
- SwapOn({}, Icon({}, "icon-[lucide--eye]")),
- SwapOff({}, Icon({}, "icon-[lucide--eye-off]"))
- ]) : null
- ]),
- hint ? h("div", { class: "validator-hint" }, hint) : null
- ]);
-};
-var Menu = (p) => {
- if (p.children !== undefined)
- return h("ul", { class: cls("menu", p.class), ...p }, p.children);
- const { items } = p;
- const render = (item) => item.children ? h("li", {}, h("details", { open: item.open || undefined }, [
- h("summary", {}, getBy(item)),
- h("ul", {}, each(() => val(item.children) || [], render))
- ])) : h("li", {}, h("a", {
- href: item.href,
- onclick: item.onclick ? (e) => {
- if (!item.href)
- e.preventDefault();
- item.onclick(e);
- } : null
- }, getBy(item)));
- return h("ul", { class: cls("menu", p.class) }, each(() => val(items) || [], render));
-};
-var Modal = (p, c) => {
- let dialogRef = null;
- watch(() => {
- const isOpen = val(p.open);
- if (!dialogRef)
- return;
- isOpen ? dialogRef.showModal() : dialogRef.close();
- });
- const close = () => isFunc(p.open) && p.open(false);
- return h("dialog", { ...p, ref: (el) => dialogRef = el, class: "modal", onclose: close, oncancel: close }, [
- h("div", { class: cls("modal-box", p.class ?? "") }, [
- p.title && h("h3", { class: "text-lg font-bold" }, p.title),
- c,
- h("div", { class: "modal-action" }, [
- p.actions || Button({ class: "btn", onclick: close }, "Cerrar")
- ])
- ]),
- h("form", { method: "dialog", class: "modal-backdrop" }, [
- h("button", {}, "close")
- ])
- ]);
-};
-var Select = (p, c) => {
- if (c !== undefined)
- 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 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,
- h("select", {
- value: () => val(value),
- 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 h("option", { value: val2, disabled: item.disabled || undefined }, lab);
- })),
- right ?? null
- ]),
- hint ? h("div", { class: "validator-hint" }, hint) : null
- ]);
-};
-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 TableItems = ({ items, columns = [], header = true }) => {
- 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) => 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);
-};
-var Tabs = (p, c) => {
- if (!p.items) {
- const { class: className2, ...rest2 } = p;
- return h("div", { ...rest2, class: cls("tabs", className2) }, c);
+var Combo = (p, c) => Dropdown({}, [div({ tabindex: "0", role: "button" }, c), DropdownContent({ class: p?.class }, p.content)]);
+var Drawer = (p, c) => h("div", { ...p, class: `${"drawer"} ${p?.class || ""}`.trim() }, c);
+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) => h("div", { ...p, class: `${"drawer-content"} ${p?.class || ""}`.trim() }, c);
+var DrawerSide = (p, c) => h("div", { ...p, class: `${"drawer-side"} ${p?.class || ""}`.trim() }, c);
+var DrawerOverlay = (p) => label({ ...p, for: p.for, class: `${"drawer-overlay"} ${p?.class || ""}`.trim() });
+var Divider = (p) => h("div", { ...p, class: `${"divider"} ${p?.class || ""}`.trim() });
+var Dropdown = (p, c) => h("div", { ...p, class: `${"dropdown"} ${p?.class || ""}`.trim() }, c);
+var DropdownButton = (p, c) => h("div", { ...p, tabindex: "0", role: "button", class: `${"btn"} ${p?.class || ""}`.trim() }, c);
+var DropdownContent = (p, c) => h("div", { ...p, tabindex: "0", class: `${"dropdown-content"} ${p?.class || ""}`.trim() }, c);
+var Fab = (p, c) => h("div", { class: "fab" }, [h("div", { tabindex: "0", role: "button", class: `${"btn"} ${p?.class || ""}`.trim() }, Icon({}, p.icon)), c]);
+var Fieldset = (p, c) => h("fieldset", { class: `${"fieldset"} ${p?.class || ""}`.trim() }, [h("legend", { class: "fieldset-legend" }, p.label), c]);
+var FileDrag = (p, c) => h("label", {
+ class: () => `relative flex items-center justify-between h-12 px-4 border-2 border-dashed rounded-lg cursor-pointer transition-all ${p.drag ? "border-primary bg-primary/10" : "border-base-content/20 bg-base-100"} ${p?.class || ""}`,
+ ondragover: (e) => {
+ e.preventDefault();
+ p.ondrag?.(true);
+ },
+ ondragleave: () => p.ondrag?.(false),
+ ondrop: (e) => {
+ e.preventDefault();
+ p.ondrag?.(false);
+ p.ondrop?.(e.dataTransfer.files);
}
- const { items, activeIndex, onClose, class: className, ...rest } = p;
- const get = (x) => isFunc(x) ? x() : x;
- const closeH = onClose || (isFunc(items) ? (idx, item) => {
- const arr = val(items);
- const newArr = arr.filter((_, i) => i !== idx);
- items(newArr);
- if (activeIndex() >= newArr.length)
- activeIndex(Math.max(0, newArr.length - 1));
- } : null);
- return h("div", { ...rest, class: cls("tabs", className) }, () => {
- const list = val(items) || [];
- return list.flatMap((it, idx) => {
- const isActive = () => activeIndex() === idx;
- const button = h("button", {
- class: () => `tab ${isActive() ? "tab-active" : ""} ${it.class || ""}`,
- onclick: (e) => {
- e.preventDefault();
- activeIndex(idx);
- it.onclick?.(e);
- }
- }, [
- getBy(it),
- 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);
- }
- }, h("span", { class: "icon-[lucide--x] w-3 h-3" })) : null
- ]);
- const contentDiv = h("div", {
- class: "tab-content bg-base-100 border-base-300 p-6",
- style: () => `display: ${isActive() ? "block" : "none"};`
- }, isFunc(it.content) ? it.content() : it.content);
- return [button, contentDiv];
- });
- });
+}, c);
+var FileInput = (p) => h("input", { type: "file", multiple: true, accept: p.accept || "*", class: `${"file-input"} ${p?.class || ""}`.trim(), onchange: (e) => p.onchange?.(e.target.files) });
+var FilePreview = (p) => h("ul", { class: `mt-2 space-y-1 ${p?.class || ""}` }, p.files.map((f, i) => h("li", { class: "flex items-center justify-between p-1.5 pl-3 text-xs bg-base-200/50 rounded-md border" }, [
+ h("div", { class: "flex items-center gap-2 truncate opacity-70" }, [
+ h("span", {}, "\uD83D\uDCC4"),
+ h("span", { class: "truncate max-w-[180px]" }, f.name),
+ h("span", { class: "text-[9px] opacity-50" }, `(${~~(f.size / 1024)}KB)`)
+ ]),
+ h("button", { class: "btn btn-ghost btn-xs btn-circle", onclick: () => p.onremove?.(i) }, h("span", { class: "icon-[lucide--x]" }))
+])));
+var FileError = (p) => h("div", { class: `text-[10px] text-error mt-1 px-1 ${p?.class || ""}` }, p.message);
+var Filter = (s, i, o, k) => o($(() => val(i).filter((i2) => String(k ? i2[k] : i2).toLowerCase().includes(val(s).toLowerCase()))));
+var Icon = (p, c) => h("span", { ...p, class: `${c ?? ""} ${p?.class || ""}`.trim() });
+var Indicator = (p, c) => h("div", { ...p, class: `${"indicator"} ${p?.class || ""}`.trim() }, [p.value && h("span", { class: `${"indicator-item badge"} ${p?.class || ""}`.trim() }, p.value), c]);
+var Input = (p) => h("input", { ...p, class: `${"input"} ${p?.class || ""}`.trim() });
+var InputPass = (p) => {
+ const show = $(false);
+ return [
+ Input({ ...p, type: show() ? "text" : "password" }),
+ Swap({ class: "ml-2" }, [SwapToggle({ value: show, class: "swap-rotate" }), SwapOn({}, Icon({}, "icon-[lucide--eye]")), SwapOff({}, Icon({}, "icon-[lucide--eye-off]"))])
+ ];
};
-var Toast = (message, type = "alert-success", duration = 3500) => {
- let container = document.getElementById("sigpro-toast-container");
- if (!container) {
- 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 = h("div", { style: "display: contents" });
- container.appendChild(host);
- let closeFn, timer, enterTimer;
- const ToastComponent = () => {
- const visible = $(false);
- const leaving = $(false);
- closeFn = () => {
- if (leaving())
- return;
- clearTimeout(timer);
- clearTimeout(enterTimer);
- leaving(true);
- setTimeout(() => {
- instance.destroy();
- host.remove();
- if (!container.hasChildNodes())
- container.remove();
- }, 300);
- };
- enterTimer = setTimeout(() => visible(true), 0);
- const content = typeof message === "function" ? val(message) : message;
- const msgNode = typeof content === "string" ? h("span", {}, content) : content;
+var InputHint = (p, c) => h("div", { ...p, class: `${"validator-hint"} ${p?.class || ""}`.trim() }, c);
+var Kbd = (p, c) => h("kbd", { ...p, class: `${"kbd"} ${p?.class || ""}`.trim() }, c);
+var Label = (p, c) => h("span", { ...p, class: `${"label"} ${p?.class || ""}`.trim() }, c);
+var LabelFloating = (p, c) => h("label", { ...p, class: `${"floating-label"} ${p?.class || ""}`.trim() }, c);
+var LabelInput = (p, c) => h("label", { ...p, class: `${"input"} ${p?.class || ""}`.trim() }, c);
+var LabelSelect = (p, c) => h("label", { ...p, class: `${"select"} ${p?.class || ""}`.trim() }, c);
+var List = (p, c) => h("ul", { ...p, class: `${"list"} ${p?.class || ""}`.trim() }, c);
+var ListRows = (p) => () => (val(p.items) || []).map((item, idx) => h("li", { class: `${"list-row"} ${p?.class || ""} ${item?.class || ""}`.trim() }, typeof p.render === "function" ? p.render(item, idx) : item));
+var Menu = (p, c) => ul({ ...p, class: `${"menu"} ${p?.class || ""}`.trim() }, c);
+var MenuTitle = (p, c) => li({ ...p, class: `${"menu-title"} ${p?.class || ""}`.trim() }, c);
+var MenuItem = (p) => li({}, a({ onmousedown: (e) => e.preventDefault(), class: p?.class || "", onclick: p.onclick }, p.label));
+var Modal = (p, c) => h("dialog", { ...p, class: `${"modal"} ${p?.class || ""}`.trim() }, c);
+var ModalBox = (p, c) => h("div", { ...p, class: `${"modal-box"} ${p?.class || ""}`.trim() }, c);
+var ModalAction = (p, c) => h("div", { ...p, class: `${"modal-action"} ${p?.class || ""}`.trim() }, c);
+var ModalBackdrop = (p) => h("form", { method: "dialog", class: "modal-backdrop" }, [h("button", {}, "close")]);
+var ModalClose = (p) => h("form", { method: "dialog" }, [h("button", { ...p, class: `${"btn btn-sm btn-circle btn-ghost absolute right-2 top-2"} ${p?.class || ""}`.trim() }, "✕")]);
+var Loading = (p, c) => h("span", { ...p, class: `${"loading loading-spinner"} ${p?.class || ""}`.trim() }, c);
+var Navbar = (p, c) => h("div", { ...p, class: `${"navbar"} ${p?.class || ""}`.trim() }, c);
+var Progress = (p) => h("progress", { ...p, class: `${"progress"} ${p?.class || ""}`.trim() });
+var Radial = (p, c) => h("div", { class: `${"radial-progress"} ${p?.class || ""}`.trim(), style: `--value:${val(p.value) ?? 0};`, role: "progressbar", "aria-valuenow": p.value }, c);
+var Radio = (p) => h("input", { type: "radio", ...p, class: `${"radio"} ${p?.class || ""}`.trim() });
+var Range = (p) => h("input", { type: "range", ...p, class: `${"range"} ${p?.class || ""}`.trim() });
+var Rating = (p, c) => h("div", { ...p, class: `${"rating"} ${p?.class || ""}`.trim() }, c);
+var RatingItems = (p) => [...Array(p.count)].map((_, i) => h("input", { class: `${"mask"} ${p?.class || ""}`.trim(), name: p.name, type: "radio", checked: () => val(p.value) === i, onchange: () => isFunc(p.value) ? p.value(i) : p.onchange?.(i) }));
+var Select = (p, c) => h("select", { ...p, class: `${"select"} ${p?.class || ""}`.trim() }, c);
+var SelectOption = (p, c) => h("option", { ...p, class: p?.class || "" }, c);
+var Skeleton = (p) => h("div", { ...p, class: `${"skeleton"} ${p?.class || ""}`.trim() });
+var SkeletonText = (p) => h("span", { ...p, class: `${"skeleton skeleton-text"} ${p?.class || ""}`.trim() });
+var Stack = (p, c) => h("div", { ...p, class: `${"stack"} ${p?.class || ""}`.trim() }, c);
+var Stats = (p, c) => h("div", { ...p, class: `${"stats shadow"} ${p?.class || ""}`.trim() }, c);
+var Stat = (p, c) => h("div", { ...p, class: `${"stat"} ${p?.class || ""}`.trim() }, c);
+var StatFigure = (p, c) => h("div", { ...p, class: `${"stat-figure"} ${p?.class || ""}`.trim() }, c);
+var StatTitle = (p, c) => h("div", { ...p, class: `${"stat-title"} ${p?.class || ""}`.trim() }, c);
+var StatValue = (p, c) => h("div", { ...p, class: `${"stat-value"} ${p?.class || ""}`.trim() }, c);
+var StatDesc = (p, c) => h("div", { ...p, class: `${"stat-desc"} ${p?.class || ""}`.trim() }, c);
+var Steps = (p, c) => h("ul", { ...p, class: `${"steps"} ${p?.class || ""}`.trim() }, c);
+var Step = (p, c) => h("li", { ...p, class: `${"step"} ${p?.class || ""}`.trim(), "data-content": p.dataContent }, c);
+var Swap = (p, c) => h("label", { ...p, class: `${"swap"} ${p?.class || ""}`.trim() }, 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: `${"swap-on"} ${p?.class || ""}`.trim() }, c);
+var SwapOff = (p, c) => h("div", { ...p, class: `${"swap-off"} ${p?.class || ""}`.trim() }, c);
+var Tabs = (p, c) => div({ ...p, class: `${"tabs"} ${p?.class || ""}`.trim() }, c);
+var Tab = (p) => {
+ const close = () => p.tabs?.(p.tabs().filter((_, idx) => idx !== p.index));
+ return [
+ h("input", { type: "radio", name: p.name, class: `${"tab"} ${p?.class || ""}`.trim(), checked: p.checked || undefined }),
+ div({ class: `tab-content ${p?.classContent || ""}`.trim() }, p.content),
+ p.closable ? span({ class: "absolute top-2 right-2 cursor-pointer", onclick: (e) => {
+ e.stopPropagation();
+ close();
+ } }, "✕") : null
+ ];
+};
+var Table = (p, c) => h("table", { ...p, class: `${"table"} ${p?.class || ""}`.trim() }, c);
+var TableHead = (p, c) => h("thead", { ...p, class: p?.class || "" }, c);
+var TableBody = (p, c) => h("tbody", { ...p, class: p?.class || "" }, c);
+var TableFoot = (p, c) => h("tfoot", { ...p, class: p?.class || "" }, c);
+var TableRow = (p, c) => h("tr", { ...p, class: p?.class || "" }, c);
+var TableTh = (p, c) => h("th", { ...p, class: p?.class || "" }, c);
+var TableTd = (p, c) => h("td", { ...p, class: p?.class || "" }, c);
+var Textarea = (p) => h("textarea", { ...p, class: `${"textarea"} ${p?.class || ""}`.trim() });
+var Textrotate = (p, c) => h("span", { ...p, class: `${"text-rotate"} ${p?.class || ""}`.trim() }, h("span", {}, c));
+var Timeline = (p, c) => h("ul", { ...p, class: `${"timeline"} ${p?.class || ""}`.trim() }, c);
+var Toast = (m, t = "alert-success", d = 3500) => {
+ let C = document.getElementById("stc"), T, E, w = h("div", { style: "display:contents" });
+ if (!C)
+ document.body.append(C = h("div", { id: "stc", class: "fixed top-0 right-0 z-[9999] p-4 flex flex-col items-end gap-2 pointer-events-none" }));
+ C.append(w);
+ const i = mount(() => {
+ let v = $(0), l = $(0);
+ E = () => l() || (l(1), clearTimeout(T), setTimeout(() => (i.destroy(), w.remove(), C.firstChild || C.remove()), 300));
+ setTimeout(() => v(1));
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())
- return `${base} translate-x-full opacity-0`;
- if (visible())
- return `${base} translate-x-0 opacity-100`;
- return `${base} translate-x-10 opacity-0`;
- }
+ class: () => `alert alert-soft ${t} shadow-lg transition-all duration-300 inline-flex w-auto pointer-events-auto ${l() ? "translate-x-full opacity-0" : v() ? "translate-x-0 opacity-100" : "translate-x-10 opacity-0"}`
}, [
- msgNode,
- h("button", {
- class: "btn btn-xs btn-circle btn-ghost",
- onclick: closeFn
- }, h("span", { class: "icon-[lucide--x]" }))
+ typeof m == "function" ? m() : typeof m == "string" ? h("span", m) : m,
+ h("button", { class: "btn btn-xs btn-circle btn-ghost", onclick: E }, h("span", { class: "icon-[lucide--x]" }))
]);
- };
- const instance = mount(ToastComponent, host);
- if (duration > 0)
- timer = setTimeout(closeFn, duration);
- return closeFn;
+ }, w);
+ if (d > 0)
+ T = setTimeout(E, d);
+ return E;
};
+var Toggle = (p) => h("input", { type: "checkbox", ...p, class: `${"toggle"} ${p?.class || ""}`.trim() });
+var Tooltip = (p, c) => h("div", { ...p, class: `${"tooltip"} ${p?.class || ""}`.trim(), "data-tip": p.tip }, c);
export {
- val,
- rand,
hide,
getBy,
filterBy,
- cls,
Tooltip,
Toggle,
Toast,
@@ -635,8 +222,14 @@ export {
Textrotate,
Textarea,
Tabs,
- TableItems,
+ TableTh,
+ TableTd,
+ TableRow,
+ TableHead,
+ TableFoot,
+ TableBody,
Table,
+ Tab,
SwapToggle,
SwapOn,
SwapOff,
@@ -644,10 +237,15 @@ export {
Steps,
Step,
Stats,
+ StatValue,
+ StatTitle,
+ StatFigure,
+ StatDesc,
Stat,
Stack,
SkeletonText,
Skeleton,
+ SelectOption,
Select,
RatingItems,
Rating,
@@ -656,16 +254,32 @@ export {
Radial,
Progress,
Navbar,
+ ModalClose,
+ ModalBox,
+ ModalBackdrop,
+ ModalAction,
Modal,
+ MenuTitle,
+ MenuItem,
Menu,
Loading,
ListRows,
List,
+ LabelSelect,
+ LabelInput,
+ LabelFloating,
+ Label,
Kbd,
+ InputPass,
+ InputHint,
Input,
Indicator,
Icon,
- Fileinput,
+ Filter,
+ FilePreview,
+ FileInput,
+ FileError,
+ FileDrag,
Fieldset,
Fab,
DropdownContent,
@@ -677,8 +291,7 @@ export {
DrawerContent,
Drawer,
Divider,
- Datepicker,
- Colorpicker,
+ Combo,
ColorPalette,
Checkbox,
ChatImage,
@@ -698,7 +311,9 @@ export {
Badge,
AvatarGroup,
Avatar,
- Autocomplete,
Alert,
+ AccordionTitle,
+ AccordionRadio,
+ AccordionContent,
Accordion
};
diff --git a/dist/sigpro-ui.esm.min.js b/dist/sigpro-ui.esm.min.js
index 150c4e9..6677581 100644
--- a/dist/sigpro-ui.esm.min.js
+++ b/dist/sigpro-ui.esm.min.js
@@ -1 +1 @@
-import{$ as M,watch as o,h as G,mount as h,when as s,each as $,isFunc as A}from"sigpro";var N=(j)=>typeof j==="function"?j():j,B=(j,J="label")=>j&&typeof j==="object"?j[J]:j,E=(...j)=>j.filter(Boolean).join(" ").trim(),l=(j,J,K="label")=>{let U=String(N(J)||"").toLowerCase(),Q=(N(j)||[]).map((X)=>typeof X==="object"?X:{label:X,value:X});return!U?Q:Q.filter((X)=>String(X[K]||"").toLowerCase().includes(U))},a=(j)=>`${j}-${Math.random().toString(36).slice(2,9)}`,g=()=>document.activeElement?.blur(),H=(j,J)=>(K)=>G(j,{...K,class:`${J} ${K?.class||""}`.trim()}),k=(j,J)=>(K,U)=>G(j,{...K,class:`${J} ${K?.class||""}`.trim()},U),F=(j,J,K)=>(U)=>G(j,{type:K,...U,class:`${J} ${U?.class||""}`.trim()}),Zj=k("div","alert"),_j=(j,J)=>G("div",{class:"avatar"},G("div",{class:j.class},J)),Ej=k("div","avatar-group -space-x-6"),kj=k("span","badge"),zj=k("div","breadcrumbs"),c=k("button","btn"),Lj=k("div","card"),Yj=k("div","card-title"),Nj=k("div","card-body"),Oj=k("div","card-actions"),Tj=k("div","carousel"),Aj=k("div","carousel-item"),Pj=k("div","chat"),qj=k("div","chat-bubble"),Cj=k("div","chat-footer"),Mj=k("div","chat-header"),Rj=(j,J)=>G("div",{...j,class:E("chat-image avatar",j.class)},G("div",{class:"w-10 rounded-full"},typeof J==="string"?G("img",{src:J,alt:"avatar"}):J)),Ij=F("input","checkbox","checkbox"),Vj=k("div","drawer"),Bj=(j)=>input({...j,type:"checkbox",class:"drawer-toggle",checked:()=>N(j.checked),onchange:(J)=>A(j.checked)&&j.checked(J.target.checked)}),Sj=k("div","drawer-content"),$j=k("div","drawer-side"),bj=(j)=>label({...j,for:j.for,class:E("drawer-overlay",j.class)}),Hj=H("div","divider"),u=k("div","dropdown"),i=(j,J)=>G("div",{...j,tabindex:"0",role:"button",class:E("btn",j.class)},J),m=(j,J)=>G("div",{...j,tabindex:"0",class:E("dropdown-content",j.class)},J),Dj=(j,J)=>G("div",{class:"fab"},[G("div",{tabindex:"0",role:"button",class:E("btn",j.class)},D({},j.icon)),J]),Fj=(j,J)=>G("fieldset",{class:E("fieldset",j.class)},[G("legend",{class:"fieldset-legend"},j.label),J]),D=(j,J)=>G("span",{...j,class:E(J,j.class)}),wj=(j,J)=>G("div",{...j,class:E("indicator",j.class)},[j.value&&G("span",{class:E("indicator-item badge",j.class)},j.value),J]),xj=k("kbd","kbd"),yj=k("ul","list"),fj=(j)=>()=>(N(j.items)||[]).map((J,K)=>G("li",{class:E("list-row",j.class,J?.class)},typeof j.render==="function"?j.render(J,K):J)),gj=k("span","loading loading-spinner"),uj=k("div","navbar"),mj=H("progress","progress"),vj=(j,J)=>G("div",{class:E("radial-progress",j.class),style:`--value:${N(j.value)??0};`,role:"progressbar","aria-valuenow":j.value},J),oj=F("input","radio","radio"),dj=F("input","range","range"),nj=k("div","rating"),rj=(j)=>[...Array(j.count)].map((J,K)=>G("input",{class:E("mask",j.class),name:j.name,type:"radio",checked:()=>N(j.value)===K,onchange:()=>A(j.value)?j.value(K):j.onchange?.(K)})),hj=H("div","skeleton"),sj=H("span","skeleton skeleton-text"),lj=k("div","stack"),aj=k("div","stats shadow"),cj=k("ul","steps"),ij=(j,J)=>G("li",{...j,class:E("step",j.class),"data-content":j.dataContent},J),t=k("label","swap"),p=(j)=>G("input",{type:"checkbox",checked:()=>N(j.value),onchange:(J)=>A(j.value)&&j.value(J.target.checked),class:j.class}),e=k("div","swap-on"),jj=k("div","swap-off"),tj=k("table","table"),pj=H("textarea","textarea"),ej=(j,J)=>G("span",{...j,class:E("text-rotate",j.class)},G("span",{},J)),jG=k("ul","timeline"),GG=F("input","toggle","checkbox"),JG=(j,J)=>G("div",{...j,class:E("tooltip",j.class),"data-tip":j.tip},J),KG=(j)=>{let J=j.name||a("acc");return $(j.items,(K)=>{return G("div",{class:E("collapse",j.class)},[G("input",{type:"radio",name:J,checked:K.open||void 0}),K.title?G("div",{class:E("collapse-title",`${K.classTitle??" font-semibold"}`)},K.title):null,K.content?G("div",{class:E("collapse-content text-sm",`${K.classContent??" font-semibold"}`)},K.content):null])})},QG=({items:j,value:J,onselect:K,placeholder:U="...",...Q})=>{let X=M(N(J)||""),O=M(()=>l(j,X())),z=(Z)=>{let _=B(Z),Y=typeof Z==="string"?Z:Z.value;if(X(_),A(J))J(Y);K?.(Z),g()};return u({class:"w-80"},[G("div",{tabindex:"0",role:"button",class:"w-full"},Kj({...Q,placeholder:U,value:X,left:D({},"icon-[lucide--search]")})),m({class:"p-2 bg-base-100 rounded-box shadow-xl w-full max-h-60 overflow-y-auto border border-base-300 z-50"},G("ul",{class:"menu flex-col flex-nowrap w-full p-0"},[$(O,(Z)=>G("li",{},[G("a",{onmousedown:(_)=>_.preventDefault(),onclick:()=>z(Z)},B(Z))]),"value"),()=>O().length===0?G("li",{class:"p-4 opacity-50 text-center"},"Sin resultados"):null]))])},Gj=(j)=>{let J=M(new Date),K=M(null),U=M(0),Q=M(0),X=new Date,O=`${X.getFullYear()}-${String(X.getMonth()+1).padStart(2,"0")}-${String(X.getDate()).padStart(2,"0")}`,z=(W)=>`${W.getFullYear()}-${String(W.getMonth()+1).padStart(2,"0")}-${String(W.getDate()).padStart(2,"0")}`,Z=()=>N(j.range)===!0,_=()=>N(j.value),Y=(W)=>{let L=z(W),C=_();if(Z())if(!C?.start||C.start&&C.end)j.onChange?.({start:L,end:null,...j.hour&&{startHour:U()}});else{let S=C.start,b=L{let L=J();J(new Date(L.getFullYear(),L.getMonth()+W,1))},T=(W)=>{let L=J();J(new Date(L.getFullYear()+W,L.getMonth(),1))},q=({value:W,onChange:L})=>G("div",{class:"flex-1"},[G("div",{class:"flex gap-2 items-center"},[G("input",{type:"range",min:0,max:23,value:W,class:"range range-xs flex-1",oninput:(C)=>L(+C.target.value)}),G("span",{class:"text-sm font-mono min-w-[48px] text-center"},()=>String(N(W)).padStart(2,"0")+":00")])]);return G("div",{class:E("p-4 bg-base-100 border border-base-300 shadow-2xl rounded-box w-80 select-none",j.class)},[G("div",{class:"flex justify-between items-center mb-4 gap-1"},[G("div",{class:"flex gap-0.5"},[G("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>T(-1)},G("span",{class:"icon-[lucide--chevrons-left]"})),G("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>P(-1)},G("span",{class:"icon-[lucide--chevron-left]"}))]),G("span",{class:"font-bold uppercase flex-1 text-center"},()=>J().toLocaleString("es-ES",{month:"short",year:"numeric"})),G("div",{class:"flex gap-0.5"},[G("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>P(1)},G("span",{class:"icon-[lucide--chevron-right]"})),G("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>T(1)},G("span",{class:"icon-[lucide--chevrons-right]"}))])]),G("div",{class:"grid grid-cols-7 gap-1",onmouseleave:()=>K(null)},[...["L","M","X","J","V","S","D"].map((W)=>G("div",{class:"text-[10px] opacity-40 font-bold text-center"},W)),()=>{let W=J(),L=W.getFullYear(),C=W.getMonth(),S=new Date(L,C,1).getDay(),b=S===0?6:S-1,d=new Date(L,C+1,0).getDate(),w=[];for(let V=0;V{let I=_(),x=K(),n=typeof I==="string"?I.split("T")[0]===R:I?.start===R,r=I?.end===R,y=!1;if(Z()&&I?.start){let f=I.start;if(!I.end&&x)y=R>f&&R<=x||R=x;else if(I.end)y=R>f&&RZ()&&K(R),onclick:()=>Y(v)},V.toString()))}return w}]),j.hour?G("div",{class:"mt-3 pt-2 border-t border-base-300"},Z()?G("div",{class:"flex gap-4"},[q({value:U,onChange:(W)=>U(W)}),q({value:Q,onChange:(W)=>Q(W)})]):q({value:U,onChange:(W)=>U(W)})):null])},UG=(j)=>{let J=()=>N(j.value)||"#000000";return u({},[i({class:"btn"},[G("div",{class:"size-5 rounded-sm",style:()=>`background-color: ${J()}`}),j.label&&G("span",{},j.label)]),m({class:"p-0"},Jj({value:j.value,onchange:(K)=>{A(j.value)?j.value(K):j.onchange?.(K)}}))])},Jj=(j)=>{let J=()=>N(j.value)||"#000000",K=["#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"],U=(Q)=>{A(j.value)?j.value(Q):j.onchange?.(Q),g()};return G("div",{class:E("p-3 bg-base-100 rounded-box shadow w-64",j.class)},G("div",{class:"grid grid-cols-8 gap-1"},K.map((Q)=>G("button",{type:"button",style:`background-color: ${Q}`,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 ${J().toLowerCase()===Q.toLowerCase()?"ring-2 ring-offset-1 ring-primary z-10 scale-110":""}`},onclick:()=>{U(Q)}}))))},WG=(j)=>{let J=M(""),K=()=>N(j.range)===!0;o(()=>{let Q=N(j.value);if(!Q)return J("");let X="";if(typeof Q==="string")X=j.hour&&Q.includes("T")?Q.replace("T"," "):Q;else if(Q.start&&Q.end){let O=j.hour&&Q.startHour!=null?`${Q.start} ${String(Q.startHour).padStart(2,"0")}:00`:Q.start,z=j.hour&&Q.endHour!=null?`${Q.end} ${String(Q.endHour).padStart(2,"0")}:00`:Q.end;X=`${O} - ${z}`}else if(Q.start)X=`${j.hour&&Q.startHour!=null?`${Q.start} ${String(Q.startHour).padStart(2,"0")}:00`:Q.start}...`;J(X)});let U=(Q)=>{if(A(j.value))j.value(Q);else j.onChange?.(Q);if(!K()||Q?.end!=null)g()};return u({class:E("w-full",j.class)},[G("label",{tabindex:"0",role:"button",class:"input input-bordered flex items-center gap-2 cursor-pointer"},[G("span",{class:"icon-[lucide--calendar] shrink-0"}),G("span",{class:()=>`grow text-left truncate ${!J()?"opacity-50":""}`},()=>J()||j.placeholder||(K()?"Seleccionar rango...":"Seleccionar fecha...")),()=>J()?G("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle -mr-2",onmousedown:(Q)=>{if(Q.preventDefault(),Q.stopPropagation(),A(j.value))j.value(null);else j.onChange?.(null);J("")}},G("span",{class:"icon-[lucide--x] opacity-50"})):null]),m({class:"p-0"},Gj({value:j.value,range:K(),hour:j.hour,onChange:U}))])},XG=(j)=>{let J=M([]),K=M(!1),U=M(null),Q=(j.max||2)*1024*1024,X=(z)=>{let Z=Array.from(z);if(U(null),Z.some((Y)=>Y.size>Q)){U(`Máx ${j.max||2}MB`);return}let _=[...J(),...Z];if(J(_),A(j.onselect))j.onselect(_);else if(A(j.value))j.value(_)},O=(z)=>{let Z=J().filter((_,Y)=>Y!==z);if(J(Z),A(j.onselect))j.onselect(Z);else if(A(j.value))j.value(Z)};return G("div",{class:E("fieldset w-full p-0",j.class)},[G("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 ${K()?"border-primary bg-primary/10":"border-base-content/20 bg-base-100 hover:bg-base-200"}`,ondragover:(z)=>{z.preventDefault(),K(!0)},ondragleave:()=>K(!1),ondrop:(z)=>{z.preventDefault(),K(!1),X(z.dataTransfer.files)}},[G("div",{class:"flex items-center gap-3 w-full"},[G("span",{class:"icon-[lucide--upload]"}),G("span",{class:"text-sm opacity-70 truncate grow text-left"},"..."),G("span",{class:"text-[10px] opacity-40 shrink-0"},`Máx ${j.max||2}MB`)]),G("input",{type:"file",multiple:!0,accept:j.accept||"*",class:"hidden",onchange:(z)=>X(z.target.files)})]),()=>U()&&G("span",{class:"text-[10px] text-error mt-1 px-1 font-medium"},U()),s(()=>J().length>0,()=>G("ul",{class:"mt-2 space-y-1"},$(J,(z,Z)=>G("li",{class:"flex items-center justify-between p-1.5 pl-3 text-xs bg-base-200/50 rounded-md border border-base-300"},[G("div",{class:"flex items-center gap-2 truncate"},[G("span",{class:"opacity-50"},"\uD83D\uDCC4"),G("span",{class:"truncate font-medium max-w-[200px]"},z.name),G("span",{class:"text-[9px] opacity-40"},`(${(z.size/1024).toFixed(0)} KB)`)]),G("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle",onclick:(_)=>{_.preventDefault(),O(Z)}},G("span",{class:"icon-[lucide--x]"}))]))))])},Kj=(j)=>{let{label:J,icon:K,float:U,placeholder:Q,value:X,left:O,right:z,rule:Z,hint:_,content:Y,...P}=j,T=M(!1),q=j.type==="password",W=Z??null,L=()=>q?N(T)?"text":"password":j.type||"search";return G("label",{class:U?"floating-label":""},[U?G("span",{},J):null,G("label",{pattern:W,class:()=>E("input validator",j.class)},[J&&!U?G("span",{class:"label"},J):null,O??null,G("input",{...P,type:L,class:"grow",pattern:W,placeholder:Q||J||" ",value:X}),z??null,q?t({class:"ml-2"},[p({value:T,class:"swap-rotate"}),e({},D({},"icon-[lucide--eye]")),jj({},D({},"icon-[lucide--eye-off]"))]):null]),_?G("div",{class:"validator-hint"},_):null])},ZG=(j)=>{if(j.children!==void 0)return G("ul",{class:E("menu",j.class),...j},j.children);let{items:J}=j,K=(U)=>U.children?G("li",{},G("details",{open:U.open||void 0},[G("summary",{},B(U)),G("ul",{},$(()=>N(U.children)||[],K))])):G("li",{},G("a",{href:U.href,onclick:U.onclick?(Q)=>{if(!U.href)Q.preventDefault();U.onclick(Q)}:null},B(U)));return G("ul",{class:E("menu",j.class)},$(()=>N(J)||[],K))},_G=(j,J)=>{let K=null;o(()=>{let Q=N(j.open);if(!K)return;Q?K.showModal():K.close()});let U=()=>A(j.open)&&j.open(!1);return G("dialog",{...j,ref:(Q)=>K=Q,class:"modal",onclose:U,oncancel:U},[G("div",{class:E("modal-box",j.class??"")},[j.title&&G("h3",{class:"text-lg font-bold"},j.title),J,G("div",{class:"modal-action"},[j.actions||c({class:"btn",onclick:U},"Cerrar")])]),G("form",{method:"dialog",class:"modal-backdrop"},[G("button",{},"close")])])},EG=(j,J)=>{if(J!==void 0)return G("select",{class:E("select",j.class),...j},J);let{label:K,float:U,placeholder:Q,placeholderDisabled:X=!0,value:O,left:z,right:Z,hint:_,items:Y,keyFn:P,...T}=j,q=()=>{let W=N(Y)||[];return[...Q?[{disabled:X,label:Q,value:""}]:[],...W]};return G("label",{class:U?"floating-label":""},[U?G("span",{},K):null,G("label",{class:E("select",T.class)},[!U&&K?G("span",{class:"label"},K):null,z??null,G("select",{value:()=>N(O),onchange:(W)=>A(O)?O(W.target.value):T.onchange?.(W)},$(q,(W)=>{let L=B(W,W.value!==void 0?"value":void 0),C=B(W,"label");return G("option",{value:L,disabled:W.disabled||void 0},C)})),Z??null]),_?G("div",{class:"validator-hint"},_):null])},kG=(j)=>G("div",{...j,class:E("stat",j.class)},[j.title?G("div",{class:"stat-title"},j.title):null,j.value?G("div",{class:"stat-value"},j.value):null,j.desc?G("div",{class:"stat-desc"},j.desc):null]),zG=({items:j,columns:J=[],header:K=!0})=>{let U=K!==!1&&J.some((X)=>X.label)?G("thead",{},G("tr",{},J.map((X)=>G("th",{class:X.class},X.label)))):null,Q=G("tbody",{},()=>{return(N(j)||[]).map((O,z)=>G("tr",{},J.map((Z)=>{let _=Z.render?Z.render(O,z):O[Z.key];return G("td",{class:Z.class},_)})))});return[U,Q].filter(Boolean)},LG=(j,J)=>{if(!j.items){let{class:_,...Y}=j;return G("div",{...Y,class:E("tabs",_)},J)}let{items:K,activeIndex:U,onClose:Q,class:X,...O}=j,z=(_)=>A(_)?_():_,Z=Q||(A(K)?(_,Y)=>{let T=N(K).filter((q,W)=>W!==_);if(K(T),U()>=T.length)U(Math.max(0,T.length-1))}:null);return G("div",{...O,class:E("tabs",X)},()=>{return(N(K)||[]).flatMap((Y,P)=>{let T=()=>U()===P,q=G("button",{class:()=>`tab ${T()?"tab-active":""} ${Y.class||""}`,onclick:(L)=>{L.preventDefault(),U(P),Y.onclick?.(L)}},[B(Y),Y.closable?G("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:(L)=>{L.stopPropagation(),Z?.(P,Y)}},G("span",{class:"icon-[lucide--x] w-3 h-3"})):null]),W=G("div",{class:"tab-content bg-base-100 border-base-300 p-6",style:()=>`display: ${T()?"block":"none"};`},A(Y.content)?Y.content():Y.content);return[q,W]})})},YG=(j,J="alert-success",K=3500)=>{let U=document.getElementById("sigpro-toast-container");if(!U)U=G("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(U);let Q=G("div",{style:"display: contents"});U.appendChild(Q);let X,O,z,_=h(()=>{let Y=M(!1),P=M(!1);X=()=>{if(P())return;clearTimeout(O),clearTimeout(z),P(!0),setTimeout(()=>{if(_.destroy(),Q.remove(),!U.hasChildNodes())U.remove()},300)},z=setTimeout(()=>Y(!0),0);let T=typeof j==="function"?N(j):j,q=typeof T==="string"?G("span",{},T):T;return G("div",{class:()=>{let W=`alert alert-soft ${J} shadow-lg transition-all duration-300 inline-flex w-auto whitespace-nowrap pointer-events-auto`;if(P())return`${W} translate-x-full opacity-0`;if(Y())return`${W} translate-x-0 opacity-100`;return`${W} translate-x-10 opacity-0`}},[q,G("button",{class:"btn btn-xs btn-circle btn-ghost",onclick:X},G("span",{class:"icon-[lucide--x]"}))])},Q);if(K>0)O=setTimeout(X,K);return X};export{N as val,a as rand,g as hide,B as getBy,l as filterBy,E as cls,JG as Tooltip,GG as Toggle,YG as Toast,jG as Timeline,ej as Textrotate,pj as Textarea,LG as Tabs,zG as TableItems,tj as Table,p as SwapToggle,e as SwapOn,jj as SwapOff,t as Swap,cj as Steps,ij as Step,aj as Stats,kG as Stat,lj as Stack,sj as SkeletonText,hj as Skeleton,EG as Select,rj as RatingItems,nj as Rating,dj as Range,oj as Radio,vj as Radial,mj as Progress,uj as Navbar,_G as Modal,ZG as Menu,gj as Loading,fj as ListRows,yj as List,xj as Kbd,Kj as Input,wj as Indicator,D as Icon,XG as Fileinput,Fj as Fieldset,Dj as Fab,m as DropdownContent,i as DropdownButton,u as Dropdown,Bj as DrawerToggle,$j as DrawerSide,bj as DrawerOverlay,Sj as DrawerContent,Vj as Drawer,Hj as Divider,WG as Datepicker,UG as Colorpicker,Jj as ColorPalette,Ij as Checkbox,Rj as ChatImage,Mj as ChatHeader,Cj as ChatFooter,qj as ChatBubble,Pj as Chat,Aj as CarouselItem,Tj as Carousel,Yj as CardTitle,Nj as CardBody,Oj as CardActions,Lj as Card,Gj as Calendar,c as Button,zj as Breadcrumbs,kj as Badge,Ej as AvatarGroup,_j as Avatar,QG as Autocomplete,Zj as Alert,KG as Accordion};
+import{$ as m,h as e,mount as I,val as u,isFunc as w}from"sigpro";var _=(t,s="label")=>t&&typeof t==="object"?t[s]:t,q=(t,s,o="label")=>{let c=String(u(s)||"").toLowerCase(),d=(u(t)||[]).map((n)=>typeof n==="object"?n:{label:n,value:n});return!c?d:d.filter((n)=>String(n[o]||"").toLowerCase().includes(c))},M=()=>document.activeElement?.blur(),G=(t,s)=>e("div",{...t,class:`collapse ${t?.class||""}`.trim()},s),K=(t)=>e("input",{type:"radio",name:t.name,checked:t.checked||void 0,class:t.class}),Y=(t,s)=>e("div",{...t,class:`collapse-title ${t?.class||""}`.trim()},s),J=(t,s)=>e("div",{...t,class:`collapse-content ${t?.class||""}`.trim()},s),N=(t,s)=>e("div",{...t,class:`alert ${t?.class||""}`.trim()},s),X=(t,s)=>e("div",{class:"avatar"},e("div",{class:t.class},s)),Q=(t,s)=>e("div",{...t,class:`avatar-group -space-x-6 ${t?.class||""}`.trim()},s),U=(t,s)=>e("span",{...t,class:`badge ${t?.class||""}`.trim()},s),W=(t,s)=>e("div",{...t,class:`breadcrumbs ${t?.class||""}`.trim()},s),Z=(t,s)=>e("button",{...t,class:`btn ${t?.class||""}`.trim()},s),tt=(t)=>{let[s,o,c,d]=[m(new Date),m(0),m(0),m(0)],n=new Date,b=(l)=>l?.toISOString().slice(0,10),g=(l)=>(l<10?"0":"")+l,v=(l,r=0)=>s(new Date(s().getFullYear()+r,s().getMonth()+l,1)),p=()=>typeof t.value=="function"?t.value():t.value,h=()=>typeof t.range=="function"?t.range():t.range,S=(l)=>{let r=b(l),i=p();if(!h())return t.onChange?.(t.hour?`${r}T${g(c())}:00:00`:r);if(!i?.start||i.end)return t.onChange?.({start:r,end:null,...t.hour&&{startHour:c()}});let f=re("div",{class:"flex-1 flex gap-2 items-center"},[e("input",{type:"range",min:0,max:23,value:l,class:"range range-xs",oninput:(i)=>r(+i.target.value)}),e("span",{class:"text-sm font-mono"},()=>g(l())+":00")]);return e("div",{class:`p-4 bg-base-100 border shadow-2xl rounded-box w-80 select-none ${t.class||""}`},[e("div",{class:"flex justify-between items-center mb-4"},[e("div",{class:"flex"},[["-1y",-1,1],["-1m",-1,0]].map(([l,r,i])=>e("button",{class:"btn btn-ghost btn-xs",onclick:()=>v(r,i)},e("span",{class:`icon-[lucide--chevron${i?"s":""}-left]`})))),e("span",{class:"font-bold uppercase"},()=>s().toLocaleString("es",{month:"short",year:"numeric"})),e("div",{class:"flex"},[[1,0],[1,1]].map(([l,r])=>e("button",{class:"btn btn-ghost btn-xs",onclick:()=>v(l,r)},e("span",{class:`icon-[lucide--chevron${r?"s":""}-right]`}))))]),e("div",{class:"grid grid-cols-7 gap-1",onmouseleave:()=>o(null)},[..."LMXJVSD".split("").map((l)=>e("div",{class:"text-[10px] opacity-40 font-bold text-center"},l)),()=>{let l=s().getFullYear(),r=s().getMonth(),i=(new Date(l,r,1).getDay()+6)%7;return[...Array(i).fill(e("div")),...Array(new Date(l,r+1,0).getDate()).keys()].map((y)=>{if(typeof y!="number")return y;let f=y+1,$=b(new Date(l,r,f)),F=b(n)==$;return e("button",{type:"button",onclick:()=>S(new Date(l,r,f)),onmouseenter:()=>h()&&o($),class:()=>{let x=p(),C=o(),T=x?.start||(typeof x=="string"?x.slice(0,10):0),B=x?.end==$,L=T==$,A=h()&&x?.start&&(x.end?$>x.start&&$T&&$<=C||$=C));return`btn btn-xs p-0 aspect-square min-h-0 h-auto font-normal relative ${L||B?"btn-primary z-10":A?"bg-primary/20 border-none rounded-none":"btn-ghost"} ${F?"ring-1 ring-primary font-black":""}`}},f)})}]),t.hour&&e("div",{class:"mt-3 pt-2 border-t flex gap-4"},h()?[k({v:c,on:c}),k({v:d,on:d})]:[k({v:c,on:c})])])},st=(t,s)=>e("div",{...t,class:`card ${t?.class||""}`.trim()},s),et=(t,s)=>e("div",{...t,class:`card-title ${t?.class||""}`.trim()},s),at=(t,s)=>e("div",{...t,class:`card-body ${t?.class||""}`.trim()},s),ot=(t,s)=>e("div",{...t,class:`card-actions ${t?.class||""}`.trim()},s),ct=(t,s)=>e("div",{...t,class:`carousel ${t?.class||""}`.trim()},s),lt=(t,s)=>e("div",{...t,class:`carousel-item ${t?.class||""}`.trim()},s),rt=(t,s)=>e("div",{...t,class:`chat ${t?.class||""}`.trim()},s),nt=(t,s)=>e("div",{...t,class:`chat-bubble ${t?.class||""}`.trim()},s),it=(t,s)=>e("div",{...t,class:`chat-footer ${t?.class||""}`.trim()},s),dt=(t,s)=>e("div",{...t,class:`chat-header ${t?.class||""}`.trim()},s),$t=(t,s)=>e("div",{...t,class:`chat-image avatar ${t?.class||""}`.trim()},e("div",{class:"w-10 rounded-full"},typeof s==="string"?e("img",{src:s,alt:"avatar"}):s)),ut=(t)=>e("input",{type:"checkbox",...t,class:`checkbox ${t?.class||""}`.trim()}),xt=(t)=>{let s=(c)=>(c||"").toLowerCase(),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".split(",");return e("div",{class:`p-3 bg-base-100 rounded-box shadow w-64 ${t.class||""}`},e("div",{class:"grid grid-cols-8 gap-1"},o.map((c)=>e("button",{type:"button",style:{background:c},onclick:()=>(w(t.value)?t.value(c):t.onchange?.(c),M()),class:()=>`size-6 rounded-sm transition-all hover:scale-125 hover:z-10 active:scale-95 border border-black/5 p-0 min-h-0 ${s(u(t.value))==s(c)?"ring-2 ring-offset-1 ring-primary z-10 scale-110":""}`}))))},mt=(t,s)=>R({},[div({tabindex:"0",role:"button"},s),H({class:t?.class},t.content)]),bt=(t,s)=>e("div",{...t,class:`drawer ${t?.class||""}`.trim()},s),pt=(t)=>input({...t,type:"checkbox",class:"drawer-toggle",checked:()=>u(t.checked),onchange:(s)=>w(t.checked)&&t.checked(s.target.checked)}),vt=(t,s)=>e("div",{...t,class:`drawer-content ${t?.class||""}`.trim()},s),ft=(t,s)=>e("div",{...t,class:`drawer-side ${t?.class||""}`.trim()},s),gt=(t)=>label({...t,for:t.for,class:`drawer-overlay ${t?.class||""}`.trim()}),ht=(t)=>e("div",{...t,class:`divider ${t?.class||""}`.trim()}),R=(t,s)=>e("div",{...t,class:`dropdown ${t?.class||""}`.trim()},s),yt=(t,s)=>e("div",{...t,tabindex:"0",role:"button",class:`btn ${t?.class||""}`.trim()},s),H=(t,s)=>e("div",{...t,tabindex:"0",class:`dropdown-content ${t?.class||""}`.trim()},s),wt=(t,s)=>e("div",{class:"fab"},[e("div",{tabindex:"0",role:"button",class:`btn ${t?.class||""}`.trim()},D({},t.icon)),s]),kt=(t,s)=>e("fieldset",{class:`fieldset ${t?.class||""}`.trim()},[e("legend",{class:"fieldset-legend"},t.label),s]),Ct=(t,s)=>e("label",{class:()=>`relative flex items-center justify-between h-12 px-4 border-2 border-dashed rounded-lg cursor-pointer transition-all ${t.drag?"border-primary bg-primary/10":"border-base-content/20 bg-base-100"} ${t?.class||""}`,ondragover:(o)=>{o.preventDefault(),t.ondrag?.(!0)},ondragleave:()=>t.ondrag?.(!1),ondrop:(o)=>{o.preventDefault(),t.ondrag?.(!1),t.ondrop?.(o.dataTransfer.files)}},s),Tt=(t)=>e("input",{type:"file",multiple:!0,accept:t.accept||"*",class:`file-input ${t?.class||""}`.trim(),onchange:(s)=>t.onchange?.(s.target.files)}),Dt=(t)=>e("ul",{class:`mt-2 space-y-1 ${t?.class||""}`},t.files.map((s,o)=>e("li",{class:"flex items-center justify-between p-1.5 pl-3 text-xs bg-base-200/50 rounded-md border"},[e("div",{class:"flex items-center gap-2 truncate opacity-70"},[e("span",{},"\uD83D\uDCC4"),e("span",{class:"truncate max-w-[180px]"},s.name),e("span",{class:"text-[9px] opacity-50"},`(${~~(s.size/1024)}KB)`)]),e("button",{class:"btn btn-ghost btn-xs btn-circle",onclick:()=>t.onremove?.(o)},e("span",{class:"icon-[lucide--x]"}))]))),St=(t)=>e("div",{class:`text-[10px] text-error mt-1 px-1 ${t?.class||""}`},t.message),Ft=(t,s,o,c)=>o(m(()=>u(s).filter((d)=>String(c?d[c]:d).toLowerCase().includes(u(t).toLowerCase())))),D=(t,s)=>e("span",{...t,class:`${s??""} ${t?.class||""}`.trim()}),Bt=(t,s)=>e("div",{...t,class:`indicator ${t?.class||""}`.trim()},[t.value&&e("span",{class:`indicator-item badge ${t?.class||""}`.trim()},t.value),s]),z=(t)=>e("input",{...t,class:`input ${t?.class||""}`.trim()}),Lt=(t)=>{let s=m(!1);return[z({...t,type:s()?"text":"password"}),P({class:"ml-2"},[j({value:s,class:"swap-rotate"}),E({},D({},"icon-[lucide--eye]")),O({},D({},"icon-[lucide--eye-off]"))])]},At=(t,s)=>e("div",{...t,class:`validator-hint ${t?.class||""}`.trim()},s),It=(t,s)=>e("kbd",{...t,class:`kbd ${t?.class||""}`.trim()},s),Mt=(t,s)=>e("span",{...t,class:`label ${t?.class||""}`.trim()},s),Rt=(t,s)=>e("label",{...t,class:`floating-label ${t?.class||""}`.trim()},s),Ht=(t,s)=>e("label",{...t,class:`input ${t?.class||""}`.trim()},s),zt=(t,s)=>e("label",{...t,class:`select ${t?.class||""}`.trim()},s),Pt=(t,s)=>e("ul",{...t,class:`list ${t?.class||""}`.trim()},s),jt=(t)=>()=>(u(t.items)||[]).map((s,o)=>e("li",{class:`list-row ${t?.class||""} ${s?.class||""}`.trim()},typeof t.render==="function"?t.render(s,o):s)),Et=(t,s)=>ul({...t,class:`menu ${t?.class||""}`.trim()},s),Ot=(t,s)=>li({...t,class:`menu-title ${t?.class||""}`.trim()},s),Vt=(t)=>li({},a({onmousedown:(s)=>s.preventDefault(),class:t?.class||"",onclick:t.onclick},t.label)),_t=(t,s)=>e("dialog",{...t,class:`modal ${t?.class||""}`.trim()},s),qt=(t,s)=>e("div",{...t,class:`modal-box ${t?.class||""}`.trim()},s),Gt=(t,s)=>e("div",{...t,class:`modal-action ${t?.class||""}`.trim()},s),Kt=(t)=>e("form",{method:"dialog",class:"modal-backdrop"},[e("button",{},"close")]),Yt=(t)=>e("form",{method:"dialog"},[e("button",{...t,class:`btn btn-sm btn-circle btn-ghost absolute right-2 top-2 ${t?.class||""}`.trim()},"✕")]),Jt=(t,s)=>e("span",{...t,class:`loading loading-spinner ${t?.class||""}`.trim()},s),Nt=(t,s)=>e("div",{...t,class:`navbar ${t?.class||""}`.trim()},s),Xt=(t)=>e("progress",{...t,class:`progress ${t?.class||""}`.trim()}),Qt=(t,s)=>e("div",{class:`radial-progress ${t?.class||""}`.trim(),style:`--value:${u(t.value)??0};`,role:"progressbar","aria-valuenow":t.value},s),Ut=(t)=>e("input",{type:"radio",...t,class:`radio ${t?.class||""}`.trim()}),Wt=(t)=>e("input",{type:"range",...t,class:`range ${t?.class||""}`.trim()}),Zt=(t,s)=>e("div",{...t,class:`rating ${t?.class||""}`.trim()},s),ts=(t)=>[...Array(t.count)].map((s,o)=>e("input",{class:`mask ${t?.class||""}`.trim(),name:t.name,type:"radio",checked:()=>u(t.value)===o,onchange:()=>w(t.value)?t.value(o):t.onchange?.(o)})),ss=(t,s)=>e("select",{...t,class:`select ${t?.class||""}`.trim()},s),es=(t,s)=>e("option",{...t,class:t?.class||""},s),as=(t)=>e("div",{...t,class:`skeleton ${t?.class||""}`.trim()}),os=(t)=>e("span",{...t,class:`skeleton skeleton-text ${t?.class||""}`.trim()}),cs=(t,s)=>e("div",{...t,class:`stack ${t?.class||""}`.trim()},s),ls=(t,s)=>e("div",{...t,class:`stats shadow ${t?.class||""}`.trim()},s),rs=(t,s)=>e("div",{...t,class:`stat ${t?.class||""}`.trim()},s),ns=(t,s)=>e("div",{...t,class:`stat-figure ${t?.class||""}`.trim()},s),is=(t,s)=>e("div",{...t,class:`stat-title ${t?.class||""}`.trim()},s),ds=(t,s)=>e("div",{...t,class:`stat-value ${t?.class||""}`.trim()},s),$s=(t,s)=>e("div",{...t,class:`stat-desc ${t?.class||""}`.trim()},s),us=(t,s)=>e("ul",{...t,class:`steps ${t?.class||""}`.trim()},s),xs=(t,s)=>e("li",{...t,class:`step ${t?.class||""}`.trim(),"data-content":t.dataContent},s),P=(t,s)=>e("label",{...t,class:`swap ${t?.class||""}`.trim()},s),j=(t)=>e("input",{type:"checkbox",checked:()=>u(t.value),onchange:(s)=>w(t.value)&&t.value(s.target.checked),class:t.class}),E=(t,s)=>e("div",{...t,class:`swap-on ${t?.class||""}`.trim()},s),O=(t,s)=>e("div",{...t,class:`swap-off ${t?.class||""}`.trim()},s),ms=(t,s)=>div({...t,class:`tabs ${t?.class||""}`.trim()},s),bs=(t)=>{let s=()=>t.tabs?.(t.tabs().filter((o,c)=>c!==t.index));return[e("input",{type:"radio",name:t.name,class:`tab ${t?.class||""}`.trim(),checked:t.checked||void 0}),div({class:`tab-content ${t?.classContent||""}`.trim()},t.content),t.closable?span({class:"absolute top-2 right-2 cursor-pointer",onclick:(o)=>{o.stopPropagation(),s()}},"✕"):null]},ps=(t,s)=>e("table",{...t,class:`table ${t?.class||""}`.trim()},s),vs=(t,s)=>e("thead",{...t,class:t?.class||""},s),fs=(t,s)=>e("tbody",{...t,class:t?.class||""},s),gs=(t,s)=>e("tfoot",{...t,class:t?.class||""},s),hs=(t,s)=>e("tr",{...t,class:t?.class||""},s),ys=(t,s)=>e("th",{...t,class:t?.class||""},s),ws=(t,s)=>e("td",{...t,class:t?.class||""},s),ks=(t)=>e("textarea",{...t,class:`textarea ${t?.class||""}`.trim()}),Cs=(t,s)=>e("span",{...t,class:`text-rotate ${t?.class||""}`.trim()},e("span",{},s)),Ts=(t,s)=>e("ul",{...t,class:`timeline ${t?.class||""}`.trim()},s),Ds=(t,s="alert-success",o=3500)=>{let c=document.getElementById("stc"),d,n,b=e("div",{style:"display:contents"});if(!c)document.body.append(c=e("div",{id:"stc",class:"fixed top-0 right-0 z-[9999] p-4 flex flex-col items-end gap-2 pointer-events-none"}));c.append(b);let g=I(()=>{let v=m(0),p=m(0);return n=()=>p()||(p(1),clearTimeout(d),setTimeout(()=>(g.destroy(),b.remove(),c.firstChild||c.remove()),300)),setTimeout(()=>v(1)),e("div",{class:()=>`alert alert-soft ${s} shadow-lg transition-all duration-300 inline-flex w-auto pointer-events-auto ${p()?"translate-x-full opacity-0":v()?"translate-x-0 opacity-100":"translate-x-10 opacity-0"}`},[typeof t=="function"?t():typeof t=="string"?e("span",t):t,e("button",{class:"btn btn-xs btn-circle btn-ghost",onclick:n},e("span",{class:"icon-[lucide--x]"}))])},b);if(o>0)d=setTimeout(n,o);return n},Ss=(t)=>e("input",{type:"checkbox",...t,class:`toggle ${t?.class||""}`.trim()}),Fs=(t,s)=>e("div",{...t,class:`tooltip ${t?.class||""}`.trim(),"data-tip":t.tip},s);export{M as hide,_ as getBy,q as filterBy,Fs as Tooltip,Ss as Toggle,Ds as Toast,Ts as Timeline,Cs as Textrotate,ks as Textarea,ms as Tabs,ys as TableTh,ws as TableTd,hs as TableRow,vs as TableHead,gs as TableFoot,fs as TableBody,ps as Table,bs as Tab,j as SwapToggle,E as SwapOn,O as SwapOff,P as Swap,us as Steps,xs as Step,ls as Stats,ds as StatValue,is as StatTitle,ns as StatFigure,$s as StatDesc,rs as Stat,cs as Stack,os as SkeletonText,as as Skeleton,es as SelectOption,ss as Select,ts as RatingItems,Zt as Rating,Wt as Range,Ut as Radio,Qt as Radial,Xt as Progress,Nt as Navbar,Yt as ModalClose,qt as ModalBox,Kt as ModalBackdrop,Gt as ModalAction,_t as Modal,Ot as MenuTitle,Vt as MenuItem,Et as Menu,Jt as Loading,jt as ListRows,Pt as List,zt as LabelSelect,Ht as LabelInput,Rt as LabelFloating,Mt as Label,It as Kbd,Lt as InputPass,At as InputHint,z as Input,Bt as Indicator,D as Icon,Ft as Filter,Dt as FilePreview,Tt as FileInput,St as FileError,Ct as FileDrag,kt as Fieldset,wt as Fab,H as DropdownContent,yt as DropdownButton,R as Dropdown,pt as DrawerToggle,ft as DrawerSide,gt as DrawerOverlay,vt as DrawerContent,bt as Drawer,ht as Divider,mt as Combo,xt as ColorPalette,ut as Checkbox,$t as ChatImage,dt as ChatHeader,it as ChatFooter,nt as ChatBubble,rt as Chat,lt as CarouselItem,ct as Carousel,et as CardTitle,at as CardBody,ot as CardActions,st as Card,tt as Calendar,Z as Button,W as Breadcrumbs,U as Badge,Q as AvatarGroup,X as Avatar,N as Alert,Y as AccordionTitle,K as AccordionRadio,J as AccordionContent,G as Accordion};
diff --git a/dist/sigpro-ui.js b/dist/sigpro-ui.js
index 911bc98..bcd359a 100644
--- a/dist/sigpro-ui.js
+++ b/dist/sigpro-ui.js
@@ -9,8 +9,10 @@ var spui = (() => {
var sigpro_ui_exports = {};
__export(sigpro_ui_exports, {
Accordion: () => Accordion,
+ AccordionContent: () => AccordionContent,
+ AccordionRadio: () => AccordionRadio,
+ AccordionTitle: () => AccordionTitle,
Alert: () => Alert,
- Autocomplete: () => Autocomplete,
Avatar: () => Avatar,
AvatarGroup: () => AvatarGroup,
Badge: () => Badge,
@@ -30,8 +32,7 @@ var spui = (() => {
ChatImage: () => ChatImage,
Checkbox: () => Checkbox,
ColorPalette: () => ColorPalette,
- Colorpicker: () => Colorpicker,
- Datepicker: () => Datepicker,
+ Combo: () => Combo,
Divider: () => Divider,
Drawer: () => Drawer,
DrawerContent: () => DrawerContent,
@@ -43,16 +44,32 @@ var spui = (() => {
DropdownContent: () => DropdownContent,
Fab: () => Fab,
Fieldset: () => Fieldset,
- Fileinput: () => Fileinput,
+ FileDrag: () => FileDrag,
+ FileError: () => FileError,
+ FileInput: () => FileInput,
+ FilePreview: () => FilePreview,
+ Filter: () => Filter,
Icon: () => Icon,
Indicator: () => Indicator,
Input: () => Input,
+ InputHint: () => InputHint,
+ InputPass: () => InputPass,
Kbd: () => Kbd,
+ Label: () => Label,
+ LabelFloating: () => LabelFloating,
+ LabelInput: () => LabelInput,
+ LabelSelect: () => LabelSelect,
List: () => List,
ListRows: () => ListRows,
Loading: () => Loading,
Menu: () => Menu,
+ MenuItem: () => MenuItem,
+ MenuTitle: () => MenuTitle,
Modal: () => Modal,
+ ModalAction: () => ModalAction,
+ ModalBackdrop: () => ModalBackdrop,
+ ModalBox: () => ModalBox,
+ ModalClose: () => ModalClose,
Navbar: () => Navbar,
Progress: () => Progress,
Radial: () => Radial,
@@ -61,10 +78,15 @@ var spui = (() => {
Rating: () => Rating,
RatingItems: () => RatingItems,
Select: () => Select,
+ SelectOption: () => SelectOption,
Skeleton: () => Skeleton,
SkeletonText: () => SkeletonText,
Stack: () => Stack,
Stat: () => Stat,
+ StatDesc: () => StatDesc,
+ StatFigure: () => StatFigure,
+ StatTitle: () => StatTitle,
+ StatValue: () => StatValue,
Stats: () => Stats,
Step: () => Step,
Steps: () => Steps,
@@ -72,8 +94,14 @@ var spui = (() => {
SwapOff: () => SwapOff,
SwapOn: () => SwapOn,
SwapToggle: () => SwapToggle,
+ Tab: () => Tab,
Table: () => Table,
- TableItems: () => TableItems,
+ TableBody: () => TableBody,
+ TableFoot: () => TableFoot,
+ TableHead: () => TableHead,
+ TableRow: () => TableRow,
+ TableTd: () => TableTd,
+ TableTh: () => TableTh,
Tabs: () => Tabs,
Textarea: () => Textarea,
Textrotate: () => Textrotate,
@@ -81,1314 +109,546 @@ var spui = (() => {
Toast: () => Toast,
Toggle: () => Toggle,
Tooltip: () => Tooltip,
- cls: () => cls,
filterBy: () => filterBy,
getBy: () => getBy,
- hide: () => hide,
- rand: () => rand,
- val: () => val
+ hide: () => hide
});
// node_modules/sigpro/dist/sigpro.esm.js
- var isFunc = (f) => typeof f === "function";
- var isObj = (o) => o && typeof o === "object";
+ 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 = /* @__PURE__ */ new Set();
- var MOUNTED_NODES = /* @__PURE__ */ new WeakMap();
+ var doc = typeof document < "u" ? document : null;
+ var txt = (s) => doc.createTextNode(s == null ? "" : String(s));
+ var toNd = (n) => n?._rt ? n._cnt : n instanceof Node ? n : txt(n);
+ var val = (v) => isFunc(v) ? v() : v;
+ var aEff = null;
+ var aOwn = null;
+ var isFlushing = 0;
+ var bDepth = 0;
+ var eQ = /* @__PURE__ */ new Set();
+ var MOUNTED = /* @__PURE__ */ new WeakMap();
var SVG_NS = "http://www.w3.org/2000/svg";
- var XLINK_NS = "http://www.w3.org/1999/xlink";
+ var XLINK = "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)
+ var DANG_ATTR = /* @__PURE__ */ new Set(["src", "href", "formaction", "action", "background", "code", "archive"]);
+ var clr = (s) => {
+ if (s) {
+ s.forEach((f) => f());
+ s.clear();
+ }
+ };
+ var dispose = (e) => {
+ if (!e || e._x)
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();
+ e._x = 1;
+ let st = [e], c;
+ while (c = st.pop()) {
+ clr(c._c);
+ if (c._ch) {
+ c._ch.forEach((x) => st.push(x));
+ c._ch.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();
+ if (c._d) {
+ c._d.forEach((d) => d.delete(c));
+ c._d.clear();
}
}
};
- var onUnmount = (fn) => {
- if (activeOwner)
- (activeOwner._cleanups ||= /* @__PURE__ */ new Set()).add(fn);
- };
- var untrack = (fn) => {
- const p = activeEffect;
- activeEffect = null;
- try {
- return fn();
- } finally {
- activeEffect = p;
- }
- };
- var createEffect = (fn, isComputed = false) => {
- const effect = () => {
- if (effect._disposed)
+ var onUnmount = (f) => aOwn && (aOwn._c ||= /* @__PURE__ */ new Set()).add(f);
+ var createEffect = (f, isC = 0) => {
+ const e = () => {
+ if (e._x)
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;
+ if (e._d)
+ e._d.forEach((s) => s.delete(e));
+ clr(e._c);
+ let pE = aEff, pO = aOwn;
+ aEff = aOwn = e;
try {
- return effect._result = fn();
- } catch (e) {
- console.error("[SigPro]", e);
+ return e._res = f();
+ } catch (err) {
+ console.error("[SigPro]", err);
} finally {
- activeEffect = prevEffect;
- activeOwner = prevOwner;
+ aEff = pE;
+ aOwn = pO;
}
};
- 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 ||= /* @__PURE__ */ new Set()).add(effect);
- return effect;
+ e._d = e._c = e._ch = null;
+ e._x = 0;
+ e._iC = isC;
+ e._dp = aEff ? aEff._dp + 1 : 0;
+ e._m = [];
+ e._p = aOwn;
+ if (aOwn)
+ (aOwn._ch ||= /* @__PURE__ */ new Set()).add(e);
+ return e;
};
var 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)
+ isFlushing = 1;
+ let q = [...eQ].sort((a2, b) => a2._dp - b._dp);
+ eQ.clear();
+ for (let e of q)
+ if (!e._x)
e();
- isFlushing = false;
+ isFlushing = 0;
};
- var trackUpdate = (subs, trigger = false) => {
- if (!trigger && activeEffect && !activeEffect._disposed) {
- subs.add(activeEffect);
- (activeEffect._deps ||= /* @__PURE__ */ new Set()).add(subs);
- } else if (trigger && subs.size > 0) {
- let hasQueue = false;
- for (const e of subs) {
- if (e === activeEffect || e._disposed)
+ var trkUpd = (s, trg = 0) => {
+ if (!trg && aEff && !aEff._x) {
+ s.add(aEff);
+ (aEff._d ||= /* @__PURE__ */ new Set()).add(s);
+ } else if (trg && s.size) {
+ let q = 0;
+ for (let e of s) {
+ if (e === aEff || e._x)
continue;
- if (e._isComputed) {
- e._dirty = true;
- if (e._subs)
- trackUpdate(e._subs, true);
+ if (e._iC) {
+ e._dt = 1;
+ if (e._sb)
+ trkUpd(e._sb, 1);
} else {
- effectQueue.add(e);
- hasQueue = true;
+ eQ.add(e);
+ q = 1;
}
}
- if (hasQueue && !isFlushing && batchDepth === 0)
+ if (q && !isFlushing && !bDepth)
queueMicrotask(flush);
}
};
- var $ = (val2, key = null) => {
- const subs = /* @__PURE__ */ new Set();
- if (isFunc(val2)) {
- let cache;
- const computed = () => {
- if (computed._dirty) {
- const prev = activeEffect;
- activeEffect = computed;
+ var $ = (v, k = null) => {
+ let s = /* @__PURE__ */ new Set();
+ if (isFunc(v)) {
+ let c, cp = () => {
+ if (cp._dt) {
+ let p = aEff;
+ aEff = cp;
try {
- const next = val2();
- if (!Object.is(cache, next)) {
- cache = next;
- trackUpdate(subs, true);
+ let n = v();
+ if (!Object.is(c, n)) {
+ c = n;
+ trkUpd(s, 1);
}
} finally {
- activeEffect = prev;
+ aEff = p;
}
- computed._dirty = false;
+ cp._dt = 0;
}
- trackUpdate(subs);
- return cache;
+ trkUpd(s);
+ return c;
};
- computed._isComputed = true;
- computed._subs = subs;
- computed._dirty = true;
- computed._deps = null;
- computed._disposed = false;
- return computed;
+ cp._iC = cp._dt = 1;
+ cp._sb = s;
+ cp._d = null;
+ cp._x = 0;
+ return cp;
}
- if (key)
+ if (k)
try {
- val2 = JSON.parse(localStorage.getItem(key)) ?? val2;
+ v = JSON.parse(localStorage.getItem(k)) ?? v;
} catch (e) {
}
- return (...args) => {
- if (args.length) {
- const next = isFunc(args[0]) ? args[0](val2) : args[0];
- if (!Object.is(val2, next)) {
- val2 = next;
- if (key)
- localStorage.setItem(key, JSON.stringify(val2));
- trackUpdate(subs, true);
+ return (...a2) => {
+ if (a2.length) {
+ let n = isFunc(a2[0]) ? a2[0](v) : a2[0];
+ if (!Object.is(v, n)) {
+ v = n;
+ if (k)
+ localStorage.setItem(k, JSON.stringify(v));
+ trkUpd(s, 1);
}
}
- trackUpdate(subs);
- return val2;
+ trkUpd(s);
+ return v;
};
};
- var watch = (sources, cb) => {
- if (cb === void 0) {
- const effect2 = createEffect(sources);
- effect2();
- return () => dispose(effect2);
- }
- const effect = createEffect(() => {
- const vals = isArr(sources) ? sources.map((s) => s()) : sources();
- untrack(() => cb(vals));
- });
- effect();
- return () => dispose(effect);
- };
- var cleanupNode = (node) => {
- if (!node)
+ var clnNd = (n) => {
+ if (!n)
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));
+ clr(n._c);
+ if (n._oE)
+ dispose(n._oE);
+ if (n.childNodes)
+ n.childNodes.forEach(clnNd);
};
- var DANGEROUS_PROTOCOL = /^\s*(javascript|data|vbscript):/i;
- var DANGEROUS_URI_ATTRS = /* @__PURE__ */ new Set(["src", "href", "formaction", "action", "background", "code", "archive"]);
- var isDangerousAttr = (key) => DANGEROUS_URI_ATTRS.has(key) || key.startsWith("on");
- var validateAttr = (key, val2) => {
- if (val2 == null || val2 === false)
- return null;
- if (isDangerousAttr(key)) {
- const sVal = String(val2);
- if (DANGEROUS_PROTOCOL.test(sVal))
- return "#";
- }
- return val2;
- };
- var h = (tag, props = {}, children = []) => {
- if (props instanceof Node || isArr(props) || !isObj(props)) {
- children = props;
- props = {};
+ var valAtt = (k, v) => v == null || v === false ? null : (DANG_ATTR.has(k) || k.startsWith("on")) && /^\s*(javascript|data|vbscript):/i.test(String(v)) ? "#" : v;
+ var h = (tag, prp = {}, ch = []) => {
+ if (prp instanceof Node || isArr(prp) || !isObj(prp)) {
+ ch = prp;
+ prp = {};
}
if (isFunc(tag)) {
- const effect = createEffect(() => {
- const result2 = tag(props, {
- children,
- emit: (ev, ...args) => props[`on${ev[0].toUpperCase()}${ev.slice(1)}`]?.(...args)
- });
- effect._result = result2;
- return result2;
- });
- effect();
- const result = effect._result;
- if (result == null)
+ let e = createEffect(() => e._res = tag(prp, { children: ch, emit: (ev, ...a2) => prp[`on${ev[0].toUpperCase()}${ev.slice(1)}`]?.(...a2) }));
+ e();
+ if (e._res == 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 || /* @__PURE__ */ new Set();
- n._ownerEffect = effect;
+ let nd = e._res instanceof Node || isArr(e._res) && e._res.every((n) => n instanceof Node) ? e._res : txt(e._res);
+ let att = (n) => {
+ if (isObj(n) && !n._rt) {
+ n._m = e._m || [];
+ n._c = e._c || /* @__PURE__ */ new Set();
+ n._oE = e;
}
};
- isArr(node) ? node.forEach(attach) : attach(node);
- return node;
+ isArr(nd) ? nd.forEach(att) : att(nd);
+ return nd;
}
- const isSVG = SVG_TAGS.has(tag);
- const el = isSVG ? doc.createElementNS(SVG_NS, tag) : doc.createElement(tag);
- el._cleanups = /* @__PURE__ */ new Set();
- for (const k of Object.keys(props)) {
- let v = props[k];
+ let isS = SVG_TAGS.has(tag), el = isS ? doc.createElementNS(SVG_NS, tag) : doc.createElement(tag);
+ el._c = /* @__PURE__ */ new Set();
+ for (let k in prp) {
+ let v = prp[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);
+ if (isS && k.startsWith("xlink:")) {
+ let cv = valAtt(k.slice(6), v);
+ cv == null ? el.removeAttributeNS(XLINK, k.slice(6)) : el.setAttributeNS(XLINK, k.slice(6), cv);
continue;
}
if (k.startsWith("on")) {
- const ev = k.slice(2).toLowerCase();
+ let ev = k.slice(2).toLowerCase();
el.addEventListener(ev, v);
- const off = () => el.removeEventListener(ev, v);
- el._cleanups.add(off);
+ let off = () => el.removeEventListener(ev, v);
+ el._c.add(off);
onUnmount(off);
} else if (isFunc(v)) {
- const effect = createEffect(() => {
- const val2 = validateAttr(k, v());
+ let e = createEffect(() => {
+ let r = valAtt(k, v());
if (k === "class")
- el.className = val2 || "";
- else if (val2 == null)
+ el.className = r || "";
+ else if (r == null)
el.removeAttribute(k);
- else if (k === "style" && typeof val2 === "string")
- el.setAttribute("style", val2);
- else if (k in el && !isSVG)
- el[k] = val2;
+ else if (k === "style" && typeof r == "string")
+ el.setAttribute("style", r);
+ else if (k in el && !isS)
+ el[k] = r;
else
- el.setAttribute(k, val2 === true ? "" : val2);
+ el.setAttribute(k, r === true ? "" : r);
});
- effect();
- el._cleanups.add(() => dispose(effect));
- onUnmount(() => dispose(effect));
+ e();
+ el._c.add(() => dispose(e));
+ onUnmount(() => dispose(e));
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]));
+ el.addEventListener(k === "checked" ? "change" : "input", (ev) => v(ev.target[k]));
}
} else {
- const val2 = validateAttr(k, v);
- if (val2 != null) {
- if (k === "style" && typeof val2 === "string")
- el.setAttribute("style", val2);
- else if (k in el && !isSVG)
- el[k] = val2;
+ let r = valAtt(k, v);
+ if (r != null) {
+ if (k === "style" && typeof r == "string")
+ el.setAttribute("style", r);
+ else if (k in el && !isS)
+ el[k] = r;
else
- el.setAttribute(k, val2 === true ? "" : val2);
+ el.setAttribute(k, r === true ? "" : r);
}
}
}
- const append = (c) => {
+ const app = (c) => {
if (isArr(c))
- return c.forEach(append);
+ return c.forEach(app);
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);
+ let anc = txt(""), cur = [];
+ el.appendChild(anc);
+ let e = createEffect(() => {
+ let r = c(), nxt = (isArr(r) ? r : [r]).map(toNd), ref = anc;
+ cur.forEach((n) => {
+ n._rt ? n._del() : clnNd(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;
+ for (let i = nxt.length - 1; i >= 0; i--) {
+ let nd = nxt[i];
+ if (nd.parentNode !== ref.parentNode)
+ ref.parentNode?.insertBefore(nd, ref);
+ if (nd._m)
+ nd._m.forEach((f) => f());
+ ref = nd;
}
- currentNodes = next;
+ cur = nxt;
});
- effect();
- el._cleanups.add(() => dispose(effect));
- onUnmount(() => dispose(effect));
+ e();
+ el._c.add(() => dispose(e));
+ onUnmount(() => dispose(e));
} else {
- const node = ensureNode(c);
- el.appendChild(node);
- if (node._mounts)
- node._mounts.forEach((fn) => fn());
+ let nd = toNd(c);
+ el.appendChild(nd);
+ if (nd._m)
+ nd._m.forEach((f) => f());
}
};
- append(children);
+ app(ch);
return el;
};
- var render = (renderFn) => {
- const cleanups = /* @__PURE__ */ 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)
+ var render = (rFn) => {
+ let c = /* @__PURE__ */ new Set(), pO = aOwn, pE = aEff, cnt = doc.createElement("div");
+ cnt.style.display = "contents";
+ cnt.setAttribute("role", "presentation");
+ aOwn = { _c: c };
+ aEff = null;
+ const pRes = (r) => {
+ if (!r)
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)));
- }
+ if (r._rt) {
+ c.add(r._del);
+ cnt.appendChild(r._cnt);
+ } else if (isArr(r))
+ r.forEach(pRes);
+ else
+ cnt.appendChild(r instanceof Node ? r : txt(r));
};
try {
- processResult(renderFn({ onCleanup: (fn) => cleanups.add(fn) }));
+ pRes(rFn({ onCleanup: (f) => c.add(f) }));
} finally {
- activeOwner = previousOwner;
- activeEffect = previousEffect;
+ aOwn = pO;
+ aEff = pE;
}
- return {
- _isRuntime: true,
- container,
- destroy: () => {
- cleanups.forEach((fn) => fn());
- cleanupNode(container);
- container.remove();
- }
- };
+ return { _rt: 1, _cnt: cnt, _del: () => {
+ clr(c);
+ clnNd(cnt);
+ cnt.remove();
+ } };
};
- 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;
- }
- const content = show ? SIP : NOP;
- if (content) {
- currentView = render(() => isFunc(content) ? content() : content);
- root.insertBefore(currentView.container, anchor);
- }
- });
- onUnmount(() => currentView?.destroy());
- return root;
- };
- var each = (src, itemFn, keyField) => {
- const anchor = doc.createTextNode("");
- const root = h("div", { style: "display:contents" }, [anchor]);
- let cache = /* @__PURE__ */ new Map();
- watch(() => (isFunc(src) ? src() : src) || [], (items) => {
- const nextCache = /* @__PURE__ */ 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 mount = (comp, target) => {
- const t = typeof target === "string" ? doc.querySelector(target) : target;
+ var mount = (c, tgt) => {
+ let t = typeof tgt == "string" ? doc.querySelector(tgt) : tgt;
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;
+ if (MOUNTED.has(t))
+ MOUNTED.get(t)._del();
+ let i = render(isFunc(c) ? c : () => c);
+ t.replaceChildren(i._cnt);
+ MOUNTED.set(t, i);
+ return i;
};
- 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);
- });
+ 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((t) => window[t] = (p, c) => h(t, p, c));
}
// src/sigpro-ui.js
- 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") => {
const q = String(val(query) || "").toLowerCase();
const list = (val(items) || []).map((i) => typeof i === "object" ? i : { label: i, value: i });
return !q ? list : list.filter((item) => String(item[field] || "").toLowerCase().includes(q));
};
- var rand = (r) => `${r}-${Math.random().toString(36).slice(2, 9)}`;
var hide = () => document.activeElement?.blur();
- var c1 = (tag, cls2) => (p) => h(tag, { ...p, class: `${cls2} ${p?.class || ""}`.trim() });
- var c2 = (tag, cls2) => (p, c) => h(tag, { ...p, class: `${cls2} ${p?.class || ""}`.trim() }, c);
- var ct = (tag, cls2, type) => (p) => h(tag, { type, ...p, class: `${cls2} ${p?.class || ""}`.trim() });
- var Alert = c2("div", "alert");
+ var Accordion = (p, c) => h("div", { ...p, class: `${"collapse"} ${p?.class || ""}`.trim() }, c);
+ var AccordionRadio = (p) => h("input", { type: "radio", name: p.name, checked: p.checked || void 0, class: p.class });
+ var AccordionTitle = (p, c) => h("div", { ...p, class: `${"collapse-title"} ${p?.class || ""}`.trim() }, c);
+ var AccordionContent = (p, c) => h("div", { ...p, class: `${"collapse-content"} ${p?.class || ""}`.trim() }, c);
+ var Alert = (p, c) => h("div", { ...p, class: `${"alert"} ${p?.class || ""}`.trim() }, c);
var Avatar = (p, c) => h("div", { class: "avatar" }, h("div", { class: p.class }, c));
- var AvatarGroup = c2("div", "avatar-group -space-x-6");
- var Badge = c2("span", "badge");
- var Breadcrumbs = c2("div", "breadcrumbs");
- var Button = c2("button", "btn");
- var Card = c2("div", "card");
- var CardTitle = c2("div", "card-title");
- var CardBody = c2("div", "card-body");
- var CardActions = c2("div", "card-actions");
- var Carousel = c2("div", "carousel");
- var CarouselItem = c2("div", "carousel-item");
- var Chat = c2("div", "chat");
- var ChatBubble = c2("div", "chat-bubble");
- var ChatFooter = c2("div", "chat-footer");
- var ChatHeader = c2("div", "chat-header");
- 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 = ct("input", "checkbox", "checkbox");
- var Drawer = c2("div", "drawer");
- 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 = c2("div", "drawer-content");
- var DrawerSide = c2("div", "drawer-side");
- var DrawerOverlay = (p) => label({ ...p, for: p.for, class: cls("drawer-overlay", p.class) });
- var Divider = c1("div", "divider");
- var Dropdown = c2("div", "dropdown");
- 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 Icon = (p, c) => h("span", { ...p, class: cls(c, p.class) });
- 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 Kbd = c2("kbd", "kbd");
- var List = c2("ul", "list");
- 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 = c2("span", "loading loading-spinner");
- var Navbar = c2("div", "navbar");
- var Progress = c1("progress", "progress");
- 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 = ct("input", "radio", "radio");
- var Range = ct("input", "range", "range");
- var Rating = c2("div", "rating");
- 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 Skeleton = c1("div", "skeleton");
- var SkeletonText = c1("span", "skeleton skeleton-text");
- var Stack = c2("div", "stack");
- var Stats = c2("div", "stats shadow");
- var Steps = c2("ul", "steps");
- var Step = (p, c) => h("li", { ...p, class: cls("step", p.class), "data-content": p.dataContent }, c);
- var Swap = c2("label", "swap");
- 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 = c2("div", "swap-on");
- var SwapOff = c2("div", "swap-off");
- var Table = c2("table", "table");
- var Textarea = c1("textarea", "textarea");
- var Textrotate = (p, c) => h("span", { ...p, class: cls("text-rotate", p.class) }, h("span", {}, c));
- var Timeline = c2("ul", "timeline");
- var Toggle = ct("input", "toggle", "checkbox");
- var Tooltip = (p, c) => h("div", { ...p, class: cls("tooltip", p.class), "data-tip": p.tip }, c);
- var Accordion = (p) => {
- const name = p.name || rand("acc");
- return each(p.items, (it) => {
- return h("div", { class: cls("collapse", p.class) }, [
- h("input", { type: "radio", name, checked: it.open || void 0 }),
- 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 Autocomplete = ({ items, value, onselect, placeholder = "...", ...props }) => {
- 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 (isFunc(value)) value(actual);
- onselect?.(item);
- hide();
- };
- return Dropdown({ class: "w-80" }, [
- h("div", { tabindex: "0", role: "button", class: "w-full" }, Input({ ...props, placeholder, value: query, left: Icon({}, "icon-[lucide--search]") })),
- 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))]), "value"),
- () => filtered().length === 0 ? h("li", { class: "p-4 opacity-50 text-center" }, "Sin resultados") : null
- ])
- )
- ]);
- };
+ var AvatarGroup = (p, c) => h("div", { ...p, class: `${"avatar-group -space-x-6"} ${p?.class || ""}`.trim() }, c);
+ var Badge = (p, c) => h("span", { ...p, class: `${"badge"} ${p?.class || ""}`.trim() }, c);
+ var Breadcrumbs = (p, c) => h("div", { ...p, class: `${"breadcrumbs"} ${p?.class || ""}`.trim() }, c);
+ var Button = (p, c) => h("button", { ...p, class: `${"btn"} ${p?.class || ""}`.trim() }, c);
var Calendar = (p) => {
- const internalDate = $(/* @__PURE__ */ new Date());
- const hoverDate = $(null);
- const startHour = $(0);
- const endHour = $(0);
- const now = /* @__PURE__ */ new Date();
- const todayStr = `${now.getFullYear()}-${String(now.getMonth() + 1).padStart(2, "0")}-${String(now.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 v = current();
- if (rangeMode()) {
- if (!v?.start || v.start && v.end) {
- p.onChange?.({ start: s, end: null, ...p.hour && { startHour: startHour() } });
- } else {
- const start = v.start;
- const nv = s < start ? { start: s, end: start } : { start, end: s };
- if (p.hour) {
- nv.startHour = v.startHour ?? startHour();
- nv.endHour = endHour();
- }
- p.onChange?.(nv);
- }
- } else {
- p.onChange?.(p.hour ? `${s}T${String(startHour()).padStart(2, "0")}:00:00` : s);
- }
- };
- const move = (m) => {
- const d = internalDate();
- internalDate(new Date(d.getFullYear(), d.getMonth() + m, 1));
- };
- const moveYear = (y) => {
- const d = internalDate();
- internalDate(new Date(d.getFullYear() + y, d.getMonth(), 1));
- };
- 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")
- ])
+ let [d, hv, sh, eh] = [$(/* @__PURE__ */ new Date()), $(0), $(0), $(0)], now = /* @__PURE__ */ new Date(), F = (v) => v?.toISOString().slice(0, 10), P = (n) => (n < 10 ? "0" : "") + n, M = (m, y = 0) => d(new Date(d().getFullYear() + y, d().getMonth() + m, 1)), V = () => typeof p.value == "function" ? p.value() : p.value, G = () => typeof p.range == "function" ? p.range() : p.range, L = (dt) => {
+ let s = F(dt), v = V(), r = G();
+ if (!r) return p.onChange?.(p.hour ? `${s}T${P(sh())}:00:00` : s);
+ if (!v?.start || v.end) return p.onChange?.({ start: s, end: null, ...p.hour && { startHour: sh() } });
+ let nv = s < v.start ? { start: s, end: v.start } : { start: v.start, end: s };
+ p.onChange?.({ ...nv, ...p.hour && { startHour: v.startHour ?? sh(), endHour: eh() } });
+ }, I = ({ v, on }) => h("div", { class: "flex-1 flex gap-2 items-center" }, [
+ h("input", { type: "range", min: 0, max: 23, value: v, class: "range range-xs", oninput: (e) => on(+e.target.value) }),
+ h("span", { class: "text-sm font-mono" }, () => P(v()) + ":00")
]);
- return h("div", {
- class: cls("p-4 bg-base-100 border border-base-300 shadow-2xl rounded-box w-80 select-none", p.class)
- }, [
- 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]" }))
- ]),
- 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]" }))
- ])
+ return h("div", { class: `p-4 bg-base-100 border shadow-2xl rounded-box w-80 select-none ${p.class || ""}` }, [
+ h("div", { class: "flex justify-between items-center mb-4" }, [
+ h("div", { class: "flex" }, [["-1y", -1, 1], ["-1m", -1, 0]].map(([_, m, y]) => h("button", { class: "btn btn-ghost btn-xs", onclick: () => M(m, y) }, h("span", { class: `icon-[lucide--chevron${y ? "s" : ""}-left]` })))),
+ h("span", { class: "font-bold uppercase" }, () => d().toLocaleString("es", { month: "short", year: "numeric" })),
+ h("div", { class: "flex" }, [[1, 0], [1, 1]].map(([m, y]) => h("button", { class: "btn btn-ghost btn-xs", onclick: () => M(m, y) }, h("span", { class: `icon-[lucide--chevron${y ? "s" : ""}-right]` }))))
]),
- 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)),
+ h("div", { class: "grid grid-cols-7 gap-1", onmouseleave: () => hv(null) }, [
+ ..."LMXJVSD".split("").map((l) => h("div", { class: "text-[10px] opacity-40 font-bold text-center" }, l)),
() => {
- 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, m + 1, 0).getDate();
- const cells = [];
- for (let i = 0; i < offset; i++) cells.push(h("div"));
- for (let i = 1; i <= dim; i++) {
- const date = new Date(y, m, i), ds = fmt(date);
- cells.push(h("button", {
+ let y = d().getFullYear(), m = d().getMonth(), first = (new Date(y, m, 1).getDay() + 6) % 7;
+ return [...Array(first).fill(h("div")), ...Array(new Date(y, m + 1, 0).getDate()).keys()].map((i) => {
+ if (typeof i != "number") return i;
+ let day = i + 1, ds = F(new Date(y, m, day)), today = F(now) == ds;
+ return h("button", {
type: "button",
+ onclick: () => L(new Date(y, m, day)),
+ onmouseenter: () => G() && hv(ds),
class: () => {
- 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() && 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";
- const today = ds === todayStr ? "ring-1 ring-primary ring-inset font-black text-primary" : "";
- return cls(base, st, today);
- },
- onmouseenter: () => rangeMode() && hoverDate(ds),
- onclick: () => selectDate(date)
- }, i.toString()));
- }
- return cells;
+ let v = V(), hov = hv(), s = v?.start || (typeof v == "string" ? v.slice(0, 10) : 0), isE = v?.end == ds, isS = s == ds, inR = G() && v?.start && (v.end ? ds > v.start && ds < v.end : hov && (ds > s && ds <= hov || ds < s && ds >= hov));
+ return `btn btn-xs p-0 aspect-square min-h-0 h-auto font-normal relative ${isS || isE ? "btn-primary z-10" : inR ? "bg-primary/20 border-none rounded-none" : "btn-ghost"} ${today ? "ring-1 ring-primary font-black" : ""}`;
+ }
+ }, day);
+ });
}
]),
- 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 Colorpicker = (p) => {
- const current = () => val(p.value) || "#000000";
- return Dropdown({}, [
- DropdownButton({ class: "btn" }, [
- 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) => {
- isFunc(p.value) ? p.value(c) : p.onchange?.(c);
- } })
- )
+ p.hour && h("div", { class: "mt-3 pt-2 border-t flex gap-4" }, G() ? [I({ v: sh, on: sh }), I({ v: eh, on: eh })] : [I({ v: sh, on: sh })])
]);
};
+ var Card = (p, c) => h("div", { ...p, class: `${"card"} ${p?.class || ""}`.trim() }, c);
+ var CardTitle = (p, c) => h("div", { ...p, class: `${"card-title"} ${p?.class || ""}`.trim() }, c);
+ var CardBody = (p, c) => h("div", { ...p, class: `${"card-body"} ${p?.class || ""}`.trim() }, c);
+ var CardActions = (p, c) => h("div", { ...p, class: `${"card-actions"} ${p?.class || ""}`.trim() }, c);
+ var Carousel = (p, c) => h("div", { ...p, class: `${"carousel"} ${p?.class || ""}`.trim() }, c);
+ var CarouselItem = (p, c) => h("div", { ...p, class: `${"carousel-item"} ${p?.class || ""}`.trim() }, c);
+ var Chat = (p, c) => h("div", { ...p, class: `${"chat"} ${p?.class || ""}`.trim() }, c);
+ var ChatBubble = (p, c) => h("div", { ...p, class: `${"chat-bubble"} ${p?.class || ""}`.trim() }, c);
+ var ChatFooter = (p, c) => h("div", { ...p, class: `${"chat-footer"} ${p?.class || ""}`.trim() }, c);
+ var ChatHeader = (p, c) => h("div", { ...p, class: `${"chat-header"} ${p?.class || ""}`.trim() }, c);
+ var ChatImage = (p, c) => h("div", { ...p, class: `${"chat-image avatar"} ${p?.class || ""}`.trim() }, h("div", { class: "w-10 rounded-full" }, typeof c === "string" ? h("img", { src: c, alt: "avatar" }) : c));
+ var Checkbox = (p) => h("input", { type: "checkbox", ...p, class: `${"checkbox"} ${p?.class || ""}`.trim() });
var ColorPalette = (p) => {
- const current = () => val(p.value) || "#000000";
- const palette = [
- "#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"
- ];
- const pick = (c) => {
- isFunc(p.value) ? p.value(c) : p.onchange?.(c);
- hide();
- };
- return h("div", {
- class: cls("p-3 bg-base-100 rounded-box shadow w-64", p.class)
- }, h(
- "div",
- { class: "grid grid-cols-8 gap-1" },
- palette.map((c) => h("button", {
- type: "button",
- style: `background-color: ${c}`,
- class: () => {
- const act = current().toLowerCase() === c.toLowerCase();
- 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 ${act ? "ring-2 ring-offset-1 ring-primary z-10 scale-110" : ""}`;
- },
- onclick: () => {
- pick(c);
- }
- }))
- ));
- };
- var Datepicker = (p) => {
- const displayValue = $("");
- const rangeMode = () => val(p.range) === true;
- watch(() => {
- const v = val(p.value);
- if (!v) return displayValue("");
- let text = "";
- 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 (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 (isFunc(p.value)) p.value(val2);
- else p.onChange?.(val2);
- if (!rangeMode() || val2?.end != null) hide();
- };
- return Dropdown({ class: cls("w-full", p.class) }, [
- h("label", {
- tabindex: "0",
- role: "button",
- class: "input input-bordered flex items-center gap-2 cursor-pointer"
- }, [
- 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() ? h("button", {
- type: "button",
- class: "btn btn-ghost btn-xs btn-circle -mr-2",
- onmousedown: (e) => {
- e.preventDefault();
- e.stopPropagation();
- if (isFunc(p.value)) p.value(null);
- else p.onChange?.(null);
- displayValue("");
- }
- }, h("span", { class: "icon-[lucide--x] opacity-50" })) : null
- ]),
- DropdownContent(
- { class: "p-0" },
- Calendar({ value: p.value, range: rangeMode(), hour: p.hour, onChange: handleChange })
- )
- ]);
- };
- var Fileinput = (p) => {
- const files = $([]);
- const drag = $(false);
- const error = $(null);
- const maxBytes = (p.max || 2) * 1024 * 1024;
- const process = (fileList) => {
- const arr = Array.from(fileList);
- error(null);
- if (arr.some((f) => f.size > maxBytes)) {
- error(`M\xE1x ${p.max || 2}MB`);
- return;
- }
- const updated = [...files(), ...arr];
- files(updated);
- if (isFunc(p.onselect)) p.onselect(updated);
- else if (isFunc(p.value)) p.value(updated);
- };
- const remove = (idx) => {
- const updated = files().filter((_, i) => i !== idx);
- files(updated);
- if (isFunc(p.onselect)) p.onselect(updated);
- else if (isFunc(p.value)) p.value(updated);
- };
- 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();
- drag(true);
- },
- ondragleave: () => drag(false),
- ondrop: (e) => {
- e.preventDefault();
- drag(false);
- process(e.dataTransfer.files);
- }
- }, [
- 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" }, "..."),
- h("span", { class: "text-[10px] opacity-40 shrink-0" }, `M\xE1x ${p.max || 2}MB`)
- ]),
- h("input", {
- type: "file",
- multiple: true,
- accept: p.accept || "*",
- class: "hidden",
- onchange: (e) => process(e.target.files)
- })
- ]),
- () => 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" }, "\u{1F4C4}"),
- h("span", { class: "truncate font-medium max-w-[200px]" }, file.name),
- h("span", { class: "text-[9px] opacity-40" }, `(${(file.size / 1024).toFixed(0)} KB)`)
- ]),
- h("button", {
- type: "button",
- class: "btn btn-ghost btn-xs btn-circle",
- onclick: (e) => {
- e.preventDefault();
- remove(idx);
- }
- }, h("span", { class: "icon-[lucide--x]" }))
- ])
- )
- )
- )
- ]);
- };
- var Input = (p) => {
- const { label: label2, icon, float, placeholder, value, left, right, rule, hint, content, ...rest } = p;
- const showPassword = $(false);
- const isPassword = p.type === "password";
- const pattern = rule ?? null;
- const inputType = () => isPassword ? val(showPassword) ? "text" : "password" : p.type || "search";
- 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,
- 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" }),
- SwapOn({}, Icon({}, "icon-[lucide--eye]")),
- SwapOff({}, Icon({}, "icon-[lucide--eye-off]"))
- ]) : null
- ]
- ),
- hint ? h("div", { class: "validator-hint" }, hint) : null
- ]);
- };
- var Menu = (p) => {
- if (p.children !== void 0) return h("ul", { class: cls("menu", p.class), ...p }, p.children);
- const { items } = p;
- const render2 = (item) => item.children ? h("li", {}, h("details", { open: item.open || void 0 }, [
- 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) e.preventDefault();
- item.onclick(e);
- } : null
- }, getBy(item)));
+ let L = (s) => (s || "").toLowerCase(), C = "#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".split(",");
return h(
- "ul",
- { class: cls("menu", p.class) },
- each(() => val(items) || [], render2)
+ "div",
+ { class: `p-3 bg-base-100 rounded-box shadow w-64 ${p.class || ""}` },
+ h("div", { class: "grid grid-cols-8 gap-1" }, C.map((c) => h("button", {
+ type: "button",
+ style: { background: c },
+ onclick: () => (isFunc(p.value) ? p.value(c) : p.onchange?.(c), hide()),
+ class: () => `size-6 rounded-sm transition-all hover:scale-125 hover:z-10 active:scale-95 border border-black/5 p-0 min-h-0 ${L(val(p.value)) == L(c) ? "ring-2 ring-offset-1 ring-primary z-10 scale-110" : ""}`
+ })))
);
};
- var Modal = (p, c) => {
- let dialogRef = null;
- watch(() => {
- const isOpen = val(p.open);
- if (!dialogRef) return;
- isOpen ? dialogRef.showModal() : dialogRef.close();
- });
- const close = () => isFunc(p.open) && p.open(false);
- return h("dialog", { ...p, ref: (el) => dialogRef = el, class: "modal", onclose: close, oncancel: close }, [
- h("div", { class: cls("modal-box", p.class ?? "") }, [
- p.title && h("h3", { class: "text-lg font-bold" }, p.title),
- c,
- h("div", { class: "modal-action" }, [
- p.actions || Button({ class: "btn", onclick: close }, "Cerrar")
- ])
- ]),
- h("form", { method: "dialog", class: "modal-backdrop" }, [
- h("button", {}, "close")
- ])
- ]);
- };
- var Select = (p, c) => {
- if (c !== void 0) 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 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,
- h(
- "select",
- {
- value: () => val(value),
- onchange: (e) => isFunc(value) ? value(e.target.value) : rest.onchange?.(e)
- },
- each(opts, (item) => {
- const val2 = getBy(item, item.value !== void 0 ? "value" : void 0);
- const lab = getBy(item, "label");
- return h("option", { value: val2, disabled: item.disabled || void 0 }, lab);
- })
- ),
- right ?? null
- ]),
- hint ? h("div", { class: "validator-hint" }, hint) : null
- ]);
- };
- 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 TableItems = ({ items, columns = [], header = true }) => {
- 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) => 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);
- };
- var Tabs = (p, c) => {
- if (!p.items) {
- const { class: className2, ...rest2 } = p;
- return h("div", { ...rest2, class: cls("tabs", className2) }, c);
+ var Combo = (p, c) => Dropdown({}, [div({ tabindex: "0", role: "button" }, c), DropdownContent({ class: p?.class }, p.content)]);
+ var Drawer = (p, c) => h("div", { ...p, class: `${"drawer"} ${p?.class || ""}`.trim() }, c);
+ 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) => h("div", { ...p, class: `${"drawer-content"} ${p?.class || ""}`.trim() }, c);
+ var DrawerSide = (p, c) => h("div", { ...p, class: `${"drawer-side"} ${p?.class || ""}`.trim() }, c);
+ var DrawerOverlay = (p) => label({ ...p, for: p.for, class: `${"drawer-overlay"} ${p?.class || ""}`.trim() });
+ var Divider = (p) => h("div", { ...p, class: `${"divider"} ${p?.class || ""}`.trim() });
+ var Dropdown = (p, c) => h("div", { ...p, class: `${"dropdown"} ${p?.class || ""}`.trim() }, c);
+ var DropdownButton = (p, c) => h("div", { ...p, tabindex: "0", role: "button", class: `${"btn"} ${p?.class || ""}`.trim() }, c);
+ var DropdownContent = (p, c) => h("div", { ...p, tabindex: "0", class: `${"dropdown-content"} ${p?.class || ""}`.trim() }, c);
+ var Fab = (p, c) => h("div", { class: "fab" }, [h("div", { tabindex: "0", role: "button", class: `${"btn"} ${p?.class || ""}`.trim() }, Icon({}, p.icon)), c]);
+ var Fieldset = (p, c) => h("fieldset", { class: `${"fieldset"} ${p?.class || ""}`.trim() }, [h("legend", { class: "fieldset-legend" }, p.label), c]);
+ var FileDrag = (p, c) => h("label", {
+ class: () => `relative flex items-center justify-between h-12 px-4 border-2 border-dashed rounded-lg cursor-pointer transition-all ${p.drag ? "border-primary bg-primary/10" : "border-base-content/20 bg-base-100"} ${p?.class || ""}`,
+ ondragover: (e) => {
+ e.preventDefault();
+ p.ondrag?.(true);
+ },
+ ondragleave: () => p.ondrag?.(false),
+ ondrop: (e) => {
+ e.preventDefault();
+ p.ondrag?.(false);
+ p.ondrop?.(e.dataTransfer.files);
}
- const { items, activeIndex, onClose, class: className, ...rest } = p;
- const get = (x) => isFunc(x) ? x() : x;
- const closeH = onClose || (isFunc(items) ? (idx, item) => {
- const arr = val(items);
- const newArr = arr.filter((_, i) => i !== idx);
- items(newArr);
- if (activeIndex() >= newArr.length) activeIndex(Math.max(0, newArr.length - 1));
- } : null);
- return h("div", { ...rest, class: cls("tabs", className) }, () => {
- const list = val(items) || [];
- return list.flatMap((it, idx) => {
- const isActive = () => activeIndex() === idx;
- const button = h("button", {
- class: () => `tab ${isActive() ? "tab-active" : ""} ${it.class || ""}`,
- onclick: (e) => {
- e.preventDefault();
- activeIndex(idx);
- it.onclick?.(e);
- }
- }, [
- getBy(it),
- 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);
- }
- }, h("span", { class: "icon-[lucide--x] w-3 h-3" })) : null
- ]);
- const contentDiv = h("div", {
- class: "tab-content bg-base-100 border-base-300 p-6",
- style: () => `display: ${isActive() ? "block" : "none"};`
- }, isFunc(it.content) ? it.content() : it.content);
- return [button, contentDiv];
- });
- });
- };
- var Toast = (message, type = "alert-success", duration = 3500) => {
- let container = document.getElementById("sigpro-toast-container");
- if (!container) {
- 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 = h("div", { style: "display: contents" });
- container.appendChild(host);
- let closeFn, timer, enterTimer;
- const ToastComponent = () => {
- const visible = $(false);
- const leaving = $(false);
- closeFn = () => {
- if (leaving()) return;
- clearTimeout(timer);
- clearTimeout(enterTimer);
- leaving(true);
- setTimeout(() => {
- instance.destroy();
- host.remove();
- if (!container.hasChildNodes()) container.remove();
- }, 300);
- };
- enterTimer = setTimeout(() => visible(true), 0);
- const content = typeof message === "function" ? val(message) : message;
- 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()) return `${base} translate-x-full opacity-0`;
- if (visible()) return `${base} translate-x-0 opacity-100`;
- return `${base} translate-x-10 opacity-0`;
- }
- }, [
- msgNode,
- h("button", {
- class: "btn btn-xs btn-circle btn-ghost",
- onclick: closeFn
- }, h("span", { class: "icon-[lucide--x]" }))
- ]);
- };
- const instance = mount(ToastComponent, host);
- if (duration > 0) timer = setTimeout(closeFn, duration);
- return closeFn;
- };
-
- // src/editor.js
- var editor_exports = {};
- __export(editor_exports, {
- Editor: () => Editor
- });
- var Editor = (p) => {
- const { value, class: extraClass } = p;
- let editorRef = null;
- let savedRange = null;
- const isSource = $(false);
- const source = $("");
- const count = $(0);
- const refreshTick = $(0);
- const showEmojis = $(false);
- const emojis = ["\u{1F600}", "\u{1F60A}", "\u{1F609}", "\u{1F9D0}", "\u{1F62E}", "\u{1F914}", "\u{1F605}", "\u{1F602}", "\u{1F60D}", "\u{1F618}", "\u{1F970}", "\u{1F44D}", "\u{1F44E}", "\u{1F44C}", "\u{1F91D}", "\u{1F91E}", "\u{1F44B}", "\u{1F44F}", "\u{1F64C}", "\u{1F64F}", "\u{1F4AA}", "\u261D\uFE0F", "\u{1F447}", "\u{1F448}", "\u{1F449}", "\u{1F595}", "\u2705", "\u26A0\uFE0F", "\u{1F680}", "\u{1F4E2}", "\u2709\uFE0F", "\u2764\uFE0F"];
- const saveSelection = () => {
- const sel = window.getSelection();
- if (sel.getRangeAt && sel.rangeCount) savedRange = sel.getRangeAt(0);
- };
- const restoreSelection = () => {
- if (savedRange) {
- const sel = window.getSelection();
- sel.removeAllRanges();
- sel.addRange(savedRange);
- }
- };
- const triggerRefresh = () => {
- refreshTick(refreshTick() + 1);
- if (editorRef) count(editorRef.innerText.length);
- };
- const notify = () => {
- if (!editorRef) return;
- const html = editorRef.innerHTML;
- if (isFunc(value)) value(html);
- else p.onchange?.(html);
- triggerRefresh();
- };
- const exec = (cmd, val2 = null) => {
- if (!editorRef) return;
- editorRef.focus();
- if (savedRange) restoreSelection();
- document.execCommand(cmd, false, val2);
- savedRange = null;
- notify();
- };
- const openLightbox = (src) => {
- const overlay = document.createElement("div");
- overlay.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;`;
- const img = document.createElement("img");
- img.src = src;
- img.style = `max-width:95%;max-height:95%;box-shadow:0 0 30px rgba(0,0,0,0.5);border-radius:4px;`;
- overlay.onclick = () => document.body.removeChild(overlay);
- overlay.appendChild(img);
- document.body.appendChild(overlay);
- };
- const handleUpload = (file) => {
- if (!file) return;
- const reader = new FileReader();
- reader.onload = (re) => {
- if (file.type.startsWith("image/")) {
- const imgHtml = ` `;
- exec("insertHTML", imgHtml);
- } else {
- const linkHtml = `${file.name} `;
- exec("insertHTML", linkHtml);
- }
- };
- reader.readAsDataURL(file);
- };
- const queryState = (cmd, val2 = null) => {
- refreshTick();
- if (!editorRef || isSource()) return false;
- try {
- if (cmd === "formatBlock") {
- let node = window.getSelection().getRangeAt(0).commonAncestorContainer;
- while (node && node !== editorRef) {
- if (node.nodeType === 1 && node.tagName === val2) return true;
- node = node.parentNode;
- }
- return false;
- }
- return document.queryCommandState(cmd);
- } catch (e) {
- return false;
- }
- };
- 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")
- }, h("span", { class: "icon-[lucide--align-left]" })),
- h("button", {
- type: "button",
- class: "btn btn-ghost btn-xs",
- onclick: () => exec("justifyCenter")
- }, h("span", { class: "icon-[lucide--align-center]" })),
- h("button", {
- type: "button",
- class: "btn btn-ghost btn-xs",
- onclick: () => exec("justifyRight")
- }, 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);
- } }, 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();
- } }, 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());
- } }, 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)))
+ }, c);
+ var FileInput = (p) => h("input", { type: "file", multiple: true, accept: p.accept || "*", class: `${"file-input"} ${p?.class || ""}`.trim(), onchange: (e) => p.onchange?.(e.target.files) });
+ var FilePreview = (p) => h(
+ "ul",
+ { class: `mt-2 space-y-1 ${p?.class || ""}` },
+ p.files.map(
+ (f, i) => h("li", { class: "flex items-center justify-between p-1.5 pl-3 text-xs bg-base-200/50 rounded-md border" }, [
+ h("div", { class: "flex items-center gap-2 truncate opacity-70" }, [
+ h("span", {}, "\u{1F4C4}"),
+ h("span", { class: "truncate max-w-[180px]" }, f.name),
+ h("span", { class: "text-[9px] opacity-50" }, `(${~~(f.size / 1024)}KB)`)
]),
- 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]" }))
- ]),
- h("button", { type: "button", class: () => `btn btn-ghost btn-xs ${isSource() ? "btn-active" : ""}`, onclick: () => {
- if (!isSource()) source(editorRef?.innerHTML || "");
- else if (editorRef) {
- editorRef.innerHTML = source();
- notify();
- }
- ;
- isSource(!isSource());
- } }, h("span", { class: "icon-[lucide--code-2]" }))
- ]);
- if (typeof document !== "undefined" && !document.getElementById("editor-styles")) {
- const style = document.createElement("style");
- style.id = "editor-styles";
- style.textContent = `
- [contenteditable="true"] div,
- [contenteditable="true"] p {
- margin: 0;
- padding: 0;
- }
- `;
- document.head.appendChild(style);
- }
- return h("div", { class: cls("border border-base-300 rounded-box bg-base-100 overflow-hidden shadow-sm flex flex-col", extraClass) }, [
- toolbar,
- h("div", { class: "relative flex-1 flex flex-col", onclick: () => showEmojis(false) }, [
- h("div", {
- ref: (el) => {
- if (!editorRef && el) {
- editorRef = el;
- el.innerHTML = val(value) || "";
- document.execCommand("defaultParagraphSeparator", false, "br");
- el.addEventListener("click", (e) => {
- const container = e.target.closest(".resizable-img-container");
- if (container) {
- const img = container.querySelector("img");
- if (img) openLightbox(img.src);
- }
- });
- }
- },
- style: () => `min-height:22rem;${isSource() ? "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: notify,
- onkeydown: (e) => {
- if (e.key === "Tab") {
- e.preventDefault();
- exec("indent");
- }
- },
- onkeyup: () => {
- triggerRefresh();
- saveSelection();
- },
- onclick: (e) => {
- triggerRefresh();
- saveSelection();
- e.stopPropagation();
- },
- onmouseup: () => {
- notify();
- saveSelection();
- },
- onpaste: (e) => {
- e.preventDefault();
- const text = e.clipboardData.getData("text/plain");
- exec("insertText", text);
- },
- ondragover: (e) => e.preventDefault(),
- ondrop: (e) => {
- e.preventDefault();
- handleUpload(e.dataTransfer.files[0]);
- }
- }),
- 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,
- oninput: (e) => {
- source(e.target.value);
- if (editorRef) editorRef.innerHTML = e.target.value;
- p.onchange?.(e.target.value);
- }
- })
- ]),
- 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()}`)
+ h(
+ "button",
+ { class: "btn btn-ghost btn-xs btn-circle", onclick: () => p.onremove?.(i) },
+ h("span", { class: "icon-[lucide--x]" })
+ )
])
- ]);
+ )
+ );
+ var FileError = (p) => h("div", { class: `text-[10px] text-error mt-1 px-1 ${p?.class || ""}` }, p.message);
+ var Filter = (s, i, o, k) => o($(() => val(i).filter((i2) => String(k ? i2[k] : i2).toLowerCase().includes(val(s).toLowerCase()))));
+ var Icon = (p, c) => h("span", { ...p, class: `${c ?? ""} ${p?.class || ""}`.trim() });
+ var Indicator = (p, c) => h("div", { ...p, class: `${"indicator"} ${p?.class || ""}`.trim() }, [p.value && h("span", { class: `${"indicator-item badge"} ${p?.class || ""}`.trim() }, p.value), c]);
+ var Input = (p) => h("input", { ...p, class: `${"input"} ${p?.class || ""}`.trim() });
+ var InputPass = (p) => {
+ const show = $(false);
+ return [
+ Input({ ...p, type: show() ? "text" : "password" }),
+ Swap({ class: "ml-2" }, [SwapToggle({ value: show, class: "swap-rotate" }), SwapOn({}, Icon({}, "icon-[lucide--eye]")), SwapOff({}, Icon({}, "icon-[lucide--eye-off]"))])
+ ];
};
+ var InputHint = (p, c) => h("div", { ...p, class: `${"validator-hint"} ${p?.class || ""}`.trim() }, c);
+ var Kbd = (p, c) => h("kbd", { ...p, class: `${"kbd"} ${p?.class || ""}`.trim() }, c);
+ var Label = (p, c) => h("span", { ...p, class: `${"label"} ${p?.class || ""}`.trim() }, c);
+ var LabelFloating = (p, c) => h("label", { ...p, class: `${"floating-label"} ${p?.class || ""}`.trim() }, c);
+ var LabelInput = (p, c) => h("label", { ...p, class: `${"input"} ${p?.class || ""}`.trim() }, c);
+ var LabelSelect = (p, c) => h("label", { ...p, class: `${"select"} ${p?.class || ""}`.trim() }, c);
+ var List = (p, c) => h("ul", { ...p, class: `${"list"} ${p?.class || ""}`.trim() }, c);
+ var ListRows = (p) => () => (val(p.items) || []).map((item, idx) => h("li", { class: `${"list-row"} ${p?.class || ""} ${item?.class || ""}`.trim() }, typeof p.render === "function" ? p.render(item, idx) : item));
+ var Menu = (p, c) => ul({ ...p, class: `${"menu"} ${p?.class || ""}`.trim() }, c);
+ var MenuTitle = (p, c) => li({ ...p, class: `${"menu-title"} ${p?.class || ""}`.trim() }, c);
+ var MenuItem = (p) => li({}, a({ onmousedown: (e) => e.preventDefault(), class: p?.class || "", onclick: p.onclick }, p.label));
+ var Modal = (p, c) => h("dialog", { ...p, class: `${"modal"} ${p?.class || ""}`.trim() }, c);
+ var ModalBox = (p, c) => h("div", { ...p, class: `${"modal-box"} ${p?.class || ""}`.trim() }, c);
+ var ModalAction = (p, c) => h("div", { ...p, class: `${"modal-action"} ${p?.class || ""}`.trim() }, c);
+ var ModalBackdrop = (p) => h("form", { method: "dialog", class: "modal-backdrop" }, [h("button", {}, "close")]);
+ var ModalClose = (p) => h("form", { method: "dialog" }, [h("button", { ...p, class: `${"btn btn-sm btn-circle btn-ghost absolute right-2 top-2"} ${p?.class || ""}`.trim() }, "\u2715")]);
+ var Loading = (p, c) => h("span", { ...p, class: `${"loading loading-spinner"} ${p?.class || ""}`.trim() }, c);
+ var Navbar = (p, c) => h("div", { ...p, class: `${"navbar"} ${p?.class || ""}`.trim() }, c);
+ var Progress = (p) => h("progress", { ...p, class: `${"progress"} ${p?.class || ""}`.trim() });
+ var Radial = (p, c) => h("div", { class: `${"radial-progress"} ${p?.class || ""}`.trim(), style: `--value:${val(p.value) ?? 0};`, role: "progressbar", "aria-valuenow": p.value }, c);
+ var Radio = (p) => h("input", { type: "radio", ...p, class: `${"radio"} ${p?.class || ""}`.trim() });
+ var Range = (p) => h("input", { type: "range", ...p, class: `${"range"} ${p?.class || ""}`.trim() });
+ var Rating = (p, c) => h("div", { ...p, class: `${"rating"} ${p?.class || ""}`.trim() }, c);
+ var RatingItems = (p) => [...Array(p.count)].map((_, i) => h("input", { class: `${"mask"} ${p?.class || ""}`.trim(), name: p.name, type: "radio", checked: () => val(p.value) === i, onchange: () => isFunc(p.value) ? p.value(i) : p.onchange?.(i) }));
+ var Select = (p, c) => h("select", { ...p, class: `${"select"} ${p?.class || ""}`.trim() }, c);
+ var SelectOption = (p, c) => h("option", { ...p, class: p?.class || "" }, c);
+ var Skeleton = (p) => h("div", { ...p, class: `${"skeleton"} ${p?.class || ""}`.trim() });
+ var SkeletonText = (p) => h("span", { ...p, class: `${"skeleton skeleton-text"} ${p?.class || ""}`.trim() });
+ var Stack = (p, c) => h("div", { ...p, class: `${"stack"} ${p?.class || ""}`.trim() }, c);
+ var Stats = (p, c) => h("div", { ...p, class: `${"stats shadow"} ${p?.class || ""}`.trim() }, c);
+ var Stat = (p, c) => h("div", { ...p, class: `${"stat"} ${p?.class || ""}`.trim() }, c);
+ var StatFigure = (p, c) => h("div", { ...p, class: `${"stat-figure"} ${p?.class || ""}`.trim() }, c);
+ var StatTitle = (p, c) => h("div", { ...p, class: `${"stat-title"} ${p?.class || ""}`.trim() }, c);
+ var StatValue = (p, c) => h("div", { ...p, class: `${"stat-value"} ${p?.class || ""}`.trim() }, c);
+ var StatDesc = (p, c) => h("div", { ...p, class: `${"stat-desc"} ${p?.class || ""}`.trim() }, c);
+ var Steps = (p, c) => h("ul", { ...p, class: `${"steps"} ${p?.class || ""}`.trim() }, c);
+ var Step = (p, c) => h("li", { ...p, class: `${"step"} ${p?.class || ""}`.trim(), "data-content": p.dataContent }, c);
+ var Swap = (p, c) => h("label", { ...p, class: `${"swap"} ${p?.class || ""}`.trim() }, 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: `${"swap-on"} ${p?.class || ""}`.trim() }, c);
+ var SwapOff = (p, c) => h("div", { ...p, class: `${"swap-off"} ${p?.class || ""}`.trim() }, c);
+ var Tabs = (p, c) => div({ ...p, class: `${"tabs"} ${p?.class || ""}`.trim() }, c);
+ var Tab = (p) => {
+ const close = () => p.tabs?.(p.tabs().filter((_, idx) => idx !== p.index));
+ return [
+ h("input", { type: "radio", name: p.name, class: `${"tab"} ${p?.class || ""}`.trim(), checked: p.checked || void 0 }),
+ div({ class: `tab-content ${p?.classContent || ""}`.trim() }, p.content),
+ p.closable ? span({ class: "absolute top-2 right-2 cursor-pointer", onclick: (e) => {
+ e.stopPropagation();
+ close();
+ } }, "\u2715") : null
+ ];
+ };
+ var Table = (p, c) => h("table", { ...p, class: `${"table"} ${p?.class || ""}`.trim() }, c);
+ var TableHead = (p, c) => h("thead", { ...p, class: p?.class || "" }, c);
+ var TableBody = (p, c) => h("tbody", { ...p, class: p?.class || "" }, c);
+ var TableFoot = (p, c) => h("tfoot", { ...p, class: p?.class || "" }, c);
+ var TableRow = (p, c) => h("tr", { ...p, class: p?.class || "" }, c);
+ var TableTh = (p, c) => h("th", { ...p, class: p?.class || "" }, c);
+ var TableTd = (p, c) => h("td", { ...p, class: p?.class || "" }, c);
+ var Textarea = (p) => h("textarea", { ...p, class: `${"textarea"} ${p?.class || ""}`.trim() });
+ var Textrotate = (p, c) => h("span", { ...p, class: `${"text-rotate"} ${p?.class || ""}`.trim() }, h("span", {}, c));
+ var Timeline = (p, c) => h("ul", { ...p, class: `${"timeline"} ${p?.class || ""}`.trim() }, c);
+ var Toast = (m, t = "alert-success", d = 3500) => {
+ let C = document.getElementById("stc"), T, E, w = h("div", { style: "display:contents" });
+ if (!C) document.body.append(C = h("div", { id: "stc", class: "fixed top-0 right-0 z-[9999] p-4 flex flex-col items-end gap-2 pointer-events-none" }));
+ C.append(w);
+ const i = mount(() => {
+ let v = $(0), l = $(0);
+ E = () => l() || (l(1), clearTimeout(T), setTimeout(() => (i.destroy(), w.remove(), C.firstChild || C.remove()), 300));
+ setTimeout(() => v(1));
+ return h("div", {
+ class: () => `alert alert-soft ${t} shadow-lg transition-all duration-300 inline-flex w-auto pointer-events-auto ${l() ? "translate-x-full opacity-0" : v() ? "translate-x-0 opacity-100" : "translate-x-10 opacity-0"}`
+ }, [
+ typeof m == "function" ? m() : typeof m == "string" ? h("span", m) : m,
+ h("button", { class: "btn btn-xs btn-circle btn-ghost", onclick: E }, h("span", { class: "icon-[lucide--x]" }))
+ ]);
+ }, w);
+ if (d > 0) T = setTimeout(E, d);
+ return E;
+ };
+ var Toggle = (p) => h("input", { type: "checkbox", ...p, class: `${"toggle"} ${p?.class || ""}`.trim() });
+ var Tooltip = (p, c) => h("div", { ...p, class: `${"tooltip"} ${p?.class || ""}`.trim(), "data-tip": p.tip }, c);
// src/build_umd.js
if (typeof window !== "undefined") {
- Object.assign(window, sigpro_ui_exports, editor_exports);
+ Object.assign(window, sigpro_ui_exports);
}
})();
diff --git a/dist/sigpro-ui.min.css b/dist/sigpro-ui.min.css
index 9738fee..e4665f0 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}.stat-figure{grid-row:1/span 3;grid-column-start:2;place-self:center flex-end}.modal-box{background-color:var(--color-base-100);border-top-left-radius:var(--modal-tl,var(--radius-box));border-top-right-radius:var(--modal-tr,var(--radius-box));border-bottom-left-radius:var(--modal-bl,var(--radius-box));border-bottom-right-radius:var(--modal-br,var(--radius-box));opacity:0;overscroll-behavior:contain;grid-row-start:1;grid-column-start:1;width:91.6667%;max-width:32rem;max-height:100vh;padding:1.5rem;transition:translate .3s ease-out,scale .3s ease-out,opacity .2s ease-out 50ms,box-shadow .3s ease-out;overflow-y:auto;scale:.95;box-shadow:0 25px 50px -12px oklch(0% 0 0/.25)}.drawer-content{grid-row-start:1;grid-column-start:2;min-width:0}.timeline-middle{grid-row-start:2;grid-column-start:2}.stat-value{white-space:nowrap;grid-column-start:1;font-size:2rem;font-weight:800}.stat-desc{white-space:nowrap;color:var(--color-base-content);grid-column-start:1}@supports (color:color-mix(in lab, red, red)){.stat-desc{color:color-mix(in oklab, var(--color-base-content) 60%, transparent)}}.stat-desc{font-size:.75rem}.stat-title{white-space:nowrap;color:var(--color-base-content);grid-column-start:1}@supports (color:color-mix(in lab, red, red)){.stat-title{color:color-mix(in oklab, var(--color-base-content) 60%, transparent)}}.stat-title{font-size:.75rem}.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}.navbar-end{justify-content:flex-end;align-items:center;width:50%;display:inline-flex}.navbar-start{justify-content:flex-start;align-items:center;width:50%;display:inline-flex}.card-body{padding:var(--card-p,1.5rem);font-size:var(--card-fs,.875rem);flex-direction:column;flex:auto;gap:.5rem;display:flex}.card-body :where(p){flex-grow:1}.navbar-center{flex-shrink:0;align-items:center;display:inline-flex}.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-accent{--btn-color:var(--color-accent);--btn-fg:var(--color-accent-content)}.btn-error{--btn-color:var(--color-error);--btn-fg:var(--color-error-content)}.btn-info{--btn-color:var(--color-info);--btn-fg:var(--color-info-content)}.btn-neutral{--btn-color:var(--color-neutral);--btn-fg:var(--color-neutral-content)}.btn-primary{--btn-color:var(--color-primary);--btn-fg:var(--color-primary-content)}.btn-secondary{--btn-color:var(--color-secondary);--btn-fg:var(--color-secondary-content)}.btn-success{--btn-color:var(--color-success);--btn-fg:var(--color-success-content)}.btn-warning{--btn-color:var(--color-warning);--btn-fg:var(--color-warning-content)}}@layer daisyui.l1.l2{.modal.modal-open,.modal[open],.modal:target,.modal-toggle:checked+.modal{pointer-events:auto;visibility:visible;opacity:1;transition:visibility 0s allow-discrete, background-color .3s ease-out, opacity .1s ease-out;background-color:oklch(0% 0 0/.4)}:is(.modal.modal-open,.modal[open],.modal:target,.modal-toggle:checked+.modal) .modal-box{opacity:1;translate:0;scale:1}:root:has(:is(.modal.modal-open,.modal[open],.modal:target,.modal-toggle:checked+.modal)){--page-has-backdrop:1;--page-overflow:hidden;--page-scroll-bg:var(--page-scroll-bg-on);--page-scroll-gutter:stable;--page-scroll-transition:var(--page-scroll-transition-on);animation:forwards set-page-has-scroll;animation-timeline:scroll()}@starting-style{.modal.modal-open,.modal[open],.modal:target,.modal-toggle:checked+.modal{opacity:0}}:where(.drawer-toggle:checked~.drawer-side){pointer-events:auto;visibility:visible;opacity:1;overflow-y:auto}:where(.drawer-toggle:checked~.drawer-side)>:not(.drawer-overlay){translate:0%}.drawer-toggle:focus-visible~.drawer-content label.drawer-button{outline-offset:2px;outline:2px solid}.tooltip>.tooltip-content,.tooltip[data-tip]:before{transform:translateX(-50%) translateY(var(--tt-pos,.25rem));inset:auto auto var(--tt-off) 50%}.tooltip:after{transform:translateX(-50%) translateY(var(--tt-pos,.25rem));inset:auto auto var(--tt-tail) 50%}.collapse-arrow>.collapse-title:after{width:.5rem;height:.5rem;display:block;position:absolute;transform:translateY(-100%)rotate(45deg)}@media (prefers-reduced-motion:no-preference){.collapse-arrow>.collapse-title:after{transition-property:all;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1)}}.collapse-arrow>.collapse-title:after{content:"";transform-origin:75% 75%;pointer-events:none;top:50%;inset-inline-end:1.4rem;box-shadow:2px 2px}.btn:disabled:not(.btn-link,.btn-ghost){background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn:disabled:not(.btn-link,.btn-ghost){background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}.btn:disabled:not(.btn-link,.btn-ghost){box-shadow:none}.btn:disabled{pointer-events:none;--btn-border:#0000;--btn-noise:none;--btn-fg:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn:disabled{--btn-fg:color-mix(in oklch, var(--color-base-content) 20%, #0000)}}.btn[disabled]:not(.btn-link,.btn-ghost){background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn[disabled]:not(.btn-link,.btn-ghost){background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}.btn[disabled]:not(.btn-link,.btn-ghost){box-shadow:none}.btn[disabled]{pointer-events:none;--btn-border:#0000;--btn-noise:none;--btn-fg:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn[disabled]{--btn-fg:color-mix(in oklch, var(--color-base-content) 20%, #0000)}}.btn-disabled:not(.btn-link,.btn-ghost){background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn-disabled:not(.btn-link,.btn-ghost){background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}.btn-disabled:not(.btn-link,.btn-ghost){box-shadow:none}.btn-disabled{pointer-events:none;--btn-border:#0000;--btn-noise:none;--btn-fg:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn-disabled{--btn-fg:color-mix(in oklch, var(--color-base-content) 20%, #0000)}}@media (prefers-reduced-motion:no-preference){.collapse[open].collapse-arrow>.collapse-title:after,.collapse.collapse-open.collapse-arrow>.collapse-title:after{transform:translateY(-50%)rotate(225deg)}}.collapse.collapse-open.collapse-plus>.collapse-title:after{--tw-content:"−";content:var(--tw-content)}:is(.collapse[tabindex].collapse-arrow:focus:not(.collapse-close),.collapse.collapse-arrow[tabindex]:focus-within:not(.collapse-close))>.collapse-title:after,.collapse.collapse-arrow:not(.collapse-close)>input:is([type=checkbox],[type=radio]):checked~.collapse-title:after{transform:translateY(-50%)rotate(225deg)}.collapse[open].collapse-plus>.collapse-title:after,.collapse[tabindex].collapse-plus:focus:not(.collapse-close)>.collapse-title:after,.collapse.collapse-plus:not(.collapse-close)>input:is([type=checkbox],[type=radio]):checked~.collapse-title:after{--tw-content:"−";content:var(--tw-content)}.tabs-lift{--tabs-height:auto;--tabs-direction:row}.tabs-lift>.tab{--tab-border:0 0 var(--border) 0;--tab-radius-ss:var(--tab-radius-limit);--tab-radius-se:var(--tab-radius-limit);--tab-radius-es:0;--tab-radius-ee:0;--tab-paddings:var(--border) var(--tab-p) 0 var(--tab-p);--tab-border-colors:#0000 #0000 var(--tab-border-color) #0000;--tab-corner-width:calc(100% + var(--tab-radius-limit) * 2);--tab-corner-height:var(--tab-radius-limit);--tab-corner-position:top left, top right;border-width:var(--tab-border);padding:var(--tab-paddings);border-color:var(--tab-border-colors);border-start-start-radius:var(--tab-radius-ss);border-start-end-radius:var(--tab-radius-se);border-end-end-radius:var(--tab-radius-ee);border-end-start-radius:var(--tab-radius-es)}.tabs-lift>.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-lift>.tab:is(input:checked,label:has(:checked)){--tab-border:var(--border) var(--border) 0 var(--border);--tab-border-colors:var(--tab-border-color) var(--tab-border-color) #0000 var(--tab-border-color);--tab-paddings:0 calc(var(--tab-p) - var(--border)) var(--border) calc(var(--tab-p) - var(--border));--tab-inset:auto auto 0 auto;--radius-start:radial-gradient(circle at top left, var(--tab-radius-grad));--radius-end:radial-gradient(circle at top right, var(--tab-radius-grad));background-color:var(--tab-bg)}:is(.tabs-lift>.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-lift>.tab:is(input:checked,label:has(:checked))):before{z-index:1;content:"";width:var(--tab-corner-width);height:var(--tab-corner-height);background-position:var(--tab-corner-position);background-image:var(--radius-start), var(--radius-end);background-size:var(--tab-radius-limit) var(--tab-radius-limit);inset:var(--tab-inset);background-repeat:no-repeat;display:block;position:absolute}:is(.tabs-lift>.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-lift>.tab:is(input:checked,label:has(:checked))):first-child:before{--radius-start:none}[dir=rtl] :is(.tabs-lift>.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-lift>.tab:is(input:checked,label:has(:checked))):first-child:before{transform:rotateY(180deg)}:is(.tabs-lift>.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-lift>.tab:is(input:checked,label:has(:checked))):last-child:before{--radius-end:none}[dir=rtl] :is(.tabs-lift>.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-lift>.tab:is(input:checked,label:has(:checked))):last-child:before{transform:rotateY(180deg)}.tabs-lift:has(>.tab-content)>.tab:first-child:not(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]){--tab-border-colors:var(--tab-border-color) var(--tab-border-color) #0000 var(--tab-border-color)}.tabs-lift>.tab-content{--tabcontent-margin:calc(-1 * var(--border)) 0 0 0;--tabcontent-radius-ss:0;--tabcontent-radius-se:var(--radius-box);--tabcontent-radius-es:var(--radius-box);--tabcontent-radius-ee:var(--radius-box)}:is(.tabs-lift :checked,.tabs-lift label:has(:checked),.tabs-lift :is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]))+.tab-content:first-child,:is(.tabs-lift :checked,.tabs-lift label:has(:checked),.tabs-lift :is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]))+.tab-content:nth-child(n+3){--tabcontent-radius-ss:var(--radius-box)}.list .list-row:has(.list-col-grow:first-child){--list-grid-cols:1fr}.list .list-row:has(.list-col-grow:nth-child(2)){--list-grid-cols:minmax(0, auto) 1fr}.list .list-row:has(.list-col-grow:nth-child(3)){--list-grid-cols:minmax(0, auto) minmax(0, auto) 1fr}.list .list-row:has(.list-col-grow:nth-child(4)){--list-grid-cols:minmax(0, auto) minmax(0, auto) minmax(0, auto) 1fr}.list .list-row:has(.list-col-grow:nth-child(5)){--list-grid-cols:minmax(0, auto) minmax(0, auto) minmax(0, auto) minmax(0, auto) 1fr}.list .list-row:has(.list-col-grow:nth-child(6)){--list-grid-cols:minmax(0, auto) minmax(0, auto) minmax(0, auto) minmax(0, auto) minmax(0, auto) 1fr}.list .list-row>*{grid-row-start:1}.avatar-offline:before{content:"";z-index:1;background-color:var(--color-base-300);outline:2px solid var(--color-base-100);border-radius:3.40282e38px;width:15%;height:15%;display:block;position:absolute;top:7%;right:7%}.avatar-online:before{content:"";z-index:1;background-color:var(--color-success);outline:2px solid var(--color-base-100);border-radius:3.40282e38px;width:15%;height:15%;display:block;position:absolute;top:7%;right:7%}.steps .step-neutral+.step-neutral:before,.steps .step-neutral:after,.steps .step-neutral>.step-icon{--step-bg:var(--color-neutral);--step-fg:var(--color-neutral-content)}.steps .step-primary+.step-primary:before,.steps .step-primary:after,.steps .step-primary>.step-icon{--step-bg:var(--color-primary);--step-fg:var(--color-primary-content)}.steps .step-secondary+.step-secondary:before,.steps .step-secondary:after,.steps .step-secondary>.step-icon{--step-bg:var(--color-secondary);--step-fg:var(--color-secondary-content)}.steps .step-accent+.step-accent:before,.steps .step-accent:after,.steps .step-accent>.step-icon{--step-bg:var(--color-accent);--step-fg:var(--color-accent-content)}.steps .step-info+.step-info:before,.steps .step-info:after,.steps .step-info>.step-icon{--step-bg:var(--color-info);--step-fg:var(--color-info-content)}.steps .step-success+.step-success:before,.steps .step-success:after,.steps .step-success>.step-icon{--step-bg:var(--color-success);--step-fg:var(--color-success-content)}.steps .step-warning+.step-warning:before,.steps .step-warning:after,.steps .step-warning>.step-icon{--step-bg:var(--color-warning);--step-fg:var(--color-warning-content)}.steps .step-error+.step-error:before,.steps .step-error:after,.steps .step-error>.step-icon{--step-bg:var(--color-error);--step-fg:var(--color-error-content)}.tabs-border>.tab{--tab-border-color:#0000 #0000 var(--tab-border-color) #0000;border-radius:var(--radius-field);position:relative}.tabs-border>.tab:before{content:"";background-color:var(--tab-border-color);border-radius:var(--radius-field);width:80%;height:3px;transition:background-color .2s;position:absolute;bottom:0;left:10%}:is(.tabs-border>.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-border>.tab:is(input:checked),.tabs-border>.tab:is(label:has(:checked))):before{--tab-border-color:currentColor;border-top:3px solid}.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-bottom>.tooltip-content,.tooltip-bottom[data-tip]:before{transform:translateX(-50%) translateY(var(--tt-pos,-.25rem));inset:var(--tt-off) auto auto 50%}.tooltip-bottom:after{transform:translateX(-50%) translateY(var(--tt-pos,-.25rem)) rotate(180deg);inset:var(--tt-tail) auto auto 50%}.tooltip-left>.tooltip-content,.tooltip-left[data-tip]:before{transform:translateX(calc(var(--tt-pos,.25rem) - .25rem)) translateY(-50%);inset:50% var(--tt-off) auto auto}.tooltip-left:after{transform:translateX(var(--tt-pos,.25rem)) translateY(-50%) rotate(-90deg);inset:50% calc(var(--tt-tail) + 1px) auto auto}.tooltip-right>.tooltip-content,.tooltip-right[data-tip]:before{transform:translateX(calc(var(--tt-pos,-.25rem) + .25rem)) translateY(-50%);inset:50% auto auto var(--tt-off)}.tooltip-right:after{transform:translateX(var(--tt-pos,-.25rem)) translateY(-50%) rotate(90deg);inset:50% auto auto calc(var(--tt-tail) + 1px)}.tooltip-top>.tooltip-content,.tooltip-top[data-tip]:before{transform:translateX(-50%) translateY(var(--tt-pos,.25rem));inset:auto auto var(--tt-off) 50%}.tooltip-top:after{transform:translateX(-50%) translateY(var(--tt-pos,.25rem));inset:auto auto var(--tt-tail) 50%}.dropdown-right{--anchor-h:right;--anchor-v:span-bottom}.dropdown-right .dropdown-content{transform-origin:0;inset-inline-start:100%;top:0;bottom:auto}.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)}.dropdown-left{--anchor-h:left;--anchor-v:span-bottom}.dropdown-left .dropdown-content{transform-origin:100%;inset-inline-end:100%;top:0;bottom:auto}.dropdown-end{--anchor-h:span-left}.dropdown-end :where(.dropdown-content){inset-inline-end:0;translate:0}[dir=rtl] :is(.dropdown-end :where(.dropdown-content)){translate:0}.dropdown-end.dropdown-left{--anchor-h:left;--anchor-v:span-top}.dropdown-end.dropdown-left .dropdown-content{top:auto;bottom:0}.dropdown-end.dropdown-right{--anchor-h:right;--anchor-v:span-top}.dropdown-end.dropdown-right .dropdown-content{top:auto;bottom:0}.dropdown-bottom{--anchor-v:bottom}.dropdown-bottom .dropdown-content{transform-origin:top;top:100%;bottom:auto}.dropdown-top{--anchor-v:top}.dropdown-top .dropdown-content{transform-origin:bottom;top:auto;bottom:100%}.btn-active{--btn-bg:var(--btn-color,var(--color-base-200))}@supports (color:color-mix(in lab, red, red)){.btn-active{--btn-bg:color-mix(in oklab, var(--btn-color,var(--color-base-200)), #000 7%)}}.btn-active{--btn-shadow:0 0 0 0 oklch(0% 0 0/0), 0 0 0 0 oklch(0% 0 0/0);isolation:isolate}:is(.stack,.stack.stack-bottom)>*{grid-area:3/3/6/4}:is(.stack,.stack.stack-bottom)>:nth-child(2){grid-area:2/2/5/5}:is(.stack,.stack.stack-bottom)>:first-child{grid-area:1/1/4/6}.stack.stack-top>*{grid-area:1/3/4/4}.stack.stack-top>:nth-child(2){grid-area:2/2/5/5}.stack.stack-top>:first-child{grid-area:3/1/6/6}.stack.stack-start>*{grid-area:3/1/4/4}.stack.stack-start>:nth-child(2){grid-area:2/2/5/5}.stack.stack-start>:first-child{grid-area:1/3/6/6}.stack.stack-end>*{grid-area:3/3/4/6}.stack.stack-end>:nth-child(2){grid-area:2/2/5/5}.stack.stack-end>:first-child{grid-area:1/1/6/4}.tabs-box{background-color:var(--color-base-200);--tabs-box-radius:calc(3 * var(--radius-field));border-radius:calc(min(var(--tab-height) / 2, var(--radius-field)) + min(.25rem, var(--tabs-box-radius)));box-shadow:0 -.5px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 .5px oklch(0% 0 0 / calc(var(--depth) * .05)) inset;padding:.25rem}.tabs-box>.tab{border-radius:var(--radius-field);border-style:none}.tabs-box>.tab:focus-visible,.tabs-box>.tab:is(label:has(:checked:focus-visible)){outline-offset:2px}.tabs-box>.tab:focus-visible{z-index:1}.tabs-box>:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-box>:is(input:checked),.tabs-box>:is(label:has(:checked)){background-color:var(--tab-bg,var(--color-base-100));box-shadow:0 1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px 1px -1px var(--color-neutral), 0 1px 6px -4px var(--color-neutral)}@supports (color:color-mix(in lab, red, red)){.tabs-box>:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-box>:is(input:checked),.tabs-box>:is(label:has(:checked)){box-shadow:0 1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px 1px -1px color-mix(in oklab, var(--color-neutral) calc(var(--depth) * 50%), #0000), 0 1px 6px -4px color-mix(in oklab, var(--color-neutral) calc(var(--depth) * 100%), #0000)}}@media (forced-colors:active){.tabs-box>:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-box>:is(input:checked),.tabs-box>:is(label:has(:checked)){border:1px solid}}.tabs-box>.tab-content{height:calc(100% - var(--tab-height) + var(--border) - .5rem);border-radius:calc(min(var(--tab-height) / 2, var(--radius-field)) + min(.25rem, var(--tabs-box-radius)) - var(--border));margin-top:.25rem}.timeline-horizontal{flex-direction:row}.timeline-horizontal>li{align-items:center}.timeline-horizontal>li>hr{width:100%;height:.25rem}.timeline-horizontal>li>hr:first-child{grid-row-start:2;grid-column-start:1}.timeline-horizontal>li>hr:last-child{grid-area:2/3/auto/none}.timeline-horizontal .timeline-start{grid-area:1/1/2/4;place-self:flex-end center}.timeline-horizontal .timeline-end{grid-area:3/1/4/4;place-self:flex-start center}.timeline-horizontal:has(.timeline-middle)>li>hr:first-child{border-start-start-radius:0;border-start-end-radius:var(--radius-selector);border-end-end-radius:var(--radius-selector);border-end-start-radius:0}.timeline-horizontal:has(.timeline-middle)>li>hr:last-child,.timeline-horizontal:not(:has(.timeline-middle)) :first-child>hr:last-child{border-start-start-radius:var(--radius-selector);border-start-end-radius:0;border-end-end-radius:0;border-end-start-radius:var(--radius-selector)}.timeline-horizontal:not(:has(.timeline-middle)) :last-child>hr:first-child{border-start-start-radius:0;border-start-end-radius:var(--radius-selector);border-end-end-radius:var(--radius-selector);border-end-start-radius:0}.timeline-vertical{flex-direction:column}.timeline-vertical>li{--timeline-row-start:minmax(0, 1fr);--timeline-row-end:minmax(0, 1fr);justify-items:center}.timeline-vertical>li>hr{width:.25rem;height:100%}.timeline-vertical>li>hr:first-child{grid-row-start:1;grid-column-start:2}.timeline-vertical>li>hr:last-child{grid-area:3/2/none}.timeline-vertical .timeline-start{grid-area:1/1/4/2;place-self:center flex-end}.timeline-vertical .timeline-end{grid-area:1/3/4/4;place-self:center flex-start}.timeline-vertical:has(.timeline-middle)>li>hr:first-child{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:var(--radius-selector);border-bottom-left-radius:var(--radius-selector)}.timeline-vertical:has(.timeline-middle)>li>hr:last-child,.timeline-vertical:not(:has(.timeline-middle)) :first-child>hr:last-child{border-top-left-radius:var(--radius-selector);border-top-right-radius:var(--radius-selector);border-bottom-right-radius:0;border-bottom-left-radius:0}.timeline-vertical:not(:has(.timeline-middle)) :last-child>hr:first-child{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:var(--radius-selector);border-bottom-left-radius:var(--radius-selector)}.timeline-vertical.timeline-snap-icon>li{--timeline-col-start:minmax(0, 1fr);--timeline-row-start:.5rem}.timeline-compact{--timeline-row-start:0}.timeline-compact .timeline-start{grid-area:3/1/4/4;place-self:flex-start center}.timeline-compact li:has(.timeline-start) .timeline-end{grid-row-start:auto;grid-column-start:none}.timeline-compact.timeline-vertical>li{--timeline-col-start:0}.timeline-compact.timeline-vertical .timeline-start{grid-area:1/3/4/4;place-self:center flex-start}.timeline-compact.timeline-vertical li:has(.timeline-start) .timeline-end{grid-row-start:none;grid-column-start:auto}.drawer-end{grid-auto-columns:auto max-content}.drawer-end>.drawer-toggle~.drawer-content{grid-column-start:1}.drawer-end>.drawer-toggle~.drawer-side{grid-column-start:2;justify-items:end}.drawer-end>.drawer-toggle~.drawer-side>:not(.drawer-overlay){translate:100%}[dir=rtl] :is(.drawer-end>.drawer-toggle~.drawer-side>:not(.drawer-overlay)){translate:-100%}.drawer-end>.drawer-toggle:checked~.drawer-side>:not(.drawer-overlay){translate:0%}.input-lg{--size:calc(var(--size-field,.25rem) * 12);font-size:max(var(--font-size,1.125rem), 1.125rem)}.input-lg[type=number]::-webkit-inner-spin-button{margin-block:-.75rem;margin-inline-end:-.75rem}.input-md{--size:calc(var(--size-field,.25rem) * 10);font-size:max(var(--font-size,.875rem), .875rem)}.input-md[type=number]::-webkit-inner-spin-button{margin-block:-.75rem;margin-inline-end:-.75rem}.input-sm{--size:calc(var(--size-field,.25rem) * 8);font-size:max(var(--font-size,.75rem), .75rem)}.input-sm[type=number]::-webkit-inner-spin-button{margin-block:-.5rem;margin-inline-end:-.75rem}.input-xs{--size:calc(var(--size-field,.25rem) * 6);font-size:max(var(--font-size,.6875rem), .6875rem)}.input-xs[type=number]::-webkit-inner-spin-button{margin-block:-.25rem;margin-inline-end:-.75rem}.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}.avatar-placeholder>div{justify-content:center;align-items:center;display:flex}.modal-bottom{place-items:end}.modal-bottom .modal-box{--modal-tl:var(--radius-box);--modal-tr:var(--radius-box);--modal-bl:0;--modal-br:0;width:100%;max-width:none;height:auto;max-height:calc(100vh - 5em);translate:0 100%;scale:1}.modal-middle{place-items:center}.modal-middle .modal-box{--modal-tl:var(--radius-box);--modal-tr:var(--radius-box);--modal-bl:var(--radius-box);--modal-br:var(--radius-box);width:91.6667%;max-width:32rem;height:auto;max-height:calc(100vh - 5em);translate:0 2%;scale:.98}.modal-top{place-items:start}.modal-top .modal-box{--modal-tl:0;--modal-tr:0;--modal-bl:var(--radius-box);--modal-br:var(--radius-box);width:100%;max-width:none;height:auto;max-height:calc(100vh - 5em);translate:0 -100%;scale:1}.divider-horizontal{--divider-m:0 1rem}.divider-horizontal.divider{flex-direction:column;width:1rem;height:auto}.divider-horizontal.divider:before,.divider-horizontal.divider:after{width:.125rem;height:100%}.btn-circle{width:var(--size);height:var(--size);border-radius:3.40282e38px;padding-inline:0}.btn-square{width:var(--size);height:var(--size);padding-inline:0}.btn-wide{width:100%;max-width:16rem}.rating-half.rating-xs :not(.rating-hidden){width:.5rem}.rating-half.rating-sm :not(.rating-hidden){width:.625rem}.rating-half.rating-md :not(.rating-hidden){width:.75rem}.rating-half.rating-lg :not(.rating-hidden){width:.875rem}.rating-half.rating-xl :not(.rating-hidden){width:1rem}.btn-block{width:100%}.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}.swap-flip{transform-style:preserve-3d;perspective:20rem}.swap-flip .swap-on,.swap-flip .swap-indeterminate,.swap-flip input:indeterminate~.swap-on{backface-visibility:hidden;transform:rotateY(180deg)}.swap-flip input:is(:checked,:indeterminate)~.swap-on,.swap-flip.swap-active .swap-on{transform:rotateY(0)}.swap-flip input:is(:checked,:indeterminate)~.swap-off,.swap-flip.swap-active .swap-off{backface-visibility:hidden;opacity:1;transform:rotateY(-180deg)}.carousel-vertical{scroll-snap-type:y mandatory;flex-direction:column;overflow-y:scroll}.badge-dash{color:var(--badge-color);--badge-bg:#0000;background-image:none;border-style:dashed;border-color:currentColor}.badge-ghost{border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content);background-image:none}.badge-soft{color:var(--badge-color,var(--color-base-content));background-color:var(--badge-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.badge-soft{background-color:color-mix(in oklab, var(--badge-color,var(--color-base-content)) 8%, var(--color-base-100))}}.badge-soft{border-color:var(--badge-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.badge-soft{border-color:color-mix(in oklab, var(--badge-color,var(--color-base-content)) 10%, var(--color-base-100))}}.badge-soft{background-image:none}.input-ghost{box-shadow:none;background-color:#0000;border-color:#0000}.input-ghost:focus,.input-ghost:focus-within{background-color:var(--color-base-100);color:var(--color-base-content);box-shadow:none;border-color:#0000}.badge-outline{color:var(--badge-color);--badge-bg:#0000;background-image:none;border-color:currentColor}.table-zebra tbody tr:where(:nth-child(2n)),.table-zebra tbody tr:where(:nth-child(2n)) :where(.table-pin-cols tr th){background-color:var(--color-base-200)}@media (hover:hover){:is(.table-zebra tbody tr.row-hover,.table-zebra tbody tr.row-hover:where(:nth-child(2n))):hover{background-color:var(--color-base-300)}}.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-circle{-webkit-mask-image:url("data:image/svg+xml,%3csvg width='200' height='200' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle fill='black' cx='100' cy='100' r='100' fill-rule='evenodd'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg width='200' height='200' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle fill='black' cx='100' cy='100' r='100' fill-rule='evenodd'/%3e%3c/svg%3e")}.mask-heart{-webkit-mask-image:url("data:image/svg+xml,%3csvg width='200' height='185' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M100 184.606a15.384 15.384 0 0 1-8.653-2.678C53.565 156.28 37.205 138.695 28.182 127.7 8.952 104.264-.254 80.202.005 54.146.308 24.287 24.264 0 53.406 0c21.192 0 35.869 11.937 44.416 21.879a2.884 2.884 0 0 0 4.356 0C110.725 11.927 125.402 0 146.594 0c29.142 0 53.098 24.287 53.4 54.151.26 26.061-8.956 50.122-28.176 73.554-9.023 10.994-25.383 28.58-63.165 54.228a15.384 15.384 0 0 1-8.653 2.673Z' fill='black' fill-rule='nonzero'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg width='200' height='185' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M100 184.606a15.384 15.384 0 0 1-8.653-2.678C53.565 156.28 37.205 138.695 28.182 127.7 8.952 104.264-.254 80.202.005 54.146.308 24.287 24.264 0 53.406 0c21.192 0 35.869 11.937 44.416 21.879a2.884 2.884 0 0 0 4.356 0C110.725 11.927 125.402 0 146.594 0c29.142 0 53.098 24.287 53.4 54.151.26 26.061-8.956 50.122-28.176 73.554-9.023 10.994-25.383 28.58-63.165 54.228a15.384 15.384 0 0 1-8.653 2.673Z' fill='black' fill-rule='nonzero'/%3e%3c/svg%3e")}.mask-star{-webkit-mask-image:url("data:image/svg+xml,%3csvg width='192' height='180' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m96 137.263-58.779 42.024 22.163-68.389L.894 68.481l72.476-.243L96 0l22.63 68.238 72.476.243-58.49 42.417 22.163 68.389z' fill-rule='evenodd'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg width='192' height='180' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m96 137.263-58.779 42.024 22.163-68.389L.894 68.481l72.476-.243L96 0l22.63 68.238 72.476.243-58.49 42.417 22.163 68.389z' fill-rule='evenodd'/%3e%3c/svg%3e")}.mask-star-2{-webkit-mask-image:url("data:image/svg+xml,%3csvg width='192' height='180' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m96 153.044-58.779 26.243 7.02-63.513L.894 68.481l63.117-13.01L96 0l31.989 55.472 63.117 13.01-43.347 47.292 7.02 63.513z' fill-rule='evenodd'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg width='192' height='180' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m96 153.044-58.779 26.243 7.02-63.513L.894 68.481l63.117-13.01L96 0l31.989 55.472 63.117 13.01-43.347 47.292 7.02 63.513z' fill-rule='evenodd'/%3e%3c/svg%3e")}.checkbox-lg{--size:calc(var(--size-selector,.25rem) * 7);padding:.3125rem}.checkbox-md{--size:calc(var(--size-selector,.25rem) * 6);padding:.25rem}.checkbox-sm{--size:calc(var(--size-selector,.25rem) * 5);padding:.1875rem}.checkbox-xs{--size:calc(var(--size-selector,.25rem) * 4);padding:.125rem}.radio-lg{padding:.3125rem}.radio-lg[type=radio]{--size:calc(var(--size-selector,.25rem) * 7)}.radio-md{padding:.25rem}.radio-md[type=radio]{--size:calc(var(--size-selector,.25rem) * 6)}.radio-sm{padding:.1875rem}.radio-sm[type=radio]{--size:calc(var(--size-selector,.25rem) * 5)}.radio-xs{padding:.125rem}.radio-xs[type=radio]{--size:calc(var(--size-selector,.25rem) * 4)}.select-lg{--size:calc(var(--size-field,.25rem) * 12);font-size:1.125rem}.select-lg option{padding-block:.375rem;padding-inline:1rem}.select-md{--size:calc(var(--size-field,.25rem) * 10);font-size:.875rem}.select-md option{padding-block:.375rem;padding-inline:.75rem}.select-sm{--size:calc(var(--size-field,.25rem) * 8);font-size:.75rem}.select-sm option{padding-block:.25rem;padding-inline:.625rem}.select-xs{--size:calc(var(--size-field,.25rem) * 6);font-size:.6875rem}.select-xs option{padding-block:.25rem;padding-inline:.5rem}.table-lg :not(thead,tfoot) tr{font-size:1.125rem}.table-lg :where(th,td){padding-block:1rem;padding-inline:1.25rem}.table-md :not(thead,tfoot) tr{font-size:.875rem}.table-md :where(th,td){padding-block:.75rem;padding-inline:1rem}.table-sm :not(thead,tfoot) tr{font-size:.75rem}.table-sm :where(th,td){padding-block:.5rem;padding-inline:.75rem}.table-xs :not(thead,tfoot) tr{font-size:.6875rem}.table-xs :where(th,td){padding-block:.25rem;padding-inline:.5rem}.badge-lg{--size:calc(var(--size-selector,.25rem) * 7);font-size:1rem}.badge-md{--size:calc(var(--size-selector,.25rem) * 6);font-size:.875rem}.badge-sm{--size:calc(var(--size-selector,.25rem) * 5);font-size:.75rem}.badge-xs{--size:calc(var(--size-selector,.25rem) * 4);font-size:.625rem}.kbd-lg{--size:calc(var(--size-selector,.25rem) * 7);font-size:1rem}.kbd-md{--size:calc(var(--size-selector,.25rem) * 6);font-size:.875rem}.kbd-sm{--size:calc(var(--size-selector,.25rem) * 5);font-size:.75rem}.kbd-xl{--size:calc(var(--size-selector,.25rem) * 8);font-size:1.125rem}.kbd-xs{--size:calc(var(--size-selector,.25rem) * 4);font-size:.625rem}.alert-error{color:var(--color-error-content);--alert-border-color:var(--color-error);--alert-color:var(--color-error)}.alert-info{color:var(--color-info-content);--alert-border-color:var(--color-info);--alert-color:var(--color-info)}.alert-success{color:var(--color-success-content);--alert-border-color:var(--color-success);--alert-color:var(--color-success)}.alert-warning{color:var(--color-warning-content);--alert-border-color:var(--color-warning);--alert-color:var(--color-warning)}.checkbox-accent{color:var(--color-accent-content);--input-color:var(--color-accent)}.checkbox-error{color:var(--color-error-content);--input-color:var(--color-error)}.checkbox-info{color:var(--color-info-content);--input-color:var(--color-info)}.checkbox-primary{color:var(--color-primary-content);--input-color:var(--color-primary)}.checkbox-secondary{color:var(--color-secondary-content);--input-color:var(--color-secondary)}.checkbox-success{color:var(--color-success-content);--input-color:var(--color-success)}.checkbox-warning{color:var(--color-warning-content);--input-color:var(--color-warning)}.range-accent{color:var(--color-accent);--range-thumb:var(--color-accent-content)}.range-error{color:var(--color-error);--range-thumb:var(--color-error-content)}.range-info{color:var(--color-info);--range-thumb:var(--color-info-content)}.range-primary{color:var(--color-primary);--range-thumb:var(--color-primary-content)}.range-secondary{color:var(--color-secondary);--range-thumb:var(--color-secondary-content)}.range-success{color:var(--color-success);--range-thumb:var(--color-success-content)}.range-warning{color:var(--color-warning);--range-thumb:var(--color-warning-content)}.tooltip-accent{--tt-bg:var(--color-accent)}.tooltip-accent>.tooltip-content,.tooltip-accent[data-tip]:before{color:var(--color-accent-content)}.tooltip-error{--tt-bg:var(--color-error)}.tooltip-error>.tooltip-content,.tooltip-error[data-tip]:before{color:var(--color-error-content)}.tooltip-info{--tt-bg:var(--color-info)}.tooltip-info>.tooltip-content,.tooltip-info[data-tip]:before{color:var(--color-info-content)}.tooltip-primary{--tt-bg:var(--color-primary)}.tooltip-primary>.tooltip-content,.tooltip-primary[data-tip]:before{color:var(--color-primary-content)}.tooltip-secondary{--tt-bg:var(--color-secondary)}.tooltip-secondary>.tooltip-content,.tooltip-secondary[data-tip]:before{color:var(--color-secondary-content)}.tooltip-success{--tt-bg:var(--color-success)}.tooltip-success>.tooltip-content,.tooltip-success[data-tip]:before{color:var(--color-success-content)}.tooltip-warning{--tt-bg:var(--color-warning)}.tooltip-warning>.tooltip-content,.tooltip-warning[data-tip]:before{color:var(--color-warning-content)}.progress-accent{color:var(--color-accent)}.progress-error{color:var(--color-error)}.progress-info{color:var(--color-info)}.progress-neutral{color:var(--color-neutral)}.progress-primary{color:var(--color-primary)}.progress-secondary{color:var(--color-secondary)}.progress-success{color:var(--color-success)}.progress-warning{color:var(--color-warning)}.swap-active .swap-off{opacity:0}.swap-active .swap-on{opacity:1}.btn-lg{--fontsize:1.125rem;--btn-p:1.25rem;--size:calc(var(--size-field,.25rem) * 12)}.btn-md{--fontsize:.875rem;--btn-p:1rem;--size:calc(var(--size-field,.25rem) * 10)}.btn-sm{--fontsize:.75rem;--btn-p:.75rem;--size:calc(var(--size-field,.25rem) * 8)}.btn-xl{--fontsize:1.375rem;--btn-p:1.5rem;--size:calc(var(--size-field,.25rem) * 14)}.btn-xs{--fontsize:.6875rem;--btn-p:.5rem;--size:calc(var(--size-field,.25rem) * 6)}.badge-accent{--badge-color:var(--color-accent);--badge-fg:var(--color-accent-content)}.badge-error{--badge-color:var(--color-error);--badge-fg:var(--color-error-content)}.badge-info{--badge-color:var(--color-info);--badge-fg:var(--color-info-content)}.badge-primary{--badge-color:var(--color-primary);--badge-fg:var(--color-primary-content)}.badge-secondary{--badge-color:var(--color-secondary);--badge-fg:var(--color-secondary-content)}.badge-success{--badge-color:var(--color-success);--badge-fg:var(--color-success-content)}.badge-warning{--badge-color:var(--color-warning);--badge-fg:var(--color-warning-content)}.input-accent,.input-accent:focus,.input-accent:focus-within{--input-color:var(--color-accent)}.input-error,.input-error:focus,.input-error:focus-within{--input-color:var(--color-error)}.input-info,.input-info:focus,.input-info:focus-within{--input-color:var(--color-info)}.input-primary,.input-primary:focus,.input-primary:focus-within{--input-color:var(--color-primary)}.input-secondary,.input-secondary:focus,.input-secondary:focus-within{--input-color:var(--color-secondary)}.input-success,.input-success:focus,.input-success:focus-within{--input-color:var(--color-success)}.input-warning,.input-warning:focus,.input-warning:focus-within{--input-color:var(--color-warning)}.radio-accent{--input-color:var(--color-accent)}.radio-error{--input-color:var(--color-error)}.radio-info{--input-color:var(--color-info)}.radio-primary{--input-color:var(--color-primary)}.radio-secondary{--input-color:var(--color-secondary)}.radio-success{--input-color:var(--color-success)}.radio-warning{--input-color:var(--color-warning)}.range-lg{--range-thumb-size:calc(var(--size-selector,.25rem) * 7)}.range-md{--range-thumb-size:calc(var(--size-selector,.25rem) * 6)}.range-sm{--range-thumb-size:calc(var(--size-selector,.25rem) * 5)}.range-xs{--range-thumb-size:calc(var(--size-selector,.25rem) * 4)}.select-accent,.select-accent:focus,.select-accent:focus-within{--input-color:var(--color-accent)}.select-error,.select-error:focus,.select-error:focus-within{--input-color:var(--color-error)}.select-info,.select-info:focus,.select-info:focus-within{--input-color:var(--color-info)}.select-primary,.select-primary:focus,.select-primary:focus-within{--input-color:var(--color-primary)}.select-secondary,.select-secondary:focus,.select-secondary:focus-within{--input-color:var(--color-secondary)}.select-success,.select-success:focus,.select-success:focus-within{--input-color:var(--color-success)}.select-warning,.select-warning:focus,.select-warning:focus-within{--input-color:var(--color-warning)}.toggle-accent:checked,.toggle-accent[aria-checked=true]{--input-color:var(--color-accent)}.toggle-lg[type=checkbox],.toggle-lg:has([type=checkbox]){--size:calc(var(--size-selector,.25rem) * 7)}.toggle-md[type=checkbox],.toggle-md:has([type=checkbox]){--size:calc(var(--size-selector,.25rem) * 6)}.toggle-primary:checked,.toggle-primary[aria-checked=true]{--input-color:var(--color-primary)}.toggle-secondary:checked,.toggle-secondary[aria-checked=true]{--input-color:var(--color-secondary)}.toggle-sm[type=checkbox],.toggle-sm:has([type=checkbox]){--size:calc(var(--size-selector,.25rem) * 5)}.toggle-xs[type=checkbox],.toggle-xs:has([type=checkbox]){--size:calc(var(--size-selector,.25rem) * 4)}}.prose :where(a.btn:not(.btn-link)):not(:where([class~=not-prose],[class~=not-prose] *)){text-decoration-line:none}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse:not(td,tr,colgroup){visibility:revert-layer}.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%}.join{--join-ss:0;--join-se:0;--join-es:0;--join-ee:0;align-items:stretch;display:inline-flex}.join :where(.join-item){border-start-start-radius:var(--join-ss,0);border-start-end-radius:var(--join-se,0);border-end-end-radius:var(--join-ee,0);border-end-start-radius:var(--join-es,0)}.join :where(.join-item) *{--join-ss:var(--radius-field);--join-se:var(--radius-field);--join-es:var(--radius-field);--join-ee:var(--radius-field)}.join>.join-item:where(:first-child),.join :first-child:not(:last-child) :where(.join-item){--join-ss:var(--radius-field);--join-se:0;--join-es:var(--radius-field);--join-ee:0}.join>.join-item:where(:last-child),.join :last-child:not(:first-child) :where(.join-item){--join-ss:0;--join-se:var(--radius-field);--join-es:0;--join-ee:var(--radius-field)}.join>.join-item:where(:only-child),.join :only-child :where(.join-item){--join-ss:var(--radius-field);--join-se:var(--radius-field);--join-es:var(--radius-field);--join-ee:var(--radius-field)}.join>:where(:focus,:has(:focus)){z-index:1}@media (hover:hover){.join>:where(.btn:hover,:has(.btn:hover)){isolation:isolate}}.-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)}.join-vertical{flex-direction:column}.join-vertical>.join-item:first-child,.join-vertical :first-child:not(:last-child) .join-item{--join-ss:var(--radius-field);--join-se:var(--radius-field);--join-es:0;--join-ee:0}.join-vertical>.join-item:last-child,.join-vertical :last-child:not(:first-child) .join-item{--join-ss:0;--join-se:0;--join-es:var(--radius-field);--join-ee:var(--radius-field)}.join-vertical>.join-item:only-child,.join-vertical :only-child .join-item{--join-ss:var(--radius-field);--join-se:var(--radius-field);--join-es:var(--radius-field);--join-ee:var(--radius-field)}.join-vertical .join-item:where(:not(:first-child)){margin-block-start:calc(var(--border,1px) * -1);margin-inline-start:0}.-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-2{margin-bottom: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--alert-circle\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 8v4m0 4h.01'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--alert-triangle\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m21.73 18l-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3M12 9v4m0 4h.01'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--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-circle\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M21.801 10A10 10 0 1 1 17 3.335'/%3E%3Cpath d='m9 11l3 3L22 4'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--check\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M20 6L9 17l-5-5'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--chevron-left\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m15 18l-6-6l6-6'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--chevron-right\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m9 18l6-6l-6-6'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--chevrons-left\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m11 17l-5-5l5-5m7 10l-5-5l5-5'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--chevrons-right\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m6 17l5-5l-5-5m7 10l5-5l-5-5'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--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--hash\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 9h16M4 15h16M10 3L8 21m8-18l-2 18'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--heart\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 9.5a5.5 5.5 0 0 1 9.591-3.676a.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--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--mail\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='m22 7l-8.991 5.727a2 2 0 0 1-2.009 0L2 7'/%3E%3Crect width='20' height='16' x='2' y='4' rx='2'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--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--phone\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233a14 14 0 0 0 6.392 6.384'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--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--text\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M15 18H3M17 6H3m18 6H3'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--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}.list-none{list-style-type:none}.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)}.gap-10{gap:calc(var(--spacing) * 10)}: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}@layer daisyui.l1{.alert-dash{color:var(--alert-color);box-shadow:none;background-color:#0000;background-image:none;border-style:dashed}.btn-dash:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-shadow:"";--btn-bg:#0000;--btn-fg:var(--btn-color);--btn-border:var(--btn-color);--btn-noise:none}@media (hover:none){.btn-dash:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-shadow:"";--btn-bg:#0000;--btn-fg:var(--btn-color);--btn-border:var(--btn-color);--btn-noise:none}}.alert-outline{color:var(--alert-color);box-shadow:none;background-color:#0000;background-image:none}.alert-soft{color:var(--alert-color,var(--color-base-content));background:var(--alert-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.alert-soft{background:color-mix(in oklab, var(--alert-color,var(--color-base-content)) 8%, var(--color-base-100))}}.alert-soft{--alert-border-color:var(--alert-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.alert-soft{--alert-border-color:color-mix(in oklab, var(--alert-color,var(--color-base-content)) 10%, var(--color-base-100))}}.alert-soft{box-shadow:none;background-image:none}.btn-link{--btn-border:#0000;--btn-bg:#0000;--btn-noise:none;--btn-shadow:"";outline-color:currentColor;text-decoration-line:underline}.btn-link:not(.btn-disabled,.btn:disabled,.btn[disabled]){--btn-fg:var(--btn-color,var(--color-primary))}.btn-link:is(.btn-active,:hover,:active:focus,:focus-visible){--btn-border:#0000;--btn-bg:#0000}.btn-ghost:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn)){--btn-shadow:"";--btn-bg:#0000;--btn-border:#0000;--btn-noise:none}.btn-ghost:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn)):not(:disabled,[disabled],.btn-disabled){--btn-fg:var(--btn-color,currentColor);outline-color:currentColor}@media (hover:none){.btn-ghost:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-shadow:"";--btn-bg:#0000;--btn-fg:var(--btn-color,currentColor);--btn-border:#0000;--btn-noise:none;outline-color:currentColor}}.btn-outline:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-shadow:"";--btn-bg:#0000;--btn-fg:var(--btn-color);--btn-border:var(--btn-color);--btn-noise:none}@media (hover:none){.btn-outline:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-shadow:"";--btn-bg:#0000;--btn-fg:var(--btn-color);--btn-border:var(--btn-color);--btn-noise:none}}.btn-soft:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-shadow:"";--btn-fg:var(--btn-color,var(--color-base-content));--btn-bg:var(--btn-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.btn-soft:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-bg:color-mix(in oklab, var(--btn-color,var(--color-base-content)) 8%, var(--color-base-100))}}.btn-soft:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-border:var(--btn-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.btn-soft:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-border:color-mix(in oklab, var(--btn-color,var(--color-base-content)) 10%, var(--color-base-100))}}.btn-soft:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-noise:none}@media (hover:none){.btn-soft:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-shadow:"";--btn-fg:var(--btn-color,var(--color-base-content));--btn-bg:var(--btn-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.btn-soft:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-bg:color-mix(in oklab, var(--btn-color,var(--color-base-content)) 8%, var(--color-base-100))}}.btn-soft:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-border:var(--btn-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.btn-soft:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-border:color-mix(in oklab, var(--btn-color,var(--color-base-content)) 10%, var(--color-base-100))}}.btn-soft:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-noise:none}}}.btn-dash{border-style:dashed}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-base-200\/30{border-color:var(--color-base-200)}@supports (color:color-mix(in lab, red, red)){.border-base-200\/30{border-color:color-mix(in oklab, var(--color-base-200) 30%, transparent)}}.border-base-300{border-color:var(--color-base-300)}.border-base-content\/20{border-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.border-base-content\/20{border-color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.border-black\/5{border-color:#0000000d}@supports (color:color-mix(in lab, red, red)){.border-black\/5{border-color:color-mix(in oklab, var(--color-black) 5%, transparent)}}.border-primary{border-color:var(--color-primary)}.glass{-webkit-backdrop-filter:blur(var(--glass-blur,40px));backdrop-filter:blur(var(--glass-blur,40px));background-color:#0000;background-image:linear-gradient(135deg, oklch(100% 0 0 / var(--glass-opacity,30%)) 0%, oklch(0% 0 0/0) 100%), linear-gradient(var(--glass-reflect-degree,100deg), oklch(100% 0 0 / var(--glass-reflect-opacity,5%)) 25%, oklch(0% 0 0/0) 25%);box-shadow:0 0 0 1px oklch(100% 0 0 / var(--glass-border-opacity,20%)) inset, 0 0 0 2px oklch(0% 0 0/.05);text-shadow:0 1px oklch(0% 0 0 / var(--glass-text-shadow-opacity,5%));border:none}.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))}.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))}.mask-circle{--tw-mask-radial-shape:circle}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.p-0{padding:calc(var(--spacing) * 0)}.p-1{padding:calc(var(--spacing) * 1)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.p-10{padding:calc(var(--spacing) * 10)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-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\:join-horizontal{flex-direction:row}.lg\:join-horizontal>.join-item:first-child,.lg\:join-horizontal :first-child:not(:last-child) .join-item{--join-ss:var(--radius-field);--join-se:0;--join-es:var(--radius-field);--join-ee:0}.lg\:join-horizontal>.join-item:last-child,.lg\:join-horizontal :last-child:not(:first-child) .join-item{--join-ss:0;--join-se:var(--radius-field);--join-es:0;--join-ee:var(--radius-field)}.lg\:join-horizontal>.join-item:only-child,.lg\:join-horizontal :only-child .join-item{--join-ss:var(--radius-field);--join-se:var(--radius-field);--join-es:var(--radius-field);--join-ee:var(--radius-field)}.lg\:join-horizontal .join-item:where(:not(:first-child)){margin-block-start:0;margin-inline-start:calc(var(--border,1px) * -1)}.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
+/*! tailwindcss v4.3.0 | 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-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-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-open>.drawer-toggle:checked~.drawer-side{scrollbar-color:revert-layer}:root:has(.drawer-open>.drawer-toggle:checked){--page-overflow:revert-layer;--page-scroll-gutter:revert-layer;--page-scroll-bg:revert-layer;--page-scroll-transition:revert-layer;--page-has-backdrop:revert-layer;animation:revert-layer;animation-timeline:revert-layer}.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}}.file-input{cursor:pointer;cursor:pointer;border:var(--border) solid #0000;appearance:none;background-color:var(--color-base-100);vertical-align:middle;webkit-user-select:none;-webkit-user-select:none;user-select:none;width:clamp(3rem,20rem,100%);height:var(--size);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));align-items:center;padding-inline-end:.75rem;font-size:.875rem;line-height:2;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.file-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}}.file-input{--size:calc(var(--size-field,.25rem) * 10);--input-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.file-input{--input-color:color-mix(in oklab, var(--color-base-content) 20%, #0000)}}.file-input::file-selector-button{cursor:pointer;webkit-user-select:none;-webkit-user-select:none;user-select:none;height:calc(100% + var(--border) * 2);margin-inline-end:1rem;margin-block:calc(var(--border) * -1);color:var(--btn-fg);border-width:var(--border);border-style:solid;border-color:var(--btn-border);background-color:var(--btn-bg);background-size:calc(var(--noise) * 100%);background-image:var(--btn-noise);text-shadow:0 .5px oklch(1 0 0 / calc(var(--depth) * .15));box-shadow:0 .5px 0 .5px white inset, var(--btn-shadow);border-start-start-radius:calc(var(--join-ss,var(--radius-field) - var(--border)));border-end-start-radius:calc(var(--join-es,var(--radius-field) - var(--border)));margin-inline-start:calc(var(--border) * -1);padding-inline:1rem;font-size:.875rem;font-weight:600}@supports (color:color-mix(in lab, red, red)){.file-input::file-selector-button{box-shadow:0 .5px 0 .5px color-mix(in oklab, color-mix(in oklab, white 30%, var(--btn-bg)) calc(var(--depth) * 20%), #0000) inset, var(--btn-shadow)}}.file-input::file-selector-button{--size:calc(var(--size-field,.25rem) * 10);--btn-bg:var(--btn-color,var(--color-base-200));--btn-fg:var(--color-base-content);--btn-border:var(--btn-bg)}@supports (color:color-mix(in lab, red, red)){.file-input::file-selector-button{--btn-border:color-mix(in oklab, var(--btn-bg), #000 5%)}}.file-input::file-selector-button{--btn-shadow:0 3px 2px -2px var(--btn-bg), 0 4px 3px -2px var(--btn-bg)}@supports (color:color-mix(in lab, red, red)){.file-input::file-selector-button{--btn-shadow:0 3px 2px -2px color-mix(in oklab, var(--btn-bg) 30%, #0000), 0 4px 3px -2px color-mix(in oklab, var(--btn-bg) 30%, #0000)}}.file-input::file-selector-button{--btn-noise:var(--fx-noise)}.file-input:focus{--input-color:var(--color-base-content);box-shadow:0 1px var(--input-color)}@supports (color:color-mix(in lab, red, red)){.file-input:focus{box-shadow:0 1px color-mix(in oklab, var(--input-color) 10%, #0000)}}.file-input:focus{outline:2px solid var(--input-color);outline-offset:2px;isolation:isolate}.file-input:has(>input[disabled]),.file-input:is(:disabled,[disabled]){cursor:not-allowed;border-color:var(--color-base-200);background-color:var(--color-base-200)}:is(.file-input:has(>input[disabled]),.file-input:is(:disabled,[disabled]))::placeholder{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:is(.file-input:has(>input[disabled]),.file-input:is(:disabled,[disabled]))::placeholder{color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.file-input:has(>input[disabled]),.file-input:is(:disabled,[disabled]){box-shadow:none;color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.file-input:has(>input[disabled]),.file-input:is(:disabled,[disabled]){color:color-mix(in oklch, var(--color-base-content) 20%, #0000)}}:is(.file-input:has(>input[disabled]),.file-input:is(:disabled,[disabled]))::file-selector-button{cursor:not-allowed;border-color:var(--color-base-200);background-color:var(--color-base-200);--btn-border:#0000;--btn-noise:none;--btn-fg:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:is(.file-input:has(>input[disabled]),.file-input:is(:disabled,[disabled]))::file-selector-button{--btn-fg:color-mix(in oklch, var(--color-base-content) 20%, #0000)}}.textarea{border:var(--border) solid #0000;appearance:none;border-radius:var(--radius-field);background-color:var(--color-base-100);vertical-align:middle;width:clamp(3rem,20rem,100%);min-height:5rem;font-size:max(var(--font-size,.875rem), .875rem);touch-action:manipulation;border-color:var(--input-color);box-shadow:0 1px var(--input-color) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset;flex-shrink:1;padding-block:.5rem;padding-inline:.75rem}@supports (color:color-mix(in lab, red, red)){.textarea{box-shadow:0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset}}.textarea{--input-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.textarea{--input-color:color-mix(in oklab, var(--color-base-content) 20%, #0000)}}.textarea textarea{appearance:none;background-color:#0000;border:none}.textarea textarea:focus,.textarea textarea:focus-within{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.textarea textarea:focus,.textarea textarea:focus-within{outline-offset:2px;outline:2px solid #0000}}.textarea:focus,.textarea:focus-within{--input-color:var(--color-base-content);box-shadow:0 1px var(--input-color)}@supports (color:color-mix(in lab, red, red)){.textarea:focus,.textarea:focus-within{box-shadow:0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000)}}.textarea:focus,.textarea:focus-within{outline:2px solid var(--input-color);outline-offset:2px;isolation:isolate}@media (pointer:coarse){@supports (-webkit-touch-callout:none){.textarea:focus,.textarea:focus-within{--font-size:1rem}}}.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]){cursor:not-allowed;border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]){color:color-mix(in oklab, var(--color-base-content) 40%, transparent)}}:is(.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]))::placeholder{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:is(.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]))::placeholder{color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]){box-shadow:none}.textarea:has(>textarea[disabled])>textarea[disabled]{cursor:not-allowed}.stack{grid-template-rows:3px 4px 1fr 4px 3px;grid-template-columns:3px 4px 1fr 4px 3px;display:inline-grid}.stack>*{width:100%;height:100%}.stack>:nth-child(n+2){opacity:.7;width:100%}.stack>:nth-child(2){z-index:2;opacity:.9}.stack>:first-child{z-index:3;width:100%}.modal-backdrop{color:#0000;z-index:-1;grid-row-start:1;grid-column-start:1;place-self:stretch stretch;display:grid}.modal-backdrop button{cursor:pointer}.tab-content{order:var(--tabcontent-order);--tabcontent-radius-ss:var(--radius-box);--tabcontent-radius-se:var(--radius-box);--tabcontent-radius-es:var(--radius-box);--tabcontent-radius-ee:var(--radius-box);--tabcontent-order:1;width:100%;height:calc(100% - var(--tab-height) + var(--border));margin:var(--tabcontent-margin);border-color:#0000;border-width:var(--border);border-start-start-radius:var(--tabcontent-radius-ss);border-start-end-radius:var(--tabcontent-radius-se);border-end-end-radius:var(--tabcontent-radius-ee);border-end-start-radius:var(--tabcontent-radius-es);display:none}.timeline-end{grid-area:3/1/4/4;place-self:flex-start center;margin:.25rem}.timeline-start{grid-area:1/1/2/4;place-self:flex-end center;margin:.25rem}.stat-figure{grid-row:1/span 3;grid-column-start:2;place-self:center flex-end}.modal-box{background-color:var(--color-base-100);border-top-left-radius:var(--modal-tl,var(--radius-box));border-top-right-radius:var(--modal-tr,var(--radius-box));border-bottom-left-radius:var(--modal-bl,var(--radius-box));border-bottom-right-radius:var(--modal-br,var(--radius-box));opacity:0;overscroll-behavior:contain;grid-row-start:1;grid-column-start:1;width:91.6667%;max-width:32rem;max-height:100vh;padding:1.5rem;transition:translate .3s ease-out,scale .3s ease-out,opacity .2s ease-out 50ms,box-shadow .3s ease-out;overflow-y:auto;scale:.95;box-shadow:0 25px 50px -12px oklch(0% 0 0/.25)}.drawer-content{grid-row-start:1;grid-column-start:2;min-width:0}.timeline-middle{grid-row-start:2;grid-column-start:2}.stat-value{white-space:nowrap;grid-column-start:1;font-size:2rem;font-weight:800}.stat-desc{white-space:nowrap;color:var(--color-base-content);grid-column-start:1}@supports (color:color-mix(in lab, red, red)){.stat-desc{color:color-mix(in oklab, var(--color-base-content) 60%, transparent)}}.stat-desc{font-size:.75rem}.stat-title{white-space:nowrap;color:var(--color-base-content);grid-column-start:1}@supports (color:color-mix(in lab, red, red)){.stat-title{color:color-mix(in oklab, var(--color-base-content) 60%, transparent)}}.stat-title{font-size:.75rem}.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}.navbar-end{justify-content:flex-end;align-items:center;width:50%;display:inline-flex}.navbar-start{justify-content:flex-start;align-items:center;width:50%;display:inline-flex}.card-body{padding:var(--card-p,1.5rem);font-size:var(--card-fs,.875rem);flex-direction:column;flex:auto;gap:.5rem;display:flex}.card-body :where(p){flex-grow:1}.navbar-center{flex-shrink:0;align-items:center;display:inline-flex}.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)}.menu-title{color:var(--color-base-content);padding-block:.5rem;padding-inline:.75rem}@supports (color:color-mix(in lab, red, red)){.menu-title{color:color-mix(in oklab, var(--color-base-content) 40%, transparent)}}.menu-title{font-size:.875rem;font-weight:600}.btn-accent{--btn-color:var(--color-accent);--btn-fg:var(--color-accent-content)}.btn-error{--btn-color:var(--color-error);--btn-fg:var(--color-error-content)}.btn-info{--btn-color:var(--color-info);--btn-fg:var(--color-info-content)}.btn-neutral{--btn-color:var(--color-neutral);--btn-fg:var(--color-neutral-content)}.btn-primary{--btn-color:var(--color-primary);--btn-fg:var(--color-primary-content)}.btn-secondary{--btn-color:var(--color-secondary);--btn-fg:var(--color-secondary-content)}.btn-success{--btn-color:var(--color-success);--btn-fg:var(--color-success-content)}.btn-warning{--btn-color:var(--color-warning);--btn-fg:var(--color-warning-content)}}@layer daisyui.l1.l2{.modal.modal-open,.modal[open],.modal:target,.modal-toggle:checked+.modal{pointer-events:auto;visibility:visible;opacity:1;transition:visibility 0s allow-discrete, background-color .3s ease-out, opacity .1s ease-out;background-color:oklch(0% 0 0/.4)}:is(.modal.modal-open,.modal[open],.modal:target,.modal-toggle:checked+.modal) .modal-box{opacity:1;translate:0;scale:1}:root:has(:is(.modal.modal-open,.modal[open],.modal:target,.modal-toggle:checked+.modal)){--page-has-backdrop:1;--page-overflow:hidden;--page-scroll-bg:var(--page-scroll-bg-on);--page-scroll-gutter:stable;--page-scroll-transition:var(--page-scroll-transition-on);animation:forwards set-page-has-scroll;animation-timeline:scroll()}@starting-style{.modal.modal-open,.modal[open],.modal:target,.modal-toggle:checked+.modal{opacity:0}}.drawer-open>.drawer-side{overflow-y:auto}.drawer-open>.drawer-toggle{display:none}.drawer-open>.drawer-toggle~.drawer-side{pointer-events:auto;visibility:visible;overscroll-behavior:auto;opacity:1;width:auto;display:block;position:sticky}.drawer-open>.drawer-toggle~.drawer-side>.drawer-overlay{cursor:default;background-color:#0000}.drawer-open>.drawer-toggle:checked~.drawer-side{pointer-events:auto;visibility:visible}:where(.drawer-toggle:checked~.drawer-side){pointer-events:auto;visibility:visible;opacity:1;overflow-y:auto}:where(.drawer-toggle:checked~.drawer-side)>:not(.drawer-overlay){translate:0%}.drawer-toggle:focus-visible~.drawer-content label.drawer-button{outline-offset:2px;outline:2px solid}.tooltip>.tooltip-content,.tooltip[data-tip]:before{transform:translateX(-50%) translateY(var(--tt-pos,.25rem));inset:auto auto var(--tt-off) 50%}.tooltip:after{transform:translateX(-50%) translateY(var(--tt-pos,.25rem));inset:auto auto var(--tt-tail) 50%}.collapse-arrow>.collapse-title:after{width:.5rem;height:.5rem;display:block;position:absolute;transform:translateY(-100%)rotate(45deg)}@media (prefers-reduced-motion:no-preference){.collapse-arrow>.collapse-title:after{transition-property:all;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1)}}.collapse-arrow>.collapse-title:after{content:"";transform-origin:75% 75%;pointer-events:none;top:50%;inset-inline-end:1.4rem;box-shadow:2px 2px}.btn:disabled:not(.btn-link,.btn-ghost){background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn:disabled:not(.btn-link,.btn-ghost){background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}.btn:disabled:not(.btn-link,.btn-ghost){box-shadow:none}.btn:disabled{pointer-events:none;--btn-border:#0000;--btn-noise:none;--btn-fg:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn:disabled{--btn-fg:color-mix(in oklch, var(--color-base-content) 20%, #0000)}}.btn[disabled]:not(.btn-link,.btn-ghost){background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn[disabled]:not(.btn-link,.btn-ghost){background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}.btn[disabled]:not(.btn-link,.btn-ghost){box-shadow:none}.btn[disabled]{pointer-events:none;--btn-border:#0000;--btn-noise:none;--btn-fg:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn[disabled]{--btn-fg:color-mix(in oklch, var(--color-base-content) 20%, #0000)}}.btn-disabled:not(.btn-link,.btn-ghost){background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn-disabled:not(.btn-link,.btn-ghost){background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}.btn-disabled:not(.btn-link,.btn-ghost){box-shadow:none}.btn-disabled{pointer-events:none;--btn-border:#0000;--btn-noise:none;--btn-fg:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn-disabled{--btn-fg:color-mix(in oklch, var(--color-base-content) 20%, #0000)}}@media (prefers-reduced-motion:no-preference){.collapse[open].collapse-arrow>.collapse-title:after,.collapse.collapse-open.collapse-arrow>.collapse-title:after{transform:translateY(-50%)rotate(225deg)}}.collapse.collapse-open.collapse-plus>.collapse-title:after{--tw-content:"−";content:var(--tw-content)}:is(.collapse[tabindex].collapse-arrow:focus:not(.collapse-close),.collapse.collapse-arrow[tabindex]:focus-within:not(.collapse-close))>.collapse-title:after,.collapse.collapse-arrow:not(.collapse-close)>input:is([type=checkbox],[type=radio]):checked~.collapse-title:after{transform:translateY(-50%)rotate(225deg)}.collapse[open].collapse-plus>.collapse-title:after,.collapse[tabindex].collapse-plus:focus:not(.collapse-close)>.collapse-title:after,.collapse.collapse-plus:not(.collapse-close)>input:is([type=checkbox],[type=radio]):checked~.collapse-title:after{--tw-content:"−";content:var(--tw-content)}.tabs-lift{--tabs-height:auto;--tabs-direction:row}.tabs-lift>.tab{--tab-border:0 0 var(--border) 0;--tab-radius-ss:var(--tab-radius-limit);--tab-radius-se:var(--tab-radius-limit);--tab-radius-es:0;--tab-radius-ee:0;--tab-paddings:var(--border) var(--tab-p) 0 var(--tab-p);--tab-border-colors:#0000 #0000 var(--tab-border-color) #0000;--tab-corner-width:calc(100% + var(--tab-radius-limit) * 2);--tab-corner-height:var(--tab-radius-limit);--tab-corner-position:top left, top right;border-width:var(--tab-border);padding:var(--tab-paddings);border-color:var(--tab-border-colors);border-start-start-radius:var(--tab-radius-ss);border-start-end-radius:var(--tab-radius-se);border-end-end-radius:var(--tab-radius-ee);border-end-start-radius:var(--tab-radius-es)}.tabs-lift>.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-lift>.tab:is(input:checked,label:has(:checked)){--tab-border:var(--border) var(--border) 0 var(--border);--tab-border-colors:var(--tab-border-color) var(--tab-border-color) #0000 var(--tab-border-color);--tab-paddings:0 calc(var(--tab-p) - var(--border)) var(--border) calc(var(--tab-p) - var(--border));--tab-inset:auto auto 0 auto;--radius-start:radial-gradient(circle at top left, var(--tab-radius-grad));--radius-end:radial-gradient(circle at top right, var(--tab-radius-grad));background-color:var(--tab-bg)}:is(.tabs-lift>.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-lift>.tab:is(input:checked,label:has(:checked))):before{z-index:1;content:"";width:var(--tab-corner-width);height:var(--tab-corner-height);background-position:var(--tab-corner-position);background-image:var(--radius-start), var(--radius-end);background-size:var(--tab-radius-limit) var(--tab-radius-limit);inset:var(--tab-inset);background-repeat:no-repeat;display:block;position:absolute}:is(.tabs-lift>.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-lift>.tab:is(input:checked,label:has(:checked))):first-child:before{--radius-start:none}[dir=rtl] :is(.tabs-lift>.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-lift>.tab:is(input:checked,label:has(:checked))):first-child:before{transform:rotateY(180deg)}:is(.tabs-lift>.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-lift>.tab:is(input:checked,label:has(:checked))):last-child:before{--radius-end:none}[dir=rtl] :is(.tabs-lift>.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-lift>.tab:is(input:checked,label:has(:checked))):last-child:before{transform:rotateY(180deg)}.tabs-lift:has(>.tab-content)>.tab:first-child:not(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]){--tab-border-colors:var(--tab-border-color) var(--tab-border-color) #0000 var(--tab-border-color)}.tabs-lift>.tab-content{--tabcontent-margin:calc(-1 * var(--border)) 0 0 0;--tabcontent-radius-ss:0;--tabcontent-radius-se:var(--radius-box);--tabcontent-radius-es:var(--radius-box);--tabcontent-radius-ee:var(--radius-box)}:is(.tabs-lift :checked,.tabs-lift label:has(:checked),.tabs-lift :is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]))+.tab-content:first-child,:is(.tabs-lift :checked,.tabs-lift label:has(:checked),.tabs-lift :is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]))+.tab-content:nth-child(n+3){--tabcontent-radius-ss:var(--radius-box)}.list .list-row:has(.list-col-grow:first-child){--list-grid-cols:1fr}.list .list-row:has(.list-col-grow:nth-child(2)){--list-grid-cols:minmax(0, auto) 1fr}.list .list-row:has(.list-col-grow:nth-child(3)){--list-grid-cols:minmax(0, auto) minmax(0, auto) 1fr}.list .list-row:has(.list-col-grow:nth-child(4)){--list-grid-cols:minmax(0, auto) minmax(0, auto) minmax(0, auto) 1fr}.list .list-row:has(.list-col-grow:nth-child(5)){--list-grid-cols:minmax(0, auto) minmax(0, auto) minmax(0, auto) minmax(0, auto) 1fr}.list .list-row:has(.list-col-grow:nth-child(6)){--list-grid-cols:minmax(0, auto) minmax(0, auto) minmax(0, auto) minmax(0, auto) minmax(0, auto) 1fr}.list .list-row>*{grid-row-start:1}.avatar-offline:before{content:"";z-index:1;background-color:var(--color-base-300);outline:2px solid var(--color-base-100);border-radius:3.40282e38px;width:15%;height:15%;display:block;position:absolute;top:7%;right:7%}.avatar-online:before{content:"";z-index:1;background-color:var(--color-success);outline:2px solid var(--color-base-100);border-radius:3.40282e38px;width:15%;height:15%;display:block;position:absolute;top:7%;right:7%}.steps .step-neutral+.step-neutral:before,.steps .step-neutral:after,.steps .step-neutral>.step-icon{--step-bg:var(--color-neutral);--step-fg:var(--color-neutral-content)}.steps .step-primary+.step-primary:before,.steps .step-primary:after,.steps .step-primary>.step-icon{--step-bg:var(--color-primary);--step-fg:var(--color-primary-content)}.steps .step-secondary+.step-secondary:before,.steps .step-secondary:after,.steps .step-secondary>.step-icon{--step-bg:var(--color-secondary);--step-fg:var(--color-secondary-content)}.steps .step-accent+.step-accent:before,.steps .step-accent:after,.steps .step-accent>.step-icon{--step-bg:var(--color-accent);--step-fg:var(--color-accent-content)}.steps .step-info+.step-info:before,.steps .step-info:after,.steps .step-info>.step-icon{--step-bg:var(--color-info);--step-fg:var(--color-info-content)}.steps .step-success+.step-success:before,.steps .step-success:after,.steps .step-success>.step-icon{--step-bg:var(--color-success);--step-fg:var(--color-success-content)}.steps .step-warning+.step-warning:before,.steps .step-warning:after,.steps .step-warning>.step-icon{--step-bg:var(--color-warning);--step-fg:var(--color-warning-content)}.steps .step-error+.step-error:before,.steps .step-error:after,.steps .step-error>.step-icon{--step-bg:var(--color-error);--step-fg:var(--color-error-content)}.tabs-border>.tab{--tab-border-color:#0000 #0000 var(--tab-border-color) #0000;border-radius:var(--radius-field);position:relative}.tabs-border>.tab:before{content:"";background-color:var(--tab-border-color);border-radius:var(--radius-field);width:80%;height:3px;transition:background-color .2s;position:absolute;bottom:0;left:10%}:is(.tabs-border>.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-border>.tab:is(input:checked),.tabs-border>.tab:is(label:has(:checked))):before{--tab-border-color:currentColor;border-top:3px solid}.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-bottom>.tooltip-content,.tooltip-bottom[data-tip]:before{transform:translateX(-50%) translateY(var(--tt-pos,-.25rem));inset:var(--tt-off) auto auto 50%}.tooltip-bottom:after{transform:translateX(-50%) translateY(var(--tt-pos,-.25rem)) rotate(180deg);inset:var(--tt-tail) auto auto 50%}.tooltip-left>.tooltip-content,.tooltip-left[data-tip]:before{transform:translateX(calc(var(--tt-pos,.25rem) - .25rem)) translateY(-50%);inset:50% var(--tt-off) auto auto}.tooltip-left:after{transform:translateX(var(--tt-pos,.25rem)) translateY(-50%) rotate(-90deg);inset:50% calc(var(--tt-tail) + 1px) auto auto}.tooltip-right>.tooltip-content,.tooltip-right[data-tip]:before{transform:translateX(calc(var(--tt-pos,-.25rem) + .25rem)) translateY(-50%);inset:50% auto auto var(--tt-off)}.tooltip-right:after{transform:translateX(var(--tt-pos,-.25rem)) translateY(-50%) rotate(90deg);inset:50% auto auto calc(var(--tt-tail) + 1px)}.tooltip-top>.tooltip-content,.tooltip-top[data-tip]:before{transform:translateX(-50%) translateY(var(--tt-pos,.25rem));inset:auto auto var(--tt-off) 50%}.tooltip-top:after{transform:translateX(-50%) translateY(var(--tt-pos,.25rem));inset:auto auto var(--tt-tail) 50%}.dropdown-right{--anchor-h:right;--anchor-v:span-bottom}.dropdown-right .dropdown-content{transform-origin:0;inset-inline-start:100%;top:0;bottom:auto}.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)}.dropdown-left{--anchor-h:left;--anchor-v:span-bottom}.dropdown-left .dropdown-content{transform-origin:100%;inset-inline-end:100%;top:0;bottom:auto}.dropdown-end{--anchor-h:span-left}.dropdown-end :where(.dropdown-content){inset-inline-end:0;translate:0}[dir=rtl] :is(.dropdown-end :where(.dropdown-content)){translate:0}.dropdown-end.dropdown-left{--anchor-h:left;--anchor-v:span-top}.dropdown-end.dropdown-left .dropdown-content{top:auto;bottom:0}.dropdown-end.dropdown-right{--anchor-h:right;--anchor-v:span-top}.dropdown-end.dropdown-right .dropdown-content{top:auto;bottom:0}.dropdown-bottom{--anchor-v:bottom}.dropdown-bottom .dropdown-content{transform-origin:top;top:100%;bottom:auto}.dropdown-top{--anchor-v:top}.dropdown-top .dropdown-content{transform-origin:bottom;top:auto;bottom:100%}.btn-active{--btn-bg:var(--btn-color,var(--color-base-200))}@supports (color:color-mix(in lab, red, red)){.btn-active{--btn-bg:color-mix(in oklab, var(--btn-color,var(--color-base-200)), #000 7%)}}.btn-active{--btn-shadow:0 0 0 0 oklch(0% 0 0/0), 0 0 0 0 oklch(0% 0 0/0);isolation:isolate}:is(.stack,.stack.stack-bottom)>*{grid-area:3/3/6/4}:is(.stack,.stack.stack-bottom)>:nth-child(2){grid-area:2/2/5/5}:is(.stack,.stack.stack-bottom)>:first-child{grid-area:1/1/4/6}.stack.stack-top>*{grid-area:1/3/4/4}.stack.stack-top>:nth-child(2){grid-area:2/2/5/5}.stack.stack-top>:first-child{grid-area:3/1/6/6}.stack.stack-start>*{grid-area:3/1/4/4}.stack.stack-start>:nth-child(2){grid-area:2/2/5/5}.stack.stack-start>:first-child{grid-area:1/3/6/6}.stack.stack-end>*{grid-area:3/3/4/6}.stack.stack-end>:nth-child(2){grid-area:2/2/5/5}.stack.stack-end>:first-child{grid-area:1/1/6/4}.tabs-box{background-color:var(--color-base-200);--tabs-box-radius:calc(3 * var(--radius-field));border-radius:calc(min(var(--tab-height) / 2, var(--radius-field)) + min(.25rem, var(--tabs-box-radius)));box-shadow:0 -.5px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 .5px oklch(0% 0 0 / calc(var(--depth) * .05)) inset;padding:.25rem}.tabs-box>.tab{border-radius:var(--radius-field);border-style:none}.tabs-box>.tab:focus-visible,.tabs-box>.tab:is(label:has(:checked:focus-visible)){outline-offset:2px}.tabs-box>.tab:focus-visible{z-index:1}.tabs-box>:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-box>:is(input:checked),.tabs-box>:is(label:has(:checked)){background-color:var(--tab-bg,var(--color-base-100));box-shadow:0 1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px 1px -1px var(--color-neutral), 0 1px 6px -4px var(--color-neutral)}@supports (color:color-mix(in lab, red, red)){.tabs-box>:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-box>:is(input:checked),.tabs-box>:is(label:has(:checked)){box-shadow:0 1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px 1px -1px color-mix(in oklab, var(--color-neutral) calc(var(--depth) * 50%), #0000), 0 1px 6px -4px color-mix(in oklab, var(--color-neutral) calc(var(--depth) * 100%), #0000)}}@media (forced-colors:active){.tabs-box>:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-box>:is(input:checked),.tabs-box>:is(label:has(:checked)){border:1px solid}}.tabs-box>.tab-content{height:calc(100% - var(--tab-height) + var(--border) - .5rem);border-radius:calc(min(var(--tab-height) / 2, var(--radius-field)) + min(.25rem, var(--tabs-box-radius)) - var(--border));margin-top:.25rem}.timeline-horizontal{flex-direction:row}.timeline-horizontal>li{align-items:center}.timeline-horizontal>li>hr{width:100%;height:.25rem}.timeline-horizontal>li>hr:first-child{grid-row-start:2;grid-column-start:1}.timeline-horizontal>li>hr:last-child{grid-area:2/3/auto/none}.timeline-horizontal .timeline-start{grid-area:1/1/2/4;place-self:flex-end center}.timeline-horizontal .timeline-end{grid-area:3/1/4/4;place-self:flex-start center}.timeline-horizontal:has(.timeline-middle)>li>hr:first-child{border-start-start-radius:0;border-start-end-radius:var(--radius-selector);border-end-end-radius:var(--radius-selector);border-end-start-radius:0}.timeline-horizontal:has(.timeline-middle)>li>hr:last-child,.timeline-horizontal:not(:has(.timeline-middle)) :first-child>hr:last-child{border-start-start-radius:var(--radius-selector);border-start-end-radius:0;border-end-end-radius:0;border-end-start-radius:var(--radius-selector)}.timeline-horizontal:not(:has(.timeline-middle)) :last-child>hr:first-child{border-start-start-radius:0;border-start-end-radius:var(--radius-selector);border-end-end-radius:var(--radius-selector);border-end-start-radius:0}.timeline-vertical{flex-direction:column}.timeline-vertical>li{--timeline-row-start:minmax(0, 1fr);--timeline-row-end:minmax(0, 1fr);justify-items:center}.timeline-vertical>li>hr{width:.25rem;height:100%}.timeline-vertical>li>hr:first-child{grid-row-start:1;grid-column-start:2}.timeline-vertical>li>hr:last-child{grid-area:3/2/none}.timeline-vertical .timeline-start{grid-area:1/1/4/2;place-self:center flex-end}.timeline-vertical .timeline-end{grid-area:1/3/4/4;place-self:center flex-start}.timeline-vertical:has(.timeline-middle)>li>hr:first-child{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:var(--radius-selector);border-bottom-left-radius:var(--radius-selector)}.timeline-vertical:has(.timeline-middle)>li>hr:last-child,.timeline-vertical:not(:has(.timeline-middle)) :first-child>hr:last-child{border-top-left-radius:var(--radius-selector);border-top-right-radius:var(--radius-selector);border-bottom-right-radius:0;border-bottom-left-radius:0}.timeline-vertical:not(:has(.timeline-middle)) :last-child>hr:first-child{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:var(--radius-selector);border-bottom-left-radius:var(--radius-selector)}.timeline-vertical.timeline-snap-icon>li{--timeline-col-start:minmax(0, 1fr);--timeline-row-start:.5rem}.timeline-compact{--timeline-row-start:0}.timeline-compact .timeline-start{grid-area:3/1/4/4;place-self:flex-start center}.timeline-compact li:has(.timeline-start) .timeline-end{grid-row-start:auto;grid-column-start:none}.timeline-compact.timeline-vertical>li{--timeline-col-start:0}.timeline-compact.timeline-vertical .timeline-start{grid-area:1/3/4/4;place-self:center flex-start}.timeline-compact.timeline-vertical li:has(.timeline-start) .timeline-end{grid-row-start:none;grid-column-start:auto}.drawer-end{grid-auto-columns:auto max-content}.drawer-end>.drawer-toggle~.drawer-content{grid-column-start:1}.drawer-end>.drawer-toggle~.drawer-side{grid-column-start:2;justify-items:end}.drawer-end>.drawer-toggle~.drawer-side>:not(.drawer-overlay){translate:100%}[dir=rtl] :is(.drawer-end>.drawer-toggle~.drawer-side>:not(.drawer-overlay)){translate:-100%}.drawer-end>.drawer-toggle:checked~.drawer-side>:not(.drawer-overlay){translate:0%}.input-lg{--size:calc(var(--size-field,.25rem) * 12);font-size:max(var(--font-size,1.125rem), 1.125rem)}.input-lg[type=number]::-webkit-inner-spin-button{margin-block:-.75rem;margin-inline-end:-.75rem}.input-md{--size:calc(var(--size-field,.25rem) * 10);font-size:max(var(--font-size,.875rem), .875rem)}.input-md[type=number]::-webkit-inner-spin-button{margin-block:-.75rem;margin-inline-end:-.75rem}.input-sm{--size:calc(var(--size-field,.25rem) * 8);font-size:max(var(--font-size,.75rem), .75rem)}.input-sm[type=number]::-webkit-inner-spin-button{margin-block:-.5rem;margin-inline-end:-.75rem}.input-xs{--size:calc(var(--size-field,.25rem) * 6);font-size:max(var(--font-size,.6875rem), .6875rem)}.input-xs[type=number]::-webkit-inner-spin-button{margin-block:-.25rem;margin-inline-end:-.75rem}.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}.avatar-placeholder>div{justify-content:center;align-items:center;display:flex}.modal-bottom{place-items:end}.modal-bottom .modal-box{--modal-tl:var(--radius-box);--modal-tr:var(--radius-box);--modal-bl:0;--modal-br:0;width:100%;max-width:none;height:auto;max-height:calc(100vh - 5em);translate:0 100%;scale:1}.modal-middle{place-items:center}.modal-middle .modal-box{--modal-tl:var(--radius-box);--modal-tr:var(--radius-box);--modal-bl:var(--radius-box);--modal-br:var(--radius-box);width:91.6667%;max-width:32rem;height:auto;max-height:calc(100vh - 5em);translate:0 2%;scale:.98}.modal-top{place-items:start}.modal-top .modal-box{--modal-tl:0;--modal-tr:0;--modal-bl:var(--radius-box);--modal-br:var(--radius-box);width:100%;max-width:none;height:auto;max-height:calc(100vh - 5em);translate:0 -100%;scale:1}.divider-horizontal{--divider-m:0 1rem}.divider-horizontal.divider{flex-direction:column;width:1rem;height:auto}.divider-horizontal.divider:before,.divider-horizontal.divider:after{width:.125rem;height:100%}.btn-circle{width:var(--size);height:var(--size);border-radius:3.40282e38px;padding-inline:0}.btn-square{width:var(--size);height:var(--size);padding-inline:0}.btn-wide{width:100%;max-width:16rem}.rating-half.rating-xs :not(.rating-hidden){width:.5rem}.rating-half.rating-sm :not(.rating-hidden){width:.625rem}.rating-half.rating-md :not(.rating-hidden){width:.75rem}.rating-half.rating-lg :not(.rating-hidden){width:.875rem}.rating-half.rating-xl :not(.rating-hidden){width:1rem}.btn-block{width:100%}.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}.swap-flip{transform-style:preserve-3d;perspective:20rem}.swap-flip .swap-on,.swap-flip .swap-indeterminate,.swap-flip input:indeterminate~.swap-on{backface-visibility:hidden;transform:rotateY(180deg)}.swap-flip input:is(:checked,:indeterminate)~.swap-on,.swap-flip.swap-active .swap-on{transform:rotateY(0)}.swap-flip input:is(:checked,:indeterminate)~.swap-off,.swap-flip.swap-active .swap-off{backface-visibility:hidden;opacity:1;transform:rotateY(-180deg)}.carousel-vertical{scroll-snap-type:y mandatory;flex-direction:column;overflow-y:scroll}.badge-dash{color:var(--badge-color);--badge-bg:#0000;background-image:none;border-style:dashed;border-color:currentColor}.badge-ghost{border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content);background-image:none}.badge-soft{color:var(--badge-color,var(--color-base-content));background-color:var(--badge-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.badge-soft{background-color:color-mix(in oklab, var(--badge-color,var(--color-base-content)) 8%, var(--color-base-100))}}.badge-soft{border-color:var(--badge-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.badge-soft{border-color:color-mix(in oklab, var(--badge-color,var(--color-base-content)) 10%, var(--color-base-100))}}.badge-soft{background-image:none}.input-ghost{box-shadow:none;background-color:#0000;border-color:#0000}.input-ghost:focus,.input-ghost:focus-within{background-color:var(--color-base-100);color:var(--color-base-content);box-shadow:none;border-color:#0000}.badge-outline{color:var(--badge-color);--badge-bg:#0000;background-image:none;border-color:currentColor}.table-zebra tbody tr:where(:nth-child(2n)),.table-zebra tbody tr:where(:nth-child(2n)) :where(.table-pin-cols tr th){background-color:var(--color-base-200)}@media (hover:hover){:is(.table-zebra tbody tr.row-hover,.table-zebra tbody tr.row-hover:where(:nth-child(2n))):hover{background-color:var(--color-base-300)}}.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-circle{-webkit-mask-image:url("data:image/svg+xml,%3csvg width='200' height='200' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle fill='black' cx='100' cy='100' r='100' fill-rule='evenodd'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg width='200' height='200' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle fill='black' cx='100' cy='100' r='100' fill-rule='evenodd'/%3e%3c/svg%3e")}.mask-heart{-webkit-mask-image:url("data:image/svg+xml,%3csvg width='200' height='185' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M100 184.606a15.384 15.384 0 0 1-8.653-2.678C53.565 156.28 37.205 138.695 28.182 127.7 8.952 104.264-.254 80.202.005 54.146.308 24.287 24.264 0 53.406 0c21.192 0 35.869 11.937 44.416 21.879a2.884 2.884 0 0 0 4.356 0C110.725 11.927 125.402 0 146.594 0c29.142 0 53.098 24.287 53.4 54.151.26 26.061-8.956 50.122-28.176 73.554-9.023 10.994-25.383 28.58-63.165 54.228a15.384 15.384 0 0 1-8.653 2.673Z' fill='black' fill-rule='nonzero'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg width='200' height='185' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M100 184.606a15.384 15.384 0 0 1-8.653-2.678C53.565 156.28 37.205 138.695 28.182 127.7 8.952 104.264-.254 80.202.005 54.146.308 24.287 24.264 0 53.406 0c21.192 0 35.869 11.937 44.416 21.879a2.884 2.884 0 0 0 4.356 0C110.725 11.927 125.402 0 146.594 0c29.142 0 53.098 24.287 53.4 54.151.26 26.061-8.956 50.122-28.176 73.554-9.023 10.994-25.383 28.58-63.165 54.228a15.384 15.384 0 0 1-8.653 2.673Z' fill='black' fill-rule='nonzero'/%3e%3c/svg%3e")}.mask-star{-webkit-mask-image:url("data:image/svg+xml,%3csvg width='192' height='180' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m96 137.263-58.779 42.024 22.163-68.389L.894 68.481l72.476-.243L96 0l22.63 68.238 72.476.243-58.49 42.417 22.163 68.389z' fill-rule='evenodd'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg width='192' height='180' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m96 137.263-58.779 42.024 22.163-68.389L.894 68.481l72.476-.243L96 0l22.63 68.238 72.476.243-58.49 42.417 22.163 68.389z' fill-rule='evenodd'/%3e%3c/svg%3e")}.mask-star-2{-webkit-mask-image:url("data:image/svg+xml,%3csvg width='192' height='180' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m96 153.044-58.779 26.243 7.02-63.513L.894 68.481l63.117-13.01L96 0l31.989 55.472 63.117 13.01-43.347 47.292 7.02 63.513z' fill-rule='evenodd'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg width='192' height='180' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m96 153.044-58.779 26.243 7.02-63.513L.894 68.481l63.117-13.01L96 0l31.989 55.472 63.117 13.01-43.347 47.292 7.02 63.513z' fill-rule='evenodd'/%3e%3c/svg%3e")}.checkbox-lg{--size:calc(var(--size-selector,.25rem) * 7);padding:.3125rem}.checkbox-md{--size:calc(var(--size-selector,.25rem) * 6);padding:.25rem}.checkbox-sm{--size:calc(var(--size-selector,.25rem) * 5);padding:.1875rem}.checkbox-xs{--size:calc(var(--size-selector,.25rem) * 4);padding:.125rem}.radio-lg{padding:.3125rem}.radio-lg[type=radio]{--size:calc(var(--size-selector,.25rem) * 7)}.radio-md{padding:.25rem}.radio-md[type=radio]{--size:calc(var(--size-selector,.25rem) * 6)}.radio-sm{padding:.1875rem}.radio-sm[type=radio]{--size:calc(var(--size-selector,.25rem) * 5)}.radio-xs{padding:.125rem}.radio-xs[type=radio]{--size:calc(var(--size-selector,.25rem) * 4)}.select-lg{--size:calc(var(--size-field,.25rem) * 12);font-size:1.125rem}.select-lg option{padding-block:.375rem;padding-inline:1rem}.select-md{--size:calc(var(--size-field,.25rem) * 10);font-size:.875rem}.select-md option{padding-block:.375rem;padding-inline:.75rem}.select-sm{--size:calc(var(--size-field,.25rem) * 8);font-size:.75rem}.select-sm option{padding-block:.25rem;padding-inline:.625rem}.select-xs{--size:calc(var(--size-field,.25rem) * 6);font-size:.6875rem}.select-xs option{padding-block:.25rem;padding-inline:.5rem}.table-lg :not(thead,tfoot) tr{font-size:1.125rem}.table-lg :where(th,td){padding-block:1rem;padding-inline:1.25rem}.table-md :not(thead,tfoot) tr{font-size:.875rem}.table-md :where(th,td){padding-block:.75rem;padding-inline:1rem}.table-sm :not(thead,tfoot) tr{font-size:.75rem}.table-sm :where(th,td){padding-block:.5rem;padding-inline:.75rem}.table-xs :not(thead,tfoot) tr{font-size:.6875rem}.table-xs :where(th,td){padding-block:.25rem;padding-inline:.5rem}.badge-lg{--size:calc(var(--size-selector,.25rem) * 7);font-size:1rem}.badge-md{--size:calc(var(--size-selector,.25rem) * 6);font-size:.875rem}.badge-sm{--size:calc(var(--size-selector,.25rem) * 5);font-size:.75rem}.badge-xs{--size:calc(var(--size-selector,.25rem) * 4);font-size:.625rem}.kbd-lg{--size:calc(var(--size-selector,.25rem) * 7);font-size:1rem}.kbd-md{--size:calc(var(--size-selector,.25rem) * 6);font-size:.875rem}.kbd-sm{--size:calc(var(--size-selector,.25rem) * 5);font-size:.75rem}.kbd-xl{--size:calc(var(--size-selector,.25rem) * 8);font-size:1.125rem}.kbd-xs{--size:calc(var(--size-selector,.25rem) * 4);font-size:.625rem}.alert-error{color:var(--color-error-content);--alert-border-color:var(--color-error);--alert-color:var(--color-error)}.alert-info{color:var(--color-info-content);--alert-border-color:var(--color-info);--alert-color:var(--color-info)}.alert-success{color:var(--color-success-content);--alert-border-color:var(--color-success);--alert-color:var(--color-success)}.alert-warning{color:var(--color-warning-content);--alert-border-color:var(--color-warning);--alert-color:var(--color-warning)}.checkbox-accent{color:var(--color-accent-content);--input-color:var(--color-accent)}.checkbox-error{color:var(--color-error-content);--input-color:var(--color-error)}.checkbox-info{color:var(--color-info-content);--input-color:var(--color-info)}.checkbox-primary{color:var(--color-primary-content);--input-color:var(--color-primary)}.checkbox-secondary{color:var(--color-secondary-content);--input-color:var(--color-secondary)}.checkbox-success{color:var(--color-success-content);--input-color:var(--color-success)}.checkbox-warning{color:var(--color-warning-content);--input-color:var(--color-warning)}.range-accent{color:var(--color-accent);--range-thumb:var(--color-accent-content)}.range-error{color:var(--color-error);--range-thumb:var(--color-error-content)}.range-info{color:var(--color-info);--range-thumb:var(--color-info-content)}.range-primary{color:var(--color-primary);--range-thumb:var(--color-primary-content)}.range-secondary{color:var(--color-secondary);--range-thumb:var(--color-secondary-content)}.range-success{color:var(--color-success);--range-thumb:var(--color-success-content)}.range-warning{color:var(--color-warning);--range-thumb:var(--color-warning-content)}.tooltip-accent{--tt-bg:var(--color-accent)}.tooltip-accent>.tooltip-content,.tooltip-accent[data-tip]:before{color:var(--color-accent-content)}.tooltip-error{--tt-bg:var(--color-error)}.tooltip-error>.tooltip-content,.tooltip-error[data-tip]:before{color:var(--color-error-content)}.tooltip-info{--tt-bg:var(--color-info)}.tooltip-info>.tooltip-content,.tooltip-info[data-tip]:before{color:var(--color-info-content)}.tooltip-primary{--tt-bg:var(--color-primary)}.tooltip-primary>.tooltip-content,.tooltip-primary[data-tip]:before{color:var(--color-primary-content)}.tooltip-secondary{--tt-bg:var(--color-secondary)}.tooltip-secondary>.tooltip-content,.tooltip-secondary[data-tip]:before{color:var(--color-secondary-content)}.tooltip-success{--tt-bg:var(--color-success)}.tooltip-success>.tooltip-content,.tooltip-success[data-tip]:before{color:var(--color-success-content)}.tooltip-warning{--tt-bg:var(--color-warning)}.tooltip-warning>.tooltip-content,.tooltip-warning[data-tip]:before{color:var(--color-warning-content)}.progress-accent{color:var(--color-accent)}.progress-error{color:var(--color-error)}.progress-info{color:var(--color-info)}.progress-neutral{color:var(--color-neutral)}.progress-primary{color:var(--color-primary)}.progress-secondary{color:var(--color-secondary)}.progress-success{color:var(--color-success)}.progress-warning{color:var(--color-warning)}.swap-active .swap-off{opacity:0}.swap-active .swap-on{opacity:1}.btn-lg{--fontsize:1.125rem;--btn-p:1.25rem;--size:calc(var(--size-field,.25rem) * 12)}.btn-md{--fontsize:.875rem;--btn-p:1rem;--size:calc(var(--size-field,.25rem) * 10)}.btn-sm{--fontsize:.75rem;--btn-p:.75rem;--size:calc(var(--size-field,.25rem) * 8)}.btn-xl{--fontsize:1.375rem;--btn-p:1.5rem;--size:calc(var(--size-field,.25rem) * 14)}.btn-xs{--fontsize:.6875rem;--btn-p:.5rem;--size:calc(var(--size-field,.25rem) * 6)}.badge-accent{--badge-color:var(--color-accent);--badge-fg:var(--color-accent-content)}.badge-error{--badge-color:var(--color-error);--badge-fg:var(--color-error-content)}.badge-info{--badge-color:var(--color-info);--badge-fg:var(--color-info-content)}.badge-primary{--badge-color:var(--color-primary);--badge-fg:var(--color-primary-content)}.badge-secondary{--badge-color:var(--color-secondary);--badge-fg:var(--color-secondary-content)}.badge-success{--badge-color:var(--color-success);--badge-fg:var(--color-success-content)}.badge-warning{--badge-color:var(--color-warning);--badge-fg:var(--color-warning-content)}.input-accent,.input-accent:focus,.input-accent:focus-within{--input-color:var(--color-accent)}.input-error,.input-error:focus,.input-error:focus-within{--input-color:var(--color-error)}.input-info,.input-info:focus,.input-info:focus-within{--input-color:var(--color-info)}.input-primary,.input-primary:focus,.input-primary:focus-within{--input-color:var(--color-primary)}.input-secondary,.input-secondary:focus,.input-secondary:focus-within{--input-color:var(--color-secondary)}.input-success,.input-success:focus,.input-success:focus-within{--input-color:var(--color-success)}.input-warning,.input-warning:focus,.input-warning:focus-within{--input-color:var(--color-warning)}.radio-accent{--input-color:var(--color-accent)}.radio-error{--input-color:var(--color-error)}.radio-info{--input-color:var(--color-info)}.radio-primary{--input-color:var(--color-primary)}.radio-secondary{--input-color:var(--color-secondary)}.radio-success{--input-color:var(--color-success)}.radio-warning{--input-color:var(--color-warning)}.range-lg{--range-thumb-size:calc(var(--size-selector,.25rem) * 7)}.range-md{--range-thumb-size:calc(var(--size-selector,.25rem) * 6)}.range-sm{--range-thumb-size:calc(var(--size-selector,.25rem) * 5)}.range-xs{--range-thumb-size:calc(var(--size-selector,.25rem) * 4)}.select-accent,.select-accent:focus,.select-accent:focus-within{--input-color:var(--color-accent)}.select-error,.select-error:focus,.select-error:focus-within{--input-color:var(--color-error)}.select-info,.select-info:focus,.select-info:focus-within{--input-color:var(--color-info)}.select-primary,.select-primary:focus,.select-primary:focus-within{--input-color:var(--color-primary)}.select-secondary,.select-secondary:focus,.select-secondary:focus-within{--input-color:var(--color-secondary)}.select-success,.select-success:focus,.select-success:focus-within{--input-color:var(--color-success)}.select-warning,.select-warning:focus,.select-warning:focus-within{--input-color:var(--color-warning)}.toggle-accent:checked,.toggle-accent[aria-checked=true]{--input-color:var(--color-accent)}.toggle-lg[type=checkbox],.toggle-lg:has([type=checkbox]){--size:calc(var(--size-selector,.25rem) * 7)}.toggle-md[type=checkbox],.toggle-md:has([type=checkbox]){--size:calc(var(--size-selector,.25rem) * 6)}.toggle-primary:checked,.toggle-primary[aria-checked=true]{--input-color:var(--color-primary)}.toggle-secondary:checked,.toggle-secondary[aria-checked=true]{--input-color:var(--color-secondary)}.toggle-sm[type=checkbox],.toggle-sm:has([type=checkbox]){--size:calc(var(--size-selector,.25rem) * 5)}.toggle-xs[type=checkbox],.toggle-xs:has([type=checkbox]){--size:calc(var(--size-selector,.25rem) * 4)}}@layer daisyui.l1{.drawer-open>.drawer-toggle~.drawer-side>:not(.drawer-overlay),[dir=rtl] :is(.drawer-open>.drawer-toggle~.drawer-side>:not(.drawer-overlay)){translate:0%}.alert-dash{color:var(--alert-color);box-shadow:none;background-color:#0000;background-image:none;border-style:dashed}.btn-dash:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-shadow:"";--btn-bg:#0000;--btn-fg:var(--btn-color);--btn-border:var(--btn-color);--btn-noise:none}@media (hover:none){.btn-dash:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-shadow:"";--btn-bg:#0000;--btn-fg:var(--btn-color);--btn-border:var(--btn-color);--btn-noise:none}}.alert-outline{color:var(--alert-color);box-shadow:none;background-color:#0000;background-image:none}.alert-soft{color:var(--alert-color,var(--color-base-content));background:var(--alert-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.alert-soft{background:color-mix(in oklab, var(--alert-color,var(--color-base-content)) 8%, var(--color-base-100))}}.alert-soft{--alert-border-color:var(--alert-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.alert-soft{--alert-border-color:color-mix(in oklab, var(--alert-color,var(--color-base-content)) 10%, var(--color-base-100))}}.alert-soft{box-shadow:none;background-image:none}.btn-link{--btn-border:#0000;--btn-bg:#0000;--btn-noise:none;--btn-shadow:"";outline-color:currentColor;text-decoration-line:underline}.btn-link:not(.btn-disabled,.btn:disabled,.btn[disabled]){--btn-fg:var(--btn-color,var(--color-primary))}.btn-link:is(.btn-active,:hover,:active:focus,:focus-visible){--btn-border:#0000;--btn-bg:#0000}.btn-ghost:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn)){--btn-shadow:"";--btn-bg:#0000;--btn-border:#0000;--btn-noise:none}.btn-ghost:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn)):not(:disabled,[disabled],.btn-disabled){--btn-fg:var(--btn-color,currentColor);outline-color:currentColor}@media (hover:none){.btn-ghost:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-shadow:"";--btn-bg:#0000;--btn-fg:var(--btn-color,currentColor);--btn-border:#0000;--btn-noise:none;outline-color:currentColor}}.btn-outline:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-shadow:"";--btn-bg:#0000;--btn-fg:var(--btn-color);--btn-border:var(--btn-color);--btn-noise:none}@media (hover:none){.btn-outline:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-shadow:"";--btn-bg:#0000;--btn-fg:var(--btn-color);--btn-border:var(--btn-color);--btn-noise:none}}.btn-soft:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-shadow:"";--btn-fg:var(--btn-color,var(--color-base-content));--btn-bg:var(--btn-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.btn-soft:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-bg:color-mix(in oklab, var(--btn-color,var(--color-base-content)) 8%, var(--color-base-100))}}.btn-soft:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-border:var(--btn-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.btn-soft:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-border:color-mix(in oklab, var(--btn-color,var(--color-base-content)) 10%, var(--color-base-100))}}.btn-soft:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-noise:none}@media (hover:none){.btn-soft:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-shadow:"";--btn-fg:var(--btn-color,var(--color-base-content));--btn-bg:var(--btn-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.btn-soft:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-bg:color-mix(in oklab, var(--btn-color,var(--color-base-content)) 8%, var(--color-base-100))}}.btn-soft:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-border:var(--btn-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.btn-soft:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-border:color-mix(in oklab, var(--btn-color,var(--color-base-content)) 10%, var(--color-base-100))}}.btn-soft:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-noise:none}}}.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}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.top-0{top:calc(var(--spacing) * 0)}.top-2{top:calc(var(--spacing) * 2)}.top-10{top:calc(var(--spacing) * 10)}.right-0{right:calc(var(--spacing) * 0)}.right-1\/4{right:25%}.right-2{right:calc(var(--spacing) * 2)}.bottom-10{bottom:calc(var(--spacing) * 10)}.left-1\/2{left:50%}.left-1\/4{left:25%}.join{--join-ss:0;--join-se:0;--join-es:0;--join-ee:0;align-items:stretch;display:inline-flex}.join :where(.join-item){border-start-start-radius:var(--join-ss,0);border-start-end-radius:var(--join-se,0);border-end-end-radius:var(--join-ee,0);border-end-start-radius:var(--join-es,0)}.join :where(.join-item) *{--join-ss:var(--radius-field);--join-se:var(--radius-field);--join-es:var(--radius-field);--join-ee:var(--radius-field)}.join>.join-item:where(:first-child),.join :first-child:not(:last-child) :where(.join-item){--join-ss:var(--radius-field);--join-se:0;--join-es:var(--radius-field);--join-ee:0}.join>.join-item:where(:last-child),.join :last-child:not(:first-child) :where(.join-item){--join-ss:0;--join-se:var(--radius-field);--join-es:0;--join-ee:var(--radius-field)}.join>.join-item:where(:only-child),.join :only-child :where(.join-item){--join-ss:var(--radius-field);--join-se:var(--radius-field);--join-es:var(--radius-field);--join-ee:var(--radius-field)}.join>:where(:focus,:has(:focus)){z-index:1}@media (hover:hover){.join>:where(.btn:hover,:has(.btn:hover)){isolation:isolate}}.-z-0{z-index:calc(0 * -1)}.z-10{z-index:10}.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-auto{margin-inline:auto}.my-16{margin-block:calc(var(--spacing) * 16)}.join-vertical{flex-direction:column}.join-vertical>.join-item:first-child,.join-vertical :first-child:not(:last-child) .join-item{--join-ss:var(--radius-field);--join-se:var(--radius-field);--join-es:0;--join-ee:0}.join-vertical>.join-item:last-child,.join-vertical :last-child:not(:first-child) .join-item{--join-ss:0;--join-se:0;--join-es:var(--radius-field);--join-ee:var(--radius-field)}.join-vertical>.join-item:only-child,.join-vertical :only-child .join-item{--join-ss:var(--radius-field);--join-se:var(--radius-field);--join-es:var(--radius-field);--join-ee:var(--radius-field)}.join-vertical .join-item:where(:not(:first-child)){margin-block-start:calc(var(--border,1px) * -1);margin-inline-start:0}.-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-2{margin-bottom:calc(var(--spacing) * 2)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.ml-2{margin-left:calc(var(--spacing) * 2)}.icon-\[lucide--alert-circle\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 8v4m0 4h.01'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--alert-triangle\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m21.73 18l-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3M12 9v4m0 4h.01'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--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-circle\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M21.801 10A10 10 0 1 1 17 3.335'/%3E%3Cpath d='m9 11l3 3L22 4'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--check\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M20 6L9 17l-5-5'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--chevron-left\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m15 18l-6-6l6-6'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--chevron-right\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m9 18l6-6l-6-6'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--chevrons-left\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m11 17l-5-5l5-5m7 10l-5-5l5-5'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--chevrons-right\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m6 17l5-5l-5-5m7 10l5-5l-5-5'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--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--eye-off\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575a1 1 0 0 1 0 .696a10.8 10.8 0 0 1-1.444 2.49m-6.41-.679a3 3 0 0 1-4.242-4.242'/%3E%3Cpath d='M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151a1 1 0 0 1 0-.696a10.75 10.75 0 0 1 4.446-5.143M2 2l20 20'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--eye\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M2.062 12.348a1 1 0 0 1 0-.696a10.75 10.75 0 0 1 19.876 0a1 1 0 0 1 0 .696a10.75 10.75 0 0 1-19.876 0'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--hash\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 9h16M4 15h16M10 3L8 21m8-18l-2 18'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--heart\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 9.5a5.5 5.5 0 0 1 9.591-3.676a.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--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--info\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-4m0-4h.01'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--link\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71'/%3E%3Cpath d='M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--lock\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Crect width='18' height='11' x='3' y='11' rx='2' ry='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--mail\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='m22 7l-8.991 5.727a2 2 0 0 1-2.009 0L2 7'/%3E%3Crect width='20' height='16' x='2' y='4' rx='2'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--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--phone\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233a14 14 0 0 0 6.392 6.384'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--search\]{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--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--text\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M15 18H3M17 6H3m18 6H3'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--upload\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 3v12m5-7l-5-5l-5 5m14 7v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--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))}.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-4{height:calc(var(--spacing) * 4)}.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-full{min-height:100%}.w-3\/4{width:75%}.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-xs{width:var(--container-xs)}.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-\[180px\]{max-width:180px}.max-w-md{max-width:var(--container-md)}.flex-1{flex:1}.flex-none{flex:none}.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}.list-none{list-style-type:none}.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-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)}.gap-10{gap:calc(var(--spacing) * 10)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}: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-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}.btn-dash{border-style:dashed}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-base-200\/30{border-color:var(--color-base-200)}@supports (color:color-mix(in lab, red, red)){.border-base-200\/30{border-color:color-mix(in oklab, var(--color-base-200) 30%, transparent)}}.border-base-300{border-color:var(--color-base-300)}.border-base-content\/20{border-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.border-base-content\/20{border-color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.border-black\/5{border-color:#0000000d}@supports (color:color-mix(in lab, red, red)){.border-black\/5{border-color:color-mix(in oklab, var(--color-black) 5%, transparent)}}.border-primary{border-color:var(--color-primary)}.glass{-webkit-backdrop-filter:blur(var(--glass-blur,40px));backdrop-filter:blur(var(--glass-blur,40px));background-color:#0000;background-image:linear-gradient(135deg, oklch(100% 0 0 / var(--glass-opacity,30%)) 0%, oklch(0% 0 0/0) 100%), linear-gradient(var(--glass-reflect-degree,100deg), oklch(100% 0 0 / var(--glass-reflect-opacity,5%)) 25%, oklch(0% 0 0/0) 25%);box-shadow:0 0 0 1px oklch(100% 0 0 / var(--glass-border-opacity,20%)) inset, 0 0 0 2px oklch(0% 0 0/.05);text-shadow:0 1px oklch(0% 0 0 / var(--glass-text-shadow-opacity,5%));border:none}.bg-base-100{background-color:var(--color-base-100)}.bg-base-200,.bg-base-200\/30{background-color:var(--color-base-200)}@supports (color:color-mix(in lab, red, red)){.bg-base-200\/30{background-color:color-mix(in oklab, var(--color-base-200) 30%, transparent)}}.bg-base-200\/50{background-color:var(--color-base-200)}@supports (color:color-mix(in lab, red, red)){.bg-base-200\/50{background-color:color-mix(in oklab, var(--color-base-200) 50%, transparent)}}.bg-base-300{background-color:var(--color-base-300)}.bg-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-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))}.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))}.mask-circle{--tw-mask-radial-shape:circle}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.p-0{padding:calc(var(--spacing) * 0)}.p-1{padding:calc(var(--spacing) * 1)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.p-10{padding:calc(var(--spacing) * 10)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-10{padding-inline:calc(var(--spacing) * 10)}.py-4{padding-block:calc(var(--spacing) * 4)}.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}.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-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}.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}.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-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-300{--tw-duration:.3s;transition-duration:.3s}.select-none{-webkit-user-select:none;user-select:none}@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-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\:join-horizontal{flex-direction:row}.lg\:join-horizontal>.join-item:first-child,.lg\:join-horizontal :first-child:not(:last-child) .join-item{--join-ss:var(--radius-field);--join-se:0;--join-es:var(--radius-field);--join-ee:0}.lg\:join-horizontal>.join-item:last-child,.lg\:join-horizontal :last-child:not(:first-child) .join-item{--join-ss:0;--join-se:var(--radius-field);--join-es:0;--join-ee:var(--radius-field)}.lg\:join-horizontal>.join-item:only-child,.lg\:join-horizontal :only-child .join-item{--join-ss:var(--radius-field);--join-se:var(--radius-field);--join-es:var(--radius-field);--join-ee:var(--radius-field)}.lg\:join-horizontal .join-item:where(:not(:first-child)){margin-block-start:0;margin-inline-start:calc(var(--border,1px) * -1)}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}}:root{font-size:14px}.input,.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 6d94eb7..066bccb 100644
--- a/dist/sigpro-ui.min.js
+++ b/dist/sigpro-ui.min.js
@@ -1,7 +1 @@
-var spui=(()=>{var _e=Object.defineProperty;var ae=(e,n)=>{for(var s in n)_e(e,s,{get:n[s],enumerable:!0})};var se={};ae(se,{Accordion:()=>Et,Alert:()=>Re,Autocomplete:()=>Dt,Avatar:()=>Me,AvatarGroup:()=>Be,Badge:()=>Oe,Breadcrumbs:()=>He,Button:()=>fe,Calendar:()=>me,Card:()=>je,CardActions:()=>Ie,CardBody:()=>Fe,CardTitle:()=>ze,Carousel:()=>Pe,CarouselItem:()=>Ue,Chat:()=>qe,ChatBubble:()=>Ge,ChatFooter:()=>Ve,ChatHeader:()=>Ke,ChatImage:()=>Ye,Checkbox:()=>Qe,ColorPalette:()=>ye,Colorpicker:()=>Nt,Datepicker:()=>At,Divider:()=>tt,Drawer:()=>We,DrawerContent:()=>Xe,DrawerOverlay:()=>et,DrawerSide:()=>Ze,DrawerToggle:()=>Je,Dropdown:()=>V,DropdownButton:()=>be,DropdownContent:()=>K,Fab:()=>nt,Fieldset:()=>st,Fileinput:()=>Lt,Icon:()=>F,Indicator:()=>ot,Input:()=>we,Kbd:()=>at,List:()=>lt,ListRows:()=>rt,Loading:()=>ct,Menu:()=>Rt,Modal:()=>Mt,Navbar:()=>it,Progress:()=>dt,Radial:()=>ut,Radio:()=>pt,Range:()=>ft,Rating:()=>bt,RatingItems:()=>gt,Select:()=>Bt,Skeleton:()=>ht,SkeletonText:()=>vt,Stack:()=>xt,Stat:()=>Ot,Stats:()=>mt,Step:()=>wt,Steps:()=>yt,Swap:()=>ge,SwapOff:()=>xe,SwapOn:()=>ve,SwapToggle:()=>he,Table:()=>kt,TableItems:()=>Ht,Tabs:()=>jt,Textarea:()=>St,Textrotate:()=>_t,Timeline:()=>Ct,Toast:()=>zt,Toggle:()=>Tt,Tooltip:()=>$t,cls:()=>v,filterBy:()=>ue,getBy:()=>R,hide:()=>q,rand:()=>pe,val:()=>k});var y=e=>typeof e=="function",le=e=>e&&typeof e=="object",M=Array.isArray,N=typeof document<"u"?document:null,re=e=>e?._isRuntime?e.container:e instanceof Node?e:N.createTextNode(e==null?"":String(e)),C=null,D=null,P=!1,Ce=0,ee=new Set,X=new WeakMap,Te="http://www.w3.org/2000/svg",ce="http://www.w3.org/1999/xlink",$e=new Set("svg,path,circle,rect,line,polyline,polygon,g,defs,text,textPath,tspan,use,symbol,image,marker,ellipse".split(",")),B=e=>{if(!e||e._disposed)return;e._disposed=!0;let n=[e];for(;n.length;){let s=n.pop();s._cleanups&&(s._cleanups.forEach(a=>a()),s._cleanups.clear()),s._children&&(s._children.forEach(a=>n.push(a)),s._children.clear()),s._deps&&(s._deps.forEach(a=>a.delete(s)),s._deps.clear())}},U=e=>{D&&(D._cleanups||=new Set).add(e)},Ee=e=>{let n=C;C=null;try{return e()}finally{C=n}},j=(e,n=!1)=>{let s=()=>{if(s._disposed)return;s._deps&&s._deps.forEach(r=>r.delete(s)),s._cleanups&&(s._cleanups.forEach(r=>r()),s._cleanups.clear());let a=C,o=D;C=D=s;try{return s._result=e()}catch(r){console.error("[SigPro]",r)}finally{C=a,D=o}};return s._deps=s._cleanups=s._children=null,s._disposed=!1,s._isComputed=n,s._depth=C?C._depth+1:0,s._mounts=[],s._parent=D,D&&(D._children||=new Set).add(s),s},De=()=>{if(P)return;P=!0;let e=Array.from(ee).sort((n,s)=>n._depth-s._depth);ee.clear();for(let n of e)n._disposed||n();P=!1};var H=(e,n=!1)=>{if(!n&&C&&!C._disposed)e.add(C),(C._deps||=new Set).add(e);else if(n&&e.size>0){let s=!1;for(let a of e)a===C||a._disposed||(a._isComputed?(a._dirty=!0,a._subs&&H(a._subs,!0)):(ee.add(a),s=!0));s&&!P&&Ce===0&&queueMicrotask(De)}},_=(e,n=null)=>{let s=new Set;if(y(e)){let a,o=()=>{if(o._dirty){let r=C;C=o;try{let l=e();Object.is(a,l)||(a=l,H(s,!0))}finally{C=r}o._dirty=!1}return H(s),a};return o._isComputed=!0,o._subs=s,o._dirty=!0,o._deps=null,o._disposed=!1,o}if(n)try{e=JSON.parse(localStorage.getItem(n))??e}catch{}return(...a)=>{if(a.length){let o=y(a[0])?a[0](e):a[0];Object.is(e,o)||(e=o,n&&localStorage.setItem(n,JSON.stringify(e)),H(s,!0))}return H(s),e}},z=(e,n)=>{if(n===void 0){let a=j(e);return a(),()=>B(a)}let s=j(()=>{let a=M(e)?e.map(o=>o()):e();Ee(()=>n(a))});return s(),()=>B(s)},te=e=>{e&&(e._cleanups&&(e._cleanups.forEach(n=>n()),e._cleanups.clear()),e._ownerEffect&&B(e._ownerEffect),e.childNodes&&e.childNodes.forEach(n=>te(n)))},Ne=/^\s*(javascript|data|vbscript):/i,Ae=new Set(["src","href","formaction","action","background","code","archive"]),Le=e=>Ae.has(e)||e.startsWith("on"),Z=(e,n)=>{if(n==null||n===!1)return null;if(Le(e)){let s=String(n);if(Ne.test(s))return"#"}return n},t=(e,n={},s=[])=>{if((n instanceof Node||M(n)||!le(n))&&(s=n,n={}),y(e)){let l=j(()=>{let b=e(n,{children:s,emit:(g,...x)=>n[`on${g[0].toUpperCase()}${g.slice(1)}`]?.(...x)});return l._result=b,b});l();let i=l._result;if(i==null)return null;let c=i instanceof Node||M(i)&&i.every(b=>b instanceof Node)?i:N.createTextNode(String(i)),u=b=>{le(b)&&!b._isRuntime&&(b._mounts=l._mounts||[],b._cleanups=l._cleanups||new Set,b._ownerEffect=l)};return M(c)?c.forEach(u):u(c),c}let a=$e.has(e),o=a?N.createElementNS(Te,e):N.createElement(e);o._cleanups=new Set;for(let l of Object.keys(n)){let i=n[l];if(l==="ref"){y(i)?i(o):i.current=o;continue}if(a&&l.startsWith("xlink:")){let c=Z(l.slice(6),i);c==null?o.removeAttributeNS(ce,l.slice(6)):o.setAttributeNS(ce,l.slice(6),c);continue}if(l.startsWith("on")){let c=l.slice(2).toLowerCase();o.addEventListener(c,i);let u=()=>o.removeEventListener(c,i);o._cleanups.add(u),U(u)}else if(y(i)){let c=j(()=>{let u=Z(l,i());l==="class"?o.className=u||"":u==null?o.removeAttribute(l):l==="style"&&typeof u=="string"?o.setAttribute("style",u):l in o&&!a?o[l]=u:o.setAttribute(l,u===!0?"":u)});if(c(),o._cleanups.add(()=>B(c)),U(()=>B(c)),/^(INPUT|TEXTAREA|SELECT)$/.test(o.tagName)&&(l==="value"||l==="checked")){let u=l==="checked"?"change":"input";o.addEventListener(u,b=>i(b.target[l]))}}else{let c=Z(l,i);c!=null&&(l==="style"&&typeof c=="string"?o.setAttribute("style",c):l in o&&!a?o[l]=c:o.setAttribute(l,c===!0?"":c))}}let r=l=>{if(M(l))return l.forEach(r);if(y(l)){let i=N.createTextNode("");o.appendChild(i);let c=[],u=j(()=>{let b=l(),g=(M(b)?b:[b]).map(re);c.forEach(h=>{h._isRuntime?h.destroy():te(h),h.parentNode&&h.remove()});let x=i;for(let h=g.length-1;h>=0;h--){let p=g[h];p.parentNode!==x.parentNode&&x.parentNode?.insertBefore(p,x),p._mounts&&p._mounts.forEach(f=>f()),x=p}c=g});u(),o._cleanups.add(()=>B(u)),U(()=>B(u))}else{let i=re(l);o.appendChild(i),i._mounts&&i._mounts.forEach(c=>c())}};return r(s),o},ne=e=>{let n=new Set,s=D,a=C,o=N.createElement("div");o.style.display="contents",o.setAttribute("role","presentation"),D={_cleanups:n},C=null;let r=l=>{l&&(l._isRuntime?(n.add(l.destroy),o.appendChild(l.container)):M(l)?l.forEach(r):o.appendChild(l instanceof Node?l:N.createTextNode(String(l??""))))};try{r(e({onCleanup:l=>n.add(l)}))}finally{D=s,C=a}return{_isRuntime:!0,container:o,destroy:()=>{n.forEach(l=>l()),te(o),o.remove()}}},ie=(e,n,s=null)=>{let a=N.createTextNode(""),o=t("div",{style:"display:contents"},[a]),r=null;return z(()=>!!(y(e)?e():e),l=>{r&&(r.destroy(),r=null);let i=l?n:s;i&&(r=ne(()=>y(i)?i():i),o.insertBefore(r.container,a))}),U(()=>r?.destroy()),o},O=(e,n,s)=>{let a=N.createTextNode(""),o=t("div",{style:"display:contents"},[a]),r=new Map;return z(()=>(y(e)?e():e)||[],l=>{let i=new Map,c=[],u=l||[];for(let g=0;gn(x,g)),i.set(h,p),c.push(p)}r.forEach(g=>g.destroy());let b=a;for(let g=c.length-1;g>=0;g--){let h=c[g].container;h.nextSibling!==b&&o.insertBefore(h,b),b=h}r=i}),o};var de=(e,n)=>{let s=typeof n=="string"?N.querySelector(n):n;if(!s)return;X.has(s)&&X.get(s).destroy();let a=ne(y(e)?e:()=>e);return s.replaceChildren(a.container),X.set(s,a),a};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(e=>{window[e]=(n,s)=>t(e,n,s)});var k=e=>typeof e=="function"?e():e,R=(e,n="label")=>e&&typeof e=="object"?e[n]:e,v=(...e)=>e.filter(Boolean).join(" ").trim(),ue=(e,n,s="label")=>{let a=String(k(n)||"").toLowerCase(),o=(k(e)||[]).map(r=>typeof r=="object"?r:{label:r,value:r});return a?o.filter(r=>String(r[s]||"").toLowerCase().includes(a)):o},pe=e=>`${e}-${Math.random().toString(36).slice(2,9)}`,q=()=>document.activeElement?.blur(),I=(e,n)=>s=>t(e,{...s,class:`${n} ${s?.class||""}`.trim()}),m=(e,n)=>(s,a)=>t(e,{...s,class:`${n} ${s?.class||""}`.trim()},a),G=(e,n,s)=>a=>t(e,{type:s,...a,class:`${n} ${a?.class||""}`.trim()}),Re=m("div","alert"),Me=(e,n)=>t("div",{class:"avatar"},t("div",{class:e.class},n)),Be=m("div","avatar-group -space-x-6"),Oe=m("span","badge"),He=m("div","breadcrumbs"),fe=m("button","btn"),je=m("div","card"),ze=m("div","card-title"),Fe=m("div","card-body"),Ie=m("div","card-actions"),Pe=m("div","carousel"),Ue=m("div","carousel-item"),qe=m("div","chat"),Ge=m("div","chat-bubble"),Ve=m("div","chat-footer"),Ke=m("div","chat-header"),Ye=(e,n)=>t("div",{...e,class:v("chat-image avatar",e.class)},t("div",{class:"w-10 rounded-full"},typeof n=="string"?t("img",{src:n,alt:"avatar"}):n)),Qe=G("input","checkbox","checkbox"),We=m("div","drawer"),Je=e=>input({...e,type:"checkbox",class:"drawer-toggle",checked:()=>k(e.checked),onchange:n=>y(e.checked)&&e.checked(n.target.checked)}),Xe=m("div","drawer-content"),Ze=m("div","drawer-side"),et=e=>label({...e,for:e.for,class:v("drawer-overlay",e.class)}),tt=I("div","divider"),V=m("div","dropdown"),be=(e,n)=>t("div",{...e,tabindex:"0",role:"button",class:v("btn",e.class)},n),K=(e,n)=>t("div",{...e,tabindex:"0",class:v("dropdown-content",e.class)},n),nt=(e,n)=>t("div",{class:"fab"},[t("div",{tabindex:"0",role:"button",class:v("btn",e.class)},F({},e.icon)),n]),st=(e,n)=>t("fieldset",{class:v("fieldset",e.class)},[t("legend",{class:"fieldset-legend"},e.label),n]),F=(e,n)=>t("span",{...e,class:v(n,e.class)}),ot=(e,n)=>t("div",{...e,class:v("indicator",e.class)},[e.value&&t("span",{class:v("indicator-item badge",e.class)},e.value),n]),at=m("kbd","kbd"),lt=m("ul","list"),rt=e=>()=>(k(e.items)||[]).map((n,s)=>t("li",{class:v("list-row",e.class,n?.class)},typeof e.render=="function"?e.render(n,s):n)),ct=m("span","loading loading-spinner"),it=m("div","navbar"),dt=I("progress","progress"),ut=(e,n)=>t("div",{class:v("radial-progress",e.class),style:`--value:${k(e.value)??0};`,role:"progressbar","aria-valuenow":e.value},n),pt=G("input","radio","radio"),ft=G("input","range","range"),bt=m("div","rating"),gt=e=>[...Array(e.count)].map((n,s)=>t("input",{class:v("mask",e.class),name:e.name,type:"radio",checked:()=>k(e.value)===s,onchange:()=>y(e.value)?e.value(s):e.onchange?.(s)})),ht=I("div","skeleton"),vt=I("span","skeleton skeleton-text"),xt=m("div","stack"),mt=m("div","stats shadow"),yt=m("ul","steps"),wt=(e,n)=>t("li",{...e,class:v("step",e.class),"data-content":e.dataContent},n),ge=m("label","swap"),he=e=>t("input",{type:"checkbox",checked:()=>k(e.value),onchange:n=>y(e.value)&&e.value(n.target.checked),class:e.class}),ve=m("div","swap-on"),xe=m("div","swap-off"),kt=m("table","table"),St=I("textarea","textarea"),_t=(e,n)=>t("span",{...e,class:v("text-rotate",e.class)},t("span",{},n)),Ct=m("ul","timeline"),Tt=G("input","toggle","checkbox"),$t=(e,n)=>t("div",{...e,class:v("tooltip",e.class),"data-tip":e.tip},n),Et=e=>{let n=e.name||pe("acc");return O(e.items,s=>t("div",{class:v("collapse",e.class)},[t("input",{type:"radio",name:n,checked:s.open||void 0}),s.title?t("div",{class:v("collapse-title",`${s.classTitle??" font-semibold"}`)},s.title):null,s.content?t("div",{class:v("collapse-content text-sm",`${s.classContent??" font-semibold"}`)},s.content):null]))},Dt=({items:e,value:n,onselect:s,placeholder:a="...",...o})=>{let r=_(k(n)||""),l=_(()=>ue(e,r())),i=c=>{let u=R(c),b=typeof c=="string"?c:c.value;r(u),y(n)&&n(b),s?.(c),q()};return V({class:"w-80"},[t("div",{tabindex:"0",role:"button",class:"w-full"},we({...o,placeholder:a,value:r,left:F({},"icon-[lucide--search]")})),K({class:"p-2 bg-base-100 rounded-box shadow-xl w-full max-h-60 overflow-y-auto border border-base-300 z-50"},t("ul",{class:"menu flex-col flex-nowrap w-full p-0"},[O(l,c=>t("li",{},[t("a",{onmousedown:u=>u.preventDefault(),onclick:()=>i(c)},R(c))]),"value"),()=>l().length===0?t("li",{class:"p-4 opacity-50 text-center"},"Sin resultados"):null]))])},me=e=>{let n=_(new Date),s=_(null),a=_(0),o=_(0),r=new Date,l=`${r.getFullYear()}-${String(r.getMonth()+1).padStart(2,"0")}-${String(r.getDate()).padStart(2,"0")}`,i=p=>`${p.getFullYear()}-${String(p.getMonth()+1).padStart(2,"0")}-${String(p.getDate()).padStart(2,"0")}`,c=()=>k(e.range)===!0,u=()=>k(e.value),b=p=>{let f=i(p),$=u();if(c())if(!$?.start||$.start&&$.end)e.onChange?.({start:f,end:null,...e.hour&&{startHour:a()}});else{let A=$.start,E=f{let f=n();n(new Date(f.getFullYear(),f.getMonth()+p,1))},x=p=>{let f=n();n(new Date(f.getFullYear()+p,f.getMonth(),1))},h=({value:p,onChange:f})=>t("div",{class:"flex-1"},[t("div",{class:"flex gap-2 items-center"},[t("input",{type:"range",min:0,max:23,value:p,class:"range range-xs flex-1",oninput:$=>f(+$.target.value)}),t("span",{class:"text-sm font-mono min-w-[48px] text-center"},()=>String(k(p)).padStart(2,"0")+":00")])]);return t("div",{class:v("p-4 bg-base-100 border border-base-300 shadow-2xl rounded-box w-80 select-none",e.class)},[t("div",{class:"flex justify-between items-center mb-4 gap-1"},[t("div",{class:"flex gap-0.5"},[t("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>x(-1)},t("span",{class:"icon-[lucide--chevrons-left]"})),t("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>g(-1)},t("span",{class:"icon-[lucide--chevron-left]"}))]),t("span",{class:"font-bold uppercase flex-1 text-center"},()=>n().toLocaleString("es-ES",{month:"short",year:"numeric"})),t("div",{class:"flex gap-0.5"},[t("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>g(1)},t("span",{class:"icon-[lucide--chevron-right]"})),t("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>x(1)},t("span",{class:"icon-[lucide--chevrons-right]"}))])]),t("div",{class:"grid grid-cols-7 gap-1",onmouseleave:()=>s(null)},[...["L","M","X","J","V","S","D"].map(p=>t("div",{class:"text-[10px] opacity-40 font-bold text-center"},p)),()=>{let p=n(),f=p.getFullYear(),$=p.getMonth(),A=new Date(f,$,1).getDay(),E=A===0?6:A-1,Y=new Date(f,$+1,0).getDate(),d=[];for(let w=0;w{let L=u(),Q=s(),ke=typeof L=="string"?L.split("T")[0]===T:L?.start===T,Se=L?.end===T,W=!1;if(c()&&L?.start){let J=L.start;!L.end&&Q?W=T>J&&T<=Q||T=Q:L.end&&(W=T>J&&Tc()&&s(T),onclick:()=>b(S)},w.toString()))}return d}]),e.hour?t("div",{class:"mt-3 pt-2 border-t border-base-300"},c()?t("div",{class:"flex gap-4"},[h({value:a,onChange:p=>a(p)}),h({value:o,onChange:p=>o(p)})]):h({value:a,onChange:p=>a(p)})):null])},Nt=e=>{let n=()=>k(e.value)||"#000000";return V({},[be({class:"btn"},[t("div",{class:"size-5 rounded-sm",style:()=>`background-color: ${n()}`}),e.label&&t("span",{},e.label)]),K({class:"p-0"},ye({value:e.value,onchange:s=>{y(e.value)?e.value(s):e.onchange?.(s)}}))])},ye=e=>{let n=()=>k(e.value)||"#000000",s=["#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"],a=o=>{y(e.value)?e.value(o):e.onchange?.(o),q()};return t("div",{class:v("p-3 bg-base-100 rounded-box shadow w-64",e.class)},t("div",{class:"grid grid-cols-8 gap-1"},s.map(o=>t("button",{type:"button",style:`background-color: ${o}`,class:()=>`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 ${n().toLowerCase()===o.toLowerCase()?"ring-2 ring-offset-1 ring-primary z-10 scale-110":""}`,onclick:()=>{a(o)}}))))},At=e=>{let n=_(""),s=()=>k(e.range)===!0;z(()=>{let o=k(e.value);if(!o)return n("");let r="";if(typeof o=="string")r=e.hour&&o.includes("T")?o.replace("T"," "):o;else if(o.start&&o.end){let l=e.hour&&o.startHour!=null?`${o.start} ${String(o.startHour).padStart(2,"0")}:00`:o.start,i=e.hour&&o.endHour!=null?`${o.end} ${String(o.endHour).padStart(2,"0")}:00`:o.end;r=`${l} - ${i}`}else o.start&&(r=`${e.hour&&o.startHour!=null?`${o.start} ${String(o.startHour).padStart(2,"0")}:00`:o.start}...`);n(r)});let a=o=>{y(e.value)?e.value(o):e.onChange?.(o),(!s()||o?.end!=null)&&q()};return V({class:v("w-full",e.class)},[t("label",{tabindex:"0",role:"button",class:"input input-bordered flex items-center gap-2 cursor-pointer"},[t("span",{class:"icon-[lucide--calendar] shrink-0"}),t("span",{class:()=>`grow text-left truncate ${n()?"":"opacity-50"}`},()=>n()||e.placeholder||(s()?"Seleccionar rango...":"Seleccionar fecha...")),()=>n()?t("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle -mr-2",onmousedown:o=>{o.preventDefault(),o.stopPropagation(),y(e.value)?e.value(null):e.onChange?.(null),n("")}},t("span",{class:"icon-[lucide--x] opacity-50"})):null]),K({class:"p-0"},me({value:e.value,range:s(),hour:e.hour,onChange:a}))])},Lt=e=>{let n=_([]),s=_(!1),a=_(null),o=(e.max||2)*1024*1024,r=i=>{let c=Array.from(i);if(a(null),c.some(b=>b.size>o)){a(`M\xE1x ${e.max||2}MB`);return}let u=[...n(),...c];n(u),y(e.onselect)?e.onselect(u):y(e.value)&&e.value(u)},l=i=>{let c=n().filter((u,b)=>b!==i);n(c),y(e.onselect)?e.onselect(c):y(e.value)&&e.value(c)};return t("div",{class:v("fieldset w-full p-0",e.class)},[t("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 ${s()?"border-primary bg-primary/10":"border-base-content/20 bg-base-100 hover:bg-base-200"}`,ondragover:i=>{i.preventDefault(),s(!0)},ondragleave:()=>s(!1),ondrop:i=>{i.preventDefault(),s(!1),r(i.dataTransfer.files)}},[t("div",{class:"flex items-center gap-3 w-full"},[t("span",{class:"icon-[lucide--upload]"}),t("span",{class:"text-sm opacity-70 truncate grow text-left"},"..."),t("span",{class:"text-[10px] opacity-40 shrink-0"},`M\xE1x ${e.max||2}MB`)]),t("input",{type:"file",multiple:!0,accept:e.accept||"*",class:"hidden",onchange:i=>r(i.target.files)})]),()=>a()&&t("span",{class:"text-[10px] text-error mt-1 px-1 font-medium"},a()),ie(()=>n().length>0,()=>t("ul",{class:"mt-2 space-y-1"},O(n,(i,c)=>t("li",{class:"flex items-center justify-between p-1.5 pl-3 text-xs bg-base-200/50 rounded-md border border-base-300"},[t("div",{class:"flex items-center gap-2 truncate"},[t("span",{class:"opacity-50"},"\u{1F4C4}"),t("span",{class:"truncate font-medium max-w-[200px]"},i.name),t("span",{class:"text-[9px] opacity-40"},`(${(i.size/1024).toFixed(0)} KB)`)]),t("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle",onclick:u=>{u.preventDefault(),l(c)}},t("span",{class:"icon-[lucide--x]"}))]))))])},we=e=>{let{label:n,icon:s,float:a,placeholder:o,value:r,left:l,right:i,rule:c,hint:u,content:b,...g}=e,x=_(!1),h=e.type==="password",p=c??null,f=()=>h?k(x)?"text":"password":e.type||"search";return t("label",{class:a?"floating-label":""},[a?t("span",{},n):null,t("label",{pattern:p,class:()=>v("input validator",e.class)},[n&&!a?t("span",{class:"label"},n):null,l??null,t("input",{...g,type:f,class:"grow",pattern:p,placeholder:o||n||" ",value:r}),i??null,h?ge({class:"ml-2"},[he({value:x,class:"swap-rotate"}),ve({},F({},"icon-[lucide--eye]")),xe({},F({},"icon-[lucide--eye-off]"))]):null]),u?t("div",{class:"validator-hint"},u):null])},Rt=e=>{if(e.children!==void 0)return t("ul",{class:v("menu",e.class),...e},e.children);let{items:n}=e,s=a=>a.children?t("li",{},t("details",{open:a.open||void 0},[t("summary",{},R(a)),t("ul",{},O(()=>k(a.children)||[],s))])):t("li",{},t("a",{href:a.href,onclick:a.onclick?o=>{a.href||o.preventDefault(),a.onclick(o)}:null},R(a)));return t("ul",{class:v("menu",e.class)},O(()=>k(n)||[],s))},Mt=(e,n)=>{let s=null;z(()=>{let o=k(e.open);s&&(o?s.showModal():s.close())});let a=()=>y(e.open)&&e.open(!1);return t("dialog",{...e,ref:o=>s=o,class:"modal",onclose:a,oncancel:a},[t("div",{class:v("modal-box",e.class??"")},[e.title&&t("h3",{class:"text-lg font-bold"},e.title),n,t("div",{class:"modal-action"},[e.actions||fe({class:"btn",onclick:a},"Cerrar")])]),t("form",{method:"dialog",class:"modal-backdrop"},[t("button",{},"close")])])},Bt=(e,n)=>{if(n!==void 0)return t("select",{class:v("select",e.class),...e},n);let{label:s,float:a,placeholder:o,placeholderDisabled:r=!0,value:l,left:i,right:c,hint:u,items:b,keyFn:g,...x}=e,h=()=>{let p=k(b)||[];return[...o?[{disabled:r,label:o,value:""}]:[],...p]};return t("label",{class:a?"floating-label":""},[a?t("span",{},s):null,t("label",{class:v("select",x.class)},[!a&&s?t("span",{class:"label"},s):null,i??null,t("select",{value:()=>k(l),onchange:p=>y(l)?l(p.target.value):x.onchange?.(p)},O(h,p=>{let f=R(p,p.value!==void 0?"value":void 0),$=R(p,"label");return t("option",{value:f,disabled:p.disabled||void 0},$)})),c??null]),u?t("div",{class:"validator-hint"},u):null])},Ot=e=>t("div",{...e,class:v("stat",e.class)},[e.title?t("div",{class:"stat-title"},e.title):null,e.value?t("div",{class:"stat-value"},e.value):null,e.desc?t("div",{class:"stat-desc"},e.desc):null]),Ht=({items:e,columns:n=[],header:s=!0})=>{let a=s!==!1&&n.some(r=>r.label)?t("thead",{},t("tr",{},n.map(r=>t("th",{class:r.class},r.label)))):null,o=t("tbody",{},()=>(k(e)||[]).map((l,i)=>t("tr",{},n.map(c=>{let u=c.render?c.render(l,i):l[c.key];return t("td",{class:c.class},u)}))));return[a,o].filter(Boolean)},jt=(e,n)=>{if(!e.items){let{class:u,...b}=e;return t("div",{...b,class:v("tabs",u)},n)}let{items:s,activeIndex:a,onClose:o,class:r,...l}=e,i=u=>y(u)?u():u,c=o||(y(s)?(u,b)=>{let x=k(s).filter((h,p)=>p!==u);s(x),a()>=x.length&&a(Math.max(0,x.length-1))}:null);return t("div",{...l,class:v("tabs",r)},()=>(k(s)||[]).flatMap((b,g)=>{let x=()=>a()===g,h=t("button",{class:()=>`tab ${x()?"tab-active":""} ${b.class||""}`,onclick:f=>{f.preventDefault(),a(g),b.onclick?.(f)}},[R(b),b.closable?t("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:f=>{f.stopPropagation(),c?.(g,b)}},t("span",{class:"icon-[lucide--x] w-3 h-3"})):null]),p=t("div",{class:"tab-content bg-base-100 border-base-300 p-6",style:()=>`display: ${x()?"block":"none"};`},y(b.content)?b.content():b.content);return[h,p]}))},zt=(e,n="alert-success",s=3500)=>{let a=document.getElementById("sigpro-toast-container");a||(a=t("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(a));let o=t("div",{style:"display: contents"});a.appendChild(o);let r,l,i,u=de(()=>{let b=_(!1),g=_(!1);r=()=>{g()||(clearTimeout(l),clearTimeout(i),g(!0),setTimeout(()=>{u.destroy(),o.remove(),a.hasChildNodes()||a.remove()},300))},i=setTimeout(()=>b(!0),0);let x=typeof e=="function"?k(e):e,h=typeof x=="string"?t("span",{},x):x;return t("div",{class:()=>{let p=`alert alert-soft ${n} shadow-lg transition-all duration-300 inline-flex w-auto whitespace-nowrap pointer-events-auto`;return g()?`${p} translate-x-full opacity-0`:b()?`${p} translate-x-0 opacity-100`:`${p} translate-x-10 opacity-0`}},[h,t("button",{class:"btn btn-xs btn-circle btn-ghost",onclick:r},t("span",{class:"icon-[lucide--x]"}))])},o);return s>0&&(l=setTimeout(r,s)),r};var oe={};ae(oe,{Editor:()=>Ft});var Ft=e=>{let{value:n,class:s}=e,a=null,o=null,r=_(!1),l=_(""),i=_(0),c=_(0),u=_(!1),b=["\u{1F600}","\u{1F60A}","\u{1F609}","\u{1F9D0}","\u{1F62E}","\u{1F914}","\u{1F605}","\u{1F602}","\u{1F60D}","\u{1F618}","\u{1F970}","\u{1F44D}","\u{1F44E}","\u{1F44C}","\u{1F91D}","\u{1F91E}","\u{1F44B}","\u{1F44F}","\u{1F64C}","\u{1F64F}","\u{1F4AA}","\u261D\uFE0F","\u{1F447}","\u{1F448}","\u{1F449}","\u{1F595}","\u2705","\u26A0\uFE0F","\u{1F680}","\u{1F4E2}","\u2709\uFE0F","\u2764\uFE0F"],g=()=>{let d=window.getSelection();d.getRangeAt&&d.rangeCount&&(o=d.getRangeAt(0))},x=()=>{if(o){let d=window.getSelection();d.removeAllRanges(),d.addRange(o)}},h=()=>{c(c()+1),a&&i(a.innerText.length)},p=()=>{if(!a)return;let d=a.innerHTML;y(n)?n(d):e.onchange?.(d),h()},f=(d,w=null)=>{a&&(a.focus(),o&&x(),document.execCommand(d,!1,w),o=null,p())},$=d=>{let w=document.createElement("div");w.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 S=document.createElement("img");S.src=d,S.style="max-width:95%;max-height:95%;box-shadow:0 0 30px rgba(0,0,0,0.5);border-radius:4px;",w.onclick=()=>document.body.removeChild(w),w.appendChild(S),document.body.appendChild(w)},A=d=>{if(!d)return;let w=new FileReader;w.onload=S=>{if(d.type.startsWith("image/")){let T=` `;f("insertHTML",T)}else{let T=`${d.name} `;f("insertHTML",T)}},w.readAsDataURL(d)},E=(d,w=null)=>{if(c(),!a||r())return!1;try{if(d==="formatBlock"){let S=window.getSelection().getRangeAt(0).commonAncestorContainer;for(;S&&S!==a;){if(S.nodeType===1&&S.tagName===w)return!0;S=S.parentNode}return!1}return document.queryCommandState(d)}catch{return!1}},Y=t("div",{class:"flex flex-wrap items-center gap-1 p-2 border-b border-base-300 bg-base-200 sticky top-0 z-20"},[t("div",{class:"flex flex-wrap gap-1 flex-1 items-center"},[t("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${E("bold")?"btn-active bg-primary/20":""}`,onclick:()=>f("bold")},t("span",{class:"icon-[lucide--bold]"})),t("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${E("italic")?"btn-active bg-primary/20":""}`,onclick:()=>f("italic")},t("span",{class:"icon-[lucide--italic]"})),t("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${E("underline")?"btn-active bg-primary/20":""}`,onclick:()=>f("underline")},t("span",{class:"icon-[lucide--underline]"})),t("input",{type:"color",class:"w-5 h-5 p-0 border-0 bg-transparent cursor-pointer",oninput:d=>f("foreColor",d.target.value)}),t("span",{class:"w-px h-5 bg-base-300 mx-1"}),t("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>f("justifyLeft")},t("span",{class:"icon-[lucide--align-left]"})),t("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>f("justifyCenter")},t("span",{class:"icon-[lucide--align-center]"})),t("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>f("justifyRight")},t("span",{class:"icon-[lucide--align-right]"})),t("span",{class:"w-px h-5 bg-base-300 mx-1"}),t("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>f("insertUnorderedList")},t("span",{class:"icon-[lucide--list]"})),t("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>f("insertOrderedList")},t("span",{class:"icon-[lucide--list-ordered]"})),t("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>f("outdent")},t("span",{class:"icon-[lucide--indent-decrease]"})),t("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>f("indent")},t("span",{class:"icon-[lucide--indent-increase]"})),t("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${E("formatBlock","BLOCKQUOTE")?"btn-active":""}`,onclick:()=>f("formatBlock",E("formatBlock","BLOCKQUOTE")?"P":"BLOCKQUOTE")},t("span",{class:"icon-[lucide--quote]"})),t("span",{class:"w-px h-5 bg-base-300 mx-1"}),t("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>{let d=window.prompt("URL:");d&&f("createLink",d)}},t("span",{class:"icon-[lucide--link]"})),t("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>{let d=document.createElement("input");d.type="file",d.onchange=w=>A(w.target.files[0]),d.click()}},t("span",{class:"icon-[lucide--paperclip]"})),t("div",{class:"relative"},[t("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:d=>{d.stopPropagation(),g(),u(!u())}},t("span",{class:"icon-[lucide--smile]"})),t("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:()=>u()?"display:flex":"display:none"},b.map(d=>t("span",{class:"cursor-pointer hover:bg-base-200 p-1 rounded text-lg",onclick:w=>{w.stopPropagation(),f("insertText",d),u(!1)}},d)))]),t("span",{class:"w-px h-5 bg-base-300 mx-1"}),t("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>f("undo")},t("span",{class:"icon-[lucide--undo-2]"})),t("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>f("redo")},t("span",{class:"icon-[lucide--redo-2]"}))]),t("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${r()?"btn-active":""}`,onclick:()=>{r()?a&&(a.innerHTML=l(),p()):l(a?.innerHTML||""),r(!r())}},t("span",{class:"icon-[lucide--code-2]"}))]);if(typeof document<"u"&&!document.getElementById("editor-styles")){let d=document.createElement("style");d.id="editor-styles",d.textContent=`
- [contenteditable="true"] div,
- [contenteditable="true"] p {
- margin: 0;
- padding: 0;
- }
- `,document.head.appendChild(d)}return t("div",{class:v("border border-base-300 rounded-box bg-base-100 overflow-hidden shadow-sm flex flex-col",s)},[Y,t("div",{class:"relative flex-1 flex flex-col",onclick:()=>u(!1)},[t("div",{ref:d=>{!a&&d&&(a=d,d.innerHTML=k(n)||"",document.execCommand("defaultParagraphSeparator",!1,"br"),d.addEventListener("click",w=>{let S=w.target.closest(".resizable-img-container");if(S){let T=S.querySelector("img");T&&$(T.src)}}))},style:()=>`min-height:22rem;${r()?"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:p,onkeydown:d=>{d.key==="Tab"&&(d.preventDefault(),f("indent"))},onkeyup:()=>{h(),g()},onclick:d=>{h(),g(),d.stopPropagation()},onmouseup:()=>{p(),g()},onpaste:d=>{d.preventDefault();let w=d.clipboardData.getData("text/plain");f("insertText",w)},ondragover:d=>d.preventDefault(),ondrop:d=>{d.preventDefault(),A(d.dataTransfer.files[0])}}),t("textarea",{class:"w-full flex-1 min-h-[22rem] p-4 outline-none font-mono text-sm bg-base-200 border-0",style:()=>r()?"":"display:none",value:l,oninput:d=>{l(d.target.value),a&&(a.innerHTML=d.target.value),e.onchange?.(d.target.value)}})]),t("div",{class:"px-3 py-1 border-t border-base-300 bg-base-100/50 text-[10px] text-right text-base-content/60 italic"},[t("span",()=>`${i()}`)])])};typeof window<"u"&&Object.assign(window,se,oe);})();
+var spui=(()=>{var ot=Object.defineProperty;var ct=(t,e)=>{for(var r in e)ot(t,r,{get:e[r],enumerable:!0})};var H={};ct(H,{Accordion:()=>xt,AccordionContent:()=>gt,AccordionRadio:()=>$t,AccordionTitle:()=>vt,Alert:()=>ht,Avatar:()=>yt,AvatarGroup:()=>wt,Badge:()=>_t,Breadcrumbs:()=>St,Button:()=>kt,Calendar:()=>Ct,Card:()=>Tt,CardActions:()=>Dt,CardBody:()=>At,CardTitle:()=>Et,Carousel:()=>Nt,CarouselItem:()=>Lt,Chat:()=>Ft,ChatBubble:()=>Bt,ChatFooter:()=>It,ChatHeader:()=>Mt,ChatImage:()=>Ot,Checkbox:()=>jt,ColorPalette:()=>Rt,Combo:()=>Pt,Divider:()=>Vt,Drawer:()=>zt,DrawerContent:()=>Ht,DrawerOverlay:()=>Ut,DrawerSide:()=>Gt,DrawerToggle:()=>qt,Dropdown:()=>K,DropdownButton:()=>Wt,DropdownContent:()=>X,Fab:()=>Jt,Fieldset:()=>Kt,FileDrag:()=>Xt,FileError:()=>Zt,FileInput:()=>Yt,FilePreview:()=>Qt,Filter:()=>te,Icon:()=>B,Indicator:()=>ee,Input:()=>Y,InputHint:()=>ae,InputPass:()=>se,Kbd:()=>re,Label:()=>le,LabelFloating:()=>oe,LabelInput:()=>ce,LabelSelect:()=>ne,List:()=>ie,ListRows:()=>de,Loading:()=>ge,Menu:()=>ue,MenuItem:()=>me,MenuTitle:()=>fe,Modal:()=>pe,ModalAction:()=>xe,ModalBackdrop:()=>$e,ModalBox:()=>be,ModalClose:()=>ve,Navbar:()=>he,Progress:()=>ye,Radial:()=>we,Radio:()=>_e,Range:()=>Se,Rating:()=>ke,RatingItems:()=>Ce,Select:()=>Te,SelectOption:()=>Ee,Skeleton:()=>Ae,SkeletonText:()=>De,Stack:()=>Ne,Stat:()=>Fe,StatDesc:()=>Oe,StatFigure:()=>Be,StatTitle:()=>Ie,StatValue:()=>Me,Stats:()=>Le,Step:()=>Re,Steps:()=>je,Swap:()=>Q,SwapOff:()=>et,SwapOn:()=>tt,SwapToggle:()=>Z,Tab:()=>ze,Table:()=>qe,TableBody:()=>Ge,TableFoot:()=>Ue,TableHead:()=>He,TableRow:()=>Ve,TableTd:()=>Je,TableTh:()=>We,Tabs:()=>Pe,Textarea:()=>Ke,Textrotate:()=>Xe,Timeline:()=>Ye,Toast:()=>Qe,Toggle:()=>Ze,Tooltip:()=>ts,filterBy:()=>bt,getBy:()=>pt,hide:()=>J});var x=t=>typeof t=="function",G=t=>t&&typeof t=="object",S=Array.isArray,A=typeof document<"u"?document:null,L=t=>A.createTextNode(t==null?"":String(t)),U=t=>t?._rt?t._cnt:t instanceof Node?t:L(t);var v=t=>x(t)?t():t,p=null,$=null,N=0,nt=0,z=new Set,O=new WeakMap,it="http://www.w3.org/2000/svg",V="http://www.w3.org/1999/xlink",dt=new Set("svg,path,circle,rect,line,polyline,polygon,g,defs,text,textPath,tspan,use,symbol,image,marker,ellipse".split(",")),ut=new Set(["src","href","formaction","action","background","code","archive"]),F=t=>{t&&(t.forEach(e=>e()),t.clear())},T=t=>{if(!t||t._x)return;t._x=1;let e=[t],r;for(;r=e.pop();)F(r._c),r._ch&&(r._ch.forEach(o=>e.push(o)),r._ch.clear()),r._d&&(r._d.forEach(o=>o.delete(r)),r._d.clear())},j=t=>$&&($._c||=new Set).add(t);var R=(t,e=0)=>{let r=()=>{if(r._x)return;r._d&&r._d.forEach(m=>m.delete(r)),F(r._c);let o=p,c=$;p=$=r;try{return r._res=t()}catch(m){console.error("[SigPro]",m)}finally{p=o,$=c}};return r._d=r._c=r._ch=null,r._x=0,r._iC=e,r._dp=p?p._dp+1:0,r._m=[],r._p=$,$&&($._ch||=new Set).add(r),r},ft=()=>{if(N)return;N=1;let t=[...z].sort((e,r)=>e._dp-r._dp);z.clear();for(let e of t)e._x||e();N=0};var E=(t,e=0)=>{if(!e&&p&&!p._x)t.add(p),(p._d||=new Set).add(t);else if(e&&t.size){let r=0;for(let o of t)o===p||o._x||(o._iC?(o._dt=1,o._sb&&E(o._sb,1)):(z.add(o),r=1));r&&!N&&!nt&&queueMicrotask(ft)}},y=(t,e=null)=>{let r=new Set;if(x(t)){let o,c=()=>{if(c._dt){let m=p;p=c;try{let l=t();Object.is(o,l)||(o=l,E(r,1))}finally{p=m}c._dt=0}return E(r),o};return c._iC=c._dt=1,c._sb=r,c._d=null,c._x=0,c}if(e)try{t=JSON.parse(localStorage.getItem(e))??t}catch{}return(...o)=>{if(o.length){let c=x(o[0])?o[0](t):o[0];Object.is(t,c)||(t=c,e&&localStorage.setItem(e,JSON.stringify(t)),E(r,1))}return E(r),t}};var q=t=>{t&&(F(t._c),t._oE&&T(t._oE),t.childNodes&&t.childNodes.forEach(q))},P=(t,e)=>e==null||e===!1?null:(ut.has(t)||t.startsWith("on"))&&/^\s*(javascript|data|vbscript):/i.test(String(e))?"#":e,s=(t,e={},r=[])=>{if((e instanceof Node||S(e)||!G(e))&&(r=e,e={}),x(t)){let l=R(()=>l._res=t(e,{children:r,emit:(n,...g)=>e[`on${n[0].toUpperCase()}${n.slice(1)}`]?.(...g)}));if(l(),l._res==null)return null;let u=l._res instanceof Node||S(l._res)&&l._res.every(n=>n instanceof Node)?l._res:L(l._res),d=n=>{G(n)&&!n._rt&&(n._m=l._m||[],n._c=l._c||new Set,n._oE=l)};return S(u)?u.forEach(d):d(u),u}let o=dt.has(t),c=o?A.createElementNS(it,t):A.createElement(t);c._c=new Set;for(let l in e){let u=e[l];if(l==="ref"){x(u)?u(c):u.current=c;continue}if(o&&l.startsWith("xlink:")){let d=P(l.slice(6),u);d==null?c.removeAttributeNS(V,l.slice(6)):c.setAttributeNS(V,l.slice(6),d);continue}if(l.startsWith("on")){let d=l.slice(2).toLowerCase();c.addEventListener(d,u);let n=()=>c.removeEventListener(d,u);c._c.add(n),j(n)}else if(x(u)){let d=R(()=>{let n=P(l,u());l==="class"?c.className=n||"":n==null?c.removeAttribute(l):l==="style"&&typeof n=="string"?c.setAttribute("style",n):l in c&&!o?c[l]=n:c.setAttribute(l,n===!0?"":n)});d(),c._c.add(()=>T(d)),j(()=>T(d)),/^(INPUT|TEXTAREA|SELECT)$/.test(c.tagName)&&(l==="value"||l==="checked")&&c.addEventListener(l==="checked"?"change":"input",n=>u(n.target[l]))}else{let d=P(l,u);d!=null&&(l==="style"&&typeof d=="string"?c.setAttribute("style",d):l in c&&!o?c[l]=d:c.setAttribute(l,d===!0?"":d))}}let m=l=>{if(S(l))return l.forEach(m);if(x(l)){let u=L(""),d=[];c.appendChild(u);let n=R(()=>{let g=l(),k=(S(g)?g:[g]).map(U),w=u;d.forEach(i=>{i._rt?i._del():q(i),i.parentNode&&i.remove()});for(let i=k.length-1;i>=0;i--){let f=k[i];f.parentNode!==w.parentNode&&w.parentNode?.insertBefore(f,w),f._m&&f._m.forEach(b=>b()),w=f}d=k});n(),c._c.add(()=>T(n)),j(()=>T(n))}else{let u=U(l);c.appendChild(u),u._m&&u._m.forEach(d=>d())}};return m(r),c},mt=t=>{let e=new Set,r=$,o=p,c=A.createElement("div");c.style.display="contents",c.setAttribute("role","presentation"),$={_c:e},p=null;let m=l=>{l&&(l._rt?(e.add(l._del),c.appendChild(l._cnt)):S(l)?l.forEach(m):c.appendChild(l instanceof Node?l:L(l)))};try{m(t({onCleanup:l=>e.add(l)}))}finally{$=r,p=o}return{_rt:1,_cnt:c,_del:()=>{F(e),q(c),c.remove()}}};var W=(t,e)=>{let r=typeof e=="string"?A.querySelector(e):e;if(!r)return;O.has(r)&&O.get(r)._del();let o=mt(x(t)?t:()=>t);return r.replaceChildren(o._cnt),O.set(r,o),o};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(t=>window[t]=(e,r)=>s(t,e,r));var pt=(t,e="label")=>t&&typeof t=="object"?t[e]:t,bt=(t,e,r="label")=>{let o=String(v(e)||"").toLowerCase(),c=(v(t)||[]).map(m=>typeof m=="object"?m:{label:m,value:m});return o?c.filter(m=>String(m[r]||"").toLowerCase().includes(o)):c},J=()=>document.activeElement?.blur(),xt=(t,e)=>s("div",{...t,class:`collapse ${t?.class||""}`.trim()},e),$t=t=>s("input",{type:"radio",name:t.name,checked:t.checked||void 0,class:t.class}),vt=(t,e)=>s("div",{...t,class:`collapse-title ${t?.class||""}`.trim()},e),gt=(t,e)=>s("div",{...t,class:`collapse-content ${t?.class||""}`.trim()},e),ht=(t,e)=>s("div",{...t,class:`alert ${t?.class||""}`.trim()},e),yt=(t,e)=>s("div",{class:"avatar"},s("div",{class:t.class},e)),wt=(t,e)=>s("div",{...t,class:`avatar-group -space-x-6 ${t?.class||""}`.trim()},e),_t=(t,e)=>s("span",{...t,class:`badge ${t?.class||""}`.trim()},e),St=(t,e)=>s("div",{...t,class:`breadcrumbs ${t?.class||""}`.trim()},e),kt=(t,e)=>s("button",{...t,class:`btn ${t?.class||""}`.trim()},e),Ct=t=>{let[e,r,o,c]=[y(new Date),y(0),y(0),y(0)],m=new Date,l=i=>i?.toISOString().slice(0,10),u=i=>(i<10?"0":"")+i,d=(i,f=0)=>e(new Date(e().getFullYear()+f,e().getMonth()+i,1)),n=()=>typeof t.value=="function"?t.value():t.value,g=()=>typeof t.range=="function"?t.range():t.range,k=i=>{let f=l(i),b=n();if(!g())return t.onChange?.(t.hour?`${f}T${u(o())}:00:00`:f);if(!b?.start||b.end)return t.onChange?.({start:f,end:null,...t.hour&&{startHour:o()}});let C=fs("div",{class:"flex-1 flex gap-2 items-center"},[s("input",{type:"range",min:0,max:23,value:i,class:"range range-xs",oninput:b=>f(+b.target.value)}),s("span",{class:"text-sm font-mono"},()=>u(i())+":00")]);return s("div",{class:`p-4 bg-base-100 border shadow-2xl rounded-box w-80 select-none ${t.class||""}`},[s("div",{class:"flex justify-between items-center mb-4"},[s("div",{class:"flex"},[["-1y",-1,1],["-1m",-1,0]].map(([i,f,b])=>s("button",{class:"btn btn-ghost btn-xs",onclick:()=>d(f,b)},s("span",{class:`icon-[lucide--chevron${b?"s":""}-left]`})))),s("span",{class:"font-bold uppercase"},()=>e().toLocaleString("es",{month:"short",year:"numeric"})),s("div",{class:"flex"},[[1,0],[1,1]].map(([i,f])=>s("button",{class:"btn btn-ghost btn-xs",onclick:()=>d(i,f)},s("span",{class:`icon-[lucide--chevron${f?"s":""}-right]`}))))]),s("div",{class:"grid grid-cols-7 gap-1",onmouseleave:()=>r(null)},[..."LMXJVSD".split("").map(i=>s("div",{class:"text-[10px] opacity-40 font-bold text-center"},i)),()=>{let i=e().getFullYear(),f=e().getMonth(),b=(new Date(i,f,1).getDay()+6)%7;return[...Array(b).fill(s("div")),...Array(new Date(i,f+1,0).getDate()).keys()].map(D=>{if(typeof D!="number")return D;let C=D+1,h=l(new Date(i,f,C)),st=l(m)==h;return s("button",{type:"button",onclick:()=>k(new Date(i,f,C)),onmouseenter:()=>g()&&r(h),class:()=>{let _=n(),I=r(),M=_?.start||(typeof _=="string"?_.slice(0,10):0),at=_?.end==h,rt=M==h,lt=g()&&_?.start&&(_.end?h>_.start&&h<_.end:I&&(h>M&&h<=I||h=I));return`btn btn-xs p-0 aspect-square min-h-0 h-auto font-normal relative ${rt||at?"btn-primary z-10":lt?"bg-primary/20 border-none rounded-none":"btn-ghost"} ${st?"ring-1 ring-primary font-black":""}`}},C)})}]),t.hour&&s("div",{class:"mt-3 pt-2 border-t flex gap-4"},g()?[w({v:o,on:o}),w({v:c,on:c})]:[w({v:o,on:o})])])},Tt=(t,e)=>s("div",{...t,class:`card ${t?.class||""}`.trim()},e),Et=(t,e)=>s("div",{...t,class:`card-title ${t?.class||""}`.trim()},e),At=(t,e)=>s("div",{...t,class:`card-body ${t?.class||""}`.trim()},e),Dt=(t,e)=>s("div",{...t,class:`card-actions ${t?.class||""}`.trim()},e),Nt=(t,e)=>s("div",{...t,class:`carousel ${t?.class||""}`.trim()},e),Lt=(t,e)=>s("div",{...t,class:`carousel-item ${t?.class||""}`.trim()},e),Ft=(t,e)=>s("div",{...t,class:`chat ${t?.class||""}`.trim()},e),Bt=(t,e)=>s("div",{...t,class:`chat-bubble ${t?.class||""}`.trim()},e),It=(t,e)=>s("div",{...t,class:`chat-footer ${t?.class||""}`.trim()},e),Mt=(t,e)=>s("div",{...t,class:`chat-header ${t?.class||""}`.trim()},e),Ot=(t,e)=>s("div",{...t,class:`chat-image avatar ${t?.class||""}`.trim()},s("div",{class:"w-10 rounded-full"},typeof e=="string"?s("img",{src:e,alt:"avatar"}):e)),jt=t=>s("input",{type:"checkbox",...t,class:`checkbox ${t?.class||""}`.trim()}),Rt=t=>{let e=o=>(o||"").toLowerCase(),r="#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".split(",");return s("div",{class:`p-3 bg-base-100 rounded-box shadow w-64 ${t.class||""}`},s("div",{class:"grid grid-cols-8 gap-1"},r.map(o=>s("button",{type:"button",style:{background:o},onclick:()=>(x(t.value)?t.value(o):t.onchange?.(o),J()),class:()=>`size-6 rounded-sm transition-all hover:scale-125 hover:z-10 active:scale-95 border border-black/5 p-0 min-h-0 ${e(v(t.value))==e(o)?"ring-2 ring-offset-1 ring-primary z-10 scale-110":""}`}))))},Pt=(t,e)=>K({},[div({tabindex:"0",role:"button"},e),X({class:t?.class},t.content)]),zt=(t,e)=>s("div",{...t,class:`drawer ${t?.class||""}`.trim()},e),qt=t=>input({...t,type:"checkbox",class:"drawer-toggle",checked:()=>v(t.checked),onchange:e=>x(t.checked)&&t.checked(e.target.checked)}),Ht=(t,e)=>s("div",{...t,class:`drawer-content ${t?.class||""}`.trim()},e),Gt=(t,e)=>s("div",{...t,class:`drawer-side ${t?.class||""}`.trim()},e),Ut=t=>label({...t,for:t.for,class:`drawer-overlay ${t?.class||""}`.trim()}),Vt=t=>s("div",{...t,class:`divider ${t?.class||""}`.trim()}),K=(t,e)=>s("div",{...t,class:`dropdown ${t?.class||""}`.trim()},e),Wt=(t,e)=>s("div",{...t,tabindex:"0",role:"button",class:`btn ${t?.class||""}`.trim()},e),X=(t,e)=>s("div",{...t,tabindex:"0",class:`dropdown-content ${t?.class||""}`.trim()},e),Jt=(t,e)=>s("div",{class:"fab"},[s("div",{tabindex:"0",role:"button",class:`btn ${t?.class||""}`.trim()},B({},t.icon)),e]),Kt=(t,e)=>s("fieldset",{class:`fieldset ${t?.class||""}`.trim()},[s("legend",{class:"fieldset-legend"},t.label),e]),Xt=(t,e)=>s("label",{class:()=>`relative flex items-center justify-between h-12 px-4 border-2 border-dashed rounded-lg cursor-pointer transition-all ${t.drag?"border-primary bg-primary/10":"border-base-content/20 bg-base-100"} ${t?.class||""}`,ondragover:r=>{r.preventDefault(),t.ondrag?.(!0)},ondragleave:()=>t.ondrag?.(!1),ondrop:r=>{r.preventDefault(),t.ondrag?.(!1),t.ondrop?.(r.dataTransfer.files)}},e),Yt=t=>s("input",{type:"file",multiple:!0,accept:t.accept||"*",class:`file-input ${t?.class||""}`.trim(),onchange:e=>t.onchange?.(e.target.files)}),Qt=t=>s("ul",{class:`mt-2 space-y-1 ${t?.class||""}`},t.files.map((e,r)=>s("li",{class:"flex items-center justify-between p-1.5 pl-3 text-xs bg-base-200/50 rounded-md border"},[s("div",{class:"flex items-center gap-2 truncate opacity-70"},[s("span",{},"\u{1F4C4}"),s("span",{class:"truncate max-w-[180px]"},e.name),s("span",{class:"text-[9px] opacity-50"},`(${~~(e.size/1024)}KB)`)]),s("button",{class:"btn btn-ghost btn-xs btn-circle",onclick:()=>t.onremove?.(r)},s("span",{class:"icon-[lucide--x]"}))]))),Zt=t=>s("div",{class:`text-[10px] text-error mt-1 px-1 ${t?.class||""}`},t.message),te=(t,e,r,o)=>r(y(()=>v(e).filter(c=>String(o?c[o]:c).toLowerCase().includes(v(t).toLowerCase())))),B=(t,e)=>s("span",{...t,class:`${e??""} ${t?.class||""}`.trim()}),ee=(t,e)=>s("div",{...t,class:`indicator ${t?.class||""}`.trim()},[t.value&&s("span",{class:`indicator-item badge ${t?.class||""}`.trim()},t.value),e]),Y=t=>s("input",{...t,class:`input ${t?.class||""}`.trim()}),se=t=>{let e=y(!1);return[Y({...t,type:e()?"text":"password"}),Q({class:"ml-2"},[Z({value:e,class:"swap-rotate"}),tt({},B({},"icon-[lucide--eye]")),et({},B({},"icon-[lucide--eye-off]"))])]},ae=(t,e)=>s("div",{...t,class:`validator-hint ${t?.class||""}`.trim()},e),re=(t,e)=>s("kbd",{...t,class:`kbd ${t?.class||""}`.trim()},e),le=(t,e)=>s("span",{...t,class:`label ${t?.class||""}`.trim()},e),oe=(t,e)=>s("label",{...t,class:`floating-label ${t?.class||""}`.trim()},e),ce=(t,e)=>s("label",{...t,class:`input ${t?.class||""}`.trim()},e),ne=(t,e)=>s("label",{...t,class:`select ${t?.class||""}`.trim()},e),ie=(t,e)=>s("ul",{...t,class:`list ${t?.class||""}`.trim()},e),de=t=>()=>(v(t.items)||[]).map((e,r)=>s("li",{class:`list-row ${t?.class||""} ${e?.class||""}`.trim()},typeof t.render=="function"?t.render(e,r):e)),ue=(t,e)=>ul({...t,class:`menu ${t?.class||""}`.trim()},e),fe=(t,e)=>li({...t,class:`menu-title ${t?.class||""}`.trim()},e),me=t=>li({},a({onmousedown:e=>e.preventDefault(),class:t?.class||"",onclick:t.onclick},t.label)),pe=(t,e)=>s("dialog",{...t,class:`modal ${t?.class||""}`.trim()},e),be=(t,e)=>s("div",{...t,class:`modal-box ${t?.class||""}`.trim()},e),xe=(t,e)=>s("div",{...t,class:`modal-action ${t?.class||""}`.trim()},e),$e=t=>s("form",{method:"dialog",class:"modal-backdrop"},[s("button",{},"close")]),ve=t=>s("form",{method:"dialog"},[s("button",{...t,class:`btn btn-sm btn-circle btn-ghost absolute right-2 top-2 ${t?.class||""}`.trim()},"\u2715")]),ge=(t,e)=>s("span",{...t,class:`loading loading-spinner ${t?.class||""}`.trim()},e),he=(t,e)=>s("div",{...t,class:`navbar ${t?.class||""}`.trim()},e),ye=t=>s("progress",{...t,class:`progress ${t?.class||""}`.trim()}),we=(t,e)=>s("div",{class:`radial-progress ${t?.class||""}`.trim(),style:`--value:${v(t.value)??0};`,role:"progressbar","aria-valuenow":t.value},e),_e=t=>s("input",{type:"radio",...t,class:`radio ${t?.class||""}`.trim()}),Se=t=>s("input",{type:"range",...t,class:`range ${t?.class||""}`.trim()}),ke=(t,e)=>s("div",{...t,class:`rating ${t?.class||""}`.trim()},e),Ce=t=>[...Array(t.count)].map((e,r)=>s("input",{class:`mask ${t?.class||""}`.trim(),name:t.name,type:"radio",checked:()=>v(t.value)===r,onchange:()=>x(t.value)?t.value(r):t.onchange?.(r)})),Te=(t,e)=>s("select",{...t,class:`select ${t?.class||""}`.trim()},e),Ee=(t,e)=>s("option",{...t,class:t?.class||""},e),Ae=t=>s("div",{...t,class:`skeleton ${t?.class||""}`.trim()}),De=t=>s("span",{...t,class:`skeleton skeleton-text ${t?.class||""}`.trim()}),Ne=(t,e)=>s("div",{...t,class:`stack ${t?.class||""}`.trim()},e),Le=(t,e)=>s("div",{...t,class:`stats shadow ${t?.class||""}`.trim()},e),Fe=(t,e)=>s("div",{...t,class:`stat ${t?.class||""}`.trim()},e),Be=(t,e)=>s("div",{...t,class:`stat-figure ${t?.class||""}`.trim()},e),Ie=(t,e)=>s("div",{...t,class:`stat-title ${t?.class||""}`.trim()},e),Me=(t,e)=>s("div",{...t,class:`stat-value ${t?.class||""}`.trim()},e),Oe=(t,e)=>s("div",{...t,class:`stat-desc ${t?.class||""}`.trim()},e),je=(t,e)=>s("ul",{...t,class:`steps ${t?.class||""}`.trim()},e),Re=(t,e)=>s("li",{...t,class:`step ${t?.class||""}`.trim(),"data-content":t.dataContent},e),Q=(t,e)=>s("label",{...t,class:`swap ${t?.class||""}`.trim()},e),Z=t=>s("input",{type:"checkbox",checked:()=>v(t.value),onchange:e=>x(t.value)&&t.value(e.target.checked),class:t.class}),tt=(t,e)=>s("div",{...t,class:`swap-on ${t?.class||""}`.trim()},e),et=(t,e)=>s("div",{...t,class:`swap-off ${t?.class||""}`.trim()},e),Pe=(t,e)=>div({...t,class:`tabs ${t?.class||""}`.trim()},e),ze=t=>{let e=()=>t.tabs?.(t.tabs().filter((r,o)=>o!==t.index));return[s("input",{type:"radio",name:t.name,class:`tab ${t?.class||""}`.trim(),checked:t.checked||void 0}),div({class:`tab-content ${t?.classContent||""}`.trim()},t.content),t.closable?span({class:"absolute top-2 right-2 cursor-pointer",onclick:r=>{r.stopPropagation(),e()}},"\u2715"):null]},qe=(t,e)=>s("table",{...t,class:`table ${t?.class||""}`.trim()},e),He=(t,e)=>s("thead",{...t,class:t?.class||""},e),Ge=(t,e)=>s("tbody",{...t,class:t?.class||""},e),Ue=(t,e)=>s("tfoot",{...t,class:t?.class||""},e),Ve=(t,e)=>s("tr",{...t,class:t?.class||""},e),We=(t,e)=>s("th",{...t,class:t?.class||""},e),Je=(t,e)=>s("td",{...t,class:t?.class||""},e),Ke=t=>s("textarea",{...t,class:`textarea ${t?.class||""}`.trim()}),Xe=(t,e)=>s("span",{...t,class:`text-rotate ${t?.class||""}`.trim()},s("span",{},e)),Ye=(t,e)=>s("ul",{...t,class:`timeline ${t?.class||""}`.trim()},e),Qe=(t,e="alert-success",r=3500)=>{let o=document.getElementById("stc"),c,m,l=s("div",{style:"display:contents"});o||document.body.append(o=s("div",{id:"stc",class:"fixed top-0 right-0 z-[9999] p-4 flex flex-col items-end gap-2 pointer-events-none"})),o.append(l);let u=W(()=>{let d=y(0),n=y(0);return m=()=>n()||(n(1),clearTimeout(c),setTimeout(()=>(u.destroy(),l.remove(),o.firstChild||o.remove()),300)),setTimeout(()=>d(1)),s("div",{class:()=>`alert alert-soft ${e} shadow-lg transition-all duration-300 inline-flex w-auto pointer-events-auto ${n()?"translate-x-full opacity-0":d()?"translate-x-0 opacity-100":"translate-x-10 opacity-0"}`},[typeof t=="function"?t():typeof t=="string"?s("span",t):t,s("button",{class:"btn btn-xs btn-circle btn-ghost",onclick:m},s("span",{class:"icon-[lucide--x]"}))])},l);return r>0&&(c=setTimeout(m,r)),m},Ze=t=>s("input",{type:"checkbox",...t,class:`toggle ${t?.class||""}`.trim()}),ts=(t,e)=>s("div",{...t,class:`tooltip ${t?.class||""}`.trim(),"data-tip":t.tip},e);typeof window<"u"&&Object.assign(window,H);})();
diff --git a/docs/demo.md b/docs/demo.md
index 4eb6574..bcdf764 100644
--- a/docs/demo.md
+++ b/docs/demo.md
@@ -1,4 +1,4 @@
-# SigPro Demo – Comprehensive Examples
+# SigPro Demo – Atomic Components
---
@@ -7,32 +7,27 @@
```js
-const accItems = $([
- {
- title: "What is SigPro?",
- content:
- "A lightweight UI library built on DaisyUI and a fine‑grained reactivity system.",
- open: true,
- },
- {
- title: "Why use it?",
- content:
- "No build step, minimal boilerplate, and all components are just JavaScript functions.",
- },
- {
- title: "Browser support?",
- content: "All modern browsers that support ES2020+",
- },
-]);
+const accName = "demo-acc";
mount(
- div({ class: "flex flex-col gap-8" }, [
- Accordion({
- items: accItems,
- class: "collapse-arrow bg-base-100 border border-base-300",
- }),
+ div({ class: "space-y-2" }, [
+ Accordion({ class: "collapse-arrow bg-base-100 border border-base-300" }, [
+ AccordionRadio({ name: accName, checked: true }),
+ AccordionTitle({}, "What is SigPro?"),
+ AccordionContent({}, "A lightweight UI library built on DaisyUI and a fine‑grained reactivity system."),
+ ]),
+ Accordion({ class: "collapse-arrow bg-base-100 border border-base-300" }, [
+ AccordionRadio({ name: accName }),
+ AccordionTitle({}, "Why use it?"),
+ AccordionContent({}, "No build step, minimal boilerplate, and all components are just functions."),
+ ]),
+ Accordion({ class: "collapse-arrow bg-base-100 border border-base-300" }, [
+ AccordionRadio({ name: accName }),
+ AccordionTitle({}, "Browser support?"),
+ AccordionContent({}, "All modern browsers that support ES2020+"),
+ ]),
]),
- "#demo-accordion",
+ "#demo-accordion"
);
```
@@ -45,10 +40,10 @@ mount(
```js
mount(
Alert({ class: "alert-info" }, [
- span({ class: "icon-[lucide--info] text-lg" }),
+ Icon({}, "icon-[lucide--info]"),
span({}, "You have 2 new messages"),
]),
- "#demo-alert",
+ "#demo-alert"
);
```
@@ -59,54 +54,43 @@ mount(
```js
-const selectedFruit = $("");
-const fruitItems = [
- { label: "Apple", value: "apple" },
- { label: "Banana", value: "banana" },
- { label: "Orange", value: "orange" },
- { label: "Mango", value: "mango" },
- { label: "Carrot", value: "carrot" },
- { label: "Broccoli", value: "broccoli" },
- { label: "Spinach", value: "spinach" },
- { label: "Potato", value: "potato" },
-];
+const fruitQuery = $("");
+const fruitResults = $([]);
+const fruits = ["Apple", "Banana", "Orange", "Mango", "Carrot", "Broccoli", "Spinach", "Potato"];
+Filter(fruitQuery, fruits, fruitResults);
-const selectedColor = $("");
-const colorItems = [
- "Red",
- "Blue",
- "Green",
- "Yellow",
- "Black",
- "White",
- "Purple",
- "Cyan",
-];
+const colorQuery = $("");
+const colorResults = $([]);
+const colors = ["Red", "Blue", "Green", "Yellow", "Black", "White", "Purple", "Cyan"];
+Filter(colorQuery, colors, colorResults);
+
+const autocompleteCombo = (query, results, placeholder) =>
+ Combo({ class: "p-2 bg-base-100 rounded-box shadow-xl max-h-60 overflow-y-auto border border-base-300 z-50" },
+ LabelInput({}, [
+ Icon({}, "icon-[lucide--search]"),
+ Input({ placeholder, value: query, oninput: (e) => query(e.target.value) })
+ ]),
+ { content: Menu({ class: "flex-col flex-nowrap w-full p-0" },
+ each(results, (item) =>
+ MenuItem({ label: item, onclick: () => { query(item); hide() } })
+ )
+ )}
+ );
mount(
- h("div", { class: "p-8 flex flex-col gap-10" }, [
- h("div", {}, [
- h("h3", { class: "font-bold mb-2" }, "Objetos:"),
- Autocomplete({
- items: fruitItems,
- value: selectedFruit,
- placeholder: "Search fruit...",
- onselect: (v) => console.log("Obj:", v),
- }),
- h("span", { class: "text-xs" }, () => `Signal: ${selectedFruit()}`),
+ div({ class: "flex flex-col gap-10" }, [
+ div({}, [
+ h3({ class: "font-bold mb-2" }, "Fruits:"),
+ autocompleteCombo(fruitQuery, fruitResults, "Search fruit..."),
+ span({ class: "text-xs" }, () => `Signal: ${fruitQuery()}`),
]),
- h("div", {}, [
- h("h3", { class: "font-bold mb-2" }, "Array Plano:"),
- Autocomplete({
- items: colorItems,
- value: selectedColor,
- placeholder: "Search color...",
- onselect: (v) => console.log("Str:", v),
- }),
- h("span", { class: "text-xs" }, () => `Signal: ${selectedColor()}`),
+ div({}, [
+ h3({ class: "font-bold mb-2" }, "Colors:"),
+ autocompleteCombo(colorQuery, colorResults, "Search color..."),
+ span({ class: "text-xs" }, () => `Signal: ${colorQuery()}`),
]),
]),
- "#demo-autocomplete",
+ "#demo-autocomplete"
);
```
@@ -119,34 +103,16 @@ mount(
```js
mount(
div({ class: "flex flex-col gap-4" }, [
- Avatar(
- { class: "w-24 rounded-full" },
- img({
- src: "https://img.daisyui.com/images/profile/demo/kenobee@192.webp",
- }),
+ Avatar({ class: "w-24 rounded-full" },
+ img({ src: "https://img.daisyui.com/images/profile/demo/kenobee@192.webp" })
),
AvatarGroup({}, [
- Avatar(
- { class: "w-12" },
- img({
- src: "https://img.daisyui.com/images/profile/demo/kenobee@192.webp",
- }),
- ),
- Avatar(
- { class: "w-12" },
- img({
- src: "https://img.daisyui.com/images/profile/demo/anakeen@192.webp",
- }),
- ),
- Avatar(
- { class: "w-12" },
- img({
- src: "https://img.daisyui.com/images/profile/demo/kenobee@192.webp",
- }),
- ),
+ Avatar({ class: "w-12" }, img({ src: "https://img.daisyui.com/images/profile/demo/kenobee@192.webp" })),
+ Avatar({ class: "w-12" }, img({ src: "https://img.daisyui.com/images/profile/demo/anakeen@192.webp" })),
+ Avatar({ class: "w-12" }, img({ src: "https://img.daisyui.com/images/profile/demo/kenobee@192.webp" })),
]),
]),
- "#demo-avatar",
+ "#demo-avatar"
);
```
@@ -163,7 +129,7 @@ mount(
Badge({ class: "badge-outline" }, "Sale"),
Badge({ class: "badge-error" }, "Deleted"),
]),
- "#demo-badge",
+ "#demo-badge"
);
```
@@ -182,7 +148,7 @@ mount(
li({}, span({ class: "font-bold" }, "Components")),
]),
]),
- "#demo-breadcrumbs",
+ "#demo-breadcrumbs"
);
```
@@ -197,16 +163,12 @@ const count = $(0);
mount(
div({ class: "flex gap-2 items-center" }, [
- Button(
- {
- class: "btn-primary",
- onclick: () => count(count() + 1),
- },
- () => `Clicked ${count()} times`,
+ Button({ class: "btn-primary", onclick: () => count(count() + 1) },
+ () => `Clicked ${count()} times`
),
Button({ class: "btn-outline", disabled: true }, "Disabled"),
]),
- "#demo-button",
+ "#demo-button"
);
```
@@ -217,12 +179,7 @@ mount(
```js
-const calendarRange = $({
- start: "2026-04-01",
- end: "2026-04-15",
- startHour: 9,
- endHour: 18,
-});
+const calendarRange = $({ start: "2026-04-01", end: "2026-04-15", startHour: 9, endHour: 18 });
mount(
Calendar({
@@ -231,7 +188,7 @@ mount(
hour: true,
onChange: (val) => console.log("Range:", val),
}),
- "#demo-calendar",
+ "#demo-calendar"
);
```
@@ -252,7 +209,7 @@ mount(
]),
]),
]),
- "#demo-card",
+ "#demo-card"
);
```
@@ -265,26 +222,17 @@ mount(
```js
mount(
Carousel({ class: "carousel-vertical rounded-box h-96" }, [
- CarouselItem(
- { class: "h-full" },
- img({
- src: "https://img.daisyui.com/images/stock/photo-1559703248-dcaaec9fab78.webp",
- }),
+ CarouselItem({ class: "h-full" },
+ img({ src: "https://img.daisyui.com/images/stock/photo-1559703248-dcaaec9fab78.webp" })
),
- CarouselItem(
- { class: "h-full" },
- img({
- src: "https://img.daisyui.com/images/stock/photo-1565098772267-60af42b81ef2.webp",
- }),
+ CarouselItem({ class: "h-full" },
+ img({ src: "https://img.daisyui.com/images/stock/photo-1565098772267-60af42b81ef2.webp" })
),
- CarouselItem(
- { class: "h-full" },
- img({
- src: "https://img.daisyui.com/images/stock/photo-1572635148818-ef6fd45eb394.webp",
- }),
+ CarouselItem({ class: "h-full" },
+ img({ src: "https://img.daisyui.com/images/stock/photo-1572635148818-ef6fd45eb394.webp" })
),
]),
- "#demo-carousel",
+ "#demo-carousel"
);
```
@@ -297,40 +245,20 @@ mount(
```js
mount(
div({ class: "flex flex-col gap-4" }, [
- // Left side
Chat({ class: "chat-start" }, [
- ChatImage(
- {},
- img({
- src: "https://img.daisyui.com/images/profile/demo/kenobee@192.webp",
- alt: "Obi-Wan",
- }),
- ),
- ChatHeader({}, [
- "Obi-Wan Kenobi",
- time({ class: "text-xs opacity-50" }, "12:45"),
- ]),
+ ChatImage({}, img({ src: "https://img.daisyui.com/images/profile/demo/kenobee@192.webp", alt: "Obi-Wan" })),
+ ChatHeader({}, ["Obi-Wan Kenobi", time({ class: "text-xs opacity-50" }, "12:45")]),
ChatBubble({}, "You were the Chosen One!"),
ChatFooter({ class: "opacity-50" }, "Delivered"),
]),
- // Right side
Chat({ class: "chat-end" }, [
- ChatImage(
- {},
- img({
- src: "https://img.daisyui.com/images/profile/demo/anakeen@192.webp",
- alt: "Anakin",
- }),
- ),
- ChatHeader({}, [
- "Anakin",
- time({ class: "text-xs opacity-50" }, "12:46"),
- ]),
+ ChatImage({}, img({ src: "https://img.daisyui.com/images/profile/demo/anakeen@192.webp", alt: "Anakin" })),
+ ChatHeader({}, ["Anakin", time({ class: "text-xs opacity-50" }, "12:46")]),
ChatBubble({}, "I hate you!"),
ChatFooter({ class: "opacity-50" }, "Seen at 12:46"),
]),
]),
- "#demo-chat",
+ "#demo-chat"
);
```
@@ -345,13 +273,10 @@ const checked = $(false);
mount(
div({ class: "flex items-center gap-2" }, [
- Checkbox({
- checked,
- onchange: (e) => checked(e.target.checked),
- }),
+ Checkbox({ checked, onchange: (e) => checked(e.target.checked) }),
span({}, () => `Accept terms (${checked() ? "Yes" : "No"})`),
]),
- "#demo-checkbox",
+ "#demo-checkbox"
);
```
@@ -366,18 +291,17 @@ const color = $("#000000");
mount(
div({ class: "flex flex-col gap-4" }, [
- Colorpicker({
- value: color,
- label: "Pick a color",
- onchange: (c) => console.log("Color:", c),
- }),
+ Combo({ class: "p-0" },
+ LabelInput({ class: "flex items-center gap-2 cursor-pointer" }, [
+ div({ class: "size-5 rounded-sm", style: () => `background-color: ${color() || "#000"}` }),
+ span({ class: () => `grow text-left truncate ${!color() ? "opacity-50" : ""}` }, () => color() || "Pick a color"),
+ () => color() ? span({ class: "btn-ghost btn-xs btn-circle -mr-2", onmousedown: (e) => { e.stopPropagation(); color(null); } }, Icon({}, "icon-[lucide--x]")) : null
+ ]),
+ { content: ColorPalette({ value: color, onchange: (c) => { color(c); hide(); } }) }
+ ),
p({}, () => `Selected: ${color()}`),
- ColorPalette({
- value: color,
- onchange: (c) => color(c),
- }),
]),
- "#demo-colorpicker",
+ "#demo-colorpicker"
);
```
@@ -388,17 +312,26 @@ mount(
```js
-const dateRange = $("");
+const dateRange = $(null);
+const displayRange = $(() => {
+ const v = dateRange();
+ if (!v) return "";
+ if (typeof v === "string") return v;
+ if (v.start && v.end) return `${v.start} - ${v.end}`;
+ if (v.start) return `${v.start}...`;
+ return "";
+});
mount(
- Datepicker({
- value: dateRange,
- range: true,
- hour: true,
- placeholder: "Select a date range",
- onChange: (val) => console.log("Date:", val),
- }),
- "#demo-datepicker",
+ Combo({ class: "p-0" },
+ LabelInput({ class: "flex items-center gap-2 cursor-pointer" }, [
+ Icon({}, "icon-[lucide--calendar]"),
+ span({ class: () => `grow text-left truncate ${!displayRange() ? "opacity-50" : ""}` }, () => displayRange() || "Select date range"),
+ () => displayRange() ? span({ class: "btn-ghost btn-xs btn-circle -mr-2", onmousedown: (e) => { e.stopPropagation(); dateRange(null); } }, Icon({}, "icon-[lucide--x]")) : null
+ ]),
+ { content: Calendar({ value: dateRange, range: true, hour: true, onChange: (v) => { dateRange(v); if (v?.end) hide(); } }) }
+ ),
+ "#demo-datepicker"
);
```
@@ -411,17 +344,11 @@ mount(
```js
mount(
div({ class: "flex flex-col gap-2" }, [
- p(
- { class: "card bg-base-300 rounded-box grid h-20 place-items-center" },
- "Above",
- ),
+ p({ class: "card bg-base-300 rounded-box grid h-20 place-items-center" }, "Above"),
Divider({}, "OR"),
- p(
- { class: "card bg-base-300 rounded-box grid h-20 place-items-center" },
- "Below",
- ),
+ p({ class: "card bg-base-300 rounded-box grid h-20 place-items-center" }, "Below"),
]),
- "#demo-divider",
+ "#demo-divider"
);
```
@@ -436,10 +363,10 @@ const leftOpen = $(false);
const rightOpen = $(false);
mount(
- Drawer({ open: leftOpen }, [
+ Drawer({ class: () => leftOpen() ? "drawer-open" : "" }, [
DrawerToggle({ id: "left-drawer", checked: leftOpen }),
DrawerContent({}, [
- Drawer({ open: rightOpen, class: "drawer-end" }, [
+ Drawer({ class: () => `drawer-end ${rightOpen() ? "drawer-open" : ""}` }, [
DrawerToggle({ id: "right-drawer", checked: rightOpen }),
DrawerContent({}, [
div({ class: "p-4" }, [
@@ -451,22 +378,16 @@ mount(
]),
DrawerSide({}, [
DrawerOverlay({ for: "right-drawer" }),
- div(
- { class: "min-h-full bg-base-200 w-60 p-4" },
- h4({ class: "font-semibold" }, "Right Menu"),
- ),
+ div({ class: "min-h-full bg-base-200 w-60 p-4" }, h4({ class: "font-semibold" }, "Right Menu")),
]),
]),
]),
DrawerSide({}, [
DrawerOverlay({ for: "left-drawer" }),
- div(
- { class: "min-h-full bg-base-200 w-60 p-4" },
- h4({ class: "font-semibold" }, "Left Menu"),
- ),
+ div({ class: "min-h-full bg-base-200 w-60 p-4" }, h4({ class: "font-semibold" }, "Left Menu")),
]),
]),
- "#demo-drawer",
+ "#demo-drawer"
);
```
@@ -481,74 +402,25 @@ mount(
div({ class: "flex gap-4" }, [
Dropdown({}, [
DropdownButton({}, "Options"),
- DropdownContent(
- { class: "menu bg-base-100 rounded-box w-52 p-2 shadow" },
- [
- Menu({
- items: [
- { label: "Edit", onclick: () => hide() },
- { label: "Delete", onclick: () => hide() },
- { label: "Archive" },
- ],
- }),
- ],
- ),
+ DropdownContent({ class: "menu bg-base-100 rounded-box w-52 p-2 shadow" }, [
+ Menu({}, [
+ MenuItem({ label: "Edit", onclick: () => hide() }),
+ MenuItem({ label: "Delete", onclick: () => hide() }),
+ MenuItem({ label: "Archive", onclick: () => hide() }),
+ ]),
+ ]),
]),
Dropdown({ class: "dropdown-bottom dropdown-end" }, [
DropdownButton({}, "More"),
- DropdownContent(
- { class: "menu bg-base-100 rounded-box w-40 p-2 shadow" },
- ul({}, [
- li(
- {},
- a(
- {
- href: "#",
- onclick: (e) => {
- e.preventDefault();
- hide();
- },
- },
- "Profile",
- ),
- ),
- li(
- {},
- a(
- {
- href: "#",
- onclick: (e) => {
- e.preventDefault();
- hide();
- },
- },
- "Logout",
- ),
- ),
- ]),
+ DropdownContent({ class: "menu bg-base-100 rounded-box w-40 p-2 shadow" },
+ Menu({}, [
+ MenuItem({ label: "Profile", onclick: (e) => { e.preventDefault(); hide(); } }),
+ MenuItem({ label: "Logout", onclick: (e) => { e.preventDefault(); hide(); } }),
+ ])
),
]),
]),
- "#demo-dropdown",
-);
-```
-
----
-
-## Editor (Rich Text)
-
-
-
-```js
-const htmlContent = $("Hello world!
");
-
-mount(
- Editor({
- value: htmlContent,
- onchange: (html) => console.log("Content updated"),
- class: "max-w-2xl",
- }),
- "#demo-editor",
+ "#demo-dropdown"
);
```
@@ -560,14 +432,12 @@ mount(
```js
mount(
- div({ class: "flex gap-4" }, [
- Fab({ class: "btn-lg btn-circle btn-secondary", icon: "R" }, [
- Button({}, "C"),
- Button({}, "B"),
- Button({}, "A"),
- ]),
+ Fab({ icon: "R", class: "btn-lg btn-circle btn-secondary" }, [
+ Button({}, "C"),
+ Button({}, "B"),
+ Button({}, "A"),
]),
- "#demo-fab",
+ "#demo-fab"
);
```
@@ -579,27 +449,26 @@ mount(
```js
mount(
- div({ class: "flex gap-4 bg" }, [
- Fieldset(
- {
- label: "Personal Info",
- class: "bg-base-200 border-base-300 rounded-box w-xs border gap-3 p-4",
- },
- [
- Input({ label: "Name", float: true, value: $("") }),
- Select({
- label: "Country",
- float: true,
- items: ["Spain", "France", "Italy"],
- value: $(""),
- }),
- ],
- ),
+ div({ class: "flex gap-4" }, [
+ Fieldset({ class: "bg-base-200 border-base-300 rounded-box w-xs border gap-3 p-4", label: "Personal Info" }, [
+ LabelFloating({}, [
+ span({}, "Name"),
+ Input({ placeholder: "", value: $("") }),
+ ]),
+ LabelFloating({}, [
+ span({}, "Country"),
+ Select({}, [
+ SelectOption({}, "Spain"),
+ SelectOption({}, "France"),
+ SelectOption({}, "Italy"),
+ ]),
+ ]),
+ ]),
Fieldset({ class: "bg-base-200 p-4 rounded-box", label: "Any content" }, [
div({}, "Any content"),
]),
]),
- "#demo-fieldset",
+ "#demo-fieldset"
);
```
@@ -611,15 +480,38 @@ mount(
```js
const files = $([]);
+const drag = $(false);
+const error = $(null);
+const maxMB = 5;
+
+const processFiles = (fileList) => {
+ const arr = [...fileList];
+ if (arr.some(f => f.size > maxMB * (1 << 20))) return error(`Max ${maxMB}MB`);
+ error(null);
+ files([...files(), ...arr]);
+};
mount(
- Fileinput({
- max: 5,
- accept: "image/*,.pdf",
- onselect: (selectedFiles) => console.log("Files:", selectedFiles),
- value: files,
- }),
- "#demo-fileinput",
+ div({ class: "w-full" }, [
+ FileDrag({
+ drag: drag(),
+ ondrag: (v) => drag(v),
+ ondrop: processFiles
+ }, [
+ div({ class: "flex items-center gap-3 w-full text-sm opacity-70" }, [
+ Icon({}, "icon-[lucide--upload]"),
+ span({ class: "grow truncate" }, "Upload files"),
+ span({ class: "text-[10px] opacity-40" }, maxMB + "MB"),
+ ]),
+ FileInput({ onchange: processFiles }),
+ ]),
+ () => error() && FileError({ message: error() }),
+ () => files().length > 0 && FilePreview({
+ files: files(),
+ onremove: (i) => files(files().filter((_, j) => j !== i))
+ }),
+ ]),
+ "#demo-fileinput"
);
```
@@ -632,11 +524,11 @@ mount(
```js
mount(
div({ class: "flex gap-4 text-xl" }, [
- Icon({},"icon-[lucide--home]"),
- Icon({},"icon-[lucide--settings]"),
- "❤️", // emoji fallback
+ Icon({}, "icon-[lucide--home]"),
+ Icon({}, "icon-[lucide--settings]"),
+ "❤️",
]),
- "#demo-icon",
+ "#demo-icon"
);
```
@@ -649,9 +541,9 @@ mount(
```js
mount(
Indicator({ value: "3" }, [
- Button({ class: "btn-circle" }, Icon({},"icon-[lucide--bell]")),
+ Button({ class: "btn-circle" }, Icon({}, "icon-[lucide--bell]")),
]),
- "#demo-indicator",
+ "#demo-indicator"
);
```
@@ -667,21 +559,22 @@ const password = $("");
mount(
div({ class: "flex flex-col gap-4 w-80" }, [
- Input({
- label: "Username",
- float: true,
- value: username,
- left: Icon({},"icon-[lucide--user]"),
- }),
- Input({
- type: "password",
- label: "Password",
- float: true,
- value: password,
- left: Icon({},"icon-[lucide--lock]"),
- }),
+ LabelFloating({}, [
+ span({}, "Username"),
+ div({ class: "input" }, [
+ Icon({}, "icon-[lucide--user]"),
+ Input({ class: "grow border-none", placeholder: "", value: username }),
+ ]),
+ ]),
+ LabelFloating({}, [
+ span({}, "Password"),
+ div({ class: "input" }, [
+ Icon({}, "icon-[lucide--lock]"),
+ InputPass({ class: "grow border-none", placeholder: "", value: password }),
+ ]),
+ ]),
]),
- "#demo-input",
+ "#demo-input"
);
```
@@ -694,7 +587,7 @@ mount(
```js
mount(
p({}, ["Press ", Kbd({}, "Ctrl"), " + ", Kbd({}, "S"), " to save"]),
- "#demo-kbd",
+ "#demo-kbd"
);
```
@@ -711,17 +604,16 @@ const people = $([
]);
mount(
- [
+ div({ class: "flex flex-col gap-4" }, [
List({ class: "bg-base-100 rounded-box shadow-md" }, [
each(people, (p) =>
li({ class: "list-row" }, [
Badge({ class: p.online ? "badge-success" : "badge-ghost" }),
p.name,
- ]),
+ ])
),
]),
Divider({}, "OR"),
- // _(Alternatively, using `ListRows`:)_
List({ class: "bg-base-100 rounded-box shadow-md" }, [
ListRows({
items: people,
@@ -731,8 +623,8 @@ mount(
],
}),
]),
- ],
- "#demo-list",
+ ]),
+ "#demo-list"
);
```
@@ -753,15 +645,19 @@ mount(Loading({ class: "loading-lg text-primary" }), "#demo-loading");
```js
-const menuItems = $([
- { label: "Dashboard", href: "#" },
- { label: "Settings", children: [{ label: "Profile" }, { label: "Account" }] },
- { label: "Logout", onclick: () => alert("Logout") },
-]);
-
mount(
- Menu({ items: menuItems, class: "w-56 bg-base-200 rounded-box" }),
- "#demo-menu",
+ Menu({ class: "w-56 bg-base-200 rounded-box" }, [
+ MenuItem({ label: "Dashboard", onclick: () => hide() }),
+ li({}, details({ open: true }, [
+ summary({}, "Settings"),
+ Menu({}, [
+ MenuItem({ label: "Profile", onclick: () => hide() }),
+ MenuItem({ label: "Account", onclick: () => hide() }),
+ ]),
+ ])),
+ MenuItem({ label: "Logout", onclick: () => alert("Logout") }),
+ ]),
+ "#demo-menu"
);
```
@@ -772,32 +668,25 @@ mount(
```js
-const modalOpen = $(false);
+const modalRef = { current: null };
mount(
div({}, [
- Button({ class: "btn", onclick: () => modalOpen(true) }, "Open modal"),
- Modal(
- {
- open: modalOpen,
- title: "Congratulations!",
- backdrop: true,
- actions: [
- form(
- { method: "dialog" },
- Button({ class: "btn", onclick: () => modalOpen(false) }, "Close"),
- ),
- ],
- },
- [
- p(
- {},
- "You have successfully created a reactive DaisyUI modal with SigPro.",
- ),
- ],
- ),
+ Button({ class: "btn", onclick: () => modalRef.current?.showModal() }, "Open modal"),
+ Modal({ ref: (el) => modalRef.current = el }, [
+ ModalBox({}, [
+ h3({ class: "text-lg font-bold" }, "Congratulations!"),
+ p({ class: "py-4" }, "You have successfully created a reactive DaisyUI modal with SigPro."),
+ ModalAction({}, [
+ form({ method: "dialog" }, [
+ Button({}, "Close"),
+ ]),
+ ]),
+ ]),
+ ModalBackdrop(),
+ ]),
]),
- "#demo-modal",
+ "#demo-modal"
);
```
@@ -811,12 +700,9 @@ mount(
mount(
Navbar({ class: "bg-base-300 rounded-box" }, [
div({ class: "flex-1" }, a({ class: "btn btn-ghost text-xl" }, "SigPro")),
- div(
- { class: "flex-none" },
- Button({ class: "btn-square btn-ghost" }, Icon({},"icon-[lucide--menu]")),
- ),
+ div({ class: "flex-none" }, Button({ class: "btn-square btn-ghost" }, Icon({}, "icon-[lucide--menu]"))),
]),
- "#demo-navbar",
+ "#demo-navbar"
);
```
@@ -832,13 +718,9 @@ const progressVal = $(35);
mount(
div({ class: "flex flex-col gap-2" }, [
span({}, () => `${progressVal()}%`),
- Progress({
- value: progressVal,
- max: 100,
- class: "w-56",
- }),
+ Progress({ value: progressVal, max: 100, class: "w-56" }),
]),
- "#demo-progress",
+ "#demo-progress"
);
```
@@ -853,7 +735,7 @@ const radialVal = $(70);
mount(
Radial({ value: radialVal, class: "text-primary" }, () => `${radialVal()}%`),
- "#demo-radial",
+ "#demo-radial"
);
```
@@ -869,25 +751,15 @@ const option = $("a");
mount(
div({ class: "flex gap-4" }, [
label({ class: "flex items-center gap-2" }, [
- Radio({
- name: "demo-radio",
- value: "a",
- checked: () => option() === "a",
- onchange: () => option("a"),
- }),
+ Radio({ name: "demo-radio", value: "a", checked: () => option() === "a", onchange: () => option("a") }),
"Option A",
]),
label({ class: "flex items-center gap-2" }, [
- Radio({
- name: "demo-radio",
- value: "b",
- checked: () => option() === "b",
- onchange: () => option("b"),
- }),
+ Radio({ name: "demo-radio", value: "b", checked: () => option() === "b", onchange: () => option("b") }),
"Option B",
]),
]),
- "#demo-radio",
+ "#demo-radio"
);
```
@@ -905,7 +777,7 @@ mount(
Range({ min: 0, max: 100, value: rangeValue, class: "range-sm" }),
span({}, () => `Value: ${rangeValue()}`),
]),
- "#demo-range",
+ "#demo-range"
);
```
@@ -920,14 +792,9 @@ const stars = $(3);
mount(
Rating({}, [
- RatingItems({
- count: 5,
- value: stars,
- name: "demo-rating",
- class: "mask-star-2",
- }),
+ RatingItems({ count: 5, value: stars, name: "demo-rating", class: "mask-star-2" }),
]),
- "#demo-rating",
+ "#demo-rating"
);
```
@@ -941,14 +808,18 @@ mount(
const choice = $("css");
mount(
- Select({
- items: ["HTML", "CSS", "JavaScript"],
- placeholder: "Pick a language",
- value: choice,
- float: true,
- label: "Tech",
- }),
- "#demo-select",
+ LabelFloating({}, [
+ span({}, "Tech"),
+ LabelSelect({}, [
+ Select({ value: choice, onchange: (e) => choice(e.target.value) }, [
+ SelectOption({ value: "" }, "Pick a language"),
+ SelectOption({ value: "html" }, "HTML"),
+ SelectOption({ value: "css" }, "CSS"),
+ SelectOption({ value: "js" }, "JavaScript"),
+ ]),
+ ]),
+ ]),
+ "#demo-select"
);
```
@@ -965,7 +836,7 @@ mount(
SkeletonText({ class: "h-4" }),
SkeletonText({ class: "h-4 w-3/4" }),
]),
- "#demo-skeleton",
+ "#demo-skeleton"
);
```
@@ -978,20 +849,11 @@ mount(
```js
mount(
Stack({ class: "w-48" }, [
- img({
- src: "https://img.daisyui.com/images/stock/photo-1572635148818-ef6fd45eb394.webp",
- class: "rounded-box",
- }),
- img({
- src: "https://img.daisyui.com/images/stock/photo-1565098772267-60af42b81ef2.webp",
- class: "rounded-box",
- }),
- img({
- src: "https://img.daisyui.com/images/stock/photo-1559703248-dcaaec9fab78.webp",
- class: "rounded-box",
- }),
+ img({ src: "https://img.daisyui.com/images/stock/photo-1572635148818-ef6fd45eb394.webp", class: "rounded-box" }),
+ img({ src: "https://img.daisyui.com/images/stock/photo-1565098772267-60af42b81ef2.webp", class: "rounded-box" }),
+ img({ src: "https://img.daisyui.com/images/stock/photo-1559703248-dcaaec9fab78.webp", class: "rounded-box" }),
]),
- "#demo-stack",
+ "#demo-stack"
);
```
@@ -1004,11 +866,23 @@ mount(
```js
mount(
Stats({ class: "w-full" }, [
- Stat({ title: "Downloads", value: "1,200", desc: "↑ 21% from last month" }),
- Stat({ title: "New Users", value: "450", desc: "↑ 14% from last month" }),
- Stat({ title: "Revenue", value: "$89k", desc: "↓ 1% from last month" }),
+ Stat({}, [
+ StatTitle({}, "Downloads"),
+ StatValue({}, "1,200"),
+ StatDesc({}, "↑ 21% from last month"),
+ ]),
+ Stat({}, [
+ StatTitle({}, "New Users"),
+ StatValue({}, "450"),
+ StatDesc({}, "↑ 14% from last month"),
+ ]),
+ Stat({}, [
+ StatTitle({}, "Revenue"),
+ StatValue({}, "$89k"),
+ StatDesc({}, "↓ 1% from last month"),
+ ]),
]),
- "#demo-stats",
+ "#demo-stats"
);
```
@@ -1026,7 +900,7 @@ mount(
Step({ dataContent: "3" }, "Purchase"),
Step({ dataContent: "4" }, "Enjoy"),
]),
- "#demo-steps",
+ "#demo-steps"
);
```
@@ -1042,16 +916,16 @@ const isDark = $(false);
mount(
Swap({ class: "text-2xl" }, [
SwapToggle({ value: isDark, class: "swap-rotate" }),
- SwapOn({}, span({ class: "icon-[lucide--moon]" })),
- SwapOff({}, span({ class: "icon-[lucide--sun]" })),
+ SwapOn({}, Icon({}, "icon-[lucide--moon]")),
+ SwapOff({}, Icon({}, "icon-[lucide--sun]")),
]),
- "#demo-swap",
+ "#demo-swap"
);
```
---
-## Table & TableItems
+## Table
@@ -1062,22 +936,24 @@ const tableData = $([
{ id: 3, name: "Charlie", role: "User" },
]);
-const columns = [
- { key: "name", label: "Name", class: "font-bold" },
- { key: "role", label: "Role" },
- {
- label: "Action",
- render: (item) =>
- Button(
- { class: "btn-xs", onclick: () => alert(`Edit ${item.name}`) },
- "Edit",
- ),
- },
-];
-
mount(
- Table({ class: "w-full" }, TableItems({ items: tableData, columns })),
- "#demo-table",
+ Table({ class: "w-full" }, [
+ TableHead({}, TableRow({}, [
+ TableTh({}, "Name"),
+ TableTh({}, "Role"),
+ TableTh({}, "Action"),
+ ])),
+ TableBody({},
+ each(tableData, (item) =>
+ TableRow({}, [
+ TableTd({ class: "font-bold" }, item.name),
+ TableTd({}, item.role),
+ TableTd({}, Button({ class: "btn-xs", onclick: () => alert(`Edit ${item.name}`) }, "Edit")),
+ ])
+ )
+ ),
+ ]),
+ "#demo-table"
);
```
@@ -1088,16 +964,27 @@ mount(
```js
-const activeTab = $(0);
-const tabsData = $([
- { label: "Tab A", content: "Content of tab A" },
+const tabsSignal = $([
+ { label: "Tab A", content: "Content of tab A", open: true },
{ label: "Tab B", content: "Content of tab B", closable: true },
{ label: "Tab C", content: "Content of tab C" },
]);
mount(
- Tabs({ class: "tabs-box", items: tabsData, activeIndex: activeTab }),
- "#demo-tabs",
+ Tabs({ class: "tabs-box" },
+ each(tabsSignal, (tab, i) =>
+ Tab({
+ name: "demo-tabs",
+ label: tab.label,
+ content: tab.content,
+ checked: tab.open || false,
+ tabs: tabsSignal,
+ index: i,
+ closable: tab.closable || false,
+ })
+ )
+ ),
+ "#demo-tabs"
);
```
@@ -1112,7 +999,7 @@ const bio = $("");
mount(
Textarea({ class: "w-80", placeholder: "Write something...", value: bio }),
- "#demo-textarea",
+ "#demo-textarea"
);
```
@@ -1129,7 +1016,7 @@ mount(
span({}, "Bonjour"),
span({}, "Hola"),
]),
- "#demo-textrotate",
+ "#demo-textrotate"
);
```
@@ -1141,25 +1028,19 @@ mount(
```js
mount(
- Timeline({ vertical: true }, [
+ Timeline({ class: "timeline-vertical" }, [
li({}, [
div({ class: "timeline-start" }, "2024"),
- div(
- { class: "timeline-middle" },
- span({ class: "icon-[lucide--check]" }),
- ),
+ div({ class: "timeline-middle" }, Icon({}, "icon-[lucide--check]")),
div({ class: "timeline-end timeline-box" }, "Project started"),
]),
li({}, [
div({ class: "timeline-start" }, "2025"),
- div(
- { class: "timeline-middle" },
- span({ class: "icon-[lucide--clock]" }),
- ),
+ div({ class: "timeline-middle" }, Icon({}, "icon-[lucide--clock]")),
div({ class: "timeline-end timeline-box" }, "First prototype"),
]),
]),
- "#demo-timeline",
+ "#demo-timeline"
);
```
@@ -1173,48 +1054,33 @@ mount(
mount(
div({ class: "flex flex-wrap gap-2" }, [
Button({ class: "btn", onclick: () => Toast("File saved!") }, "Simple"),
- Button(
- { class: "btn", onclick: () => Toast("Error!", "alert-error", 5000) },
- "Error (5s)",
- ),
- Button(
- {
- class: "btn",
- onclick: () =>
- Toast(
- div({ class: "flex items-center gap-2" }, [
- span({ class: "icon-[lucide--check] text-lg" }),
- span({}, "Report generated"),
- ]),
- "alert-success",
- ),
- },
- "With icon",
- ),
- Button(
- {
- class: "btn",
- onclick: () =>
- Toast(
- div({ class: "flex flex-col" }, [
- strong({}, "ATTENTION!"),
- span({}, "Error saving!"),
- button(
- {
- class: "btn btn-xs mt-1",
- onclick: () => console.log("Retry"),
- },
- "Retry",
- ),
- ]),
- "alert-warning",
- 7000,
- ),
- },
- "Complex",
- ),
+ Button({ class: "btn", onclick: () => Toast("Error!", "alert-error", 5000) }, "Error (5s)"),
+ Button({
+ class: "btn",
+ onclick: () =>
+ Toast(
+ div({ class: "flex items-center gap-2" }, [
+ Icon({}, "icon-[lucide--check]"),
+ span({}, "Report generated"),
+ ]),
+ "alert-success"
+ ),
+ }, "With icon"),
+ Button({
+ class: "btn",
+ onclick: () =>
+ Toast(
+ div({ class: "flex flex-col" }, [
+ strong({}, "ATTENTION!"),
+ span({}, "Error saving!"),
+ button({ class: "btn btn-xs mt-1", onclick: () => console.log("Retry") }, "Retry"),
+ ]),
+ "alert-warning",
+ 7000
+ ),
+ }, "Complex"),
]),
- "#demo-toast",
+ "#demo-toast"
);
```
@@ -1233,7 +1099,7 @@ mount(
onchange: (e) => toggleActive(e.target.checked),
class: "toggle-primary",
}),
- "#demo-toggle",
+ "#demo-toggle"
);
```
@@ -1245,10 +1111,9 @@ mount(
```js
mount(
- Tooltip(
- { tip: "Save changes", class: "tooltip-right tooltip-primary" },
- Button({ class: "btn" }, "Save"),
+ Tooltip({ tip: "Save changes", class: "tooltip-right tooltip-primary" },
+ Button({ class: "btn" }, "Save")
),
- "#demo-tooltip",
+ "#demo-tooltip"
);
```
diff --git a/docs/index.html b/docs/index.html
index f442c12..98476d0 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -67,7 +67,8 @@
-
+
+