diff --git a/controlpanel/templatetags/ui.py b/controlpanel/templatetags/ui.py
index b7afef7..49cfafa 100644
--- a/controlpanel/templatetags/ui.py
+++ b/controlpanel/templatetags/ui.py
@@ -46,16 +46,40 @@ def as_alert(message):
return {"icon": icon, "title": message.extra_tags or title, "body": message.message, "css": css}
-@register.filter
-def daisy(field):
- """Render a bound form field with the right daisyUI classes."""
- widget = field.field.widget
- css = next((css for widget_type, css in WIDGET_CLASSES if isinstance(widget, widget_type)), DEFAULT_WIDGET_CLASS)
+#: Icon shown inside the field, by form field name. Anything unlisted gets none.
+FIELD_ICONS = {
+ "login": "mail",
+ "email": "mail",
+ "email2": "mail",
+ "oldpassword": "lock-keyhole",
+ "password": "lock-keyhole",
+ "password1": "lock-keyhole",
+ "password2": "lock-keyhole",
+ "code": "shield-check",
+}
- classes = [widget.attrs.get("class", ""), css]
- if field.errors:
- classes.append(f"{css.split()[0]}-error")
+
+@register.filter
+def field_icon(field):
+ return FIELD_ICONS.get(field.name, "")
+
+
+@register.filter
+def daisy(field, css=None):
+ """Render a bound form field with the right daisyUI classes.
+
+ Pass ``css`` to override them — the icon-in-field layout wraps the input in a
+ ``label.input``, and there the input itself must NOT carry the ``input`` class
+ (daisyUI styles the wrapper instead), so it is rendered with ``grow``. The error
+ state then belongs on the wrapper too, which is why an override skips it here.
+ """
+ widget = field.field.widget
+
+ if css is None:
+ css = next((css for widget_type, css in WIDGET_CLASSES if isinstance(widget, widget_type)), DEFAULT_WIDGET_CLASS)
+ if field.errors:
+ css = f"{css} {css.split()[0]}-error"
attrs = dict(widget.attrs)
- attrs["class"] = " ".join(part for part in classes if part)
+ attrs["class"] = " ".join(part for part in [widget.attrs.get("class", ""), css] if part)
return field.as_widget(attrs=attrs)
diff --git a/controlpanel/tests.py b/controlpanel/tests.py
index b29f422..1aaba5e 100644
--- a/controlpanel/tests.py
+++ b/controlpanel/tests.py
@@ -19,7 +19,7 @@ from teams.models import Position, Team, TeamMembership
from .services.admins import grant_club_admin
from .services.platform_admins import PlatformAdminError, is_last_superuser, set_platform_access
from .services.statistics import club_statistics, clubs_with_totals, platform_totals
-from .templatetags.ui import as_alert, daisy
+from .templatetags.ui import as_alert, daisy, field_icon
User = get_user_model()
Flag = get_waffle_flag_model()
@@ -455,3 +455,61 @@ class MessageRenderingTests(ControlPanelTestBase):
self.assertContains(response, "alert alert-soft alert-warning")
self.assertContains(response, '
Careful
', html=False)
self.assertContains(response, "Email')
+ self.assertContains(self.response, 'class="sr-only">Password')
+ self.assertNotContains(self.response, 'Email ')
+ self.assertContains(self.response, 'placeholder="Email address"')
+
+ def test_the_checkbox_keeps_its_visible_label(self):
+ self.assertContains(self.response, 'Remember Me ')
+
+ def test_the_password_reset_link_is_spaced_and_addressable(self):
+ # The input's aria-describedby points here; without the id it dangles.
+ self.assertContains(self.response, 'id="id_password_helptext"')
+ self.assertContains(self.response, "mt-3")
+ self.assertContains(self.response, "Forgot your password?")
diff --git a/static/css/app.css b/static/css/app.css
index 3af89f0..5f2d35b 100644
--- a/static/css/app.css
+++ b/static/css/app.css
@@ -1,2 +1,3897 @@
/*! tailwindcss v4.3.2 | 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-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction: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}}}@layer theme{:root,:host{--font-sans:"Ubuntu", ui-sans-serif, system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, monospace;--color-sky-500:oklch(68.5% .169 237.323);--color-black:#000;--spacing:.25rem;--container-xs:20rem;--container-xl:36rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wider:.05em;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--font-roboto:"Roboto", ui-sans-serif, system-ui, sans-serif}}@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}: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(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}@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:has(input.theme-controller[value=dark]:checked),[data-theme=dark]{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}@property --radialprogress{syntax:"";inherits:true;initial-value:0%}@property --aura-angle{syntax:"";inherits:false;initial-value:0deg}:root{scrollbar-color:currentColor #0000}@supports (color:color-mix(in lab, red, red)){:root{scrollbar-color:color-mix(in oklch, currentColor 35%, #0000) #0000}}: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");--page-scroll-lock:initial;--page-overflow:var(--page-scroll-lock) hidden}:root:not(span){overflow:var(--page-overflow)}:root{--page-has-backdrop:var(--page-scroll-lock) 1;--page-scroll-bg:var(--page-scroll-lock) var(--root-bg,#0000)}@supports (color:color-mix(in lab, red, red)){:root{--page-scroll-bg:var(--page-scroll-lock) color-mix(in srgb, var(--root-bg,#0000), oklch(0% 0 0) calc(var(--page-has-backdrop,0) * 40%))}}:root{background-image:var(--page-scroll-lock) linear-gradient(var(--root-bg,#0000), var(--root-bg,#0000));transition:var(--page-scroll-lock) background-color .3s ease-out;animation:var(--page-scroll-lock) set-page-has-scroll forwards;animation-timeline:var(--page-scroll-lock) scroll();--page-has-scroll:initial;scrollbar-gutter:var(--page-has-scroll) var(--page-scroll-lock) stable}@keyframes set-page-has-scroll{0%,to{--page-has-scroll: }}:root,[data-theme]{background-color:var(--root-bg);color:var(--color-base-content)}:root{background-color:var(--page-scroll-bg,var(--root-bg))}:where(:root,[data-theme]){--root-bg:var(--color-base-100)}}@layer components;@layer utilities{@layer daisyui.l1.l2.l3{.tab:is(.tabs>.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:is(.tabs>.tab):hover{color:var(--color-base-content)}}.tab:is(.tabs>.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(.tabs>.tab):is(input[type=radio]){min-width:fit-content}.tab:is(.tabs>.tab):is(input[type=radio]):after{--tw-content:attr(aria-label);content:var(--tw-content)}.tab:is(.tabs>.tab):is(label){position:relative}.tab:is(.tabs>.tab):is(label) input{cursor:pointer;appearance:none;opacity:0;position:absolute;inset:0}:is(.tab:is(.tabs>.tab):checked,.tab:is(.tabs>.tab):is(label:has(:checked)),.tab:is(.tabs>.tab):is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]))+.tab-content{display:block}.tab:is(.tabs>.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:is(.tabs>.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:is(.tabs>.tab):not(input):empty{cursor:default;flex-grow:1}.tab:is(.tabs>.tab):focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.tab:is(.tabs>.tab):focus{outline-offset:2px;outline:2px solid #0000}}.tab:is(.tabs>.tab):focus-visible,.tab:is(.tabs>.tab):is(label:has(:checked:focus-visible)){outline-offset:-5px;outline:2px solid}.tab:is(.tabs>.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,li menu){white-space:nowrap;margin-inline-start:1rem;padding-inline-start:.5rem;position:relative}.menu :where(li ul,li menu):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,menu,details,.menu-title,.btn)),.menu :where(li:not(.menu-title)>details>summary:not(.menu-title)){border-radius:var(--radius-field);text-align:start;-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,menu,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,menu,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,menu,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,menu,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,menu,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,menu,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,menu,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,menu,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,menu,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,menu,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,menu,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,menu,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,menu,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,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,menu,.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,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,menu,.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,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,menu,.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,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,menu,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active):not(:is(.menu :where(li)>:not(ul,menu,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,menu,.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,.menu :where(li) [disabled]{pointer-events:none;color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.menu :where(li).menu-disabled,.menu :where(li) [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}.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,overlay;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){overflow:revert-layer}.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{--size:calc(var(--size-field,.25rem) * 10);--btn-p:1rem;--btn-fg:var(--color-base-content);cursor:pointer;text-align:center;vertical-align:middle;outline-offset:2px;webkit-user-select:none;-webkit-user-select:none;user-select:none;border-width:var(--border);touch-action:manipulation;--btn-bg:var(--btn-color,var(--color-base-200));--btn-border:var(--btn-color,var(--color-base-200));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,transform;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-color,var(--color-base-200)), #000 calc(var(--depth) * 5%))}}.btn{--btn-soft-bg:initial;--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-inset:0 .5px 0 .5px oklch(100% 0 0 / calc(var(--depth) * 6%));height:var(--size);padding-inline:var(--btn-p);font-size:var(--fontsize,.875rem);background-color:var(--btn-bg);color:var(--btn-fg);border-color:var(--btn-border);border-style:var(--btn-border-style,solid);outline-color:var(--btn-color,var(--color-base-content));--tw-prose-links:var(--btn-fg);background-image:none, var(--fx-noise);background-size:auto, calc(var(--noise,0) * 100%);text-shadow:0 .5px oklch(100% 0 0 / calc(var(--depth) * .15));box-shadow:var(--btn-inset) inset, var(--btn-shadow)}.btn:is([type=checkbox],[type=radio]){appearance:none}.btn:is([type=checkbox],[type=radio])[aria-label]:after{--tw-content:attr(aria-label);content:var(--tw-content)}.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}@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){--overflow-delay:.2s;overflow:revert-layer;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%}.collapse:is(details)::details-content{--overflow-delay:0s;height:0;overflow:clip}.collapse:is(details):where([open])::details-content{overflow:revert-layer;height:auto}@media (prefers-reduced-motion:no-preference){.collapse:is(details)::details-content{transition:overflow .2s allow-discrete var(--overflow-delay), 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}.collapse:is(details):where([open])::details-content{--overflow-delay:.2s}}.collapse:is(details)>summary{outline:none;display:block;position:relative}.collapse:is(details)>summary::-webkit-details-marker{display:none}.collapse-content{--overflow-delay:0s;content-visibility:hidden;min-height:0;cursor:unset;grid-row-start:2;grid-column-start:1;padding-left:1rem;padding-right:1rem;overflow:clip}@supports not (content-visibility:hidden){.collapse-content{visibility:hidden}}@media (prefers-reduced-motion:no-preference){.collapse-content{transition:overflow .2s allow-discrete var(--overflow-delay), 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}}details>.collapse-content{content-visibility:visible}.filter{flex-wrap:wrap;display:flex}.filter [type=radio]{width:auto}.filter input{opacity:1;transition:visibility .1s allow-discrete, margin .1s, opacity .3s, padding .3s, border-width .1s;overflow:hidden;scale:1}.filter input.filter-reset{aspect-ratio:1}.filter input.filter-reset:after{--tw-content:"×";content:var(--tw-content)}.filter>input:not(:last-child),.filter>:not(:last-child) input{margin-inline-end:.25rem}.list{flex-direction:column;font-size:.875rem;display:flex}.list .list-row{--list-grid-cols:minmax(0, auto) 1fr;border-radius:var(--radius-box);word-break:break-word;grid-auto-flow:column;grid-template-columns:var(--list-grid-cols);gap:1rem;padding:1rem;display:grid;position:relative}:is(.list>:not(:last-child).list-row,.list>:not(:last-child) .list-row):after{content:"";border-bottom:var(--border) solid;inset-inline:var(--radius-box);border-color:var(--color-base-content);position:absolute;bottom:0}@supports (color:color-mix(in lab, red, red)){:is(.list>:not(:last-child).list-row,.list>:not(:last-child) .list-row):after{border-color:color-mix(in oklab, var(--color-base-content) 5%, transparent)}}.toggle{border:var(--border) solid currentColor;color:var(--input-color);cursor:pointer;appearance:none;vertical-align:middle;webkit-user-select:none;-webkit-user-select:none;user-select:none;--radius-selector-max:calc(var(--radius-selector) + var(--radius-selector) + var(--radius-selector));border-radius:calc(var(--radius-selector) + min(var(--toggle-p), var(--radius-selector-max)) + min(var(--border), var(--radius-selector-max)));padding:var(--toggle-p);flex-shrink:0;grid-template-columns:0fr 1fr 1fr;place-content:center;display:inline-grid;position:relative;box-shadow:inset 0 1px}@supports (color:color-mix(in lab, red, red)){.toggle{box-shadow:0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000) inset}}.toggle{--input-color:var(--color-base-content);transition:color .3s,grid-template-columns .2s}@supports (color:color-mix(in lab, red, red)){.toggle{--input-color:color-mix(in oklab, var(--color-base-content) 50%, #0000)}}.toggle{--toggle-p:calc(var(--size) * .125);--size:calc(var(--size-selector,.25rem) * 6);width:calc((var(--size) * 2) - (var(--border) + var(--toggle-p)) * 2);height:var(--size)}.toggle>*{z-index:1;cursor:pointer;appearance:none;background-color:#0000;border:none;grid-column:2/span 1;grid-row-start:1;height:100%;padding:.125rem;transition:opacity .2s,rotate .4s}.toggle>:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.toggle>:focus{outline-offset:2px;outline:2px solid #0000}}.toggle>:nth-child(2){color:var(--color-base-100);rotate:0deg}.toggle>:nth-child(3){color:var(--color-base-100);opacity:0;rotate:-15deg}.toggle:has(:checked)>:nth-child(2){opacity:0;rotate:15deg}.toggle:has(:checked)>:nth-child(3){opacity:1;rotate:0deg}.toggle:before{aspect-ratio:1;border-radius:var(--radius-selector);--tw-content:"";content:var(--tw-content);width:100%;height:100%;box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px currentColor;background-color:currentColor;grid-row-start:1;grid-column-start:2;transition:background-color .1s,translate .2s,inset-inline-start .2s;position:relative;inset-inline-start:0;translate:0}@supports (color:color-mix(in lab, red, red)){.toggle:before{box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000)}}.toggle:before{background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--fx-noise)}@media (forced-colors:active){.toggle:before{outline-style:var(--tw-outline-style);outline-offset:calc(1px * -1);outline-width:1px}}@media print{.toggle:before{outline-offset:-1rem;outline:.25rem solid}}.toggle:focus-visible,.toggle:has(:focus-visible){outline-offset:2px;outline:2px solid}.toggle:checked,.toggle[aria-checked=true],.toggle:has(>input:checked){background-color:var(--color-base-100);--input-color:var(--color-base-content);grid-template-columns:1fr 1fr 0fr}:is(.toggle:checked,.toggle[aria-checked=true],.toggle:has(>input:checked)):before{background-color:currentColor}@starting-style{:is(.toggle:checked,.toggle[aria-checked=true],.toggle:has(>input:checked)):before{opacity:0}}.toggle:indeterminate{grid-template-columns:.5fr 1fr .5fr}.toggle:disabled{cursor:not-allowed;opacity:.3}.toggle:disabled:before{border:var(--border) solid currentColor;background-color:#0000}.input{appearance:none;background-color:var(--color-base-100);vertical-align:middle;white-space:nowrap;--size:calc(var(--size-field,.25rem) * var(--in-size-mul));--input-color:var(--color-base-content);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{--input-color:color-mix(in oklab, var(--color-base-content) 20%, #0000)}}.input{cursor:text;width:clamp(3rem,20rem,100%);height:var(--size);font-size:max(var(--font-size,0rem), var(--font-size-min));touch-action:manipulation;border:var(--border) solid var(--input-color,#0000);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))}@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 input{appearance:none;background-color:#0000;border:none;width:100%;height:100%}.input input::placeholder{color:var(--color-base-content);opacity:.5}.input input:focus,.input input:focus-within{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.input input:focus,.input input:focus-within{outline-offset:2px;outline:2px solid #0000}}.input input::-webkit-calendar-picker-indicator{inset-inline-end:-.15em}.input::-webkit-inner-spin-button{margin-inline-end:-10px}.input::-webkit-calendar-picker-indicator{inset-inline-end:.75em}input.input,.input input{display:inline-flex;position:relative}:is(input.input,.input input)[type=url],:is(input.input,.input input)[type=email]{text-align:left}:is(input.input,.input input)::-webkit-datetime-edit{min-height:100%;text-align:inherit;align-items:center;display:grid}:is(input.input,.input input)::-webkit-date-and-time-value{min-height:100%;text-align:inherit;align-items:center;display:grid}:is(input.input,.input input)::-webkit-inner-spin-button{margin-block:calc(.25rem * var(--spin-my))}:is(input.input,.input input)::-webkit-calendar-picker-indicator{cursor:pointer;width:1em;height:1em;position:absolute}:is(input.input,.input input)::-webkit-color-swatch-wrapper{padding-block:.25rem}.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)}:is(.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input):is(input),:is(.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input) :is(input){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):is(input),:is(.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input) :is(input){color:color-mix(in oklab, var(--color-base-content) 40%, transparent)}}.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input{box-shadow:none}:is(.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input)::placeholder,:is(.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input) ::placeholder{color:var(--color-base-content);opacity:.2}.input:has(>input[disabled])>input[disabled]{cursor:not-allowed}.table{border-collapse:separate;--tw-border-spacing-x:0;--tw-border-spacing-y: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)}}.select{appearance:none;background-color:var(--color-base-100);vertical-align:middle;--size:calc(var(--size-field,.25rem) * var(--sl-size-mul));--input-color:var(--color-base-content);flex-shrink:1;align-items:center;gap:.375rem;padding-inline:.75rem 1.75rem;display:inline-flex;position:relative}@supports (color:color-mix(in lab, red, red)){.select{--input-color:color-mix(in oklab, var(--color-base-content) 20%, #0000)}}.select{width:clamp(3rem,20rem,100%);height:var(--size);font-size:max(var(--font-size,0rem), var(--font-size-min));touch-action:manipulation;white-space:nowrap;text-overflow:ellipsis;border:var(--border) solid var(--input-color,#0000);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));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}}[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::placeholder{color:var(--color-base-content);opacity:.5}.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}:is(.select:focus,.select:focus-within,.select:open){--input-color:var(--color-base-content);box-shadow:0 1px var(--input-color)}@supports (color:color-mix(in lab, red, red)){:is(.select:focus,.select:focus-within,.select:open){box-shadow:0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000)}}:is(.select:focus,.select:focus-within,.select:open){outline:2px solid var(--input-color);outline-offset:2px;isolation:isolate;background-image:linear-gradient(135deg,#0000 50%,currentColor 50%),linear-gradient(45deg,currentColor 50%,#0000 50%)}.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)}:is(.select:has(>select[disabled]),.select:is(:disabled,[disabled]),fieldset:disabled .select):is(select),:is(.select:has(>select[disabled]),.select:is(:disabled,[disabled]),fieldset:disabled .select) :is(select){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):is(select),:is(.select:has(>select[disabled]),.select:is(:disabled,[disabled]),fieldset:disabled .select) :is(select){color:color-mix(in oklab, var(--color-base-content) 40%, transparent)}}.select:has(>select[disabled]),.select:is(:disabled,[disabled]),fieldset:disabled .select{box-shadow:none}:is(.select:has(>select[disabled]),.select:is(:disabled,[disabled]),fieldset:disabled .select)::placeholder,:is(.select:has(>select[disabled]),.select:is(:disabled,[disabled]),fieldset:disabled .select) ::placeholder{color:var(--color-base-content);opacity:.2}.select:has(>select[disabled])>select[disabled]{cursor:not-allowed}@supports (appearance:base-select){:is(.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) selectedcontent{text-overflow:ellipsis;white-space:nowrap;width:100%;overflow:hidden}: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);padding-block:.375rem;padding-inline:calc(.25rem * var(--option-px));white-space:normal;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)}.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}}.navbar{align-items:center;width:100%;min-height:4rem;padding:.5rem;display:flex}.card{border-radius:var(--radius-box);outline-offset:2px;outline:2px solid #0000;flex-direction:column;transition:outline .2s ease-in-out;display:flex;position:relative}.card:focus-visible,.card[aria-checked=true],.card:has(>:checked,>:is([type=checkbox],[type=radio]):focus-visible){outline-color:currentColor}.card:has(>:checked:focus-visible),.card[aria-checked=true]:focus-visible,.card[aria-checked=true]:has(>:is([type=checkbox],[type=radio]):focus-visible){outline-width:4px}.card:has(>:is([type=checkbox],[type=radio])){cursor:pointer;-webkit-user-select:none;user-select:none}.card>:is([type=checkbox],[type=radio]){appearance:none}.stats{border-radius:var(--radius-box);grid-auto-flow:column;display:inline-grid;position:relative;overflow-x:auto}.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(--fx-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: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-fg:var(--color-base-content);background-image:none}@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{appearance:none;border-radius:var(--radius-field);background-color:var(--color-base-100);vertical-align:middle;--input-color:var(--color-base-content);flex-shrink:1;min-height:5rem;padding-block:.5rem;padding-inline:.75rem}@supports (color:color-mix(in lab, red, red)){.textarea{--input-color:color-mix(in oklab, var(--color-base-content) 20%, #0000)}}.textarea{width:clamp(3rem,20rem,100%);font-size:max(var(--font-size,0rem), var(--font-size-min));touch-action:manipulation;border:var(--border) solid var(--input-color,#0000);box-shadow:0 1px var(--input-color) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset}@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 textarea{appearance:none;background-color:#0000;border:none}.textarea textarea::placeholder{color:var(--color-base-content);opacity:.5}.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)}}.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]){box-shadow:none}:is(.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]))::placeholder,:is(.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled])) ::placeholder{color:var(--color-base-content);opacity:.2}.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%}.hero{background-position:50%;background-size:cover;place-items:center;width:100%;display:grid}.hero>*{grid-row-start:1;grid-column-start:1}.stat-value{white-space:nowrap;grid-column-start:1;font-size:2rem;font-weight:800}.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}.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}.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)}}.status{aspect-ratio:1;border-radius:var(--radius-selector);background-color:var(--color-base-content);width:.5rem;height:.5rem;display:inline-block}@supports (color:color-mix(in lab, red, red)){.status{background-color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.status{vertical-align:middle;color:#0000004d;background-position:50%;background-repeat:no-repeat}@supports (color:color-mix(in lab, red, red)){.status{color:color-mix(in oklab, var(--color-black) 30%, transparent)}}.status{background-image:radial-gradient(circle at 35% 30%, oklch(1 0 0 / calc(var(--depth) * .5)), #0000);box-shadow:0 2px 3px -1px}@supports (color:color-mix(in lab, red, red)){.status{box-shadow:0 2px 3px -1px color-mix(in oklab, currentColor calc(var(--depth) * 100%), #0000)}}.badge{border-radius:var(--radius-selector);vertical-align:middle;color:var(--badge-fg);border:var(--border) solid var(--badge-color,var(--color-base-200));background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--fx-noise);background-color:var(--badge-bg);--badge-bg:var(--badge-color,var(--color-base-100));--badge-fg:var(--color-base-content);--size:calc(var(--size-selector,.25rem) * 6);width:fit-content;height:var(--size);padding-inline:calc(var(--size) / 2 - var(--border));justify-content:center;align-items:center;gap:.5rem;font-size:.875rem;display:inline-flex}.tabs{--tabs-height:auto;--tabs-direction:row;--tab-height:calc(var(--size-field,.25rem) * 10);height:var(--tabs-height);flex-wrap:wrap;flex-direction:var(--tabs-direction);display:flex}.stat{grid-template-columns:repeat(1,1fr);column-gap:1rem;width:100%;padding-block:1rem;padding-inline:1.5rem;display:inline-grid}.stat:not(:last-child){border-inline-end:var(--border) dashed currentColor}@supports (color:color-mix(in lab, red, red)){.stat:not(:last-child){border-inline-end:var(--border) dashed color-mix(in oklab, currentColor 10%, #0000)}}.stat:not(:last-child){border-block-end:none}.card-body{padding:var(--card-p,1.5rem);font-size:var(--card-fs,.875rem);flex-direction:column;flex:auto;gap:.5rem;display:flex}.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) * 33%);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)}.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}.link{cursor:pointer;text-decoration-line:underline}.link:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.link:focus{outline-offset:2px;outline:2px solid #0000}}.link:focus-visible{outline-offset:2px;outline:2px solid}.btn-ghost{--btn-bg:#0000;color:var(--btn-rest-fg,var(--btn-color,var(--color-base-content,currentColor)));--btn-border:#0000;--btn-inset:0 0 0 0 oklch(0% 0 0/0);--btn-shadow:0 0 0 0 oklch(0% 0 0/0);background-image:none}}@layer daisyui.l1.l2{.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}@media (prefers-reduced-motion:no-preference){.collapse[open].collapse-arrow>.collapse-title:after,.collapse.collapse-open.collapse-arrow>.collapse-title:after{transform:translateY(-50%)rotate(225deg)}}.collapse.collapse-open.collapse-plus>.collapse-title:after{--tw-content:"−";content:var(--tw-content)}:is(.collapse[tabindex].collapse-arrow:focus:not(.collapse-close),.collapse.collapse-arrow[tabindex]:focus-within:not(.collapse-close))>.collapse-title:after,.collapse.collapse-arrow:not(.collapse-close)>input:is([type=checkbox],[type=radio]):checked~.collapse-title:after{transform:translateY(-50%)rotate(225deg)}.collapse[open].collapse-plus>.collapse-title:after,.collapse[tabindex].collapse-plus:focus:not(.collapse-close)>.collapse-title:after,.collapse.collapse-plus:not(.collapse-close)>input:is([type=checkbox],[type=radio]):checked~.collapse-title:after{--tw-content:"−";content:var(--tw-content)}.list .list-row:has(.list-col-grow:first-child){--list-grid-cols:1fr}.list .list-row:has(.list-col-grow:nth-child(2)){--list-grid-cols:minmax(0, auto) 1fr}.list .list-row:has(.list-col-grow:nth-child(3)){--list-grid-cols:minmax(0, auto) minmax(0, auto) 1fr}.list .list-row:has(.list-col-grow:nth-child(4)){--list-grid-cols:minmax(0, auto) minmax(0, auto) minmax(0, auto) 1fr}.list .list-row:has(.list-col-grow:nth-child(5)){--list-grid-cols:minmax(0, auto) minmax(0, auto) minmax(0, auto) minmax(0, auto) 1fr}.list .list-row:has(.list-col-grow:nth-child(6)){--list-grid-cols:minmax(0, auto) minmax(0, auto) minmax(0, auto) minmax(0, auto) minmax(0, auto) 1fr}.list .list-row>*{grid-row-start:1}.input{--in-size-mul:10;--font-size-min:.875rem;--spin-my:-3}.floating-label:has(.input){--top-mul:5;--font-size:.875rem}.select{--sl-size-mul:10;--font-size-min:.875rem;--option-px:3}.floating-label:has(.select){--top-mul:5;--font-size:.875rem}.checkbox:disabled,.radio:disabled{cursor:not-allowed;opacity:.2}:where(.navbar){position:relative}.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}.textarea{--font-size-min:.875rem}.floating-label:has(.textarea){--top-mul:5;--font-size:.875rem}: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}.avatar-placeholder>div{justify-content:center;align-items:center;display:flex}.badge-ghost{border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content);background-image:none}.badge-sm{--size:calc(var(--size-selector,.25rem) * 5);font-size:.75rem}.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)}.link-hover{text-decoration-line:none}@media (hover:hover){.link-hover:hover{text-decoration-line:underline}}.btn-error{--btn-color:var(--color-error);--btn-fg:var(--color-error-content);--btn-soft-bg:initial}.btn-primary{--btn-color:var(--color-primary);--btn-fg:var(--color-primary-content);--btn-soft-bg:initial}.btn-sm{--fontsize:.75rem;--btn-p:.75rem;--size:calc(var(--size-field,.25rem) * 8)}.btn-success{--btn-color:var(--color-success);--btn-fg:var(--color-success-content);--btn-soft-bg:initial}.btn-warning{--btn-color:var(--color-warning);--btn-fg:var(--color-warning-content);--btn-soft-bg:initial}.btn-xs{--fontsize:.6875rem;--btn-p:.5rem;--size:calc(var(--size-field,.25rem) * 6)}.badge-error{--badge-color:var(--color-error);--badge-fg:var(--color-error-content)}.badge-neutral{--badge-color:var(--color-neutral);--badge-fg:var(--color-neutral-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-error,.input-error:focus,.input-error:focus-within{--input-color:var(--color-error)}}@layer daisyui.l1{.btn:where(:checked:not(.filter [type=radio].btn)){--btn-color:var(--color-primary);--btn-fg:var(--color-primary-content)}@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:hover{color:var(--btn-fg);--btn-border:var(--btn-bg)}@supports (color:color-mix(in lab, red, red)){.btn:hover{--btn-border:color-mix(in oklab, var(--btn-bg), #000 calc(var(--depth) * 5%))}}.btn:hover{--btn-border-style:solid;--btn-inset:0 .5px 0 .5px oklch(100% 0 0 / calc(var(--depth) * 6%));--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:hover{--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: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){color:var(--btn-fg,var(--color-base-content));--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-border-style:solid;--btn-inset:0 0 0 0 oklch(0% 0 0/0);--btn-shadow:0 0 0 0 oklch(0% 0 0/0)}.btn:where(:checked:not(.filter [type=radio].btn),:not([type=radio],[type=checkbox]):focus-visible){--btn-bg:var(--btn-color,var(--color-base-200));color:var(--btn-fg,var(--color-base-content));--btn-border:var(--btn-bg)}@supports (color:color-mix(in lab, red, red)){.btn:where(:checked:not(.filter [type=radio].btn),:not([type=radio],[type=checkbox]):focus-visible){--btn-border:color-mix(in oklab, var(--btn-bg), #000 calc(var(--depth) * 5%))}}.btn:where(:checked:not(.filter [type=radio].btn),:not([type=radio],[type=checkbox]):focus-visible){--btn-border-style:solid;--btn-inset:0 .5px 0 .5px oklch(100% 0 0 / calc(var(--depth) * 6%));--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:where(:checked:not(.filter [type=radio].btn),:not([type=radio],[type=checkbox]):focus-visible){--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:where(:checked:not(.filter [type=radio].btn),:not([type=radio],[type=checkbox]):focus-visible){isolation:isolate}.btn:focus-visible,.btn:has(:focus-visible){isolation:isolate;outline-width:2px;outline-style:solid}.filter:not(:has(:checked:not(.filter-reset))) :is(.filter-reset,[type=reset]):not(:focus-visible){visibility:hidden}.filter:not(:has(:checked:not(.filter-reset))) :is(.filter-reset,[type=reset]):not(:focus-visible),.filter:not(:has(:focus-visible)):has(:checked:not(.filter-reset,[type=checkbox])) :is(input,button):not(:checked,.filter-reset,[type=reset]){opacity:0;border-width:0;width:0;margin-inline:0;padding-inline:0;scale:0}.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}}@layer daisyui{.btn:is(:disabled,[disabled],[aria-disabled=true]){pointer-events:none;color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn:is(:disabled,[disabled],[aria-disabled=true]){color:color-mix(in oklch, var(--color-base-content) 20%, #0000)}}.btn:is(:disabled,[disabled],[aria-disabled=true]){--btn-bg:#0000;--btn-border:#0000;--btn-inset:0 0 0 0 oklch(0% 0 0/0);--btn-shadow:0 0 0 0 oklch(0% 0 0/0);background-image:none}.btn:is(:disabled,[disabled],[aria-disabled=true]):not(.btn-link,.btn-ghost){background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn:is(:disabled,[disabled],[aria-disabled=true]):not(.btn-link,.btn-ghost){background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}.btn-link{--btn-bg:#0000;color:var(--btn-color,var(--color-primary));--btn-border:#0000;--btn-inset:0 0 0 0 oklch(0% 0 0/0);--btn-shadow:0 0 0 0 oklch(0% 0 0/0);background-image:none;text-decoration-line:underline}}.collapse:not(td,tr,colgroup){visibility:revert-layer}.collapse{visibility:collapse}.visible{visibility:visible}@layer daisyui.l1.l2.l3.l4{.card 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 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-body p{flex-grow:1}}.fixed{position:fixed}.static{position:static}.z-10{z-index:10}.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-2{margin-block:calc(var(--spacing) * 2)}.my-3{margin-block:calc(var(--spacing) * 3)}.my-4{margin-block:calc(var(--spacing) * 4)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.ml-2{margin-left:calc(var(--spacing) * 2)}.alert{border-width:var(--border);border-color:var(--alert-border-color,var(--color-base-200))}:root .prose{--tw-prose-body:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:root .prose{--tw-prose-body:color-mix(in oklab, var(--color-base-content) 80%, #0000)}}:root .prose{--tw-prose-headings:var(--color-base-content);--tw-prose-lead:var(--color-base-content);--tw-prose-links:var(--color-base-content);--tw-prose-bold:var(--color-base-content);--tw-prose-counters:var(--color-base-content);--tw-prose-bullets:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:root .prose{--tw-prose-bullets:color-mix(in oklab, var(--color-base-content) 50%, #0000)}}:root .prose{--tw-prose-hr:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:root .prose{--tw-prose-hr:color-mix(in oklab, var(--color-base-content) 20%, #0000)}}:root .prose{--tw-prose-quotes:var(--color-base-content);--tw-prose-quote-borders:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:root .prose{--tw-prose-quote-borders:color-mix(in oklab, var(--color-base-content) 20%, #0000)}}:root .prose{--tw-prose-captions:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:root .prose{--tw-prose-captions:color-mix(in oklab, var(--color-base-content) 50%, #0000)}}:root .prose{--tw-prose-code:var(--color-base-content);--tw-prose-pre-code:var(--color-neutral-content);--tw-prose-pre-bg:var(--color-neutral);--tw-prose-th-borders:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:root .prose{--tw-prose-th-borders:color-mix(in oklab, var(--color-base-content) 50%, #0000)}}:root .prose{--tw-prose-td-borders:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:root .prose{--tw-prose-td-borders:color-mix(in oklab, var(--color-base-content) 20%, #0000)}}:root .prose{--tw-prose-kbd:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:root .prose{--tw-prose-kbd:color-mix(in oklab, var(--color-base-content) 80%, #0000)}}:root .prose :where(code):not(pre>code){background-color:var(--color-base-200);border-radius:var(--radius-selector);border:var(--border) solid var(--color-base-300);font-weight:inherit;padding-block:.2em;padding-inline:.5em}:root .prose :where(code):not(pre>code):before,:root .prose :where(code):not(pre>code):after{display:none}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-16{height:calc(var(--spacing) * 16)}.min-h-screen{min-height:100vh}.w-16{width:calc(var(--spacing) * 16)}.w-24{width:calc(var(--spacing) * 24)}.w-60{width:calc(var(--spacing) * 60)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-none{max-width:none}.max-w-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.flex-1{flex:1}.cursor-pointer{cursor:pointer}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-1{gap:var(--spacing)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}: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(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-base-200>:not(:last-child)){border-color:var(--color-base-200)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded-box{border-radius:var(--radius-box);border-radius:var(--radius-box)}.rounded-full{border-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-base-300{border-color:var(--color-base-300)}.bg-base-100{background-color:var(--color-base-100)}.bg-base-200{background-color:var(--color-base-200)}.bg-primary{background-color:var(--color-primary)}.object-contain{object-fit:contain}.p-2{padding:calc(var(--spacing) * 2)}.p-4{padding:calc(var(--spacing) * 4)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-2{padding-block:calc(var(--spacing) * 2)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.font-roboto{font-family:var(--font-roboto)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.text-base-content\/50{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.text-base-content\/50{color:color-mix(in oklab, var(--color-base-content) 50%, transparent)}}.text-base-content\/70{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.text-base-content\/70{color:color-mix(in oklab, var(--color-base-content) 70%, transparent)}}.text-base-content\/80{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.text-base-content\/80{color:color-mix(in oklab, var(--color-base-content) 80%, transparent)}}.text-error{color:var(--color-error)}.text-primary-content{color:var(--color-primary-content)}.text-sky-500{color:var(--color-sky-500)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.prose :where(a.btn:not(.btn-link)):not(:where([class~=not-prose],[class~=not-prose] *)){text-decoration-line:none}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.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)}.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,)}@media (min-width:48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}}@font-face{font-family:Ubuntu;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/ubuntu-latin-400-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Ubuntu;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/ubuntu-latin-ext-400-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Ubuntu;font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/ubuntu-latin-400-italic.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Ubuntu;font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/ubuntu-latin-ext-400-italic.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Ubuntu;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/ubuntu-latin-500-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Ubuntu;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/ubuntu-latin-ext-500-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Ubuntu;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/ubuntu-latin-700-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Ubuntu;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/ubuntu-latin-ext-700-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../fonts/jetbrains-mono-latin-wght-normal.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../fonts/jetbrains-mono-latin-ext-wght-normal.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Roboto;font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/roboto-latin-standard-normal.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Roboto;font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/roboto-latin-ext-standard-normal.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Tourney;font-style:normal;font-weight:100 900;font-stretch:75% 125%;font-display:swap;src:url(../fonts/tourney-latin-standard-normal.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Tourney;font-style:normal;font-weight:100 900;font-stretch:75% 125%;font-display:swap;src:url(../fonts/tourney-latin-ext-standard-normal.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}.logo{background-image:var(--logo-dark);background-position:50%;background-repeat:no-repeat;background-size:contain}@media (prefers-color-scheme:dark){.logo{background-image:var(--logo-light)}}[data-theme=light] .logo{background-image:var(--logo-dark)}[data-theme=dark] .logo{background-image:var(--logo-light)}@keyframes dropdown{0%{opacity:0}}@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 radio{0%{padding:5px}50%{padding:3px}}@keyframes toast{0%{opacity:0;scale:.9}to{opacity:1;scale:1}}@keyframes skeleton{0%{background-position:150%}to{background-position:-50%}}@keyframes progress{50%{background-position-x:-115%}}@keyframes rating{0%,40%{filter:brightness(1.05)contrast(1.05);scale:1.1}}@keyframes aura{to{--aura-angle:360deg;transform:translateZ(1px)}}@keyframes aura-glow{20%,80%{opacity:.7;filter:blur(.25rem)}50%{opacity:1;filter:blur(.75rem)}}@keyframes aura-glow-after{20%,80%{opacity:.3;filter:blur(1rem)}50%{opacity:.6;filter:blur(1.5rem)}}@keyframes menu{0%{opacity:0}}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{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}
\ No newline at end of file
+@layer properties;
+@layer theme, base, components, utilities;
+@layer theme {
+ :root, :host {
+ --font-sans: "Ubuntu", ui-sans-serif, system-ui, sans-serif;
+ --font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, monospace;
+ --color-sky-500: oklch(68.5% 0.169 237.323);
+ --color-black: #000;
+ --spacing: 0.25rem;
+ --container-xs: 20rem;
+ --container-xl: 36rem;
+ --text-xs: 0.75rem;
+ --text-xs--line-height: calc(1 / 0.75);
+ --text-sm: 0.875rem;
+ --text-sm--line-height: calc(1.25 / 0.875);
+ --text-base: 1rem;
+ --text-base--line-height: calc(1.5 / 1);
+ --text-lg: 1.125rem;
+ --text-lg--line-height: calc(1.75 / 1.125);
+ --text-xl: 1.25rem;
+ --text-xl--line-height: calc(1.75 / 1.25);
+ --text-2xl: 1.5rem;
+ --text-2xl--line-height: calc(2 / 1.5);
+ --font-weight-medium: 500;
+ --font-weight-semibold: 600;
+ --font-weight-bold: 700;
+ --tracking-wider: 0.05em;
+ --ease-out: cubic-bezier(0, 0, 0.2, 1);
+ --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
+ --default-transition-duration: 150ms;
+ --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
+ --default-font-family: var(--font-sans);
+ --default-mono-font-family: var(--font-mono);
+ --font-roboto: "Roboto", ui-sans-serif, system-ui, sans-serif;
+ }
+}
+@layer base {
+ *, ::after, ::before, ::backdrop, ::file-selector-button {
+ box-sizing: border-box;
+ margin: 0;
+ padding: 0;
+ border: 0 solid;
+ }
+ html, :host {
+ line-height: 1.5;
+ -webkit-text-size-adjust: 100%;
+ tab-size: 4;
+ 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;
+ 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 {
+ font-size: 75%;
+ line-height: 0;
+ position: relative;
+ vertical-align: baseline;
+ }
+ sub {
+ bottom: -0.25em;
+ }
+ sup {
+ top: -0.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 {
+ display: block;
+ vertical-align: middle;
+ }
+ img, video {
+ max-width: 100%;
+ height: auto;
+ }
+ button, input, select, optgroup, textarea, ::file-selector-button {
+ font: inherit;
+ font-feature-settings: inherit;
+ font-variation-settings: inherit;
+ letter-spacing: inherit;
+ color: inherit;
+ border-radius: 0;
+ background-color: transparent;
+ opacity: 1;
+ }
+ :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)) {
+ 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, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {
+ 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"]), ::file-selector-button {
+ appearance: button;
+ }
+ ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
+ height: auto;
+ }
+ [hidden]:where(:not([hidden="until-found"])) {
+ display: none !important;
+ }
+}
+@layer utilities {
+ .tab {
+ @layer daisyui.l1.l2.l3 {
+ &:is(.tabs > .tab) {
+ position: relative;
+ display: inline-flex;
+ cursor: pointer;
+ appearance: none;
+ flex-wrap: wrap;
+ align-items: center;
+ justify-content: center;
+ text-align: center;
+ webkit-user-select: none;
+ user-select: none;
+ &:hover {
+ @media (hover: hover) {
+ color: var(--color-base-content);
+ }
+ }
+ --tab-p: 0.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(0.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) + 0.25px),
+ var(--tab-border-color) 69%, var(--tab-bg) calc(69% + 0.25px);
+ border-color: #0000;
+ order: var(--tab-order);
+ height: var(--tab-height);
+ font-size: 0.875rem;
+ padding-inline: var(--tab-p);
+ &:is(input[type="radio"]) {
+ min-width: fit-content;
+ &:after {
+ --tw-content: attr(aria-label);
+ content: var(--tw-content);
+ }
+ }
+ &:is(label) {
+ position: relative;
+ input {
+ position: absolute;
+ inset: 0;
+ cursor: pointer;
+ appearance: none;
+ opacity: 0%;
+ }
+ }
+ &:checked, &:is(label:has(:checked)), &:is(.tab-active, [aria-selected="true"], [aria-current="true"], [aria-current="page"]) {
+ & + .tab-content {
+ display: block;
+ }
+ }
+ &: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)) {
+ color: color-mix(in oklab, var(--color-base-content) 50%, transparent);
+ }
+ }
+ &:not(input):empty {
+ flex-grow: 1;
+ cursor: default;
+ }
+ &:focus {
+ --tw-outline-style: none;
+ outline-style: none;
+ @media (forced-colors: active) {
+ outline: 2px solid transparent;
+ outline-offset: 2px;
+ }
+ }
+ &:focus-visible, &:is(label:has(:checked:focus-visible)) {
+ outline: 2px solid currentColor;
+ outline-offset: -5px;
+ }
+ &[disabled] {
+ pointer-events: none;
+ opacity: 40%;
+ }
+ }
+ }
+ }
+ .menu {
+ @layer daisyui.l1.l2.l3 {
+ display: flex;
+ width: fit-content;
+ flex-direction: column;
+ flex-wrap: wrap;
+ padding: calc(0.25rem * 2);
+ --menu-active-fg: var(--color-neutral-content);
+ --menu-active-bg: var(--color-neutral);
+ font-size: 0.875rem;
+ :where(li ul, li menu) {
+ position: relative;
+ margin-inline-start: calc(0.25rem * 4);
+ padding-inline-start: calc(0.25rem * 2);
+ white-space: nowrap;
+ &:before {
+ position: absolute;
+ inset-inline-start: calc(0.25rem * 0);
+ top: calc(0.25rem * 3);
+ bottom: calc(0.25rem * 3);
+ background-color: var(--color-base-content);
+ opacity: 10%;
+ width: var(--border);
+ content: "";
+ }
+ }
+ :where(li > .menu-dropdown:not(.menu-dropdown-show)) {
+ display: none;
+ }
+ :where(li:not(.menu-title) > *:not(ul, menu, details, .menu-title, .btn)), :where(li:not(.menu-title) > details > summary:not(.menu-title)) {
+ display: grid;
+ grid-auto-flow: column;
+ align-content: flex-start;
+ align-items: center;
+ gap: calc(0.25rem * 2);
+ border-radius: var(--radius-field);
+ padding-inline: calc(0.25rem * 3);
+ padding-block: calc(0.25rem * 1.5);
+ text-align: start;
+ transition-property: color, background-color, box-shadow;
+ transition-duration: 0.2s;
+ transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
+ grid-auto-columns: minmax(auto, max-content) auto max-content;
+ user-select: none;
+ }
+ :where(li > details > summary) {
+ --tw-outline-style: none;
+ outline-style: none;
+ @media (forced-colors: active) {
+ outline: 2px solid transparent;
+ outline-offset: 2px;
+ }
+ &::-webkit-details-marker {
+ display: none;
+ }
+ }
+ :where(li > details > summary), :where(li > .menu-dropdown-toggle) {
+ &:after {
+ justify-self: flex-end;
+ display: block;
+ height: 0.375rem;
+ width: 0.375rem;
+ rotate: -135deg;
+ translate: 0 -1px;
+ transition-property: rotate, translate;
+ transition-duration: 0.2s;
+ content: "";
+ transform-origin: 50% 50%;
+ box-shadow: 2px 2px inset;
+ pointer-events: none;
+ }
+ }
+ details {
+ overflow: hidden;
+ interpolate-size: allow-keywords;
+ }
+ details::details-content {
+ block-size: 0;
+ @media (prefers-reduced-motion: no-preference) {
+ transition-behavior: allow-discrete;
+ transition-property: block-size, content-visibility;
+ transition-duration: 0.2s;
+ transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
+ }
+ }
+ details[open]::details-content {
+ block-size: auto;
+ }
+ :where(li > details[open] > summary):after, :where(li > .menu-dropdown-toggle.menu-dropdown-show):after {
+ rotate: 45deg;
+ translate: 0 1px;
+ }
+ :where(li:not(.menu-title, .disabled) > *:not(ul, menu, details, .menu-title), li:not(.menu-title, .disabled) > details > summary:not(.menu-title) ):not(.menu-active, :active, .btn) {
+ &.menu-focus, &:focus-visible {
+ cursor: pointer;
+ background-color: var(--color-base-content);
+ @supports (color: color-mix(in lab, red, red)) {
+ background-color: color-mix(in oklab, var(--color-base-content) 10%, transparent);
+ }
+ color: var(--color-base-content);
+ --tw-outline-style: none;
+ outline-style: none;
+ @media (forced-colors: active) {
+ outline: 2px solid transparent;
+ outline-offset: 2px;
+ }
+ }
+ }
+ :where(li:not(.menu-title, .disabled) > *:not(ul, menu, 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)) {
+ background-color: color-mix(in oklab, var(--color-base-content) 10%, transparent);
+ }
+ --tw-outline-style: none;
+ outline-style: none;
+ @media (forced-colors: active) {
+ outline: 2px solid transparent;
+ outline-offset: 2px;
+ }
+ box-shadow: 0 1px oklch(0% 0 0 / 0.01) inset, 0 -1px oklch(100% 0 0 / 0.01) inset;
+ }
+ :where(li:empty) {
+ background-color: var(--color-base-content);
+ opacity: 10%;
+ margin: 0.5rem 1rem;
+ height: 1px;
+ }
+ :where(li) {
+ position: relative;
+ display: flex;
+ flex-shrink: 0;
+ flex-direction: column;
+ flex-wrap: wrap;
+ align-items: stretch;
+ .badge {
+ justify-self: flex-end;
+ }
+ & > *:not(ul, menu, .menu-title, details, .btn):active, & > *:not(ul, menu, .menu-title, details, .btn).menu-active, & > details > summary:active {
+ --tw-outline-style: none;
+ outline-style: none;
+ @media (forced-colors: active) {
+ outline: 2px solid transparent;
+ outline-offset: 2px;
+ }
+ color: var(--menu-active-fg);
+ background-color: var(--menu-active-bg);
+ background-size: auto, calc(var(--noise) * 100%);
+ background-image: none, var(--fx-noise);
+ &:not(&:active) {
+ box-shadow: 0 2px calc(var(--depth) * 3px) -2px var(--menu-active-bg);
+ }
+ }
+ &.menu-disabled, [disabled] {
+ pointer-events: none;
+ color: var(--color-base-content);
+ @supports (color: color-mix(in lab, red, red)) {
+ color: color-mix(in oklab, var(--color-base-content) 20%, transparent);
+ }
+ }
+ }
+ .dropdown:focus-within {
+ .menu-dropdown-toggle:after {
+ rotate: 45deg;
+ translate: 0 1px;
+ }
+ }
+ .dropdown-content {
+ margin-top: calc(0.25rem * 2);
+ padding: calc(0.25rem * 2);
+ &:before {
+ display: none;
+ }
+ }
+ }
+ }
+ .collapse-arrow {
+ @layer daisyui.l1.l2 {
+ > .collapse-title:after {
+ position: absolute;
+ display: block;
+ height: 0.5rem;
+ width: 0.5rem;
+ transform: translateY(-100%) rotate(45deg);
+ @media (prefers-reduced-motion: no-preference) {
+ transition-property: all;
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
+ transition-duration: 0.2s;
+ }
+ top: 50%;
+ inset-inline-end: 1.4rem;
+ content: "";
+ transform-origin: 75% 75%;
+ box-shadow: 2px 2px;
+ pointer-events: none;
+ }
+ }
+ }
+ .collapse-plus {
+ @layer daisyui.l1.l2 {
+ > .collapse-title:after {
+ position: absolute;
+ display: block;
+ height: 0.5rem;
+ width: 0.5rem;
+ @media (prefers-reduced-motion: no-preference) {
+ transition-property: all;
+ transition-duration: 300ms;
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
+ }
+ top: 0.9rem;
+ inset-inline-end: 1.4rem;
+ --tw-content: "+";
+ content: var(--tw-content);
+ pointer-events: none;
+ }
+ }
+ }
+ .dropdown {
+ @layer daisyui.l1.l2.l3 {
+ position: relative;
+ display: inline-block;
+ position-area: var(--anchor-v, bottom) var(--anchor-h, span-right);
+ & > *:not(:has( ~ [class*="dropdown-content"])):focus {
+ --tw-outline-style: none;
+ outline-style: none;
+ @media (forced-colors: active) {
+ outline: 2px solid transparent;
+ outline-offset: 2px;
+ }
+ }
+ .dropdown-content {
+ position: absolute;
+ }
+ &.dropdown-close .dropdown-content, &:not(details, .dropdown-open, .dropdown-hover:hover, :focus-within) .dropdown-content, &.dropdown-hover:not(:hover) [tabindex]:first-child:focus:not(:focus-visible) ~ .dropdown-content {
+ display: none;
+ transform-origin: top;
+ opacity: 0%;
+ scale: 95%;
+ }
+ &[popover], .dropdown-content {
+ z-index: 999;
+ @media (prefers-reduced-motion: no-preference) {
+ animation: dropdown 0.2s;
+ transition-property: opacity, scale, display, overlay;
+ transition-behavior: allow-discrete;
+ transition-duration: 0.2s;
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
+ }
+ }
+ @starting-style {
+ &[popover], .dropdown-content {
+ scale: 95%;
+ opacity: 0;
+ }
+ }
+ &:not(.dropdown-close) {
+ &.dropdown-open, &:not(.dropdown-hover):focus, &:focus-within {
+ > [tabindex]:first-child {
+ pointer-events: none;
+ }
+ .dropdown-content {
+ opacity: 100%;
+ scale: 100%;
+ }
+ }
+ &.dropdown-hover:hover {
+ .dropdown-content {
+ opacity: 100%;
+ scale: 100%;
+ }
+ }
+ }
+ &:is(details) {
+ overflow: revert-layer;
+ summary {
+ &::-webkit-details-marker {
+ display: none;
+ }
+ }
+ }
+ &:where([popover]) {
+ background: #0000;
+ }
+ &[popover] {
+ position: fixed;
+ color: inherit;
+ @supports not (position-area: bottom) {
+ margin: auto;
+ &.dropdown-close, &.dropdown-open:not(:popover-open) {
+ display: none;
+ transform-origin: top;
+ opacity: 0%;
+ scale: 95%;
+ }
+ &::backdrop {
+ background-color: color-mix(in oklab, #000 30%, #0000);
+ }
+ }
+ &.dropdown-close, &:not(.dropdown-open, :popover-open) {
+ display: none;
+ transform-origin: top;
+ opacity: 0%;
+ scale: 95%;
+ }
+ }
+ }
+ }
+ .btn {
+ :where(&) {
+ @layer daisyui.l1.l2.l3 {
+ width: unset;
+ }
+ }
+ .prose :where(a&:not(.btn-link)):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
+ text-decoration-line: none;
+ }
+ @layer daisyui.l1.l2.l3 {
+ --size: calc(var(--size-field, 0.25rem) * 10);
+ --btn-p: 1rem;
+ --btn-fg: var(--color-base-content);
+ display: inline-flex;
+ flex-shrink: 0;
+ cursor: pointer;
+ flex-wrap: nowrap;
+ align-items: center;
+ justify-content: center;
+ gap: calc(0.25rem * 1.5);
+ text-align: center;
+ vertical-align: middle;
+ outline-offset: 2px;
+ webkit-user-select: none;
+ user-select: none;
+ font-weight: 600;
+ 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-width: var(--border);
+ touch-action: manipulation;
+ transition-property: color, background-color, border-color, box-shadow, transform;
+ transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
+ transition-duration: 0.2s;
+ --btn-bg: var(--btn-color, var(--color-base-200));
+ --btn-border: var(--btn-color, var(--color-base-200));
+ @supports (color: color-mix(in lab, red, red)) {
+ --btn-border: color-mix(
+ in oklab,
+ var(--btn-color, var(--color-base-200)),
+ #000 calc(var(--depth) * 5%)
+ );
+ }
+ --btn-soft-bg: initial;
+ --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) calc(var(--depth) * 30%), #0000),
+ 0 4px 3px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000);
+ }
+ --btn-inset: 0 0.5px 0 0.5px oklch(100% 0 0 / calc(var(--depth) * 6%));
+ height: var(--size);
+ padding-inline: var(--btn-p);
+ font-size: var(--fontsize, 0.875rem);
+ background-color: var(--btn-bg);
+ color: var(--btn-fg);
+ border-color: var(--btn-border);
+ border-style: var(--btn-border-style, solid);
+ outline-color: var(--btn-color, var(--color-base-content));
+ --tw-prose-links: var(--btn-fg);
+ background-image: none, var(--fx-noise);
+ background-size: auto, calc(var(--noise, 0) * 100%);
+ text-shadow: 0 0.5px oklch(100% 0 0 / calc(var(--depth) * 0.15));
+ box-shadow: var(--btn-inset) inset, var(--btn-shadow);
+ &:is([type="checkbox"], [type="radio"]) {
+ appearance: none;
+ &[aria-label]::after {
+ --tw-content: attr(aria-label);
+ content: var(--tw-content);
+ }
+ }
+ }
+ @layer daisyui.l1 {
+ &:where(:checked:not(.filter [type="radio"].btn)) {
+ --btn-color: var(--color-primary);
+ --btn-fg: var(--color-primary-content);
+ }
+ @media (hover: hover) {
+ &:hover {
+ --btn-bg: var(--btn-color, var(--color-base-200));
+ @supports (color: color-mix(in lab, red, red)) {
+ --btn-bg: color-mix(in oklab, var(--btn-color, var(--color-base-200)), #000 7%);
+ }
+ color: var(--btn-fg);
+ --btn-border: var(--btn-bg);
+ @supports (color: color-mix(in lab, red, red)) {
+ --btn-border: color-mix(in oklab, var(--btn-bg), #000 calc(var(--depth) * 5%));
+ }
+ --btn-border-style: solid;
+ --btn-inset: 0 0.5px 0 0.5px oklch(100% 0 0 / calc(var(--depth) * 6%));
+ --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) calc(var(--depth) * 30%), #0000),
+ 0 4px 3px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000);
+ }
+ }
+ }
+ &:active:not(.btn-active) {
+ translate: 0 0.5px;
+ --btn-bg: var(--btn-color, var(--color-base-200));
+ @supports (color: color-mix(in lab, red, red)) {
+ --btn-bg: color-mix(in oklab, var(--btn-color, var(--color-base-200)), #000 5%);
+ }
+ color: var(--btn-fg, var(--color-base-content));
+ --btn-border: var(--btn-color, var(--color-base-200));
+ @supports (color: color-mix(in lab, red, red)) {
+ --btn-border: color-mix(in oklab, var(--btn-color, var(--color-base-200)), #000 7%);
+ }
+ --btn-border-style: solid;
+ --btn-inset: 0 0 0 0 oklch(0% 0 0/0);
+ --btn-shadow: 0 0 0 0 oklch(0% 0 0/0);
+ }
+ &:where(:checked:not(.filter [type="radio"].btn), :not([type="radio"], [type="checkbox"]):focus-visible ) {
+ --btn-bg: var(--btn-color, var(--color-base-200));
+ color: var(--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 calc(var(--depth) * 5%));
+ }
+ --btn-border-style: solid;
+ --btn-inset: 0 0.5px 0 0.5px oklch(100% 0 0 / calc(var(--depth) * 6%));
+ --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) calc(var(--depth) * 30%), #0000),
+ 0 4px 3px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000);
+ }
+ isolation: isolate;
+ }
+ &:focus-visible, &:has(:focus-visible) {
+ outline-width: 2px;
+ outline-style: solid;
+ isolation: isolate;
+ }
+ }
+ &:is(:disabled, [disabled], [aria-disabled="true"]) {
+ @layer daisyui {
+ pointer-events: 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);
+ }
+ --btn-bg: #0000;
+ --btn-border: #0000;
+ background-image: none;
+ --btn-inset: 0 0 0 0 oklch(0% 0 0/0);
+ --btn-shadow: 0 0 0 0 oklch(0% 0 0/0);
+ &:not(.btn-link, .btn-ghost) {
+ background-color: var(--color-base-content);
+ @supports (color: color-mix(in lab, red, red)) {
+ background-color: color-mix(in oklab, var(--color-base-content) 10%, transparent);
+ }
+ }
+ }
+ }
+ }
+ .collapse {
+ &:not(td, tr, colgroup) {
+ visibility: revert-layer;
+ }
+ @layer daisyui.l1.l2.l3 {
+ display: grid;
+ position: relative;
+ border-radius: var(--radius-box, 1rem);
+ width: 100%;
+ grid-template-rows: max-content 0fr;
+ grid-template-columns: minmax(0, 1fr);
+ isolation: isolate;
+ @media (prefers-reduced-motion: no-preference) {
+ transition: grid-template-rows 0.2s;
+ }
+ > input:is([type="checkbox"], [type="radio"]) {
+ grid-column-start: 1;
+ grid-row-start: 1;
+ appearance: none;
+ opacity: 0;
+ z-index: 1;
+ width: 100%;
+ padding: 1rem;
+ padding-inline-end: 3rem;
+ min-height: 1lh;
+ transition: background-color 0.2s ease-out;
+ }
+ &:is([open], [tabindex]:focus:not(.collapse-close), [tabindex]:focus-within:not(.collapse-close) ), &:not(.collapse-close):has( > input:is([type="checkbox"], [type="radio"]):checked) {
+ grid-template-rows: max-content 1fr;
+ }
+ &:is([open], [tabindex]:focus:not(.collapse-close), [tabindex]:focus-within:not(.collapse-close) ) > .collapse-content, &:not(.collapse-close) > :where(input:is([type="checkbox"], [type="radio"]):checked ~ .collapse-content) {
+ --overflow-delay: 0.2s;
+ overflow: revert-layer;
+ content-visibility: visible;
+ min-height: fit-content;
+ @supports not (content-visibility: visible) {
+ visibility: visible;
+ }
+ }
+ &:focus-visible, &:has( > input:is([type="checkbox"], [type="radio"]):focus-visible), &:has(summary:focus-visible) {
+ outline-color: var(--color-base-content);
+ outline-style: solid;
+ outline-width: 2px;
+ outline-offset: 2px;
+ }
+ &:not(.collapse-close) {
+ > input[type="checkbox"], > input[type="radio"]:not(:checked), > .collapse-title {
+ cursor: pointer;
+ }
+ }
+ &[tabindex]:focus:not(.collapse-close, .collapse[open]), &[tabindex]:focus-within:not(.collapse-close, .collapse[open]) {
+ > .collapse-title {
+ cursor: unset;
+ }
+ }
+ &:is([open], [tabindex]:focus:not(.collapse-close), [tabindex]:focus-within:not(.collapse-close) ) > :where(.collapse-content), &:not(.collapse-close) > :where(input:is([type="checkbox"], [type="radio"]):checked ~ .collapse-content) {
+ padding-bottom: 1rem;
+ }
+ &:is(details) {
+ width: 100%;
+ &::details-content {
+ --overflow-delay: 0s;
+ overflow: clip;
+ height: 0;
+ }
+ &:where([open])::details-content {
+ overflow: revert-layer;
+ height: auto;
+ }
+ @media (prefers-reduced-motion: no-preference) {
+ &::details-content {
+ transition: overflow 0.2s allow-discrete var(--overflow-delay), content-visibility 0.2s allow-discrete, visibility 0.2s allow-discrete, min-height 0.2s ease-out allow-discrete, padding 0.1s ease-out 20ms, background-color 0.2s ease-out, height 0.2s;
+ interpolate-size: allow-keywords;
+ }
+ &:where([open])::details-content {
+ --overflow-delay: 0.2s;
+ }
+ }
+ > summary {
+ position: relative;
+ display: block;
+ outline: none;
+ &::-webkit-details-marker {
+ display: none;
+ }
+ }
+ }
+ }
+ @layer daisyui.l1.l2 {
+ &:is([open]) {
+ &.collapse-arrow {
+ > .collapse-title:after {
+ @media (prefers-reduced-motion: no-preference) {
+ transform: translateY(-50%) rotate(225deg);
+ }
+ }
+ }
+ }
+ &.collapse-open {
+ &.collapse-arrow {
+ > .collapse-title:after {
+ @media (prefers-reduced-motion: no-preference) {
+ transform: translateY(-50%) rotate(225deg);
+ }
+ }
+ }
+ &.collapse-plus {
+ > .collapse-title:after {
+ --tw-content: "−";
+ content: var(--tw-content);
+ }
+ }
+ }
+ &[tabindex].collapse-arrow:focus:not(.collapse-close), &.collapse-arrow[tabindex]:focus-within:not(.collapse-close) {
+ > .collapse-title:after {
+ transform: translateY(-50%) rotate(225deg);
+ }
+ }
+ &.collapse-arrow:not(.collapse-close) {
+ > input:is([type="checkbox"], [type="radio"]):checked ~ .collapse-title:after {
+ transform: translateY(-50%) rotate(225deg);
+ }
+ }
+ &[open] {
+ &.collapse-plus {
+ > .collapse-title:after {
+ --tw-content: "−";
+ content: var(--tw-content);
+ }
+ }
+ }
+ &[tabindex].collapse-plus:focus:not(.collapse-close) {
+ > .collapse-title:after {
+ --tw-content: "−";
+ content: var(--tw-content);
+ }
+ }
+ &.collapse-plus:not(.collapse-close) {
+ > input:is([type="checkbox"], [type="radio"]):checked ~ .collapse-title:after {
+ --tw-content: "−";
+ content: var(--tw-content);
+ }
+ }
+ }
+ }
+ .collapse-content {
+ @layer daisyui.l1.l2.l3 {
+ --overflow-delay: 0s;
+ content-visibility: hidden;
+ overflow: clip;
+ grid-column-start: 1;
+ grid-row-start: 2;
+ min-height: 0;
+ padding-left: 1rem;
+ padding-right: 1rem;
+ cursor: unset;
+ @supports not (content-visibility: hidden) {
+ visibility: hidden;
+ }
+ @media (prefers-reduced-motion: no-preference) {
+ transition: overflow 0.2s allow-discrete var(--overflow-delay), content-visibility 0.2s allow-discrete, visibility 0.2s allow-discrete, min-height 0.2s ease-out allow-discrete, padding 0.1s ease-out 20ms, background-color 0.2s ease-out;
+ }
+ details > & {
+ content-visibility: visible;
+ }
+ }
+ }
+ .filter {
+ @layer daisyui.l1.l2.l3 {
+ display: flex;
+ flex-wrap: wrap;
+ [type="radio"] {
+ width: auto;
+ }
+ input {
+ overflow: hidden;
+ opacity: 100%;
+ scale: 1;
+ transition: visibility 0.1s allow-discrete, margin 0.1s, opacity 0.3s, padding 0.3s, border-width 0.1s;
+ &.filter-reset {
+ aspect-ratio: 1 / 1;
+ &::after {
+ --tw-content: "×";
+ content: var(--tw-content);
+ }
+ }
+ }
+ > input:not(:last-child), > :not(:last-child) input {
+ margin-inline-end: 0.25rem;
+ }
+ }
+ @layer daisyui.l1 {
+ &:not(:has(:checked:not(.filter-reset))) :is(.filter-reset, [type="reset"]):not(:focus-visible) {
+ visibility: hidden;
+ }
+ &:not(:has(:checked:not(.filter-reset))) :is(.filter-reset, [type="reset"]):not(:focus-visible), &:not(:has(:focus-visible)):has(:checked:not(.filter-reset, [type="checkbox"])) :is(input, button):not(:checked, .filter-reset, [type="reset"]) {
+ margin-inline: 0;
+ width: 0;
+ padding-inline: 0;
+ opacity: 0%;
+ scale: 0;
+ border-width: 0;
+ }
+ }
+ }
+ .collapse-open {
+ @layer daisyui.l1.l2 {
+ grid-template-rows: max-content 1fr;
+ > .collapse-content {
+ --overflow-delay: 0.2s;
+ overflow: revert-layer;
+ content-visibility: visible;
+ min-height: fit-content;
+ padding-bottom: 1rem;
+ @supports not (content-visibility: visible) {
+ visibility: visible;
+ }
+ }
+ }
+ }
+ .collapse {
+ visibility: collapse;
+ }
+ .visible {
+ visibility: visible;
+ }
+ .list {
+ @layer daisyui.l1.l2.l3 {
+ display: flex;
+ flex-direction: column;
+ font-size: 0.875rem;
+ .list-row {
+ --list-grid-cols: minmax(0, auto) 1fr;
+ position: relative;
+ display: grid;
+ grid-auto-flow: column;
+ gap: calc(0.25rem * 4);
+ border-radius: var(--radius-box);
+ padding: calc(0.25rem * 4);
+ word-break: break-word;
+ grid-template-columns: var(--list-grid-cols);
+ }
+ & > :not(:last-child) {
+ &.list-row, .list-row {
+ &:after {
+ content: "";
+ border-bottom: var(--border) solid;
+ inset-inline: var(--radius-box);
+ position: absolute;
+ bottom: 0;
+ border-color: var(--color-base-content);
+ @supports (color: color-mix(in lab, red, red)) {
+ border-color: color-mix(in oklab, var(--color-base-content) 5%, transparent);
+ }
+ }
+ }
+ }
+ }
+ @layer daisyui.l1.l2 {
+ .list-row {
+ &:has(.list-col-grow:nth-child(1)) {
+ --list-grid-cols: 1fr;
+ }
+ &:has(.list-col-grow:nth-child(2)) {
+ --list-grid-cols: minmax(0, auto) 1fr;
+ }
+ &:has(.list-col-grow:nth-child(3)) {
+ --list-grid-cols: minmax(0, auto) minmax(0, auto) 1fr;
+ }
+ &:has(.list-col-grow:nth-child(4)) {
+ --list-grid-cols: minmax(0, auto) minmax(0, auto) minmax(0, auto) 1fr;
+ }
+ &:has(.list-col-grow:nth-child(5)) {
+ --list-grid-cols: minmax(0, auto) minmax(0, auto) minmax(0, auto) minmax(0, auto) 1fr;
+ }
+ &: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;
+ }
+ > * {
+ grid-row-start: 1;
+ }
+ }
+ }
+ }
+ .toast {
+ @layer daisyui.l1.l2.l3 {
+ position: fixed;
+ inset-inline-start: auto;
+ inset-inline-end: calc(0.25rem * 4);
+ top: auto;
+ bottom: calc(0.25rem * 4);
+ display: flex;
+ flex-direction: column;
+ gap: calc(0.25rem * 2);
+ background-color: transparent;
+ translate: var(--toast-x, 0) var(--toast-y, 0);
+ width: max-content;
+ max-width: calc(100vw - 2rem);
+ & > * {
+ @media (prefers-reduced-motion: no-preference) {
+ animation: toast 0.25s ease-out;
+ }
+ }
+ }
+ }
+ .toggle {
+ @layer daisyui.l1.l2.l3 {
+ border: var(--border) solid currentColor;
+ color: var(--input-color);
+ position: relative;
+ display: inline-grid;
+ flex-shrink: 0;
+ cursor: pointer;
+ appearance: none;
+ place-content: center;
+ vertical-align: middle;
+ webkit-user-select: none;
+ user-select: none;
+ grid-template-columns: 0fr 1fr 1fr;
+ --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);
+ box-shadow: 0 1px currentColor inset;
+ @supports (color: color-mix(in lab, red, red)) {
+ box-shadow: 0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000) inset;
+ }
+ transition: color 0.3s, grid-template-columns 0.2s;
+ --input-color: var(--color-base-content);
+ @supports (color: color-mix(in lab, red, red)) {
+ --input-color: color-mix(in oklab, var(--color-base-content) 50%, #0000);
+ }
+ --toggle-p: calc(var(--size) * 0.125);
+ --size: calc(var(--size-selector, 0.25rem) * 6);
+ width: calc((var(--size) * 2) - (var(--border) + var(--toggle-p)) * 2);
+ height: var(--size);
+ > * {
+ z-index: 1;
+ grid-column: span 1 / span 1;
+ grid-column-start: 2;
+ grid-row-start: 1;
+ height: 100%;
+ cursor: pointer;
+ appearance: none;
+ background-color: transparent;
+ padding: calc(0.25rem * 0.5);
+ transition: opacity 0.2s, rotate 0.4s;
+ border: none;
+ &:focus {
+ --tw-outline-style: none;
+ outline-style: none;
+ @media (forced-colors: active) {
+ outline: 2px solid transparent;
+ outline-offset: 2px;
+ }
+ }
+ &:nth-child(2) {
+ color: var(--color-base-100);
+ rotate: 0deg;
+ }
+ &:nth-child(3) {
+ color: var(--color-base-100);
+ opacity: 0%;
+ rotate: -15deg;
+ }
+ }
+ &:has(:checked) {
+ > :nth-child(2) {
+ opacity: 0%;
+ rotate: 15deg;
+ }
+ > :nth-child(3) {
+ opacity: 100%;
+ rotate: 0deg;
+ }
+ }
+ &:before {
+ position: relative;
+ inset-inline-start: calc(0.25rem * 0);
+ grid-column-start: 2;
+ grid-row-start: 1;
+ aspect-ratio: 1 / 1;
+ height: 100%;
+ width: 100%;
+ border-radius: var(--radius-selector);
+ background-color: currentcolor;
+ translate: 0;
+ --tw-content: "";
+ content: var(--tw-content);
+ transition: background-color 0.1s, translate 0.2s, inset-inline-start 0.2s;
+ box-shadow: 0 -1px oklch(0% 0 0 / calc(var(--depth) * 0.1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset, 0 1px currentColor;
+ @supports (color: color-mix(in lab, red, red)) {
+ box-shadow: 0 -1px oklch(0% 0 0 / calc(var(--depth) * 0.1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset, 0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000);
+ }
+ background-size: auto, calc(var(--noise) * 100%);
+ background-image: none, var(--fx-noise);
+ }
+ @media (forced-colors: active) {
+ &:before {
+ outline-style: var(--tw-outline-style);
+ outline-width: 1px;
+ outline-offset: calc(1px * -1);
+ }
+ }
+ @media print {
+ &:before {
+ outline: 0.25rem solid;
+ outline-offset: -1rem;
+ }
+ }
+ &:focus-visible, &:has(:focus-visible) {
+ outline: 2px solid currentColor;
+ outline-offset: 2px;
+ }
+ &:checked, &[aria-checked="true"], &:has( > input:checked) {
+ grid-template-columns: 1fr 1fr 0fr;
+ background-color: var(--color-base-100);
+ --input-color: var(--color-base-content);
+ &:before {
+ background-color: currentcolor;
+ }
+ @starting-style {
+ &:before {
+ opacity: 0;
+ }
+ }
+ }
+ &:indeterminate {
+ grid-template-columns: 0.5fr 1fr 0.5fr;
+ }
+ &:disabled {
+ cursor: not-allowed;
+ opacity: 30%;
+ &:before {
+ background-color: transparent;
+ border: var(--border) solid currentColor;
+ }
+ }
+ }
+ }
+ .input {
+ @layer daisyui.l1.l2.l3 {
+ position: relative;
+ display: inline-flex;
+ flex-shrink: 1;
+ appearance: none;
+ align-items: center;
+ gap: calc(0.25rem * 2);
+ background-color: var(--color-base-100);
+ padding-inline: calc(0.25rem * 3);
+ vertical-align: middle;
+ white-space: nowrap;
+ --size: calc(var(--size-field, 0.25rem) * var(--in-size-mul));
+ --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);
+ }
+ cursor: text;
+ width: clamp(3rem, 20rem, 100%);
+ height: var(--size);
+ font-size: max(var(--font-size, 0rem), var(--font-size-min));
+ touch-action: manipulation;
+ 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: var(--border) solid var(--input-color, #0000);
+ 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;
+ }
+ input {
+ height: 100%;
+ width: 100%;
+ appearance: none;
+ background-color: transparent;
+ border: none;
+ &::placeholder {
+ color: var(--color-base-content);
+ opacity: 50%;
+ }
+ &:focus, &:focus-within {
+ --tw-outline-style: none;
+ outline-style: none;
+ @media (forced-colors: active) {
+ outline: 2px solid transparent;
+ outline-offset: 2px;
+ }
+ }
+ &::-webkit-calendar-picker-indicator {
+ inset-inline-end: -0.15em;
+ }
+ }
+ &::-webkit-inner-spin-button {
+ margin-inline-end: -10px;
+ }
+ &::-webkit-calendar-picker-indicator {
+ inset-inline-end: 0.75em;
+ }
+ input&, input {
+ position: relative;
+ display: inline-flex;
+ &[type="url"], &[type="email"] {
+ text-align: left;
+ }
+ &::-webkit-datetime-edit, &::-webkit-date-and-time-value {
+ display: grid;
+ min-height: 100%;
+ align-items: center;
+ text-align: inherit;
+ }
+ &::-webkit-inner-spin-button {
+ margin-block: calc(0.25rem * var(--spin-my));
+ }
+ &::-webkit-calendar-picker-indicator {
+ position: absolute;
+ width: 1em;
+ height: 1em;
+ cursor: pointer;
+ }
+ &::-webkit-color-swatch-wrapper {
+ padding-block: 0.25rem;
+ }
+ }
+ &:focus, &:focus-within {
+ --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) calc(var(--depth) * 10%), #0000);
+ }
+ outline: 2px solid var(--input-color);
+ outline-offset: 2px;
+ isolation: isolate;
+ }
+ @media (pointer: coarse) {
+ @supports (-webkit-touch-callout: none) {
+ &:focus, &:focus-within {
+ --font-size: 1rem;
+ }
+ }
+ }
+ &:has( > input[disabled]), &:is(:disabled, [disabled]), fieldset:disabled & {
+ cursor: not-allowed;
+ border-color: var(--color-base-200);
+ background-color: var(--color-base-200);
+ &:is(input), :is(input) {
+ color: var(--color-base-content);
+ @supports (color: color-mix(in lab, red, red)) {
+ color: color-mix(in oklab, var(--color-base-content) 40%, transparent);
+ }
+ }
+ box-shadow: none;
+ &::placeholder, ::placeholder {
+ color: var(--color-base-content);
+ opacity: 20%;
+ }
+ }
+ &:has( > input[disabled]) > input[disabled] {
+ cursor: not-allowed;
+ }
+ }
+ @layer daisyui.l1.l2 {
+ --in-size-mul: 10;
+ --font-size-min: 0.875rem;
+ --spin-my: -3;
+ .floating-label:has(&) {
+ --top-mul: 5;
+ --font-size: 0.875rem;
+ }
+ }
+ }
+ .table {
+ @layer daisyui.l1.l2.l3 {
+ font-size: 0.875rem;
+ position: relative;
+ width: 100%;
+ border-collapse: separate;
+ --tw-border-spacing-x: 0;
+ --tw-border-spacing-y: 0;
+ border-spacing: var(--tw-border-spacing-x) var(--tw-border-spacing-y);
+ border-radius: var(--radius-box);
+ text-align: left;
+ &:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) {
+ text-align: right;
+ }
+ tr.row-hover {
+ &, &:nth-child(even) {
+ &:hover {
+ @media (hover: hover) {
+ background-color: var(--color-base-200);
+ }
+ }
+ }
+ }
+ :where(th, td) {
+ padding-inline: calc(0.25rem * 4);
+ padding-block: calc(0.25rem * 3);
+ vertical-align: middle;
+ }
+ :where(thead, tfoot) {
+ white-space: nowrap;
+ color: var(--color-base-content);
+ @supports (color: color-mix(in lab, red, red)) {
+ color: color-mix(in oklab, var(--color-base-content) 60%, transparent);
+ }
+ font-size: 0.875rem;
+ font-weight: 600;
+ }
+ :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)) {
+ border-top: var(--border) solid color-mix(in oklch, var(--color-base-content) 5%, #0000);
+ }
+ }
+ :where(.table-pin-rows thead tr) {
+ position: sticky;
+ top: 0;
+ z-index: 1;
+ background-color: var(--color-base-100);
+ }
+ :where(.table-pin-rows tfoot tr) {
+ position: sticky;
+ bottom: 0;
+ z-index: 1;
+ background-color: var(--color-base-100);
+ }
+ :where(.table-pin-cols tr th) {
+ position: sticky;
+ right: 0;
+ left: 0;
+ background-color: var(--color-base-100);
+ }
+ :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)) {
+ border-bottom: var(--border) solid color-mix(in oklch, var(--color-base-content) 5%, #0000);
+ }
+ }
+ }
+ }
+ .aura {
+ @layer daisyui.l1.l2.l3 {
+ position: relative;
+ display: inline-block;
+ --aura-padding: 0.125rem;
+ padding: var(--aura-padding);
+ border-radius: calc(var(--aura-padding) + var(--aura-radius, var(--radius-box)));
+ animation: aura var(--tw-duration, 6s) linear infinite;
+ background-image: conic-gradient(from var(--aura-angle), transparent 225deg, currentColor);
+ &:has( > .card, > .alert) {
+ --aura-radius: var(--radius-box);
+ }
+ &:has( > .btn, > .input, > .select) {
+ --aura-radius: var(--radius-field);
+ }
+ &:has( > .checkbox, > .toggle, > .badge) {
+ --aura-radius: var(--radius-selector);
+ }
+ &:before, &:after {
+ animation: inherit;
+ background-color: inherit;
+ background-image: inherit;
+ border-radius: inherit;
+ position: absolute;
+ top: calc(1 / 2 * 100%);
+ left: calc(1 / 2 * 100%);
+ z-index: 0;
+ display: block;
+ opacity: 70%;
+ filter: blur(0.25rem);
+ translate: -50% -50%;
+ width: 100%;
+ height: 100%;
+ content: "";
+ }
+ &:after {
+ opacity: 30%;
+ filter: blur(1rem);
+ }
+ & > * {
+ position: relative;
+ z-index: 1;
+ }
+ }
+ }
+ .select {
+ @layer daisyui.l1.l2.l3 {
+ position: relative;
+ display: inline-flex;
+ flex-shrink: 1;
+ appearance: none;
+ align-items: center;
+ gap: calc(0.25rem * 1.5);
+ background-color: var(--color-base-100);
+ padding-inline-start: calc(0.25rem * 3);
+ padding-inline-end: calc(0.25rem * 7);
+ vertical-align: middle;
+ --size: calc(var(--size-field, 0.25rem) * var(--sl-size-mul));
+ --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);
+ }
+ width: clamp(3rem, 20rem, 100%);
+ height: var(--size);
+ font-size: max(var(--font-size, 0rem), var(--font-size-min));
+ touch-action: manipulation;
+ 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));
+ 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-size: 4px 4px, 4px 4px;
+ background-repeat: no-repeat;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ border: var(--border) solid var(--input-color, #0000);
+ 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;
+ }
+ [dir="rtl"] & {
+ background-position: calc(0% + 12px) calc(1px + 50%), calc(0% + 16px) calc(1px + 50%);
+ &::picker(select), select::picker(select) {
+ translate: 0.5rem 0;
+ }
+ }
+ &[multiple] {
+ height: auto;
+ overflow: auto;
+ padding-block: calc(0.25rem * 3);
+ padding-inline-end: calc(0.25rem * 3);
+ background-image: none;
+ }
+ select {
+ margin-inline-start: calc(0.25rem * -3);
+ margin-inline-end: calc(0.25rem * -7);
+ width: calc(100% + 2.75rem);
+ appearance: none;
+ padding-inline-start: calc(0.25rem * 3);
+ padding-inline-end: calc(0.25rem * 7);
+ height: calc(100% - calc(var(--border) * 2));
+ align-items: center;
+ background: inherit;
+ border-radius: inherit;
+ border-style: none;
+ &::placeholder {
+ color: var(--color-base-content);
+ opacity: 50%;
+ }
+ &:focus, &:focus-within {
+ --tw-outline-style: none;
+ outline-style: none;
+ @media (forced-colors: active) {
+ outline: 2px solid transparent;
+ outline-offset: 2px;
+ }
+ }
+ &:not(:last-child) {
+ margin-inline-end: calc(0.25rem * -5.5);
+ background-image: none;
+ }
+ }
+ &:focus, &:focus-within, &:open {
+ --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) calc(var(--depth) * 10%), #0000);
+ }
+ outline: 2px solid var(--input-color);
+ outline-offset: 2px;
+ isolation: isolate;
+ background-image: linear-gradient(135deg, #0000 50%, currentColor 50%), linear-gradient(45deg, currentColor 50%, #0000 50%);
+ }
+ &:has( > select[disabled]), &:is(:disabled, [disabled]), fieldset:disabled & {
+ cursor: not-allowed;
+ border-color: var(--color-base-200);
+ background-color: var(--color-base-200);
+ &:is(select), :is(select) {
+ color: var(--color-base-content);
+ @supports (color: color-mix(in lab, red, red)) {
+ color: color-mix(in oklab, var(--color-base-content) 40%, transparent);
+ }
+ }
+ box-shadow: none;
+ &::placeholder, ::placeholder {
+ color: var(--color-base-content);
+ opacity: 20%;
+ }
+ }
+ &:has( > select[disabled]) > select[disabled] {
+ cursor: not-allowed;
+ }
+ &, & select {
+ @supports (appearance: base-select) {
+ &, &::picker(select) {
+ appearance: base-select;
+ }
+ }
+ &::picker(select) {
+ color: inherit;
+ max-height: min(24rem, 70dvh);
+ margin-inline: 0.5rem;
+ translate: -0.5rem 0;
+ border: var(--border) solid var(--color-base-200);
+ margin-block: calc(0.25rem * 2);
+ border-radius: var(--radius-box);
+ padding: calc(0.25rem * 2);
+ background-color: inherit;
+ box-shadow: 0 2px calc(var(--depth) * 3px) -2px oklch(0% 0 0/0.2);
+ box-shadow: 0 20px 25px -5px rgb(0 0 0 / calc(var(--depth) * 0.1)), 0 8px 10px -6px rgb(0 0 0 / calc(var(--depth) * 0.1));
+ }
+ &::picker-icon {
+ display: none;
+ }
+ selectedcontent {
+ width: 100%;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ }
+ optgroup {
+ padding-top: 0.5em;
+ option {
+ &:nth-child(1) {
+ margin-top: 0.5em;
+ }
+ }
+ }
+ option {
+ border-radius: var(--radius-field);
+ padding-block: calc(0.25rem * 1.5);
+ padding-inline: calc(0.25rem * var(--option-px));
+ transition-property: color, background-color;
+ transition-duration: 0.2s;
+ transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
+ white-space: normal;
+ &:not(:disabled) {
+ &:hover, &:focus-visible {
+ cursor: pointer;
+ background-color: var(--color-base-content);
+ @supports (color: color-mix(in lab, red, red)) {
+ background-color: color-mix(in oklab, var(--color-base-content) 10%, transparent);
+ }
+ --tw-outline-style: none;
+ outline-style: none;
+ @media (forced-colors: active) {
+ outline: 2px solid transparent;
+ outline-offset: 2px;
+ }
+ }
+ &:active {
+ background-color: var(--color-neutral);
+ color: var(--color-neutral-content);
+ box-shadow: 0 2px calc(var(--depth) * 3px) -2px var(--color-neutral);
+ }
+ }
+ }
+ }
+ }
+ @layer daisyui.l1.l2 {
+ --sl-size-mul: 10;
+ --font-size-min: 0.875rem;
+ --option-px: 3;
+ .floating-label:has(&) {
+ --top-mul: 5;
+ --font-size: 0.875rem;
+ }
+ }
+ }
+ .collapse-title {
+ @layer daisyui.l1.l2.l3 {
+ grid-column-start: 1;
+ grid-row-start: 1;
+ position: relative;
+ width: 100%;
+ padding: 1rem;
+ padding-inline-end: 3rem;
+ min-height: 1lh;
+ transition: background-color 0.2s ease-out;
+ }
+ }
+ .sr-only {
+ position: absolute;
+ width: 1px;
+ height: 1px;
+ padding: 0;
+ margin: -1px;
+ overflow: hidden;
+ clip-path: inset(50%);
+ white-space: nowrap;
+ border-width: 0;
+ }
+ .avatar {
+ @layer daisyui.l1.l2.l3 {
+ position: relative;
+ display: inline-flex;
+ vertical-align: middle;
+ & > div {
+ display: block;
+ aspect-ratio: 1 / 1;
+ overflow: hidden;
+ }
+ img {
+ height: 100%;
+ width: 100%;
+ object-fit: cover;
+ }
+ }
+ }
+ .checkbox {
+ @layer daisyui.l1.l2.l3 {
+ border: var(--border) solid var(--input-color, var(--color-base-content));
+ @supports (color: color-mix(in lab, red, red)) {
+ border: var(--border) solid var(--input-color, color-mix(in oklab, var(--color-base-content) 20%, #0000));
+ }
+ position: relative;
+ display: inline-block;
+ flex-shrink: 0;
+ cursor: pointer;
+ appearance: none;
+ border-radius: var(--radius-selector);
+ padding: 0.25rem;
+ vertical-align: middle;
+ color: var(--color-base-content);
+ box-shadow: 0 1px oklch(0% 0 0 / calc(var(--depth) * 0.1)) inset, 0 0 #0000 inset, 0 0 #0000;
+ transition: background-color 0.2s, box-shadow 0.2s;
+ --size: calc(var(--size-selector, 0.25rem) * 6);
+ width: var(--size);
+ height: var(--size);
+ background-size: auto, calc(var(--noise) * 100%);
+ background-image: none, var(--fx-noise);
+ &:before {
+ --tw-content: "";
+ content: var(--tw-content);
+ display: block;
+ width: 100%;
+ height: 100%;
+ rotate: 45deg;
+ background-color: currentcolor;
+ opacity: 0%;
+ transition: clip-path 0.3s, opacity 0.1s, rotate 0.3s, translate 0.3s;
+ transition-delay: 0.1s;
+ clip-path: polygon(20% 100%, 20% 80%, 50% 80%, 50% 80%, 70% 80%, 70% 100%);
+ box-shadow: 0px 3px 0 0px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset;
+ font-size: 1rem;
+ line-height: 0.75;
+ }
+ &:focus-visible {
+ outline: 2px solid var(--input-color, currentColor);
+ outline-offset: 2px;
+ }
+ &:checked, &[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) * 0.1)) inset, 0 1px oklch(0% 0 0 / calc(var(--depth) * 0.1));
+ &:before {
+ clip-path: polygon(20% 100%, 20% 80%, 50% 80%, 50% 0%, 70% 0%, 70% 100%);
+ opacity: 100%;
+ }
+ @media (forced-colors: active) {
+ &:before {
+ rotate: 0deg;
+ background-color: transparent;
+ --tw-content: "✔︎";
+ clip-path: none;
+ }
+ }
+ @media print {
+ &:before {
+ rotate: 0deg;
+ background-color: transparent;
+ --tw-content: "✔︎";
+ clip-path: none;
+ }
+ }
+ }
+ &:indeterminate {
+ background-color: var(--input-color, var(--color-base-content) );
+ @supports (color: color-mix(in lab, red, red)) {
+ background-color: var(--input-color, color-mix(in oklab, var(--color-base-content) 20%, #0000) );
+ }
+ &:before {
+ rotate: 0deg;
+ opacity: 100%;
+ translate: 0 -35%;
+ clip-path: polygon(20% 100%, 20% 80%, 50% 80%, 50% 80%, 80% 80%, 80% 100%);
+ }
+ }
+ }
+ &:disabled {
+ @layer daisyui.l1.l2 {
+ cursor: not-allowed;
+ opacity: 20%;
+ }
+ }
+ }
+ .radio {
+ @layer daisyui.l1.l2.l3 {
+ position: relative;
+ display: inline-block;
+ flex-shrink: 0;
+ cursor: pointer;
+ appearance: none;
+ border-radius: calc(infinity * 1px);
+ padding: 0.25rem;
+ vertical-align: middle;
+ border: var(--border) solid var(--input-color, currentColor);
+ @supports (color: color-mix(in lab, red, red)) {
+ border: var(--border) solid var(--input-color, color-mix(in srgb, currentColor 20%, #0000));
+ }
+ box-shadow: 0 1px oklch(0% 0 0 / calc(var(--depth) * 0.1)) inset;
+ --size: calc(var(--size-selector, 0.25rem) * 6);
+ width: var(--size);
+ height: var(--size);
+ color: var(--input-color, currentColor);
+ &:before {
+ display: block;
+ width: 100%;
+ height: 100%;
+ border-radius: calc(infinity * 1px);
+ --tw-content: "";
+ content: var(--tw-content);
+ background-size: auto, calc(var(--noise) * 100%);
+ background-image: none, var(--fx-noise);
+ }
+ &:focus-visible {
+ outline: 2px solid currentColor;
+ }
+ &:checked, &[aria-checked="true"] {
+ border-color: currentcolor;
+ background-color: var(--color-base-100);
+ @media (prefers-reduced-motion: no-preference) {
+ animation: radio 0.2s ease-out;
+ }
+ &:before {
+ background-color: currentcolor;
+ box-shadow: 0 -1px oklch(0% 0 0 / calc(var(--depth) * 0.1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset, 0 1px oklch(0% 0 0 / calc(var(--depth) * 0.1));
+ }
+ @media (forced-colors: active) {
+ &:before {
+ outline-style: var(--tw-outline-style);
+ outline-width: 1px;
+ outline-offset: calc(1px * -1);
+ }
+ }
+ @media print {
+ &:before {
+ outline: 0.25rem solid;
+ outline-offset: -1rem;
+ }
+ }
+ }
+ }
+ &:disabled {
+ @layer daisyui.l1.l2 {
+ cursor: not-allowed;
+ opacity: 20%;
+ }
+ }
+ }
+ .rating {
+ @layer daisyui.l1.l2.l3 {
+ position: relative;
+ display: inline-flex;
+ vertical-align: middle;
+ --size: var(--size-selector, 0.25rem) * 6;
+ input {
+ cursor: pointer;
+ appearance: none;
+ }
+ * {
+ border-radius: 0;
+ background-color: var(--color-base-content);
+ opacity: 20%;
+ width: calc(var(--size) * 1);
+ height: calc(var(--size));
+ @media (prefers-reduced-motion: no-preference) {
+ animation: rating 0.25s ease-out;
+ }
+ }
+ .rating-hidden {
+ width: calc(0.25rem * 2);
+ background-color: transparent;
+ }
+ :checked, [aria-checked="true"], [aria-current="true"], :has( ~ :checked, ~ [aria-checked="true"], ~ [aria-current="true"]) {
+ opacity: 100%;
+ }
+ :focus-visible {
+ scale: 1.1;
+ @media (prefers-reduced-motion: no-preference) {
+ transition: scale 0.2s ease-out;
+ }
+ }
+ :active:focus {
+ animation: none;
+ scale: 1.1;
+ }
+ }
+ @layer daisyui.l1.l2 {
+ --size: var(--size-selector, 0.25rem) * 6;
+ }
+ }
+ .navbar {
+ @layer daisyui.l1.l2.l3 {
+ display: flex;
+ width: 100%;
+ align-items: center;
+ padding: 0.5rem;
+ min-height: 4rem;
+ }
+ :where(&) {
+ @layer daisyui.l1.l2 {
+ position: relative;
+ }
+ }
+ }
+ .card {
+ @layer daisyui.l1.l2.l3 {
+ position: relative;
+ display: flex;
+ flex-direction: column;
+ border-radius: var(--radius-box);
+ transition: outline 0.2s ease-in-out;
+ outline: 2px solid #0000;
+ outline-offset: 2px;
+ &:focus-visible, &[aria-checked="true"], &:has( > :checked, > :is([type="checkbox"], [type="radio"]):focus-visible) {
+ outline-color: currentColor;
+ }
+ &:has( > :checked:focus-visible), &[aria-checked="true"]:focus-visible, &[aria-checked="true"]:has( > :is([type="checkbox"], [type="radio"]):focus-visible) {
+ outline-width: 4px;
+ }
+ &:has( > :is([type="checkbox"], [type="radio"])) {
+ cursor: pointer;
+ user-select: none;
+ }
+ > :is([type="checkbox"], [type="radio"]) {
+ appearance: none;
+ }
+ }
+ @layer daisyui.l1.l2.l3.l4 {
+ figure:first-child {
+ overflow: hidden;
+ border-start-start-radius: inherit;
+ border-start-end-radius: inherit;
+ border-end-start-radius: unset;
+ border-end-end-radius: unset;
+ }
+ figure:last-child {
+ overflow: hidden;
+ border-start-start-radius: unset;
+ border-start-end-radius: unset;
+ border-end-start-radius: inherit;
+ border-end-end-radius: inherit;
+ }
+ figure {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ }
+ }
+ }
+ .stats {
+ @layer daisyui.l1.l2.l3 {
+ position: relative;
+ display: inline-grid;
+ grid-auto-flow: column;
+ overflow-x: auto;
+ border-radius: var(--radius-box);
+ }
+ }
+ .progress {
+ @layer daisyui.l1.l2.l3 {
+ position: relative;
+ height: calc(0.25rem * 2);
+ width: 100%;
+ appearance: none;
+ overflow: hidden;
+ border-radius: var(--radius-box);
+ background-color: currentcolor;
+ @supports (color: color-mix(in lab, red, red)) {
+ background-color: color-mix(in oklab, currentcolor 20%, transparent);
+ }
+ color: var(--color-base-content);
+ &:indeterminate {
+ background-image: repeating-linear-gradient( 90deg, currentColor -1%, currentColor 10%, #0000 10%, #0000 90% );
+ background-size: 200%;
+ background-position-x: 15%;
+ @media (prefers-reduced-motion: no-preference) {
+ animation: progress 5s ease-in-out infinite;
+ }
+ @supports (-moz-appearance: none) {
+ &::-moz-progress-bar {
+ background-color: transparent;
+ @media (prefers-reduced-motion: no-preference) {
+ animation: progress 5s ease-in-out infinite;
+ background-image: repeating-linear-gradient( 90deg, currentColor -1%, currentColor 10%, #0000 10%, #0000 90% );
+ background-size: 200%;
+ background-position-x: 15%;
+ }
+ }
+ }
+ }
+ @supports (-moz-appearance: none) {
+ &::-moz-progress-bar {
+ border-radius: var(--radius-box);
+ background-color: currentcolor;
+ @media (prefers-reduced-motion: no-preference) {
+ transition: inline-size 0.3s ease;
+ }
+ }
+ }
+ @supports (-webkit-appearance: none) {
+ &::-webkit-progress-bar {
+ border-radius: var(--radius-box);
+ background-color: transparent;
+ }
+ &::-webkit-progress-value {
+ border-radius: var(--radius-box);
+ background-color: currentColor;
+ @media (prefers-reduced-motion: no-preference) {
+ transition: inline-size 0.3s ease;
+ }
+ }
+ }
+ }
+ }
+ .fixed {
+ position: fixed;
+ }
+ .static {
+ position: static;
+ }
+ .dropdown-right {
+ @layer daisyui.l1.l2 {
+ --anchor-h: right;
+ --anchor-v: span-bottom;
+ .dropdown-content {
+ inset-inline-start: 100%;
+ top: 0;
+ bottom: auto;
+ transform-origin: 0;
+ }
+ }
+ }
+ .dropdown-left {
+ @layer daisyui.l1.l2 {
+ --anchor-h: left;
+ --anchor-v: span-bottom;
+ .dropdown-content {
+ inset-inline-end: 100%;
+ top: 0;
+ bottom: auto;
+ transform-origin: 100%;
+ }
+ }
+ }
+ .dropdown-end {
+ @layer daisyui.l1.l2 {
+ --anchor-h: span-left;
+ :where(.dropdown-content) {
+ inset-inline-end: calc(0.25rem * 0);
+ translate: 0 0;
+ [dir="rtl"] & {
+ translate: 0 0;
+ }
+ }
+ &.dropdown-left {
+ --anchor-h: left;
+ --anchor-v: span-top;
+ .dropdown-content {
+ top: auto;
+ bottom: 0;
+ }
+ }
+ &.dropdown-right {
+ --anchor-h: right;
+ --anchor-v: span-top;
+ .dropdown-content {
+ top: auto;
+ bottom: 0;
+ }
+ }
+ }
+ }
+ .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(--fx-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);
+ }
+ }
+ &: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;
+ background-image: 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 {
+ min-height: calc(0.25rem * 20);
+ flex-shrink: 1;
+ appearance: none;
+ border-radius: var(--radius-field);
+ background-color: var(--color-base-100);
+ padding-inline: calc(0.25rem * 3);
+ padding-block: calc(0.25rem * 2);
+ vertical-align: middle;
+ --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);
+ }
+ width: clamp(3rem, 20rem, 100%);
+ font-size: max(var(--font-size, 0rem), var(--font-size-min));
+ touch-action: manipulation;
+ border: var(--border) solid var(--input-color, #0000);
+ 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;
+ }
+ textarea {
+ appearance: none;
+ background-color: transparent;
+ border: none;
+ &::placeholder {
+ color: var(--color-base-content);
+ opacity: 50%;
+ }
+ &:focus, &:focus-within {
+ --tw-outline-style: none;
+ outline-style: none;
+ @media (forced-colors: active) {
+ outline: 2px solid transparent;
+ outline-offset: 2px;
+ }
+ }
+ }
+ &:focus, &:focus-within {
+ --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) calc(var(--depth) * 10%), #0000);
+ }
+ outline: 2px solid var(--input-color);
+ outline-offset: 2px;
+ isolation: isolate;
+ }
+ @media (pointer: coarse) {
+ @supports (-webkit-touch-callout: none) {
+ &:focus, &:focus-within {
+ --font-size: 1rem;
+ }
+ }
+ }
+ &:has( > textarea[disabled]), &: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)) {
+ color: color-mix(in oklab, var(--color-base-content) 40%, transparent);
+ }
+ box-shadow: none;
+ &::placeholder, ::placeholder {
+ color: var(--color-base-content);
+ opacity: 20%;
+ }
+ }
+ &:has( > textarea[disabled]) > textarea[disabled] {
+ cursor: not-allowed;
+ }
+ }
+ @layer daisyui.l1.l2 {
+ --font-size-min: 0.875rem;
+ .floating-label:has(&) {
+ --top-mul: 5;
+ --font-size: 0.875rem;
+ }
+ }
+ }
+ .stack {
+ @layer daisyui.l1.l2.l3 {
+ display: inline-grid;
+ grid-template-columns: 3px 4px 1fr 4px 3px;
+ grid-template-rows: 3px 4px 1fr 4px 3px;
+ & > * {
+ height: 100%;
+ width: 100%;
+ &:nth-child(n + 2) {
+ width: 100%;
+ opacity: 70%;
+ }
+ &:nth-child(2) {
+ z-index: 2;
+ opacity: 90%;
+ }
+ &:nth-child(1) {
+ z-index: 3;
+ width: 100%;
+ }
+ }
+ }
+ @layer daisyui.l1.l2 {
+ &, &.stack-bottom {
+ > * {
+ grid-column: 3 / 4;
+ grid-row: 3 / 6;
+ &:nth-child(2) {
+ grid-column: 2 / 5;
+ grid-row: 2 / 5;
+ }
+ &:nth-child(1) {
+ grid-column: 1 / 6;
+ grid-row: 1 / 4;
+ }
+ }
+ }
+ &.stack-top {
+ > * {
+ grid-column: 3 / 4;
+ grid-row: 1 / 4;
+ &:nth-child(2) {
+ grid-column: 2 / 5;
+ grid-row: 2 / 5;
+ }
+ &:nth-child(1) {
+ grid-column: 1 / 6;
+ grid-row: 3 / 6;
+ }
+ }
+ }
+ &.stack-start {
+ > * {
+ grid-column: 1 / 4;
+ grid-row: 3 / 4;
+ &:nth-child(2) {
+ grid-column: 2 / 5;
+ grid-row: 2 / 5;
+ }
+ &:nth-child(1) {
+ grid-column: 3 / 6;
+ grid-row: 1 / 6;
+ }
+ }
+ }
+ &.stack-end {
+ > * {
+ grid-column: 3 / 6;
+ grid-row: 3 / 4;
+ &:nth-child(2) {
+ grid-column: 2 / 5;
+ grid-row: 2 / 5;
+ }
+ &:nth-child(1) {
+ grid-column: 1 / 4;
+ grid-row: 1 / 6;
+ }
+ }
+ }
+ }
+ }
+ .z-10 {
+ z-index: 10;
+ }
+ .tab-content {
+ @layer daisyui.l1.l2.l3 {
+ order: var(--tabcontent-order);
+ display: none;
+ border-color: transparent;
+ --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-width: var(--border);
+ border-start-start-radius: var(--tabcontent-radius-ss);
+ border-start-end-radius: var(--tabcontent-radius-se);
+ border-end-start-radius: var(--tabcontent-radius-es);
+ border-end-end-radius: var(--tabcontent-radius-ee);
+ }
+ }
+ .hero {
+ @layer daisyui.l1.l2.l3 {
+ display: grid;
+ width: 100%;
+ place-items: center;
+ background-size: cover;
+ background-position: center;
+ & > * {
+ grid-column-start: 1;
+ grid-row-start: 1;
+ }
+ }
+ }
+ .stat-value {
+ @layer daisyui.l1.l2.l3 {
+ grid-column-start: 1;
+ white-space: nowrap;
+ font-size: 2rem;
+ font-weight: 800;
+ }
+ }
+ .stat-title {
+ @layer daisyui.l1.l2.l3 {
+ grid-column-start: 1;
+ white-space: nowrap;
+ color: var(--color-base-content);
+ @supports (color: color-mix(in lab, red, red)) {
+ color: color-mix(in oklab, var(--color-base-content) 60%, transparent);
+ }
+ font-size: 0.75rem;
+ }
+ }
+ .container {
+ width: 100%;
+ @media (width >= 40rem) {
+ max-width: 40rem;
+ }
+ @media (width >= 48rem) {
+ max-width: 48rem;
+ }
+ @media (width >= 64rem) {
+ max-width: 64rem;
+ }
+ @media (width >= 80rem) {
+ max-width: 80rem;
+ }
+ @media (width >= 96rem) {
+ max-width: 96rem;
+ }
+ }
+ .divider {
+ @layer daisyui.l1.l2.l3 {
+ display: flex;
+ height: calc(0.25rem * 4);
+ flex-direction: row;
+ align-items: center;
+ align-self: stretch;
+ white-space: nowrap;
+ margin: var(--divider-m, 1rem 0);
+ --divider-color: var(--color-base-content);
+ @supports (color: color-mix(in lab, red, red)) {
+ --divider-color: color-mix(in oklab, var(--color-base-content) 10%, transparent);
+ }
+ &:before, &:after {
+ content: "";
+ height: calc(0.25rem * 0.5);
+ width: 100%;
+ flex-grow: 1;
+ background-color: var(--divider-color);
+ }
+ @media print {
+ &:before, &:after {
+ border: 0.5px solid;
+ }
+ }
+ &:not(:empty) {
+ gap: calc(0.25rem * 4);
+ }
+ }
+ }
+ .mx-auto {
+ margin-inline: auto;
+ }
+ .my-2 {
+ margin-block: calc(var(--spacing) * 2);
+ }
+ .my-3 {
+ margin-block: calc(var(--spacing) * 3);
+ }
+ .my-4 {
+ margin-block: calc(var(--spacing) * 4);
+ }
+ .label {
+ @layer daisyui.l1.l2.l3 {
+ display: inline-flex;
+ align-items: center;
+ gap: calc(0.25rem * 1.5);
+ white-space: nowrap;
+ color: currentcolor;
+ @supports (color: color-mix(in lab, red, red)) {
+ color: color-mix(in oklab, currentcolor 60%, transparent);
+ }
+ &:has(input) {
+ cursor: pointer;
+ }
+ &:is(.input > *, .select > *) {
+ display: flex;
+ height: calc(100% - 0.5rem);
+ align-items: center;
+ padding-inline: calc(0.25rem * 3);
+ white-space: nowrap;
+ font-size: inherit;
+ &:first-child {
+ margin-inline-start: calc(0.25rem * -3);
+ margin-inline-end: calc(0.25rem * 3);
+ border-inline-end: var(--border) solid currentColor;
+ @supports (color: color-mix(in lab, red, red)) {
+ border-inline-end: var(--border) solid color-mix(in oklab, currentColor 10%, #0000);
+ }
+ }
+ &:last-child {
+ margin-inline-start: calc(0.25rem * 3);
+ margin-inline-end: calc(0.25rem * -3);
+ border-inline-start: var(--border) solid currentColor;
+ @supports (color: color-mix(in lab, red, red)) {
+ border-inline-start: var(--border) solid color-mix(in oklab, currentColor 10%, #0000);
+ }
+ }
+ }
+ }
+ }
+ .mt-1 {
+ margin-top: var(--spacing);
+ }
+ .mt-2 {
+ margin-top: calc(var(--spacing) * 2);
+ }
+ .mt-3 {
+ margin-top: calc(var(--spacing) * 3);
+ }
+ .mt-4 {
+ margin-top: calc(var(--spacing) * 4);
+ }
+ .mb-4 {
+ margin-bottom: calc(var(--spacing) * 4);
+ }
+ .mb-6 {
+ margin-bottom: calc(var(--spacing) * 6);
+ }
+ .ml-2 {
+ margin-left: calc(var(--spacing) * 2);
+ }
+ .status {
+ @layer daisyui.l1.l2.l3 {
+ display: inline-block;
+ aspect-ratio: 1 / 1;
+ width: calc(0.25rem * 2);
+ height: calc(0.25rem * 2);
+ border-radius: var(--radius-selector);
+ background-color: var(--color-base-content);
+ @supports (color: color-mix(in lab, red, red)) {
+ background-color: color-mix(in oklab, var(--color-base-content) 20%, transparent);
+ }
+ background-position: center;
+ background-repeat: no-repeat;
+ vertical-align: middle;
+ color: color-mix(in srgb, #000 30%, transparent);
+ @supports (color: color-mix(in lab, red, red)) {
+ color: color-mix(in oklab, var(--color-black) 30%, transparent);
+ }
+ background-image: radial-gradient( circle at 35% 30%, oklch(1 0 0 / calc(var(--depth) * 0.5)), #0000 );
+ box-shadow: 0 2px 3px -1px currentColor;
+ @supports (color: color-mix(in lab, red, red)) {
+ box-shadow: 0 2px 3px -1px color-mix(in oklab, currentColor calc(var(--depth) * 100%), #0000);
+ }
+ }
+ }
+ .badge {
+ @layer daisyui.l1.l2.l3 {
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+ gap: calc(0.25rem * 2);
+ border-radius: var(--radius-selector);
+ vertical-align: middle;
+ color: var(--badge-fg);
+ border: var(--border) solid var(--badge-color, var(--color-base-200));
+ font-size: 0.875rem;
+ width: fit-content;
+ 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, 0.25rem) * 6);
+ height: var(--size);
+ padding-inline: calc(var(--size) / 2 - var(--border));
+ }
+ }
+ .tabs {
+ @layer daisyui.l1.l2.l3 {
+ display: flex;
+ flex-wrap: wrap;
+ --tabs-height: auto;
+ --tabs-direction: row;
+ --tab-height: calc(var(--size-field, 0.25rem) * 10);
+ height: var(--tabs-height);
+ flex-direction: var(--tabs-direction);
+ }
+ }
+ .stat {
+ @layer daisyui.l1.l2.l3 {
+ display: inline-grid;
+ width: 100%;
+ column-gap: calc(0.25rem * 4);
+ padding-inline: calc(0.25rem * 6);
+ padding-block: calc(0.25rem * 4);
+ grid-template-columns: repeat(1, 1fr);
+ &:not(:last-child) {
+ border-inline-end: var(--border) dashed currentColor;
+ @supports (color: color-mix(in lab, red, red)) {
+ border-inline-end: var(--border) dashed color-mix(in oklab, currentColor 10%, #0000);
+ }
+ border-block-end: none;
+ }
+ }
+ }
+ .card-body {
+ @layer daisyui.l1.l2.l3 {
+ display: flex;
+ flex: auto;
+ flex-direction: column;
+ gap: calc(0.25rem * 2);
+ padding: var(--card-p, 1.5rem);
+ font-size: var(--card-fs, 0.875rem);
+ }
+ @layer daisyui.l1.l2.l3.l4 {
+ p {
+ flex-grow: 1;
+ }
+ }
+ }
+ .alert {
+ border-width: var(--border);
+ border-color: var(--alert-border-color, var(--color-base-200));
+ @layer daisyui.l1.l2.l3 {
+ border-style: solid;
+ --alert-border-color: var(--color-base-200);
+ display: grid;
+ align-items: center;
+ gap: calc(0.25rem * 4);
+ border-radius: var(--radius-box);
+ padding-inline: calc(0.25rem * 4);
+ padding-block: calc(0.25rem * 3);
+ color: var(--color-base-content);
+ background-color: var(--alert-color, var(--color-base-200));
+ justify-content: start;
+ justify-items: start;
+ grid-auto-flow: column;
+ grid-template-columns: auto;
+ text-align: start;
+ font-size: 0.875rem;
+ line-height: 1.25rem;
+ background-size: auto, calc(var(--noise) * 33%);
+ background-image: none, var(--fx-noise);
+ box-shadow: 0 3px 0 -2px oklch(100% 0 0 / calc(var(--depth) * 0.08)) inset, 0 1px #000, 0 4px 3px -2px oklch(0% 0 0 / calc(var(--depth) * 0.08));
+ @supports (color: color-mix(in lab, red, red)) {
+ box-shadow: 0 3px 0 -2px oklch(100% 0 0 / calc(var(--depth) * 0.08)) inset, 0 1px color-mix( in oklab, color-mix(in oklab, #000 20%, var(--alert-color, var(--color-base-200))) calc(var(--depth) * 20%), #0000 ), 0 4px 3px -2px oklch(0% 0 0 / calc(var(--depth) * 0.08));
+ }
+ &:has(:nth-child(2)) {
+ grid-template-columns: auto minmax(auto, 1fr);
+ }
+ }
+ }
+ .card-actions {
+ @layer daisyui.l1.l2.l3 {
+ display: flex;
+ flex-wrap: wrap;
+ align-items: flex-start;
+ gap: calc(0.25rem * 2);
+ }
+ }
+ .avatar-placeholder {
+ @layer daisyui.l1.l2 {
+ & > div {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ }
+ }
+ }
+ .card-title {
+ @layer daisyui.l1.l2.l3 {
+ display: flex;
+ align-items: center;
+ gap: calc(0.25rem * 2);
+ font-size: var(--cardtitle-fs, 1.125rem);
+ font-weight: 600;
+ }
+ }
+ .prose {
+ :root & {
+ --tw-prose-body: var(--color-base-content);
+ @supports (color: color-mix(in lab, red, red)) {
+ --tw-prose-body: color-mix(in oklab, var(--color-base-content) 80%, #0000);
+ }
+ --tw-prose-headings: var(--color-base-content);
+ --tw-prose-lead: var(--color-base-content);
+ --tw-prose-links: var(--color-base-content);
+ --tw-prose-bold: var(--color-base-content);
+ --tw-prose-counters: var(--color-base-content);
+ --tw-prose-bullets: var(--color-base-content);
+ @supports (color: color-mix(in lab, red, red)) {
+ --tw-prose-bullets: color-mix(in oklab, var(--color-base-content) 50%, #0000);
+ }
+ --tw-prose-hr: var(--color-base-content);
+ @supports (color: color-mix(in lab, red, red)) {
+ --tw-prose-hr: color-mix(in oklab, var(--color-base-content) 20%, #0000);
+ }
+ --tw-prose-quotes: var(--color-base-content);
+ --tw-prose-quote-borders: var(--color-base-content);
+ @supports (color: color-mix(in lab, red, red)) {
+ --tw-prose-quote-borders: color-mix(in oklab, var(--color-base-content) 20%, #0000);
+ }
+ --tw-prose-captions: var(--color-base-content);
+ @supports (color: color-mix(in lab, red, red)) {
+ --tw-prose-captions: color-mix(in oklab, var(--color-base-content) 50%, #0000);
+ }
+ --tw-prose-code: var(--color-base-content);
+ --tw-prose-pre-code: var(--color-neutral-content);
+ --tw-prose-pre-bg: var(--color-neutral);
+ --tw-prose-th-borders: var(--color-base-content);
+ @supports (color: color-mix(in lab, red, red)) {
+ --tw-prose-th-borders: color-mix(in oklab, var(--color-base-content) 50%, #0000);
+ }
+ --tw-prose-td-borders: var(--color-base-content);
+ @supports (color: color-mix(in lab, red, red)) {
+ --tw-prose-td-borders: color-mix(in oklab, var(--color-base-content) 20%, #0000);
+ }
+ --tw-prose-kbd: var(--color-base-content);
+ @supports (color: color-mix(in lab, red, red)) {
+ --tw-prose-kbd: color-mix(in oklab, var(--color-base-content) 80%, #0000);
+ }
+ :where(code):not(pre > code) {
+ background-color: var(--color-base-200);
+ border-radius: var(--radius-selector);
+ border: var(--border) solid var(--color-base-300);
+ padding-inline: 0.5em;
+ padding-block: 0.2em;
+ font-weight: inherit;
+ &:before, &:after {
+ display: none;
+ }
+ }
+ }
+ }
+ .block {
+ display: block;
+ }
+ .flex {
+ display: flex;
+ }
+ .grid {
+ display: grid;
+ }
+ .hidden {
+ display: none;
+ }
+ .inline-block {
+ display: inline-block;
+ }
+ .inline-flex {
+ display: inline-flex;
+ }
+ .table {
+ display: table;
+ }
+ .h-16 {
+ height: calc(var(--spacing) * 16);
+ }
+ .min-h-screen {
+ min-height: 100vh;
+ }
+ .w-16 {
+ width: calc(var(--spacing) * 16);
+ }
+ .w-24 {
+ width: calc(var(--spacing) * 24);
+ }
+ .w-60 {
+ width: calc(var(--spacing) * 60);
+ }
+ .w-fit {
+ width: fit-content;
+ }
+ .w-full {
+ width: 100%;
+ }
+ .max-w-none {
+ max-width: none;
+ }
+ .max-w-xl {
+ max-width: var(--container-xl);
+ }
+ .max-w-xs {
+ max-width: var(--container-xs);
+ }
+ .flex-1 {
+ flex: 1;
+ }
+ .flex-shrink {
+ flex-shrink: 1;
+ }
+ .flex-grow {
+ flex-grow: 1;
+ }
+ .grow {
+ flex-grow: 1;
+ }
+ .border-collapse {
+ border-collapse: collapse;
+ }
+ .transform {
+ transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
+ }
+ .skeleton {
+ @layer daisyui.l1.l2.l3 {
+ border-radius: var(--radius-box);
+ background-color: var(--color-base-300);
+ @media (prefers-reduced-motion: reduce) {
+ transition-duration: 15s;
+ }
+ will-change: background-position;
+ background-image: linear-gradient( 105deg, #0000 0% 40%, var(--color-base-100) 50%, #0000 60% 100% );
+ background-size: 200% auto;
+ background-position-x: -50%;
+ @media (prefers-reduced-motion: no-preference) {
+ animation: skeleton 1.8s ease-in-out infinite;
+ }
+ }
+ }
+ .aura-glow {
+ @layer daisyui.l1.l2 {
+ animation: none;
+ background-image: radial-gradient(closest-corner at center, currentColor 0%, transparent 90%);
+ &:before {
+ animation: aura-glow var(--tw-duration, 6s) ease-out infinite;
+ }
+ &:after {
+ animation: aura-glow-after var(--tw-duration, 6s) ease-out infinite;
+ }
+ }
+ }
+ .link {
+ @layer daisyui.l1.l2.l3 {
+ cursor: pointer;
+ text-decoration-line: underline;
+ &:focus {
+ --tw-outline-style: none;
+ outline-style: none;
+ @media (forced-colors: active) {
+ outline: 2px solid transparent;
+ outline-offset: 2px;
+ }
+ }
+ &:focus-visible {
+ outline: 2px solid currentColor;
+ outline-offset: 2px;
+ }
+ }
+ }
+ .cursor-pointer {
+ cursor: pointer;
+ }
+ .resize {
+ resize: both;
+ }
+ .flex-col {
+ flex-direction: column;
+ }
+ .flex-row {
+ flex-direction: row;
+ }
+ .flex-wrap {
+ flex-wrap: wrap;
+ }
+ .items-center {
+ align-items: center;
+ }
+ .justify-between {
+ justify-content: space-between;
+ }
+ .justify-center {
+ justify-content: center;
+ }
+ .justify-end {
+ justify-content: flex-end;
+ }
+ .justify-start {
+ justify-content: flex-start;
+ }
+ .gap-1 {
+ gap: var(--spacing);
+ }
+ .gap-2 {
+ gap: calc(var(--spacing) * 2);
+ }
+ .gap-3 {
+ gap: calc(var(--spacing) * 3);
+ }
+ .gap-4 {
+ gap: calc(var(--spacing) * 4);
+ }
+ .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)));
+ }
+ }
+ .divide-y {
+ :where(& > :not(:last-child)) {
+ --tw-divide-y-reverse: 0;
+ border-bottom-style: var(--tw-border-style);
+ border-top-style: var(--tw-border-style);
+ border-top-width: calc(1px * var(--tw-divide-y-reverse));
+ border-bottom-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
+ }
+ }
+ .divide-base-200 {
+ :where(& > :not(:last-child)) {
+ border-color: var(--color-base-200);
+ }
+ }
+ .truncate {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ }
+ .overflow-x-auto {
+ overflow-x: auto;
+ }
+ .rounded-box {
+ border-radius: var(--radius-box);
+ }
+ .rounded-box {
+ border-radius: var(--radius-box);
+ }
+ .rounded-full {
+ border-radius: calc(infinity * 1px);
+ }
+ .border {
+ border-style: var(--tw-border-style);
+ border-width: 1px;
+ }
+ .border-2 {
+ border-style: var(--tw-border-style);
+ border-width: 2px;
+ }
+ .border-b {
+ border-bottom-style: var(--tw-border-style);
+ border-bottom-width: 1px;
+ }
+ .badge-ghost {
+ @layer daisyui.l1.l2 {
+ border-color: var(--color-base-200);
+ background-color: var(--color-base-200);
+ color: var(--color-base-content);
+ background-image: none;
+ }
+ }
+ .border-base-300 {
+ border-color: var(--color-base-300);
+ }
+ .border-base-content {
+ border-color: var(--color-base-content);
+ }
+ .border-base-content\/20 {
+ border-color: var(--color-base-content);
+ @supports (color: color-mix(in lab, red, red)) {
+ border-color: color-mix(in oklab, var(--color-base-content) 20%, transparent);
+ }
+ }
+ .border-base-content\/70 {
+ border-color: var(--color-base-content);
+ @supports (color: color-mix(in lab, red, red)) {
+ border-color: color-mix(in oklab, var(--color-base-content) 70%, transparent);
+ }
+ }
+ .bg-base-100 {
+ background-color: var(--color-base-100);
+ }
+ .bg-base-200 {
+ background-color: var(--color-base-200);
+ }
+ .bg-primary {
+ background-color: var(--color-primary);
+ }
+ .btn-link {
+ @layer daisyui {
+ text-decoration-line: underline;
+ --btn-bg: #0000;
+ color: var(--btn-color, var(--color-primary));
+ --btn-border: #0000;
+ background-image: none;
+ --btn-inset: 0 0 0 0 oklch(0% 0 0/0);
+ --btn-shadow: 0 0 0 0 oklch(0% 0 0/0);
+ }
+ }
+ .alert-soft {
+ @layer daisyui.l1 {
+ color: var(--alert-color, var(--color-base-content));
+ background: var(--alert-color, var(--color-base-content));
+ @supports (color: color-mix(in lab, red, red)) {
+ background: color-mix( in oklab, var(--alert-color, var(--color-base-content)) 8%, var(--color-base-100) );
+ }
+ --alert-border-color: var(--alert-color, var(--color-base-content));
+ @supports (color: color-mix(in lab, red, red)) {
+ --alert-border-color: color-mix(
+ in oklab,
+ var(--alert-color, var(--color-base-content)) 10%,
+ var(--color-base-100)
+ );
+ }
+ box-shadow: none;
+ background-image: none;
+ }
+ }
+ .btn-ghost {
+ @layer daisyui.l1.l2.l3 {
+ --btn-bg: #0000;
+ color: var(--btn-rest-fg, var(--btn-color, var(--color-base-content, currentColor)));
+ --btn-border: #0000;
+ background-image: none;
+ --btn-inset: 0 0 0 0 oklch(0% 0 0/0);
+ --btn-shadow: 0 0 0 0 oklch(0% 0 0/0);
+ }
+ }
+ .object-contain {
+ object-fit: contain;
+ }
+ .p-2 {
+ padding: calc(var(--spacing) * 2);
+ }
+ .p-4 {
+ padding: calc(var(--spacing) * 4);
+ }
+ .px-4 {
+ padding-inline: calc(var(--spacing) * 4);
+ }
+ .px-6 {
+ padding-inline: calc(var(--spacing) * 6);
+ }
+ .py-2 {
+ padding-block: calc(var(--spacing) * 2);
+ }
+ .pt-2 {
+ padding-top: calc(var(--spacing) * 2);
+ }
+ .pt-3 {
+ padding-top: calc(var(--spacing) * 3);
+ }
+ .text-center {
+ text-align: center;
+ }
+ .text-right {
+ text-align: right;
+ }
+ .font-mono {
+ font-family: var(--font-mono);
+ }
+ .font-roboto {
+ font-family: var(--font-roboto);
+ }
+ .text-2xl {
+ font-size: var(--text-2xl);
+ line-height: var(--tw-leading, var(--text-2xl--line-height));
+ }
+ .text-base {
+ font-size: var(--text-base);
+ line-height: var(--tw-leading, var(--text-base--line-height));
+ }
+ .text-lg {
+ font-size: var(--text-lg);
+ line-height: var(--tw-leading, var(--text-lg--line-height));
+ }
+ .text-sm {
+ font-size: var(--text-sm);
+ line-height: var(--tw-leading, var(--text-sm--line-height));
+ }
+ .text-xl {
+ font-size: var(--text-xl);
+ line-height: var(--tw-leading, var(--text-xl--line-height));
+ }
+ .text-xs {
+ font-size: var(--text-xs);
+ line-height: var(--tw-leading, var(--text-xs--line-height));
+ }
+ .badge-sm {
+ @layer daisyui.l1.l2 {
+ --size: calc(var(--size-selector, 0.25rem) * 5);
+ font-size: 0.75rem;
+ }
+ }
+ .font-bold {
+ --tw-font-weight: var(--font-weight-bold);
+ font-weight: var(--font-weight-bold);
+ }
+ .font-medium {
+ --tw-font-weight: var(--font-weight-medium);
+ font-weight: var(--font-weight-medium);
+ }
+ .font-semibold {
+ --tw-font-weight: var(--font-weight-semibold);
+ font-weight: var(--font-weight-semibold);
+ }
+ .tracking-wider {
+ --tw-tracking: var(--tracking-wider);
+ letter-spacing: var(--tracking-wider);
+ }
+ .alert-error {
+ @layer daisyui.l1.l2 {
+ color: var(--color-error-content);
+ --alert-border-color: var(--color-error);
+ --alert-color: var(--color-error);
+ }
+ }
+ .alert-info {
+ @layer daisyui.l1.l2 {
+ color: var(--color-info-content);
+ --alert-border-color: var(--color-info);
+ --alert-color: var(--color-info);
+ }
+ }
+ .alert-success {
+ @layer daisyui.l1.l2 {
+ color: var(--color-success-content);
+ --alert-border-color: var(--color-success);
+ --alert-color: var(--color-success);
+ }
+ }
+ .alert-warning {
+ @layer daisyui.l1.l2 {
+ color: var(--color-warning-content);
+ --alert-border-color: var(--color-warning);
+ --alert-color: var(--color-warning);
+ }
+ }
+ .text-base-content {
+ color: var(--color-base-content);
+ }
+ .text-base-content\/50 {
+ color: var(--color-base-content);
+ @supports (color: color-mix(in lab, red, red)) {
+ color: color-mix(in oklab, var(--color-base-content) 50%, transparent);
+ }
+ }
+ .text-base-content\/70 {
+ color: var(--color-base-content);
+ @supports (color: color-mix(in lab, red, red)) {
+ color: color-mix(in oklab, var(--color-base-content) 70%, transparent);
+ }
+ }
+ .text-base-content\/80 {
+ color: var(--color-base-content);
+ @supports (color: color-mix(in lab, red, red)) {
+ color: color-mix(in oklab, var(--color-base-content) 80%, transparent);
+ }
+ }
+ .text-error {
+ color: var(--color-error);
+ }
+ .text-primary-content {
+ color: var(--color-primary-content);
+ }
+ .text-sky-500 {
+ color: var(--color-sky-500);
+ }
+ .tabular-nums {
+ --tw-numeric-spacing: tabular-nums;
+ font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);
+ }
+ .link-hover {
+ @layer daisyui.l1.l2 {
+ text-decoration-line: none;
+ &:hover {
+ @media (hover: hover) {
+ text-decoration-line: underline;
+ }
+ }
+ }
+ }
+ .prose {
+ & :where(a.btn:not(.btn-link)):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
+ text-decoration-line: none;
+ }
+ }
+ .underline {
+ text-decoration-line: underline;
+ }
+ .opacity-50 {
+ opacity: 50%;
+ }
+ .opacity-60 {
+ opacity: 60%;
+ }
+ .opacity-70 {
+ opacity: 70%;
+ }
+ .shadow {
+ --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-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);
+ }
+ .outline {
+ outline-style: var(--tw-outline-style);
+ outline-width: 1px;
+ }
+ .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 {
+ transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
+ transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
+ transition-duration: var(--tw-duration, var(--default-transition-duration));
+ }
+ .ease-in-out {
+ --tw-ease: var(--ease-in-out);
+ transition-timing-function: var(--ease-in-out);
+ }
+ .ease-out {
+ --tw-ease: var(--ease-out);
+ transition-timing-function: var(--ease-out);
+ }
+ .btn-error {
+ @layer daisyui.l1.l2 {
+ --btn-color: var(--color-error);
+ --btn-fg: var(--color-error-content);
+ --btn-soft-bg: initial;
+ }
+ }
+ .btn-primary {
+ @layer daisyui.l1.l2 {
+ --btn-color: var(--color-primary);
+ --btn-fg: var(--color-primary-content);
+ --btn-soft-bg: initial;
+ }
+ }
+ .btn-sm {
+ @layer daisyui.l1.l2 {
+ --fontsize: 0.75rem;
+ --btn-p: 0.75rem;
+ --size: calc(var(--size-field, 0.25rem) * 8);
+ }
+ }
+ .btn-success {
+ @layer daisyui.l1.l2 {
+ --btn-color: var(--color-success);
+ --btn-fg: var(--color-success-content);
+ --btn-soft-bg: initial;
+ }
+ }
+ .btn-warning {
+ @layer daisyui.l1.l2 {
+ --btn-color: var(--color-warning);
+ --btn-fg: var(--color-warning-content);
+ --btn-soft-bg: initial;
+ }
+ }
+ .btn-xs {
+ @layer daisyui.l1.l2 {
+ --fontsize: 0.6875rem;
+ --btn-p: 0.5rem;
+ --size: calc(var(--size-field, 0.25rem) * 6);
+ }
+ }
+ .badge-error {
+ @layer daisyui.l1.l2 {
+ --badge-color: var(--color-error);
+ --badge-fg: var(--color-error-content);
+ }
+ }
+ .badge-neutral {
+ @layer daisyui.l1.l2 {
+ --badge-color: var(--color-neutral);
+ --badge-fg: var(--color-neutral-content);
+ }
+ }
+ .badge-success {
+ @layer daisyui.l1.l2 {
+ --badge-color: var(--color-success);
+ --badge-fg: var(--color-success-content);
+ }
+ }
+ .badge-warning {
+ @layer daisyui.l1.l2 {
+ --badge-color: var(--color-warning);
+ --badge-fg: var(--color-warning-content);
+ }
+ }
+ .input-error {
+ @layer daisyui.l1.l2 {
+ &, &:focus, &:focus-within {
+ --input-color: var(--color-error);
+ }
+ }
+ }
+ .md\:grid-cols-2 {
+ @media (width >= 48rem) {
+ grid-template-columns: repeat(2, minmax(0, 1fr));
+ }
+ }
+}
+@font-face {
+ font-family: "Ubuntu";
+ font-style: normal;
+ font-weight: 400;
+ font-display: swap;
+ src: url("../fonts/ubuntu-latin-400-normal.woff2") format("woff2");
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+@font-face {
+ font-family: "Ubuntu";
+ font-style: normal;
+ font-weight: 400;
+ font-display: swap;
+ src: url("../fonts/ubuntu-latin-ext-400-normal.woff2") format("woff2");
+ unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+@font-face {
+ font-family: "Ubuntu";
+ font-style: italic;
+ font-weight: 400;
+ font-display: swap;
+ src: url("../fonts/ubuntu-latin-400-italic.woff2") format("woff2");
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+@font-face {
+ font-family: "Ubuntu";
+ font-style: italic;
+ font-weight: 400;
+ font-display: swap;
+ src: url("../fonts/ubuntu-latin-ext-400-italic.woff2") format("woff2");
+ unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+@font-face {
+ font-family: "Ubuntu";
+ font-style: normal;
+ font-weight: 500;
+ font-display: swap;
+ src: url("../fonts/ubuntu-latin-500-normal.woff2") format("woff2");
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+@font-face {
+ font-family: "Ubuntu";
+ font-style: normal;
+ font-weight: 500;
+ font-display: swap;
+ src: url("../fonts/ubuntu-latin-ext-500-normal.woff2") format("woff2");
+ unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+@font-face {
+ font-family: "Ubuntu";
+ font-style: normal;
+ font-weight: 700;
+ font-display: swap;
+ src: url("../fonts/ubuntu-latin-700-normal.woff2") format("woff2");
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+@font-face {
+ font-family: "Ubuntu";
+ font-style: normal;
+ font-weight: 700;
+ font-display: swap;
+ src: url("../fonts/ubuntu-latin-ext-700-normal.woff2") format("woff2");
+ unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+@font-face {
+ font-family: "JetBrains Mono";
+ font-style: normal;
+ font-weight: 100 800;
+ font-display: swap;
+ src: url("../fonts/jetbrains-mono-latin-wght-normal.woff2") format("woff2-variations");
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+@font-face {
+ font-family: "JetBrains Mono";
+ font-style: normal;
+ font-weight: 100 800;
+ font-display: swap;
+ src: url("../fonts/jetbrains-mono-latin-ext-wght-normal.woff2") format("woff2-variations");
+ unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+@font-face {
+ font-family: "Roboto";
+ font-style: normal;
+ font-weight: 100 900;
+ font-display: swap;
+ src: url("../fonts/roboto-latin-standard-normal.woff2") format("woff2-variations");
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+@font-face {
+ font-family: "Roboto";
+ font-style: normal;
+ font-weight: 100 900;
+ font-display: swap;
+ src: url("../fonts/roboto-latin-ext-standard-normal.woff2") format("woff2-variations");
+ unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+@font-face {
+ font-family: "Tourney";
+ font-style: normal;
+ font-weight: 100 900;
+ font-stretch: 75% 125%;
+ font-display: swap;
+ src: url("../fonts/tourney-latin-standard-normal.woff2") format("woff2-variations");
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+@font-face {
+ font-family: "Tourney";
+ font-style: normal;
+ font-weight: 100 900;
+ font-stretch: 75% 125%;
+ font-display: swap;
+ src: url("../fonts/tourney-latin-ext-standard-normal.woff2") format("woff2-variations");
+ unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+.logo {
+ background-image: var(--logo-dark);
+ background-position: center;
+ background-repeat: no-repeat;
+ background-size: contain;
+}
+@media (prefers-color-scheme: dark) {
+ .logo {
+ background-image: var(--logo-light);
+ }
+}
+[data-theme="light"] .logo {
+ background-image: var(--logo-dark);
+}
+[data-theme="dark"] .logo {
+ background-image: var(--logo-light);
+}
+@layer base {
+ :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(95% 0 0);
+ --color-base-content: oklch(21% 0.006 285.885);
+ --color-primary: oklch(45% 0.24 277.023);
+ --color-primary-content: oklch(93% 0.034 272.788);
+ --color-secondary: oklch(65% 0.241 354.308);
+ --color-secondary-content: oklch(94% 0.028 342.258);
+ --color-accent: oklch(77% 0.152 181.912);
+ --color-accent-content: oklch(38% 0.063 188.416);
+ --color-neutral: oklch(14% 0.005 285.823);
+ --color-neutral-content: oklch(92% 0.004 286.32);
+ --color-info: oklch(74% 0.16 232.661);
+ --color-info-content: oklch(29% 0.066 243.157);
+ --color-success: oklch(76% 0.177 163.223);
+ --color-success-content: oklch(37% 0.077 168.94);
+ --color-warning: oklch(82% 0.189 84.429);
+ --color-warning-content: oklch(41% 0.112 45.904);
+ --color-error: oklch(71% 0.194 13.428);
+ --color-error-content: oklch(27% 0.105 12.094);
+ --radius-selector: 0.5rem;
+ --radius-field: 0.25rem;
+ --radius-box: 0.5rem;
+ --size-selector: 0.25rem;
+ --size-field: 0.25rem;
+ --border: 1px;
+ --depth: 1;
+ --noise: 0;
+ }
+}
+@layer base {
+ @media (prefers-color-scheme: dark) {
+ :root:not([data-theme]) {
+ color-scheme: dark;
+ --color-base-100: oklch(25.33% 0.016 252.42);
+ --color-base-200: oklch(23.26% 0.014 253.1);
+ --color-base-300: oklch(21.15% 0.012 254.09);
+ --color-base-content: oklch(97.807% 0.029 256.847);
+ --color-primary: oklch(58% 0.233 277.117);
+ --color-primary-content: oklch(96% 0.018 272.314);
+ --color-secondary: oklch(65% 0.241 354.308);
+ --color-secondary-content: oklch(94% 0.028 342.258);
+ --color-accent: oklch(77% 0.152 181.912);
+ --color-accent-content: oklch(38% 0.063 188.416);
+ --color-neutral: oklch(14% 0.005 285.823);
+ --color-neutral-content: oklch(92% 0.004 286.32);
+ --color-info: oklch(74% 0.16 232.661);
+ --color-info-content: oklch(29% 0.066 243.157);
+ --color-success: oklch(76% 0.177 163.223);
+ --color-success-content: oklch(37% 0.077 168.94);
+ --color-warning: oklch(82% 0.189 84.429);
+ --color-warning-content: oklch(41% 0.112 45.904);
+ --color-error: oklch(71% 0.194 13.428);
+ --color-error-content: oklch(27% 0.105 12.094);
+ --radius-selector: 0.5rem;
+ --radius-field: 0.25rem;
+ --radius-box: 0.5rem;
+ --size-selector: 0.25rem;
+ --size-field: 0.25rem;
+ --border: 1px;
+ --depth: 1;
+ --noise: 0;
+ }
+ }
+}
+@layer base {
+ :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% 0.006 285.885);
+ --color-primary: oklch(45% 0.24 277.023);
+ --color-primary-content: oklch(93% 0.034 272.788);
+ --color-secondary: oklch(65% 0.241 354.308);
+ --color-secondary-content: oklch(94% 0.028 342.258);
+ --color-accent: oklch(77% 0.152 181.912);
+ --color-accent-content: oklch(38% 0.063 188.416);
+ --color-neutral: oklch(14% 0.005 285.823);
+ --color-neutral-content: oklch(92% 0.004 286.32);
+ --color-info: oklch(74% 0.16 232.661);
+ --color-info-content: oklch(29% 0.066 243.157);
+ --color-success: oklch(76% 0.177 163.223);
+ --color-success-content: oklch(37% 0.077 168.94);
+ --color-warning: oklch(82% 0.189 84.429);
+ --color-warning-content: oklch(41% 0.112 45.904);
+ --color-error: oklch(71% 0.194 13.428);
+ --color-error-content: oklch(27% 0.105 12.094);
+ --radius-selector: 0.5rem;
+ --radius-field: 0.25rem;
+ --radius-box: 0.5rem;
+ --size-selector: 0.25rem;
+ --size-field: 0.25rem;
+ --border: 1px;
+ --depth: 1;
+ --noise: 0;
+ }
+}
+@layer base {
+ :root:has(input.theme-controller[value=dark]:checked),[data-theme=dark] {
+ color-scheme: dark;
+ --color-base-100: oklch(25.33% 0.016 252.42);
+ --color-base-200: oklch(23.26% 0.014 253.1);
+ --color-base-300: oklch(21.15% 0.012 254.09);
+ --color-base-content: oklch(97.807% 0.029 256.847);
+ --color-primary: oklch(58% 0.233 277.117);
+ --color-primary-content: oklch(96% 0.018 272.314);
+ --color-secondary: oklch(65% 0.241 354.308);
+ --color-secondary-content: oklch(94% 0.028 342.258);
+ --color-accent: oklch(77% 0.152 181.912);
+ --color-accent-content: oklch(38% 0.063 188.416);
+ --color-neutral: oklch(14% 0.005 285.823);
+ --color-neutral-content: oklch(92% 0.004 286.32);
+ --color-info: oklch(74% 0.16 232.661);
+ --color-info-content: oklch(29% 0.066 243.157);
+ --color-success: oklch(76% 0.177 163.223);
+ --color-success-content: oklch(37% 0.077 168.94);
+ --color-warning: oklch(82% 0.189 84.429);
+ --color-warning-content: oklch(41% 0.112 45.904);
+ --color-error: oklch(71% 0.194 13.428);
+ --color-error-content: oklch(27% 0.105 12.094);
+ --radius-selector: 0.5rem;
+ --radius-field: 0.25rem;
+ --radius-box: 0.5rem;
+ --size-selector: 0.25rem;
+ --size-field: 0.25rem;
+ --border: 1px;
+ --depth: 1;
+ --noise: 0;
+ }
+}
+@layer base {
+ @property --radialprogress {
+ syntax: "";
+ inherits: true;
+ initial-value: 0%;
+ }
+ @property --aura-angle {
+ syntax: "";
+ inherits: false;
+ initial-value: 0deg;
+ }
+}
+@layer base {
+ :root {
+ scrollbar-color: currentColor #0000;
+ @supports (color: color-mix(in lab, red, red)) {
+ scrollbar-color: color-mix(in oklch, currentColor 35%, #0000) #0000;
+ }
+ }
+}
+@layer base {
+ :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");
+ }
+}
+@layer base {
+ :root {
+ --page-scroll-lock: initial;
+ --page-overflow: var(--page-scroll-lock) hidden;
+ }
+ :root:not(span) {
+ overflow: var(--page-overflow);
+ }
+}
+@layer base {
+ :root {
+ --page-has-backdrop: var(--page-scroll-lock) 1;
+ --page-scroll-bg: var(--page-scroll-lock)
+ var(--root-bg, #0000);
+ @supports (color: color-mix(in lab, red, red)) {
+ --page-scroll-bg: var(--page-scroll-lock)
+ color-mix(in srgb, var(--root-bg, #0000), oklch(0% 0 0) calc(var(--page-has-backdrop, 0) * 40%));
+ }
+ background-image: var(--page-scroll-lock) linear-gradient(var(--root-bg, #0000), var(--root-bg, #0000));
+ transition: var(--page-scroll-lock) background-color 0.3s ease-out;
+ animation: var(--page-scroll-lock) set-page-has-scroll forwards;
+ animation-timeline: var(--page-scroll-lock) scroll();
+ --page-has-scroll: initial;
+ scrollbar-gutter: var(--page-has-scroll) var(--page-scroll-lock) stable;
+ }
+ @keyframes set-page-has-scroll {
+ 0%, to {
+ --page-has-scroll: ;
+ }
+ }
+}
+@layer base {
+ :root, [data-theme] {
+ background-color: var(--root-bg);
+ color: var(--color-base-content);
+ }
+ :root {
+ background-color: var(--page-scroll-bg, var(--root-bg));
+ }
+ :where(:root, [data-theme]) {
+ --root-bg: var(--color-base-100);
+ }
+}
+@keyframes dropdown {
+ 0% {
+ opacity: 0;
+ }
+}
+@keyframes rotator {
+ 89.9999%, 100% {
+ --first-item-position: 0 0%;
+ }
+ 90%, 99.9999% {
+ --first-item-position: 0 calc(var(--items) * 100%);
+ }
+ 100% {
+ translate: 0 -100%;
+ }
+}
+@keyframes radio {
+ 0% {
+ padding: 5px;
+ }
+ 50% {
+ padding: 3px;
+ }
+}
+@keyframes toast {
+ 0% {
+ scale: 0.9;
+ opacity: 0;
+ }
+ 100% {
+ scale: 1;
+ opacity: 1;
+ }
+}
+@keyframes skeleton {
+ 0% {
+ background-position: 150%;
+ }
+ 100% {
+ background-position: -50%;
+ }
+}
+@keyframes progress {
+ 50% {
+ background-position-x: -115%;
+ }
+}
+@keyframes rating {
+ 0%, 40% {
+ scale: 1.1;
+ filter: brightness(1.05) contrast(1.05);
+ }
+}
+@keyframes aura {
+ to {
+ --aura-angle: 360deg;
+ transform: translateZ(1px);
+ }
+}
+@keyframes aura-glow {
+ 20%, 80% {
+ opacity: 0.7;
+ filter: blur(0.25rem);
+ }
+ 50% {
+ opacity: 1;
+ filter: blur(0.75rem);
+ }
+}
+@keyframes aura-glow-after {
+ 20%, 80% {
+ opacity: 0.3;
+ filter: blur(1rem);
+ }
+ 50% {
+ opacity: 0.6;
+ filter: blur(1.5rem);
+ }
+}
+@keyframes menu {
+ 0% {
+ opacity: 0;
+ }
+}
+@property --tw-rotate-x {
+ syntax: "*";
+ inherits: false;
+}
+@property --tw-rotate-y {
+ syntax: "*";
+ inherits: false;
+}
+@property --tw-rotate-z {
+ syntax: "*";
+ inherits: false;
+}
+@property --tw-skew-x {
+ syntax: "*";
+ inherits: false;
+}
+@property --tw-skew-y {
+ syntax: "*";
+ inherits: false;
+}
+@property --tw-space-y-reverse {
+ syntax: "*";
+ inherits: false;
+ initial-value: 0;
+}
+@property --tw-divide-y-reverse {
+ syntax: "*";
+ inherits: false;
+ initial-value: 0;
+}
+@property --tw-border-style {
+ syntax: "*";
+ inherits: false;
+ initial-value: solid;
+}
+@property --tw-font-weight {
+ syntax: "*";
+ inherits: false;
+}
+@property --tw-tracking {
+ syntax: "*";
+ inherits: false;
+}
+@property --tw-ordinal {
+ syntax: "*";
+ inherits: false;
+}
+@property --tw-slashed-zero {
+ syntax: "*";
+ inherits: false;
+}
+@property --tw-numeric-figure {
+ syntax: "*";
+ inherits: false;
+}
+@property --tw-numeric-spacing {
+ syntax: "*";
+ inherits: false;
+}
+@property --tw-numeric-fraction {
+ 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: 0px;
+}
+@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-outline-style {
+ syntax: "*";
+ inherits: false;
+ initial-value: solid;
+}
+@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-ease {
+ syntax: "*";
+ inherits: false;
+}
+@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-rotate-x: initial;
+ --tw-rotate-y: initial;
+ --tw-rotate-z: initial;
+ --tw-skew-x: initial;
+ --tw-skew-y: initial;
+ --tw-space-y-reverse: 0;
+ --tw-divide-y-reverse: 0;
+ --tw-border-style: solid;
+ --tw-font-weight: initial;
+ --tw-tracking: initial;
+ --tw-ordinal: initial;
+ --tw-slashed-zero: initial;
+ --tw-numeric-figure: initial;
+ --tw-numeric-spacing: initial;
+ --tw-numeric-fraction: 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-outline-style: solid;
+ --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-ease: initial;
+ }
+ }
+}
diff --git a/templates/allauth/elements/fields.html b/templates/allauth/elements/fields.html
index 4ea96bd..faecb41 100644
--- a/templates/allauth/elements/fields.html
+++ b/templates/allauth/elements/fields.html
@@ -1,4 +1,16 @@
-{% load ui %}
+{% load lucide ui %}
+
+{% comment %}
+ allauth passes `unlabeled=True` on the entrance forms (login, signup, reset) and
+ already sets a placeholder on each of their fields ("Email address", "Password"),
+ so dropping the visible label loses nothing on screen. The label is still emitted
+ sr-only inside the wrapper: a placeholder is not a label, and it disappears the
+ moment you start typing.
+
+ Fields with an icon use daisyUI's icon-in-field layout, where the `input` class
+ goes on the *wrapping label* and the input itself carries only `grow`. Putting
+ `input` on both draws a box inside a box.
+{% endcomment %}
{% for field in attrs.form.hidden_fields %}{{ field }}{% endfor %}
{% for error in attrs.form.non_field_errors %}
@@ -13,12 +25,30 @@
{{ field.label }}
{% else %}
-
- {{ field.label }}
-
- {{ field|daisy }}
+ {% if not attrs.unlabeled %}
+
+ {{ field.label }}
+
+ {% endif %}
+ {% with icon=field|field_icon %}
+ {% if icon %}
+
+ {% lucide icon size=16 %}
+ {% if attrs.unlabeled %}{{ field.label }} {% endif %}
+ {{ field|daisy:"grow" }}
+
+ {% else %}
+ {{ field|daisy }}
+ {% endif %}
+ {% endwith %}
{% endif %}
- {% if field.help_text %}
{{ field.help_text }} {% endif %}
+ {% comment %}
+ The password field's help_text is allauth's "Forgot your password?" link, so it
+ gets room to breathe. The id is not decorative: Django points the input's
+ aria-describedby at `
_helptext`, and without it that reference dangles
+ and the link is never announced.
+ {% endcomment %}
+ {% if field.help_text %}{{ field.help_text }} {% endif %}
{% for error in field.errors %}{{ error }} {% endfor %}
{% endfor %}
diff --git a/templates/allauth/layouts/base.html b/templates/allauth/layouts/base.html
index 010645f..ac71a41 100644
--- a/templates/allauth/layouts/base.html
+++ b/templates/allauth/layouts/base.html
@@ -11,7 +11,7 @@
{% block main %}
-
+
{% block content %}{% endblock content %}