From 9937f03d0a62e500a0b36b8a77c9b42f9cc77393 Mon Sep 17 00:00:00 2001 From: natxocc Date: Sat, 9 May 2026 19:23:54 +0200 Subject: [PATCH] Megacompact --- Readme.md | 6 +- dist/sigpro-ui.css | 575 ++++------- dist/sigpro-ui.editor.esm.js | 295 ------ dist/sigpro-ui.editor.esm.min.js | 7 - dist/sigpro-ui.esm.js | 819 ++++----------- dist/sigpro-ui.esm.min.js | 2 +- dist/sigpro-ui.js | 1634 ++++++++---------------------- dist/sigpro-ui.min.css | 4 +- dist/sigpro-ui.min.js | 8 +- docs/demo.md | 835 +++++++-------- docs/index.html | 3 +- docs/sigpro-ui.min.css | 4 +- docs/sigpro-ui.min.js | 8 +- docs/sigpro.js | 250 +++++ package.json | 13 +- src/build_editor.js | 1 - src/build_umd.js | 3 +- src/editor.js | 189 ---- src/sigpro-ui.css | 1 + src/sigpro-ui.js | 722 ++++--------- src/tailwind-classes.js | 20 +- 21 files changed, 1690 insertions(+), 3709 deletions(-) delete mode 100644 dist/sigpro-ui.editor.esm.js delete mode 100644 dist/sigpro-ui.editor.esm.min.js create mode 100644 docs/sigpro.js delete mode 100644 src/build_editor.js delete mode 100644 src/editor.js 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 [![npm version](https://img.shields.io/npm/v/sigpro-ui.svg)](https://www.npmjs.com/package/sigpro) -![js size](https://img.shields.io/badge/js_size-11.1_kB_brotli-blue) +![js size](https://img.shields.io/badge/js_size-4.8_kB_brotli-blue) ![CSS Size](https://img.shields.io/badge/css_size-21.9_kB_brotli-blue) [![license](https://img.shields.io/npm/l/sigpro-ui)](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 @@ - + + diff --git a/docs/sigpro-ui.min.css b/docs/sigpro-ui.min.css index 9738fee..e4665f0 100644 --- a/docs/sigpro-ui.min.css +++ b/docs/sigpro-ui.min.css @@ -1,2 +1,2 @@ -/*! tailwindcss v4.2.4 | MIT License | https://tailwindcss.com */ -@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-black:#000;--spacing:.25rem;--container-xs:20rem;--container-md:28rem;--container-2xl:42rem;--container-3xl:48rem;--container-5xl:64rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-7xl:4.5rem;--text-7xl--line-height:1;--text-9xl:8rem;--text-9xl--line-height:1;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-black:900;--tracking-tighter:-.05em;--tracking-tight:-.025em;--tracking-widest:.1em;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-3xl:1.5rem;--drop-shadow-2xl:0 25px 25px #00000026;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-3xl:64px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}@media (prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--color-base-100:oklch(25.33% .016 252.42);--color-base-200:oklch(23.26% .014 253.1);--color-base-300:oklch(21.15% .012 254.09);--color-base-content:oklch(97.807% .029 256.847);--color-primary:oklch(58% .233 277.117);--color-primary-content:oklch(96% .018 272.314);--color-secondary:oklch(65% .241 354.308);--color-secondary-content:oklch(94% .028 342.258);--color-accent:oklch(77% .152 181.912);--color-accent-content:oklch(38% .063 188.416);--color-neutral:oklch(14% .005 285.823);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(74% .16 232.661);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(76% .177 163.223);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .189 84.429);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(71% .194 13.428);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}}:root:has(input.theme-controller[value=light]:checked),[data-theme=light]{color-scheme:light;--color-base-100:oklch(100% 0 0);--color-base-200:oklch(98% 0 0);--color-base-300:oklch(95% 0 0);--color-base-content:oklch(21% .006 285.885);--color-primary:oklch(45% .24 277.023);--color-primary-content:oklch(93% .034 272.788);--color-secondary:oklch(65% .241 354.308);--color-secondary-content:oklch(94% .028 342.258);--color-accent:oklch(77% .152 181.912);--color-accent-content:oklch(38% .063 188.416);--color-neutral:oklch(14% .005 285.823);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(74% .16 232.661);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(76% .177 163.223);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .189 84.429);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(71% .194 13.428);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}:root{--fx-noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.34' numOctaves='4' stitchTiles='stitch'%3E%3C/feTurbulence%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23a)' opacity='0.2'%3E%3C/rect%3E%3C/svg%3E");scrollbar-color:currentColor #0000}@supports (color:color-mix(in lab, red, red)){:root{scrollbar-color:color-mix(in oklch, currentColor 35%, #0000) #0000}}@property --radialprogress{syntax:"";inherits:true;initial-value:0%}:root:not(span){overflow:var(--page-overflow)}:root{background:var(--page-scroll-bg,var(--root-bg));--page-scroll-bg-on:linear-gradient(var(--root-bg,#0000), var(--root-bg,#0000)) var(--root-bg,#0000)}@supports (color:color-mix(in lab, red, red)){:root{--page-scroll-bg-on:linear-gradient(var(--root-bg,#0000), var(--root-bg,#0000)) color-mix(in srgb, var(--root-bg,#0000), oklch(0% 0 0) calc(var(--page-has-backdrop,0) * 40%))}}:root{--page-scroll-transition-on:background-color .3s ease-out;transition:var(--page-scroll-transition);scrollbar-gutter:var(--page-scroll-gutter,unset);scrollbar-gutter:if(style(--page-has-scroll: 1): var(--page-scroll-gutter,unset) ; else: unset)}@keyframes set-page-has-scroll{0%,to{--page-has-scroll:1}}:root,[data-theme]{background:var(--page-scroll-bg,var(--root-bg));color:var(--color-base-content)}:where(:root,[data-theme]){--root-bg:var(--color-base-100)}:where(:root),:root:has(input.theme-controller[value=light]:checked),[data-theme=light]{color-scheme:light;--color-base-100:oklch(100% 0 0);--color-base-200:oklch(98% 0 0);--color-base-300:oklch(92% 0 0);--color-base-content:oklch(25% .006 285);--color-primary:oklch(25% .006 285);--color-primary-content:oklch(98% 0 0);--color-secondary:oklch(55% .046 257.417);--color-secondary-content:oklch(98% 0 0);--color-accent:oklch(96% 0 0);--color-accent-content:oklch(25% .006 285);--color-neutral:oklch(14% .005 285.823);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(74% .16 232);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(62% .17 163);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .18 84);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(60% .25 27);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.4rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}@media (prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--color-base-100:oklch(15% .005 285.823);--color-base-200:oklch(20% .005 285.823);--color-base-300:oklch(30% .005 285.823);--color-base-content:oklch(92% .004 286.32);--color-primary:oklch(98% 0 0);--color-primary-content:oklch(15% 0 0);--color-secondary:oklch(65% .046 257.417);--color-secondary-content:oklch(15% .005 285.823);--color-accent:oklch(25% 0 0);--color-accent-content:oklch(98% 0 0);--color-neutral:oklch(92% .004 286.32);--color-neutral-content:oklch(14% .005 285.823);--color-info:oklch(70% .1 230);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(65% .15 160);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(85% .15 90);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(55% .2 27);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.4rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}}:root:has(input.theme-controller[value=dark]:checked),[data-theme=dark]{color-scheme:dark;--color-base-100:oklch(15% .005 285.823);--color-base-200:oklch(20% .005 285.823);--color-base-300:oklch(30% .005 285.823);--color-base-content:oklch(92% .004 286.32);--color-primary:oklch(98% 0 0);--color-primary-content:oklch(15% 0 0);--color-secondary:oklch(65% .046 257.417);--color-secondary-content:oklch(15% .005 285.823);--color-accent:oklch(25% 0 0);--color-accent-content:oklch(98% 0 0);--color-neutral:oklch(92% .004 286.32);--color-neutral-content:oklch(14% .005 285.823);--color-info:oklch(70% .1 230);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(65% .15 160);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(85% .15 90);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(55% .2 27);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.4rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}}@layer components;@layer utilities{@layer daisyui.l1.l2.l3{.modal{pointer-events:none;visibility:hidden;width:100%;max-width:none;height:100%;max-height:none;color:inherit;transition:visibility .3s allow-discrete, background-color .3s ease-out, opacity .1s ease-out;overscroll-behavior:contain;z-index:999;scrollbar-gutter:auto;background-color:#0000;place-items:center;margin:0;padding:0;display:grid;position:fixed;inset:0;overflow:clip}.modal::backdrop{display:none}:where(.drawer-side){overflow:hidden}.drawer-side{pointer-events:none;visibility:hidden;z-index:10;overscroll-behavior:contain;opacity:0;width:100%;transition:opacity .2s ease-out .1s allow-discrete, visibility .3s ease-out .1s allow-discrete;inset-inline-start:0;background-color:#0000;grid-template-rows:repeat(1,minmax(0,1fr));grid-template-columns:repeat(1,minmax(0,1fr));grid-row-start:1;grid-column-start:1;place-items:flex-start start;height:100dvh;display:grid;position:fixed;top:0}.drawer-side>.drawer-overlay{cursor:pointer;background-color:oklch(0% 0 0/.4);place-self:stretch stretch;position:sticky;top:0}.drawer-side>*{grid-row-start:1;grid-column-start:1}.drawer-side>:not(.drawer-overlay){will-change:transform;transition:translate .3s ease-out,width .2s ease-out;translate:-100%}[dir=rtl] :is(.drawer-side>:not(.drawer-overlay)){translate:100%}.fab{pointer-events:none;z-index:999;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));white-space:nowrap;inset-inline-end:1rem;flex-direction:column-reverse;align-items:flex-end;gap:.5rem;display:flex;position:fixed;bottom:1rem}.fab>*{pointer-events:auto;align-items:center;gap:.5rem;display:flex}.fab>:hover,.fab>:has(:focus-visible){z-index:1}.fab>[tabindex]:first-child{transition-property:opacity,visibility,rotate;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);display:grid;position:relative}.fab .fab-close,.fab .fab-main-action{inset-inline-end:0;position:absolute;bottom:0}:is(.fab:focus-within:has(.fab-close),.fab:focus-within:has(.fab-main-action))>[tabindex]{opacity:0;rotate:90deg}.fab:focus-within>[tabindex]:first-child{pointer-events:none}.fab:focus-within>:nth-child(n+2){visibility:visible;--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y);opacity:1}.fab>:nth-child(n+2){visibility:hidden;--tw-scale-x:80%;--tw-scale-y:80%;--tw-scale-z:80%;scale:var(--tw-scale-x) var(--tw-scale-y);opacity:0;transition-property:opacity,scale,visibility;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.fab>:nth-child(n+2).fab-main-action,.fab>:nth-child(n+2).fab-close{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.fab>:nth-child(3){transition-delay:30ms}.fab>:nth-child(4){transition-delay:60ms}.fab>:nth-child(5){transition-delay:90ms}.fab>:nth-child(6){transition-delay:.12s}.drawer-toggle{appearance:none;opacity:0;width:0;height:0;position:fixed}:where(.drawer-toggle:checked~.drawer-side){scrollbar-color:currentColor oklch(0 0 0 / calc(var(--page-has-backdrop,0) * .4))}@supports (color:color-mix(in lab, red, red)){:where(.drawer-toggle:checked~.drawer-side){scrollbar-color:color-mix(in oklch, currentColor 35%, #0000) oklch(0 0 0 / calc(var(--page-has-backdrop,0) * .4))}}:where(:root:has(.drawer-toggle:checked)){--page-has-backdrop:1;--page-overflow:hidden;--page-scroll-bg:var(--page-scroll-bg-on);--page-scroll-gutter:stable;--page-scroll-transition:var(--page-scroll-transition-on);animation:forwards set-page-has-scroll;animation-timeline:scroll()}.tooltip{--tt-bg:var(--color-neutral);--tt-off:calc(100% + .5rem);--tt-tail:calc(100% + 1px + .25rem);display:inline-block;position:relative}.tooltip>.tooltip-content,.tooltip[data-tip]:before{border-radius:var(--radius-field);text-align:center;white-space:normal;max-width:20rem;color:var(--color-neutral-content);opacity:0;background-color:var(--tt-bg);pointer-events:none;z-index:2;--tw-content:attr(data-tip);content:var(--tw-content);width:max-content;padding-block:.25rem;padding-inline:.5rem;font-size:.875rem;line-height:1.25;position:absolute}.tooltip:after{opacity:0;background-color:var(--tt-bg);content:"";pointer-events:none;--mask-tooltip:url("data:image/svg+xml,%3Csvg width='10' height='4' viewBox='0 0 8 4' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.500009 1C3.5 1 3.00001 4 5.00001 4C7 4 6.5 1 9.5 1C10 1 10 0.499897 10 0H0C-1.99338e-08 0.5 0 1 0.500009 1Z' fill='black'/%3E%3C/svg%3E%0A");width:.625rem;height:.25rem;-webkit-mask-position:-1px 0;mask-position:-1px 0;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-image:var(--mask-tooltip);-webkit-mask-image:var(--mask-tooltip);mask-image:var(--mask-tooltip);display:block;position:absolute}@media (prefers-reduced-motion:no-preference){.tooltip>.tooltip-content,.tooltip[data-tip]:before,.tooltip:after{transition:opacity .2s cubic-bezier(.4,0,.2,1) 75ms,transform .2s cubic-bezier(.4,0,.2,1) 75ms}}:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible))>.tooltip-content,:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible))[data-tip]:before,:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible)):after{opacity:1;--tt-pos:0rem}@media (prefers-reduced-motion:no-preference){:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible))>.tooltip-content,:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible))[data-tip]:before,:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible)):after{transition:opacity .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1)}}.tab{cursor:pointer;appearance:none;text-align:center;webkit-user-select:none;-webkit-user-select:none;user-select:none;flex-wrap:wrap;justify-content:center;align-items:center;display:inline-flex;position:relative}@media (hover:hover){.tab:hover{color:var(--color-base-content)}}.tab{--tab-p:.75rem;--tab-bg:var(--color-base-100);--tab-border-color:var(--color-base-300);--tab-radius-ss:0;--tab-radius-se:0;--tab-radius-es:0;--tab-radius-ee:0;--tab-order:0;--tab-radius-min:calc(.75rem - var(--border));--tab-radius-limit:min(var(--radius-field), var(--tab-radius-min));--tab-radius-grad:#0000 calc(69% - var(--border)), var(--tab-border-color) calc(69% - var(--border) + .25px), var(--tab-border-color) 69%, var(--tab-bg) calc(69% + .25px);order:var(--tab-order);height:var(--tab-height);padding-inline:var(--tab-p);border-color:#0000;font-size:.875rem}.tab:is(input[type=radio]){min-width:fit-content}.tab:is(input[type=radio]):after{--tw-content:attr(aria-label);content:var(--tw-content)}.tab:is(label){position:relative}.tab:is(label) input{cursor:pointer;appearance:none;opacity:0;position:absolute;inset:0}:is(.tab:checked,.tab:is(label:has(:checked)),.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]))+.tab-content{display:block}.tab:not(:checked,label:has(:checked),:hover,.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]){color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.tab:not(:checked,label:has(:checked),:hover,.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]){color:color-mix(in oklab, var(--color-base-content) 50%, transparent)}}.tab:not(input):empty{cursor:default;flex-grow:1}.tab:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.tab:focus{outline-offset:2px;outline:2px solid #0000}}.tab:focus-visible,.tab:is(label:has(:checked:focus-visible)){outline-offset:-5px;outline:2px solid}.tab[disabled]{pointer-events:none;opacity:.4}.menu{--menu-active-fg:var(--color-neutral-content);--menu-active-bg:var(--color-neutral);flex-flow:column wrap;width:fit-content;padding:.5rem;font-size:.875rem;display:flex}.menu :where(li ul){white-space:nowrap;margin-inline-start:1rem;padding-inline-start:.5rem;position:relative}.menu :where(li ul):before{background-color:var(--color-base-content);opacity:.1;width:var(--border);content:"";inset-inline-start:0;position:absolute;top:.75rem;bottom:.75rem}.menu :where(li>.menu-dropdown:not(.menu-dropdown-show)){display:none}.menu :where(li:not(.menu-title)>:not(ul,details,.menu-title,.btn)),.menu :where(li:not(.menu-title)>details>summary:not(.menu-title)){border-radius:var(--radius-field);text-align:start;text-wrap:balance;-webkit-user-select:none;user-select:none;grid-auto-columns:minmax(auto,max-content) auto max-content;grid-auto-flow:column;align-content:flex-start;align-items:center;gap:.5rem;padding-block:.375rem;padding-inline:.75rem;transition-property:color,background-color,box-shadow;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1);display:grid}.menu :where(li>details>summary){--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.menu :where(li>details>summary){outline-offset:2px;outline:2px solid #0000}}.menu :where(li>details>summary)::-webkit-details-marker{display:none}:is(.menu :where(li>details>summary),.menu :where(li>.menu-dropdown-toggle)):after{content:"";transform-origin:50%;pointer-events:none;justify-self:flex-end;width:.375rem;height:.375rem;transition-property:rotate,translate;transition-duration:.2s;display:block;translate:0 -1px;rotate:-135deg;box-shadow:inset 2px 2px}.menu details{interpolate-size:allow-keywords;overflow:hidden}.menu details::details-content{block-size:0}@media (prefers-reduced-motion:no-preference){.menu details::details-content{transition-behavior:allow-discrete;transition-property:block-size,content-visibility;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1)}}.menu details[open]::details-content{block-size:auto}.menu :where(li>details[open]>summary):after,.menu :where(li>.menu-dropdown-toggle.menu-dropdown-show):after{translate:0 1px;rotate:45deg}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn).menu-focus,.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn):focus-visible{cursor:pointer;background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn).menu-focus,.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn):focus-visible{background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn).menu-focus,.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn):focus-visible{color:var(--color-base-content);--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn).menu-focus,.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn):focus-visible{outline-offset:2px;outline:2px solid #0000}}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){cursor:pointer;background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){outline-offset:2px;outline:2px solid #0000}}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){box-shadow:inset 0 1px oklch(0% 0 0/.01),inset 0 -1px oklch(100% 0 0/.01)}.menu :where(li:empty){background-color:var(--color-base-content);opacity:.1;height:1px;margin:.5rem 1rem}.menu :where(li){flex-flow:column wrap;flex-shrink:0;align-items:stretch;display:flex;position:relative}.menu :where(li) .badge{justify-self:flex-end}.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active{outline-offset:2px;outline:2px solid #0000}}.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active{color:var(--menu-active-fg);background-color:var(--menu-active-bg);background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--fx-noise)}:is(.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active):not(:is(.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active):active){box-shadow:0 2px calc(var(--depth) * 3px) -2px var(--menu-active-bg)}.menu :where(li).menu-disabled{pointer-events:none;color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.menu :where(li).menu-disabled{color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.menu .dropdown:focus-within .menu-dropdown-toggle:after{translate:0 1px;rotate:45deg}.menu .dropdown-content{margin-top:.5rem;padding:.5rem}.menu .dropdown-content:before{display:none}.floating-label{display:block;position:relative}.floating-label input{display:block}.floating-label input::placeholder,.floating-label textarea::placeholder{transition:top .1s ease-out,translate .1s ease-out,scale .1s ease-out,opacity .1s ease-out}.floating-label>span{z-index:1;background-color:var(--color-base-100);opacity:0;inset-inline-start:.75rem;top:calc(var(--size-field,.25rem) * 10 / 2);pointer-events:none;border-radius:2px;padding-inline:.25rem;font-size:.875rem;line-height:1;transition:top .1s ease-out,translate .1s ease-out,scale .1s ease-out,opacity .1s ease-out;position:absolute;translate:0 -50%}:is(.floating-label:focus-within,.floating-label:not(:has(input:placeholder-shown,textarea:placeholder-shown))) ::placeholder{opacity:0;pointer-events:auto;top:0;translate:-12.5% calc(-50% - .125em);scale:.75}:is(.floating-label:focus-within,.floating-label:not(:has(input:placeholder-shown,textarea:placeholder-shown)))>span{opacity:1;pointer-events:auto;z-index:2;top:0;translate:-12.5% calc(-50% - .125em);scale:.75}.floating-label:has(:disabled,[disabled])>span{opacity:0}.floating-label:has(.input-xs,.select-xs,.textarea-xs) span{top:calc(var(--size-field,.25rem) * 6 / 2);font-size:.6875rem}.floating-label:has(.input-sm,.select-sm,.textarea-sm) span{top:calc(var(--size-field,.25rem) * 8 / 2);font-size:.75rem}.floating-label:has(.input-md,.select-md,.textarea-md) span{top:calc(var(--size-field,.25rem) * 10 / 2);font-size:.875rem}.floating-label:has(.input-lg,.select-lg,.textarea-lg) span{top:calc(var(--size-field,.25rem) * 12 / 2);font-size:1.125rem}.floating-label:has(.input-xl,.select-xl,.textarea-xl) span{top:calc(var(--size-field,.25rem) * 14 / 2);font-size:1.375rem}.dropdown{position-area:var(--anchor-v,bottom) var(--anchor-h,span-right);display:inline-block;position:relative}.dropdown>:not(:has(~[class*=dropdown-content])):focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.dropdown>:not(:has(~[class*=dropdown-content])):focus{outline-offset:2px;outline:2px solid #0000}}.dropdown .dropdown-content{position:absolute}.dropdown.dropdown-close .dropdown-content,.dropdown:not(details,.dropdown-open,.dropdown-hover:hover,:focus-within) .dropdown-content,.dropdown.dropdown-hover:not(:hover) [tabindex]:first-child:focus:not(:focus-visible)~.dropdown-content{transform-origin:top;opacity:0;display:none;scale:.95}.dropdown[popover],.dropdown .dropdown-content{z-index:999}@media (prefers-reduced-motion:no-preference){.dropdown[popover],.dropdown .dropdown-content{transition-behavior:allow-discrete;transition-property:opacity,scale,display;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);animation:.2s dropdown}}@starting-style{.dropdown[popover],.dropdown .dropdown-content{opacity:0;scale:.95}}:is(.dropdown:not(.dropdown-close).dropdown-open,.dropdown:not(.dropdown-close):not(.dropdown-hover):focus,.dropdown:not(.dropdown-close):focus-within)>[tabindex]:first-child{pointer-events:none}:is(.dropdown:not(.dropdown-close).dropdown-open,.dropdown:not(.dropdown-close):not(.dropdown-hover):focus,.dropdown:not(.dropdown-close):focus-within) .dropdown-content,.dropdown:not(.dropdown-close).dropdown-hover:hover .dropdown-content{opacity:1;scale:1}.dropdown:is(details) summary::-webkit-details-marker{display:none}.dropdown:where([popover]){background:0 0}.dropdown[popover]{color:inherit;position:fixed}@supports not (position-area:bottom){.dropdown[popover]{margin:auto}.dropdown[popover].dropdown-close{transform-origin:top;opacity:0;display:none;scale:.95}.dropdown[popover].dropdown-open:not(:popover-open){transform-origin:top;opacity:0;display:none;scale:.95}.dropdown[popover]::backdrop{background-color:oklab(0% none none/.3)}}:is(.dropdown[popover].dropdown-close,.dropdown[popover]:not(.dropdown-open,:popover-open)){transform-origin:top;opacity:0;display:none;scale:.95}:where(.btn){width:unset}.btn{cursor:pointer;text-align:center;vertical-align:middle;outline-offset:2px;webkit-user-select:none;-webkit-user-select:none;user-select:none;padding-inline:var(--btn-p);color:var(--btn-fg);--tw-prose-links:var(--btn-fg);height:var(--size);font-size:var(--fontsize,.875rem);outline-color:var(--btn-color,var(--color-base-content));background-color:var(--btn-bg);background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--btn-noise);border-width:var(--border);border-style:solid;border-color:var(--btn-border);text-shadow:0 .5px oklch(100% 0 0 / calc(var(--depth) * .15));touch-action:manipulation;box-shadow:0 .5px 0 .5px oklch(100% 0 0 / calc(var(--depth) * 6%)) inset, var(--btn-shadow);--size:calc(var(--size-field,.25rem) * 10);--btn-bg:var(--btn-color,var(--color-base-200));--btn-fg:var(--color-base-content);--btn-p:1rem;--btn-border:var(--btn-bg);border-start-start-radius:var(--join-ss,var(--radius-field));border-start-end-radius:var(--join-se,var(--radius-field));border-end-end-radius:var(--join-ee,var(--radius-field));border-end-start-radius:var(--join-es,var(--radius-field));flex-wrap:nowrap;flex-shrink:0;justify-content:center;align-items:center;gap:.375rem;font-weight:600;transition-property:color,background-color,border-color,box-shadow;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1);display:inline-flex}@supports (color:color-mix(in lab, red, red)){.btn{--btn-border:color-mix(in oklab, var(--btn-bg), #000 calc(var(--depth) * 5%))}}.btn{--btn-shadow:0 3px 2px -2px var(--btn-bg), 0 4px 3px -2px var(--btn-bg)}@supports (color:color-mix(in lab, red, red)){.btn{--btn-shadow:0 3px 2px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000), 0 4px 3px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000)}}.btn{--btn-noise:var(--fx-noise)}@media (hover:hover){.btn:hover{--btn-bg:var(--btn-color,var(--color-base-200))}@supports (color:color-mix(in lab, red, red)){.btn:hover{--btn-bg:color-mix(in oklab, var(--btn-color,var(--color-base-200)), #000 7%)}}}.btn:focus-visible,.btn:has(:focus-visible){isolation:isolate;outline-width:2px;outline-style:solid}.btn:active:not(.btn-active){--btn-bg:var(--btn-color,var(--color-base-200));translate:0 .5px}@supports (color:color-mix(in lab, red, red)){.btn:active:not(.btn-active){--btn-bg:color-mix(in oklab, var(--btn-color,var(--color-base-200)), #000 5%)}}.btn:active:not(.btn-active){--btn-border:var(--btn-color,var(--color-base-200))}@supports (color:color-mix(in lab, red, red)){.btn:active:not(.btn-active){--btn-border:color-mix(in oklab, var(--btn-color,var(--color-base-200)), #000 7%)}}.btn:active:not(.btn-active){--btn-shadow:0 0 0 0 oklch(0% 0 0/0), 0 0 0 0 oklch(0% 0 0/0)}.btn:is(input[type=checkbox],input[type=radio]){appearance:none}.btn:is(input[type=checkbox],input[type=radio])[aria-label]:after{--tw-content:attr(aria-label);content:var(--tw-content)}.btn:where(input:checked:not(.filter .btn)){--btn-color:var(--color-primary);--btn-fg:var(--color-primary-content);isolation:isolate}.loading{pointer-events:none;aspect-ratio:1;vertical-align:middle;width:calc(var(--size-selector,.25rem) * 6);background-color:currentColor;display:inline-block;-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:100%;mask-size:100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.collapse{border-radius:var(--radius-box,1rem);isolation:isolate;grid-template-rows:max-content 0fr;grid-template-columns:minmax(0,1fr);width:100%;display:grid;position:relative;overflow:hidden}@media (prefers-reduced-motion:no-preference){.collapse{transition:grid-template-rows .2s}}.collapse>input:is([type=checkbox],[type=radio]){appearance:none;opacity:0;z-index:1;grid-row-start:1;grid-column-start:1;width:100%;min-height:1lh;padding:1rem;padding-inline-end:3rem;transition:background-color .2s ease-out}.collapse:is([open],[tabindex]:focus:not(.collapse-close),[tabindex]:focus-within:not(.collapse-close)),.collapse:not(.collapse-close):has(>input:is([type=checkbox],[type=radio]):checked){grid-template-rows:max-content 1fr}.collapse:is([open],[tabindex]:focus:not(.collapse-close),[tabindex]:focus-within:not(.collapse-close))>.collapse-content,.collapse:not(.collapse-close)>:where(input:is([type=checkbox],[type=radio]):checked~.collapse-content){content-visibility:visible;min-height:fit-content}@supports not (content-visibility:visible){.collapse:is([open],[tabindex]:focus:not(.collapse-close),[tabindex]:focus-within:not(.collapse-close))>.collapse-content,.collapse:not(.collapse-close)>:where(input:is([type=checkbox],[type=radio]):checked~.collapse-content){visibility:visible}}.collapse:focus-visible,.collapse:has(>input:is([type=checkbox],[type=radio]):focus-visible),.collapse:has(summary:focus-visible){outline-color:var(--color-base-content);outline-offset:2px;outline-width:2px;outline-style:solid}.collapse:not(.collapse-close)>input[type=checkbox],.collapse:not(.collapse-close)>input[type=radio]:not(:checked),.collapse:not(.collapse-close)>.collapse-title{cursor:pointer}:is(.collapse[tabindex]:focus:not(.collapse-close,.collapse[open]),.collapse[tabindex]:focus-within:not(.collapse-close,.collapse[open]))>.collapse-title{cursor:unset}.collapse:is([open],[tabindex]:focus:not(.collapse-close),[tabindex]:focus-within:not(.collapse-close))>:where(.collapse-content),.collapse:not(.collapse-close)>:where(input:is([type=checkbox],[type=radio]):checked~.collapse-content){padding-bottom:1rem}.collapse:is(details){width:100%}@media (prefers-reduced-motion:no-preference){.collapse:is(details)::details-content{transition:content-visibility .2s allow-discrete, visibility .2s allow-discrete, min-height .2s ease-out allow-discrete, padding .1s ease-out 20ms, background-color .2s ease-out, height .2s;interpolate-size:allow-keywords;height:0}.collapse:is(details):where([open])::details-content{height:auto}}.collapse:is(details) summary{display:block;position:relative}.collapse:is(details) summary::-webkit-details-marker{display:none}.collapse:is(details)>.collapse-content{content-visibility:visible}.collapse:is(details) summary{outline:none}.collapse-content{content-visibility:hidden;min-height:0;cursor:unset;grid-row-start:2;grid-column-start:1;padding-left:1rem;padding-right:1rem}@supports not (content-visibility:hidden){.collapse-content{visibility:hidden}}@media (prefers-reduced-motion:no-preference){.collapse-content{transition:content-visibility .2s allow-discrete, visibility .2s allow-discrete, min-height .2s ease-out allow-discrete, padding .1s ease-out 20ms, background-color .2s ease-out}}.validator-hint{visibility:hidden;margin-top:.5rem;font-size:.75rem}.validator:user-valid{--input-color:var(--color-success)}.validator:user-valid:focus{--input-color:var(--color-success)}.validator:user-valid:checked{--input-color:var(--color-success)}.validator:user-valid[aria-checked=true]{--input-color:var(--color-success)}.validator:user-valid:focus-within{--input-color:var(--color-success)}.validator:has(:user-valid){--input-color:var(--color-success)}.validator:has(:user-valid):focus{--input-color:var(--color-success)}.validator:has(:user-valid):checked{--input-color:var(--color-success)}.validator:has(:user-valid)[aria-checked=true]{--input-color:var(--color-success)}.validator:has(:user-valid):focus-within{--input-color:var(--color-success)}.validator:user-invalid{--input-color:var(--color-error)}.validator:user-invalid:focus{--input-color:var(--color-error)}.validator:user-invalid:checked{--input-color:var(--color-error)}.validator:user-invalid[aria-checked=true]{--input-color:var(--color-error)}.validator:user-invalid:focus-within{--input-color:var(--color-error)}.validator:user-invalid~.validator-hint{visibility:visible;color:var(--color-error)}.validator:has(:user-invalid){--input-color:var(--color-error)}.validator:has(:user-invalid):focus{--input-color:var(--color-error)}.validator:has(:user-invalid):checked{--input-color:var(--color-error)}.validator:has(:user-invalid)[aria-checked=true]{--input-color:var(--color-error)}.validator:has(:user-invalid):focus-within{--input-color:var(--color-error)}.validator:has(:user-invalid)~.validator-hint{visibility:visible;color:var(--color-error)}:is(.validator[aria-invalid]:not([aria-invalid=false]),.validator:has([aria-invalid]:not([aria-invalid=false]))),:is(.validator[aria-invalid]:not([aria-invalid=false]),.validator:has([aria-invalid]:not([aria-invalid=false]))):focus,:is(.validator[aria-invalid]:not([aria-invalid=false]),.validator:has([aria-invalid]:not([aria-invalid=false]))):checked,:is(.validator[aria-invalid]:not([aria-invalid=false]),.validator:has([aria-invalid]:not([aria-invalid=false])))[aria-checked=true],:is(.validator[aria-invalid]:not([aria-invalid=false]),.validator:has([aria-invalid]:not([aria-invalid=false]))):focus-within{--input-color:var(--color-error)}:is(.validator[aria-invalid]:not([aria-invalid=false]),.validator:has([aria-invalid]:not([aria-invalid=false])))~.validator-hint{visibility:visible;color:var(--color-error)}.radial-progress{height:var(--size);width:var(--size);vertical-align:middle;box-sizing:content-box;--value:0;--size:5rem;--thickness:calc(var(--size) / 10);--radialprogress:calc(var(--value) * 1%);background-color:#0000;border-radius:3.40282e38px;place-content:center;transition:--radialprogress .3s linear;display:inline-grid;position:relative}.radial-progress:before{content:"";background:radial-gradient(farthest-side, currentColor 98%, #0000) top/var(--thickness) var(--thickness) no-repeat, conic-gradient(currentColor var(--radialprogress), #0000 0);webkit-mask:radial-gradient(farthest-side, #0000 calc(100% - var(--thickness)), #000 calc(100% + .5px - var(--thickness)));-webkit-mask:radial-gradient(farthest-side, #0000 calc(100% - var(--thickness)), #000 calc(100% + .5px - var(--thickness)));-webkit-mask:radial-gradient(farthest-side, #0000 calc(100% - var(--thickness)), #000 calc(100% + .5px - var(--thickness)));mask:radial-gradient(farthest-side, #0000 calc(100% - var(--thickness)), #000 calc(100% + .5px - var(--thickness)));border-radius:3.40282e38px;position:absolute;inset:0}.radial-progress:after{content:"";inset:calc(50% - var(--thickness) / 2);transform:rotate(calc(var(--value) * 3.6deg - 90deg)) translate(calc(var(--size) / 2 - 50%));background-color:currentColor;border-radius:3.40282e38px;transition:transform .3s linear;position:absolute}.list{flex-direction:column;font-size:.875rem;display:flex}.list .list-row{--list-grid-cols:minmax(0, auto) 1fr;border-radius:var(--radius-box);word-break:break-word;grid-auto-flow:column;grid-template-columns:var(--list-grid-cols);gap:1rem;padding:1rem;display:grid;position:relative}:is(.list>:not(:last-child).list-row,.list>:not(:last-child) .list-row):after{content:"";border-bottom:var(--border) solid;inset-inline:var(--radius-box);border-color:var(--color-base-content);position:absolute;bottom:0}@supports (color:color-mix(in lab, red, red)){:is(.list>:not(:last-child).list-row,.list>:not(:last-child) .list-row):after{border-color:color-mix(in oklab, var(--color-base-content) 5%, transparent)}}.toast{translate:var(--toast-x,0) var(--toast-y,0);inset-inline:auto 1rem;background-color:#0000;flex-direction:column;gap:.5rem;width:max-content;max-width:calc(100vw - 2rem);display:flex;position:fixed;top:auto;bottom:1rem}@media (prefers-reduced-motion:no-preference){.toast>*{animation:.25s ease-out toast}}.toggle{border:var(--border) solid currentColor;color:var(--input-color);cursor:pointer;appearance:none;vertical-align:middle;webkit-user-select:none;-webkit-user-select:none;user-select:none;--radius-selector-max:calc(var(--radius-selector) + var(--radius-selector) + var(--radius-selector));border-radius:calc(var(--radius-selector) + min(var(--toggle-p), var(--radius-selector-max)) + min(var(--border), var(--radius-selector-max)));padding:var(--toggle-p);flex-shrink:0;grid-template-columns:0fr 1fr 1fr;place-content:center;display:inline-grid;position:relative;box-shadow:inset 0 1px}@supports (color:color-mix(in lab, red, red)){.toggle{box-shadow:0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000) inset}}.toggle{--input-color:var(--color-base-content);transition:color .3s,grid-template-columns .2s}@supports (color:color-mix(in lab, red, red)){.toggle{--input-color:color-mix(in oklab, var(--color-base-content) 50%, #0000)}}.toggle{--toggle-p:calc(var(--size) * .125);--size:calc(var(--size-selector,.25rem) * 6);width:calc((var(--size) * 2) - (var(--border) + var(--toggle-p)) * 2);height:var(--size)}.toggle>*{z-index:1;cursor:pointer;appearance:none;background-color:#0000;border:none;grid-column:2/span 1;grid-row-start:1;height:100%;padding:.125rem;transition:opacity .2s,rotate .4s}.toggle>:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.toggle>:focus{outline-offset:2px;outline:2px solid #0000}}.toggle>:nth-child(2){color:var(--color-base-100);rotate:0deg}.toggle>:nth-child(3){color:var(--color-base-100);opacity:0;rotate:-15deg}.toggle:has(:checked)>:nth-child(2){opacity:0;rotate:15deg}.toggle:has(:checked)>:nth-child(3){opacity:1;rotate:0deg}.toggle:before{aspect-ratio:1;border-radius:var(--radius-selector);--tw-content:"";content:var(--tw-content);width:100%;height:100%;box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px currentColor;background-color:currentColor;grid-row-start:1;grid-column-start:2;transition:background-color .1s,translate .2s,inset-inline-start .2s;position:relative;inset-inline-start:0;translate:0}@supports (color:color-mix(in lab, red, red)){.toggle:before{box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000)}}.toggle:before{background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--fx-noise)}@media (forced-colors:active){.toggle:before{outline-style:var(--tw-outline-style);outline-offset:calc(1px * -1);outline-width:1px}}@media print{.toggle:before{outline-offset:-1rem;outline:.25rem solid}}.toggle:focus-visible,.toggle:has(:focus-visible){outline-offset:2px;outline:2px solid}.toggle:checked,.toggle[aria-checked=true],.toggle:has(>input:checked){background-color:var(--color-base-100);--input-color:var(--color-base-content);grid-template-columns:1fr 1fr 0fr}:is(.toggle:checked,.toggle[aria-checked=true],.toggle:has(>input:checked)):before{background-color:currentColor}@starting-style{:is(.toggle:checked,.toggle[aria-checked=true],.toggle:has(>input:checked)):before{opacity:0}}.toggle:indeterminate{grid-template-columns:.5fr 1fr .5fr}.toggle:disabled{cursor:not-allowed;opacity:.3}.toggle:disabled:before{border:var(--border) solid currentColor;background-color:#0000}.input{cursor:text;border:var(--border) solid #0000;appearance:none;background-color:var(--color-base-100);vertical-align:middle;white-space:nowrap;width:clamp(3rem,20rem,100%);height:var(--size);font-size:max(var(--font-size,.875rem), .875rem);touch-action:manipulation;border-color:var(--input-color);box-shadow:0 1px var(--input-color) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset;border-start-start-radius:var(--join-ss,var(--radius-field));border-start-end-radius:var(--join-se,var(--radius-field));border-end-end-radius:var(--join-ee,var(--radius-field));border-end-start-radius:var(--join-es,var(--radius-field));flex-shrink:1;align-items:center;gap:.5rem;padding-inline:.75rem;display:inline-flex;position:relative}@supports (color:color-mix(in lab, red, red)){.input{box-shadow:0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset}}.input{--size:calc(var(--size-field,.25rem) * 10);--input-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.input{--input-color:color-mix(in oklab, var(--color-base-content) 20%, #0000)}}.input:where(input){display:inline-flex}.input :where(input){appearance:none;background-color:#0000;border:none;width:100%;height:100%;display:inline-flex}.input :where(input):focus,.input :where(input):focus-within{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.input :where(input):focus,.input :where(input):focus-within{outline-offset:2px;outline:2px solid #0000}}.input :where(input[type=url]),.input :where(input[type=email]){direction:ltr}.input :where(input[type=date]){display:inline-flex}.input:focus,.input:focus-within{--input-color:var(--color-base-content);box-shadow:0 1px var(--input-color)}@supports (color:color-mix(in lab, red, red)){.input:focus,.input:focus-within{box-shadow:0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000)}}.input:focus,.input:focus-within{outline:2px solid var(--input-color);outline-offset:2px;isolation:isolate}@media (pointer:coarse){@supports (-webkit-touch-callout:none){.input:focus,.input:focus-within{--font-size:1rem}}}.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input{cursor:not-allowed;border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input{color:color-mix(in oklab, var(--color-base-content) 40%, transparent)}}:is(.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input)::placeholder{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:is(.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input)::placeholder{color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input{box-shadow:none}.input:has(>input[disabled])>input[disabled]{cursor:not-allowed}.input::-webkit-date-and-time-value{text-align:inherit}.input[type=number]::-webkit-inner-spin-button{margin-block:-.75rem;margin-inline-end:-.75rem}.input::-webkit-calendar-picker-indicator{position:absolute;inset-inline-end:.75em}.input:has(>input[type=date]) :where(input[type=date]){webkit-appearance:none;appearance:none;display:inline-flex}.input:has(>input[type=date]) input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;width:1em;height:1em;position:absolute;inset-inline-end:.75em}.indicator{width:max-content;display:inline-flex;position:relative}.indicator :where(.indicator-item){z-index:1;white-space:nowrap;top:var(--indicator-t,0);bottom:var(--indicator-b,auto);left:var(--indicator-s,auto);right:var(--indicator-e,0);translate:var(--indicator-x,50%) var(--indicator-y,-50%);position:absolute}.table{border-collapse:separate;--tw-border-spacing-x:calc(.25rem * 0);--tw-border-spacing-y:calc(.25rem * 0);width:100%;border-spacing:var(--tw-border-spacing-x) var(--tw-border-spacing-y);border-radius:var(--radius-box);text-align:left;font-size:.875rem;position:relative}.table:where(:dir(rtl),[dir=rtl],[dir=rtl] *){text-align:right}@media (hover:hover){:is(.table tr.row-hover,.table tr.row-hover:nth-child(2n)):hover{background-color:var(--color-base-200)}}.table :where(th,td){vertical-align:middle;padding-block:.75rem;padding-inline:1rem}.table :where(thead,tfoot){white-space:nowrap;color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.table :where(thead,tfoot){color:color-mix(in oklab, var(--color-base-content) 60%, transparent)}}.table :where(thead,tfoot){font-size:.875rem;font-weight:600}.table :where(tfoot tr:first-child :is(td,th)){border-top:var(--border) solid var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.table :where(tfoot tr:first-child :is(td,th)){border-top:var(--border) solid color-mix(in oklch, var(--color-base-content) 5%, #0000)}}.table :where(.table-pin-rows thead tr){z-index:1;background-color:var(--color-base-100);position:sticky;top:0}.table :where(.table-pin-rows tfoot tr){z-index:1;background-color:var(--color-base-100);position:sticky;bottom:0}.table :where(.table-pin-cols tr th){background-color:var(--color-base-100);position:sticky;left:0;right:0}.table :where(thead tr :is(td,th),tbody tr:not(:last-child) :is(td,th)){border-bottom:var(--border) solid var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.table :where(thead tr :is(td,th),tbody tr:not(:last-child) :is(td,th)){border-bottom:var(--border) solid color-mix(in oklch, var(--color-base-content) 5%, #0000)}}.steps{counter-reset:step;grid-auto-columns:1fr;grid-auto-flow:column;display:inline-grid;overflow:auto hidden}.steps .step{text-align:center;--step-bg:var(--color-base-300);--step-fg:var(--color-base-content);grid-template-rows:40px 1fr;grid-template-columns:auto;place-items:center;min-width:4rem;display:grid}.steps .step:before{width:100%;height:.5rem;color:var(--step-bg);background-color:var(--step-bg);content:"";border:1px solid;grid-row-start:1;grid-column-start:1;margin-inline-start:-100%;top:0}.steps .step>.step-icon,.steps .step:not(:has(.step-icon)):after{--tw-content:counter(step);content:var(--tw-content);counter-increment:step;z-index:1;color:var(--step-fg);background-color:var(--step-bg);border:1px solid var(--step-bg);border-radius:3.40282e38px;grid-row-start:1;grid-column-start:1;place-self:center;place-items:center;width:2rem;height:2rem;display:grid;position:relative}.steps .step:first-child:before{--tw-content:none;content:var(--tw-content)}.steps .step[data-content]:after{--tw-content:attr(data-content);content:var(--tw-content)}.range{appearance:none;webkit-appearance:none;--range-thumb:var(--color-base-100);--range-thumb-size:calc(var(--size-selector,.25rem) * 6);--range-progress:currentColor;--range-fill:1;--range-p:.25rem;--range-bg:currentColor}@supports (color:color-mix(in lab, red, red)){.range{--range-bg:color-mix(in oklab, currentColor 10%, #0000)}}.range{cursor:pointer;vertical-align:middle;--radius-selector-max:calc(var(--radius-selector) + var(--radius-selector) + var(--radius-selector));border-radius:calc(var(--radius-selector) + min(var(--range-p), var(--radius-selector-max)));width:clamp(3rem,20rem,100%);height:var(--range-thumb-size);background-color:#0000;border:none;overflow:hidden}[dir=rtl] .range{--range-dir:-1}.range:focus{outline:none}.range:focus-visible{outline-offset:2px;outline:2px solid}.range::-webkit-slider-runnable-track{background-color:var(--range-bg);border-radius:var(--radius-selector);width:100%;height:calc(var(--range-thumb-size) * .5)}@media (forced-colors:active){.range::-webkit-slider-runnable-track{border:1px solid}.range::-moz-range-track{border:1px solid}}.range::-webkit-slider-thumb{box-sizing:border-box;border-radius:calc(var(--radius-selector) + min(var(--range-p), var(--radius-selector-max)));background-color:var(--range-thumb);height:var(--range-thumb-size);width:var(--range-thumb-size);border:var(--range-p) solid;appearance:none;webkit-appearance:none;color:var(--range-progress);box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px currentColor, 0 0 0 2rem var(--range-thumb) inset, calc((var(--range-dir,1) * -100cqw) - (var(--range-dir,1) * var(--range-thumb-size) / 2)) 0 0 calc(100cqw * var(--range-fill));position:relative;top:50%;transform:translateY(-50%)}@supports (color:color-mix(in lab, red, red)){.range::-webkit-slider-thumb{box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000), 0 0 0 2rem var(--range-thumb) inset, calc((var(--range-dir,1) * -100cqw) - (var(--range-dir,1) * var(--range-thumb-size) / 2)) 0 0 calc(100cqw * var(--range-fill))}}.range::-moz-range-track{background-color:var(--range-bg);border-radius:var(--radius-selector);width:100%;height:calc(var(--range-thumb-size) * .5)}.range::-moz-range-thumb{box-sizing:border-box;border-radius:calc(var(--radius-selector) + min(var(--range-p), var(--radius-selector-max)));height:var(--range-thumb-size);width:var(--range-thumb-size);border:var(--range-p) solid;color:var(--range-progress);box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px currentColor, 0 0 0 2rem var(--range-thumb) inset, calc((var(--range-dir,1) * -100cqw) - (var(--range-dir,1) * var(--range-thumb-size) / 2)) 0 0 calc(100cqw * var(--range-fill));background-color:currentColor;position:relative;top:50%}@supports (color:color-mix(in lab, red, red)){.range::-moz-range-thumb{box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000), 0 0 0 2rem var(--range-thumb) inset, calc((var(--range-dir,1) * -100cqw) - (var(--range-dir,1) * var(--range-thumb-size) / 2)) 0 0 calc(100cqw * var(--range-fill))}}.range:disabled{cursor:not-allowed;opacity:.3}.chat-bubble{border-radius:var(--radius-field);background-color:var(--color-base-300);width:fit-content;color:var(--color-base-content);grid-row-end:3;min-width:2.5rem;max-width:90%;min-height:2rem;padding-block:.5rem;padding-inline:1rem;display:block;position:relative}.chat-bubble:before{background-color:inherit;content:"";width:.75rem;height:.75rem;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-image:var(--mask-chat);-webkit-mask-image:var(--mask-chat);mask-image:var(--mask-chat);position:absolute;bottom:0;-webkit-mask-position:0 -1px;mask-position:0 -1px;-webkit-mask-size:.8125rem;mask-size:.8125rem}.select{border:var(--border) solid #0000;appearance:none;background-color:var(--color-base-100);vertical-align:middle;width:clamp(3rem,20rem,100%);height:var(--size);touch-action:manipulation;white-space:nowrap;text-overflow:ellipsis;box-shadow:0 1px var(--input-color) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 20px) calc(1px + 50%),calc(100% - 16.1px) calc(1px + 50%);background-repeat:no-repeat;background-size:4px 4px,4px 4px;border-start-start-radius:var(--join-ss,var(--radius-field));border-start-end-radius:var(--join-se,var(--radius-field));border-end-end-radius:var(--join-ee,var(--radius-field));border-end-start-radius:var(--join-es,var(--radius-field));flex-shrink:1;align-items:center;gap:.375rem;padding-inline:.75rem 1.75rem;font-size:.875rem;display:inline-flex;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.select{box-shadow:0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset}}.select{border-color:var(--input-color);--input-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.select{--input-color:color-mix(in oklab, var(--color-base-content) 20%, #0000)}}.select{--size:calc(var(--size-field,.25rem) * 10)}[dir=rtl] .select{background-position:12px calc(1px + 50%),16px calc(1px + 50%)}[dir=rtl] .select::picker(select){translate:.5rem}[dir=rtl] .select select::picker(select){translate:.5rem}.select[multiple]{background-image:none;height:auto;padding-block:.75rem;padding-inline-end:.75rem;overflow:auto}.select select{appearance:none;width:calc(100% + 2.75rem);height:calc(100% - calc(var(--border) * 2));background:inherit;border-radius:inherit;border-style:none;align-items:center;margin-inline:-.75rem -1.75rem;padding-inline:.75rem 1.75rem}.select select:focus,.select select:focus-within{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.select select:focus,.select select:focus-within{outline-offset:2px;outline:2px solid #0000}}.select select:not(:last-child){background-image:none;margin-inline-end:-1.375rem}.select:focus,.select:focus-within{--input-color:var(--color-base-content);box-shadow:0 1px var(--input-color)}@supports (color:color-mix(in lab, red, red)){.select:focus,.select:focus-within{box-shadow:0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000)}}.select:focus,.select:focus-within{outline:2px solid var(--input-color);outline-offset:2px;isolation:isolate}.select:has(>select[disabled]),.select:is(:disabled,[disabled]),fieldset:disabled .select{cursor:not-allowed;border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.select:has(>select[disabled]),.select:is(:disabled,[disabled]),fieldset:disabled .select{color:color-mix(in oklab, var(--color-base-content) 40%, transparent)}}:is(.select:has(>select[disabled]),.select:is(:disabled,[disabled]),fieldset:disabled .select)::placeholder{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:is(.select:has(>select[disabled]),.select:is(:disabled,[disabled]),fieldset:disabled .select)::placeholder{color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.select:has(>select[disabled])>select[disabled]{cursor:not-allowed}@supports (appearance:base-select){.select,.select select{appearance:base-select}:is(.select,.select select)::picker(select){appearance:base-select}}:is(.select,.select select)::picker(select){color:inherit;border:var(--border) solid var(--color-base-200);border-radius:var(--radius-box);background-color:inherit;max-height:min(24rem,70dvh);box-shadow:0 2px calc(var(--depth) * 3px) -2px oklch(0% 0 0/.2);box-shadow:0 20px 25px -5px rgb(0 0 0/calc(var(--depth) * .1)), 0 8px 10px -6px rgb(0 0 0/calc(var(--depth) * .1));margin-block:.5rem;margin-inline:.5rem;padding:.5rem;translate:-.5rem}:is(.select,.select select)::picker-icon{display:none}:is(.select,.select select) optgroup{padding-top:.5em}:is(.select,.select select) optgroup option:first-child{margin-top:.5em}:is(.select,.select select) option{border-radius:var(--radius-field);white-space:normal;padding-block:.375rem;padding-inline:.75rem;transition-property:color,background-color;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1)}:is(.select,.select select) option:not(:disabled):hover,:is(.select,.select select) option:not(:disabled):focus-visible{cursor:pointer;background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:is(.select,.select select) option:not(:disabled):hover,:is(.select,.select select) option:not(:disabled):focus-visible{background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}:is(.select,.select select) option:not(:disabled):hover,:is(.select,.select select) option:not(:disabled):focus-visible{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){:is(.select,.select select) option:not(:disabled):hover,:is(.select,.select select) option:not(:disabled):focus-visible{outline-offset:2px;outline:2px solid #0000}}:is(.select,.select select) option:not(:disabled):active{background-color:var(--color-neutral);color:var(--color-neutral-content);box-shadow:0 2px calc(var(--depth) * 3px) -2px var(--color-neutral)}.timeline{display:flex;position:relative}.timeline>li{grid-template-rows:var(--timeline-row-start,minmax(0, 1fr)) auto var(--timeline-row-end,minmax(0, 1fr));grid-template-columns:var(--timeline-col-start,minmax(0, 1fr)) auto var(--timeline-col-end,minmax(0, 1fr));flex-shrink:0;align-items:center;display:grid;position:relative}.timeline>li>hr{border:none;width:100%}.timeline>li>hr:first-child{grid-row-start:2;grid-column-start:1}.timeline>li>hr:last-child{grid-area:2/3/auto/none}@media print{.timeline>li>hr{border:.1px solid var(--color-base-300)}}.timeline :where(hr){background-color:var(--color-base-300);height:.25rem}.timeline:has(.timeline-middle hr):first-child{border-start-start-radius:0;border-start-end-radius:var(--radius-selector);border-end-end-radius:var(--radius-selector);border-end-start-radius:0}.timeline:has(.timeline-middle hr):last-child,.timeline:not(:has(.timeline-middle)) :first-child hr:last-child{border-start-start-radius:var(--radius-selector);border-start-end-radius:0;border-end-end-radius:0;border-end-start-radius:var(--radius-selector)}.timeline:not(:has(.timeline-middle)) :last-child hr:first-child{border-start-start-radius:0;border-start-end-radius:var(--radius-selector);border-end-end-radius:var(--radius-selector);border-end-start-radius:0}.swap{cursor:pointer;vertical-align:middle;webkit-user-select:none;-webkit-user-select:none;user-select:none;place-content:center;display:inline-grid;position:relative}.swap input{appearance:none;border:none}.swap>*{grid-row-start:1;grid-column-start:1}@media (prefers-reduced-motion:no-preference){.swap>*{transition-property:transform,rotate,opacity;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1)}}.swap .swap-on,.swap .swap-indeterminate,.swap input:indeterminate~.swap-on,.swap input:is(:checked,:indeterminate)~.swap-off{opacity:0}.swap input:checked~.swap-on,.swap input:indeterminate~.swap-indeterminate{opacity:1;backface-visibility:visible}.collapse-title{grid-row-start:1;grid-column-start:1;width:100%;min-height:1lh;padding:1rem;padding-inline-end:3rem;transition:background-color .2s ease-out;position:relative}.avatar{vertical-align:middle;display:inline-flex;position:relative}.avatar>div{aspect-ratio:1;display:block;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.checkbox{border:var(--border) solid var(--input-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.checkbox{border:var(--border) solid var(--input-color,color-mix(in oklab, var(--color-base-content) 20%, #0000))}}.checkbox{cursor:pointer;appearance:none;border-radius:var(--radius-selector);vertical-align:middle;color:var(--color-base-content);box-shadow:0 1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 0 #0000 inset, 0 0 #0000;--size:calc(var(--size-selector,.25rem) * 6);width:var(--size);height:var(--size);background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--fx-noise);flex-shrink:0;padding:.25rem;transition:background-color .2s,box-shadow .2s;display:inline-block;position:relative}.checkbox:before{--tw-content:"";content:var(--tw-content);opacity:0;clip-path:polygon(20% 100%,20% 80%,50% 80%,50% 80%,70% 80%,70% 100%);width:100%;height:100%;box-shadow:0px 3px 0 0px oklch(100% 0 0 / calc(var(--depth) * .1)) inset;background-color:currentColor;font-size:1rem;line-height:.75;transition:clip-path .3s .1s,opacity .1s .1s,rotate .3s .1s,translate .3s .1s;display:block;rotate:45deg}.checkbox:focus-visible{outline:2px solid var(--input-color,currentColor);outline-offset:2px}.checkbox:checked,.checkbox[aria-checked=true]{background-color:var(--input-color,#0000);box-shadow:0 0 #0000 inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px oklch(0% 0 0 / calc(var(--depth) * .1))}:is(.checkbox:checked,.checkbox[aria-checked=true]):before{clip-path:polygon(20% 100%,20% 80%,50% 80%,50% 0%,70% 0%,70% 100%);opacity:1}@media (forced-colors:active){:is(.checkbox:checked,.checkbox[aria-checked=true]):before{--tw-content:"✔︎";clip-path:none;background-color:#0000;rotate:0deg}}@media print{:is(.checkbox:checked,.checkbox[aria-checked=true]):before{--tw-content:"✔︎";clip-path:none;background-color:#0000;rotate:0deg}}.checkbox:indeterminate{background-color:var(--input-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.checkbox:indeterminate{background-color:var(--input-color,color-mix(in oklab, var(--color-base-content) 20%, #0000))}}.checkbox:indeterminate:before{opacity:1;clip-path:polygon(20% 100%,20% 80%,50% 80%,50% 80%,80% 80%,80% 100%);translate:0 -35%;rotate:0deg}.radio{cursor:pointer;appearance:none;vertical-align:middle;border:var(--border) solid var(--input-color,currentColor);border-radius:3.40282e38px;flex-shrink:0;padding:.25rem;display:inline-block;position:relative}@supports (color:color-mix(in lab, red, red)){.radio{border:var(--border) solid var(--input-color,color-mix(in srgb, currentColor 20%, #0000))}}.radio{box-shadow:0 1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset;--size:calc(var(--size-selector,.25rem) * 6);width:var(--size);height:var(--size);color:var(--input-color,currentColor)}.radio:before{--tw-content:"";content:var(--tw-content);background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--fx-noise);border-radius:3.40282e38px;width:100%;height:100%;display:block}.radio:focus-visible{outline:2px solid}.radio:checked,.radio[aria-checked=true]{background-color:var(--color-base-100);border-color:currentColor}@media (prefers-reduced-motion:no-preference){.radio:checked,.radio[aria-checked=true]{animation:.2s ease-out radio}}:is(.radio:checked,.radio[aria-checked=true]):before{box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px oklch(0% 0 0 / calc(var(--depth) * .1));background-color:currentColor}@media (forced-colors:active){:is(.radio:checked,.radio[aria-checked=true]):before{outline-style:var(--tw-outline-style);outline-offset:calc(1px * -1);outline-width:1px}}@media print{:is(.radio:checked,.radio[aria-checked=true]):before{outline-offset:-1rem;outline:.25rem solid}}.rating{vertical-align:middle;display:inline-flex;position:relative}.rating input{appearance:none;border:none}.rating :where(*){background-color:var(--color-base-content);opacity:.2;border-radius:0;width:1.5rem;height:1.5rem}@media (prefers-reduced-motion:no-preference){.rating :where(*){animation:.25s ease-out rating}}.rating :where(*):is(input){cursor:pointer}.rating .rating-hidden{background-color:#0000;width:.5rem}.rating input[type=radio]:checked{background-image:none}.rating :checked,.rating [aria-checked=true],.rating [aria-current=true],.rating :has(~:checked,~[aria-checked=true],~[aria-current=true]){opacity:1}.rating :focus-visible{scale:1.1}@media (prefers-reduced-motion:no-preference){.rating :focus-visible{transition:scale .2s ease-out}}.rating :active:focus{animation:none;scale:1.1}.navbar{align-items:center;width:100%;min-height:4rem;padding:.5rem;display:flex}.drawer{grid-auto-columns:max-content auto;width:100%;display:grid;position:relative}.card{border-radius:var(--radius-box);outline-offset:2px;outline:0 solid #0000;flex-direction:column;transition:outline .2s ease-in-out;display:flex;position:relative}.card:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.card:focus{outline-offset:2px;outline:2px solid #0000}}.card:focus-visible{outline-color:currentColor}.card :where(figure:first-child){border-start-start-radius:inherit;border-start-end-radius:inherit;border-end-end-radius:unset;border-end-start-radius:unset;overflow:hidden}.card :where(figure:last-child){border-start-start-radius:unset;border-start-end-radius:unset;border-end-end-radius:inherit;border-end-start-radius:inherit;overflow:hidden}.card figure{justify-content:center;align-items:center;display:flex}.card:has(>input:is(input[type=checkbox],input[type=radio])){cursor:pointer;-webkit-user-select:none;user-select:none}.card:has(>:checked){outline:2px solid}.stats{border-radius:var(--radius-box);grid-auto-flow:column;display:inline-grid;position:relative;overflow-x:auto}.progress{appearance:none;border-radius:var(--radius-box);background-color:currentColor;width:100%;height:.5rem;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.progress{background-color:color-mix(in oklab, currentcolor 20%, transparent)}}.progress{color:var(--color-base-content)}.progress:indeterminate{background-image:repeating-linear-gradient(90deg,currentColor -1% 10%,#0000 10% 90%);background-position-x:15%;background-size:200%}@media (prefers-reduced-motion:no-preference){.progress:indeterminate{animation:5s ease-in-out infinite progress}}@supports ((-moz-appearance:none)){.progress:indeterminate::-moz-progress-bar{background-color:#0000}@media (prefers-reduced-motion:no-preference){.progress:indeterminate::-moz-progress-bar{background-image:repeating-linear-gradient(90deg,currentColor -1% 10%,#0000 10% 90%);background-position-x:15%;background-size:200%;animation:5s ease-in-out infinite progress}}.progress::-moz-progress-bar{border-radius:var(--radius-box);background-color:currentColor}}@supports ((-webkit-appearance:none)){.progress::-webkit-progress-bar{border-radius:var(--radius-box);background-color:#0000}.progress::-webkit-progress-value{border-radius:var(--radius-box);background-color:currentColor}}.textarea{border:var(--border) solid #0000;appearance:none;border-radius:var(--radius-field);background-color:var(--color-base-100);vertical-align:middle;width:clamp(3rem,20rem,100%);min-height:5rem;font-size:max(var(--font-size,.875rem), .875rem);touch-action:manipulation;border-color:var(--input-color);box-shadow:0 1px var(--input-color) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset;flex-shrink:1;padding-block:.5rem;padding-inline:.75rem}@supports (color:color-mix(in lab, red, red)){.textarea{box-shadow:0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset}}.textarea{--input-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.textarea{--input-color:color-mix(in oklab, var(--color-base-content) 20%, #0000)}}.textarea textarea{appearance:none;background-color:#0000;border:none}.textarea textarea:focus,.textarea textarea:focus-within{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.textarea textarea:focus,.textarea textarea:focus-within{outline-offset:2px;outline:2px solid #0000}}.textarea:focus,.textarea:focus-within{--input-color:var(--color-base-content);box-shadow:0 1px var(--input-color)}@supports (color:color-mix(in lab, red, red)){.textarea:focus,.textarea:focus-within{box-shadow:0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000)}}.textarea:focus,.textarea:focus-within{outline:2px solid var(--input-color);outline-offset:2px;isolation:isolate}@media (pointer:coarse){@supports (-webkit-touch-callout:none){.textarea:focus,.textarea:focus-within{--font-size:1rem}}}.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]){cursor:not-allowed;border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]){color:color-mix(in oklab, var(--color-base-content) 40%, transparent)}}:is(.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]))::placeholder{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:is(.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]))::placeholder{color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]){box-shadow:none}.textarea:has(>textarea[disabled])>textarea[disabled]{cursor:not-allowed}.stack{grid-template-rows:3px 4px 1fr 4px 3px;grid-template-columns:3px 4px 1fr 4px 3px;display:inline-grid}.stack>*{width:100%;height:100%}.stack>:nth-child(n+2){opacity:.7;width:100%}.stack>:nth-child(2){z-index:2;opacity:.9}.stack>:first-child{z-index:3;width:100%}.modal-backdrop{color:#0000;z-index:-1;grid-row-start:1;grid-column-start:1;place-self:stretch stretch;display:grid}.modal-backdrop button{cursor:pointer}.tab-content{order:var(--tabcontent-order);--tabcontent-radius-ss:var(--radius-box);--tabcontent-radius-se:var(--radius-box);--tabcontent-radius-es:var(--radius-box);--tabcontent-radius-ee:var(--radius-box);--tabcontent-order:1;width:100%;height:calc(100% - var(--tab-height) + var(--border));margin:var(--tabcontent-margin);border-color:#0000;border-width:var(--border);border-start-start-radius:var(--tabcontent-radius-ss);border-start-end-radius:var(--tabcontent-radius-se);border-end-end-radius:var(--tabcontent-radius-ee);border-end-start-radius:var(--tabcontent-radius-es);display:none}.timeline-end{grid-area:3/1/4/4;place-self:flex-start center;margin:.25rem}.timeline-start{grid-area:1/1/2/4;place-self:flex-end center;margin:.25rem}.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/docs/sigpro-ui.min.js b/docs/sigpro-ui.min.js index 6d94eb7..066bccb 100644 --- a/docs/sigpro-ui.min.js +++ b/docs/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/sigpro.js b/docs/sigpro.js new file mode 100644 index 0000000..9372c24 --- /dev/null +++ b/docs/sigpro.js @@ -0,0 +1,250 @@ +const isFunc = f => typeof f == "function"; +const isObj = o => o && typeof o == "object"; +const isArr = Array.isArray; +const doc = typeof document < "u" ? document : null; +const txt = s => doc.createTextNode(s == null ? "" : String(s)); +const toNd = n => n?._rt ? n._cnt : (n instanceof Node ? n : txt(n)); +const Fragment = p => p.children; +const val = v => isFunc(v) ? v() : v; + +let aEff = null, aOwn = null, isFlushing = 0, bDepth = 0; +const eQ = new Set(), MOUNTED = new WeakMap(); + +const SVG_NS = "http://www.w3.org/2000/svg", XLINK = "http://www.w3.org/1999/xlink"; +const SVG_TAGS = new Set("svg,path,circle,rect,line,polyline,polygon,g,defs,text,textPath,tspan,use,symbol,image,marker,ellipse".split(",")); +const DANG_ATTR = new Set(["src","href","formaction","action","background","code","archive"]); + +const clr = s => { if(s){ s.forEach(f => f()); s.clear(); } }; +const dispose = e => { + if (!e || e._x) return; + 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 (c._d) { c._d.forEach(d => d.delete(c)); c._d.clear(); } + } +}; + +const onUnmount = f => aOwn && (aOwn._c ||= new Set()).add(f); +const untrack = f => { let p = aEff; aEff = null; try { return f() } finally { aEff = p } }; + +const createEffect = (f, isC = 0) => { + const e = () => { + if (e._x) return; + if (e._d) e._d.forEach(s => s.delete(e)); + clr(e._c); + let pE = aEff, pO = aOwn; + aEff = aOwn = e; + try { return e._res = f(); } + catch (err) { console.error("[SigPro]", err); } + finally { aEff = pE; aOwn = pO; } + }; + 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 ||= new Set()).add(e); + return e; +}; + +const flush = () => { + if (isFlushing) return; + isFlushing = 1; + let q = [...eQ].sort((a, b) => a._dp - b._dp); + eQ.clear(); + for (let e of q) if (!e._x) e(); + isFlushing = 0; +}; + +const batch = f => { + bDepth++; + try { return f() } finally { if (!--bDepth && eQ.size && !isFlushing) flush() } +}; + +const trkUpd = (s, trg = 0) => { + if (!trg && aEff && !aEff._x) { + s.add(aEff); + (aEff._d ||= 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._iC) { e._dt = 1; if (e._sb) trkUpd(e._sb, 1); } + else { eQ.add(e); q = 1; } + } + if (q && !isFlushing && !bDepth) queueMicrotask(flush); + } +}; + +const $ = (v, k = null) => { + let s = new Set(); + if (isFunc(v)) { + let c, cp = () => { + if (cp._dt) { + let p = aEff; aEff = cp; + try { let n = v(); if (!Object.is(c, n)) { c = n; trkUpd(s, 1); } } + finally { aEff = p; } + cp._dt = 0; + } + trkUpd(s); return c; + }; + cp._iC = cp._dt = 1; cp._sb = s; cp._d = null; cp._x = 0; + return cp; + } + if (k) try { v = JSON.parse(localStorage.getItem(k)) ?? v } catch(e){} + return (...a) => { + if (a.length) { + let n = isFunc(a[0]) ? a[0](v) : a[0]; + if (!Object.is(v, n)) { v = n; if (k) localStorage.setItem(k, JSON.stringify(v)); trkUpd(s, 1); } + } + trkUpd(s); return v; + }; +}; + +const watch = (src, cb) => { + let e = createEffect(cb ? () => { let v = isArr(src) ? src.map(s=>s()) : src(); untrack(() => cb(v)) } : src); + e(); return () => dispose(e); +}; + +const clnNd = n => { + if (!n) return; + clr(n._c); + if (n._oE) dispose(n._oE); + if (n.childNodes) n.childNodes.forEach(clnNd); +}; + +const valAtt = (k, v) => (v == null || v === false) ? null : + (DANG_ATTR.has(k) || k.startsWith("on")) && /^\s*(javascript|data|vbscript):/i.test(String(v)) ? '#' : v; + +const h = (tag, prp = {}, ch = []) => { + if (prp instanceof Node || isArr(prp) || !isObj(prp)) { ch = prp; prp = {}; } + + if (isFunc(tag)) { + let e = createEffect(() => e._res = tag(prp, { children: ch, emit: (ev, ...a) => prp[`on${ev[0].toUpperCase()}${ev.slice(1)}`]?.(...a) })); + e(); + if (e._res == null) return null; + 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 || new Set(); n._oE = e; } }; + isArr(nd) ? nd.forEach(att) : att(nd); + return nd; + } + + let isS = SVG_TAGS.has(tag), el = isS ? doc.createElementNS(SVG_NS, tag) : doc.createElement(tag); + el._c = new Set(); + + for (let k in prp) { + let v = prp[k]; + if (k === "ref") { isFunc(v) ? v(el) : (v.current = el); continue; } + 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")) { + let ev = k.slice(2).toLowerCase(); el.addEventListener(ev, v); + let off = () => el.removeEventListener(ev, v); el._c.add(off); onUnmount(off); + } else if (isFunc(v)) { + let e = createEffect(() => { + let r = valAtt(k, v()); + if (k === "class") el.className = r || ""; + else if (r == null) el.removeAttribute(k); + else if (k === "style" && typeof r == "string") el.setAttribute("style", r); + else if (k in el && !isS) el[k] = r; + else el.setAttribute(k, r === true ? "" : r); + }); + e(); el._c.add(() => dispose(e)); onUnmount(() => dispose(e)); + if (/^(INPUT|TEXTAREA|SELECT)$/.test(el.tagName) && (k === "value" || k === "checked")) { + el.addEventListener(k === "checked" ? "change" : "input", ev => v(ev.target[k])); + } + } else { + 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, r === true ? "" : r); + } + } + } + + const app = c => { + if (isArr(c)) return c.forEach(app); + if (isFunc(c)) { + 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(); }); + 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; + } + cur = nxt; + }); + e(); el._c.add(() => dispose(e)); onUnmount(() => dispose(e)); + } else { + let nd = toNd(c); el.appendChild(nd); + if (nd._m) nd._m.forEach(f => f()); + } + }; + app(ch); return el; +}; + +const render = rFn => { + let c = 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 (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 { pRes(rFn({ onCleanup: f => c.add(f) })); } finally { aOwn = pO; aEff = pE; } + return { _rt: 1, _cnt: cnt, _del: () => { clr(c); clnNd(cnt); cnt.remove(); } }; +}; + +const when = (c, Y, N = null) => { + let anc = txt(""), rt = h("div", { style: "display:contents" }, [anc]), v; + watch(() => !!val(c), s => { + if (v) { v._del(); v = null; } + let ct = s ? Y : N; + if (ct) { v = render(() => val(ct)); rt.insertBefore(v._cnt, anc); } + }); + onUnmount(() => v?._del()); return rt; +}; + +const each = (s, fn, kF) => { + let anc = txt(""), rt = h("div", { style: "display:contents" }, [anc]), cch = new Map(); + watch(() => val(s) || [], it => { + let nCc = new Map(), nOd = []; + for (let i = 0, l = (it||[]).length; i < l; i++) { + let t = it[i], k = kF ? (t?.[kF] ?? i) : (t?.id ?? i), v = cch.get(k); + if (!v) v = render(() => fn(t, i)); else cch.delete(k); + nCc.set(k, v); nOd.push(v); + } + cch.forEach(v => v._del()); + let ref = anc; + for (let i = nOd.length - 1; i >= 0; i--) { + let nd = nOd[i]._cnt; + if (nd.nextSibling !== ref) rt.insertBefore(nd, ref); ref = nd; + } + cch = nCc; + }); + return rt; +}; + +const mount = (c, tgt) => { + let t = typeof tgt == "string" ? doc.querySelector(tgt) : tgt; + if (!t) return; + 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 < "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] = (...args) => h(t, ...args)); +} + +export { $, watch, batch, h, Fragment, render, mount, when, each, onUnmount, val, isArr, isFunc, isObj }; \ No newline at end of file diff --git a/package.json b/package.json index 7d1c570..8e7effd 100644 --- a/package.json +++ b/package.json @@ -19,9 +19,6 @@ "script": "./dist/sigpro-ui.min.js", "types": "./index.d.ts" }, - "./editor": { - "import": "./dist/sigpro-ui.editor.esm.js" - }, "./css": "./dist/sigpro-ui.min.css" }, "files": [ @@ -48,19 +45,17 @@ "build:js:iife:min": "esbuild ./src/build_umd.js --bundle --outfile=./dist/sigpro-ui.min.js --format=iife --global-name=spui --minify --external:sigpro=window", "build:js:esm": "bun build ./src/build_esm.js --bundle --outfile=./dist/sigpro-ui.esm.js --format=esm --external sigpro", "build:js:esm:min": "bun build ./src/build_esm.js --bundle --outfile=./dist/sigpro-ui.esm.min.js --format=esm --minify --external sigpro", - "build:js:editor:esm": "bun build ./src/build_editor.js --bundle --outfile=./dist/sigpro-ui.editor.esm.js --format=esm --external sigpro", - "build:js:editor:esm:min": "bun build ./src/build_editor.js --bundle --outfile=./dist/sigpro-ui.editor.esm.min.js --format=esm --minify --external sigpro", "copy:docs": "cp dist/sigpro-ui.min.css dist/sigpro-ui.min.js docs/", - "build": "bun run clean && bun run build:css && bun run build:cssmin && bun run build:js:iife && bun run build:js:iife:min && bun run build:js:esm && bun run build:js:esm:min && bun run build:js:editor:esm && bun run build:js:editor:esm:min && bun run copy:docs", + "build": "bun run clean && bun run build:css && bun run build:cssmin && bun run build:js:iife && bun run build:js:iife:min && bun run build:js:esm && bun run build:js:esm:min && bun run copy:docs", "docs": "bun x serve docs" }, "devDependencies": { - "@iconify/json": "^2.2.465", + "@iconify/json": "^2.2.471", "@iconify/tailwind4": "^1.2.3", - "@tailwindcss/cli": "^4.2.4", + "@tailwindcss/cli": "^4.3.0", "daisyui": "^5.5.19", "esbuild": "^0.28.0", - "tailwindcss": "^4.2.4" + "tailwindcss": "^4.3.0" }, "dependencies": { "sigpro": "git+http://gitea:3000/natxocc/sigpro" diff --git a/src/build_editor.js b/src/build_editor.js deleted file mode 100644 index 6b67494..0000000 --- a/src/build_editor.js +++ /dev/null @@ -1 +0,0 @@ -export * from './editor.js' \ No newline at end of file diff --git a/src/build_umd.js b/src/build_umd.js index ab7ec93..0185a35 100644 --- a/src/build_umd.js +++ b/src/build_umd.js @@ -1,6 +1,5 @@ import * as All from './sigpro-ui.js'; -import * as Edt from './editor.js'; if (typeof window !== "undefined") { - Object.assign(window, All, Edt) + Object.assign(window, All) } \ No newline at end of file diff --git a/src/editor.js b/src/editor.js deleted file mode 100644 index e47c845..0000000 --- a/src/editor.js +++ /dev/null @@ -1,189 +0,0 @@ -import { $, isFunc, h } from "sigpro" -import { val, cls } from "./sigpro-ui.js" - -export const 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 = ["😀", "😊", "😉", "🧐", "😮", "🤔", "😅", "😂", "😍", "😘", "🥰", "👍", "👎", "👌", "🤝", "🤞", "👋", "👏", "🙌", "🙏", "💪", "☝️", "👇", "👈", "👉", "🖕", "✅", "⚠️", "🚀", "📢", "✉️", "❤️"] - 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, val = null) => { - if (!editorRef) return - editorRef.focus() - if (savedRange) restoreSelection() - document.execCommand(cmd, false, val) - 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, val = 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 === val) 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 input = document.createElement('input'); input.type = 'file'; input.onchange = (e) => handleUpload(e.target.files[0]); input.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))) - ]), - - 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()}`) - ]) - ]) -}; \ No newline at end of file diff --git a/src/sigpro-ui.css b/src/sigpro-ui.css index 562a8b6..33a8f9a 100644 --- a/src/sigpro-ui.css +++ b/src/sigpro-ui.css @@ -94,6 +94,7 @@ font-size: 1.1rem; } +/* Solo para la Demo de docsify */ .markdown-section progress.progress { all: revert-layer; } diff --git a/src/sigpro-ui.js b/src/sigpro-ui.js index 1e2d282..2ee37bd 100644 --- a/src/sigpro-ui.js +++ b/src/sigpro-ui.js @@ -1,527 +1,219 @@ -import { $, watch, h, mount, when, each, isFunc } from "sigpro" -export const val = val => typeof val === "function" ? val() : val; +import { $, h, mount, val, isFunc } from "sigpro" + export const getBy = (item, field = 'label') => (item && typeof item === 'object') ? item[field] : item; -export const cls = (...classes) => classes.filter(Boolean).join(' ').trim(); export const 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)); }; -export const rand = (r) => `${r}-${Math.random().toString(36).slice(2, 9)}` export const hide = () => document.activeElement?.blur() -const c1 = (tag, cls) => (p) => h(tag, { ...p, class: `${cls} ${p?.class || ''}`.trim() }) -const c2 = (tag, cls) => (p, c) => h(tag, { ...p, class: `${cls} ${p?.class || ''}`.trim() }, c) -const ct = (tag, cls, type) => (p) => h(tag, { type, ...p, class: `${cls} ${p?.class || ''}`.trim() }) -export const Alert = c2("div", "alert") + +export const Accordion = (p, c) => h('div', { ...p, class: `${'collapse'} ${p?.class || ''}`.trim() }, c) +export const AccordionRadio = (p) => h('input', { type: 'radio', name: p.name, checked: p.checked || undefined, class: p.class }) +export const AccordionTitle = (p, c) => h('div', { ...p, class: `${'collapse-title'} ${p?.class || ''}`.trim() }, c) +export const AccordionContent = (p, c) => h('div', { ...p, class: `${'collapse-content'} ${p?.class || ''}`.trim() }, c) +export const Alert = (p, c) => h('div', { ...p, class: `${'alert'} ${p?.class || ''}`.trim() }, c) export const Avatar = (p, c) => h("div", { class: "avatar" }, h('div', { class: p.class }, c)) -export const AvatarGroup = c2("div", "avatar-group -space-x-6") -export const Badge = c2("span", "badge") -export const Breadcrumbs = c2("div", "breadcrumbs") -export const Button = c2("button", "btn") -export const Card = c2("div", "card") -export const CardTitle = c2("div", "card-title") -export const CardBody = c2("div", "card-body") -export const CardActions = c2("div", "card-actions") -export const Carousel = c2("div", "carousel") -export const CarouselItem = c2("div", "carousel-item") -export const Chat = c2("div", "chat") -export const ChatBubble = c2("div", "chat-bubble") -export const ChatFooter = c2("div", "chat-footer") -export const ChatHeader = c2("div", "chat-header") -export const 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)) -export const Checkbox = ct("input", "checkbox", "checkbox") -export const Drawer = c2("div", "drawer") -export const DrawerToggle = (p) => input({ ...p, type: 'checkbox', class: 'drawer-toggle', checked: () => val(p.checked), onchange: (e) => isFunc(p.checked) && p.checked(e.target.checked) }) -export const DrawerContent = c2("div", "drawer-content") -export const DrawerSide = c2("div", "drawer-side") -export const DrawerOverlay = (p) => label({ ...p, for: p.for, class: cls('drawer-overlay', p.class) }) -export const Divider = c1("div", "divider") -export const Dropdown = c2("div", "dropdown") -export const DropdownButton = (p, c) => (h('div', { ...p, tabindex: '0', role: 'button', class: cls('btn', p.class) }, c)) -export const DropdownContent = (p, c) => (h('div', { ...p, tabindex: '0', class: cls('dropdown-content', p.class) }, c)) -export const Fab = (p, c) => h("div", { class: "fab" }, [h('div', { tabindex: "0", role: "button", class: cls('btn', p.class) }, Icon({},p.icon)), c]) -export const Fieldset = (p, c) => h("fieldset", { class: cls("fieldset", p.class) }, [h("legend", { class: "fieldset-legend" }, p.label), c]) -export const Icon = (p, c) => h("span", { ...p, class: cls(c, p.class) }) -export const 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]) -export const Kbd = c2("kbd", "kbd") -export const List = c2("ul", "list") -export const 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)) -export const Loading = c2("span", "loading loading-spinner") -export const Navbar = c2("div", "navbar") -export const Progress = c1("progress", "progress") -export const Radial = (p, c) => h("div", { class: cls("radial-progress", p.class), style: `--value:${val(p.value) ?? 0};`, role: "progressbar", "aria-valuenow": p.value }, c) -export const Radio = ct("input", "radio", "radio") -export const Range = ct("input", "range", "range") -export const Rating = c2("div", "rating") -export const 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) })) -export const Skeleton = c1("div", "skeleton") -export const SkeletonText = c1("span", "skeleton skeleton-text") -export const Stack = c2("div", "stack") -export const Stats = c2("div", "stats shadow") -export const Steps = c2("ul", "steps") -export const Step = (p, c) => h("li", { ...p, class: cls("step", p.class), "data-content": p.dataContent }, c) -export const Swap = c2("label", "swap") -export const SwapToggle = (p) => h('input', { type: 'checkbox', checked: () => val(p.value), onchange: (e) => isFunc(p.value) && p.value(e.target.checked), class: p.class }) -export const SwapOn = c2("div", "swap-on") -export const SwapOff = c2("div", "swap-off") -export const Table = c2("table", "table") -export const Textarea = c1("textarea", "textarea") -export const Textrotate = (p, c) => h('span', { ...p, class: cls('text-rotate', p.class) }, h('span', {}, c)) -export const Timeline = c2("ul", "timeline") -export const Toggle = ct("input", "toggle", "checkbox") -export const Tooltip = (p, c) => h("div", { ...p, class: cls("tooltip", p.class), "data-tip": p.tip }, c) -export const 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, - ]); - }); -}; -export const 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 - ]) - ) - ]) -}; -export const 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') - ]) - ]) - 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]' })) - ]) - ]), - h('div', { class: 'grid grid-cols-7 gap-1', onmouseleave: () => hoverDate(null) }, [ - ...['L', 'M', 'X', 'J', 'V', 'S', 'D'].map(d => h('div', { class: 'text-[10px] opacity-40 font-bold text-center' }, d)), - () => { - const 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', { - type: 'button', - class: () => { - const v = current(), h = 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 && h) inRange = (ds > start && ds <= h) || (ds < start && ds >= h) - 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 - } - ]), - 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: h => startHour(h) }), HourSlider({ value: endHour, onChange: h => endHour(h) })]) - : HourSlider({ value: startHour, onChange: h => startHour(h) }) - ) : null - ]) -}; -export const 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) } }) - ) - ]) -}; -export const 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() - } +export const AvatarGroup = (p, c) => h('div', { ...p, class: `${'avatar-group -space-x-6'} ${p?.class || ''}`.trim() }, c) +export const Badge = (p, c) => h('span', { ...p, class: `${'badge'} ${p?.class || ''}`.trim() }, c) +export const Breadcrumbs = (p, c) => h('div', { ...p, class: `${'breadcrumbs'} ${p?.class || ''}`.trim() }, c) +export const Button = (p, c) => h('button', { ...p, class: `${'btn'} ${p?.class || ''}`.trim() }, c) +export const Calendar = p => { + 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-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}`, + 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: () => hv(null) }, [ + ...'LMXJVSD'.split('').map(l => h('div', { class: 'text-[10px] opacity-40 font-bold text-center' }, l)), + () => { + 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 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) } - })) - )) -}; -export const 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 = (val) => { - if (isFunc(p.value)) p.value(val) - else p.onChange?.(val) - if (!rangeMode() || val?.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("") // Forzar limpieza visual inmediata - } - }, h('span', { class: 'icon-[lucide--x] opacity-50' })) : null - ]), - DropdownContent({ class: 'p-0' }, - Calendar({ value: p.value, range: rangeMode(), hour: p.hour, onChange: handleChange }) - ) - ]) -}; -export const 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' }, '📄'), - 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]' })) - ]) - ) - ) - ) - ]) -}; -export const Input = (p) => { - const { label, 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", {}, label) : null, - h("label", { pattern: pattern, class: () => cls('input validator', p.class) }, - [ - label && !float ? h('span', { class: 'label' }, label) : null, - left ?? null, - h('input', { ...rest, type: inputType, class: 'grow', pattern: pattern, placeholder: placeholder || label || ' ', value: 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, - ]); -}; -export const 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) - ) -}; -export const 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") - ]) - ]); -}; -export const Select = (p, c) => { - if (c !== undefined) return h('select', { class: cls('select', p.class), ...p }, c) - const { label, 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', {}, label) : null, - h('label', { class: cls('select', rest.class) }, [ - (!float && label) ? h('span', { class: 'label' }, label) : null, - left ?? null, - h('select', { - value: () => val(value), - onchange: (e) => isFunc(value) ? value(e.target.value) : rest.onchange?.(e) - }, - each(opts, (item) => { - const val = getBy(item, item.value !== undefined ? 'value' : undefined) - const lab = getBy(item, 'label') - return h('option', { value: val, disabled: item.disabled || undefined }, lab) - }) - ), - right ?? null - ]), - hint ? h('div', { class: 'validator-hint' }, hint) : null - ]) -}; -export const 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 -]); -export const 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) -}; -export const Tabs = (p, c) => { - if (!p.items) { - const { class: className, ...rest } = p - return h('div', { ...rest, class: cls('tabs', className) }, c) - } - 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] + 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 flex gap-4' }, G() ? [I({ v: sh, on: sh }), I({ v: eh, on: eh })] : [I({ v: sh, on: sh })]) + ]) +} +export const Card = (p, c) => h('div', { ...p, class: `${'card'} ${p?.class || ''}`.trim() }, c) +export const CardTitle = (p, c) => h('div', { ...p, class: `${'card-title'} ${p?.class || ''}`.trim() }, c) +export const CardBody = (p, c) => h('div', { ...p, class: `${'card-body'} ${p?.class || ''}`.trim() }, c) +export const CardActions = (p, c) => h('div', { ...p, class: `${'card-actions'} ${p?.class || ''}`.trim() }, c) +export const Carousel = (p, c) => h('div', { ...p, class: `${'carousel'} ${p?.class || ''}`.trim() }, c) +export const CarouselItem = (p, c) => h('div', { ...p, class: `${'carousel-item'} ${p?.class || ''}`.trim() }, c) +export const Chat = (p, c) => h('div', { ...p, class: `${'chat'} ${p?.class || ''}`.trim() }, c) +export const ChatBubble = (p, c) => h('div', { ...p, class: `${'chat-bubble'} ${p?.class || ''}`.trim() }, c) +export const ChatFooter = (p, c) => h('div', { ...p, class: `${'chat-footer'} ${p?.class || ''}`.trim() }, c) +export const ChatHeader = (p, c) => h('div', { ...p, class: `${'chat-header'} ${p?.class || ''}`.trim() }, c) +export const 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)) +export const Checkbox = (p) => h('input', { type: 'checkbox', ...p, class: `${'checkbox'} ${p?.class || ''}`.trim() }) +export const ColorPalette = p => { + 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: 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' : ''}` + }))) + ); }; -export const 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; -}; \ No newline at end of file +export const Combo = (p, c) => Dropdown({}, [div({ tabindex: '0', role: 'button' }, c), DropdownContent({ class: p?.class }, p.content)]) +export const Drawer = (p, c) => h('div', { ...p, class: `${'drawer'} ${p?.class || ''}`.trim() }, c) +export const DrawerToggle = (p) => input({ ...p, type: 'checkbox', class: 'drawer-toggle', checked: () => val(p.checked), onchange: (e) => isFunc(p.checked) && p.checked(e.target.checked) }) +export const DrawerContent = (p, c) => h('div', { ...p, class: `${'drawer-content'} ${p?.class || ''}`.trim() }, c) +export const DrawerSide = (p, c) => h('div', { ...p, class: `${'drawer-side'} ${p?.class || ''}`.trim() }, c) +export const DrawerOverlay = (p) => label({ ...p, for: p.for, class: `${'drawer-overlay'} ${p?.class || ''}`.trim() }) +export const Divider = (p) => h('div', { ...p, class: `${'divider'} ${p?.class || ''}`.trim() }) +export const Dropdown = (p, c) => h('div', { ...p, class: `${'dropdown'} ${p?.class || ''}`.trim() }, c) +export const DropdownButton = (p, c) => (h('div', { ...p, tabindex: '0', role: 'button', class: `${'btn'} ${p?.class || ''}`.trim() }, c)) +export const DropdownContent = (p, c) => (h('div', { ...p, tabindex: '0', class: `${'dropdown-content'} ${p?.class || ''}`.trim() }, c)) +export const Fab = (p, c) => h("div", { class: "fab" }, [h('div', { tabindex: "0", role: "button", class: `${'btn'} ${p?.class || ''}`.trim() }, Icon({}, p.icon)), c]) +export const Fieldset = (p, c) => h("fieldset", { class: `${'fieldset'} ${p?.class || ''}`.trim() }, [h("legend", { class: "fieldset-legend" }, p.label), c]) +export const 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) } +}, c) +export const FileInput = (p) => h('input', { type: 'file', multiple: true, accept: p.accept || '*', class: `${'file-input'} ${p?.class || ''}`.trim(), onchange: (e) => p.onchange?.(e.target.files) }) +export const 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', {}, '📄'), + 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]' }) + ) + ]) + ) +) +export const FileError = (p) => h('div', { class: `text-[10px] text-error mt-1 px-1 ${p?.class || ''}` }, p.message) +export const Filter = (s, i, o, k) => o($(() => val(i).filter(i => String(k ? i[k] : i).toLowerCase().includes(val(s).toLowerCase())))) +export const Icon = (p, c) => h("span", { ...p, class: `${c ?? ''} ${p?.class || ''}`.trim() }) +export const 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]) +export const Input = (p) => h('input', { ...p, class: `${'input'} ${p?.class || ''}`.trim() }) +export const 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]'))]) + ] +} +export const InputHint = (p, c) => h('div', { ...p, class: `${'validator-hint'} ${p?.class || ''}`.trim() }, c) +export const Kbd = (p, c) => h('kbd', { ...p, class: `${'kbd'} ${p?.class || ''}`.trim() }, c) +export const Label = (p, c) => h('span', { ...p, class: `${'label'} ${p?.class || ''}`.trim() }, c) +export const LabelFloating = (p, c) => h('label', { ...p, class: `${'floating-label'} ${p?.class || ''}`.trim() }, c) +export const LabelInput = (p, c) => h('label', { ...p, class: `${'input'} ${p?.class || ''}`.trim() }, c) +export const LabelSelect = (p, c) => h('label', { ...p, class: `${'select'} ${p?.class || ''}`.trim() }, c) +export const List = (p, c) => h('ul', { ...p, class: `${'list'} ${p?.class || ''}`.trim() }, c) +export const 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)) +export const Menu = (p, c) => ul({ ...p, class: `${'menu'} ${p?.class || ''}`.trim() }, c) +export const MenuTitle = (p, c) => li({ ...p, class: `${'menu-title'} ${p?.class || ''}`.trim() }, c) +export const MenuItem = (p) => li({}, a({ onmousedown: (e) => e.preventDefault(), class: p?.class || '', onclick: p.onclick }, p.label)) +export const Modal = (p, c) => h('dialog', { ...p, class: `${'modal'} ${p?.class || ''}`.trim() }, c) +export const ModalBox = (p, c) => h('div', { ...p, class: `${'modal-box'} ${p?.class || ''}`.trim() }, c) +export const ModalAction = (p, c) => h('div', { ...p, class: `${'modal-action'} ${p?.class || ''}`.trim() }, c) +export const ModalBackdrop = (p) => h('form', { method: 'dialog', class: 'modal-backdrop' }, [h('button', {}, 'close')]) +export const 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() }, '✕')]) +export const Loading = (p, c) => h('span', { ...p, class: `${'loading loading-spinner'} ${p?.class || ''}`.trim() }, c) +export const Navbar = (p, c) => h('div', { ...p, class: `${'navbar'} ${p?.class || ''}`.trim() }, c) +export const Progress = (p) => h('progress', { ...p, class: `${'progress'} ${p?.class || ''}`.trim() }) +export const Radial = (p, c) => h("div", { class: `${'radial-progress'} ${p?.class || ''}`.trim(), style: `--value:${val(p.value) ?? 0};`, role: "progressbar", "aria-valuenow": p.value }, c) +export const Radio = (p) => h('input', { type: 'radio', ...p, class: `${'radio'} ${p?.class || ''}`.trim() }) +export const Range = (p) => h('input', { type: 'range', ...p, class: `${'range'} ${p?.class || ''}`.trim() }) +export const Rating = (p, c) => h('div', { ...p, class: `${'rating'} ${p?.class || ''}`.trim() }, c) +export const 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) })) +export const Select = (p, c) => h('select', { ...p, class: `${'select'} ${p?.class || ''}`.trim() }, c) +export const SelectOption = (p, c) => h('option', { ...p, class: p?.class || '' }, c) +export const Skeleton = (p) => h('div', { ...p, class: `${'skeleton'} ${p?.class || ''}`.trim() }) +export const SkeletonText = (p) => h('span', { ...p, class: `${'skeleton skeleton-text'} ${p?.class || ''}`.trim() }) +export const Stack = (p, c) => h('div', { ...p, class: `${'stack'} ${p?.class || ''}`.trim() }, c) +export const Stats = (p, c) => h('div', { ...p, class: `${'stats shadow'} ${p?.class || ''}`.trim() }, c) +export const Stat = (p, c) => h('div', { ...p, class: `${'stat'} ${p?.class || ''}`.trim() }, c) +export const StatFigure = (p, c) => h('div', { ...p, class: `${'stat-figure'} ${p?.class || ''}`.trim() }, c) +export const StatTitle = (p, c) => h('div', { ...p, class: `${'stat-title'} ${p?.class || ''}`.trim() }, c) +export const StatValue = (p, c) => h('div', { ...p, class: `${'stat-value'} ${p?.class || ''}`.trim() }, c) +export const StatDesc = (p, c) => h('div', { ...p, class: `${'stat-desc'} ${p?.class || ''}`.trim() }, c) +export const Steps = (p, c) => h('ul', { ...p, class: `${'steps'} ${p?.class || ''}`.trim() }, c) +export const Step = (p, c) => h("li", { ...p, class: `${'step'} ${p?.class || ''}`.trim(), "data-content": p.dataContent }, c) +export const Swap = (p, c) => h('label', { ...p, class: `${'swap'} ${p?.class || ''}`.trim() }, c) +export const SwapToggle = (p) => h('input', { type: 'checkbox', checked: () => val(p.value), onchange: (e) => isFunc(p.value) && p.value(e.target.checked), class: p.class }) +export const SwapOn = (p, c) => h('div', { ...p, class: `${'swap-on'} ${p?.class || ''}`.trim() }, c) +export const SwapOff = (p, c) => h('div', { ...p, class: `${'swap-off'} ${p?.class || ''}`.trim() }, c) +export const Tabs = (p, c) => div({ ...p, class: `${'tabs'} ${p?.class || ''}`.trim() }, c) +export const 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 + ] +} +export const Table = (p, c) => h('table', { ...p, class: `${'table'} ${p?.class || ''}`.trim() }, c) +export const TableHead = (p, c) => h('thead', { ...p, class: p?.class || '' }, c) +export const TableBody = (p, c) => h('tbody', { ...p, class: p?.class || '' }, c) +export const TableFoot = (p, c) => h('tfoot', { ...p, class: p?.class || '' }, c) +export const TableRow = (p, c) => h('tr', { ...p, class: p?.class || '' }, c) +export const TableTh = (p, c) => h('th', { ...p, class: p?.class || '' }, c) +export const TableTd = (p, c) => h('td', { ...p, class: p?.class || '' }, c) +export const Textarea = (p) => h('textarea', { ...p, class: `${'textarea'} ${p?.class || ''}`.trim() }) +export const Textrotate = (p, c) => h('span', { ...p, class: `${'text-rotate'} ${p?.class || ''}`.trim() }, h('span', {}, c)) +export const Timeline = (p, c) => h('ul', { ...p, class: `${'timeline'} ${p?.class || ''}`.trim() }, c) +export const 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; +}; +export const Toggle = (p) => h('input', { type: 'checkbox', ...p, class: `${'toggle'} ${p?.class || ''}`.trim() }) +export const Tooltip = (p, c) => h("div", { ...p, class: `${'tooltip'} ${p?.class || ''}`.trim(), "data-tip": p.tip }, c) \ No newline at end of file diff --git a/src/tailwind-classes.js b/src/tailwind-classes.js index 416c1da..0114a62 100644 --- a/src/tailwind-classes.js +++ b/src/tailwind-classes.js @@ -132,15 +132,15 @@ const misc = [ 'tooltip-open' ] -// Unir todas las clases -const allClasses = [ - ...layout, ...icons, ...inputs, ...alerts, ...avatars, - ...badges, ...buttons, ...checkboxes, ...toggles, ...chats, - ...drawers, ...dropdowns, ...misc -] +// // Unir todas las clases +// const allClasses = [ +// ...layout, ...icons, ...inputs, ...alerts, ...avatars, +// ...badges, ...buttons, ...checkboxes, ...toggles, ...chats, +// ...drawers, ...dropdowns, ...misc +// ] -// Exportar para que Tailwind las detecte -export const tailwindClasses = allClasses.join(' ') +// // Exportar para que Tailwind las detecte +// export const tailwindClasses = allClasses.join(' ') -// También como array para posible uso en JS -export default allClasses \ No newline at end of file +// // También como array para posible uso en JS +// export default allClasses \ No newline at end of file