DaisyUI Component Demo
+Test and validate DaisyUI components and theme integration.
+ + {/* Alerts */} +Alerts
+Buttons
+Cards
+DaisyUI Card
+This is a sample card using DaisyUI's card component.
+diff --git a/out.css b/out.css
new file mode 100644
index 0000000..506b73c
--- /dev/null
+++ b/out.css
@@ -0,0 +1,4228 @@
+/*
+! tailwindcss v3.4.4 | MIT License | https://tailwindcss.com
+*/
+
+/*
+1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
+2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
+*/
+
+*,
+::before,
+::after {
+ box-sizing: border-box;
+ /* 1 */
+ border-width: 0;
+ /* 2 */
+ border-style: solid;
+ /* 2 */
+ border-color: #e5e7eb;
+ /* 2 */
+}
+
+::before,
+::after {
+ --tw-content: '';
+}
+
+/*
+1. Use a consistent sensible line-height in all browsers.
+2. Prevent adjustments of font size after orientation changes in iOS.
+3. Use a more readable tab size.
+4. Use the user's configured `sans` font-family by default.
+5. Use the user's configured `sans` font-feature-settings by default.
+6. Use the user's configured `sans` font-variation-settings by default.
+7. Disable tap highlights on iOS
+*/
+
+html,
+:host {
+ line-height: 1.5;
+ /* 1 */
+ -webkit-text-size-adjust: 100%;
+ /* 2 */
+ -moz-tab-size: 4;
+ /* 3 */
+ -o-tab-size: 4;
+ tab-size: 4;
+ /* 3 */
+ font-family: Inter, system-ui, sans-serif;
+ /* 4 */
+ font-feature-settings: normal;
+ /* 5 */
+ font-variation-settings: normal;
+ /* 6 */
+ -webkit-tap-highlight-color: transparent;
+ /* 7 */
+}
+
+/*
+1. Remove the margin in all browsers.
+2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
+*/
+
+body {
+ margin: 0;
+ /* 1 */
+ line-height: inherit;
+ /* 2 */
+}
+
+/*
+1. Add the correct height in Firefox.
+2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
+3. Ensure horizontal rules are visible by default.
+*/
+
+hr {
+ height: 0;
+ /* 1 */
+ color: inherit;
+ /* 2 */
+ border-top-width: 1px;
+ /* 3 */
+}
+
+/*
+Add the correct text decoration in Chrome, Edge, and Safari.
+*/
+
+abbr:where([title]) {
+ -webkit-text-decoration: underline dotted;
+ text-decoration: underline dotted;
+}
+
+/*
+Remove the default font size and weight for headings.
+*/
+
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+ font-size: inherit;
+ font-weight: inherit;
+}
+
+/*
+Reset links to optimize for opt-in styling instead of opt-out.
+*/
+
+a {
+ color: inherit;
+ text-decoration: inherit;
+}
+
+/*
+Add the correct font weight in Edge and Safari.
+*/
+
+b,
+strong {
+ font-weight: bolder;
+}
+
+/*
+1. Use the user's configured `mono` font-family by default.
+2. Use the user's configured `mono` font-feature-settings by default.
+3. Use the user's configured `mono` font-variation-settings by default.
+4. Correct the odd `em` font sizing in all browsers.
+*/
+
+code,
+kbd,
+samp,
+pre {
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
+ /* 1 */
+ font-feature-settings: normal;
+ /* 2 */
+ font-variation-settings: normal;
+ /* 3 */
+ font-size: 1em;
+ /* 4 */
+}
+
+/*
+Add the correct font size in all browsers.
+*/
+
+small {
+ font-size: 80%;
+}
+
+/*
+Prevent `sub` and `sup` elements from affecting the line height in all browsers.
+*/
+
+sub,
+sup {
+ font-size: 75%;
+ line-height: 0;
+ position: relative;
+ vertical-align: baseline;
+}
+
+sub {
+ bottom: -0.25em;
+}
+
+sup {
+ top: -0.5em;
+}
+
+/*
+1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
+2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
+3. Remove gaps between table borders by default.
+*/
+
+table {
+ text-indent: 0;
+ /* 1 */
+ border-color: inherit;
+ /* 2 */
+ border-collapse: collapse;
+ /* 3 */
+}
+
+/*
+1. Change the font styles in all browsers.
+2. Remove the margin in Firefox and Safari.
+3. Remove default padding in all browsers.
+*/
+
+button,
+input,
+optgroup,
+select,
+textarea {
+ font-family: inherit;
+ /* 1 */
+ font-feature-settings: inherit;
+ /* 1 */
+ font-variation-settings: inherit;
+ /* 1 */
+ font-size: 100%;
+ /* 1 */
+ font-weight: inherit;
+ /* 1 */
+ line-height: inherit;
+ /* 1 */
+ letter-spacing: inherit;
+ /* 1 */
+ color: inherit;
+ /* 1 */
+ margin: 0;
+ /* 2 */
+ padding: 0;
+ /* 3 */
+}
+
+/*
+Remove the inheritance of text transform in Edge and Firefox.
+*/
+
+button,
+select {
+ text-transform: none;
+}
+
+/*
+1. Correct the inability to style clickable types in iOS and Safari.
+2. Remove default button styles.
+*/
+
+button,
+input:where([type='button']),
+input:where([type='reset']),
+input:where([type='submit']) {
+ -webkit-appearance: button;
+ /* 1 */
+ background-color: transparent;
+ /* 2 */
+ background-image: none;
+ /* 2 */
+}
+
+/*
+Use the modern Firefox focus style for all focusable elements.
+*/
+
+:-moz-focusring {
+ outline: auto;
+}
+
+/*
+Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
+*/
+
+:-moz-ui-invalid {
+ box-shadow: none;
+}
+
+/*
+Add the correct vertical alignment in Chrome and Firefox.
+*/
+
+progress {
+ vertical-align: baseline;
+}
+
+/*
+Correct the cursor style of increment and decrement buttons in Safari.
+*/
+
+::-webkit-inner-spin-button,
+::-webkit-outer-spin-button {
+ height: auto;
+}
+
+/*
+1. Correct the odd appearance in Chrome and Safari.
+2. Correct the outline style in Safari.
+*/
+
+[type='search'] {
+ -webkit-appearance: textfield;
+ /* 1 */
+ outline-offset: -2px;
+ /* 2 */
+}
+
+/*
+Remove the inner padding in Chrome and Safari on macOS.
+*/
+
+::-webkit-search-decoration {
+ -webkit-appearance: none;
+}
+
+/*
+1. Correct the inability to style clickable types in iOS and Safari.
+2. Change font properties to `inherit` in Safari.
+*/
+
+::-webkit-file-upload-button {
+ -webkit-appearance: button;
+ /* 1 */
+ font: inherit;
+ /* 2 */
+}
+
+/*
+Add the correct display in Chrome and Safari.
+*/
+
+summary {
+ display: list-item;
+}
+
+/*
+Removes the default spacing and border for appropriate elements.
+*/
+
+blockquote,
+dl,
+dd,
+h1,
+h2,
+h3,
+h4,
+h5,
+h6,
+hr,
+figure,
+p,
+pre {
+ margin: 0;
+}
+
+fieldset {
+ margin: 0;
+ padding: 0;
+}
+
+legend {
+ padding: 0;
+}
+
+ol,
+ul,
+menu {
+ list-style: none;
+ margin: 0;
+ padding: 0;
+}
+
+/*
+Reset default styling for dialogs.
+*/
+
+dialog {
+ padding: 0;
+}
+
+/*
+Prevent resizing textareas horizontally by default.
+*/
+
+textarea {
+ resize: vertical;
+}
+
+/*
+1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
+2. Set the default placeholder color to the user's configured gray 400 color.
+*/
+
+input::-moz-placeholder, textarea::-moz-placeholder {
+ opacity: 1;
+ /* 1 */
+ color: #9ca3af;
+ /* 2 */
+}
+
+input::placeholder,
+textarea::placeholder {
+ opacity: 1;
+ /* 1 */
+ color: #9ca3af;
+ /* 2 */
+}
+
+/*
+Set the default cursor for buttons.
+*/
+
+button,
+[role="button"] {
+ cursor: pointer;
+}
+
+/*
+Make sure disabled buttons don't get the pointer cursor.
+*/
+
+:disabled {
+ cursor: default;
+}
+
+/*
+1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
+2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
+ This can trigger a poorly considered lint error in some tools but is included by design.
+*/
+
+img,
+svg,
+video,
+canvas,
+audio,
+iframe,
+embed,
+object {
+ display: block;
+ /* 1 */
+ vertical-align: middle;
+ /* 2 */
+}
+
+/*
+Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
+*/
+
+img,
+video {
+ max-width: 100%;
+ height: auto;
+}
+
+/* Make elements with the HTML hidden attribute stay hidden by default */
+
+[hidden] {
+ display: none;
+}
+
+:root,
+[data-theme] {
+ background-color: var(--fallback-b1,oklch(var(--b1)/1));
+ color: var(--fallback-bc,oklch(var(--bc)/1));
+}
+
+@supports not (color: oklch(0 0 0)) {
+ :root {
+ color-scheme: light;
+ --fallback-p: #491eff;
+ --fallback-pc: #d4dbff;
+ --fallback-s: #ff41c7;
+ --fallback-sc: #fff9fc;
+ --fallback-a: #00cfbd;
+ --fallback-ac: #00100d;
+ --fallback-n: #2b3440;
+ --fallback-nc: #d7dde4;
+ --fallback-b1: #ffffff;
+ --fallback-b2: #e5e6e6;
+ --fallback-b3: #e5e6e6;
+ --fallback-bc: #1f2937;
+ --fallback-in: #00b3f0;
+ --fallback-inc: #000000;
+ --fallback-su: #00ca92;
+ --fallback-suc: #000000;
+ --fallback-wa: #ffc22d;
+ --fallback-wac: #000000;
+ --fallback-er: #ff6f70;
+ --fallback-erc: #000000;
+ }
+
+ @media (prefers-color-scheme: dark) {
+ :root {
+ color-scheme: dark;
+ --fallback-p: #7582ff;
+ --fallback-pc: #050617;
+ --fallback-s: #ff71cf;
+ --fallback-sc: #190211;
+ --fallback-a: #00c7b5;
+ --fallback-ac: #000e0c;
+ --fallback-n: #2a323c;
+ --fallback-nc: #a6adbb;
+ --fallback-b1: #1d232a;
+ --fallback-b2: #191e24;
+ --fallback-b3: #15191e;
+ --fallback-bc: #a6adbb;
+ --fallback-in: #00b3f0;
+ --fallback-inc: #000000;
+ --fallback-su: #00ca92;
+ --fallback-suc: #000000;
+ --fallback-wa: #ffc22d;
+ --fallback-wac: #000000;
+ --fallback-er: #ff6f70;
+ --fallback-erc: #000000;
+ }
+ }
+}
+
+html {
+ -webkit-tap-highlight-color: transparent;
+}
+
+:root {
+ --p: 0.684687 0.147869 237.322518;
+ --inc: 0.136937 0.029574 237.322518;
+ --suc: 0.144549 0.038401 149.57933;
+ --wac: 0.153718 0.032932 70.08039;
+ --erc: 0.127367 0.04157 25.331328;
+ --rounded-box: 1rem;
+ --rounded-btn: 0.5rem;
+ --rounded-badge: 1.9rem;
+ --animation-btn: 0.25s;
+ --animation-input: .2s;
+ --btn-focus-scale: 0.95;
+ --border-btn: 1px;
+ --tab-border: 1px;
+ --tab-radius: 0.5rem;
+ --pc: 1 0 0;
+ --s: 0.636834 0.207849 25.331328;
+ --sc: 1 0 0;
+ --a: 0.76859 0.164659 70.08039;
+ --ac: 1 0 0;
+ --n: 0.555527 0 0;
+ --nc: 1 0 0;
+ --b1: 1 0 0;
+ --b2: 0.970151 0 0;
+ --b3: 0.921906 0 0;
+ --bc: 0.204627 0 0;
+ --in: 0.684687 0.147869 237.322518;
+ --su: 0.722746 0.192007 149.57933;
+ --wa: 0.76859 0.164659 70.08039;
+ --er: 0.636834 0.207849 25.331328;
+}
+
+@media (prefers-color-scheme: dark) {
+ :root {
+ --p: 0.753513 0.138989 232.66148;
+ --inc: 0.150703 0.027798 232.66148;
+ --suc: 0.16007 0.036412 151.711031;
+ --wac: 0.167372 0.032884 84.428628;
+ --erc: 0.142125 0.03323 22.216224;
+ --rounded-box: 1rem;
+ --rounded-btn: 0.5rem;
+ --rounded-badge: 1.9rem;
+ --animation-btn: 0.25s;
+ --animation-input: .2s;
+ --btn-focus-scale: 0.95;
+ --border-btn: 1px;
+ --tab-border: 1px;
+ --tab-radius: 0.5rem;
+ --pc: 1 0 0;
+ --s: 0.710627 0.166148 22.216224;
+ --sc: 1 0 0;
+ --a: 0.836861 0.164422 84.428628;
+ --ac: 1 0 0;
+ --n: 0.715474 0 0;
+ --nc: 1 0 0;
+ --b1: 0.204627 0 0;
+ --b2: 0.268618 0 0;
+ --b3: 0.371495 0 0;
+ --bc: 1 0 0;
+ --in: 0.753513 0.138989 232.66148;
+ --su: 0.800349 0.18206 151.711031;
+ --wa: 0.836861 0.164422 84.428628;
+ --er: 0.710627 0.166148 22.216224;
+ }
+}
+
+[data-theme=light] {
+ --p: 0.684687 0.147869 237.322518;
+ --inc: 0.136937 0.029574 237.322518;
+ --suc: 0.144549 0.038401 149.57933;
+ --wac: 0.153718 0.032932 70.08039;
+ --erc: 0.127367 0.04157 25.331328;
+ --rounded-box: 1rem;
+ --rounded-btn: 0.5rem;
+ --rounded-badge: 1.9rem;
+ --animation-btn: 0.25s;
+ --animation-input: .2s;
+ --btn-focus-scale: 0.95;
+ --border-btn: 1px;
+ --tab-border: 1px;
+ --tab-radius: 0.5rem;
+ --pc: 1 0 0;
+ --s: 0.636834 0.207849 25.331328;
+ --sc: 1 0 0;
+ --a: 0.76859 0.164659 70.08039;
+ --ac: 1 0 0;
+ --n: 0.555527 0 0;
+ --nc: 1 0 0;
+ --b1: 1 0 0;
+ --b2: 0.970151 0 0;
+ --b3: 0.921906 0 0;
+ --bc: 0.204627 0 0;
+ --in: 0.684687 0.147869 237.322518;
+ --su: 0.722746 0.192007 149.57933;
+ --wa: 0.76859 0.164659 70.08039;
+ --er: 0.636834 0.207849 25.331328;
+}
+
+[data-theme=dark] {
+ --p: 0.753513 0.138989 232.66148;
+ --inc: 0.150703 0.027798 232.66148;
+ --suc: 0.16007 0.036412 151.711031;
+ --wac: 0.167372 0.032884 84.428628;
+ --erc: 0.142125 0.03323 22.216224;
+ --rounded-box: 1rem;
+ --rounded-btn: 0.5rem;
+ --rounded-badge: 1.9rem;
+ --animation-btn: 0.25s;
+ --animation-input: .2s;
+ --btn-focus-scale: 0.95;
+ --border-btn: 1px;
+ --tab-border: 1px;
+ --tab-radius: 0.5rem;
+ --pc: 1 0 0;
+ --s: 0.710627 0.166148 22.216224;
+ --sc: 1 0 0;
+ --a: 0.836861 0.164422 84.428628;
+ --ac: 1 0 0;
+ --n: 0.715474 0 0;
+ --nc: 1 0 0;
+ --b1: 0.204627 0 0;
+ --b2: 0.268618 0 0;
+ --b3: 0.371495 0 0;
+ --bc: 1 0 0;
+ --in: 0.753513 0.138989 232.66148;
+ --su: 0.800349 0.18206 151.711031;
+ --wa: 0.836861 0.164422 84.428628;
+ --er: 0.710627 0.166148 22.216224;
+}
+
+html {
+ scroll-behavior: smooth;
+}
+
+body {
+ transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
+ transition-duration: 200ms;
+}
+
+*, ::before, ::after {
+ --tw-border-spacing-x: 0;
+ --tw-border-spacing-y: 0;
+ --tw-translate-x: 0;
+ --tw-translate-y: 0;
+ --tw-rotate: 0;
+ --tw-skew-x: 0;
+ --tw-skew-y: 0;
+ --tw-scale-x: 1;
+ --tw-scale-y: 1;
+ --tw-pan-x: ;
+ --tw-pan-y: ;
+ --tw-pinch-zoom: ;
+ --tw-scroll-snap-strictness: proximity;
+ --tw-gradient-from-position: ;
+ --tw-gradient-via-position: ;
+ --tw-gradient-to-position: ;
+ --tw-ordinal: ;
+ --tw-slashed-zero: ;
+ --tw-numeric-figure: ;
+ --tw-numeric-spacing: ;
+ --tw-numeric-fraction: ;
+ --tw-ring-inset: ;
+ --tw-ring-offset-width: 0px;
+ --tw-ring-offset-color: #fff;
+ --tw-ring-color: rgb(59 130 246 / 0.5);
+ --tw-ring-offset-shadow: 0 0 #0000;
+ --tw-ring-shadow: 0 0 #0000;
+ --tw-shadow: 0 0 #0000;
+ --tw-shadow-colored: 0 0 #0000;
+ --tw-blur: ;
+ --tw-brightness: ;
+ --tw-contrast: ;
+ --tw-grayscale: ;
+ --tw-hue-rotate: ;
+ --tw-invert: ;
+ --tw-saturate: ;
+ --tw-sepia: ;
+ --tw-drop-shadow: ;
+ --tw-backdrop-blur: ;
+ --tw-backdrop-brightness: ;
+ --tw-backdrop-contrast: ;
+ --tw-backdrop-grayscale: ;
+ --tw-backdrop-hue-rotate: ;
+ --tw-backdrop-invert: ;
+ --tw-backdrop-opacity: ;
+ --tw-backdrop-saturate: ;
+ --tw-backdrop-sepia: ;
+ --tw-contain-size: ;
+ --tw-contain-layout: ;
+ --tw-contain-paint: ;
+ --tw-contain-style: ;
+}
+
+::backdrop {
+ --tw-border-spacing-x: 0;
+ --tw-border-spacing-y: 0;
+ --tw-translate-x: 0;
+ --tw-translate-y: 0;
+ --tw-rotate: 0;
+ --tw-skew-x: 0;
+ --tw-skew-y: 0;
+ --tw-scale-x: 1;
+ --tw-scale-y: 1;
+ --tw-pan-x: ;
+ --tw-pan-y: ;
+ --tw-pinch-zoom: ;
+ --tw-scroll-snap-strictness: proximity;
+ --tw-gradient-from-position: ;
+ --tw-gradient-via-position: ;
+ --tw-gradient-to-position: ;
+ --tw-ordinal: ;
+ --tw-slashed-zero: ;
+ --tw-numeric-figure: ;
+ --tw-numeric-spacing: ;
+ --tw-numeric-fraction: ;
+ --tw-ring-inset: ;
+ --tw-ring-offset-width: 0px;
+ --tw-ring-offset-color: #fff;
+ --tw-ring-color: rgb(59 130 246 / 0.5);
+ --tw-ring-offset-shadow: 0 0 #0000;
+ --tw-ring-shadow: 0 0 #0000;
+ --tw-shadow: 0 0 #0000;
+ --tw-shadow-colored: 0 0 #0000;
+ --tw-blur: ;
+ --tw-brightness: ;
+ --tw-contrast: ;
+ --tw-grayscale: ;
+ --tw-hue-rotate: ;
+ --tw-invert: ;
+ --tw-saturate: ;
+ --tw-sepia: ;
+ --tw-drop-shadow: ;
+ --tw-backdrop-blur: ;
+ --tw-backdrop-brightness: ;
+ --tw-backdrop-contrast: ;
+ --tw-backdrop-grayscale: ;
+ --tw-backdrop-hue-rotate: ;
+ --tw-backdrop-invert: ;
+ --tw-backdrop-opacity: ;
+ --tw-backdrop-saturate: ;
+ --tw-backdrop-sepia: ;
+ --tw-contain-size: ;
+ --tw-contain-layout: ;
+ --tw-contain-paint: ;
+ --tw-contain-style: ;
+}
+
+.alert {
+ display: grid;
+ width: 100%;
+ grid-auto-flow: row;
+ align-content: flex-start;
+ align-items: center;
+ justify-items: center;
+ gap: 1rem;
+ text-align: center;
+ border-radius: var(--rounded-box, 1rem);
+ border-width: 1px;
+ --tw-border-opacity: 1;
+ border-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-border-opacity)));
+ padding: 1rem;
+ --tw-text-opacity: 1;
+ color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity)));
+ --alert-bg: var(--fallback-b2,oklch(var(--b2)/1));
+ --alert-bg-mix: var(--fallback-b1,oklch(var(--b1)/1));
+ background-color: var(--alert-bg);
+}
+
+@media (min-width: 640px) {
+ .alert {
+ grid-auto-flow: column;
+ grid-template-columns: auto minmax(auto,1fr);
+ justify-items: start;
+ text-align: start;
+ }
+}
+
+.avatar.placeholder > div {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.badge {
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+ transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
+ transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
+ transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
+ transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
+ transition-duration: 200ms;
+ height: 1.25rem;
+ font-size: 0.875rem;
+ line-height: 1.25rem;
+ width: -moz-fit-content;
+ width: fit-content;
+ padding-left: 0.563rem;
+ padding-right: 0.563rem;
+ border-radius: var(--rounded-badge, 1.9rem);
+ border-width: 1px;
+ --tw-border-opacity: 1;
+ border-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-border-opacity)));
+ --tw-bg-opacity: 1;
+ background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity)));
+ --tw-text-opacity: 1;
+ color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity)));
+}
+
+@media (hover:hover) {
+ .label a:hover {
+ --tw-text-opacity: 1;
+ color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity)));
+ }
+
+ .menu li > *:not(ul, .menu-title, details, .btn):active,
+.menu li > *:not(ul, .menu-title, details, .btn).active,
+.menu li > details > summary:active {
+ --tw-bg-opacity: 1;
+ background-color: var(--fallback-n,oklch(var(--n)/var(--tw-bg-opacity)));
+ --tw-text-opacity: 1;
+ color: var(--fallback-nc,oklch(var(--nc)/var(--tw-text-opacity)));
+ }
+
+ .table tr.hover:hover,
+ .table tr.hover:nth-child(even):hover {
+ --tw-bg-opacity: 1;
+ background-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-bg-opacity)));
+ }
+}
+
+.btn {
+ display: inline-flex;
+ height: 3rem;
+ min-height: 3rem;
+ flex-shrink: 0;
+ cursor: pointer;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ user-select: none;
+ flex-wrap: wrap;
+ align-items: center;
+ justify-content: center;
+ border-radius: var(--rounded-btn, 0.5rem);
+ border-color: transparent;
+ border-color: oklch(var(--btn-color, var(--b2)) / var(--tw-border-opacity));
+ padding-left: 1rem;
+ padding-right: 1rem;
+ text-align: center;
+ font-size: 0.875rem;
+ line-height: 1em;
+ gap: 0.5rem;
+ font-weight: 600;
+ text-decoration-line: none;
+ transition-duration: 200ms;
+ transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
+ border-width: var(--border-btn, 1px);
+ animation: button-pop var(--animation-btn, 0.25s) ease-out;
+ transition-property: color, background-color, border-color, opacity, box-shadow, transform;
+ --tw-text-opacity: 1;
+ color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity)));
+ --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
+ --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
+ outline-color: var(--fallback-bc,oklch(var(--bc)/1));
+ background-color: oklch(var(--btn-color, var(--b2)) / var(--tw-bg-opacity));
+ --tw-bg-opacity: 1;
+ --tw-border-opacity: 1;
+}
+
+.btn-disabled,
+ .btn[disabled],
+ .btn:disabled {
+ pointer-events: none;
+}
+
+:where(.btn:is(input[type="checkbox"])),
+:where(.btn:is(input[type="radio"])) {
+ width: auto;
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+}
+
+.btn:is(input[type="checkbox"]):after,
+.btn:is(input[type="radio"]):after {
+ --tw-content: attr(aria-label);
+ content: var(--tw-content);
+}
+
+.card {
+ position: relative;
+ display: flex;
+ flex-direction: column;
+ border-radius: var(--rounded-box, 1rem);
+}
+
+.card:focus {
+ outline: 2px solid transparent;
+ outline-offset: 2px;
+}
+
+.card-body {
+ display: flex;
+ flex: 1 1 auto;
+ flex-direction: column;
+ padding: var(--padding-card, 2rem);
+ gap: 0.5rem;
+}
+
+.card-body :where(p) {
+ flex-grow: 1;
+}
+
+.card-actions {
+ display: flex;
+ flex-wrap: wrap;
+ align-items: flex-start;
+ gap: 0.5rem;
+}
+
+.card figure {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.card.image-full {
+ display: grid;
+}
+
+.card.image-full:before {
+ position: relative;
+ content: "";
+ z-index: 10;
+ border-radius: var(--rounded-box, 1rem);
+ --tw-bg-opacity: 1;
+ background-color: var(--fallback-n,oklch(var(--n)/var(--tw-bg-opacity)));
+ opacity: 0.75;
+}
+
+.card.image-full:before,
+ .card.image-full > * {
+ grid-column-start: 1;
+ grid-row-start: 1;
+}
+
+.card.image-full > figure img {
+ height: 100%;
+ -o-object-fit: cover;
+ object-fit: cover;
+}
+
+.card.image-full > .card-body {
+ position: relative;
+ z-index: 20;
+ --tw-text-opacity: 1;
+ color: var(--fallback-nc,oklch(var(--nc)/var(--tw-text-opacity)));
+}
+
+@media (hover: hover) {
+ .btm-nav > *.disabled:hover,
+ .btm-nav > *[disabled]:hover {
+ pointer-events: none;
+ --tw-border-opacity: 0;
+ background-color: var(--fallback-n,oklch(var(--n)/var(--tw-bg-opacity)));
+ --tw-bg-opacity: 0.1;
+ color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity)));
+ --tw-text-opacity: 0.2;
+ }
+
+ .btn:hover {
+ --tw-border-opacity: 1;
+ border-color: var(--fallback-b3,oklch(var(--b3)/var(--tw-border-opacity)));
+ --tw-bg-opacity: 1;
+ background-color: var(--fallback-b3,oklch(var(--b3)/var(--tw-bg-opacity)));
+ }
+
+ @supports (color: color-mix(in oklab, black, black)) {
+ .btn:hover {
+ background-color: color-mix(
+ in oklab,
+ oklch(var(--btn-color, var(--b2)) / var(--tw-bg-opacity, 1)) 90%,
+ black
+ );
+ border-color: color-mix(
+ in oklab,
+ oklch(var(--btn-color, var(--b2)) / var(--tw-border-opacity, 1)) 90%,
+ black
+ );
+ }
+ }
+
+ @supports not (color: oklch(0 0 0)) {
+ .btn:hover {
+ background-color: var(--btn-color, var(--fallback-b2));
+ border-color: var(--btn-color, var(--fallback-b2));
+ }
+ }
+
+ .btn.glass:hover {
+ --glass-opacity: 25%;
+ --glass-border-opacity: 15%;
+ }
+
+ .btn-outline:hover {
+ --tw-border-opacity: 1;
+ border-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-border-opacity)));
+ --tw-bg-opacity: 1;
+ background-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-bg-opacity)));
+ --tw-text-opacity: 1;
+ color: var(--fallback-b1,oklch(var(--b1)/var(--tw-text-opacity)));
+ }
+
+ .btn-outline.btn-primary:hover {
+ --tw-text-opacity: 1;
+ color: var(--fallback-pc,oklch(var(--pc)/var(--tw-text-opacity)));
+ }
+
+ @supports (color: color-mix(in oklab, black, black)) {
+ .btn-outline.btn-primary:hover {
+ background-color: color-mix(in oklab, var(--fallback-p,oklch(var(--p)/1)) 90%, black);
+ border-color: color-mix(in oklab, var(--fallback-p,oklch(var(--p)/1)) 90%, black);
+ }
+ }
+
+ .btn-outline.btn-secondary:hover {
+ --tw-text-opacity: 1;
+ color: var(--fallback-sc,oklch(var(--sc)/var(--tw-text-opacity)));
+ }
+
+ @supports (color: color-mix(in oklab, black, black)) {
+ .btn-outline.btn-secondary:hover {
+ background-color: color-mix(in oklab, var(--fallback-s,oklch(var(--s)/1)) 90%, black);
+ border-color: color-mix(in oklab, var(--fallback-s,oklch(var(--s)/1)) 90%, black);
+ }
+ }
+
+ .btn-outline.btn-accent:hover {
+ --tw-text-opacity: 1;
+ color: var(--fallback-ac,oklch(var(--ac)/var(--tw-text-opacity)));
+ }
+
+ @supports (color: color-mix(in oklab, black, black)) {
+ .btn-outline.btn-accent:hover {
+ background-color: color-mix(in oklab, var(--fallback-a,oklch(var(--a)/1)) 90%, black);
+ border-color: color-mix(in oklab, var(--fallback-a,oklch(var(--a)/1)) 90%, black);
+ }
+ }
+
+ .btn-outline.btn-success:hover {
+ --tw-text-opacity: 1;
+ color: var(--fallback-suc,oklch(var(--suc)/var(--tw-text-opacity)));
+ }
+
+ @supports (color: color-mix(in oklab, black, black)) {
+ .btn-outline.btn-success:hover {
+ background-color: color-mix(in oklab, var(--fallback-su,oklch(var(--su)/1)) 90%, black);
+ border-color: color-mix(in oklab, var(--fallback-su,oklch(var(--su)/1)) 90%, black);
+ }
+ }
+
+ .btn-outline.btn-info:hover {
+ --tw-text-opacity: 1;
+ color: var(--fallback-inc,oklch(var(--inc)/var(--tw-text-opacity)));
+ }
+
+ @supports (color: color-mix(in oklab, black, black)) {
+ .btn-outline.btn-info:hover {
+ background-color: color-mix(in oklab, var(--fallback-in,oklch(var(--in)/1)) 90%, black);
+ border-color: color-mix(in oklab, var(--fallback-in,oklch(var(--in)/1)) 90%, black);
+ }
+ }
+
+ .btn-outline.btn-warning:hover {
+ --tw-text-opacity: 1;
+ color: var(--fallback-wac,oklch(var(--wac)/var(--tw-text-opacity)));
+ }
+
+ @supports (color: color-mix(in oklab, black, black)) {
+ .btn-outline.btn-warning:hover {
+ background-color: color-mix(in oklab, var(--fallback-wa,oklch(var(--wa)/1)) 90%, black);
+ border-color: color-mix(in oklab, var(--fallback-wa,oklch(var(--wa)/1)) 90%, black);
+ }
+ }
+
+ .btn-outline.btn-error:hover {
+ --tw-text-opacity: 1;
+ color: var(--fallback-erc,oklch(var(--erc)/var(--tw-text-opacity)));
+ }
+
+ @supports (color: color-mix(in oklab, black, black)) {
+ .btn-outline.btn-error:hover {
+ background-color: color-mix(in oklab, var(--fallback-er,oklch(var(--er)/1)) 90%, black);
+ border-color: color-mix(in oklab, var(--fallback-er,oklch(var(--er)/1)) 90%, black);
+ }
+ }
+
+ .btn-disabled:hover,
+ .btn[disabled]:hover,
+ .btn:disabled:hover {
+ --tw-border-opacity: 0;
+ background-color: var(--fallback-n,oklch(var(--n)/var(--tw-bg-opacity)));
+ --tw-bg-opacity: 0.2;
+ color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity)));
+ --tw-text-opacity: 0.2;
+ }
+
+ @supports (color: color-mix(in oklab, black, black)) {
+ .btn:is(input[type="checkbox"]:checked):hover, .btn:is(input[type="radio"]:checked):hover {
+ background-color: color-mix(in oklab, var(--fallback-p,oklch(var(--p)/1)) 90%, black);
+ border-color: color-mix(in oklab, var(--fallback-p,oklch(var(--p)/1)) 90%, black);
+ }
+ }
+
+ :where(.menu li:not(.menu-title, .disabled) > *:not(ul, details, .menu-title)):not(.active, .btn):hover, :where(.menu li:not(.menu-title, .disabled) > details > summary:not(.menu-title)):not(.active, .btn):hover {
+ cursor: pointer;
+ outline: 2px solid transparent;
+ outline-offset: 2px;
+ }
+
+ @supports (color: oklch(0 0 0)) {
+ :where(.menu li:not(.menu-title, .disabled) > *:not(ul, details, .menu-title)):not(.active, .btn):hover, :where(.menu li:not(.menu-title, .disabled) > details > summary:not(.menu-title)):not(.active, .btn):hover {
+ background-color: var(--fallback-bc,oklch(var(--bc)/0.1));
+ }
+ }
+}
+
+.label {
+ display: flex;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ user-select: none;
+ align-items: center;
+ justify-content: space-between;
+ padding-left: 0.25rem;
+ padding-right: 0.25rem;
+ padding-top: 0.5rem;
+ padding-bottom: 0.5rem;
+}
+
+.indicator {
+ position: relative;
+ display: inline-flex;
+ width: -moz-max-content;
+ width: max-content;
+}
+
+.indicator :where(.indicator-item) {
+ z-index: 1;
+ position: absolute;
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
+ white-space: nowrap;
+}
+
+.input {
+ flex-shrink: 1;
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+ height: 3rem;
+ padding-left: 1rem;
+ padding-right: 1rem;
+ font-size: 1rem;
+ line-height: 2;
+ line-height: 1.5rem;
+ border-radius: var(--rounded-btn, 0.5rem);
+ border-width: 1px;
+ border-color: transparent;
+ --tw-bg-opacity: 1;
+ background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity)));
+}
+
+.input[type="number"]::-webkit-inner-spin-button,
+.input-md[type="number"]::-webkit-inner-spin-button {
+ margin-top: -1rem;
+ margin-bottom: -1rem;
+ margin-inline-end: -1rem;
+}
+
+.menu {
+ display: flex;
+ flex-direction: column;
+ flex-wrap: wrap;
+ font-size: 0.875rem;
+ line-height: 1.25rem;
+ padding: 0.5rem;
+}
+
+.menu :where(li ul) {
+ position: relative;
+ white-space: nowrap;
+ margin-inline-start: 1rem;
+ padding-inline-start: 0.5rem;
+}
+
+.menu :where(li:not(.menu-title) > *:not(ul, details, .menu-title, .btn)), .menu :where(li:not(.menu-title) > details > summary:not(.menu-title)) {
+ display: grid;
+ grid-auto-flow: column;
+ align-content: flex-start;
+ align-items: center;
+ gap: 0.5rem;
+ grid-auto-columns: minmax(auto, max-content) auto max-content;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ user-select: none;
+}
+
+.menu li.disabled {
+ cursor: not-allowed;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ user-select: none;
+ color: var(--fallback-bc,oklch(var(--bc)/0.3));
+}
+
+.menu :where(li > .menu-dropdown:not(.menu-dropdown-show)) {
+ display: none;
+}
+
+:where(.menu li) {
+ position: relative;
+ display: flex;
+ flex-shrink: 0;
+ flex-direction: column;
+ flex-wrap: wrap;
+ align-items: stretch;
+}
+
+:where(.menu li) .badge {
+ justify-self: end;
+}
+
+.progress {
+ position: relative;
+ width: 100%;
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+ overflow: hidden;
+ height: 0.5rem;
+ border-radius: var(--rounded-box, 1rem);
+ background-color: var(--fallback-bc,oklch(var(--bc)/0.2));
+}
+
+.range {
+ height: 1.5rem;
+ width: 100%;
+ cursor: pointer;
+ -moz-appearance: none;
+ appearance: none;
+ -webkit-appearance: none;
+ --range-shdw: var(--fallback-bc,oklch(var(--bc)/1));
+ overflow: hidden;
+ border-radius: var(--rounded-box, 1rem);
+ background-color: transparent;
+}
+
+.range:focus {
+ outline: none;
+}
+
+.select {
+ display: inline-flex;
+ cursor: pointer;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ user-select: none;
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+ height: 3rem;
+ min-height: 3rem;
+ padding-left: 1rem;
+ padding-right: 2.5rem;
+ font-size: 0.875rem;
+ line-height: 1.25rem;
+ line-height: 2;
+ border-radius: var(--rounded-btn, 0.5rem);
+ border-width: 1px;
+ border-color: transparent;
+ --tw-bg-opacity: 1;
+ background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity)));
+ background-image: linear-gradient(45deg, transparent 50%, currentColor 50%),
+ linear-gradient(135deg, currentColor 50%, transparent 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;
+}
+
+.select[multiple] {
+ height: auto;
+}
+
+.table {
+ position: relative;
+ width: 100%;
+ border-radius: var(--rounded-box, 1rem);
+ text-align: left;
+ font-size: 0.875rem;
+ line-height: 1.25rem;
+}
+
+.table :where(.table-pin-rows thead tr) {
+ position: sticky;
+ top: 0px;
+ z-index: 1;
+ --tw-bg-opacity: 1;
+ background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity)));
+}
+
+.table :where(.table-pin-rows tfoot tr) {
+ position: sticky;
+ bottom: 0px;
+ z-index: 1;
+ --tw-bg-opacity: 1;
+ background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity)));
+}
+
+.table :where(.table-pin-cols tr th) {
+ position: sticky;
+ left: 0px;
+ right: 0px;
+ --tw-bg-opacity: 1;
+ background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity)));
+}
+
+.toggle {
+ flex-shrink: 0;
+ --tglbg: var(--fallback-b1,oklch(var(--b1)/1));
+ --handleoffset: 1.5rem;
+ --handleoffsetcalculator: calc(var(--handleoffset) * -1);
+ --togglehandleborder: 0 0;
+ height: 1.5rem;
+ width: 3rem;
+ cursor: pointer;
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+ border-radius: var(--rounded-badge, 1.9rem);
+ border-width: 1px;
+ border-color: currentColor;
+ background-color: currentColor;
+ color: var(--fallback-bc,oklch(var(--bc)/0.5));
+ transition: background,
+ box-shadow var(--animation-input, 0.2s) ease-out;
+ box-shadow: var(--handleoffsetcalculator) 0 0 2px var(--tglbg) inset,
+ 0 0 0 2px var(--tglbg) inset,
+ var(--togglehandleborder);
+}
+
+.alert-info {
+ border-color: var(--fallback-in,oklch(var(--in)/0.2));
+ --tw-text-opacity: 1;
+ color: var(--fallback-inc,oklch(var(--inc)/var(--tw-text-opacity)));
+ --alert-bg: var(--fallback-in,oklch(var(--in)/1));
+ --alert-bg-mix: var(--fallback-b1,oklch(var(--b1)/1));
+}
+
+.alert-success {
+ border-color: var(--fallback-su,oklch(var(--su)/0.2));
+ --tw-text-opacity: 1;
+ color: var(--fallback-suc,oklch(var(--suc)/var(--tw-text-opacity)));
+ --alert-bg: var(--fallback-su,oklch(var(--su)/1));
+ --alert-bg-mix: var(--fallback-b1,oklch(var(--b1)/1));
+}
+
+.alert-warning {
+ border-color: var(--fallback-wa,oklch(var(--wa)/0.2));
+ --tw-text-opacity: 1;
+ color: var(--fallback-wac,oklch(var(--wac)/var(--tw-text-opacity)));
+ --alert-bg: var(--fallback-wa,oklch(var(--wa)/1));
+ --alert-bg-mix: var(--fallback-b1,oklch(var(--b1)/1));
+}
+
+.alert-error {
+ border-color: var(--fallback-er,oklch(var(--er)/0.2));
+ --tw-text-opacity: 1;
+ color: var(--fallback-erc,oklch(var(--erc)/var(--tw-text-opacity)));
+ --alert-bg: var(--fallback-er,oklch(var(--er)/1));
+ --alert-bg-mix: var(--fallback-b1,oklch(var(--b1)/1));
+}
+
+.badge-primary {
+ --tw-border-opacity: 1;
+ border-color: var(--fallback-p,oklch(var(--p)/var(--tw-border-opacity)));
+ --tw-bg-opacity: 1;
+ background-color: var(--fallback-p,oklch(var(--p)/var(--tw-bg-opacity)));
+ --tw-text-opacity: 1;
+ color: var(--fallback-pc,oklch(var(--pc)/var(--tw-text-opacity)));
+}
+
+.badge-secondary {
+ --tw-border-opacity: 1;
+ border-color: var(--fallback-s,oklch(var(--s)/var(--tw-border-opacity)));
+ --tw-bg-opacity: 1;
+ background-color: var(--fallback-s,oklch(var(--s)/var(--tw-bg-opacity)));
+ --tw-text-opacity: 1;
+ color: var(--fallback-sc,oklch(var(--sc)/var(--tw-text-opacity)));
+}
+
+.badge-accent {
+ --tw-border-opacity: 1;
+ border-color: var(--fallback-a,oklch(var(--a)/var(--tw-border-opacity)));
+ --tw-bg-opacity: 1;
+ background-color: var(--fallback-a,oklch(var(--a)/var(--tw-bg-opacity)));
+ --tw-text-opacity: 1;
+ color: var(--fallback-ac,oklch(var(--ac)/var(--tw-text-opacity)));
+}
+
+.badge-info {
+ border-color: transparent;
+ --tw-bg-opacity: 1;
+ background-color: var(--fallback-in,oklch(var(--in)/var(--tw-bg-opacity)));
+ --tw-text-opacity: 1;
+ color: var(--fallback-inc,oklch(var(--inc)/var(--tw-text-opacity)));
+}
+
+.badge-success {
+ border-color: transparent;
+ --tw-bg-opacity: 1;
+ background-color: var(--fallback-su,oklch(var(--su)/var(--tw-bg-opacity)));
+ --tw-text-opacity: 1;
+ color: var(--fallback-suc,oklch(var(--suc)/var(--tw-text-opacity)));
+}
+
+.badge-warning {
+ border-color: transparent;
+ --tw-bg-opacity: 1;
+ background-color: var(--fallback-wa,oklch(var(--wa)/var(--tw-bg-opacity)));
+ --tw-text-opacity: 1;
+ color: var(--fallback-wac,oklch(var(--wac)/var(--tw-text-opacity)));
+}
+
+.badge-error {
+ border-color: transparent;
+ --tw-bg-opacity: 1;
+ background-color: var(--fallback-er,oklch(var(--er)/var(--tw-bg-opacity)));
+ --tw-text-opacity: 1;
+ color: var(--fallback-erc,oklch(var(--erc)/var(--tw-text-opacity)));
+}
+
+.badge-outline.badge-primary {
+ --tw-text-opacity: 1;
+ color: var(--fallback-p,oklch(var(--p)/var(--tw-text-opacity)));
+}
+
+.badge-outline.badge-secondary {
+ --tw-text-opacity: 1;
+ color: var(--fallback-s,oklch(var(--s)/var(--tw-text-opacity)));
+}
+
+.badge-outline.badge-accent {
+ --tw-text-opacity: 1;
+ color: var(--fallback-a,oklch(var(--a)/var(--tw-text-opacity)));
+}
+
+.badge-outline.badge-info {
+ --tw-text-opacity: 1;
+ color: var(--fallback-in,oklch(var(--in)/var(--tw-text-opacity)));
+}
+
+.badge-outline.badge-success {
+ --tw-text-opacity: 1;
+ color: var(--fallback-su,oklch(var(--su)/var(--tw-text-opacity)));
+}
+
+.badge-outline.badge-warning {
+ --tw-text-opacity: 1;
+ color: var(--fallback-wa,oklch(var(--wa)/var(--tw-text-opacity)));
+}
+
+.badge-outline.badge-error {
+ --tw-text-opacity: 1;
+ color: var(--fallback-er,oklch(var(--er)/var(--tw-text-opacity)));
+}
+
+.btm-nav > *:where(.active) {
+ border-top-width: 2px;
+ --tw-bg-opacity: 1;
+ background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity)));
+}
+
+.btm-nav > *.disabled,
+ .btm-nav > *[disabled] {
+ pointer-events: none;
+ --tw-border-opacity: 0;
+ background-color: var(--fallback-n,oklch(var(--n)/var(--tw-bg-opacity)));
+ --tw-bg-opacity: 0.1;
+ color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity)));
+ --tw-text-opacity: 0.2;
+}
+
+.btm-nav > * .label {
+ font-size: 1rem;
+ line-height: 1.5rem;
+}
+
+.btn:active:hover,
+ .btn:active:focus {
+ animation: button-pop 0s ease-out;
+ transform: scale(var(--btn-focus-scale, 0.97));
+}
+
+@supports not (color: oklch(0 0 0)) {
+ .btn {
+ background-color: var(--btn-color, var(--fallback-b2));
+ border-color: var(--btn-color, var(--fallback-b2));
+ }
+
+ .btn-primary {
+ --btn-color: var(--fallback-p);
+ }
+
+ .btn-secondary {
+ --btn-color: var(--fallback-s);
+ }
+
+ .btn-accent {
+ --btn-color: var(--fallback-a);
+ }
+
+ .btn-info {
+ --btn-color: var(--fallback-in);
+ }
+
+ .btn-success {
+ --btn-color: var(--fallback-su);
+ }
+
+ .btn-warning {
+ --btn-color: var(--fallback-wa);
+ }
+
+ .btn-error {
+ --btn-color: var(--fallback-er);
+ }
+}
+
+@supports (color: color-mix(in oklab, black, black)) {
+ .btn-active {
+ background-color: color-mix(
+ in oklab,
+ oklch(var(--btn-color, var(--b3)) / var(--tw-bg-opacity, 1)) 90%,
+ black
+ );
+ border-color: color-mix(
+ in oklab,
+ oklch(var(--btn-color, var(--b3)) / var(--tw-border-opacity, 1)) 90%,
+ black
+ );
+ }
+
+ .btn-outline.btn-primary.btn-active {
+ background-color: color-mix(in oklab, var(--fallback-p,oklch(var(--p)/1)) 90%, black);
+ border-color: color-mix(in oklab, var(--fallback-p,oklch(var(--p)/1)) 90%, black);
+ }
+
+ .btn-outline.btn-secondary.btn-active {
+ background-color: color-mix(in oklab, var(--fallback-s,oklch(var(--s)/1)) 90%, black);
+ border-color: color-mix(in oklab, var(--fallback-s,oklch(var(--s)/1)) 90%, black);
+ }
+
+ .btn-outline.btn-accent.btn-active {
+ background-color: color-mix(in oklab, var(--fallback-a,oklch(var(--a)/1)) 90%, black);
+ border-color: color-mix(in oklab, var(--fallback-a,oklch(var(--a)/1)) 90%, black);
+ }
+
+ .btn-outline.btn-success.btn-active {
+ background-color: color-mix(in oklab, var(--fallback-su,oklch(var(--su)/1)) 90%, black);
+ border-color: color-mix(in oklab, var(--fallback-su,oklch(var(--su)/1)) 90%, black);
+ }
+
+ .btn-outline.btn-info.btn-active {
+ background-color: color-mix(in oklab, var(--fallback-in,oklch(var(--in)/1)) 90%, black);
+ border-color: color-mix(in oklab, var(--fallback-in,oklch(var(--in)/1)) 90%, black);
+ }
+
+ .btn-outline.btn-warning.btn-active {
+ background-color: color-mix(in oklab, var(--fallback-wa,oklch(var(--wa)/1)) 90%, black);
+ border-color: color-mix(in oklab, var(--fallback-wa,oklch(var(--wa)/1)) 90%, black);
+ }
+
+ .btn-outline.btn-error.btn-active {
+ background-color: color-mix(in oklab, var(--fallback-er,oklch(var(--er)/1)) 90%, black);
+ border-color: color-mix(in oklab, var(--fallback-er,oklch(var(--er)/1)) 90%, black);
+ }
+}
+
+.btn:focus-visible {
+ outline-style: solid;
+ outline-width: 2px;
+ outline-offset: 2px;
+}
+
+.btn-primary {
+ --tw-text-opacity: 1;
+ color: var(--fallback-pc,oklch(var(--pc)/var(--tw-text-opacity)));
+ outline-color: var(--fallback-p,oklch(var(--p)/1));
+}
+
+@supports (color: oklch(0 0 0)) {
+ .btn-primary {
+ --btn-color: var(--p);
+ }
+
+ .btn-secondary {
+ --btn-color: var(--s);
+ }
+
+ .btn-accent {
+ --btn-color: var(--a);
+ }
+
+ .btn-info {
+ --btn-color: var(--in);
+ }
+
+ .btn-success {
+ --btn-color: var(--su);
+ }
+
+ .btn-warning {
+ --btn-color: var(--wa);
+ }
+
+ .btn-error {
+ --btn-color: var(--er);
+ }
+}
+
+.btn-secondary {
+ --tw-text-opacity: 1;
+ color: var(--fallback-sc,oklch(var(--sc)/var(--tw-text-opacity)));
+ outline-color: var(--fallback-s,oklch(var(--s)/1));
+}
+
+.btn-accent {
+ --tw-text-opacity: 1;
+ color: var(--fallback-ac,oklch(var(--ac)/var(--tw-text-opacity)));
+ outline-color: var(--fallback-a,oklch(var(--a)/1));
+}
+
+.btn-info {
+ --tw-text-opacity: 1;
+ color: var(--fallback-inc,oklch(var(--inc)/var(--tw-text-opacity)));
+ outline-color: var(--fallback-in,oklch(var(--in)/1));
+}
+
+.btn-success {
+ --tw-text-opacity: 1;
+ color: var(--fallback-suc,oklch(var(--suc)/var(--tw-text-opacity)));
+ outline-color: var(--fallback-su,oklch(var(--su)/1));
+}
+
+.btn-warning {
+ --tw-text-opacity: 1;
+ color: var(--fallback-wac,oklch(var(--wac)/var(--tw-text-opacity)));
+ outline-color: var(--fallback-wa,oklch(var(--wa)/1));
+}
+
+.btn-error {
+ --tw-text-opacity: 1;
+ color: var(--fallback-erc,oklch(var(--erc)/var(--tw-text-opacity)));
+ outline-color: var(--fallback-er,oklch(var(--er)/1));
+}
+
+.btn.glass {
+ --tw-shadow: 0 0 #0000;
+ --tw-shadow-colored: 0 0 #0000;
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
+ outline-color: currentColor;
+}
+
+.btn.glass.btn-active {
+ --glass-opacity: 25%;
+ --glass-border-opacity: 15%;
+}
+
+.btn-ghost.btn-active {
+ border-color: transparent;
+ background-color: var(--fallback-bc,oklch(var(--bc)/0.2));
+}
+
+.btn-link.btn-active {
+ border-color: transparent;
+ background-color: transparent;
+ text-decoration-line: underline;
+}
+
+.btn-outline {
+ border-color: currentColor;
+ background-color: transparent;
+ --tw-text-opacity: 1;
+ color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity)));
+ --tw-shadow: 0 0 #0000;
+ --tw-shadow-colored: 0 0 #0000;
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
+}
+
+.btn-outline.btn-active {
+ --tw-border-opacity: 1;
+ border-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-border-opacity)));
+ --tw-bg-opacity: 1;
+ background-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-bg-opacity)));
+ --tw-text-opacity: 1;
+ color: var(--fallback-b1,oklch(var(--b1)/var(--tw-text-opacity)));
+}
+
+.btn-outline.btn-primary {
+ --tw-text-opacity: 1;
+ color: var(--fallback-p,oklch(var(--p)/var(--tw-text-opacity)));
+}
+
+.btn-outline.btn-primary.btn-active {
+ --tw-text-opacity: 1;
+ color: var(--fallback-pc,oklch(var(--pc)/var(--tw-text-opacity)));
+}
+
+.btn-outline.btn-secondary {
+ --tw-text-opacity: 1;
+ color: var(--fallback-s,oklch(var(--s)/var(--tw-text-opacity)));
+}
+
+.btn-outline.btn-secondary.btn-active {
+ --tw-text-opacity: 1;
+ color: var(--fallback-sc,oklch(var(--sc)/var(--tw-text-opacity)));
+}
+
+.btn-outline.btn-accent {
+ --tw-text-opacity: 1;
+ color: var(--fallback-a,oklch(var(--a)/var(--tw-text-opacity)));
+}
+
+.btn-outline.btn-accent.btn-active {
+ --tw-text-opacity: 1;
+ color: var(--fallback-ac,oklch(var(--ac)/var(--tw-text-opacity)));
+}
+
+.btn-outline.btn-success {
+ --tw-text-opacity: 1;
+ color: var(--fallback-su,oklch(var(--su)/var(--tw-text-opacity)));
+}
+
+.btn-outline.btn-success.btn-active {
+ --tw-text-opacity: 1;
+ color: var(--fallback-suc,oklch(var(--suc)/var(--tw-text-opacity)));
+}
+
+.btn-outline.btn-info {
+ --tw-text-opacity: 1;
+ color: var(--fallback-in,oklch(var(--in)/var(--tw-text-opacity)));
+}
+
+.btn-outline.btn-info.btn-active {
+ --tw-text-opacity: 1;
+ color: var(--fallback-inc,oklch(var(--inc)/var(--tw-text-opacity)));
+}
+
+.btn-outline.btn-warning {
+ --tw-text-opacity: 1;
+ color: var(--fallback-wa,oklch(var(--wa)/var(--tw-text-opacity)));
+}
+
+.btn-outline.btn-warning.btn-active {
+ --tw-text-opacity: 1;
+ color: var(--fallback-wac,oklch(var(--wac)/var(--tw-text-opacity)));
+}
+
+.btn-outline.btn-error {
+ --tw-text-opacity: 1;
+ color: var(--fallback-er,oklch(var(--er)/var(--tw-text-opacity)));
+}
+
+.btn-outline.btn-error.btn-active {
+ --tw-text-opacity: 1;
+ color: var(--fallback-erc,oklch(var(--erc)/var(--tw-text-opacity)));
+}
+
+.btn.btn-disabled,
+ .btn[disabled],
+ .btn:disabled {
+ --tw-border-opacity: 0;
+ background-color: var(--fallback-n,oklch(var(--n)/var(--tw-bg-opacity)));
+ --tw-bg-opacity: 0.2;
+ color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity)));
+ --tw-text-opacity: 0.2;
+}
+
+.btn:is(input[type="checkbox"]:checked),
+.btn:is(input[type="radio"]:checked) {
+ --tw-border-opacity: 1;
+ border-color: var(--fallback-p,oklch(var(--p)/var(--tw-border-opacity)));
+ --tw-bg-opacity: 1;
+ background-color: var(--fallback-p,oklch(var(--p)/var(--tw-bg-opacity)));
+ --tw-text-opacity: 1;
+ color: var(--fallback-pc,oklch(var(--pc)/var(--tw-text-opacity)));
+}
+
+.btn:is(input[type="checkbox"]:checked):focus-visible, .btn:is(input[type="radio"]:checked):focus-visible {
+ outline-color: var(--fallback-p,oklch(var(--p)/1));
+}
+
+@keyframes button-pop {
+ 0% {
+ transform: scale(var(--btn-focus-scale, 0.98));
+ }
+
+ 40% {
+ transform: scale(1.02);
+ }
+
+ 100% {
+ transform: scale(1);
+ }
+}
+
+.card :where(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;
+}
+
+.card :where(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;
+}
+
+.card:focus-visible {
+ outline: 2px solid currentColor;
+ outline-offset: 2px;
+}
+
+.card.bordered {
+ border-width: 1px;
+ --tw-border-opacity: 1;
+ border-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-border-opacity)));
+}
+
+.card.compact .card-body {
+ padding: 1rem;
+ font-size: 0.875rem;
+ line-height: 1.25rem;
+}
+
+.card-title {
+ display: flex;
+ align-items: center;
+ gap: 0.5rem;
+ font-size: 1.25rem;
+ line-height: 1.75rem;
+ font-weight: 600;
+}
+
+.card.image-full :where(figure) {
+ overflow: hidden;
+ border-radius: inherit;
+}
+
+@keyframes checkmark {
+ 0% {
+ background-position-y: 5px;
+ }
+
+ 50% {
+ background-position-y: -2px;
+ }
+
+ 100% {
+ background-position-y: 0;
+ }
+}
+
+.input input {
+ --tw-bg-opacity: 1;
+ background-color: var(--fallback-p,oklch(var(--p)/var(--tw-bg-opacity)));
+ background-color: transparent;
+}
+
+.input input:focus {
+ outline: 2px solid transparent;
+ outline-offset: 2px;
+}
+
+.input[list]::-webkit-calendar-picker-indicator {
+ line-height: 1em;
+}
+
+.input:focus,
+ .input:focus-within {
+ box-shadow: none;
+ border-color: var(--fallback-bc,oklch(var(--bc)/0.2));
+ outline-style: solid;
+ outline-width: 2px;
+ outline-offset: 2px;
+ outline-color: var(--fallback-bc,oklch(var(--bc)/0.2));
+}
+
+.input-disabled,
+ .input:disabled,
+ .input[disabled] {
+ cursor: not-allowed;
+ --tw-border-opacity: 1;
+ border-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-border-opacity)));
+ --tw-bg-opacity: 1;
+ background-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-bg-opacity)));
+ color: var(--fallback-bc,oklch(var(--bc)/0.4));
+}
+
+.input-disabled::-moz-placeholder, .input:disabled::-moz-placeholder, .input[disabled]::-moz-placeholder {
+ color: var(--fallback-bc,oklch(var(--bc)/var(--tw-placeholder-opacity)));
+ --tw-placeholder-opacity: 0.2;
+}
+
+.input-disabled::placeholder,
+ .input:disabled::placeholder,
+ .input[disabled]::placeholder {
+ color: var(--fallback-bc,oklch(var(--bc)/var(--tw-placeholder-opacity)));
+ --tw-placeholder-opacity: 0.2;
+}
+
+.input::-webkit-date-and-time-value {
+ text-align: inherit;
+}
+
+:where(.menu li:empty) {
+ --tw-bg-opacity: 1;
+ background-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-bg-opacity)));
+ opacity: 0.1;
+ margin: 0.5rem 1rem;
+ height: 1px;
+}
+
+.menu :where(li ul):before {
+ position: absolute;
+ bottom: 0.75rem;
+ inset-inline-start: 0px;
+ top: 0.75rem;
+ width: 1px;
+ --tw-bg-opacity: 1;
+ background-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-bg-opacity)));
+ opacity: 0.1;
+ content: "";
+}
+
+.menu :where(li:not(.menu-title) > *:not(ul, details, .menu-title, .btn)),
+.menu :where(li:not(.menu-title) > details > summary:not(.menu-title)) {
+ border-radius: var(--rounded-btn, 0.5rem);
+ padding-left: 1rem;
+ padding-right: 1rem;
+ padding-top: 0.5rem;
+ padding-bottom: 0.5rem;
+ text-align: start;
+ transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
+ transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
+ transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
+ transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
+ transition-duration: 200ms;
+ text-wrap: balance;
+}
+
+:where(.menu li:not(.menu-title, .disabled) > *:not(ul, details, .menu-title)):not(summary, .active, .btn).focus, :where(.menu li:not(.menu-title, .disabled) > *:not(ul, details, .menu-title)):not(summary, .active, .btn):focus, :where(.menu li:not(.menu-title, .disabled) > *:not(ul, details, .menu-title)):is(summary):not(.active, .btn):focus-visible, :where(.menu li:not(.menu-title, .disabled) > details > summary:not(.menu-title)):not(summary, .active, .btn).focus, :where(.menu li:not(.menu-title, .disabled) > details > summary:not(.menu-title)):not(summary, .active, .btn):focus, :where(.menu li:not(.menu-title, .disabled) > details > summary:not(.menu-title)):is(summary):not(.active, .btn):focus-visible {
+ cursor: pointer;
+ background-color: var(--fallback-bc,oklch(var(--bc)/0.1));
+ --tw-text-opacity: 1;
+ color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity)));
+ outline: 2px solid transparent;
+ outline-offset: 2px;
+}
+
+.menu li > *:not(ul, .menu-title, details, .btn):active,
+.menu li > *:not(ul, .menu-title, details, .btn).active,
+.menu li > details > summary:active {
+ --tw-bg-opacity: 1;
+ background-color: var(--fallback-n,oklch(var(--n)/var(--tw-bg-opacity)));
+ --tw-text-opacity: 1;
+ color: var(--fallback-nc,oklch(var(--nc)/var(--tw-text-opacity)));
+}
+
+.menu :where(li > details > summary)::-webkit-details-marker {
+ display: none;
+}
+
+.menu :where(li > details > summary):after,
+.menu :where(li > .menu-dropdown-toggle):after {
+ justify-self: end;
+ display: block;
+ margin-top: -0.5rem;
+ height: 0.5rem;
+ width: 0.5rem;
+ transform: rotate(45deg);
+ transition-property: transform, margin-top;
+ transition-duration: 0.3s;
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
+ content: "";
+ transform-origin: 75% 75%;
+ box-shadow: 2px 2px;
+ pointer-events: none;
+}
+
+.menu :where(li > details[open] > summary):after,
+.menu :where(li > .menu-dropdown-toggle.menu-dropdown-show):after {
+ transform: rotate(225deg);
+ margin-top: 0;
+}
+
+.mockup-phone .display {
+ overflow: hidden;
+ border-radius: 40px;
+ margin-top: -25px;
+}
+
+.mockup-browser .mockup-browser-toolbar .input {
+ position: relative;
+ margin-left: auto;
+ margin-right: auto;
+ display: block;
+ height: 1.75rem;
+ width: 24rem;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ --tw-bg-opacity: 1;
+ background-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-bg-opacity)));
+ padding-left: 2rem;
+ direction: ltr;
+}
+
+.mockup-browser .mockup-browser-toolbar .input:before {
+ content: "";
+ position: absolute;
+ left: 0.5rem;
+ top: 50%;
+ aspect-ratio: 1 / 1;
+ height: 0.75rem;
+ --tw-translate-y: -50%;
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
+ border-radius: 9999px;
+ border-width: 2px;
+ border-color: currentColor;
+ opacity: 0.6;
+}
+
+.mockup-browser .mockup-browser-toolbar .input:after {
+ content: "";
+ position: absolute;
+ left: 1.25rem;
+ top: 50%;
+ height: 0.5rem;
+ --tw-translate-y: 25%;
+ --tw-rotate: -45deg;
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
+ border-radius: 9999px;
+ border-width: 1px;
+ border-color: currentColor;
+ opacity: 0.6;
+}
+
+@keyframes modal-pop {
+ 0% {
+ opacity: 0;
+ }
+}
+
+.progress::-moz-progress-bar {
+ border-radius: var(--rounded-box, 1rem);
+ --tw-bg-opacity: 1;
+ background-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-bg-opacity)));
+}
+
+.progress:indeterminate {
+ --progress-color: var(--fallback-bc,oklch(var(--bc)/1));
+ background-image: repeating-linear-gradient(
+ 90deg,
+ var(--progress-color) -1%,
+ var(--progress-color) 10%,
+ transparent 10%,
+ transparent 90%
+ );
+ background-size: 200%;
+ background-position-x: 15%;
+ animation: progress-loading 5s ease-in-out infinite;
+}
+
+.progress::-webkit-progress-bar {
+ border-radius: var(--rounded-box, 1rem);
+ background-color: transparent;
+}
+
+.progress::-webkit-progress-value {
+ border-radius: var(--rounded-box, 1rem);
+ --tw-bg-opacity: 1;
+ background-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-bg-opacity)));
+}
+
+.progress:indeterminate::-moz-progress-bar {
+ background-color: transparent;
+ background-image: repeating-linear-gradient(
+ 90deg,
+ var(--progress-color) -1%,
+ var(--progress-color) 10%,
+ transparent 10%,
+ transparent 90%
+ );
+ background-size: 200%;
+ background-position-x: 15%;
+ animation: progress-loading 5s ease-in-out infinite;
+}
+
+@keyframes progress-loading {
+ 50% {
+ background-position-x: -115%;
+ }
+}
+
+@keyframes radiomark {
+ 0% {
+ box-shadow: 0 0 0 12px var(--fallback-b1,oklch(var(--b1)/1)) inset,
+ 0 0 0 12px var(--fallback-b1,oklch(var(--b1)/1)) inset;
+ }
+
+ 50% {
+ box-shadow: 0 0 0 3px var(--fallback-b1,oklch(var(--b1)/1)) inset,
+ 0 0 0 3px var(--fallback-b1,oklch(var(--b1)/1)) inset;
+ }
+
+ 100% {
+ box-shadow: 0 0 0 4px var(--fallback-b1,oklch(var(--b1)/1)) inset,
+ 0 0 0 4px var(--fallback-b1,oklch(var(--b1)/1)) inset;
+ }
+}
+
+.range:focus-visible::-webkit-slider-thumb {
+ --focus-shadow: 0 0 0 6px var(--fallback-b1,oklch(var(--b1)/1)) inset, 0 0 0 2rem var(--range-shdw) inset;
+}
+
+.range:focus-visible::-moz-range-thumb {
+ --focus-shadow: 0 0 0 6px var(--fallback-b1,oklch(var(--b1)/1)) inset, 0 0 0 2rem var(--range-shdw) inset;
+}
+
+.range::-webkit-slider-runnable-track {
+ height: 0.5rem;
+ width: 100%;
+ border-radius: var(--rounded-box, 1rem);
+ background-color: var(--fallback-bc,oklch(var(--bc)/0.1));
+}
+
+.range::-moz-range-track {
+ height: 0.5rem;
+ width: 100%;
+ border-radius: var(--rounded-box, 1rem);
+ background-color: var(--fallback-bc,oklch(var(--bc)/0.1));
+}
+
+.range::-webkit-slider-thumb {
+ position: relative;
+ height: 1.5rem;
+ width: 1.5rem;
+ border-radius: var(--rounded-box, 1rem);
+ border-style: none;
+ --tw-bg-opacity: 1;
+ background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity)));
+ appearance: none;
+ -webkit-appearance: none;
+ top: 50%;
+ color: var(--range-shdw);
+ transform: translateY(-50%);
+ --filler-size: 100rem;
+ --filler-offset: 0.6rem;
+ box-shadow: 0 0 0 3px var(--range-shdw) inset,
+ var(--focus-shadow, 0 0),
+ calc(var(--filler-size) * -1 - var(--filler-offset)) 0 0 var(--filler-size);
+}
+
+.range::-moz-range-thumb {
+ position: relative;
+ height: 1.5rem;
+ width: 1.5rem;
+ border-radius: var(--rounded-box, 1rem);
+ border-style: none;
+ --tw-bg-opacity: 1;
+ background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity)));
+ top: 50%;
+ color: var(--range-shdw);
+ --filler-size: 100rem;
+ --filler-offset: 0.5rem;
+ box-shadow: 0 0 0 3px var(--range-shdw) inset,
+ var(--focus-shadow, 0 0),
+ calc(var(--filler-size) * -1 - var(--filler-offset)) 0 0 var(--filler-size);
+}
+
+@keyframes rating-pop {
+ 0% {
+ transform: translateY(-0.125em);
+ }
+
+ 40% {
+ transform: translateY(-0.125em);
+ }
+
+ 100% {
+ transform: translateY(0);
+ }
+}
+
+.select:focus {
+ box-shadow: none;
+ border-color: var(--fallback-bc,oklch(var(--bc)/0.2));
+ outline-style: solid;
+ outline-width: 2px;
+ outline-offset: 2px;
+ outline-color: var(--fallback-bc,oklch(var(--bc)/0.2));
+}
+
+.select-disabled,
+ .select:disabled,
+ .select[disabled] {
+ cursor: not-allowed;
+ --tw-border-opacity: 1;
+ border-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-border-opacity)));
+ --tw-bg-opacity: 1;
+ background-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-bg-opacity)));
+ color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity)));
+ --tw-text-opacity: 0.2;
+}
+
+.select-disabled::-moz-placeholder, .select:disabled::-moz-placeholder, .select[disabled]::-moz-placeholder {
+ color: var(--fallback-bc,oklch(var(--bc)/var(--tw-placeholder-opacity)));
+ --tw-placeholder-opacity: 0.2;
+}
+
+.select-disabled::placeholder,
+ .select:disabled::placeholder,
+ .select[disabled]::placeholder {
+ color: var(--fallback-bc,oklch(var(--bc)/var(--tw-placeholder-opacity)));
+ --tw-placeholder-opacity: 0.2;
+}
+
+.select-multiple,
+ .select[multiple],
+ .select[size].select:not([size="1"]) {
+ background-image: none;
+ padding-right: 1rem;
+}
+
+[dir="rtl"] .select {
+ background-position: calc(0% + 12px) calc(1px + 50%),
+ calc(0% + 16px) calc(1px + 50%);
+}
+
+@keyframes skeleton {
+ from {
+ background-position: 150%;
+ }
+
+ to {
+ background-position: -50%;
+ }
+}
+
+:is([dir="rtl"] .table) {
+ text-align: right;
+}
+
+.table :where(th, td) {
+ padding-left: 1rem;
+ padding-right: 1rem;
+ padding-top: 0.75rem;
+ padding-bottom: 0.75rem;
+ vertical-align: middle;
+}
+
+.table tr.active,
+ .table tr.active:nth-child(even),
+ .table-zebra tbody tr:nth-child(even) {
+ --tw-bg-opacity: 1;
+ background-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-bg-opacity)));
+}
+
+.table-zebra tr.active,
+ .table-zebra tr.active:nth-child(even),
+ .table-zebra-zebra tbody tr:nth-child(even) {
+ --tw-bg-opacity: 1;
+ background-color: var(--fallback-b3,oklch(var(--b3)/var(--tw-bg-opacity)));
+}
+
+.table :where(thead, tbody) :where(tr:not(:last-child)),
+ .table :where(thead, tbody) :where(tr:first-child:last-child) {
+ border-bottom-width: 1px;
+ --tw-border-opacity: 1;
+ border-bottom-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-border-opacity)));
+}
+
+.table :where(thead, tfoot) {
+ white-space: nowrap;
+ font-size: 0.75rem;
+ line-height: 1rem;
+ font-weight: 700;
+ color: var(--fallback-bc,oklch(var(--bc)/0.6));
+}
+
+@keyframes toast-pop {
+ 0% {
+ transform: scale(0.9);
+ opacity: 0;
+ }
+
+ 100% {
+ transform: scale(1);
+ opacity: 1;
+ }
+}
+
+[dir="rtl"] .toggle {
+ --handleoffsetcalculator: calc(var(--handleoffset) * 1);
+}
+
+.toggle:focus-visible {
+ outline-style: solid;
+ outline-width: 2px;
+ outline-offset: 2px;
+ outline-color: var(--fallback-bc,oklch(var(--bc)/0.2));
+}
+
+.toggle:hover {
+ background-color: currentColor;
+}
+
+.toggle:checked,
+ .toggle[checked="true"],
+ .toggle[aria-checked="true"] {
+ background-image: none;
+ --handleoffsetcalculator: var(--handleoffset);
+ --tw-text-opacity: 1;
+ color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity)));
+}
+
+[dir="rtl"] .toggle:checked, [dir="rtl"] .toggle[checked="true"], [dir="rtl"] .toggle[aria-checked="true"] {
+ --handleoffsetcalculator: calc(var(--handleoffset) * -1);
+}
+
+.toggle:indeterminate {
+ --tw-text-opacity: 1;
+ color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity)));
+ box-shadow: calc(var(--handleoffset) / 2) 0 0 2px var(--tglbg) inset,
+ calc(var(--handleoffset) / -2) 0 0 2px var(--tglbg) inset,
+ 0 0 0 2px var(--tglbg) inset;
+}
+
+[dir="rtl"] .toggle:indeterminate {
+ box-shadow: calc(var(--handleoffset) / 2) 0 0 2px var(--tglbg) inset,
+ calc(var(--handleoffset) / -2) 0 0 2px var(--tglbg) inset,
+ 0 0 0 2px var(--tglbg) inset;
+}
+
+.toggle:disabled {
+ cursor: not-allowed;
+ --tw-border-opacity: 1;
+ border-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-border-opacity)));
+ background-color: transparent;
+ opacity: 0.3;
+ --togglehandleborder: 0 0 0 3px var(--fallback-bc,oklch(var(--bc)/1)) inset,
+ var(--handleoffsetcalculator) 0 0 3px var(--fallback-bc,oklch(var(--bc)/1)) inset;
+}
+
+.glass,
+ .glass.btn-active {
+ border: none;
+ -webkit-backdrop-filter: blur(var(--glass-blur, 40px));
+ backdrop-filter: blur(var(--glass-blur, 40px));
+ background-color: transparent;
+ background-image: linear-gradient(
+ 135deg,
+ rgb(255 255 255 / var(--glass-opacity, 30%)) 0%,
+ rgb(0 0 0 / 0%) 100%
+ ),
+ linear-gradient(
+ var(--glass-reflex-degree, 100deg),
+ rgb(255 255 255 / var(--glass-reflex-opacity, 10%)) 25%,
+ rgb(0 0 0 / 0%) 25%
+ );
+ box-shadow: 0 0 0 1px rgb(255 255 255 / var(--glass-border-opacity, 10%)) inset,
+ 0 0 0 2px rgb(0 0 0 / 5%);
+ text-shadow: 0 1px rgb(0 0 0 / var(--glass-text-shadow-opacity, 5%));
+}
+
+@media (hover: hover) {
+ .glass.btn-active {
+ border: none;
+ -webkit-backdrop-filter: blur(var(--glass-blur, 40px));
+ backdrop-filter: blur(var(--glass-blur, 40px));
+ background-color: transparent;
+ background-image: linear-gradient(
+ 135deg,
+ rgb(255 255 255 / var(--glass-opacity, 30%)) 0%,
+ rgb(0 0 0 / 0%) 100%
+ ),
+ linear-gradient(
+ var(--glass-reflex-degree, 100deg),
+ rgb(255 255 255 / var(--glass-reflex-opacity, 10%)) 25%,
+ rgb(0 0 0 / 0%) 25%
+ );
+ box-shadow: 0 0 0 1px rgb(255 255 255 / var(--glass-border-opacity, 10%)) inset,
+ 0 0 0 2px rgb(0 0 0 / 5%);
+ text-shadow: 0 1px rgb(0 0 0 / var(--glass-text-shadow-opacity, 5%));
+ }
+}
+
+.btm-nav-xs > *:where(.active) {
+ border-top-width: 1px;
+}
+
+.btm-nav-sm > *:where(.active) {
+ border-top-width: 2px;
+}
+
+.btm-nav-md > *:where(.active) {
+ border-top-width: 2px;
+}
+
+.btm-nav-lg > *:where(.active) {
+ border-top-width: 4px;
+}
+
+.btn-sm {
+ height: 2rem;
+ min-height: 2rem;
+ padding-left: 0.75rem;
+ padding-right: 0.75rem;
+ font-size: 0.875rem;
+}
+
+.btn-square:where(.btn-sm) {
+ height: 2rem;
+ width: 2rem;
+ padding: 0px;
+}
+
+.btn-circle:where(.btn-sm) {
+ height: 2rem;
+ width: 2rem;
+ border-radius: 9999px;
+ padding: 0px;
+}
+
+.indicator :where(.indicator-item) {
+ bottom: auto;
+ inset-inline-end: 0px;
+ inset-inline-start: auto;
+ top: 0px;
+ --tw-translate-y: -50%;
+ --tw-translate-x: 50%;
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
+}
+
+:is([dir="rtl"] .indicator :where(.indicator-item)) {
+ --tw-translate-x: -50%;
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
+}
+
+.indicator :where(.indicator-item.indicator-start) {
+ inset-inline-end: auto;
+ inset-inline-start: 0px;
+ --tw-translate-x: -50%;
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
+}
+
+:is([dir="rtl"] .indicator :where(.indicator-item.indicator-start)) {
+ --tw-translate-x: 50%;
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
+}
+
+.indicator :where(.indicator-item.indicator-center) {
+ inset-inline-end: 50%;
+ inset-inline-start: 50%;
+ --tw-translate-x: -50%;
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
+}
+
+:is([dir="rtl"] .indicator :where(.indicator-item.indicator-center)) {
+ --tw-translate-x: 50%;
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
+}
+
+.indicator :where(.indicator-item.indicator-end) {
+ inset-inline-end: 0px;
+ inset-inline-start: auto;
+ --tw-translate-x: 50%;
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
+}
+
+:is([dir="rtl"] .indicator :where(.indicator-item.indicator-end)) {
+ --tw-translate-x: -50%;
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
+}
+
+.indicator :where(.indicator-item.indicator-bottom) {
+ bottom: 0px;
+ top: auto;
+ --tw-translate-y: 50%;
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
+}
+
+.indicator :where(.indicator-item.indicator-middle) {
+ bottom: 50%;
+ top: 50%;
+ --tw-translate-y: -50%;
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
+}
+
+.indicator :where(.indicator-item.indicator-top) {
+ bottom: auto;
+ top: 0px;
+ --tw-translate-y: -50%;
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
+}
+
+.tooltip {
+ position: relative;
+ display: inline-block;
+ --tooltip-offset: calc(100% + 1px + var(--tooltip-tail, 0px));
+}
+
+.tooltip:before {
+ position: absolute;
+ pointer-events: none;
+ z-index: 1;
+ content: var(--tw-content);
+ --tw-content: attr(data-tip);
+}
+
+.tooltip:before, .tooltip-top:before {
+ transform: translateX(-50%);
+ top: auto;
+ left: 50%;
+ right: auto;
+ bottom: var(--tooltip-offset);
+}
+
+.card-compact .card-body {
+ padding: 1rem;
+ font-size: 0.875rem;
+ line-height: 1.25rem;
+}
+
+.card-compact .card-title {
+ margin-bottom: 0.25rem;
+}
+
+.card-normal .card-body {
+ padding: var(--padding-card, 2rem);
+ font-size: 1rem;
+ line-height: 1.5rem;
+}
+
+.card-normal .card-title {
+ margin-bottom: 0.75rem;
+}
+
+.tooltip {
+ position: relative;
+ display: inline-block;
+ text-align: center;
+ --tooltip-tail: 0.1875rem;
+ --tooltip-color: var(--fallback-n,oklch(var(--n)/1));
+ --tooltip-text-color: var(--fallback-nc,oklch(var(--nc)/1));
+ --tooltip-tail-offset: calc(100% + 0.0625rem - var(--tooltip-tail));
+}
+
+.tooltip:before,
+.tooltip:after {
+ opacity: 0;
+ transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
+ transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
+ transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
+ transition-delay: 100ms;
+ transition-duration: 200ms;
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
+}
+
+.tooltip:after {
+ position: absolute;
+ content: "";
+ border-style: solid;
+ border-width: var(--tooltip-tail, 0);
+ width: 0;
+ height: 0;
+ display: block;
+}
+
+.tooltip:before {
+ max-width: 20rem;
+ border-radius: 0.25rem;
+ padding-left: 0.5rem;
+ padding-right: 0.5rem;
+ padding-top: 0.25rem;
+ padding-bottom: 0.25rem;
+ font-size: 0.875rem;
+ line-height: 1.25rem;
+ background-color: var(--tooltip-color);
+ color: var(--tooltip-text-color);
+ width: -moz-max-content;
+ width: max-content;
+}
+
+.tooltip.tooltip-open:before {
+ opacity: 1;
+ transition-delay: 75ms;
+}
+
+.tooltip.tooltip-open:after {
+ opacity: 1;
+ transition-delay: 75ms;
+}
+
+.tooltip:hover:before {
+ opacity: 1;
+ transition-delay: 75ms;
+}
+
+.tooltip:hover:after {
+ opacity: 1;
+ transition-delay: 75ms;
+}
+
+.tooltip:has(:focus-visible):after,
+.tooltip:has(:focus-visible):before {
+ opacity: 1;
+ transition-delay: 75ms;
+}
+
+.tooltip:not([data-tip]):hover:before,
+.tooltip:not([data-tip]):hover:after {
+ visibility: hidden;
+ opacity: 0;
+}
+
+.tooltip:after, .tooltip-top:after {
+ transform: translateX(-50%);
+ border-color: var(--tooltip-color) transparent transparent transparent;
+ top: auto;
+ left: 50%;
+ right: auto;
+ bottom: var(--tooltip-tail-offset);
+}
+
+/* Custom scrollbar for webkit browsers */
+
+::-webkit-scrollbar {
+ width: 8px;
+}
+
+::-webkit-scrollbar-track {
+ --tw-bg-opacity: 1;
+ background-color: rgb(245 245 245 / var(--tw-bg-opacity));
+}
+
+:is(.dark *)::-webkit-scrollbar-track {
+ --tw-bg-opacity: 1;
+ background-color: rgb(38 38 38 / var(--tw-bg-opacity));
+}
+
+::-webkit-scrollbar-thumb {
+ border-radius: 9999px;
+ --tw-bg-opacity: 1;
+ background-color: rgb(212 212 212 / var(--tw-bg-opacity));
+}
+
+:is(.dark *)::-webkit-scrollbar-thumb {
+ --tw-bg-opacity: 1;
+ background-color: rgb(82 82 82 / var(--tw-bg-opacity));
+}
+
+::-webkit-scrollbar-thumb:hover {
+ --tw-bg-opacity: 1;
+ background-color: rgb(163 163 163 / var(--tw-bg-opacity));
+}
+
+:is(.dark *)::-webkit-scrollbar-thumb:hover {
+ --tw-bg-opacity: 1;
+ background-color: rgb(115 115 115 / var(--tw-bg-opacity));
+}
+
+/* Focus styles for better accessibility */
+
+/* Card styles */
+
+.card {
+ border-radius: 0.5rem;
+ border-width: 1px;
+ --tw-border-opacity: 1;
+ border-color: rgb(229 229 229 / var(--tw-border-opacity));
+ --tw-bg-opacity: 1;
+ background-color: rgb(255 255 255 / var(--tw-bg-opacity));
+ --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
+ --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
+ transition-property: box-shadow;
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
+ transition-duration: 200ms;
+}
+
+.card:hover {
+ --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
+ --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
+}
+
+.card:is(.dark *) {
+ --tw-border-opacity: 1;
+ border-color: rgb(64 64 64 / var(--tw-border-opacity));
+ --tw-bg-opacity: 1;
+ background-color: rgb(38 38 38 / var(--tw-bg-opacity));
+}
+
+/* Button styles */
+
+.btn-primary:focus {
+ outline: 2px solid transparent;
+ outline-offset: 2px;
+ --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
+ --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
+ box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
+ --tw-ring-opacity: 1;
+ --tw-ring-color: rgb(14 165 233 / var(--tw-ring-opacity));
+ --tw-ring-offset-width: 2px;
+}
+
+.btn-primary:focus:is(.dark *) {
+ --tw-ring-offset-color: #171717;
+}
+
+.btn-primary {
+ border-radius: 0.5rem;
+ --tw-bg-opacity: 1;
+ background-color: rgb(2 132 199 / var(--tw-bg-opacity));
+ padding-top: 0.5rem;
+ padding-bottom: 0.5rem;
+ padding-left: 1rem;
+ padding-right: 1rem;
+ font-weight: 500;
+ --tw-text-opacity: 1;
+ color: rgb(255 255 255 / var(--tw-text-opacity));
+ transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
+ transition-duration: 200ms;
+}
+
+.btn-primary:hover {
+ --tw-bg-opacity: 1;
+ background-color: rgb(3 105 161 / var(--tw-bg-opacity));
+}
+
+.btn-primary:is(.dark *) {
+ --tw-bg-opacity: 1;
+ background-color: rgb(14 165 233 / var(--tw-bg-opacity));
+}
+
+.btn-primary:hover:is(.dark *) {
+ --tw-bg-opacity: 1;
+ background-color: rgb(2 132 199 / var(--tw-bg-opacity));
+}
+
+.btn-secondary:focus {
+ outline: 2px solid transparent;
+ outline-offset: 2px;
+ --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
+ --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
+ box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
+ --tw-ring-opacity: 1;
+ --tw-ring-color: rgb(14 165 233 / var(--tw-ring-opacity));
+ --tw-ring-offset-width: 2px;
+}
+
+.btn-secondary:focus:is(.dark *) {
+ --tw-ring-offset-color: #171717;
+}
+
+.btn-secondary {
+ border-radius: 0.5rem;
+ --tw-bg-opacity: 1;
+ background-color: rgb(245 245 245 / var(--tw-bg-opacity));
+ padding-top: 0.5rem;
+ padding-bottom: 0.5rem;
+ padding-left: 1rem;
+ padding-right: 1rem;
+ font-weight: 500;
+ --tw-text-opacity: 1;
+ color: rgb(64 64 64 / var(--tw-text-opacity));
+ transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
+ transition-duration: 200ms;
+}
+
+.btn-secondary:hover {
+ --tw-bg-opacity: 1;
+ background-color: rgb(229 229 229 / var(--tw-bg-opacity));
+}
+
+.btn-secondary:is(.dark *) {
+ --tw-bg-opacity: 1;
+ background-color: rgb(64 64 64 / var(--tw-bg-opacity));
+ --tw-text-opacity: 1;
+ color: rgb(212 212 212 / var(--tw-text-opacity));
+}
+
+.btn-secondary:hover:is(.dark *) {
+ --tw-bg-opacity: 1;
+ background-color: rgb(82 82 82 / var(--tw-bg-opacity));
+}
+
+/* Input styles */
+
+.pointer-events-none {
+ pointer-events: none;
+}
+
+.absolute {
+ position: absolute;
+}
+
+.relative {
+ position: relative;
+}
+
+.inset-y-0 {
+ top: 0px;
+ bottom: 0px;
+}
+
+.left-0 {
+ left: 0px;
+}
+
+.left-2 {
+ left: 0.5rem;
+}
+
+.right-0 {
+ right: 0px;
+}
+
+.right-3 {
+ right: 0.75rem;
+}
+
+.top-2 {
+ top: 0.5rem;
+}
+
+.top-3 {
+ top: 0.75rem;
+}
+
+.z-10 {
+ z-index: 10;
+}
+
+.mx-auto {
+ margin-left: auto;
+ margin-right: auto;
+}
+
+.mb-1 {
+ margin-bottom: 0.25rem;
+}
+
+.mb-2 {
+ margin-bottom: 0.5rem;
+}
+
+.mb-3 {
+ margin-bottom: 0.75rem;
+}
+
+.mb-4 {
+ margin-bottom: 1rem;
+}
+
+.mb-6 {
+ margin-bottom: 1.5rem;
+}
+
+.ml-2 {
+ margin-left: 0.5rem;
+}
+
+.ml-4 {
+ margin-left: 1rem;
+}
+
+.ml-auto {
+ margin-left: auto;
+}
+
+.mr-2 {
+ margin-right: 0.5rem;
+}
+
+.mt-1 {
+ margin-top: 0.25rem;
+}
+
+.mt-2 {
+ margin-top: 0.5rem;
+}
+
+.mt-8 {
+ margin-top: 2rem;
+}
+
+.line-clamp-2 {
+ overflow: hidden;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 2;
+}
+
+.block {
+ display: block;
+}
+
+.inline-block {
+ display: inline-block;
+}
+
+.flex {
+ display: flex;
+}
+
+.inline-flex {
+ display: inline-flex;
+}
+
+.table {
+ display: table;
+}
+
+.grid {
+ display: grid;
+}
+
+.hidden {
+ display: none;
+}
+
+.h-10 {
+ height: 2.5rem;
+}
+
+.h-16 {
+ height: 4rem;
+}
+
+.h-2 {
+ height: 0.5rem;
+}
+
+.h-4 {
+ height: 1rem;
+}
+
+.h-40 {
+ height: 10rem;
+}
+
+.h-48 {
+ height: 12rem;
+}
+
+.h-5 {
+ height: 1.25rem;
+}
+
+.h-6 {
+ height: 1.5rem;
+}
+
+.h-8 {
+ height: 2rem;
+}
+
+.h-full {
+ height: 100%;
+}
+
+.max-h-60 {
+ max-height: 15rem;
+}
+
+.min-h-screen {
+ min-height: 100vh;
+}
+
+.w-1\/2 {
+ width: 50%;
+}
+
+.w-10 {
+ width: 2.5rem;
+}
+
+.w-14 {
+ width: 3.5rem;
+}
+
+.w-4 {
+ width: 1rem;
+}
+
+.w-5 {
+ width: 1.25rem;
+}
+
+.w-6 {
+ width: 1.5rem;
+}
+
+.w-8 {
+ width: 2rem;
+}
+
+.w-full {
+ width: 100%;
+}
+
+.min-w-full {
+ min-width: 100%;
+}
+
+.max-w-2xl {
+ max-width: 42rem;
+}
+
+.max-w-7xl {
+ max-width: 80rem;
+}
+
+.max-w-xs {
+ max-width: 20rem;
+}
+
+.flex-shrink-0 {
+ flex-shrink: 0;
+}
+
+.translate-x-1 {
+ --tw-translate-x: 0.25rem;
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
+}
+
+.translate-x-7 {
+ --tw-translate-x: 1.75rem;
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
+}
+
+.transform {
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
+}
+
+.cursor-default {
+ cursor: default;
+}
+
+.cursor-help {
+ cursor: help;
+}
+
+.cursor-not-allowed {
+ cursor: not-allowed;
+}
+
+.cursor-pointer {
+ cursor: pointer;
+}
+
+.select-none {
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ user-select: none;
+}
+
+.grid-cols-1 {
+ grid-template-columns: repeat(1, minmax(0, 1fr));
+}
+
+.flex-wrap {
+ flex-wrap: wrap;
+}
+
+.items-end {
+ align-items: flex-end;
+}
+
+.items-center {
+ align-items: center;
+}
+
+.justify-end {
+ justify-content: flex-end;
+}
+
+.justify-center {
+ justify-content: center;
+}
+
+.justify-between {
+ justify-content: space-between;
+}
+
+.gap-1 {
+ gap: 0.25rem;
+}
+
+.gap-2 {
+ gap: 0.5rem;
+}
+
+.gap-4 {
+ gap: 1rem;
+}
+
+.gap-6 {
+ gap: 1.5rem;
+}
+
+.space-x-1 > :not([hidden]) ~ :not([hidden]) {
+ --tw-space-x-reverse: 0;
+ margin-right: calc(0.25rem * var(--tw-space-x-reverse));
+ margin-left: calc(0.25rem * calc(1 - var(--tw-space-x-reverse)));
+}
+
+.space-x-2 > :not([hidden]) ~ :not([hidden]) {
+ --tw-space-x-reverse: 0;
+ margin-right: calc(0.5rem * var(--tw-space-x-reverse));
+ margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));
+}
+
+.space-x-4 > :not([hidden]) ~ :not([hidden]) {
+ --tw-space-x-reverse: 0;
+ margin-right: calc(1rem * var(--tw-space-x-reverse));
+ margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse)));
+}
+
+.space-x-8 > :not([hidden]) ~ :not([hidden]) {
+ --tw-space-x-reverse: 0;
+ margin-right: calc(2rem * var(--tw-space-x-reverse));
+ margin-left: calc(2rem * calc(1 - var(--tw-space-x-reverse)));
+}
+
+.space-y-1 > :not([hidden]) ~ :not([hidden]) {
+ --tw-space-y-reverse: 0;
+ margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
+ margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
+}
+
+.space-y-2 > :not([hidden]) ~ :not([hidden]) {
+ --tw-space-y-reverse: 0;
+ margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
+ margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
+}
+
+.space-y-8 > :not([hidden]) ~ :not([hidden]) {
+ --tw-space-y-reverse: 0;
+ margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse)));
+ margin-bottom: calc(2rem * var(--tw-space-y-reverse));
+}
+
+.divide-y > :not([hidden]) ~ :not([hidden]) {
+ --tw-divide-y-reverse: 0;
+ border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
+ border-bottom-width: calc(1px * var(--tw-divide-y-reverse));
+}
+
+.divide-gray-200 > :not([hidden]) ~ :not([hidden]) {
+ --tw-divide-opacity: 1;
+ border-color: rgb(229 231 235 / var(--tw-divide-opacity));
+}
+
+.divide-neutral-200 > :not([hidden]) ~ :not([hidden]) {
+ --tw-divide-opacity: 1;
+ border-color: rgb(229 229 229 / var(--tw-divide-opacity));
+}
+
+.overflow-auto {
+ overflow: auto;
+}
+
+.overflow-hidden {
+ overflow: hidden;
+}
+
+.overflow-x-auto {
+ overflow-x: auto;
+}
+
+.truncate {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.whitespace-nowrap {
+ white-space: nowrap;
+}
+
+.rounded {
+ border-radius: 0.25rem;
+}
+
+.rounded-full {
+ border-radius: 9999px;
+}
+
+.rounded-lg {
+ border-radius: 0.5rem;
+}
+
+.rounded-md {
+ border-radius: 0.375rem;
+}
+
+.rounded-xl {
+ border-radius: 0.75rem;
+}
+
+.border {
+ border-width: 1px;
+}
+
+.border-b {
+ border-bottom-width: 1px;
+}
+
+.border-t {
+ border-top-width: 1px;
+}
+
+.border-base-300 {
+ --tw-border-opacity: 1;
+ border-color: var(--fallback-b3,oklch(var(--b3)/var(--tw-border-opacity)));
+}
+
+.border-gray-200 {
+ --tw-border-opacity: 1;
+ border-color: rgb(229 231 235 / var(--tw-border-opacity));
+}
+
+.border-gray-300 {
+ --tw-border-opacity: 1;
+ border-color: rgb(209 213 219 / var(--tw-border-opacity));
+}
+
+.border-neutral-200 {
+ --tw-border-opacity: 1;
+ border-color: rgb(229 229 229 / var(--tw-border-opacity));
+}
+
+.bg-accent-600 {
+ --tw-bg-opacity: 1;
+ background-color: rgb(220 38 38 / var(--tw-bg-opacity));
+}
+
+.bg-base-100 {
+ --tw-bg-opacity: 1;
+ background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity)));
+}
+
+.bg-base-200 {
+ --tw-bg-opacity: 1;
+ background-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-bg-opacity)));
+}
+
+.bg-blue-100 {
+ --tw-bg-opacity: 1;
+ background-color: rgb(219 234 254 / var(--tw-bg-opacity));
+}
+
+.bg-blue-500 {
+ --tw-bg-opacity: 1;
+ background-color: rgb(59 130 246 / var(--tw-bg-opacity));
+}
+
+.bg-blue-600 {
+ --tw-bg-opacity: 1;
+ background-color: rgb(37 99 235 / var(--tw-bg-opacity));
+}
+
+.bg-error {
+ --tw-bg-opacity: 1;
+ background-color: var(--fallback-er,oklch(var(--er)/var(--tw-bg-opacity)));
+}
+
+.bg-gray-100 {
+ --tw-bg-opacity: 1;
+ background-color: rgb(243 244 246 / var(--tw-bg-opacity));
+}
+
+.bg-gray-200 {
+ --tw-bg-opacity: 1;
+ background-color: rgb(229 231 235 / var(--tw-bg-opacity));
+}
+
+.bg-gray-50 {
+ --tw-bg-opacity: 1;
+ background-color: rgb(249 250 251 / var(--tw-bg-opacity));
+}
+
+.bg-gray-800 {
+ --tw-bg-opacity: 1;
+ background-color: rgb(31 41 55 / var(--tw-bg-opacity));
+}
+
+.bg-green-100 {
+ --tw-bg-opacity: 1;
+ background-color: rgb(220 252 231 / var(--tw-bg-opacity));
+}
+
+.bg-green-600 {
+ --tw-bg-opacity: 1;
+ background-color: rgb(22 163 74 / var(--tw-bg-opacity));
+}
+
+.bg-info {
+ --tw-bg-opacity: 1;
+ background-color: var(--fallback-in,oklch(var(--in)/var(--tw-bg-opacity)));
+}
+
+.bg-neutral-200 {
+ --tw-bg-opacity: 1;
+ background-color: rgb(229 229 229 / var(--tw-bg-opacity));
+}
+
+.bg-neutral-50 {
+ --tw-bg-opacity: 1;
+ background-color: rgb(250 250 250 / var(--tw-bg-opacity));
+}
+
+.bg-orange-600 {
+ --tw-bg-opacity: 1;
+ background-color: rgb(234 88 12 / var(--tw-bg-opacity));
+}
+
+.bg-pink-600 {
+ --tw-bg-opacity: 1;
+ background-color: rgb(219 39 119 / var(--tw-bg-opacity));
+}
+
+.bg-primary-100 {
+ --tw-bg-opacity: 1;
+ background-color: rgb(224 242 254 / var(--tw-bg-opacity));
+}
+
+.bg-primary-600 {
+ --tw-bg-opacity: 1;
+ background-color: rgb(2 132 199 / var(--tw-bg-opacity));
+}
+
+.bg-purple-600 {
+ --tw-bg-opacity: 1;
+ background-color: rgb(147 51 234 / var(--tw-bg-opacity));
+}
+
+.bg-red-600 {
+ --tw-bg-opacity: 1;
+ background-color: rgb(220 38 38 / var(--tw-bg-opacity));
+}
+
+.bg-white {
+ --tw-bg-opacity: 1;
+ background-color: rgb(255 255 255 / var(--tw-bg-opacity));
+}
+
+.bg-yellow-100 {
+ --tw-bg-opacity: 1;
+ background-color: rgb(254 249 195 / var(--tw-bg-opacity));
+}
+
+.bg-yellow-600 {
+ --tw-bg-opacity: 1;
+ background-color: rgb(202 138 4 / var(--tw-bg-opacity));
+}
+
+.bg-gradient-to-br {
+ background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
+}
+
+.from-gray-300 {
+ --tw-gradient-from: #d1d5db var(--tw-gradient-from-position);
+ --tw-gradient-to: rgb(209 213 219 / 0) var(--tw-gradient-to-position);
+ --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
+}
+
+.to-gray-400 {
+ --tw-gradient-to: #9ca3af var(--tw-gradient-to-position);
+}
+
+.stroke-current {
+ stroke: currentColor;
+}
+
+.object-contain {
+ -o-object-fit: contain;
+ object-fit: contain;
+}
+
+.object-cover {
+ -o-object-fit: cover;
+ object-fit: cover;
+}
+
+.p-2 {
+ padding: 0.5rem;
+}
+
+.p-4 {
+ padding: 1rem;
+}
+
+.p-6 {
+ padding: 1.5rem;
+}
+
+.px-1 {
+ padding-left: 0.25rem;
+ padding-right: 0.25rem;
+}
+
+.px-1\.5 {
+ padding-left: 0.375rem;
+ padding-right: 0.375rem;
+}
+
+.px-2 {
+ padding-left: 0.5rem;
+ padding-right: 0.5rem;
+}
+
+.px-2\.5 {
+ padding-left: 0.625rem;
+ padding-right: 0.625rem;
+}
+
+.px-3 {
+ padding-left: 0.75rem;
+ padding-right: 0.75rem;
+}
+
+.px-4 {
+ padding-left: 1rem;
+ padding-right: 1rem;
+}
+
+.px-6 {
+ padding-left: 1.5rem;
+ padding-right: 1.5rem;
+}
+
+.py-0 {
+ padding-top: 0px;
+ padding-bottom: 0px;
+}
+
+.py-0\.5 {
+ padding-top: 0.125rem;
+ padding-bottom: 0.125rem;
+}
+
+.py-1 {
+ padding-top: 0.25rem;
+ padding-bottom: 0.25rem;
+}
+
+.py-12 {
+ padding-top: 3rem;
+ padding-bottom: 3rem;
+}
+
+.py-2 {
+ padding-top: 0.5rem;
+ padding-bottom: 0.5rem;
+}
+
+.py-3 {
+ padding-top: 0.75rem;
+ padding-bottom: 0.75rem;
+}
+
+.py-4 {
+ padding-top: 1rem;
+ padding-bottom: 1rem;
+}
+
+.py-6 {
+ padding-top: 1.5rem;
+ padding-bottom: 1.5rem;
+}
+
+.py-8 {
+ padding-top: 2rem;
+ padding-bottom: 2rem;
+}
+
+.pb-3 {
+ padding-bottom: 0.75rem;
+}
+
+.pl-10 {
+ padding-left: 2.5rem;
+}
+
+.pl-3 {
+ padding-left: 0.75rem;
+}
+
+.pr-10 {
+ padding-right: 2.5rem;
+}
+
+.pr-2 {
+ padding-right: 0.5rem;
+}
+
+.pr-3 {
+ padding-right: 0.75rem;
+}
+
+.pr-4 {
+ padding-right: 1rem;
+}
+
+.pt-2 {
+ padding-top: 0.5rem;
+}
+
+.pt-4 {
+ padding-top: 1rem;
+}
+
+.text-left {
+ text-align: left;
+}
+
+.text-center {
+ text-align: center;
+}
+
+.text-right {
+ text-align: right;
+}
+
+.text-2xl {
+ font-size: 1.5rem;
+ line-height: 2rem;
+}
+
+.text-3xl {
+ font-size: 1.875rem;
+ line-height: 2.25rem;
+}
+
+.text-4xl {
+ font-size: 2.25rem;
+ line-height: 2.5rem;
+}
+
+.text-base {
+ font-size: 1rem;
+ line-height: 1.5rem;
+}
+
+.text-lg {
+ font-size: 1.125rem;
+ line-height: 1.75rem;
+}
+
+.text-sm {
+ font-size: 0.875rem;
+ line-height: 1.25rem;
+}
+
+.text-xl {
+ font-size: 1.25rem;
+ line-height: 1.75rem;
+}
+
+.text-xs {
+ font-size: 0.75rem;
+ line-height: 1rem;
+}
+
+.font-bold {
+ font-weight: 700;
+}
+
+.font-medium {
+ font-weight: 500;
+}
+
+.font-normal {
+ font-weight: 400;
+}
+
+.font-semibold {
+ font-weight: 600;
+}
+
+.uppercase {
+ text-transform: uppercase;
+}
+
+.leading-5 {
+ line-height: 1.25rem;
+}
+
+.tracking-wider {
+ letter-spacing: 0.05em;
+}
+
+.text-base-content {
+ --tw-text-opacity: 1;
+ color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity)));
+}
+
+.text-base-content\/50 {
+ color: var(--fallback-bc,oklch(var(--bc)/0.5));
+}
+
+.text-base-content\/60 {
+ color: var(--fallback-bc,oklch(var(--bc)/0.6));
+}
+
+.text-base-content\/70 {
+ color: var(--fallback-bc,oklch(var(--bc)/0.7));
+}
+
+.text-black {
+ --tw-text-opacity: 1;
+ color: rgb(0 0 0 / var(--tw-text-opacity));
+}
+
+.text-blue-400 {
+ --tw-text-opacity: 1;
+ color: rgb(96 165 250 / var(--tw-text-opacity));
+}
+
+.text-blue-600 {
+ --tw-text-opacity: 1;
+ color: rgb(37 99 235 / var(--tw-text-opacity));
+}
+
+.text-blue-800 {
+ --tw-text-opacity: 1;
+ color: rgb(30 64 175 / var(--tw-text-opacity));
+}
+
+.text-error-content {
+ --tw-text-opacity: 1;
+ color: var(--fallback-erc,oklch(var(--erc)/var(--tw-text-opacity)));
+}
+
+.text-gray-300 {
+ --tw-text-opacity: 1;
+ color: rgb(209 213 219 / var(--tw-text-opacity));
+}
+
+.text-gray-400 {
+ --tw-text-opacity: 1;
+ color: rgb(156 163 175 / var(--tw-text-opacity));
+}
+
+.text-gray-500 {
+ --tw-text-opacity: 1;
+ color: rgb(107 114 128 / var(--tw-text-opacity));
+}
+
+.text-gray-600 {
+ --tw-text-opacity: 1;
+ color: rgb(75 85 99 / var(--tw-text-opacity));
+}
+
+.text-gray-700 {
+ --tw-text-opacity: 1;
+ color: rgb(55 65 81 / var(--tw-text-opacity));
+}
+
+.text-gray-800 {
+ --tw-text-opacity: 1;
+ color: rgb(31 41 55 / var(--tw-text-opacity));
+}
+
+.text-gray-900 {
+ --tw-text-opacity: 1;
+ color: rgb(17 24 39 / var(--tw-text-opacity));
+}
+
+.text-green-600 {
+ --tw-text-opacity: 1;
+ color: rgb(22 163 74 / var(--tw-text-opacity));
+}
+
+.text-green-800 {
+ --tw-text-opacity: 1;
+ color: rgb(22 101 52 / var(--tw-text-opacity));
+}
+
+.text-info-content {
+ --tw-text-opacity: 1;
+ color: var(--fallback-inc,oklch(var(--inc)/var(--tw-text-opacity)));
+}
+
+.text-neutral-400 {
+ --tw-text-opacity: 1;
+ color: rgb(163 163 163 / var(--tw-text-opacity));
+}
+
+.text-neutral-500 {
+ --tw-text-opacity: 1;
+ color: rgb(115 115 115 / var(--tw-text-opacity));
+}
+
+.text-neutral-600 {
+ --tw-text-opacity: 1;
+ color: rgb(82 82 82 / var(--tw-text-opacity));
+}
+
+.text-neutral-700 {
+ --tw-text-opacity: 1;
+ color: rgb(64 64 64 / var(--tw-text-opacity));
+}
+
+.text-neutral-900 {
+ --tw-text-opacity: 1;
+ color: rgb(23 23 23 / var(--tw-text-opacity));
+}
+
+.text-primary-600 {
+ --tw-text-opacity: 1;
+ color: rgb(2 132 199 / var(--tw-text-opacity));
+}
+
+.text-primary-700 {
+ --tw-text-opacity: 1;
+ color: rgb(3 105 161 / var(--tw-text-opacity));
+}
+
+.text-primary-800 {
+ --tw-text-opacity: 1;
+ color: rgb(7 89 133 / var(--tw-text-opacity));
+}
+
+.text-primary-900 {
+ --tw-text-opacity: 1;
+ color: rgb(12 74 110 / var(--tw-text-opacity));
+}
+
+.text-purple-600 {
+ --tw-text-opacity: 1;
+ color: rgb(147 51 234 / var(--tw-text-opacity));
+}
+
+.text-success-content {
+ --tw-text-opacity: 1;
+ color: var(--fallback-suc,oklch(var(--suc)/var(--tw-text-opacity)));
+}
+
+.text-warning-content {
+ --tw-text-opacity: 1;
+ color: var(--fallback-wac,oklch(var(--wac)/var(--tw-text-opacity)));
+}
+
+.text-white {
+ --tw-text-opacity: 1;
+ color: rgb(255 255 255 / var(--tw-text-opacity));
+}
+
+.text-yellow-500 {
+ --tw-text-opacity: 1;
+ color: rgb(234 179 8 / var(--tw-text-opacity));
+}
+
+.text-yellow-600 {
+ --tw-text-opacity: 1;
+ color: rgb(202 138 4 / var(--tw-text-opacity));
+}
+
+.text-yellow-800 {
+ --tw-text-opacity: 1;
+ color: rgb(133 77 14 / var(--tw-text-opacity));
+}
+
+.antialiased {
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
+
+.placeholder-gray-500::-moz-placeholder {
+ --tw-placeholder-opacity: 1;
+ color: rgb(107 114 128 / var(--tw-placeholder-opacity));
+}
+
+.placeholder-gray-500::placeholder {
+ --tw-placeholder-opacity: 1;
+ color: rgb(107 114 128 / var(--tw-placeholder-opacity));
+}
+
+.opacity-0 {
+ opacity: 0;
+}
+
+.opacity-100 {
+ opacity: 1;
+}
+
+.shadow {
+ --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
+ --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
+}
+
+.shadow-lg {
+ --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
+ --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
+}
+
+.shadow-sm {
+ --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
+ --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
+}
+
+.shadow-xl {
+ --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
+ --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
+}
+
+.ring-0 {
+ --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
+ --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
+ box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
+}
+
+.ring-1 {
+ --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
+ --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
+ box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
+}
+
+.ring-inset {
+ --tw-ring-inset: inset;
+}
+
+.ring-black {
+ --tw-ring-opacity: 1;
+ --tw-ring-color: rgb(0 0 0 / var(--tw-ring-opacity));
+}
+
+.ring-neutral-300 {
+ --tw-ring-opacity: 1;
+ --tw-ring-color: rgb(212 212 212 / var(--tw-ring-opacity));
+}
+
+.ring-opacity-5 {
+ --tw-ring-opacity: 0.05;
+}
+
+.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, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
+ transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
+ transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
+ transition-duration: 150ms;
+}
+
+.transition-all {
+ transition-property: all;
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
+ transition-duration: 150ms;
+}
+
+.transition-colors {
+ transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
+ transition-duration: 150ms;
+}
+
+.transition-shadow {
+ transition-property: box-shadow;
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
+ transition-duration: 150ms;
+}
+
+.duration-100 {
+ transition-duration: 100ms;
+}
+
+.duration-200 {
+ transition-duration: 200ms;
+}
+
+.duration-300 {
+ transition-duration: 300ms;
+}
+
+.ease-in {
+ transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
+}
+
+.ease-in-out {
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
+}
+
+.hover\:bg-accent-700:hover {
+ --tw-bg-opacity: 1;
+ background-color: rgb(185 28 28 / var(--tw-bg-opacity));
+}
+
+.hover\:bg-blue-700:hover {
+ --tw-bg-opacity: 1;
+ background-color: rgb(29 78 216 / var(--tw-bg-opacity));
+}
+
+.hover\:bg-gray-100:hover {
+ --tw-bg-opacity: 1;
+ background-color: rgb(243 244 246 / var(--tw-bg-opacity));
+}
+
+.hover\:bg-gray-200:hover {
+ --tw-bg-opacity: 1;
+ background-color: rgb(229 231 235 / var(--tw-bg-opacity));
+}
+
+.hover\:bg-gray-300:hover {
+ --tw-bg-opacity: 1;
+ background-color: rgb(209 213 219 / var(--tw-bg-opacity));
+}
+
+.hover\:bg-gray-50:hover {
+ --tw-bg-opacity: 1;
+ background-color: rgb(249 250 251 / var(--tw-bg-opacity));
+}
+
+.hover\:bg-neutral-100:hover {
+ --tw-bg-opacity: 1;
+ background-color: rgb(245 245 245 / var(--tw-bg-opacity));
+}
+
+.hover\:bg-neutral-50:hover {
+ --tw-bg-opacity: 1;
+ background-color: rgb(250 250 250 / var(--tw-bg-opacity));
+}
+
+.hover\:text-gray-900:hover {
+ --tw-text-opacity: 1;
+ color: rgb(17 24 39 / var(--tw-text-opacity));
+}
+
+.hover\:text-neutral-900:hover {
+ --tw-text-opacity: 1;
+ color: rgb(23 23 23 / var(--tw-text-opacity));
+}
+
+.hover\:shadow-md:hover {
+ --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
+ --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
+}
+
+.hover\:shadow-xl:hover {
+ --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
+ --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
+}
+
+.focus\:border-blue-500:focus {
+ --tw-border-opacity: 1;
+ border-color: rgb(59 130 246 / var(--tw-border-opacity));
+}
+
+.focus\:placeholder-gray-400:focus::-moz-placeholder {
+ --tw-placeholder-opacity: 1;
+ color: rgb(156 163 175 / var(--tw-placeholder-opacity));
+}
+
+.focus\:placeholder-gray-400:focus::placeholder {
+ --tw-placeholder-opacity: 1;
+ color: rgb(156 163 175 / var(--tw-placeholder-opacity));
+}
+
+.focus\:outline-none:focus {
+ outline: 2px solid transparent;
+ outline-offset: 2px;
+}
+
+.focus\:ring-1:focus {
+ --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
+ --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
+ box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
+}
+
+.focus\:ring-2:focus {
+ --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
+ --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
+ box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
+}
+
+.focus\:ring-blue-500:focus {
+ --tw-ring-opacity: 1;
+ --tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity));
+}
+
+.focus\:ring-primary-500:focus {
+ --tw-ring-opacity: 1;
+ --tw-ring-color: rgb(14 165 233 / var(--tw-ring-opacity));
+}
+
+.focus\:ring-offset-2:focus {
+ --tw-ring-offset-width: 2px;
+}
+
+.dark\:divide-neutral-700:is(.dark *) > :not([hidden]) ~ :not([hidden]) {
+ --tw-divide-opacity: 1;
+ border-color: rgb(64 64 64 / var(--tw-divide-opacity));
+}
+
+.dark\:border-neutral-600:is(.dark *) {
+ --tw-border-opacity: 1;
+ border-color: rgb(82 82 82 / var(--tw-border-opacity));
+}
+
+.dark\:border-neutral-700:is(.dark *) {
+ --tw-border-opacity: 1;
+ border-color: rgb(64 64 64 / var(--tw-border-opacity));
+}
+
+.dark\:bg-accent-500:is(.dark *) {
+ --tw-bg-opacity: 1;
+ background-color: rgb(239 68 68 / var(--tw-bg-opacity));
+}
+
+.dark\:bg-gray-700:is(.dark *) {
+ --tw-bg-opacity: 1;
+ background-color: rgb(55 65 81 / var(--tw-bg-opacity));
+}
+
+.dark\:bg-neutral-700:is(.dark *) {
+ --tw-bg-opacity: 1;
+ background-color: rgb(64 64 64 / var(--tw-bg-opacity));
+}
+
+.dark\:bg-neutral-800:is(.dark *) {
+ --tw-bg-opacity: 1;
+ background-color: rgb(38 38 38 / var(--tw-bg-opacity));
+}
+
+.dark\:bg-neutral-900:is(.dark *) {
+ --tw-bg-opacity: 1;
+ background-color: rgb(23 23 23 / var(--tw-bg-opacity));
+}
+
+.dark\:bg-primary-500:is(.dark *) {
+ --tw-bg-opacity: 1;
+ background-color: rgb(14 165 233 / var(--tw-bg-opacity));
+}
+
+.dark\:bg-primary-900:is(.dark *) {
+ --tw-bg-opacity: 1;
+ background-color: rgb(12 74 110 / var(--tw-bg-opacity));
+}
+
+.dark\:text-neutral-300:is(.dark *) {
+ --tw-text-opacity: 1;
+ color: rgb(212 212 212 / var(--tw-text-opacity));
+}
+
+.dark\:text-neutral-400:is(.dark *) {
+ --tw-text-opacity: 1;
+ color: rgb(163 163 163 / var(--tw-text-opacity));
+}
+
+.dark\:text-neutral-500:is(.dark *) {
+ --tw-text-opacity: 1;
+ color: rgb(115 115 115 / var(--tw-text-opacity));
+}
+
+.dark\:text-primary-100:is(.dark *) {
+ --tw-text-opacity: 1;
+ color: rgb(224 242 254 / var(--tw-text-opacity));
+}
+
+.dark\:text-primary-200:is(.dark *) {
+ --tw-text-opacity: 1;
+ color: rgb(186 230 253 / var(--tw-text-opacity));
+}
+
+.dark\:text-primary-300:is(.dark *) {
+ --tw-text-opacity: 1;
+ color: rgb(125 211 252 / var(--tw-text-opacity));
+}
+
+.dark\:text-primary-400:is(.dark *) {
+ --tw-text-opacity: 1;
+ color: rgb(56 189 248 / var(--tw-text-opacity));
+}
+
+.dark\:text-white:is(.dark *) {
+ --tw-text-opacity: 1;
+ color: rgb(255 255 255 / var(--tw-text-opacity));
+}
+
+.dark\:ring-neutral-600:is(.dark *) {
+ --tw-ring-opacity: 1;
+ --tw-ring-color: rgb(82 82 82 / var(--tw-ring-opacity));
+}
+
+.dark\:hover\:bg-accent-600:hover:is(.dark *) {
+ --tw-bg-opacity: 1;
+ background-color: rgb(220 38 38 / var(--tw-bg-opacity));
+}
+
+.dark\:hover\:bg-neutral-600:hover:is(.dark *) {
+ --tw-bg-opacity: 1;
+ background-color: rgb(82 82 82 / var(--tw-bg-opacity));
+}
+
+.dark\:hover\:bg-neutral-700:hover:is(.dark *) {
+ --tw-bg-opacity: 1;
+ background-color: rgb(64 64 64 / var(--tw-bg-opacity));
+}
+
+.dark\:hover\:text-white:hover:is(.dark *) {
+ --tw-text-opacity: 1;
+ color: rgb(255 255 255 / var(--tw-text-opacity));
+}
+
+.dark\:focus\:ring-offset-gray-900:focus:is(.dark *) {
+ --tw-ring-offset-color: #111827;
+}
+
+@media (min-width: 640px) {
+ .sm\:grid-cols-2 {
+ grid-template-columns: repeat(2, minmax(0, 1fr));
+ }
+
+ .sm\:px-3 {
+ padding-left: 0.75rem;
+ padding-right: 0.75rem;
+ }
+
+ .sm\:px-6 {
+ padding-left: 1.5rem;
+ padding-right: 1.5rem;
+ }
+
+ .sm\:text-sm {
+ font-size: 0.875rem;
+ line-height: 1.25rem;
+ }
+}
+
+@media (min-width: 768px) {
+ .md\:flex {
+ display: flex;
+ }
+
+ .md\:hidden {
+ display: none;
+ }
+
+ .md\:grid-cols-2 {
+ grid-template-columns: repeat(2, minmax(0, 1fr));
+ }
+
+ .md\:grid-cols-3 {
+ grid-template-columns: repeat(3, minmax(0, 1fr));
+ }
+
+ .md\:grid-cols-4 {
+ grid-template-columns: repeat(4, minmax(0, 1fr));
+ }
+
+ .md\:grid-cols-6 {
+ grid-template-columns: repeat(6, minmax(0, 1fr));
+ }
+}
+
+@media (min-width: 1024px) {
+ .lg\:grid-cols-3 {
+ grid-template-columns: repeat(3, minmax(0, 1fr));
+ }
+
+ .lg\:px-8 {
+ padding-left: 2rem;
+ padding-right: 2rem;
+ }
+}
+
+@media (min-width: 1280px) {
+ .xl\:grid-cols-4 {
+ grid-template-columns: repeat(4, minmax(0, 1fr));
+ }
+}
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
index 452d908..3c23630 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -10,6 +10,7 @@
"dependencies": {
"@headlessui/react": "^2.2.4",
"@heroicons/react": "^2.2.0",
+ "daisyui": "^4.7.3",
"next": "15.3.4",
"react": "^19.0.0",
"react-dom": "^19.0.0"
@@ -2346,7 +2347,6 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz",
"integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">= 6"
@@ -2519,11 +2519,20 @@
"node": ">= 8"
}
},
+ "node_modules/css-selector-tokenizer": {
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.8.0.tgz",
+ "integrity": "sha512-Jd6Ig3/pe62/qe5SBPTN8h8LeUg/pT4lLgtavPf7updwwHpvFzxvOQBHYj2LZDMjUnBzgvIUSjRcf6oT5HzHFg==",
+ "license": "MIT",
+ "dependencies": {
+ "cssesc": "^3.0.0",
+ "fastparse": "^1.1.2"
+ }
+ },
"node_modules/cssesc": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
"integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
- "dev": true,
"license": "MIT",
"bin": {
"cssesc": "bin/cssesc"
@@ -2539,6 +2548,34 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/culori": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/culori/-/culori-3.3.0.tgz",
+ "integrity": "sha512-pHJg+jbuFsCjz9iclQBqyL3B2HLCBF71BwVNujUYEvCeQMvV97R59MNK3R2+jgJ3a1fcZgI9B3vYgz8lzr/BFQ==",
+ "license": "MIT",
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ }
+ },
+ "node_modules/daisyui": {
+ "version": "4.7.3",
+ "resolved": "https://registry.npmjs.org/daisyui/-/daisyui-4.7.3.tgz",
+ "integrity": "sha512-R8jUpBMAUm4rSyxzGa9QqFdJTkzREtb1QahXdDoOfElGiF4VbSuu5bfqQoOro1kkSagPy+aTKu5WtSSXmH3u3g==",
+ "license": "MIT",
+ "dependencies": {
+ "css-selector-tokenizer": "^0.8",
+ "culori": "^3",
+ "picocolors": "^1",
+ "postcss-js": "^4"
+ },
+ "engines": {
+ "node": ">=16.9.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/daisyui"
+ }
+ },
"node_modules/damerau-levenshtein": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz",
@@ -3411,6 +3448,12 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/fastparse": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz",
+ "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==",
+ "license": "MIT"
+ },
"node_modules/fastq": {
"version": "1.19.1",
"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz",
@@ -5133,7 +5176,6 @@
"version": "8.5.6",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz",
"integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==",
- "dev": true,
"funding": [
{
"type": "opencollective",
@@ -5180,7 +5222,6 @@
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz",
"integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==",
- "dev": true,
"license": "MIT",
"dependencies": {
"camelcase-css": "^2.0.1"
diff --git a/package.json b/package.json
index 77fdaaa..8e01a43 100644
--- a/package.json
+++ b/package.json
@@ -3,7 +3,7 @@
"version": "0.1.0",
"private": true,
"scripts": {
- "dev": "next dev --turbopack",
+ "dev": "next dev",
"build": "next build",
"start": "next start",
"lint": "next lint"
@@ -11,6 +11,7 @@
"dependencies": {
"@headlessui/react": "^2.2.4",
"@heroicons/react": "^2.2.0",
+ "daisyui": "^4.7.3",
"next": "15.3.4",
"react": "^19.0.0",
"react-dom": "^19.0.0"
diff --git a/src/app/daisyui-demo/page.tsx b/src/app/daisyui-demo/page.tsx
new file mode 100644
index 0000000..6853e70
--- /dev/null
+++ b/src/app/daisyui-demo/page.tsx
@@ -0,0 +1,105 @@
+'use client';
+
+import Tooltip from '@/components/Tooltip';
+
+export default function DaisyUIDemo() {
+ return (
+ Test and validate DaisyUI components and theme integration. This is a sample card using DaisyUI's card component.DaisyUI Component Demo
+ Alerts
+ Buttons
+ Cards
+ DaisyUI Card
+ Badges
+ Tooltip
+
{product.description}
-| - Category - | - handleSort('name')}
- >
-
- Name
- {getSortIcon('name')}
-
- |
- - Brand - | -- Description - | - handleSort('price')}
- >
-
- Price
- {getSortIcon('price')}
-
- |
- - Actions - | -
|---|---|---|---|---|---|
| - - {part.category.name} - - | -
-
- {part.name}
-
-
- {part.brand.name}
-
- |
-
-
- {part.brand.name}
-
- |
-
-
- {part.description}
-
- |
-
-
- ${Math.min(...part.offers.map(offer => offer.price)).toFixed(2)}
-
- |
- - - | -
| + Category + | + handleSort('name')}
+ >
+
+ Name
+ {getSortIcon('name')}
+
+ |
+ + Brand + | ++ Description + | + handleSort('price')}
+ >
+
+ Price
+ {getSortIcon('price')}
+
+ |
+ + Actions + | +
|---|---|---|---|---|---|
| + + {part.category.name} + + | +
+
+ {part.name}
+
+
+ {part.brand.name}
+
+ |
+
+
+ {part.brand.name}
+
+ |
+
+
+ {part.description}
+
+ |
+
+
+ ${Math.min(...part.offers.map(offer => offer.price)).toFixed(2)}
+
+ |
+ + + | +
{product.description}
+ +