Free and open source ticket system written in python

feat: migrate to tailwindcss4; daisyui 5

Signed-off-by: A. Ottr <alex@otter.foo>

+4101 -1174
+7 -7
core/forms.py
··· 5 5 6 6 class UserChangeForm(forms.Form): 7 7 email = forms.EmailField(required=True, widget=forms.EmailInput( 8 - attrs={'class': 'input input-bordered w-full'})) 8 + attrs={'class': 'input w-full'})) 9 9 profile_picture = forms.ImageField(required=False, widget=forms.FileInput( 10 - attrs={'class': 'file-input file-input-bordered w-full'})) 10 + attrs={'class': 'file-input w-full'})) 11 11 language = forms.ChoiceField(choices=settings.LANGUAGES, widget=forms.Select( 12 - attrs={'class': 'select select-bordered w-full'})) 12 + attrs={'class': 'select w-full'})) 13 13 telegram_username = forms.CharField(required=False, widget=forms.TextInput(attrs={ 14 14 'class': 'grow', 'placeholder': 'Telegram Username'})) 15 15 use_darkmode = forms.BooleanField( ··· 32 32 'invalid': _('Username can only have alphanumeric characters and underscores and dashes (a-z, 0-9, _, -, @)') 33 33 }, 34 34 widget=forms.TextInput( 35 - attrs={'placeholder': _('Username'), 'class': 'input input-bordered w-full'}), 35 + attrs={'placeholder': _('Username'), 'class': 'input w-full'}), 36 36 ) 37 37 38 38 class RegisterForm(forms.Form): 39 39 username = USERNAME_REGEX_FIELD 40 40 email = forms.EmailField(required=True, widget=forms.EmailInput( 41 - attrs={'class': 'input input-bordered w-full'})) 41 + attrs={'class': 'input w-full'})) 42 42 password = forms.CharField(required=True, widget=forms.PasswordInput( 43 - attrs={'class': 'input input-bordered w-full'})) 43 + attrs={'class': 'input w-full'})) 44 44 password_confirm = forms.CharField(required=True, widget=forms.PasswordInput( 45 - attrs={'class': 'input input-bordered w-full'})) 45 + attrs={'class': 'input w-full'})) 46 46 47 47 class Meta: 48 48 model = PawUser
+1 -1
paw/__init__.py
··· 1 1 from django import get_version 2 2 3 - PAW_VERSION = (0, 5, 12, "final", 0) 3 + PAW_VERSION = (0, 6, 0, "final", 0) 4 4 5 5 __version__ = get_version(PAW_VERSION)
+1
paw/settings.py
··· 45 45 "django.contrib.messages", 46 46 "django.contrib.staticfiles", 47 47 "status", 48 + 'django_cotton', 48 49 ] 49 50 50 51 AUTH_USER_MODEL = "core.PawUser"
+3070 -2
paw/static/css/paw.css
··· 1 - /*! tailwindcss v3.4.1 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[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:#fff;--fallback-b2:#e5e6e6;--fallback-b3:#e5e6e6;--fallback-bc:#1f2937;--fallback-in:#00b3f0;--fallback-inc:#000;--fallback-su:#00ca92;--fallback-suc:#000;--fallback-wa:#ffc22d;--fallback-wac:#000;--fallback-er:#ff6f70;--fallback-erc:#000}@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:#000;--fallback-su:#00ca92;--fallback-suc:#000;--fallback-wa:#ffc22d;--fallback-wac:#000;--fallback-er:#ff6f70;--fallback-erc:#000}}}html{-webkit-tap-highlight-color:transparent}:root{color-scheme:light;--pc:0.118872 0.015449 254.027774;--sc:0.139303 0.011822 248.687186;--ac:0.154929 0.01245 217.469017;--inc:0.138414 0.012499 332.664922;--suc:0.153654 0.01498 131.063061;--wac:0.170972 0.017847 84.093335;--erc:0.12122 0.024119 15.341883;--animation-btn:0.25s;--animation-input:.2s;--btn-focus-scale:0.95;--border-btn:1px;--tab-border:1px;--p:0.594359 0.077246 254.027774;--s:0.696516 0.059108 248.687186;--a:0.774643 0.062249 217.469017;--n:0.45229 0.035214 264.1312;--nc:0.899258 0.016374 262.749256;--b1:0.951276 0.007445 260.731539;--b2:0.932996 0.010389 261.788485;--b3:0.899258 0.016374 262.749256;--bc:0.324374 0.022945 264.182036;--in:0.692072 0.062496 332.664922;--su:0.76827 0.074899 131.063061;--wa:0.854862 0.089234 84.093335;--er:0.6061 0.120594 15.341883;--rounded-box:0.4rem;--rounded-btn:0.2rem;--rounded-badge:0.4rem;--tab-radius:0.2rem}@media (prefers-color-scheme:dark){:root{color-scheme:dark;--in:0.7206 0.191 231.6;--pc:0.13138 0.0392 275.75;--sc:0.139303 0.011822 248.687186;--ac:0.154929 0.01245 217.469017;--inc:0 0 0;--suc:0.153654 0.01498 131.063061;--wac:0.170972 0.017847 84.093335;--erc:0.12122 0.024119 15.341883;--animation-btn:0.25s;--animation-input:.2s;--btn-focus-scale:0.95;--border-btn:1px;--tab-border:1px;--p:0.6569 0.196 275.75;--s:0.696516 0.059108 248.687186;--a:0.774643 0.062249 217.469017;--n:0.313815 0.021108 254.139175;--nc:0.746477 0.0216 264.435964;--b1:0.253267 0.015896 252.417568;--b2:0.232607 0.013807 253.100675;--b3:0.211484 0.01165 254.087939;--bc:0.746477 0.0216 264.435964;--su:0.76827 0.074899 131.063061;--wa:0.854862 0.089234 84.093335;--er:0.6061 0.120594 15.341883;--rounded-box:0.4rem;--rounded-btn:0.2rem;--rounded-badge:0.4rem;--tab-radius:0.2rem}}[data-theme=light]{color-scheme:light;--pc:0.118872 0.015449 254.027774;--sc:0.139303 0.011822 248.687186;--ac:0.154929 0.01245 217.469017;--inc:0.138414 0.012499 332.664922;--suc:0.153654 0.01498 131.063061;--wac:0.170972 0.017847 84.093335;--erc:0.12122 0.024119 15.341883;--animation-btn:0.25s;--animation-input:.2s;--btn-focus-scale:0.95;--border-btn:1px;--tab-border:1px;--p:0.594359 0.077246 254.027774;--s:0.696516 0.059108 248.687186;--a:0.774643 0.062249 217.469017;--n:0.45229 0.035214 264.1312;--nc:0.899258 0.016374 262.749256;--b1:0.951276 0.007445 260.731539;--b2:0.932996 0.010389 261.788485;--b3:0.899258 0.016374 262.749256;--bc:0.324374 0.022945 264.182036;--in:0.692072 0.062496 332.664922;--su:0.76827 0.074899 131.063061;--wa:0.854862 0.089234 84.093335;--er:0.6061 0.120594 15.341883;--rounded-box:0.4rem;--rounded-btn:0.2rem;--rounded-badge:0.4rem;--tab-radius:0.2rem}[data-theme=dark]{color-scheme:dark;--in:0.7206 0.191 231.6;--pc:0.13138 0.0392 275.75;--sc:0.139303 0.011822 248.687186;--ac:0.154929 0.01245 217.469017;--inc:0 0 0;--suc:0.153654 0.01498 131.063061;--wac:0.170972 0.017847 84.093335;--erc:0.12122 0.024119 15.341883;--animation-btn:0.25s;--animation-input:.2s;--btn-focus-scale:0.95;--border-btn:1px;--tab-border:1px;--p:0.6569 0.196 275.75;--s:0.696516 0.059108 248.687186;--a:0.774643 0.062249 217.469017;--n:0.313815 0.021108 254.139175;--nc:0.746477 0.0216 264.435964;--b1:0.253267 0.015896 252.417568;--b2:0.232607 0.013807 253.100675;--b3:0.211484 0.01165 254.087939;--bc:0.746477 0.0216 264.435964;--su:0.76827 0.074899 131.063061;--wa:0.854862 0.089234 84.093335;--er:0.6061 0.120594 15.341883;--rounded-box:0.4rem;--rounded-btn:0.2rem;--rounded-badge:0.4rem;--tab-radius:0.2rem}*,::backdrop,:after,:before{--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:#3b82f680;--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: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.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{position:relative;display:inline-flex}.avatar>div{display:block;aspect-ratio:1/1;overflow:hidden}.avatar img{height:100%;width:100%;-o-object-fit:cover;object-fit:cover}.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(.4,0,.2,1);transition-timing-function:cubic-bezier(0,0,.2,1);transition-duration:.2s;height:1.25rem;font-size:.875rem;line-height:1.25rem;width:-moz-fit-content;width:fit-content;padding-left:.563rem;padding-right:.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){.checkbox-secondary:hover{--tw-border-opacity:1;border-color:var(--fallback-s,oklch(var(--s)/var(--tw-border-opacity)))}.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(2n):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,.5rem);border-color:#0000;border-color:oklch(var(--btn-color,var(--b2))/var(--tw-border-opacity));padding-left:1rem;padding-right:1rem;text-align:center;font-size:.875rem;line-height:1em;gap:.5rem;font-weight:600;text-decoration-line:none;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1);border-width:var(--border-btn,1px);animation:button-pop var(--animation-btn,.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 #0000000d;--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}.btn-square{height:3rem;width:3rem;padding:0}: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 #0000;outline-offset:2px}.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:.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)))}.chat{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));-moz-column-gap:.75rem;column-gap:.75rem;padding-top:.25rem;padding-bottom:.25rem}.chat-image{grid-row:span 2/span 2;align-self:flex-end}.chat-header{grid-row-start:1}.chat-footer,.chat-header{font-size:.875rem;line-height:1.25rem}.chat-footer{grid-row-start:3}.chat-bubble{position:relative;display:block;width:-moz-fit-content;width:fit-content;padding:.5rem 1rem;max-width:90%;border-radius:var(--rounded-box,1rem);min-height:2.75rem;min-width:2.75rem;--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)))}.chat-bubble:before{position:absolute;bottom:0;height:.75rem;width:.75rem;background-color:inherit;content:"";-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}.chat-start{place-items:start;grid-template-columns:auto 1fr}.chat-start .chat-footer,.chat-start .chat-header{grid-column-start:2}.chat-start .chat-image{grid-column-start:1}.chat-start .chat-bubble{grid-column-start:2;border-end-start-radius:0}.chat-start .chat-bubble:before{-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='3' height='3'%3E%3Cpath d='M0 3h3V0c0 1-2 3-3 3'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='3' height='3'%3E%3Cpath d='M0 3h3V0c0 1-2 3-3 3'/%3E%3C/svg%3E");inset-inline-start:-.749rem}[dir=rtl] .chat-start .chat-bubble:before{-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='3' height='3'%3E%3Cpath d='M0 3h3C2 3 0 1 0 0'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='3' height='3'%3E%3Cpath d='M0 3h3C2 3 0 1 0 0'/%3E%3C/svg%3E")}.chat-end{place-items:end;grid-template-columns:1fr auto}.chat-end .chat-footer,.chat-end .chat-header{grid-column-start:1}.chat-end .chat-image{grid-column-start:2}.chat-end .chat-bubble{grid-column-start:1;border-end-end-radius:0}.chat-end .chat-bubble:before{-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='3' height='3'%3E%3Cpath d='M0 3h3C2 3 0 1 0 0'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='3' height='3'%3E%3Cpath d='M0 3h3C2 3 0 1 0 0'/%3E%3C/svg%3E");inset-inline-start:99.9%}[dir=rtl] .chat-end .chat-bubble:before{-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='3' height='3'%3E%3Cpath d='M0 3h3V0c0 1-2 3-3 3'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='3' height='3'%3E%3Cpath d='M0 3h3V0c0 1-2 3-3 3'/%3E%3C/svg%3E")}.checkbox{flex-shrink:0;--chkbg:var(--fallback-bc,oklch(var(--bc)/1));--chkfg:var(--fallback-b1,oklch(var(--b1)/1));height:1.5rem;width:1.5rem;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--rounded-btn,.5rem);border-width:1px;border-color:var(--fallback-bc,oklch(var(--bc)/var(--tw-border-opacity)));--tw-border-opacity:0.2}.divider{display:flex;flex-direction:row;align-items:center;align-self:stretch;margin-top:1rem;margin-bottom:1rem;height:1rem;white-space:nowrap}.divider:after,.divider:before{height:.125rem;width:100%;flex-grow:1;--tw-content:"";content:var(--tw-content);background-color:var(--fallback-bc,oklch(var(--bc)/.1))}.drawer{position:relative;display:grid;grid-auto-columns:max-content auto;width:100%}.drawer-content{grid-column-start:2;grid-row-start:1;min-width:0}.drawer-side{pointer-events:none;position:fixed;inset-inline-start:0;top:0;grid-column-start:1;grid-row-start:1;display:grid;width:100%;grid-template-columns:repeat(1,minmax(0,1fr));grid-template-rows:repeat(1,minmax(0,1fr));align-items:flex-start;justify-items:start;overflow-x:hidden;overflow-y:hidden;overscroll-behavior:contain;height:100vh;height:100dvh}.drawer-side>.drawer-overlay{position:sticky;top:0;place-self:stretch;cursor:pointer;background-color:initial;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(0,0,.2,1);transition-duration:.2s}.drawer-side>*{grid-column-start:1;grid-row-start:1}.drawer-side>:not(.drawer-overlay){transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(0,0,.2,1);transition-duration:.3s;will-change:transform;transform:translateX(-100%)}[dir=rtl] .drawer-side>:not(.drawer-overlay){transform:translateX(100%)}.drawer-toggle{position:fixed;height:0;width:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;opacity:0}.drawer-toggle:checked~.drawer-side{pointer-events:auto;visibility:visible;overflow-y:auto}.drawer-toggle:checked~.drawer-side>:not(.drawer-overlay){transform:translateX(0)}.drawer-end .drawer-toggle~.drawer-content{grid-column-start:1}.drawer-end .drawer-toggle~.drawer-side{grid-column-start:2;justify-items:end}.drawer-end .drawer-toggle~.drawer-side>:not(.drawer-overlay){transform:translateX(100%)}[dir=rtl] .drawer-end .drawer-toggle~.drawer-side>:not(.drawer-overlay){transform:translateX(-100%)}.drawer-end .drawer-toggle:checked~.drawer-side>:not(.drawer-overlay){transform:translateX(0)}@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%,#000);border-color:color-mix(in oklab,oklch(var(--btn-color,var(--b2))/var(--tw-border-opacity,1)) 90%,#000)}}@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-ghost:hover{border-color:#0000}@supports (color:oklch(0 0 0)){.btn-ghost:hover{background-color:var(--fallback-bc,oklch(var(--bc)/.2))}}.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%,#000);border-color:color-mix(in oklab,var(--fallback-a,oklch(var(--a)/1)) 90%,#000)}}.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%,#000);border-color:color-mix(in oklab,var(--fallback-su,oklch(var(--su)/1)) 90%,#000)}}.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%,#000);border-color:color-mix(in oklab,var(--fallback-wa,oklch(var(--wa)/1)) 90%,#000)}}.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%,#000);border-color:color-mix(in oklab,var(--fallback-er,oklch(var(--er)/1)) 90%,#000)}}.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%,#000);border-color:color-mix(in oklab,var(--fallback-p,oklch(var(--p)/1)) 90%,#000)}}: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 #0000;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)/.1))}}}.file-input{height:3rem;flex-shrink:1;padding-inline-end:1rem;font-size:1rem;line-height:2;line-height:1.5rem;overflow:hidden;border-radius:var(--rounded-btn,.5rem);border-width:1px;border-color:var(--fallback-bc,oklch(var(--bc)/var(--tw-border-opacity)));--tw-border-opacity:0;--tw-bg-opacity:1;background-color:var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity)))}.file-input::file-selector-button{margin-inline-end:1rem;display:inline-flex;height:100%;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;padding-left:1rem;padding-right:1rem;text-align:center;font-size:.875rem;line-height:1.25rem;line-height:1em;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(.4,0,.2,1);transition-timing-function:cubic-bezier(0,0,.2,1);transition-duration:.2s;border-style:solid;--tw-border-opacity:1;border-color:var(--fallback-n,oklch(var(--n)/var(--tw-border-opacity)));--tw-bg-opacity:1;background-color:var(--fallback-n,oklch(var(--n)/var(--tw-bg-opacity)));font-weight:600;text-transform:uppercase;--tw-text-opacity:1;color:var(--fallback-nc,oklch(var(--nc)/var(--tw-text-opacity)));text-decoration-line:none;border-width:var(--border-btn,1px);animation:button-pop var(--animation-btn,.25s) ease-out}.form-control{flex-direction:column}.form-control,.label{display:flex}.label{-webkit-user-select:none;-moz-user-select:none;user-select:none;align-items:center;justify-content:space-between;padding:.5rem .25rem}.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,.5rem);border-width:1px;border-color:#0000;--tw-bg-opacity:1;background-color:var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity)))}.input-md[type=number]::-webkit-inner-spin-button,.input[type=number]::-webkit-inner-spin-button{margin-top:-1rem;margin-bottom:-1rem;margin-inline-end:-1rem}.join{display:inline-flex;align-items:stretch;border-radius:var(--rounded-btn,.5rem)}.join :where(.join-item){border-start-end-radius:0;border-end-end-radius:0;border-end-start-radius:0;border-start-start-radius:0}.join .join-item:not(:first-child):not(:last-child),.join :not(:first-child):not(:last-child) .join-item{border-start-end-radius:0;border-end-end-radius:0;border-end-start-radius:0;border-start-start-radius:0}.join .join-item:first-child:not(:last-child),.join :first-child:not(:last-child) .join-item{border-start-end-radius:0;border-end-end-radius:0}.join .dropdown .join-item:first-child:not(:last-child),.join :first-child:not(:last-child) .dropdown .join-item{border-start-end-radius:inherit;border-end-end-radius:inherit}.join :where(.join-item:first-child:not(:last-child)),.join :where(:first-child:not(:last-child) .join-item){border-end-start-radius:inherit;border-start-start-radius:inherit}.join .join-item:last-child:not(:first-child),.join :last-child:not(:first-child) .join-item{border-end-start-radius:0;border-start-start-radius:0}.join :where(.join-item:last-child:not(:first-child)),.join :where(:last-child:not(:first-child) .join-item){border-start-end-radius:inherit;border-end-end-radius:inherit}@supports not selector(:has(*)){:where(.join *){border-radius:inherit}}@supports selector(:has(*)){:where(.join :has(.join-item)){border-radius:inherit}}.link{cursor:pointer;text-decoration-line:underline}.menu{display:flex;flex-direction:column;flex-wrap:wrap;font-size:.875rem;line-height:1.25rem;padding:.5rem}.menu :where(li ul){position:relative;white-space:nowrap;margin-inline-start:1rem;padding-inline-start:.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:.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)/.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}.navbar{display:flex;align-items:center;padding:var(--navbar-padding,.5rem);min-height:4rem;width:100%}:where(.navbar>:not(script,style)){display:inline-flex;align-items:center}.navbar-start{width:50%;justify-content:flex-start}.navbar-center{flex-shrink:0}.navbar-end{width:50%;justify-content:flex-end}.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:.875rem;line-height:1.25rem;line-height:2;border-radius:var(--rounded-btn,.5rem);border-width:1px;border-color:#0000;--tw-bg-opacity:1;background-color:var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity)));background-image:linear-gradient(45deg,#0000 50%,currentColor 0),linear-gradient(135deg,currentColor 50%,#0000 0);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}.steps{display:inline-grid;grid-auto-flow:column;overflow:hidden;overflow-x:auto;counter-reset:step;grid-auto-columns:1fr}.steps .step{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));grid-template-columns:auto;grid-template-rows:repeat(2,minmax(0,1fr));grid-template-rows:40px 1fr;place-items:center;text-align:center;min-width:4rem}.swap{position:relative;display:inline-grid;-webkit-user-select:none;-moz-user-select:none;user-select:none;place-content:center;cursor:pointer}.swap>*{grid-column-start:1;grid-row-start:1;transition-duration:.3s;transition-timing-function:cubic-bezier(0,0,.2,1);transition-property:transform,opacity}.swap input{-webkit-appearance:none;-moz-appearance:none;appearance:none}.swap .swap-indeterminate,.swap .swap-on,.swap input:checked~.swap-off,.swap input:indeterminate~.swap-off,.swap input:indeterminate~.swap-on,.swap-active .swap-off{opacity:0}.swap input:checked~.swap-on,.swap input:indeterminate~.swap-indeterminate,.swap-active .swap-on{opacity:1}.table{position:relative;width:100%;border-radius:var(--rounded-box,1rem);text-align:left;font-size:.875rem;line-height:1.25rem}.table :where(.table-pin-rows thead tr){position:sticky;top:0;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:0;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:0;right:0;--tw-bg-opacity:1;background-color:var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity)))}.textarea{min-height:3rem;flex-shrink:1;padding:.5rem 1rem;font-size:.875rem;line-height:1.25rem;line-height:2;border-radius:var(--rounded-btn,.5rem);border-width:1px;border-color:#0000;--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)/.5));transition:background,box-shadow var(--animation-input,.2s) ease-out;box-shadow:var(--handleoffsetcalculator) 0 0 2px var(--tglbg) inset,0 0 0 2px var(--tglbg) inset,var(--togglehandleborder)}.alert-success{border-color:var(--fallback-su,oklch(var(--su)/.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)/.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)/.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))}.avatar-group :where(.avatar){overflow:hidden;border-radius:9999px;border-width:4px;--tw-border-opacity:1;border-color:var(--fallback-b1,oklch(var(--b1)/var(--tw-border-opacity)))}.badge-neutral{border-color:var(--fallback-n,oklch(var(--n)/var(--tw-border-opacity)));background-color:var(--fallback-n,oklch(var(--n)/var(--tw-bg-opacity)));color:var(--fallback-nc,oklch(var(--nc)/var(--tw-text-opacity)))}.badge-accent,.badge-neutral{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1}.badge-accent{border-color:var(--fallback-a,oklch(var(--a)/var(--tw-border-opacity)));background-color:var(--fallback-a,oklch(var(--a)/var(--tw-bg-opacity)));color:var(--fallback-ac,oklch(var(--ac)/var(--tw-text-opacity)))}.badge-success{background-color:var(--fallback-su,oklch(var(--su)/var(--tw-bg-opacity)));color:var(--fallback-suc,oklch(var(--suc)/var(--tw-text-opacity)))}.badge-success,.badge-warning{border-color:#0000;--tw-bg-opacity:1;--tw-text-opacity:1}.badge-warning{background-color:var(--fallback-wa,oklch(var(--wa)/var(--tw-bg-opacity)));color:var(--fallback-wac,oklch(var(--wac)/var(--tw-text-opacity)))}.badge-error{border-color:#0000;--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-neutral{--tw-text-opacity:1;color:var(--fallback-n,oklch(var(--n)/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-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>.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:focus,.btn:active:hover{animation:button-pop 0s ease-out;transform:scale(var(--btn-focus-scale,.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-accent{--btn-color:var(--fallback-a)}.btn-neutral{--btn-color:var(--fallback-n)}.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-outline.btn-accent.btn-active{background-color:color-mix(in oklab,var(--fallback-a,oklch(var(--a)/1)) 90%,#000);border-color:color-mix(in oklab,var(--fallback-a,oklch(var(--a)/1)) 90%,#000)}.btn-outline.btn-success.btn-active{background-color:color-mix(in oklab,var(--fallback-su,oklch(var(--su)/1)) 90%,#000);border-color:color-mix(in oklab,var(--fallback-su,oklch(var(--su)/1)) 90%,#000)}.btn-outline.btn-warning.btn-active{background-color:color-mix(in oklab,var(--fallback-wa,oklch(var(--wa)/1)) 90%,#000);border-color:color-mix(in oklab,var(--fallback-wa,oklch(var(--wa)/1)) 90%,#000)}.btn-outline.btn-error.btn-active{background-color:color-mix(in oklab,var(--fallback-er,oklch(var(--er)/1)) 90%,#000);border-color:color-mix(in oklab,var(--fallback-er,oklch(var(--er)/1)) 90%,#000)}}.btn:focus-visible{outline-style:solid;outline-width:2px;outline-offset:2px}@supports (color:oklch(0 0 0)){.btn-accent{--btn-color:var(--a)}.btn-neutral{--btn-color:var(--n)}.btn-success{--btn-color:var(--su)}.btn-warning{--btn-color:var(--wa)}.btn-error{--btn-color:var(--er)}}.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-neutral{--tw-text-opacity:1;color:var(--fallback-nc,oklch(var(--nc)/var(--tw-text-opacity)));outline-color:var(--fallback-n,oklch(var(--n)/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{border-width:1px;border-color:#0000;background-color:initial;color:currentColor;--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-ghost.btn-active{border-color:#0000;background-color:var(--fallback-bc,oklch(var(--bc)/.2))}.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-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,.98))}40%{transform:scale(1.02)}to{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:.875rem;line-height:1.25rem}.card.image-full :where(figure){overflow:hidden;border-radius:inherit}.checkbox:focus{box-shadow:none}.checkbox:focus-visible{outline-style:solid;outline-width:2px;outline-offset:2px;outline-color:var(--fallback-bc,oklch(var(--bc)/1))}.checkbox:checked,.checkbox[aria-checked=true],.checkbox[checked=true]{background-repeat:no-repeat;animation:checkmark var(--animation-input,.2s) ease-out;background-color:var(--chkbg);background-image:linear-gradient(-45deg,#0000 65%,var(--chkbg) 65.99%),linear-gradient(45deg,#0000 75%,var(--chkbg) 75.99%),linear-gradient(-45deg,var(--chkbg) 40%,#0000 40.99%),linear-gradient(45deg,var(--chkbg) 30%,var(--chkfg) 30.99%,var(--chkfg) 40%,#0000 40.99%),linear-gradient(-45deg,var(--chkfg) 50%,var(--chkbg) 50.99%)}.checkbox:indeterminate{--tw-bg-opacity:1;background-color:var(--fallback-bc,oklch(var(--bc)/var(--tw-bg-opacity)));background-repeat:no-repeat;animation:checkmark var(--animation-input,.2s) ease-out;background-image:linear-gradient(90deg,#0000 80%,var(--chkbg) 80%),linear-gradient(-90deg,#0000 80%,var(--chkbg) 80%),linear-gradient(0deg,var(--chkbg) 43%,var(--chkfg) 43%,var(--chkfg) 57%,var(--chkbg) 57%)}.checkbox-secondary{--chkbg:var(--fallback-s,oklch(var(--s)/1));--chkfg:var(--fallback-sc,oklch(var(--sc)/1));--tw-border-opacity:1;border-color:var(--fallback-s,oklch(var(--s)/var(--tw-border-opacity)))}.checkbox-secondary:focus-visible{outline-color:var(--fallback-s,oklch(var(--s)/1))}.checkbox-secondary:checked,.checkbox-secondary[aria-checked=true],.checkbox-secondary[checked=true]{--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)))}.checkbox:disabled{cursor:not-allowed;border-color:#0000;--tw-bg-opacity:1;background-color:var(--fallback-bc,oklch(var(--bc)/var(--tw-bg-opacity)));opacity:.2}@keyframes checkmark{0%{background-position-y:5px}50%{background-position-y:-2px}to{background-position-y:0}}.divider:not(:empty){gap:1rem}.drawer-toggle:checked~.drawer-side>.drawer-overlay{background-color:#0006}.drawer-toggle:focus-visible~.drawer-content label.drawer-button{outline-style:solid;outline-width:2px;outline-offset:2px}.file-input-bordered{--tw-border-opacity:0.2}.file-input:focus{outline-style:solid;outline-width:2px;outline-offset:2px;outline-color:var(--fallback-bc,oklch(var(--bc)/.2))}.file-input-disabled,.file-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)));--tw-text-opacity:0.2}.file-input-disabled::-moz-placeholder,.file-input[disabled]::-moz-placeholder{color:var(--fallback-bc,oklch(var(--bc)/var(--tw-placeholder-opacity)));--tw-placeholder-opacity:0.2}.file-input-disabled::placeholder,.file-input[disabled]::placeholder{color:var(--fallback-bc,oklch(var(--bc)/var(--tw-placeholder-opacity)));--tw-placeholder-opacity:0.2}.file-input-disabled::file-selector-button,.file-input[disabled]::file-selector-button{--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}.label-text{font-size:.875rem;line-height:1.25rem}.label-text,.label-text-alt{--tw-text-opacity:1;color:var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity)))}.label-text-alt{font-size:.75rem;line-height:1rem}.input input{--tw-bg-opacity:1;background-color:var(--fallback-p,oklch(var(--p)/var(--tw-bg-opacity)));background-color:initial}.input input:focus{outline:2px solid #0000;outline-offset:2px}.input[list]::-webkit-calendar-picker-indicator{line-height:1em}.input-bordered,.input:focus,.input:focus-within{border-color:var(--fallback-bc,oklch(var(--bc)/.2))}.input:focus,.input:focus-within{box-shadow:none;outline-style:solid;outline-width:2px;outline-offset:2px;outline-color:var(--fallback-bc,oklch(var(--bc)/.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)/.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}.join>:where(:not(:first-child)){margin-top:0;margin-bottom:0;margin-inline-start:-1px}.join-item:focus{isolation:isolate}@supports (color:color-mix(in oklab,black,black)){@media (hover:hover){.link-accent:hover{color:color-mix(in oklab,var(--fallback-a,oklch(var(--a)/1)) 80%,#000)}}}.link-accent{--tw-text-opacity:1;color:var(--fallback-a,oklch(var(--a)/var(--tw-text-opacity)))}.link:focus{outline:2px solid #0000;outline-offset:2px}.link:focus-visible{outline:2px solid currentColor;outline-offset:2px}.loading{pointer-events:none;display:inline-block;aspect-ratio:1/1;width:1.5rem;background-color:currentColor;-webkit-mask-size:100%;mask-size:100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' stroke='%23000'%3E%3Cstyle%3E@keyframes spinner_zKoa{to{transform:rotate(360deg)}}@keyframes spinner_YpZS{0%25{stroke-dasharray:0 150;stroke-dashoffset:0}47.5%25{stroke-dasharray:42 150;stroke-dashoffset:-16}95%25,to{stroke-dasharray:42 150;stroke-dashoffset:-59}}%3C/style%3E%3Cg style='transform-origin:center;animation:spinner_zKoa 2s linear infinite'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' style='stroke-linecap:round;animation:spinner_YpZS 1.5s ease-out infinite'/%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' stroke='%23000'%3E%3Cstyle%3E@keyframes spinner_zKoa{to{transform:rotate(360deg)}}@keyframes spinner_YpZS{0%25{stroke-dasharray:0 150;stroke-dashoffset:0}47.5%25{stroke-dasharray:42 150;stroke-dashoffset:-16}95%25,to{stroke-dasharray:42 150;stroke-dashoffset:-59}}%3C/style%3E%3Cg style='transform-origin:center;animation:spinner_zKoa 2s linear infinite'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' style='stroke-linecap:round;animation:spinner_YpZS 1.5s ease-out infinite'/%3E%3C/g%3E%3C/svg%3E")}.loading-ring{-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='44' stroke='%23fff'%3E%3Cg fill='none' fill-rule='evenodd' stroke-width='2'%3E%3Ccircle cx='22' cy='22' r='1'%3E%3Canimate attributeName='r' begin='0s' calcMode='spline' dur='1.8s' keySplines='0.165, 0.84, 0.44, 1' keyTimes='0; 1' repeatCount='indefinite' values='1; 20'/%3E%3Canimate attributeName='stroke-opacity' begin='0s' calcMode='spline' dur='1.8s' keySplines='0.3, 0.61, 0.355, 1' keyTimes='0; 1' repeatCount='indefinite' values='1; 0'/%3E%3C/circle%3E%3Ccircle cx='22' cy='22' r='1'%3E%3Canimate attributeName='r' begin='-0.9s' calcMode='spline' dur='1.8s' keySplines='0.165, 0.84, 0.44, 1' keyTimes='0; 1' repeatCount='indefinite' values='1; 20'/%3E%3Canimate attributeName='stroke-opacity' begin='-0.9s' calcMode='spline' dur='1.8s' keySplines='0.3, 0.61, 0.355, 1' keyTimes='0; 1' repeatCount='indefinite' values='1; 0'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='44' stroke='%23fff'%3E%3Cg fill='none' fill-rule='evenodd' stroke-width='2'%3E%3Ccircle cx='22' cy='22' r='1'%3E%3Canimate attributeName='r' begin='0s' calcMode='spline' dur='1.8s' keySplines='0.165, 0.84, 0.44, 1' keyTimes='0; 1' repeatCount='indefinite' values='1; 20'/%3E%3Canimate attributeName='stroke-opacity' begin='0s' calcMode='spline' dur='1.8s' keySplines='0.3, 0.61, 0.355, 1' keyTimes='0; 1' repeatCount='indefinite' values='1; 0'/%3E%3C/circle%3E%3Ccircle cx='22' cy='22' r='1'%3E%3Canimate attributeName='r' begin='-0.9s' calcMode='spline' dur='1.8s' keySplines='0.165, 0.84, 0.44, 1' keyTimes='0; 1' repeatCount='indefinite' values='1; 20'/%3E%3Canimate attributeName='stroke-opacity' begin='-0.9s' calcMode='spline' dur='1.8s' keySplines='0.3, 0.61, 0.355, 1' keyTimes='0; 1' repeatCount='indefinite' values='1; 0'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E")}.loading-md{width:1.5rem}:where(.menu li:empty){--tw-bg-opacity:1;background-color:var(--fallback-bc,oklch(var(--bc)/var(--tw-bg-opacity)));opacity:.1;margin:.5rem 1rem;height:1px}.menu :where(li ul):before{position:absolute;bottom:.75rem;inset-inline-start:0;top:.75rem;width:1px;--tw-bg-opacity:1;background-color:var(--fallback-bc,oklch(var(--bc)/var(--tw-bg-opacity)));opacity:.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,.5rem);padding:.5rem 1rem;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(.4,0,.2,1);transition-timing-function:cubic-bezier(0,0,.2,1);transition-duration:.2s;text-wrap:balance}: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)>: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)>details>summary:not(.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{cursor:pointer;background-color:var(--fallback-bc,oklch(var(--bc)/.1));--tw-text-opacity:1;color:var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity)));outline:2px solid #0000;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>.menu-dropdown-toggle):after,.menu :where(li>details>summary):after{justify-self:end;display:block;margin-top:-.5rem;height:.5rem;width:.5rem;transform:rotate(45deg);transition-property:transform,margin-top;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1);content:"";transform-origin:75% 75%;box-shadow:2px 2px;pointer-events:none}.menu :where(li>.menu-dropdown-toggle.menu-dropdown-show):after,.menu :where(li>details[open]>summary):after{transform:rotate(225deg);margin-top:0}.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{left:.5rem;aspect-ratio:1/1;height:.75rem;--tw-translate-y:-50%;border-radius:9999px;border-width:2px;border-color:currentColor}.mockup-browser .mockup-browser-toolbar .input:after,.mockup-browser .mockup-browser-toolbar .input:before{content:"";position:absolute;top: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));opacity:.6}.mockup-browser .mockup-browser-toolbar .input:after{left:1.25rem;height:.5rem;--tw-translate-y:25%;--tw-rotate:-45deg;border-radius:9999px;border-width:1px;border-color:currentColor}@keyframes modal-pop{0%{opacity:0}}@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}to{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}}@keyframes rating-pop{0%{transform:translateY(-.125em)}40%{transform:translateY(-.125em)}to{transform:translateY(0)}}.select-bordered,.select:focus{border-color:var(--fallback-bc,oklch(var(--bc)/.2))}.select:focus{box-shadow:none;outline-style:solid;outline-width:2px;outline-offset:2px;outline-color:var(--fallback-bc,oklch(var(--bc)/.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:12px calc(1px + 50%),16px calc(1px + 50%)}@keyframes skeleton{0%{background-position:150%}to{background-position:-50%}}.steps .step:before{top:0;height:.5rem;width:100%;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));color:var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity)));content:"";margin-inline-start:-100%}.steps .step:after,.steps .step:before{grid-column-start:1;grid-row-start:1;--tw-bg-opacity:1;background-color:var(--fallback-b3,oklch(var(--b3)/var(--tw-bg-opacity)));--tw-text-opacity:1}.steps .step:after{content:counter(step);counter-increment:step;z-index:1;position:relative;display:grid;height:2rem;width:2rem;place-items:center;place-self:center;border-radius:9999px;color:var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity)))}.steps .step:first-child:before{content:none}.steps .step[data-content]:after{content:attr(data-content)}.steps .step-neutral+.step-neutral:before,.steps .step-neutral:after{--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)))}.steps .step-primary+.step-primary:before,.steps .step-primary:after{--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)))}.steps .step-secondary+.step-secondary:before,.steps .step-secondary:after{--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)))}.steps .step-accent+.step-accent:before,.steps .step-accent:after{--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)))}.steps .step-info+.step-info:before,.steps .step-info:after{--tw-bg-opacity:1;background-color:var(--fallback-in,oklch(var(--in)/var(--tw-bg-opacity)))}.steps .step-info:after{--tw-text-opacity:1;color:var(--fallback-inc,oklch(var(--inc)/var(--tw-text-opacity)))}.steps .step-success+.step-success:before,.steps .step-success:after{--tw-bg-opacity:1;background-color:var(--fallback-su,oklch(var(--su)/var(--tw-bg-opacity)))}.steps .step-success:after{--tw-text-opacity:1;color:var(--fallback-suc,oklch(var(--suc)/var(--tw-text-opacity)))}.steps .step-warning+.step-warning:before,.steps .step-warning:after{--tw-bg-opacity:1;background-color:var(--fallback-wa,oklch(var(--wa)/var(--tw-bg-opacity)))}.steps .step-warning:after{--tw-text-opacity:1;color:var(--fallback-wac,oklch(var(--wac)/var(--tw-text-opacity)))}.steps .step-error+.step-error:before,.steps .step-error:after{--tw-bg-opacity:1;background-color:var(--fallback-er,oklch(var(--er)/var(--tw-bg-opacity)))}.steps .step-error:after{--tw-text-opacity:1;color:var(--fallback-erc,oklch(var(--erc)/var(--tw-text-opacity)))}.swap-rotate .swap-indeterminate,.swap-rotate .swap-on,.swap-rotate input:indeterminate~.swap-on{--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))}.swap-active:where(.swap-rotate) .swap-off,.swap-rotate input:checked~.swap-off,.swap-rotate input:indeterminate~.swap-off{--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))}.swap-active:where(.swap-rotate) .swap-on,.swap-rotate input:checked~.swap-on,.swap-rotate input:indeterminate~.swap-indeterminate{--tw-rotate:0deg;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))}.swap-flip .swap-indeterminate,.swap-flip .swap-on,.swap-flip input:indeterminate~.swap-on{transform:rotateY(180deg);backface-visibility:hidden;opacity:1}.swap-active:where(.swap-flip) .swap-off,.swap-flip input:checked~.swap-off,.swap-flip input:indeterminate~.swap-off{transform:rotateY(-180deg);backface-visibility:hidden;opacity:1}.swap-active:where(.swap-flip) .swap-on,.swap-flip input:checked~.swap-on,.swap-flip input:indeterminate~.swap-indeterminate{transform:rotateY(0deg)}:is([dir=rtl] .table){text-align:right}.table :where(th,td){padding:.75rem 1rem;vertical-align:middle}.table tr.active,.table tr.active:nth-child(2n),.table-zebra tbody tr:nth-child(2n){--tw-bg-opacity:1;background-color:var(--fallback-b2,oklch(var(--b2)/var(--tw-bg-opacity)))}.table :where(thead,tbody) :where(tr:first-child:last-child),.table :where(thead,tbody) :where(tr:not(: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:.75rem;line-height:1rem;font-weight:700;color:var(--fallback-bc,oklch(var(--bc)/.6))}.textarea-bordered,.textarea:focus{border-color:var(--fallback-bc,oklch(var(--bc)/.2))}.textarea:focus{box-shadow:none;outline-style:solid;outline-width:2px;outline-offset:2px;outline-color:var(--fallback-bc,oklch(var(--bc)/.2))}.textarea-disabled,.textarea:disabled,.textarea[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)));--tw-text-opacity:0.2}.textarea-disabled::-moz-placeholder,.textarea:disabled::-moz-placeholder,.textarea[disabled]::-moz-placeholder{color:var(--fallback-bc,oklch(var(--bc)/var(--tw-placeholder-opacity)));--tw-placeholder-opacity:0.2}.textarea-disabled::placeholder,.textarea:disabled::placeholder,.textarea[disabled]::placeholder{color:var(--fallback-bc,oklch(var(--bc)/var(--tw-placeholder-opacity)));--tw-placeholder-opacity:0.2}@keyframes toast-pop{0%{transform:scale(.9);opacity:0}to{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)/.2))}.toggle:hover{background-color:currentColor}.toggle:checked,.toggle[aria-checked=true],.toggle[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[aria-checked=true],[dir=rtl] .toggle[checked=true]{--handleoffsetcalculator:calc(var(--handleoffset)*-1)}.toggle:indeterminate{--tw-text-opacity:1;color:var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity)))}.toggle:indeterminate,[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-secondary:focus-visible{outline-color:var(--fallback-s,oklch(var(--s)/1))}.toggle-secondary:checked,.toggle-secondary[aria-checked=true],.toggle-secondary[checked=true]{border-color:var(--fallback-s,oklch(var(--s)/var(--tw-border-opacity)));--tw-border-opacity:0.1;--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)))}.toggle:disabled{cursor:not-allowed;--tw-border-opacity:1;border-color:var(--fallback-bc,oklch(var(--bc)/var(--tw-border-opacity)));background-color:initial;opacity:.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}.no-animation{--btn-focus-scale:1;--animation-btn:0;--animation-input:0}.badge-sm{height:1rem;font-size:.75rem;line-height:1rem;padding-left:.438rem;padding-right:.438rem}.badge-lg{height:1.5rem;font-size:1rem;line-height:1.5rem;padding-left:.688rem;padding-right:.688rem}.btn-xs{height:1.5rem;min-height:1.5rem;padding-left:.5rem;padding-right:.5rem;font-size:.75rem}.btn-sm{height:2rem;min-height:2rem;padding-left:.75rem;padding-right:.75rem;font-size:.875rem}.btn-lg{height:4rem;min-height:4rem;padding-left:1.5rem;padding-right:1.5rem;font-size:1.125rem}.btn-square:where(.btn-xs){height:1.5rem;width:1.5rem;padding:0}.btn-square:where(.btn-sm){height:2rem;width:2rem;padding:0}.btn-square:where(.btn-md){height:3rem;width:3rem;padding:0}.btn-square:where(.btn-lg){height:4rem;width:4rem;padding:0}.btn-circle:where(.btn-xs){height:1.5rem;width:1.5rem;border-radius:9999px;padding:0}.btn-circle:where(.btn-sm){height:2rem;width:2rem;border-radius:9999px;padding:0}.btn-circle:where(.btn-lg){height:4rem;width:4rem;border-radius:9999px;padding:0}.drawer-open>.drawer-toggle{display:none}.drawer-open>.drawer-toggle~.drawer-side{pointer-events:auto;visibility:visible;position:sticky;display:block;width:auto;overscroll-behavior:auto}.drawer-open>.drawer-toggle~.drawer-side>:not(.drawer-overlay),[dir=rtl] .drawer-open>.drawer-toggle~.drawer-side>:not(.drawer-overlay){transform:translateX(0)}.drawer-open>.drawer-toggle:checked~.drawer-side{pointer-events:auto;visibility:visible}.drawer-open>.drawer-side{overflow-y:auto}html:has(.drawer-toggle:checked){overflow-y:hidden;scrollbar-gutter:stable}.join.join-vertical{flex-direction:column}.join.join-vertical .join-item:first-child:not(:last-child),.join.join-vertical :first-child:not(:last-child) .join-item{border-end-start-radius:0;border-end-end-radius:0;border-start-start-radius:inherit;border-start-end-radius:inherit}.join.join-vertical .join-item:last-child:not(:first-child),.join.join-vertical :last-child:not(:first-child) .join-item{border-start-start-radius:0;border-start-end-radius:0;border-end-start-radius:inherit;border-end-end-radius:inherit}.join.join-horizontal{flex-direction:row}.join.join-horizontal .join-item:first-child:not(:last-child),.join.join-horizontal :first-child:not(:last-child) .join-item{border-end-end-radius:0;border-start-end-radius:0;border-end-start-radius:inherit;border-start-start-radius:inherit}.join.join-horizontal .join-item:last-child:not(:first-child),.join.join-horizontal :last-child:not(:first-child) .join-item{border-end-start-radius:0;border-start-start-radius:0;border-end-end-radius:inherit;border-start-end-radius:inherit}.select-sm{height:2rem;min-height:2rem;padding-left:.75rem;padding-right:2rem;font-size:.875rem;line-height:2rem}[dir=rtl] .select-sm{padding-left:2rem;padding-right:.75rem}.steps-horizontal .step{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));place-items:center;text-align:center}.steps-vertical .step{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(1,minmax(0,1fr))}.avatar.online:before{background-color:var(--fallback-su,oklch(var(--su)/var(--tw-bg-opacity)))}.avatar.offline:before,.avatar.online:before{content:"";position:absolute;z-index:10;display:block;border-radius:9999px;--tw-bg-opacity:1;outline-style:solid;outline-width:2px;outline-color:var(--fallback-b1,oklch(var(--b1)/1));width:15%;height:15%;top:7%;right:7%}.avatar.offline:before{background-color:var(--fallback-b3,oklch(var(--b3)/var(--tw-bg-opacity)))}.drawer-open>.drawer-toggle~.drawer-side>.drawer-overlay{cursor:default;background-color:initial}.join.join-vertical>:where(:not(:first-child)){margin-left:0;margin-right:0;margin-top:-1px}.join.join-horizontal>:where(:not(:first-child)){margin-top:0;margin-bottom:0;margin-inline-start:-1px}.steps-horizontal .step{grid-template-rows:40px 1fr;grid-template-columns:auto;min-width:4rem}.steps-horizontal .step:before{height:.5rem;width:100%;--tw-translate-x:0px;--tw-translate-y:0px;content:"";margin-inline-start:-100%}.steps-horizontal .step:before,:is([dir=rtl] .steps-horizontal .step):before{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] .steps-horizontal .step):before{--tw-translate-x:0px}.steps-vertical .step{gap:.5rem;grid-template-columns:40px 1fr;grid-template-rows:auto;min-height:4rem;justify-items:start}.steps-vertical .step:before{height:100%;width:.5rem;--tw-translate-x:-50%;--tw-translate-y:-50%;margin-inline-start:50%}.steps-vertical .step:before,:is([dir=rtl] .steps-vertical .step):before{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] .steps-vertical .step):before{--tw-translate-x:50%}.static{position:static}.fixed{position:fixed}.left-0{left:0}.top-0{top:0}.z-10{z-index:10}.z-20{z-index:20}.order-first{order:-9999}.mx-auto{margin-left:auto;margin-right:auto}.my-4{margin-top:1rem;margin-bottom:1rem}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.ml-2{margin-left:.5rem}.ml-4{margin-left:1rem}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-4{margin-right:1rem}.mt-10{margin-top:2.5rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.table{display:table}.hidden{display:none}.size-5{width:1.25rem;height:1.25rem}.h-12{height:3rem}.h-32{height:8rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-full{height:100%}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-12{width:3rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-72{width:18rem}.w-full{width:100%}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-lg{max-width:32rem}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-none{flex:none}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.cursor-pointer{cursor:pointer}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.gap-2{gap:.5rem}.self-end{align-self:flex-end}.self-center{align-self:center}.whitespace-pre-line{white-space:pre-line}.rounded{border-radius:.25rem}.rounded-box{border-radius:var(--rounded-box,1rem)}.rounded-full{border-radius:9999px}.border{border-width:1px}.border-l-2{border-left-width:2px}.border-l-8{border-left-width:8px}.border-\[\#4285F4\]{--tw-border-opacity:1;border-color:rgb(66 133 244/var(--tw-border-opacity))}.border-base-300{--tw-border-opacity:1;border-color:var(--fallback-b3,oklch(var(--b3)/var(--tw-border-opacity)))}.border-error{--tw-border-opacity:1;border-color:var(--fallback-er,oklch(var(--er)/var(--tw-border-opacity)))}.border-success{--tw-border-opacity:1;border-color:var(--fallback-su,oklch(var(--su)/var(--tw-border-opacity)))}.bg-\[\#4285F4\]{--tw-bg-opacity:1;background-color:rgb(66 133 244/var(--tw-bg-opacity))}.bg-base-200{--tw-bg-opacity:1;background-color:var(--fallback-b2,oklch(var(--b2)/var(--tw-bg-opacity)))}.bg-base-300{--tw-bg-opacity:1;background-color:var(--fallback-b3,oklch(var(--b3)/var(--tw-bg-opacity)))}.bg-neutral{--tw-bg-opacity:1;background-color:var(--fallback-n,oklch(var(--n)/var(--tw-bg-opacity)))}.stroke-current{stroke:currentColor}.p-1{padding:.25rem}.p-10{padding:2.5rem}.p-2{padding:.5rem}.p-4{padding:1rem}.p-8{padding:2rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.text-center{text-align:center}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.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:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-semibold{font-weight:600}.italic{font-style:italic}.text-accent{--tw-text-opacity:1;color:var(--fallback-a,oklch(var(--a)/var(--tw-text-opacity)))}.text-base-content{--tw-text-opacity:1;color:var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity)))}.text-base-content\/85{color:var(--fallback-bc,oklch(var(--bc)/.85))}.text-neutral-content{--tw-text-opacity:1;color:var(--fallback-nc,oklch(var(--nc)/var(--tw-text-opacity)))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}@media (min-width:1024px){.lg\:drawer-open>.drawer-toggle{display:none}.lg\:drawer-open>.drawer-toggle~.drawer-side{pointer-events:auto;visibility:visible;position:sticky;display:block;width:auto;overscroll-behavior:auto}.lg\:drawer-open>.drawer-toggle~.drawer-side>:not(.drawer-overlay),[dir=rtl] .lg\:drawer-open>.drawer-toggle~.drawer-side>:not(.drawer-overlay){transform:translateX(0)}.lg\:drawer-open>.drawer-toggle:checked~.drawer-side{pointer-events:auto;visibility:visible}.lg\:drawer-open>.drawer-side{overflow-y:auto}html:has(.lg\:drawer-open.lg\:drawer-open){overflow-y:auto;scrollbar-gutter:auto}.lg\:drawer-open>.drawer-toggle~.drawer-side>.drawer-overlay{cursor:default;background-color:initial}}.hover\:bg-\[\#4285F4\]\/90:hover{background-color:#4285f4e6}@media (min-width:640px){.sm\:block{display:block}}@media (min-width:1024px){.lg\:order-none{order:0}.lg\:block{display:block}.lg\:hidden{display:none}.lg\:max-w-sm{max-width:24rem}.lg\:flex-row{flex-direction:row}} 2 - 1 + /*! tailwindcss v4.2.0 | MIT License | https://tailwindcss.com */ 2 + @layer properties; 3 + @layer theme, base, components, utilities; 4 + @layer theme { 5 + :root, :host { 6 + --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", 7 + "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; 8 + --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", 9 + "Courier New", monospace; 10 + --color-gray-200: oklch(92.8% 0.006 264.531); 11 + --color-black: #000; 12 + --color-white: #fff; 13 + --spacing: 0.25rem; 14 + --container-xs: 20rem; 15 + --container-sm: 24rem; 16 + --container-lg: 32rem; 17 + --container-xl: 36rem; 18 + --container-3xl: 48rem; 19 + --container-4xl: 56rem; 20 + --text-xs: 0.75rem; 21 + --text-xs--line-height: calc(1 / 0.75); 22 + --text-sm: 0.875rem; 23 + --text-sm--line-height: calc(1.25 / 0.875); 24 + --text-base: 1rem; 25 + --text-base--line-height: calc(1.5 / 1); 26 + --text-lg: 1.125rem; 27 + --text-lg--line-height: calc(1.75 / 1.125); 28 + --text-xl: 1.25rem; 29 + --text-xl--line-height: calc(1.75 / 1.25); 30 + --text-2xl: 1.5rem; 31 + --text-2xl--line-height: calc(2 / 1.5); 32 + --text-3xl: 1.875rem; 33 + --text-3xl--line-height: calc(2.25 / 1.875); 34 + --text-4xl: 2.25rem; 35 + --text-4xl--line-height: calc(2.5 / 2.25); 36 + --font-weight-semibold: 600; 37 + --font-weight-bold: 700; 38 + --default-font-family: var(--font-sans); 39 + --default-mono-font-family: var(--font-mono); 40 + } 41 + } 42 + @layer base { 43 + *, ::after, ::before, ::backdrop, ::file-selector-button { 44 + box-sizing: border-box; 45 + margin: 0; 46 + padding: 0; 47 + border: 0 solid; 48 + } 49 + html, :host { 50 + line-height: 1.5; 51 + -webkit-text-size-adjust: 100%; 52 + tab-size: 4; 53 + font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"); 54 + font-feature-settings: var(--default-font-feature-settings, normal); 55 + font-variation-settings: var(--default-font-variation-settings, normal); 56 + -webkit-tap-highlight-color: transparent; 57 + } 58 + hr { 59 + height: 0; 60 + color: inherit; 61 + border-top-width: 1px; 62 + } 63 + abbr:where([title]) { 64 + -webkit-text-decoration: underline dotted; 65 + text-decoration: underline dotted; 66 + } 67 + h1, h2, h3, h4, h5, h6 { 68 + font-size: inherit; 69 + font-weight: inherit; 70 + } 71 + a { 72 + color: inherit; 73 + -webkit-text-decoration: inherit; 74 + text-decoration: inherit; 75 + } 76 + b, strong { 77 + font-weight: bolder; 78 + } 79 + code, kbd, samp, pre { 80 + font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace); 81 + font-feature-settings: var(--default-mono-font-feature-settings, normal); 82 + font-variation-settings: var(--default-mono-font-variation-settings, normal); 83 + font-size: 1em; 84 + } 85 + small { 86 + font-size: 80%; 87 + } 88 + sub, sup { 89 + font-size: 75%; 90 + line-height: 0; 91 + position: relative; 92 + vertical-align: baseline; 93 + } 94 + sub { 95 + bottom: -0.25em; 96 + } 97 + sup { 98 + top: -0.5em; 99 + } 100 + table { 101 + text-indent: 0; 102 + border-color: inherit; 103 + border-collapse: collapse; 104 + } 105 + :-moz-focusring { 106 + outline: auto; 107 + } 108 + progress { 109 + vertical-align: baseline; 110 + } 111 + summary { 112 + display: list-item; 113 + } 114 + ol, ul, menu { 115 + list-style: none; 116 + } 117 + img, svg, video, canvas, audio, iframe, embed, object { 118 + display: block; 119 + vertical-align: middle; 120 + } 121 + img, video { 122 + max-width: 100%; 123 + height: auto; 124 + } 125 + button, input, select, optgroup, textarea, ::file-selector-button { 126 + font: inherit; 127 + font-feature-settings: inherit; 128 + font-variation-settings: inherit; 129 + letter-spacing: inherit; 130 + color: inherit; 131 + border-radius: 0; 132 + background-color: transparent; 133 + opacity: 1; 134 + } 135 + :where(select:is([multiple], [size])) optgroup { 136 + font-weight: bolder; 137 + } 138 + :where(select:is([multiple], [size])) optgroup option { 139 + padding-inline-start: 20px; 140 + } 141 + ::file-selector-button { 142 + margin-inline-end: 4px; 143 + } 144 + ::placeholder { 145 + opacity: 1; 146 + } 147 + @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) { 148 + ::placeholder { 149 + color: currentcolor; 150 + @supports (color: color-mix(in lab, red, red)) { 151 + color: color-mix(in oklab, currentcolor 50%, transparent); 152 + } 153 + } 154 + } 155 + textarea { 156 + resize: vertical; 157 + } 158 + ::-webkit-search-decoration { 159 + -webkit-appearance: none; 160 + } 161 + ::-webkit-date-and-time-value { 162 + min-height: 1lh; 163 + text-align: inherit; 164 + } 165 + ::-webkit-datetime-edit { 166 + display: inline-flex; 167 + } 168 + ::-webkit-datetime-edit-fields-wrapper { 169 + padding: 0; 170 + } 171 + ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field { 172 + padding-block: 0; 173 + } 174 + ::-webkit-calendar-picker-indicator { 175 + line-height: 1; 176 + } 177 + :-moz-ui-invalid { 178 + box-shadow: none; 179 + } 180 + button, input:where([type="button"], [type="reset"], [type="submit"]), ::file-selector-button { 181 + appearance: button; 182 + } 183 + ::-webkit-inner-spin-button, ::-webkit-outer-spin-button { 184 + height: auto; 185 + } 186 + [hidden]:where(:not([hidden="until-found"])) { 187 + display: none !important; 188 + } 189 + } 190 + @layer utilities { 191 + .drawer-side { 192 + :where(&) { 193 + @layer daisyui.l1.l2.l3 { 194 + overflow-x: hidden; 195 + overflow-y: hidden; 196 + } 197 + } 198 + @layer daisyui.l1.l2.l3 { 199 + pointer-events: none; 200 + visibility: hidden; 201 + position: fixed; 202 + inset-inline-start: calc(0.25rem * 0); 203 + top: calc(0.25rem * 0); 204 + z-index: 10; 205 + grid-column-start: 1; 206 + grid-row-start: 1; 207 + display: grid; 208 + width: 100%; 209 + grid-template-columns: repeat(1, minmax(0, 1fr)); 210 + grid-template-rows: repeat(1, minmax(0, 1fr)); 211 + align-items: flex-start; 212 + justify-items: start; 213 + overscroll-behavior: contain; 214 + background-color: transparent; 215 + opacity: 0%; 216 + transition: opacity 0.2s ease-out 0.1s allow-discrete, visibility 0.3s ease-out 0.1s allow-discrete; 217 + height: 100vh; 218 + height: 100dvh; 219 + > .drawer-overlay { 220 + position: sticky; 221 + top: calc(0.25rem * 0); 222 + cursor: pointer; 223 + place-self: stretch; 224 + background-color: oklch(0% 0 0 / 40%); 225 + } 226 + > * { 227 + grid-column-start: 1; 228 + grid-row-start: 1; 229 + } 230 + > :not(.drawer-overlay) { 231 + will-change: transform; 232 + transition: translate 0.3s ease-out, width 0.2s ease-out; 233 + translate: -100%; 234 + [dir="rtl"] & { 235 + translate: 100%; 236 + } 237 + } 238 + } 239 + } 240 + .drawer-toggle { 241 + @layer daisyui.l1.l2.l3 { 242 + position: fixed; 243 + height: calc(0.25rem * 0); 244 + width: calc(0.25rem * 0); 245 + appearance: none; 246 + opacity: 0%; 247 + :where(&:checked ~ .drawer-side) { 248 + scrollbar-color: currentColor oklch(0 0 0 / calc(var(--page-has-backdrop, 0) * 0.4)); 249 + @supports (color: color-mix(in lab, red, red)) { 250 + scrollbar-color: color-mix(in oklch, currentColor 35%, #0000) oklch(0 0 0 / calc(var(--page-has-backdrop, 0) * 0.4)); 251 + } 252 + } 253 + :where(:root:has(&:checked)) { 254 + --page-has-backdrop: 1; 255 + --page-overflow: hidden; 256 + --page-scroll-bg: var(--page-scroll-bg-on); 257 + --page-scroll-gutter: stable; 258 + --page-scroll-transition: var(--page-scroll-transition-on); 259 + animation: set-page-has-scroll forwards; 260 + animation-timeline: scroll(); 261 + } 262 + } 263 + @layer daisyui.l1.l2 { 264 + :where(&:checked ~ .drawer-side) { 265 + pointer-events: auto; 266 + visibility: visible; 267 + overflow-y: auto; 268 + opacity: 100%; 269 + > :not(.drawer-overlay) { 270 + translate: 0%; 271 + } 272 + } 273 + &:focus-visible ~ .drawer-content label.drawer-button { 274 + outline: 2px solid; 275 + outline-offset: 2px; 276 + } 277 + } 278 + } 279 + .menu { 280 + @layer daisyui.l1.l2.l3 { 281 + display: flex; 282 + width: fit-content; 283 + flex-direction: column; 284 + flex-wrap: wrap; 285 + padding: calc(0.25rem * 2); 286 + --menu-active-fg: var(--color-neutral-content); 287 + --menu-active-bg: var(--color-neutral); 288 + font-size: 0.875rem; 289 + :where(li ul) { 290 + position: relative; 291 + margin-inline-start: calc(0.25rem * 4); 292 + padding-inline-start: calc(0.25rem * 2); 293 + white-space: nowrap; 294 + &:before { 295 + position: absolute; 296 + inset-inline-start: calc(0.25rem * 0); 297 + top: calc(0.25rem * 3); 298 + bottom: calc(0.25rem * 3); 299 + background-color: var(--color-base-content); 300 + opacity: 10%; 301 + width: var(--border); 302 + content: ""; 303 + } 304 + } 305 + :where(li > .menu-dropdown:not(.menu-dropdown-show)) { 306 + display: none; 307 + } 308 + :where(li:not(.menu-title) > *:not(ul, details, .menu-title, .btn)), :where(li:not(.menu-title) > details > summary:not(.menu-title)) { 309 + display: grid; 310 + grid-auto-flow: column; 311 + align-content: flex-start; 312 + align-items: center; 313 + gap: calc(0.25rem * 2); 314 + border-radius: var(--radius-field); 315 + padding-inline: calc(0.25rem * 3); 316 + padding-block: calc(0.25rem * 1.5); 317 + text-align: start; 318 + transition-property: color, background-color, box-shadow; 319 + transition-duration: 0.2s; 320 + transition-timing-function: cubic-bezier(0, 0, 0.2, 1); 321 + grid-auto-columns: minmax(auto, max-content) auto max-content; 322 + text-wrap: balance; 323 + user-select: none; 324 + } 325 + :where(li > details > summary) { 326 + --tw-outline-style: none; 327 + outline-style: none; 328 + @media (forced-colors: active) { 329 + outline: 2px solid transparent; 330 + outline-offset: 2px; 331 + } 332 + &::-webkit-details-marker { 333 + display: none; 334 + } 335 + } 336 + :where(li > details > summary), :where(li > .menu-dropdown-toggle) { 337 + &:after { 338 + justify-self: flex-end; 339 + display: block; 340 + height: 0.375rem; 341 + width: 0.375rem; 342 + rotate: -135deg; 343 + translate: 0 -1px; 344 + transition-property: rotate, translate; 345 + transition-duration: 0.2s; 346 + content: ""; 347 + transform-origin: 50% 50%; 348 + box-shadow: 2px 2px inset; 349 + pointer-events: none; 350 + } 351 + } 352 + details { 353 + overflow: hidden; 354 + interpolate-size: allow-keywords; 355 + } 356 + details::details-content { 357 + block-size: 0; 358 + @media (prefers-reduced-motion: no-preference) { 359 + transition-behavior: allow-discrete; 360 + transition-property: block-size, content-visibility; 361 + transition-duration: 0.2s; 362 + transition-timing-function: cubic-bezier(0, 0, 0.2, 1); 363 + } 364 + } 365 + details[open]::details-content { 366 + block-size: auto; 367 + } 368 + :where(li > details[open] > summary):after, :where(li > .menu-dropdown-toggle.menu-dropdown-show):after { 369 + rotate: 45deg; 370 + translate: 0 1px; 371 + } 372 + :where( li:not(.menu-title, .disabled) > *:not(ul, details, .menu-title), li:not(.menu-title, .disabled) > details > summary:not(.menu-title) ):not(.menu-active, :active, .btn) { 373 + &.menu-focus, &:focus-visible { 374 + cursor: pointer; 375 + background-color: var(--color-base-content); 376 + @supports (color: color-mix(in lab, red, red)) { 377 + background-color: color-mix(in oklab, var(--color-base-content) 10%, transparent); 378 + } 379 + color: var(--color-base-content); 380 + --tw-outline-style: none; 381 + outline-style: none; 382 + @media (forced-colors: active) { 383 + outline: 2px solid transparent; 384 + outline-offset: 2px; 385 + } 386 + } 387 + } 388 + :where( li:not(.menu-title, .disabled) > *:not(ul, details, .menu-title):not(.menu-active, :active, .btn):hover, li:not(.menu-title, .disabled) > details > summary:not(.menu-title):not(.menu-active, :active, .btn):hover ) { 389 + cursor: pointer; 390 + background-color: var(--color-base-content); 391 + @supports (color: color-mix(in lab, red, red)) { 392 + background-color: color-mix(in oklab, var(--color-base-content) 10%, transparent); 393 + } 394 + --tw-outline-style: none; 395 + outline-style: none; 396 + @media (forced-colors: active) { 397 + outline: 2px solid transparent; 398 + outline-offset: 2px; 399 + } 400 + box-shadow: 0 1px oklch(0% 0 0 / 0.01) inset, 0 -1px oklch(100% 0 0 / 0.01) inset; 401 + } 402 + :where(li:empty) { 403 + background-color: var(--color-base-content); 404 + opacity: 10%; 405 + margin: 0.5rem 1rem; 406 + height: 1px; 407 + } 408 + :where(li) { 409 + position: relative; 410 + display: flex; 411 + flex-shrink: 0; 412 + flex-direction: column; 413 + flex-wrap: wrap; 414 + align-items: stretch; 415 + .badge { 416 + justify-self: flex-end; 417 + } 418 + & > *:not(ul, .menu-title, details, .btn):active, & > *:not(ul, .menu-title, details, .btn).menu-active, & > details > summary:active { 419 + --tw-outline-style: none; 420 + outline-style: none; 421 + @media (forced-colors: active) { 422 + outline: 2px solid transparent; 423 + outline-offset: 2px; 424 + } 425 + color: var(--menu-active-fg); 426 + background-color: var(--menu-active-bg); 427 + background-size: auto, calc(var(--noise) * 100%); 428 + background-image: none, var(--fx-noise); 429 + &:not(&:active) { 430 + box-shadow: 0 2px calc(var(--depth) * 3px) -2px var(--menu-active-bg); 431 + } 432 + } 433 + &.menu-disabled { 434 + pointer-events: none; 435 + color: var(--color-base-content); 436 + @supports (color: color-mix(in lab, red, red)) { 437 + color: color-mix(in oklab, var(--color-base-content) 20%, transparent); 438 + } 439 + } 440 + } 441 + .dropdown:focus-within { 442 + .menu-dropdown-toggle:after { 443 + rotate: 45deg; 444 + translate: 0 1px; 445 + } 446 + } 447 + .dropdown-content { 448 + margin-top: calc(0.25rem * 2); 449 + padding: calc(0.25rem * 2); 450 + &:before { 451 + display: none; 452 + } 453 + } 454 + } 455 + } 456 + .btn { 457 + :where(&) { 458 + @layer daisyui.l1.l2.l3 { 459 + width: unset; 460 + } 461 + } 462 + .prose :where(a&:not(.btn-link)):not(:where([class~="not-prose"], [class~="not-prose"] *)) { 463 + text-decoration-line: none; 464 + } 465 + @layer daisyui.l1.l2.l3 { 466 + display: inline-flex; 467 + flex-shrink: 0; 468 + cursor: pointer; 469 + flex-wrap: nowrap; 470 + align-items: center; 471 + justify-content: center; 472 + gap: calc(0.25rem * 1.5); 473 + text-align: center; 474 + vertical-align: middle; 475 + outline-offset: 2px; 476 + webkit-user-select: none; 477 + user-select: none; 478 + padding-inline: var(--btn-p); 479 + color: var(--btn-fg); 480 + --tw-prose-links: var(--btn-fg); 481 + height: var(--size); 482 + font-size: var(--fontsize, 0.875rem); 483 + font-weight: 600; 484 + outline-color: var(--btn-color, var(--color-base-content)); 485 + transition-property: color, background-color, border-color, box-shadow; 486 + transition-timing-function: cubic-bezier(0, 0, 0.2, 1); 487 + transition-duration: 0.2s; 488 + border-start-start-radius: var(--join-ss, var(--radius-field)); 489 + border-start-end-radius: var(--join-se, var(--radius-field)); 490 + border-end-start-radius: var(--join-es, var(--radius-field)); 491 + border-end-end-radius: var(--join-ee, var(--radius-field)); 492 + background-color: var(--btn-bg); 493 + background-size: auto, calc(var(--noise) * 100%); 494 + background-image: none, var(--btn-noise); 495 + border-width: var(--border); 496 + border-style: solid; 497 + border-color: var(--btn-border); 498 + text-shadow: 0 0.5px oklch(100% 0 0 / calc(var(--depth) * 0.15)); 499 + touch-action: manipulation; 500 + box-shadow: 0 0.5px 0 0.5px oklch(100% 0 0 / calc(var(--depth) * 6%)) inset, var(--btn-shadow); 501 + --size: calc(var(--size-field, 0.25rem) * 10); 502 + --btn-bg: var(--btn-color, var(--color-base-200)); 503 + --btn-fg: var(--color-base-content); 504 + --btn-p: 1rem; 505 + --btn-border: var(--btn-bg); 506 + @supports (color: color-mix(in lab, red, red)) { 507 + --btn-border: color-mix(in oklab, var(--btn-bg), #000 calc(var(--depth) * 5%)); 508 + } 509 + --btn-shadow: 0 3px 2px -2px var(--btn-bg), 510 + 0 4px 3px -2px var(--btn-bg); 511 + @supports (color: color-mix(in lab, red, red)) { 512 + --btn-shadow: 0 3px 2px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000), 513 + 0 4px 3px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000); 514 + } 515 + --btn-noise: var(--fx-noise); 516 + @media (hover: hover) { 517 + &:hover { 518 + --btn-bg: var(--btn-color, var(--color-base-200)); 519 + @supports (color: color-mix(in lab, red, red)) { 520 + --btn-bg: color-mix(in oklab, var(--btn-color, var(--color-base-200)), #000 7%); 521 + } 522 + } 523 + } 524 + &:focus-visible, &:has(:focus-visible) { 525 + outline-width: 2px; 526 + outline-style: solid; 527 + isolation: isolate; 528 + } 529 + &:active:not(.btn-active) { 530 + translate: 0 0.5px; 531 + --btn-bg: var(--btn-color, var(--color-base-200)); 532 + @supports (color: color-mix(in lab, red, red)) { 533 + --btn-bg: color-mix(in oklab, var(--btn-color, var(--color-base-200)), #000 5%); 534 + } 535 + --btn-border: var(--btn-color, var(--color-base-200)); 536 + @supports (color: color-mix(in lab, red, red)) { 537 + --btn-border: color-mix(in oklab, var(--btn-color, var(--color-base-200)), #000 7%); 538 + } 539 + --btn-shadow: 0 0 0 0 oklch(0% 0 0/0), 0 0 0 0 oklch(0% 0 0/0); 540 + } 541 + &:is(input[type="checkbox"], input[type="radio"]) { 542 + appearance: none; 543 + &[aria-label]::after { 544 + --tw-content: attr(aria-label); 545 + content: var(--tw-content); 546 + } 547 + } 548 + &:where(input:checked:not(.filter .btn)) { 549 + --btn-color: var(--color-primary); 550 + --btn-fg: var(--color-primary-content); 551 + isolation: isolate; 552 + } 553 + } 554 + &:disabled { 555 + @layer daisyui.l1.l2 { 556 + &:not(.btn-link, .btn-ghost) { 557 + background-color: var(--color-base-content); 558 + @supports (color: color-mix(in lab, red, red)) { 559 + background-color: color-mix(in oklab, var(--color-base-content) 10%, transparent); 560 + } 561 + box-shadow: none; 562 + } 563 + pointer-events: none; 564 + --btn-border: #0000; 565 + --btn-noise: none; 566 + --btn-fg: var(--color-base-content); 567 + @supports (color: color-mix(in lab, red, red)) { 568 + --btn-fg: color-mix(in oklch, var(--color-base-content) 20%, #0000); 569 + } 570 + } 571 + } 572 + &[disabled] { 573 + @layer daisyui.l1.l2 { 574 + &:not(.btn-link, .btn-ghost) { 575 + background-color: var(--color-base-content); 576 + @supports (color: color-mix(in lab, red, red)) { 577 + background-color: color-mix(in oklab, var(--color-base-content) 10%, transparent); 578 + } 579 + box-shadow: none; 580 + } 581 + pointer-events: none; 582 + --btn-border: #0000; 583 + --btn-noise: none; 584 + --btn-fg: var(--color-base-content); 585 + @supports (color: color-mix(in lab, red, red)) { 586 + --btn-fg: color-mix(in oklch, var(--color-base-content) 20%, #0000); 587 + } 588 + } 589 + } 590 + } 591 + .loading { 592 + @layer daisyui.l1.l2.l3 { 593 + pointer-events: none; 594 + display: inline-block; 595 + aspect-ratio: 1 / 1; 596 + background-color: currentcolor; 597 + vertical-align: middle; 598 + width: calc(var(--size-selector, 0.25rem) * 6); 599 + mask-size: 100%; 600 + mask-repeat: no-repeat; 601 + mask-position: center; 602 + mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E"); 603 + } 604 + } 605 + .btn-disabled { 606 + @layer daisyui.l1.l2 { 607 + &:not(.btn-link, .btn-ghost) { 608 + background-color: var(--color-base-content); 609 + @supports (color: color-mix(in lab, red, red)) { 610 + background-color: color-mix(in oklab, var(--color-base-content) 10%, transparent); 611 + } 612 + box-shadow: none; 613 + } 614 + pointer-events: none; 615 + --btn-border: #0000; 616 + --btn-noise: none; 617 + --btn-fg: var(--color-base-content); 618 + @supports (color: color-mix(in lab, red, red)) { 619 + --btn-fg: color-mix(in oklch, var(--color-base-content) 20%, #0000); 620 + } 621 + } 622 + } 623 + .toggle { 624 + @layer daisyui.l1.l2.l3 { 625 + border: var(--border) solid currentColor; 626 + color: var(--input-color); 627 + position: relative; 628 + display: inline-grid; 629 + flex-shrink: 0; 630 + cursor: pointer; 631 + appearance: none; 632 + place-content: center; 633 + vertical-align: middle; 634 + webkit-user-select: none; 635 + user-select: none; 636 + grid-template-columns: 0fr 1fr 1fr; 637 + --radius-selector-max: calc( 638 + var(--radius-selector) + var(--radius-selector) + var(--radius-selector) 639 + ); 640 + border-radius: calc( var(--radius-selector) + min(var(--toggle-p), var(--radius-selector-max)) + min(var(--border), var(--radius-selector-max)) ); 641 + padding: var(--toggle-p); 642 + box-shadow: 0 1px currentColor inset; 643 + @supports (color: color-mix(in lab, red, red)) { 644 + box-shadow: 0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000) inset; 645 + } 646 + transition: color 0.3s, grid-template-columns 0.2s; 647 + --input-color: var(--color-base-content); 648 + @supports (color: color-mix(in lab, red, red)) { 649 + --input-color: color-mix(in oklab, var(--color-base-content) 50%, #0000); 650 + } 651 + --toggle-p: calc(var(--size) * 0.125); 652 + --size: calc(var(--size-selector, 0.25rem) * 6); 653 + width: calc((var(--size) * 2) - (var(--border) + var(--toggle-p)) * 2); 654 + height: var(--size); 655 + > * { 656 + z-index: 1; 657 + grid-column: span 1 / span 1; 658 + grid-column-start: 2; 659 + grid-row-start: 1; 660 + height: 100%; 661 + cursor: pointer; 662 + appearance: none; 663 + background-color: transparent; 664 + padding: calc(0.25rem * 0.5); 665 + transition: opacity 0.2s, rotate 0.4s; 666 + border: none; 667 + &:focus { 668 + --tw-outline-style: none; 669 + outline-style: none; 670 + @media (forced-colors: active) { 671 + outline: 2px solid transparent; 672 + outline-offset: 2px; 673 + } 674 + } 675 + &:nth-child(2) { 676 + color: var(--color-base-100); 677 + rotate: 0deg; 678 + } 679 + &:nth-child(3) { 680 + color: var(--color-base-100); 681 + opacity: 0%; 682 + rotate: -15deg; 683 + } 684 + } 685 + &:has(:checked) { 686 + > :nth-child(2) { 687 + opacity: 0%; 688 + rotate: 15deg; 689 + } 690 + > :nth-child(3) { 691 + opacity: 100%; 692 + rotate: 0deg; 693 + } 694 + } 695 + &:before { 696 + position: relative; 697 + inset-inline-start: calc(0.25rem * 0); 698 + grid-column-start: 2; 699 + grid-row-start: 1; 700 + aspect-ratio: 1 / 1; 701 + height: 100%; 702 + width: 100%; 703 + border-radius: var(--radius-selector); 704 + background-color: currentcolor; 705 + translate: 0; 706 + --tw-content: ""; 707 + content: var(--tw-content); 708 + transition: background-color 0.1s, translate 0.2s, inset-inline-start 0.2s; 709 + box-shadow: 0 -1px oklch(0% 0 0 / calc(var(--depth) * 0.1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset, 0 1px currentColor; 710 + @supports (color: color-mix(in lab, red, red)) { 711 + box-shadow: 0 -1px oklch(0% 0 0 / calc(var(--depth) * 0.1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset, 0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000); 712 + } 713 + background-size: auto, calc(var(--noise) * 100%); 714 + background-image: none, var(--fx-noise); 715 + } 716 + @media (forced-colors: active) { 717 + &:before { 718 + outline-style: var(--tw-outline-style); 719 + outline-width: 1px; 720 + outline-offset: calc(1px * -1); 721 + } 722 + } 723 + @media print { 724 + &:before { 725 + outline: 0.25rem solid; 726 + outline-offset: -1rem; 727 + } 728 + } 729 + &:focus-visible, &:has(:focus-visible) { 730 + outline: 2px solid currentColor; 731 + outline-offset: 2px; 732 + } 733 + &:checked, &[aria-checked="true"], &:has(> input:checked) { 734 + grid-template-columns: 1fr 1fr 0fr; 735 + background-color: var(--color-base-100); 736 + --input-color: var(--color-base-content); 737 + &:before { 738 + background-color: currentcolor; 739 + } 740 + @starting-style { 741 + &:before { 742 + opacity: 0; 743 + } 744 + } 745 + } 746 + &:indeterminate { 747 + grid-template-columns: 0.5fr 1fr 0.5fr; 748 + } 749 + &:disabled { 750 + cursor: not-allowed; 751 + opacity: 30%; 752 + &:before { 753 + background-color: transparent; 754 + border: var(--border) solid currentColor; 755 + } 756 + } 757 + } 758 + } 759 + .input { 760 + @layer daisyui.l1.l2.l3 { 761 + cursor: text; 762 + border: var(--border) solid #0000; 763 + position: relative; 764 + display: inline-flex; 765 + flex-shrink: 1; 766 + appearance: none; 767 + align-items: center; 768 + gap: calc(0.25rem * 2); 769 + background-color: var(--color-base-100); 770 + padding-inline: calc(0.25rem * 3); 771 + vertical-align: middle; 772 + white-space: nowrap; 773 + width: clamp(3rem, 20rem, 100%); 774 + height: var(--size); 775 + font-size: max(var(--font-size, 0.875rem), 0.875rem); 776 + touch-action: manipulation; 777 + border-start-start-radius: var(--join-ss, var(--radius-field)); 778 + border-start-end-radius: var(--join-se, var(--radius-field)); 779 + border-end-start-radius: var(--join-es, var(--radius-field)); 780 + border-end-end-radius: var(--join-ee, var(--radius-field)); 781 + border-color: var(--input-color); 782 + box-shadow: 0 1px var(--input-color) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset; 783 + @supports (color: color-mix(in lab, red, red)) { 784 + box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset; 785 + } 786 + --size: calc(var(--size-field, 0.25rem) * 10); 787 + --input-color: var(--color-base-content); 788 + @supports (color: color-mix(in lab, red, red)) { 789 + --input-color: color-mix(in oklab, var(--color-base-content) 20%, #0000); 790 + } 791 + &:where(input) { 792 + display: inline-flex; 793 + } 794 + :where(input) { 795 + display: inline-flex; 796 + height: 100%; 797 + width: 100%; 798 + appearance: none; 799 + background-color: transparent; 800 + border: none; 801 + &:focus, &:focus-within { 802 + --tw-outline-style: none; 803 + outline-style: none; 804 + @media (forced-colors: active) { 805 + outline: 2px solid transparent; 806 + outline-offset: 2px; 807 + } 808 + } 809 + } 810 + :where(input[type="url"]), :where(input[type="email"]) { 811 + direction: ltr; 812 + } 813 + :where(input[type="date"]) { 814 + display: inline-flex; 815 + } 816 + &:focus, &:focus-within { 817 + --input-color: var(--color-base-content); 818 + box-shadow: 0 1px var(--input-color); 819 + @supports (color: color-mix(in lab, red, red)) { 820 + box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000); 821 + } 822 + outline: 2px solid var(--input-color); 823 + outline-offset: 2px; 824 + isolation: isolate; 825 + } 826 + @media (pointer: coarse) { 827 + @supports (-webkit-touch-callout: none) { 828 + &:focus, &:focus-within { 829 + --font-size: 1rem; 830 + } 831 + } 832 + } 833 + &:has(> input[disabled]), &:is(:disabled, [disabled]), fieldset:disabled & { 834 + cursor: not-allowed; 835 + border-color: var(--color-base-200); 836 + background-color: var(--color-base-200); 837 + color: var(--color-base-content); 838 + @supports (color: color-mix(in lab, red, red)) { 839 + color: color-mix(in oklab, var(--color-base-content) 40%, transparent); 840 + } 841 + &::placeholder { 842 + color: var(--color-base-content); 843 + @supports (color: color-mix(in lab, red, red)) { 844 + color: color-mix(in oklab, var(--color-base-content) 20%, transparent); 845 + } 846 + } 847 + box-shadow: none; 848 + } 849 + &:has(> input[disabled]) > input[disabled] { 850 + cursor: not-allowed; 851 + } 852 + &::-webkit-date-and-time-value { 853 + text-align: inherit; 854 + } 855 + &[type="number"] { 856 + &::-webkit-inner-spin-button { 857 + margin-block: calc(0.25rem * -3); 858 + margin-inline-end: calc(0.25rem * -3); 859 + } 860 + } 861 + &::-webkit-calendar-picker-indicator { 862 + position: absolute; 863 + inset-inline-end: 0.75em; 864 + } 865 + &:has(> input[type="date"]) { 866 + :where(input[type="date"]) { 867 + display: inline-flex; 868 + webkit-appearance: none; 869 + appearance: none; 870 + } 871 + input[type="date"]::-webkit-calendar-picker-indicator { 872 + position: absolute; 873 + inset-inline-end: 0.75em; 874 + width: 1em; 875 + height: 1em; 876 + cursor: pointer; 877 + } 878 + } 879 + } 880 + } 881 + .table { 882 + @layer daisyui.l1.l2.l3 { 883 + font-size: 0.875rem; 884 + position: relative; 885 + width: 100%; 886 + border-collapse: separate; 887 + --tw-border-spacing-x: calc(0.25rem * 0); 888 + --tw-border-spacing-y: calc(0.25rem * 0); 889 + border-spacing: var(--tw-border-spacing-x) var(--tw-border-spacing-y); 890 + border-radius: var(--radius-box); 891 + text-align: left; 892 + &:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) { 893 + text-align: right; 894 + } 895 + tr.row-hover { 896 + &, &:nth-child(even) { 897 + &:hover { 898 + @media (hover: hover) { 899 + background-color: var(--color-base-200); 900 + } 901 + } 902 + } 903 + } 904 + :where(th, td) { 905 + padding-inline: calc(0.25rem * 4); 906 + padding-block: calc(0.25rem * 3); 907 + vertical-align: middle; 908 + } 909 + :where(thead, tfoot) { 910 + white-space: nowrap; 911 + color: var(--color-base-content); 912 + @supports (color: color-mix(in lab, red, red)) { 913 + color: color-mix(in oklab, var(--color-base-content) 60%, transparent); 914 + } 915 + font-size: 0.875rem; 916 + font-weight: 600; 917 + } 918 + :where(tfoot tr:first-child :is(td, th)) { 919 + border-top: var(--border) solid var(--color-base-content); 920 + @supports (color: color-mix(in lab, red, red)) { 921 + border-top: var(--border) solid color-mix(in oklch, var(--color-base-content) 5%, #0000); 922 + } 923 + } 924 + :where(.table-pin-rows thead tr) { 925 + position: sticky; 926 + top: calc(0.25rem * 0); 927 + z-index: 1; 928 + background-color: var(--color-base-100); 929 + } 930 + :where(.table-pin-rows tfoot tr) { 931 + position: sticky; 932 + bottom: calc(0.25rem * 0); 933 + z-index: 1; 934 + background-color: var(--color-base-100); 935 + } 936 + :where(.table-pin-cols tr th) { 937 + position: sticky; 938 + right: calc(0.25rem * 0); 939 + left: calc(0.25rem * 0); 940 + background-color: var(--color-base-100); 941 + } 942 + :where(thead tr :is(td, th), tbody tr:not(:last-child) :is(td, th)) { 943 + border-bottom: var(--border) solid var(--color-base-content); 944 + @supports (color: color-mix(in lab, red, red)) { 945 + border-bottom: var(--border) solid color-mix(in oklch, var(--color-base-content) 5%, #0000); 946 + } 947 + } 948 + } 949 + } 950 + .steps { 951 + @layer daisyui.l1.l2.l3 { 952 + display: inline-grid; 953 + grid-auto-flow: column; 954 + overflow: hidden; 955 + overflow-x: auto; 956 + counter-reset: step; 957 + grid-auto-columns: 1fr; 958 + .step { 959 + display: grid; 960 + grid-template-columns: repeat(1, minmax(0, 1fr)); 961 + grid-template-columns: auto; 962 + grid-template-rows: repeat(2, minmax(0, 1fr)); 963 + grid-template-rows: 40px 1fr; 964 + place-items: center; 965 + text-align: center; 966 + min-width: 4rem; 967 + --step-bg: var(--color-base-300); 968 + --step-fg: var(--color-base-content); 969 + &:before { 970 + top: calc(0.25rem * 0); 971 + grid-column-start: 1; 972 + grid-row-start: 1; 973 + height: calc(0.25rem * 2); 974 + width: 100%; 975 + border: 1px solid; 976 + color: var(--step-bg); 977 + background-color: var(--step-bg); 978 + content: ""; 979 + margin-inline-start: -100%; 980 + } 981 + > .step-icon, &:not(:has(.step-icon)):after { 982 + --tw-content: counter(step); 983 + content: var(--tw-content); 984 + counter-increment: step; 985 + z-index: 1; 986 + color: var(--step-fg); 987 + background-color: var(--step-bg); 988 + border: 1px solid var(--step-bg); 989 + position: relative; 990 + grid-column-start: 1; 991 + grid-row-start: 1; 992 + display: grid; 993 + height: calc(0.25rem * 8); 994 + width: calc(0.25rem * 8); 995 + place-items: center; 996 + place-self: center; 997 + border-radius: calc(infinity * 1px); 998 + } 999 + &:first-child:before { 1000 + --tw-content: none; 1001 + content: var(--tw-content); 1002 + } 1003 + &[data-content]:after { 1004 + --tw-content: attr(data-content); 1005 + content: var(--tw-content); 1006 + } 1007 + } 1008 + } 1009 + @layer daisyui.l1.l2 { 1010 + .step-neutral { 1011 + + .step-neutral:before, &:after, > .step-icon { 1012 + --step-bg: var(--color-neutral); 1013 + --step-fg: var(--color-neutral-content); 1014 + } 1015 + } 1016 + .step-primary { 1017 + + .step-primary:before, &:after, > .step-icon { 1018 + --step-bg: var(--color-primary); 1019 + --step-fg: var(--color-primary-content); 1020 + } 1021 + } 1022 + .step-secondary { 1023 + + .step-secondary:before, &:after, > .step-icon { 1024 + --step-bg: var(--color-secondary); 1025 + --step-fg: var(--color-secondary-content); 1026 + } 1027 + } 1028 + .step-accent { 1029 + + .step-accent:before, &:after, > .step-icon { 1030 + --step-bg: var(--color-accent); 1031 + --step-fg: var(--color-accent-content); 1032 + } 1033 + } 1034 + .step-info { 1035 + + .step-info:before, &:after, > .step-icon { 1036 + --step-bg: var(--color-info); 1037 + --step-fg: var(--color-info-content); 1038 + } 1039 + } 1040 + .step-success { 1041 + + .step-success:before, &:after, > .step-icon { 1042 + --step-bg: var(--color-success); 1043 + --step-fg: var(--color-success-content); 1044 + } 1045 + } 1046 + .step-warning { 1047 + + .step-warning:before, &:after, > .step-icon { 1048 + --step-bg: var(--color-warning); 1049 + --step-fg: var(--color-warning-content); 1050 + } 1051 + } 1052 + .step-error { 1053 + + .step-error:before, &:after, > .step-icon { 1054 + --step-bg: var(--color-error); 1055 + --step-fg: var(--color-error-content); 1056 + } 1057 + } 1058 + } 1059 + } 1060 + .chat-bubble { 1061 + @layer daisyui.l1.l2.l3 { 1062 + position: relative; 1063 + display: block; 1064 + width: fit-content; 1065 + border-radius: var(--radius-field); 1066 + background-color: var(--color-base-300); 1067 + padding-inline: calc(0.25rem * 4); 1068 + padding-block: calc(0.25rem * 2); 1069 + color: var(--color-base-content); 1070 + grid-row-end: 3; 1071 + min-height: 2rem; 1072 + min-width: 2.5rem; 1073 + max-width: 90%; 1074 + &:before { 1075 + position: absolute; 1076 + bottom: calc(0.25rem * 0); 1077 + height: calc(0.25rem * 3); 1078 + width: calc(0.25rem * 3); 1079 + background-color: inherit; 1080 + content: ""; 1081 + mask-repeat: no-repeat; 1082 + mask-image: var(--mask-chat); 1083 + mask-position: 0px -1px; 1084 + mask-size: 0.8125rem; 1085 + } 1086 + } 1087 + } 1088 + .select { 1089 + @layer daisyui.l1.l2.l3 { 1090 + border: var(--border) solid #0000; 1091 + position: relative; 1092 + display: inline-flex; 1093 + flex-shrink: 1; 1094 + appearance: none; 1095 + align-items: center; 1096 + gap: calc(0.25rem * 1.5); 1097 + background-color: var(--color-base-100); 1098 + padding-inline-start: calc(0.25rem * 3); 1099 + padding-inline-end: calc(0.25rem * 7); 1100 + vertical-align: middle; 1101 + width: clamp(3rem, 20rem, 100%); 1102 + height: var(--size); 1103 + font-size: 0.875rem; 1104 + touch-action: manipulation; 1105 + border-start-start-radius: var(--join-ss, var(--radius-field)); 1106 + border-start-end-radius: var(--join-se, var(--radius-field)); 1107 + border-end-start-radius: var(--join-es, var(--radius-field)); 1108 + border-end-end-radius: var(--join-ee, var(--radius-field)); 1109 + background-image: linear-gradient(45deg, #0000 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, #0000 50%); 1110 + background-position: calc(100% - 20px) calc(1px + 50%), calc(100% - 16.1px) calc(1px + 50%); 1111 + background-size: 4px 4px, 4px 4px; 1112 + background-repeat: no-repeat; 1113 + white-space: nowrap; 1114 + overflow: hidden; 1115 + text-overflow: ellipsis; 1116 + box-shadow: 0 1px var(--input-color) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset; 1117 + @supports (color: color-mix(in lab, red, red)) { 1118 + box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset; 1119 + } 1120 + border-color: var(--input-color); 1121 + --input-color: var(--color-base-content); 1122 + @supports (color: color-mix(in lab, red, red)) { 1123 + --input-color: color-mix(in oklab, var(--color-base-content) 20%, #0000); 1124 + } 1125 + --size: calc(var(--size-field, 0.25rem) * 10); 1126 + [dir="rtl"] & { 1127 + background-position: calc(0% + 12px) calc(1px + 50%), calc(0% + 16px) calc(1px + 50%); 1128 + &::picker(select), select::picker(select) { 1129 + translate: 0.5rem 0; 1130 + } 1131 + } 1132 + &[multiple] { 1133 + height: auto; 1134 + overflow: auto; 1135 + padding-block: calc(0.25rem * 3); 1136 + padding-inline-end: calc(0.25rem * 3); 1137 + background-image: none; 1138 + } 1139 + select { 1140 + margin-inline-start: calc(0.25rem * -3); 1141 + margin-inline-end: calc(0.25rem * -7); 1142 + width: calc(100% + 2.75rem); 1143 + appearance: none; 1144 + padding-inline-start: calc(0.25rem * 3); 1145 + padding-inline-end: calc(0.25rem * 7); 1146 + height: calc(100% - calc(var(--border) * 2)); 1147 + align-items: center; 1148 + background: inherit; 1149 + border-radius: inherit; 1150 + border-style: none; 1151 + &:focus, &:focus-within { 1152 + --tw-outline-style: none; 1153 + outline-style: none; 1154 + @media (forced-colors: active) { 1155 + outline: 2px solid transparent; 1156 + outline-offset: 2px; 1157 + } 1158 + } 1159 + &:not(:last-child) { 1160 + margin-inline-end: calc(0.25rem * -5.5); 1161 + background-image: none; 1162 + } 1163 + } 1164 + &:focus, &:focus-within { 1165 + --input-color: var(--color-base-content); 1166 + box-shadow: 0 1px var(--input-color); 1167 + @supports (color: color-mix(in lab, red, red)) { 1168 + box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000); 1169 + } 1170 + outline: 2px solid var(--input-color); 1171 + outline-offset: 2px; 1172 + isolation: isolate; 1173 + } 1174 + &:has(> select[disabled]), &:is(:disabled, [disabled]), fieldset:disabled & { 1175 + cursor: not-allowed; 1176 + border-color: var(--color-base-200); 1177 + background-color: var(--color-base-200); 1178 + color: var(--color-base-content); 1179 + @supports (color: color-mix(in lab, red, red)) { 1180 + color: color-mix(in oklab, var(--color-base-content) 40%, transparent); 1181 + } 1182 + &::placeholder { 1183 + color: var(--color-base-content); 1184 + @supports (color: color-mix(in lab, red, red)) { 1185 + color: color-mix(in oklab, var(--color-base-content) 20%, transparent); 1186 + } 1187 + } 1188 + } 1189 + &:has(> select[disabled]) > select[disabled] { 1190 + cursor: not-allowed; 1191 + } 1192 + &, & select { 1193 + @supports (appearance: base-select) { 1194 + appearance: base-select; 1195 + } 1196 + @supports (appearance: base-select) { 1197 + &::picker(select) { 1198 + appearance: base-select; 1199 + } 1200 + } 1201 + &::picker(select) { 1202 + color: inherit; 1203 + max-height: min(24rem, 70dvh); 1204 + margin-inline: 0.5rem; 1205 + translate: -0.5rem 0; 1206 + border: var(--border) solid var(--color-base-200); 1207 + margin-block: calc(0.25rem * 2); 1208 + border-radius: var(--radius-box); 1209 + padding: calc(0.25rem * 2); 1210 + background-color: inherit; 1211 + box-shadow: 0 2px calc(var(--depth) * 3px) -2px oklch(0% 0 0/0.2); 1212 + box-shadow: 0 20px 25px -5px rgb(0 0 0 / calc(var(--depth) * 0.1)), 0 8px 10px -6px rgb(0 0 0 / calc(var(--depth) * 0.1)); 1213 + } 1214 + &::picker-icon { 1215 + display: none; 1216 + } 1217 + optgroup { 1218 + padding-top: 0.5em; 1219 + option { 1220 + &:nth-child(1) { 1221 + margin-top: 0.5em; 1222 + } 1223 + } 1224 + } 1225 + option { 1226 + border-radius: var(--radius-field); 1227 + padding-inline: calc(0.25rem * 3); 1228 + padding-block: calc(0.25rem * 1.5); 1229 + transition-property: color, background-color; 1230 + transition-duration: 0.2s; 1231 + transition-timing-function: cubic-bezier(0, 0, 0.2, 1); 1232 + white-space: normal; 1233 + &:not(:disabled) { 1234 + &:hover, &:focus-visible { 1235 + cursor: pointer; 1236 + background-color: var(--color-base-content); 1237 + @supports (color: color-mix(in lab, red, red)) { 1238 + background-color: color-mix(in oklab, var(--color-base-content) 10%, transparent); 1239 + } 1240 + --tw-outline-style: none; 1241 + outline-style: none; 1242 + @media (forced-colors: active) { 1243 + outline: 2px solid transparent; 1244 + outline-offset: 2px; 1245 + } 1246 + } 1247 + &:active { 1248 + background-color: var(--color-neutral); 1249 + color: var(--color-neutral-content); 1250 + box-shadow: 0 2px calc(var(--depth) * 3px) -2px var(--color-neutral); 1251 + } 1252 + } 1253 + } 1254 + } 1255 + } 1256 + } 1257 + .swap { 1258 + @layer daisyui.l1.l2.l3 { 1259 + position: relative; 1260 + display: inline-grid; 1261 + cursor: pointer; 1262 + place-content: center; 1263 + vertical-align: middle; 1264 + webkit-user-select: none; 1265 + user-select: none; 1266 + input { 1267 + appearance: none; 1268 + border: none; 1269 + } 1270 + > * { 1271 + grid-column-start: 1; 1272 + grid-row-start: 1; 1273 + @media (prefers-reduced-motion: no-preference) { 1274 + transition-property: transform, rotate, opacity; 1275 + transition-duration: 0.2s; 1276 + transition-timing-function: cubic-bezier(0, 0, 0.2, 1); 1277 + } 1278 + } 1279 + .swap-on, .swap-indeterminate, input:indeterminate ~ .swap-on { 1280 + opacity: 0%; 1281 + } 1282 + input:is(:checked, :indeterminate) { 1283 + & ~ .swap-off { 1284 + opacity: 0%; 1285 + } 1286 + } 1287 + input:checked ~ .swap-on, input:indeterminate ~ .swap-indeterminate { 1288 + opacity: 100%; 1289 + backface-visibility: visible; 1290 + } 1291 + } 1292 + } 1293 + .avatar { 1294 + @layer daisyui.l1.l2.l3 { 1295 + position: relative; 1296 + display: inline-flex; 1297 + vertical-align: middle; 1298 + & > div { 1299 + display: block; 1300 + aspect-ratio: 1 / 1; 1301 + overflow: hidden; 1302 + } 1303 + img { 1304 + height: 100%; 1305 + width: 100%; 1306 + object-fit: cover; 1307 + } 1308 + } 1309 + } 1310 + .checkbox { 1311 + @layer daisyui.l1.l2.l3 { 1312 + border: var(--border) solid var(--input-color, var(--color-base-content)); 1313 + @supports (color: color-mix(in lab, red, red)) { 1314 + border: var(--border) solid var(--input-color, color-mix(in oklab, var(--color-base-content) 20%, #0000)); 1315 + } 1316 + position: relative; 1317 + display: inline-block; 1318 + flex-shrink: 0; 1319 + cursor: pointer; 1320 + appearance: none; 1321 + border-radius: var(--radius-selector); 1322 + padding: calc(0.25rem * 1); 1323 + vertical-align: middle; 1324 + color: var(--color-base-content); 1325 + box-shadow: 0 1px oklch(0% 0 0 / calc(var(--depth) * 0.1)) inset, 0 0 #0000 inset, 0 0 #0000; 1326 + transition: background-color 0.2s, box-shadow 0.2s; 1327 + --size: calc(var(--size-selector, 0.25rem) * 6); 1328 + width: var(--size); 1329 + height: var(--size); 1330 + background-size: auto, calc(var(--noise) * 100%); 1331 + background-image: none, var(--fx-noise); 1332 + &:before { 1333 + --tw-content: ""; 1334 + content: var(--tw-content); 1335 + display: block; 1336 + width: 100%; 1337 + height: 100%; 1338 + rotate: 45deg; 1339 + background-color: currentcolor; 1340 + opacity: 0%; 1341 + transition: clip-path 0.3s, opacity 0.1s, rotate 0.3s, translate 0.3s; 1342 + transition-delay: 0.1s; 1343 + clip-path: polygon(20% 100%, 20% 80%, 50% 80%, 50% 80%, 70% 80%, 70% 100%); 1344 + box-shadow: 0px 3px 0 0px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset; 1345 + font-size: 1rem; 1346 + line-height: 0.75; 1347 + } 1348 + &:focus-visible { 1349 + outline: 2px solid var(--input-color, currentColor); 1350 + outline-offset: 2px; 1351 + } 1352 + &:checked, &[aria-checked="true"] { 1353 + background-color: var(--input-color, #0000); 1354 + box-shadow: 0 0 #0000 inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset, 0 1px oklch(0% 0 0 / calc(var(--depth) * 0.1)); 1355 + &:before { 1356 + clip-path: polygon(20% 100%, 20% 80%, 50% 80%, 50% 0%, 70% 0%, 70% 100%); 1357 + opacity: 100%; 1358 + } 1359 + @media (forced-colors: active) { 1360 + &:before { 1361 + rotate: 0deg; 1362 + background-color: transparent; 1363 + --tw-content: "✔︎"; 1364 + clip-path: none; 1365 + } 1366 + } 1367 + @media print { 1368 + &:before { 1369 + rotate: 0deg; 1370 + background-color: transparent; 1371 + --tw-content: "✔︎"; 1372 + clip-path: none; 1373 + } 1374 + } 1375 + } 1376 + &:indeterminate { 1377 + background-color: var( --input-color, var(--color-base-content) ); 1378 + @supports (color: color-mix(in lab, red, red)) { 1379 + background-color: var( --input-color, color-mix(in oklab, var(--color-base-content) 20%, #0000) ); 1380 + } 1381 + &:before { 1382 + rotate: 0deg; 1383 + opacity: 100%; 1384 + translate: 0 -35%; 1385 + clip-path: polygon(20% 100%, 20% 80%, 50% 80%, 50% 80%, 80% 80%, 80% 100%); 1386 + } 1387 + } 1388 + } 1389 + &:disabled { 1390 + @layer daisyui.l1.l2 { 1391 + cursor: not-allowed; 1392 + opacity: 20%; 1393 + } 1394 + } 1395 + } 1396 + .navbar { 1397 + @layer daisyui.l1.l2.l3 { 1398 + display: flex; 1399 + width: 100%; 1400 + align-items: center; 1401 + padding: 0.5rem; 1402 + min-height: 4rem; 1403 + } 1404 + :where(&) { 1405 + @layer daisyui.l1.l2 { 1406 + position: relative; 1407 + } 1408 + } 1409 + } 1410 + .drawer { 1411 + @layer daisyui.l1.l2.l3 { 1412 + position: relative; 1413 + display: grid; 1414 + width: 100%; 1415 + grid-auto-columns: max-content auto; 1416 + } 1417 + } 1418 + .card { 1419 + @layer daisyui.l1.l2.l3 { 1420 + position: relative; 1421 + display: flex; 1422 + flex-direction: column; 1423 + border-radius: var(--radius-box); 1424 + outline-width: 2px; 1425 + transition: outline 0.2s ease-in-out; 1426 + outline: 0 solid #0000; 1427 + outline-offset: 2px; 1428 + &:focus { 1429 + --tw-outline-style: none; 1430 + outline-style: none; 1431 + @media (forced-colors: active) { 1432 + outline: 2px solid transparent; 1433 + outline-offset: 2px; 1434 + } 1435 + } 1436 + &:focus-visible { 1437 + outline-color: currentColor; 1438 + } 1439 + :where(figure:first-child) { 1440 + overflow: hidden; 1441 + border-start-start-radius: inherit; 1442 + border-start-end-radius: inherit; 1443 + border-end-start-radius: unset; 1444 + border-end-end-radius: unset; 1445 + } 1446 + :where(figure:last-child) { 1447 + overflow: hidden; 1448 + border-start-start-radius: unset; 1449 + border-start-end-radius: unset; 1450 + border-end-start-radius: inherit; 1451 + border-end-end-radius: inherit; 1452 + } 1453 + figure { 1454 + display: flex; 1455 + align-items: center; 1456 + justify-content: center; 1457 + } 1458 + &:has(> input:is(input[type="checkbox"], input[type="radio"])) { 1459 + cursor: pointer; 1460 + user-select: none; 1461 + } 1462 + &:has(> :checked) { 1463 + outline: 2px solid currentColor; 1464 + } 1465 + } 1466 + } 1467 + .fixed { 1468 + position: fixed; 1469 + } 1470 + .static { 1471 + position: static; 1472 + } 1473 + .chat-end { 1474 + @layer daisyui.l1.l2 { 1475 + place-items: end; 1476 + grid-template-columns: 1fr auto; 1477 + .chat-header { 1478 + grid-column-start: 1; 1479 + } 1480 + .chat-footer { 1481 + grid-column-start: 1; 1482 + } 1483 + .chat-image { 1484 + grid-column-start: 2; 1485 + } 1486 + .chat-bubble { 1487 + grid-column-start: 1; 1488 + border-end-end-radius: 0; 1489 + &:before { 1490 + transform: rotateY(180deg); 1491 + inset-inline-start: 100%; 1492 + } 1493 + [dir="rtl"] &:before { 1494 + transform: rotateY(0deg); 1495 + } 1496 + } 1497 + } 1498 + } 1499 + .chat-start { 1500 + @layer daisyui.l1.l2 { 1501 + place-items: start; 1502 + grid-template-columns: auto 1fr; 1503 + .chat-header { 1504 + grid-column-start: 2; 1505 + } 1506 + .chat-footer { 1507 + grid-column-start: 2; 1508 + } 1509 + .chat-image { 1510 + grid-column-start: 1; 1511 + } 1512 + .chat-bubble { 1513 + grid-column-start: 2; 1514 + border-end-start-radius: 0; 1515 + &:before { 1516 + transform: rotateY(0deg); 1517 + inset-inline-start: -0.75rem; 1518 + } 1519 + [dir="rtl"] &:before { 1520 + transform: rotateY(180deg); 1521 + } 1522 + } 1523 + } 1524 + } 1525 + .top-0 { 1526 + top: calc(var(--spacing) * 0); 1527 + } 1528 + .left-0 { 1529 + left: calc(var(--spacing) * 0); 1530 + } 1531 + .join { 1532 + display: inline-flex; 1533 + align-items: stretch; 1534 + --join-ss: 0; 1535 + --join-se: 0; 1536 + --join-es: 0; 1537 + --join-ee: 0; 1538 + :where(.join-item) { 1539 + border-start-start-radius: var(--join-ss, 0); 1540 + border-start-end-radius: var(--join-se, 0); 1541 + border-end-start-radius: var(--join-es, 0); 1542 + border-end-end-radius: var(--join-ee, 0); 1543 + * { 1544 + --join-ss: var(--radius-field); 1545 + --join-se: var(--radius-field); 1546 + --join-es: var(--radius-field); 1547 + --join-ee: var(--radius-field); 1548 + } 1549 + } 1550 + > .join-item:where(:first-child) { 1551 + --join-ss: var(--radius-field); 1552 + --join-se: 0; 1553 + --join-es: var(--radius-field); 1554 + --join-ee: 0; 1555 + } 1556 + :first-child:not(:last-child) { 1557 + :where(.join-item) { 1558 + --join-ss: var(--radius-field); 1559 + --join-se: 0; 1560 + --join-es: var(--radius-field); 1561 + --join-ee: 0; 1562 + } 1563 + } 1564 + > .join-item:where(:last-child) { 1565 + --join-ss: 0; 1566 + --join-se: var(--radius-field); 1567 + --join-es: 0; 1568 + --join-ee: var(--radius-field); 1569 + } 1570 + :last-child:not(:first-child) { 1571 + :where(.join-item) { 1572 + --join-ss: 0; 1573 + --join-se: var(--radius-field); 1574 + --join-es: 0; 1575 + --join-ee: var(--radius-field); 1576 + } 1577 + } 1578 + > .join-item:where(:only-child) { 1579 + --join-ss: var(--radius-field); 1580 + --join-se: var(--radius-field); 1581 + --join-es: var(--radius-field); 1582 + --join-ee: var(--radius-field); 1583 + } 1584 + :only-child { 1585 + :where(.join-item) { 1586 + --join-ss: var(--radius-field); 1587 + --join-se: var(--radius-field); 1588 + --join-es: var(--radius-field); 1589 + --join-ee: var(--radius-field); 1590 + } 1591 + } 1592 + > :where(:focus, :has(:focus)) { 1593 + z-index: 1; 1594 + } 1595 + @media (hover: hover) { 1596 + > :where(.btn:hover, :has(.btn:hover)) { 1597 + isolation: isolate; 1598 + } 1599 + } 1600 + } 1601 + .file-input { 1602 + @layer daisyui.l1.l2.l3 { 1603 + cursor: pointer; 1604 + cursor: pointer; 1605 + border: var(--border) solid #0000; 1606 + display: inline-flex; 1607 + appearance: none; 1608 + align-items: center; 1609 + background-color: var(--color-base-100); 1610 + vertical-align: middle; 1611 + webkit-user-select: none; 1612 + user-select: none; 1613 + width: clamp(3rem, 20rem, 100%); 1614 + height: var(--size); 1615 + padding-inline-end: 0.75rem; 1616 + font-size: 0.875rem; 1617 + line-height: 2; 1618 + border-start-start-radius: var(--join-ss, var(--radius-field)); 1619 + border-start-end-radius: var(--join-se, var(--radius-field)); 1620 + border-end-start-radius: var(--join-es, var(--radius-field)); 1621 + border-end-end-radius: var(--join-ee, var(--radius-field)); 1622 + border-color: var(--input-color); 1623 + box-shadow: 0 1px var(--input-color) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset; 1624 + @supports (color: color-mix(in lab, red, red)) { 1625 + box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset; 1626 + } 1627 + --size: calc(var(--size-field, 0.25rem) * 10); 1628 + --input-color: var(--color-base-content); 1629 + @supports (color: color-mix(in lab, red, red)) { 1630 + --input-color: color-mix(in oklab, var(--color-base-content) 20%, #0000); 1631 + } 1632 + &::file-selector-button { 1633 + margin-inline-end: calc(0.25rem * 4); 1634 + cursor: pointer; 1635 + padding-inline: calc(0.25rem * 4); 1636 + webkit-user-select: none; 1637 + user-select: none; 1638 + height: calc(100% + var(--border) * 2); 1639 + margin-block: calc(var(--border) * -1); 1640 + margin-inline-start: calc(var(--border) * -1); 1641 + font-size: 0.875rem; 1642 + color: var(--btn-fg); 1643 + border-width: var(--border); 1644 + border-style: solid; 1645 + border-color: var(--btn-border); 1646 + border-start-start-radius: calc(var(--join-ss, var(--radius-field) - var(--border))); 1647 + border-end-start-radius: calc(var(--join-es, var(--radius-field) - var(--border))); 1648 + font-weight: 600; 1649 + background-color: var(--btn-bg); 1650 + background-size: calc(var(--noise) * 100%); 1651 + background-image: var(--btn-noise); 1652 + text-shadow: 0 0.5px oklch(1 0 0 / calc(var(--depth) * 0.15)); 1653 + box-shadow: 0 0.5px 0 0.5px white inset, var(--btn-shadow); 1654 + @supports (color: color-mix(in lab, red, red)) { 1655 + box-shadow: 0 0.5px 0 0.5px color-mix( in oklab, color-mix(in oklab, white 30%, var(--btn-bg)) calc(var(--depth) * 20%), #0000 ) inset, var(--btn-shadow); 1656 + } 1657 + --size: calc(var(--size-field, 0.25rem) * 10); 1658 + --btn-bg: var(--btn-color, var(--color-base-200)); 1659 + --btn-fg: var(--color-base-content); 1660 + --btn-border: var(--btn-bg); 1661 + @supports (color: color-mix(in lab, red, red)) { 1662 + --btn-border: color-mix(in oklab, var(--btn-bg), #000 5%); 1663 + } 1664 + --btn-shadow: 0 3px 2px -2px var(--btn-bg), 1665 + 0 4px 3px -2px var(--btn-bg); 1666 + @supports (color: color-mix(in lab, red, red)) { 1667 + --btn-shadow: 0 3px 2px -2px color-mix(in oklab, var(--btn-bg) 30%, #0000), 1668 + 0 4px 3px -2px color-mix(in oklab, var(--btn-bg) 30%, #0000); 1669 + } 1670 + --btn-noise: var(--fx-noise); 1671 + } 1672 + &:focus { 1673 + --input-color: var(--color-base-content); 1674 + box-shadow: 0 1px var(--input-color); 1675 + @supports (color: color-mix(in lab, red, red)) { 1676 + box-shadow: 0 1px color-mix(in oklab, var(--input-color) 10%, #0000); 1677 + } 1678 + outline: 2px solid var(--input-color); 1679 + outline-offset: 2px; 1680 + isolation: isolate; 1681 + } 1682 + &:has(> input[disabled]), &:is(:disabled, [disabled]) { 1683 + cursor: not-allowed; 1684 + border-color: var(--color-base-200); 1685 + background-color: var(--color-base-200); 1686 + &::placeholder { 1687 + color: var(--color-base-content); 1688 + @supports (color: color-mix(in lab, red, red)) { 1689 + color: color-mix(in oklab, var(--color-base-content) 20%, transparent); 1690 + } 1691 + } 1692 + box-shadow: none; 1693 + color: var(--color-base-content); 1694 + @supports (color: color-mix(in lab, red, red)) { 1695 + color: color-mix(in oklch, var(--color-base-content) 20%, #0000); 1696 + } 1697 + &::file-selector-button { 1698 + cursor: not-allowed; 1699 + border-color: var(--color-base-200); 1700 + background-color: var(--color-base-200); 1701 + --btn-border: #0000; 1702 + --btn-noise: none; 1703 + --btn-fg: var(--color-base-content); 1704 + @supports (color: color-mix(in lab, red, red)) { 1705 + --btn-fg: color-mix(in oklch, var(--color-base-content) 20%, #0000); 1706 + } 1707 + } 1708 + } 1709 + } 1710 + } 1711 + .textarea { 1712 + @layer daisyui.l1.l2.l3 { 1713 + border: var(--border) solid #0000; 1714 + min-height: calc(0.25rem * 20); 1715 + flex-shrink: 1; 1716 + appearance: none; 1717 + border-radius: var(--radius-field); 1718 + background-color: var(--color-base-100); 1719 + padding-block: calc(0.25rem * 2); 1720 + vertical-align: middle; 1721 + width: clamp(3rem, 20rem, 100%); 1722 + padding-inline-start: 0.75rem; 1723 + padding-inline-end: 0.75rem; 1724 + font-size: max(var(--font-size, 0.875rem), 0.875rem); 1725 + touch-action: manipulation; 1726 + border-color: var(--input-color); 1727 + box-shadow: 0 1px var(--input-color) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset; 1728 + @supports (color: color-mix(in lab, red, red)) { 1729 + box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset; 1730 + } 1731 + --input-color: var(--color-base-content); 1732 + @supports (color: color-mix(in lab, red, red)) { 1733 + --input-color: color-mix(in oklab, var(--color-base-content) 20%, #0000); 1734 + } 1735 + textarea { 1736 + appearance: none; 1737 + background-color: transparent; 1738 + border: none; 1739 + &:focus, &:focus-within { 1740 + --tw-outline-style: none; 1741 + outline-style: none; 1742 + @media (forced-colors: active) { 1743 + outline: 2px solid transparent; 1744 + outline-offset: 2px; 1745 + } 1746 + } 1747 + } 1748 + &:focus, &:focus-within { 1749 + --input-color: var(--color-base-content); 1750 + box-shadow: 0 1px var(--input-color); 1751 + @supports (color: color-mix(in lab, red, red)) { 1752 + box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000); 1753 + } 1754 + outline: 2px solid var(--input-color); 1755 + outline-offset: 2px; 1756 + isolation: isolate; 1757 + } 1758 + @media (pointer: coarse) { 1759 + @supports (-webkit-touch-callout: none) { 1760 + &:focus, &:focus-within { 1761 + --font-size: 1rem; 1762 + } 1763 + } 1764 + } 1765 + &:has(> textarea[disabled]), &:is(:disabled, [disabled]) { 1766 + cursor: not-allowed; 1767 + border-color: var(--color-base-200); 1768 + background-color: var(--color-base-200); 1769 + color: var(--color-base-content); 1770 + @supports (color: color-mix(in lab, red, red)) { 1771 + color: color-mix(in oklab, var(--color-base-content) 40%, transparent); 1772 + } 1773 + &::placeholder { 1774 + color: var(--color-base-content); 1775 + @supports (color: color-mix(in lab, red, red)) { 1776 + color: color-mix(in oklab, var(--color-base-content) 20%, transparent); 1777 + } 1778 + } 1779 + box-shadow: none; 1780 + } 1781 + &:has(> textarea[disabled]) > textarea[disabled] { 1782 + cursor: not-allowed; 1783 + } 1784 + } 1785 + } 1786 + .z-10 { 1787 + z-index: 10; 1788 + } 1789 + .z-20 { 1790 + z-index: 20; 1791 + } 1792 + .order-first { 1793 + order: -9999; 1794 + } 1795 + .drawer-content { 1796 + @layer daisyui.l1.l2.l3 { 1797 + grid-column-start: 2; 1798 + grid-row-start: 1; 1799 + min-width: calc(0.25rem * 0); 1800 + } 1801 + } 1802 + .chat-image { 1803 + @layer daisyui.l1.l2.l3 { 1804 + grid-row: span 2 / span 2; 1805 + align-self: flex-end; 1806 + } 1807 + } 1808 + .chat-footer { 1809 + @layer daisyui.l1.l2.l3 { 1810 + grid-row-start: 3; 1811 + display: flex; 1812 + gap: calc(0.25rem * 1); 1813 + font-size: 0.6875rem; 1814 + } 1815 + } 1816 + .chat-header { 1817 + @layer daisyui.l1.l2.l3 { 1818 + grid-row-start: 1; 1819 + display: flex; 1820 + gap: calc(0.25rem * 1); 1821 + font-size: 0.6875rem; 1822 + } 1823 + } 1824 + .container { 1825 + width: 100%; 1826 + @media (width >= 40rem) { 1827 + max-width: 40rem; 1828 + } 1829 + @media (width >= 48rem) { 1830 + max-width: 48rem; 1831 + } 1832 + @media (width >= 64rem) { 1833 + max-width: 64rem; 1834 + } 1835 + @media (width >= 80rem) { 1836 + max-width: 80rem; 1837 + } 1838 + @media (width >= 96rem) { 1839 + max-width: 96rem; 1840 + } 1841 + } 1842 + .divider { 1843 + @layer daisyui.l1.l2.l3 { 1844 + display: flex; 1845 + height: calc(0.25rem * 4); 1846 + flex-direction: row; 1847 + align-items: center; 1848 + align-self: stretch; 1849 + white-space: nowrap; 1850 + margin: var(--divider-m, 1rem 0); 1851 + --divider-color: var(--color-base-content); 1852 + @supports (color: color-mix(in lab, red, red)) { 1853 + --divider-color: color-mix(in oklab, var(--color-base-content) 10%, transparent); 1854 + } 1855 + &:before, &:after { 1856 + content: ""; 1857 + height: calc(0.25rem * 0.5); 1858 + width: 100%; 1859 + flex-grow: 1; 1860 + background-color: var(--divider-color); 1861 + } 1862 + @media print { 1863 + &:before, &:after { 1864 + border: 0.5px solid; 1865 + } 1866 + } 1867 + &:not(:empty) { 1868 + gap: calc(0.25rem * 4); 1869 + } 1870 + } 1871 + } 1872 + .mx-auto { 1873 + margin-inline: auto; 1874 + } 1875 + .my-4 { 1876 + margin-block: calc(var(--spacing) * 4); 1877 + } 1878 + .label { 1879 + @layer daisyui.l1.l2.l3 { 1880 + display: inline-flex; 1881 + align-items: center; 1882 + gap: calc(0.25rem * 1.5); 1883 + white-space: nowrap; 1884 + color: currentcolor; 1885 + @supports (color: color-mix(in lab, red, red)) { 1886 + color: color-mix(in oklab, currentcolor 60%, transparent); 1887 + } 1888 + &:has(input) { 1889 + cursor: pointer; 1890 + } 1891 + &:is(.input > *, .select > *) { 1892 + display: flex; 1893 + height: calc(100% - 0.5rem); 1894 + align-items: center; 1895 + padding-inline: calc(0.25rem * 3); 1896 + white-space: nowrap; 1897 + font-size: inherit; 1898 + &:first-child { 1899 + margin-inline-start: calc(0.25rem * -3); 1900 + margin-inline-end: calc(0.25rem * 3); 1901 + border-inline-end: var(--border) solid currentColor; 1902 + @supports (color: color-mix(in lab, red, red)) { 1903 + border-inline-end: var(--border) solid color-mix(in oklab, currentColor 10%, #0000); 1904 + } 1905 + } 1906 + &:last-child { 1907 + margin-inline-start: calc(0.25rem * 3); 1908 + margin-inline-end: calc(0.25rem * -3); 1909 + border-inline-start: var(--border) solid currentColor; 1910 + @supports (color: color-mix(in lab, red, red)) { 1911 + border-inline-start: var(--border) solid color-mix(in oklab, currentColor 10%, #0000); 1912 + } 1913 + } 1914 + } 1915 + } 1916 + } 1917 + .join-item { 1918 + &:where(*:not(:first-child, :disabled, [disabled], .btn-disabled)) { 1919 + margin-inline-start: calc(var(--border, 1px) * -1); 1920 + margin-block-start: 0; 1921 + } 1922 + &:where(*:is(:disabled, [disabled], .btn-disabled)) { 1923 + border-width: var(--border, 1px) 0 var(--border, 1px) var(--border, 1px); 1924 + } 1925 + } 1926 + .mt-2 { 1927 + margin-top: calc(var(--spacing) * 2); 1928 + } 1929 + .mt-4 { 1930 + margin-top: calc(var(--spacing) * 4); 1931 + } 1932 + .mt-6 { 1933 + margin-top: calc(var(--spacing) * 6); 1934 + } 1935 + .mt-8 { 1936 + margin-top: calc(var(--spacing) * 8); 1937 + } 1938 + .mt-10 { 1939 + margin-top: calc(var(--spacing) * 10); 1940 + } 1941 + .mr-1 { 1942 + margin-right: calc(var(--spacing) * 1); 1943 + } 1944 + .mr-2 { 1945 + margin-right: calc(var(--spacing) * 2); 1946 + } 1947 + .mr-4 { 1948 + margin-right: calc(var(--spacing) * 4); 1949 + } 1950 + .mb-1 { 1951 + margin-bottom: calc(var(--spacing) * 1); 1952 + } 1953 + .mb-2 { 1954 + margin-bottom: calc(var(--spacing) * 2); 1955 + } 1956 + .mb-4 { 1957 + margin-bottom: calc(var(--spacing) * 4); 1958 + } 1959 + .mb-6 { 1960 + margin-bottom: calc(var(--spacing) * 6); 1961 + } 1962 + .mb-10 { 1963 + margin-bottom: calc(var(--spacing) * 10); 1964 + } 1965 + .ml-2 { 1966 + margin-left: calc(var(--spacing) * 2); 1967 + } 1968 + .ml-4 { 1969 + margin-left: calc(var(--spacing) * 4); 1970 + } 1971 + .status { 1972 + @layer daisyui.l1.l2.l3 { 1973 + display: inline-block; 1974 + aspect-ratio: 1 / 1; 1975 + width: calc(0.25rem * 2); 1976 + height: calc(0.25rem * 2); 1977 + border-radius: var(--radius-selector); 1978 + background-color: var(--color-base-content); 1979 + @supports (color: color-mix(in lab, red, red)) { 1980 + background-color: color-mix(in oklab, var(--color-base-content) 20%, transparent); 1981 + } 1982 + background-position: center; 1983 + background-repeat: no-repeat; 1984 + vertical-align: middle; 1985 + color: color-mix(in srgb, #000 30%, transparent); 1986 + @supports (color: color-mix(in lab, red, red)) { 1987 + color: color-mix(in oklab, var(--color-black) 30%, transparent); 1988 + } 1989 + background-image: radial-gradient( circle at 35% 30%, oklch(1 0 0 / calc(var(--depth) * 0.5)), #0000 ); 1990 + box-shadow: 0 2px 3px -1px currentColor; 1991 + @supports (color: color-mix(in lab, red, red)) { 1992 + box-shadow: 0 2px 3px -1px color-mix(in oklab, currentColor calc(var(--depth) * 100%), #0000); 1993 + } 1994 + } 1995 + } 1996 + .badge { 1997 + @layer daisyui.l1.l2.l3 { 1998 + display: inline-flex; 1999 + align-items: center; 2000 + justify-content: center; 2001 + gap: calc(0.25rem * 2); 2002 + border-radius: var(--radius-selector); 2003 + vertical-align: middle; 2004 + color: var(--badge-fg); 2005 + border: var(--border) solid var(--badge-color, var(--color-base-200)); 2006 + font-size: 0.875rem; 2007 + width: fit-content; 2008 + background-size: auto, calc(var(--noise) * 100%); 2009 + background-image: none, var(--fx-noise); 2010 + background-color: var(--badge-bg); 2011 + --badge-bg: var(--badge-color, var(--color-base-100)); 2012 + --badge-fg: var(--color-base-content); 2013 + --size: calc(var(--size-selector, 0.25rem) * 6); 2014 + height: var(--size); 2015 + padding-inline: calc(var(--size) / 2 - var(--border)); 2016 + } 2017 + } 2018 + .navbar-end { 2019 + @layer daisyui.l1.l2.l3 { 2020 + display: inline-flex; 2021 + align-items: center; 2022 + width: 50%; 2023 + justify-content: flex-end; 2024 + } 2025 + } 2026 + .navbar-start { 2027 + @layer daisyui.l1.l2.l3 { 2028 + display: inline-flex; 2029 + align-items: center; 2030 + width: 50%; 2031 + justify-content: flex-start; 2032 + } 2033 + } 2034 + .navbar-center { 2035 + @layer daisyui.l1.l2.l3 { 2036 + display: inline-flex; 2037 + align-items: center; 2038 + flex-shrink: 0; 2039 + } 2040 + } 2041 + .alert { 2042 + border-width: var(--border); 2043 + border-color: var(--alert-border-color, var(--color-base-200)); 2044 + @layer daisyui.l1.l2.l3 { 2045 + border-style: solid; 2046 + --alert-border-color: var(--color-base-200); 2047 + display: grid; 2048 + align-items: center; 2049 + gap: calc(0.25rem * 4); 2050 + border-radius: var(--radius-box); 2051 + padding-inline: calc(0.25rem * 4); 2052 + padding-block: calc(0.25rem * 3); 2053 + color: var(--color-base-content); 2054 + background-color: var(--alert-color, var(--color-base-200)); 2055 + justify-content: start; 2056 + justify-items: start; 2057 + grid-auto-flow: column; 2058 + grid-template-columns: auto; 2059 + text-align: start; 2060 + font-size: 0.875rem; 2061 + line-height: 1.25rem; 2062 + background-size: auto, calc(var(--noise) * 100%); 2063 + background-image: none, var(--fx-noise); 2064 + box-shadow: 0 3px 0 -2px oklch(100% 0 0 / calc(var(--depth) * 0.08)) inset, 0 1px #000, 0 4px 3px -2px oklch(0% 0 0 / calc(var(--depth) * 0.08)); 2065 + @supports (color: color-mix(in lab, red, red)) { 2066 + box-shadow: 0 3px 0 -2px oklch(100% 0 0 / calc(var(--depth) * 0.08)) inset, 0 1px color-mix( in oklab, color-mix(in oklab, #000 20%, var(--alert-color, var(--color-base-200))) calc(var(--depth) * 20%), #0000 ), 0 4px 3px -2px oklch(0% 0 0 / calc(var(--depth) * 0.08)); 2067 + } 2068 + &:has(:nth-child(2)) { 2069 + grid-template-columns: auto minmax(auto, 1fr); 2070 + } 2071 + } 2072 + } 2073 + .chat { 2074 + @layer daisyui.l1.l2.l3 { 2075 + display: grid; 2076 + grid-auto-rows: min-content; 2077 + column-gap: calc(0.25rem * 3); 2078 + padding-block: calc(0.25rem * 1); 2079 + --mask-chat: url("data:image/svg+xml,%3csvg width='13' height='13' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='M0 11.5004C0 13.0004 2 13.0004 2 13.0004H12H13V0.00036329L12.5 0C12.5 0 11.977 2.09572 11.8581 2.50033C11.6075 3.35237 10.9149 4.22374 9 5.50036C6 7.50036 0 10.0004 0 11.5004Z'/%3e%3c/svg%3e"); 2080 + } 2081 + } 2082 + .avatar-placeholder { 2083 + @layer daisyui.l1.l2 { 2084 + & > div { 2085 + display: flex; 2086 + align-items: center; 2087 + justify-content: center; 2088 + } 2089 + } 2090 + } 2091 + .block { 2092 + display: block; 2093 + } 2094 + .flex { 2095 + display: flex; 2096 + } 2097 + .hidden { 2098 + display: none; 2099 + } 2100 + .inline-block { 2101 + display: inline-block; 2102 + } 2103 + .table { 2104 + display: table; 2105 + } 2106 + .btn-square { 2107 + @layer daisyui.l1.l2 { 2108 + padding-inline: calc(0.25rem * 0); 2109 + width: var(--size); 2110 + height: var(--size); 2111 + } 2112 + } 2113 + .size-5 { 2114 + width: calc(var(--spacing) * 5); 2115 + height: calc(var(--spacing) * 5); 2116 + } 2117 + .h-4 { 2118 + height: calc(var(--spacing) * 4); 2119 + } 2120 + .h-5 { 2121 + height: calc(var(--spacing) * 5); 2122 + } 2123 + .h-6 { 2124 + height: calc(var(--spacing) * 6); 2125 + } 2126 + .h-12 { 2127 + height: calc(var(--spacing) * 12); 2128 + } 2129 + .h-15 { 2130 + height: calc(var(--spacing) * 15); 2131 + } 2132 + .h-32 { 2133 + height: calc(var(--spacing) * 32); 2134 + } 2135 + .h-full { 2136 + height: 100%; 2137 + } 2138 + .min-h-full { 2139 + min-height: 100%; 2140 + } 2141 + .min-h-screen { 2142 + min-height: 100vh; 2143 + } 2144 + .loading-md { 2145 + @layer daisyui.l1.l2 { 2146 + width: calc(var(--size-selector, 0.25rem) * 6); 2147 + } 2148 + } 2149 + .w-4 { 2150 + width: calc(var(--spacing) * 4); 2151 + } 2152 + .w-5 { 2153 + width: calc(var(--spacing) * 5); 2154 + } 2155 + .w-6 { 2156 + width: calc(var(--spacing) * 6); 2157 + } 2158 + .w-10 { 2159 + width: calc(var(--spacing) * 10); 2160 + } 2161 + .w-12 { 2162 + width: calc(var(--spacing) * 12); 2163 + } 2164 + .w-48 { 2165 + width: calc(var(--spacing) * 48); 2166 + } 2167 + .w-72 { 2168 + width: calc(var(--spacing) * 72); 2169 + } 2170 + .w-full { 2171 + width: 100%; 2172 + } 2173 + .max-w-3xl { 2174 + max-width: var(--container-3xl); 2175 + } 2176 + .max-w-4xl { 2177 + max-width: var(--container-4xl); 2178 + } 2179 + .max-w-lg { 2180 + max-width: var(--container-lg); 2181 + } 2182 + .max-w-xl { 2183 + max-width: var(--container-xl); 2184 + } 2185 + .max-w-xs { 2186 + max-width: var(--container-xs); 2187 + } 2188 + .flex-none { 2189 + flex: none; 2190 + } 2191 + .shrink-0 { 2192 + flex-shrink: 0; 2193 + } 2194 + .flex-grow { 2195 + flex-grow: 1; 2196 + } 2197 + .grow { 2198 + flex-grow: 1; 2199 + } 2200 + .swap-rotate { 2201 + @layer daisyui.l1.l2 { 2202 + .swap-on, input:indeterminate ~ .swap-on { 2203 + rotate: 45deg; 2204 + } 2205 + input:is(:checked, :indeterminate) ~ .swap-on, &.swap-active .swap-on { 2206 + rotate: 0deg; 2207 + } 2208 + input:is(:checked, :indeterminate) ~ .swap-off, &.swap-active .swap-off { 2209 + rotate: calc(45deg * -1); 2210 + } 2211 + } 2212 + } 2213 + .link { 2214 + @layer daisyui.l1.l2.l3 { 2215 + cursor: pointer; 2216 + text-decoration-line: underline; 2217 + &:focus { 2218 + --tw-outline-style: none; 2219 + outline-style: none; 2220 + @media (forced-colors: active) { 2221 + outline: 2px solid transparent; 2222 + outline-offset: 2px; 2223 + } 2224 + } 2225 + &:focus-visible { 2226 + outline: 2px solid currentColor; 2227 + outline-offset: 2px; 2228 + } 2229 + } 2230 + } 2231 + .cursor-pointer { 2232 + cursor: pointer; 2233 + } 2234 + .flex-col { 2235 + flex-direction: column; 2236 + } 2237 + .flex-row { 2238 + flex-direction: row; 2239 + } 2240 + .flex-wrap { 2241 + flex-wrap: wrap; 2242 + } 2243 + .items-center { 2244 + align-items: center; 2245 + } 2246 + .justify-center { 2247 + justify-content: center; 2248 + } 2249 + .justify-end { 2250 + justify-content: flex-end; 2251 + } 2252 + .justify-start { 2253 + justify-content: flex-start; 2254 + } 2255 + .gap-2 { 2256 + gap: calc(var(--spacing) * 2); 2257 + } 2258 + .self-center { 2259 + align-self: center; 2260 + } 2261 + .self-end { 2262 + align-self: flex-end; 2263 + } 2264 + .rounded { 2265 + border-radius: 0.25rem; 2266 + } 2267 + .rounded-box { 2268 + border-radius: var(--radius-box); 2269 + } 2270 + .rounded-box { 2271 + border-radius: var(--radius-box); 2272 + } 2273 + .rounded-full { 2274 + border-radius: calc(infinity * 1px); 2275 + } 2276 + .border { 2277 + border-style: var(--tw-border-style); 2278 + border-width: 1px; 2279 + } 2280 + .border-l-2 { 2281 + border-left-style: var(--tw-border-style); 2282 + border-left-width: 2px; 2283 + } 2284 + .border-l-8 { 2285 + border-left-style: var(--tw-border-style); 2286 + border-left-width: 8px; 2287 + } 2288 + .border-\[\#4285F4\] { 2289 + border-color: #4285F4; 2290 + } 2291 + .border-base-300 { 2292 + border-color: var(--color-base-300); 2293 + } 2294 + .border-error { 2295 + border-color: var(--color-error); 2296 + } 2297 + .border-success { 2298 + border-color: var(--color-success); 2299 + } 2300 + .bg-\[\#4285F4\] { 2301 + background-color: #4285F4; 2302 + } 2303 + .bg-base-200 { 2304 + background-color: var(--color-base-200); 2305 + } 2306 + .bg-base-300 { 2307 + background-color: var(--color-base-300); 2308 + } 2309 + .bg-neutral { 2310 + background-color: var(--color-neutral); 2311 + } 2312 + .loading-ring { 2313 + @layer daisyui.l1.l2 { 2314 + mask-image: url("data:image/svg+xml,%3Csvg width='44' height='44' viewBox='0 0 44 44' xmlns='http://www.w3.org/2000/svg' stroke='white'%3E%3Cg fill='none' fill-rule='evenodd' stroke-width='2'%3E%3Ccircle cx='22' cy='22' r='1'%3E%3Canimate attributeName='r' begin='0s' dur='1.8s' values='1;20' calcMode='spline' keyTimes='0;1' keySplines='0.165,0.84,0.44,1' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-opacity' begin='0s' dur='1.8s' values='1;0' calcMode='spline' keyTimes='0;1' keySplines='0.3,0.61,0.355,1' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='22' cy='22' r='1'%3E%3Canimate attributeName='r' begin='-0.9s' dur='1.8s' values='1;20' calcMode='spline' keyTimes='0;1' keySplines='0.165,0.84,0.44,1' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-opacity' begin='-0.9s' dur='1.8s' values='1;0' calcMode='spline' keyTimes='0;1' keySplines='0.3,0.61,0.355,1' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E"); 2315 + } 2316 + } 2317 + .stroke-current { 2318 + stroke: currentcolor; 2319 + } 2320 + .p-1 { 2321 + padding: calc(var(--spacing) * 1); 2322 + } 2323 + .p-2 { 2324 + padding: calc(var(--spacing) * 2); 2325 + } 2326 + .p-4 { 2327 + padding: calc(var(--spacing) * 4); 2328 + } 2329 + .p-8 { 2330 + padding: calc(var(--spacing) * 8); 2331 + } 2332 + .p-10 { 2333 + padding: calc(var(--spacing) * 10); 2334 + } 2335 + .select-sm { 2336 + @layer daisyui.l1.l2 { 2337 + --size: calc(var(--size-field, 0.25rem) * 8); 2338 + font-size: 0.75rem; 2339 + option { 2340 + padding-inline: calc(0.25rem * 2.5); 2341 + padding-block: calc(0.25rem * 1); 2342 + } 2343 + } 2344 + } 2345 + .px-2 { 2346 + padding-inline: calc(var(--spacing) * 2); 2347 + } 2348 + .px-3 { 2349 + padding-inline: calc(var(--spacing) * 3); 2350 + } 2351 + .py-1 { 2352 + padding-block: calc(var(--spacing) * 1); 2353 + } 2354 + .py-2 { 2355 + padding-block: calc(var(--spacing) * 2); 2356 + } 2357 + .text-center { 2358 + text-align: center; 2359 + } 2360 + .font-mono { 2361 + font-family: var(--font-mono); 2362 + } 2363 + .text-2xl { 2364 + font-size: var(--text-2xl); 2365 + line-height: var(--tw-leading, var(--text-2xl--line-height)); 2366 + } 2367 + .text-3xl { 2368 + font-size: var(--text-3xl); 2369 + line-height: var(--tw-leading, var(--text-3xl--line-height)); 2370 + } 2371 + .text-4xl { 2372 + font-size: var(--text-4xl); 2373 + line-height: var(--tw-leading, var(--text-4xl--line-height)); 2374 + } 2375 + .text-base { 2376 + font-size: var(--text-base); 2377 + line-height: var(--tw-leading, var(--text-base--line-height)); 2378 + } 2379 + .text-lg { 2380 + font-size: var(--text-lg); 2381 + line-height: var(--tw-leading, var(--text-lg--line-height)); 2382 + } 2383 + .text-sm { 2384 + font-size: var(--text-sm); 2385 + line-height: var(--tw-leading, var(--text-sm--line-height)); 2386 + } 2387 + .text-xl { 2388 + font-size: var(--text-xl); 2389 + line-height: var(--tw-leading, var(--text-xl--line-height)); 2390 + } 2391 + .text-xs { 2392 + font-size: var(--text-xs); 2393 + line-height: var(--tw-leading, var(--text-xs--line-height)); 2394 + } 2395 + .badge-lg { 2396 + @layer daisyui.l1.l2 { 2397 + --size: calc(var(--size-selector, 0.25rem) * 7); 2398 + font-size: 1rem; 2399 + } 2400 + } 2401 + .badge-sm { 2402 + @layer daisyui.l1.l2 { 2403 + --size: calc(var(--size-selector, 0.25rem) * 5); 2404 + font-size: 0.75rem; 2405 + } 2406 + } 2407 + .font-bold { 2408 + --tw-font-weight: var(--font-weight-bold); 2409 + font-weight: var(--font-weight-bold); 2410 + } 2411 + .font-semibold { 2412 + --tw-font-weight: var(--font-weight-semibold); 2413 + font-weight: var(--font-weight-semibold); 2414 + } 2415 + .whitespace-pre-line { 2416 + white-space: pre-line; 2417 + } 2418 + .alert-error { 2419 + @layer daisyui.l1.l2 { 2420 + color: var(--color-error-content); 2421 + --alert-border-color: var(--color-error); 2422 + --alert-color: var(--color-error); 2423 + } 2424 + } 2425 + .alert-success { 2426 + @layer daisyui.l1.l2 { 2427 + color: var(--color-success-content); 2428 + --alert-border-color: var(--color-success); 2429 + --alert-color: var(--color-success); 2430 + } 2431 + } 2432 + .alert-warning { 2433 + @layer daisyui.l1.l2 { 2434 + color: var(--color-warning-content); 2435 + --alert-border-color: var(--color-warning); 2436 + --alert-color: var(--color-warning); 2437 + } 2438 + } 2439 + .checkbox-secondary { 2440 + @layer daisyui.l1.l2 { 2441 + color: var(--color-secondary-content); 2442 + --input-color: var(--color-secondary); 2443 + } 2444 + } 2445 + .link-accent { 2446 + @layer daisyui.l1.l2 { 2447 + color: var(--color-accent); 2448 + @media (hover: hover) { 2449 + &:hover { 2450 + color: var(--color-accent); 2451 + @supports (color: color-mix(in lab, red, red)) { 2452 + color: color-mix(in oklab, var(--color-accent) 80%, #000); 2453 + } 2454 + } 2455 + } 2456 + } 2457 + } 2458 + .text-accent { 2459 + color: var(--color-accent); 2460 + } 2461 + .text-base-content { 2462 + color: var(--color-base-content); 2463 + } 2464 + .text-base-content\/85 { 2465 + color: var(--color-base-content); 2466 + @supports (color: color-mix(in lab, red, red)) { 2467 + color: color-mix(in oklab, var(--color-base-content) 85%, transparent); 2468 + } 2469 + } 2470 + .text-neutral-content { 2471 + color: var(--color-neutral-content); 2472 + } 2473 + .text-white { 2474 + color: var(--color-white); 2475 + } 2476 + .italic { 2477 + font-style: italic; 2478 + } 2479 + .underline { 2480 + text-decoration-line: underline; 2481 + } 2482 + .opacity-50 { 2483 + opacity: 50%; 2484 + } 2485 + .opacity-60 { 2486 + opacity: 60%; 2487 + } 2488 + .opacity-70 { 2489 + opacity: 70%; 2490 + } 2491 + .btn-ghost { 2492 + @layer daisyui.l1 { 2493 + &:not(.btn-active, :hover, :active:focus, :focus-visible, input:checked:not(.filter .btn)) { 2494 + --btn-shadow: ""; 2495 + --btn-bg: #0000; 2496 + --btn-border: #0000; 2497 + --btn-noise: none; 2498 + &:not(:disabled, [disabled], .btn-disabled) { 2499 + outline-color: currentcolor; 2500 + --btn-fg: var(--btn-color, currentColor); 2501 + } 2502 + } 2503 + @media (hover: none) { 2504 + &:not(.btn-active, :active, :focus-visible, input:checked:not(.filter .btn)):hover { 2505 + outline-color: currentcolor; 2506 + --btn-shadow: ""; 2507 + --btn-bg: #0000; 2508 + --btn-fg: var(--btn-color, currentColor); 2509 + --btn-border: #0000; 2510 + --btn-noise: none; 2511 + } 2512 + } 2513 + } 2514 + } 2515 + .btn-lg { 2516 + @layer daisyui.l1.l2 { 2517 + --fontsize: 1.125rem; 2518 + --btn-p: 1.25rem; 2519 + --size: calc(var(--size-field, 0.25rem) * 12); 2520 + } 2521 + } 2522 + .btn-sm { 2523 + @layer daisyui.l1.l2 { 2524 + --fontsize: 0.75rem; 2525 + --btn-p: 0.75rem; 2526 + --size: calc(var(--size-field, 0.25rem) * 8); 2527 + } 2528 + } 2529 + .btn-xs { 2530 + @layer daisyui.l1.l2 { 2531 + --fontsize: 0.6875rem; 2532 + --btn-p: 0.5rem; 2533 + --size: calc(var(--size-field, 0.25rem) * 6); 2534 + } 2535 + } 2536 + .badge-accent { 2537 + @layer daisyui.l1.l2 { 2538 + --badge-color: var(--color-accent); 2539 + --badge-fg: var(--color-accent-content); 2540 + } 2541 + } 2542 + .badge-error { 2543 + @layer daisyui.l1.l2 { 2544 + --badge-color: var(--color-error); 2545 + --badge-fg: var(--color-error-content); 2546 + } 2547 + } 2548 + .badge-neutral { 2549 + @layer daisyui.l1.l2 { 2550 + --badge-color: var(--color-neutral); 2551 + --badge-fg: var(--color-neutral-content); 2552 + } 2553 + } 2554 + .badge-success { 2555 + @layer daisyui.l1.l2 { 2556 + --badge-color: var(--color-success); 2557 + --badge-fg: var(--color-success-content); 2558 + } 2559 + } 2560 + .badge-warning { 2561 + @layer daisyui.l1.l2 { 2562 + --badge-color: var(--color-warning); 2563 + --badge-fg: var(--color-warning-content); 2564 + } 2565 + } 2566 + .btn-accent { 2567 + @layer daisyui.l1.l2.l3 { 2568 + --btn-color: var(--color-accent); 2569 + --btn-fg: var(--color-accent-content); 2570 + } 2571 + } 2572 + .btn-error { 2573 + @layer daisyui.l1.l2.l3 { 2574 + --btn-color: var(--color-error); 2575 + --btn-fg: var(--color-error-content); 2576 + } 2577 + } 2578 + .btn-neutral { 2579 + @layer daisyui.l1.l2.l3 { 2580 + --btn-color: var(--color-neutral); 2581 + --btn-fg: var(--color-neutral-content); 2582 + } 2583 + } 2584 + .btn-success { 2585 + @layer daisyui.l1.l2.l3 { 2586 + --btn-color: var(--color-success); 2587 + --btn-fg: var(--color-success-content); 2588 + } 2589 + } 2590 + .btn-warning { 2591 + @layer daisyui.l1.l2.l3 { 2592 + --btn-color: var(--color-warning); 2593 + --btn-fg: var(--color-warning-content); 2594 + } 2595 + } 2596 + .toggle-secondary { 2597 + @layer daisyui.l1.l2 { 2598 + &:checked, &[aria-checked="true"] { 2599 + --input-color: var(--color-secondary); 2600 + } 2601 + } 2602 + } 2603 + .hover\:bg-\[\#4285F4\]\/90 { 2604 + &:hover { 2605 + @media (hover: hover) { 2606 + background-color: color-mix(in oklab, #4285F4 90%, transparent); 2607 + } 2608 + } 2609 + } 2610 + .sm\:block { 2611 + @media (width >= 40rem) { 2612 + display: block; 2613 + } 2614 + } 2615 + .lg\:drawer-open { 2616 + @media (width >= 64rem) { 2617 + @layer daisyui.l1.l2.l3 { 2618 + > .drawer-toggle:checked { 2619 + ~ .drawer-side { 2620 + scrollbar-color: revert-layer; 2621 + } 2622 + :root:has(&) { 2623 + --page-overflow: revert-layer; 2624 + --page-scroll-gutter: revert-layer; 2625 + --page-scroll-bg: revert-layer; 2626 + --page-scroll-transition: revert-layer; 2627 + --page-has-backdrop: revert-layer; 2628 + animation: revert-layer; 2629 + animation-timeline: revert-layer; 2630 + } 2631 + } 2632 + } 2633 + @layer daisyui.l1.l2 { 2634 + > .drawer-side { 2635 + overflow-y: auto; 2636 + } 2637 + > .drawer-toggle { 2638 + display: none; 2639 + ~ .drawer-side { 2640 + pointer-events: auto; 2641 + visibility: visible; 2642 + position: sticky; 2643 + display: block; 2644 + width: auto; 2645 + overscroll-behavior: auto; 2646 + opacity: 100%; 2647 + > .drawer-overlay { 2648 + cursor: default; 2649 + background-color: transparent; 2650 + } 2651 + } 2652 + &:checked ~ .drawer-side { 2653 + pointer-events: auto; 2654 + visibility: visible; 2655 + } 2656 + } 2657 + } 2658 + @layer daisyui.l1 { 2659 + > .drawer-toggle ~ .drawer-side > :not(.drawer-overlay) { 2660 + translate: 0%; 2661 + [dir="rtl"] & { 2662 + translate: 0%; 2663 + } 2664 + } 2665 + } 2666 + } 2667 + } 2668 + .lg\:order-none { 2669 + @media (width >= 64rem) { 2670 + order: 0; 2671 + } 2672 + } 2673 + .lg\:block { 2674 + @media (width >= 64rem) { 2675 + display: block; 2676 + } 2677 + } 2678 + .lg\:hidden { 2679 + @media (width >= 64rem) { 2680 + display: none; 2681 + } 2682 + } 2683 + .lg\:max-w-sm { 2684 + @media (width >= 64rem) { 2685 + max-width: var(--container-sm); 2686 + } 2687 + } 2688 + .lg\:flex-row { 2689 + @media (width >= 64rem) { 2690 + flex-direction: row; 2691 + } 2692 + } 2693 + } 2694 + @layer base { 2695 + *, ::after, ::before, ::backdrop, ::file-selector-button { 2696 + border-color: var(--color-gray-200, currentcolor); 2697 + } 2698 + } 2699 + @layer base { 2700 + :where(:root),:root:has(input.theme-controller[value=nord]:checked),[data-theme=nord] { 2701 + color-scheme: light; 2702 + --color-base-100: oklch(95.127% 0.007 260.731); 2703 + --color-base-200: oklch(93.299% 0.01 261.788); 2704 + --color-base-300: oklch(89.925% 0.016 262.749); 2705 + --color-base-content: oklch(32.437% 0.022 264.182); 2706 + --color-primary: oklch(59.435% 0.077 254.027); 2707 + --color-primary-content: oklch(11.887% 0.015 254.027); 2708 + --color-secondary: oklch(69.651% 0.059 248.687); 2709 + --color-secondary-content: oklch(13.93% 0.011 248.687); 2710 + --color-accent: oklch(77.464% 0.062 217.469); 2711 + --color-accent-content: oklch(15.492% 0.012 217.469); 2712 + --color-neutral: oklch(45.229% 0.035 264.131); 2713 + --color-neutral-content: oklch(89.925% 0.016 262.749); 2714 + --color-info: oklch(69.207% 0.062 332.664); 2715 + --color-info-content: oklch(13.841% 0.012 332.664); 2716 + --color-success: oklch(76.827% 0.074 131.063); 2717 + --color-success-content: oklch(15.365% 0.014 131.063); 2718 + --color-warning: oklch(85.486% 0.089 84.093); 2719 + --color-warning-content: oklch(17.097% 0.017 84.093); 2720 + --color-error: oklch(60.61% 0.12 15.341); 2721 + --color-error-content: oklch(12.122% 0.024 15.341); 2722 + --radius-selector: 1rem; 2723 + --radius-field: 0.25rem; 2724 + --radius-box: 0.5rem; 2725 + --size-selector: 0.25rem; 2726 + --size-field: 0.25rem; 2727 + --border: 1px; 2728 + --depth: 0; 2729 + --noise: 0; 2730 + } 2731 + } 2732 + @layer base { 2733 + @media (prefers-color-scheme: dark) { 2734 + :root:not([data-theme]) { 2735 + color-scheme: dark; 2736 + --color-base-100: oklch(25.33% 0.016 252.42); 2737 + --color-base-200: oklch(23.26% 0.014 253.1); 2738 + --color-base-300: oklch(21.15% 0.012 254.09); 2739 + --color-base-content: oklch(97.807% 0.029 256.847); 2740 + --color-primary: oklch(58% 0.233 277.117); 2741 + --color-primary-content: oklch(96% 0.018 272.314); 2742 + --color-secondary: oklch(65% 0.241 354.308); 2743 + --color-secondary-content: oklch(94% 0.028 342.258); 2744 + --color-accent: oklch(77% 0.152 181.912); 2745 + --color-accent-content: oklch(38% 0.063 188.416); 2746 + --color-neutral: oklch(14% 0.005 285.823); 2747 + --color-neutral-content: oklch(92% 0.004 286.32); 2748 + --color-info: oklch(74% 0.16 232.661); 2749 + --color-info-content: oklch(29% 0.066 243.157); 2750 + --color-success: oklch(76% 0.177 163.223); 2751 + --color-success-content: oklch(37% 0.077 168.94); 2752 + --color-warning: oklch(82% 0.189 84.429); 2753 + --color-warning-content: oklch(41% 0.112 45.904); 2754 + --color-error: oklch(71% 0.194 13.428); 2755 + --color-error-content: oklch(27% 0.105 12.094); 2756 + --radius-selector: 0.5rem; 2757 + --radius-field: 0.25rem; 2758 + --radius-box: 0.5rem; 2759 + --size-selector: 0.25rem; 2760 + --size-field: 0.25rem; 2761 + --border: 1px; 2762 + --depth: 1; 2763 + --noise: 0; 2764 + } 2765 + } 2766 + } 2767 + @layer base { 2768 + :root:has(input.theme-controller[value=nord]:checked),[data-theme=nord] { 2769 + color-scheme: light; 2770 + --color-base-100: oklch(95.127% 0.007 260.731); 2771 + --color-base-200: oklch(93.299% 0.01 261.788); 2772 + --color-base-300: oklch(89.925% 0.016 262.749); 2773 + --color-base-content: oklch(32.437% 0.022 264.182); 2774 + --color-primary: oklch(59.435% 0.077 254.027); 2775 + --color-primary-content: oklch(11.887% 0.015 254.027); 2776 + --color-secondary: oklch(69.651% 0.059 248.687); 2777 + --color-secondary-content: oklch(13.93% 0.011 248.687); 2778 + --color-accent: oklch(77.464% 0.062 217.469); 2779 + --color-accent-content: oklch(15.492% 0.012 217.469); 2780 + --color-neutral: oklch(45.229% 0.035 264.131); 2781 + --color-neutral-content: oklch(89.925% 0.016 262.749); 2782 + --color-info: oklch(69.207% 0.062 332.664); 2783 + --color-info-content: oklch(13.841% 0.012 332.664); 2784 + --color-success: oklch(76.827% 0.074 131.063); 2785 + --color-success-content: oklch(15.365% 0.014 131.063); 2786 + --color-warning: oklch(85.486% 0.089 84.093); 2787 + --color-warning-content: oklch(17.097% 0.017 84.093); 2788 + --color-error: oklch(60.61% 0.12 15.341); 2789 + --color-error-content: oklch(12.122% 0.024 15.341); 2790 + --radius-selector: 1rem; 2791 + --radius-field: 0.25rem; 2792 + --radius-box: 0.5rem; 2793 + --size-selector: 0.25rem; 2794 + --size-field: 0.25rem; 2795 + --border: 1px; 2796 + --depth: 0; 2797 + --noise: 0; 2798 + } 2799 + } 2800 + @layer base { 2801 + :root:has(input.theme-controller[value=dark]:checked),[data-theme=dark] { 2802 + color-scheme: dark; 2803 + --color-base-100: oklch(25.33% 0.016 252.42); 2804 + --color-base-200: oklch(23.26% 0.014 253.1); 2805 + --color-base-300: oklch(21.15% 0.012 254.09); 2806 + --color-base-content: oklch(97.807% 0.029 256.847); 2807 + --color-primary: oklch(58% 0.233 277.117); 2808 + --color-primary-content: oklch(96% 0.018 272.314); 2809 + --color-secondary: oklch(65% 0.241 354.308); 2810 + --color-secondary-content: oklch(94% 0.028 342.258); 2811 + --color-accent: oklch(77% 0.152 181.912); 2812 + --color-accent-content: oklch(38% 0.063 188.416); 2813 + --color-neutral: oklch(14% 0.005 285.823); 2814 + --color-neutral-content: oklch(92% 0.004 286.32); 2815 + --color-info: oklch(74% 0.16 232.661); 2816 + --color-info-content: oklch(29% 0.066 243.157); 2817 + --color-success: oklch(76% 0.177 163.223); 2818 + --color-success-content: oklch(37% 0.077 168.94); 2819 + --color-warning: oklch(82% 0.189 84.429); 2820 + --color-warning-content: oklch(41% 0.112 45.904); 2821 + --color-error: oklch(71% 0.194 13.428); 2822 + --color-error-content: oklch(27% 0.105 12.094); 2823 + --radius-selector: 0.5rem; 2824 + --radius-field: 0.25rem; 2825 + --radius-box: 0.5rem; 2826 + --size-selector: 0.25rem; 2827 + --size-field: 0.25rem; 2828 + --border: 1px; 2829 + --depth: 1; 2830 + --noise: 0; 2831 + } 2832 + } 2833 + @layer base { 2834 + :root { 2835 + --fx-noise: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.34' numOctaves='4' stitchTiles='stitch'%3E%3C/feTurbulence%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23a)' opacity='0.2'%3E%3C/rect%3E%3C/svg%3E"); 2836 + } 2837 + } 2838 + @layer base { 2839 + :root { 2840 + scrollbar-color: currentColor #0000; 2841 + @supports (color: color-mix(in lab, red, red)) { 2842 + scrollbar-color: color-mix(in oklch, currentColor 35%, #0000) #0000; 2843 + } 2844 + } 2845 + } 2846 + @layer base { 2847 + @property --radialprogress { 2848 + syntax: "<percentage>"; 2849 + inherits: true; 2850 + initial-value: 0%; 2851 + } 2852 + } 2853 + @layer base { 2854 + :root:not(span) { 2855 + overflow: var(--page-overflow); 2856 + } 2857 + } 2858 + @layer base { 2859 + :root { 2860 + background: var(--page-scroll-bg, var(--root-bg)); 2861 + --page-scroll-bg-on: linear-gradient(var(--root-bg, #0000), var(--root-bg, #0000)) 2862 + var(--root-bg, #0000); 2863 + @supports (color: color-mix(in lab, red, red)) { 2864 + --page-scroll-bg-on: linear-gradient(var(--root-bg, #0000), var(--root-bg, #0000)) 2865 + color-mix(in srgb, var(--root-bg, #0000), oklch(0% 0 0) calc(var(--page-has-backdrop, 0) * 40%)); 2866 + } 2867 + --page-scroll-transition-on: background-color 0.3s ease-out; 2868 + transition: var(--page-scroll-transition); 2869 + scrollbar-gutter: var(--page-scroll-gutter, unset); 2870 + scrollbar-gutter: if(style(--page-has-scroll: 1): var(--page-scroll-gutter, unset) ; else: unset); 2871 + } 2872 + @keyframes set-page-has-scroll { 2873 + 0%, to { 2874 + --page-has-scroll: 1; 2875 + } 2876 + } 2877 + } 2878 + @layer base { 2879 + :root, [data-theme] { 2880 + background: var(--page-scroll-bg, var(--root-bg)); 2881 + color: var(--color-base-content); 2882 + } 2883 + :where(:root, [data-theme]) { 2884 + --root-bg: var(--color-base-100); 2885 + } 2886 + } 2887 + @keyframes rating { 2888 + 0%, 40% { 2889 + scale: 1.1; 2890 + filter: brightness(1.05) contrast(1.05); 2891 + } 2892 + } 2893 + @keyframes dropdown { 2894 + 0% { 2895 + opacity: 0; 2896 + } 2897 + } 2898 + @keyframes radio { 2899 + 0% { 2900 + padding: 5px; 2901 + } 2902 + 50% { 2903 + padding: 3px; 2904 + } 2905 + } 2906 + @keyframes toast { 2907 + 0% { 2908 + scale: 0.9; 2909 + opacity: 0; 2910 + } 2911 + 100% { 2912 + scale: 1; 2913 + opacity: 1; 2914 + } 2915 + } 2916 + @keyframes rotator { 2917 + 89.9999%, 100% { 2918 + --first-item-position: 0 0%; 2919 + } 2920 + 90%, 99.9999% { 2921 + --first-item-position: 0 calc(var(--items) * 100%); 2922 + } 2923 + 100% { 2924 + translate: 0 -100%; 2925 + } 2926 + } 2927 + @keyframes skeleton { 2928 + 0% { 2929 + background-position: 150%; 2930 + } 2931 + 100% { 2932 + background-position: -50%; 2933 + } 2934 + } 2935 + @keyframes menu { 2936 + 0% { 2937 + opacity: 0; 2938 + } 2939 + } 2940 + @keyframes progress { 2941 + 50% { 2942 + background-position-x: -115%; 2943 + } 2944 + } 2945 + @layer base { 2946 + :where(:root),:root:has(input.theme-controller[value=nord]:checked),[data-theme="nord"] { 2947 + color-scheme: light; 2948 + --color-base-100: oklch(95.127% 0.007 260.731); 2949 + --color-base-200: oklch(93.299% 0.01 261.788); 2950 + --color-base-300: oklch(89.925% 0.016 262.749); 2951 + --color-base-content: oklch(32.437% 0.022 264.182); 2952 + --color-primary: oklch(59.435% 0.077 254.027); 2953 + --color-primary-content: oklch(11.887% 0.015 254.027); 2954 + --color-secondary: oklch(69.651% 0.059 248.687); 2955 + --color-secondary-content: oklch(13.93% 0.011 248.687); 2956 + --color-accent: oklch(77.464% 0.062 217.469); 2957 + --color-accent-content: oklch(15.492% 0.012 217.469); 2958 + --color-neutral: oklch(45.229% 0.035 264.131); 2959 + --color-neutral-content: oklch(89.925% 0.016 262.749); 2960 + --color-info: oklch(69.207% 0.062 332.664); 2961 + --color-info-content: oklch(13.841% 0.012 332.664); 2962 + --color-success: oklch(76.827% 0.074 131.063); 2963 + --color-success-content: oklch(15.365% 0.014 131.063); 2964 + --color-warning: oklch(85.486% 0.089 84.093); 2965 + --color-warning-content: oklch(17.097% 0.017 84.093); 2966 + --color-error: oklch(60.61% 0.12 15.341); 2967 + --color-error-content: oklch(12.122% 0.024 15.341); 2968 + --radius-selector: 1rem; 2969 + --radius-field: 0.25rem; 2970 + --radius-box: 0.5rem; 2971 + --size-selector: 0.25rem; 2972 + --size-field: 0.25rem; 2973 + --border: 1px; 2974 + --depth: 0; 2975 + --noise: 0; 2976 + } 2977 + } 2978 + @layer base { 2979 + @media (prefers-color-scheme: dark) { 2980 + :root:not([data-theme]) { 2981 + color-scheme: dark; 2982 + --color-base-100: oklch(25.33% 0.016 252.42); 2983 + --color-base-200: oklch(23.26% 0.014 253.1); 2984 + --color-base-300: oklch(21.15% 0.012 254.09); 2985 + --color-base-content: oklch(97.807% 0.029 256.847); 2986 + --color-primary: oklch(58% 0.233 277.117); 2987 + --color-primary-content: oklch(96% 0.018 272.314); 2988 + --color-secondary: #81A1C1; 2989 + --color-secondary-content: oklch(94% 0.028 342.258); 2990 + --color-accent: #88C0D0; 2991 + --color-accent-content: oklch(38% 0.063 188.416); 2992 + --color-neutral: oklch(14% 0.005 285.823); 2993 + --color-neutral-content: oklch(92% 0.004 286.32); 2994 + --color-info: oklch(74% 0.16 232.661); 2995 + --color-info-content: oklch(29% 0.066 243.157); 2996 + --color-success: #A3BE8C; 2997 + --color-success-content: oklch(37% 0.077 168.94); 2998 + --color-warning: #EBCB8B; 2999 + --color-warning-content: oklch(41% 0.112 45.904); 3000 + --color-error: #BF616A; 3001 + --color-error-content: oklch(27% 0.105 12.094); 3002 + --radius-selector: 0.5rem; 3003 + --radius-field: 0.25rem; 3004 + --radius-box: 0.5rem; 3005 + --size-selector: 0.25rem; 3006 + --size-field: 0.25rem; 3007 + --border: 1px; 3008 + --depth: 1; 3009 + --noise: 0; 3010 + --rounded-box: 0.4rem; 3011 + --rounded-btn: 0.2rem; 3012 + --rounded-badge: 0.4rem; 3013 + --tab-radius: 0.2rem; 3014 + } 3015 + } 3016 + } 3017 + @layer base { 3018 + :root:has(input.theme-controller[value=dark]:checked),[data-theme="dark"] { 3019 + color-scheme: dark; 3020 + --color-base-100: oklch(25.33% 0.016 252.42); 3021 + --color-base-200: oklch(23.26% 0.014 253.1); 3022 + --color-base-300: oklch(21.15% 0.012 254.09); 3023 + --color-base-content: oklch(97.807% 0.029 256.847); 3024 + --color-primary: oklch(58% 0.233 277.117); 3025 + --color-primary-content: oklch(96% 0.018 272.314); 3026 + --color-secondary: #81A1C1; 3027 + --color-secondary-content: oklch(94% 0.028 342.258); 3028 + --color-accent: #88C0D0; 3029 + --color-accent-content: oklch(38% 0.063 188.416); 3030 + --color-neutral: oklch(14% 0.005 285.823); 3031 + --color-neutral-content: oklch(92% 0.004 286.32); 3032 + --color-info: oklch(74% 0.16 232.661); 3033 + --color-info-content: oklch(29% 0.066 243.157); 3034 + --color-success: #A3BE8C; 3035 + --color-success-content: oklch(37% 0.077 168.94); 3036 + --color-warning: #EBCB8B; 3037 + --color-warning-content: oklch(41% 0.112 45.904); 3038 + --color-error: #BF616A; 3039 + --color-error-content: oklch(27% 0.105 12.094); 3040 + --radius-selector: 0.5rem; 3041 + --radius-field: 0.25rem; 3042 + --radius-box: 0.5rem; 3043 + --size-selector: 0.25rem; 3044 + --size-field: 0.25rem; 3045 + --border: 1px; 3046 + --depth: 1; 3047 + --noise: 0; 3048 + --rounded-box: 0.4rem; 3049 + --rounded-btn: 0.2rem; 3050 + --rounded-badge: 0.4rem; 3051 + --tab-radius: 0.2rem; 3052 + } 3053 + } 3054 + @property --tw-border-style { 3055 + syntax: "*"; 3056 + inherits: false; 3057 + initial-value: solid; 3058 + } 3059 + @property --tw-font-weight { 3060 + syntax: "*"; 3061 + inherits: false; 3062 + } 3063 + @layer properties { 3064 + @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) { 3065 + *, ::before, ::after, ::backdrop { 3066 + --tw-border-style: solid; 3067 + --tw-font-weight: initial; 3068 + } 3069 + } 3070 + }
+2 -2
paw/templates/core/login.html
··· 24 24 <label class="label"> 25 25 <span class="text-base label-text" for="{{ form.username.id_for_label }}">{% trans 'Username' %}</span> 26 26 </label> 27 - <input type="text" name="username" placeholder="Username" class="w-full input input-bordered" /> 27 + <input type="text" name="username" placeholder="Username" class="w-full input " /> 28 28 </div> 29 29 <label class="form-control w-full"> 30 30 <div class="label"> 31 31 <span class="text-base label-text" for="{{ form.password.id_for_label }}">{% trans 'Password' %}</span> 32 32 </div> 33 33 <input type="password" name="password" placeholder="Enter Password" 34 - class="w-full input input-bordered" /> 34 + class="w-full input " /> 35 35 <div class="label"> 36 36 <span class="label-text-alt"><a href="" class="link">{% trans 'Password Reset' %}</a></span> 37 37 </div>
+2 -2
paw/templates/core/settings.html
··· 12 12 <span for="{{ form.email.id_for_label }}" class="label-text font-semibold text-base-content">{% trans 'Mail Address' %}</span> 13 13 </div> 14 14 {% if request.user.googlessouser %} 15 - {{ form.email|add_attr:'class:input input-bordered w-full input-disabled,readonly:' }} 15 + {{ form.email|add_attr:'class:input w-full input-disabled,readonly:' }} 16 16 {% else %} 17 17 {{ form.email }} 18 18 {% endif %} ··· 47 47 </label> 48 48 49 49 <h2 class="text-xl font-semibold mt-8 mb-2">{% trans 'Contact' %}</h2> 50 - <label class="input input-bordered flex items-center gap-2"> 50 + <label class="input flex items-center gap-2"> 51 51 <svg xmlns="http://www.w3.org/2000/svg" class="w-4 h-4 opacity-70" viewBox="0 0 24 24" stroke-width="3" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M15 10l-4 4l6 6l4 -16l-18 7l4 2l2 6l3 -4" /></svg> 52 52 {{ form.telegram_username }} 53 53 </label>
+1 -1
paw/templates/dashboard_base.html
··· 55 55 </a> 56 56 </li> 57 57 <div class="flex items-center py-2 p-2 justify-start mt-6"> 58 - <div class="avatar placeholder"> 58 + <div class="avatar avatar-placeholder"> 59 59 <div class="bg-base-300 text-base-content rounded-full w-10"> 60 60 {% if request.user.profile_picture %} 61 61 <img src="{{ request.user.profile_picture.url }}" />
+1 -1
paw/templates/partials/assigned_to.html
··· 2 2 {% load i18n %} 3 3 {% if assigned_to %} 4 4 <div class="flex items-center justify-start"> 5 - <div class="avatar placeholder"> 5 + <div class="avatar avatar-placeholder"> 6 6 <div class="bg-base-300 text-base-content rounded-full w-6 mr-1"> 7 7 {% if assigned_to.profile_picture %} 8 8 <img src="{{ assigned_to.profile_picture.url }}" />
+2 -2
paw/templates/placeholder.html
··· 1 1 <textarea class="textarea textarea-bordered h-32 h-15 w-full"></textarea> 2 - <input type="text" class="input input-bordered w-full" /> 2 + <input type="text" class="input w-full" /> 3 3 <select class="select select-bordered w-full"> 4 4 <option>---</option> 5 5 </select> 6 6 <select class="select select-sm select-bordered"> 7 7 <option>None</option> 8 8 </select> 9 - <input type="file" class="file-input file-input-bordered w-full max-w-xs" /> 9 + <input type="file" class="file-input w-full max-w-xs" /> 10 10 <input type="text" class="grow" placeholder="Username" /> 11 11 <div class="form-control"> 12 12 <label class="label cursor-pointer">
+1 -1
paw/templates/ticketing/ticket_detail.html
··· 42 42 {% else %} 43 43 <div class="chat chat-end"> 44 44 {% endif %} 45 - <div class="chat-image avatar placeholder"> 45 + <div class="chat-image avatar avatar-placeholder"> 46 46 <div class="bg-base-300 text-base-content rounded-full w-10"> 47 47 {% if comment.user.profile_picture %} 48 48 <img src="{{ comment.user.profile_picture.url }}" />
+220 -2
poetry.lock
··· 1 1 # This file is automatically @generated by Poetry 2.1.4 and should not be changed by hand. 2 2 3 3 [[package]] 4 + name = "annotated-types" 5 + version = "0.7.0" 6 + description = "Reusable constraint types to use with typing.Annotated" 7 + optional = false 8 + python-versions = ">=3.8" 9 + groups = ["main"] 10 + files = [ 11 + {file = "annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53"}, 12 + {file = "annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89"}, 13 + ] 14 + 15 + [[package]] 4 16 name = "asgiref" 5 17 version = "3.9.1" 6 18 description = "ASGI specs, helper code, and adapters" ··· 176 188 177 189 [package.dependencies] 178 190 Pillow = ">=9.0.0" 191 + 192 + [[package]] 193 + name = "django-cotton" 194 + version = "2.6.1" 195 + description = "Enabling Modern UI Composition in Django." 196 + optional = false 197 + python-versions = "<4,>=3.8" 198 + groups = ["main"] 199 + files = [ 200 + {file = "django_cotton-2.6.1-py3-none-any.whl", hash = "sha256:775dda0336c08d33a6daf10557eb261746b1b8e5f260b669cc6b37115571cb08"}, 201 + {file = "django_cotton-2.6.1.tar.gz", hash = "sha256:bedfa4561e2505fca5b88396acb9bdfaea85167eeef11813676fedab45906088"}, 202 + ] 203 + 204 + [package.dependencies] 205 + django = ">=4.2,<7.0" 206 + 207 + [[package]] 208 + name = "django-ninja" 209 + version = "1.5.3" 210 + description = "Django Ninja - Fast Django REST framework" 211 + optional = false 212 + python-versions = ">=3.7" 213 + groups = ["main"] 214 + files = [ 215 + {file = "django_ninja-1.5.3-py3-none-any.whl", hash = "sha256:0a6ead5b4e57ec1050b584eb6f36f105f256b8f4ac70d12e774d8b6dd91e2198"}, 216 + {file = "django_ninja-1.5.3.tar.gz", hash = "sha256:974803944965ad0566071633ffd4999a956f2ad1ecbed815c0de37c1c969592b"}, 217 + ] 218 + 219 + [package.dependencies] 220 + Django = ">=3.1,<6.1" 221 + pydantic = ">=2.0,<3.0.0" 222 + 223 + [package.extras] 224 + dev = ["pre-commit"] 225 + doc = ["markdown-include", "mkdocs", "mkdocs-material", "mkdocstrings"] 226 + test = ["django-stubs", "mypy (==1.7.1)", "psycopg2-binary", "pytest", "pytest-asyncio", "pytest-cov", "pytest-django", "ruff (==0.5.7)"] 179 227 180 228 [[package]] 181 229 name = "google-auth" ··· 516 564 pyasn1 = ">=0.6.1,<0.7.0" 517 565 518 566 [[package]] 567 + name = "pydantic" 568 + version = "2.12.5" 569 + description = "Data validation using Python type hints" 570 + optional = false 571 + python-versions = ">=3.9" 572 + groups = ["main"] 573 + files = [ 574 + {file = "pydantic-2.12.5-py3-none-any.whl", hash = "sha256:e561593fccf61e8a20fc46dfc2dfe075b8be7d0188df33f221ad1f0139180f9d"}, 575 + {file = "pydantic-2.12.5.tar.gz", hash = "sha256:4d351024c75c0f085a9febbb665ce8c0c6ec5d30e903bdb6394b7ede26aebb49"}, 576 + ] 577 + 578 + [package.dependencies] 579 + annotated-types = ">=0.6.0" 580 + pydantic-core = "2.41.5" 581 + typing-extensions = ">=4.14.1" 582 + typing-inspection = ">=0.4.2" 583 + 584 + [package.extras] 585 + email = ["email-validator (>=2.0.0)"] 586 + timezone = ["tzdata ; python_version >= \"3.9\" and platform_system == \"Windows\""] 587 + 588 + [[package]] 589 + name = "pydantic-core" 590 + version = "2.41.5" 591 + description = "Core functionality for Pydantic validation and serialization" 592 + optional = false 593 + python-versions = ">=3.9" 594 + groups = ["main"] 595 + files = [ 596 + {file = "pydantic_core-2.41.5-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:77b63866ca88d804225eaa4af3e664c5faf3568cea95360d21f4725ab6e07146"}, 597 + {file = "pydantic_core-2.41.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:dfa8a0c812ac681395907e71e1274819dec685fec28273a28905df579ef137e2"}, 598 + {file = "pydantic_core-2.41.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5921a4d3ca3aee735d9fd163808f5e8dd6c6972101e4adbda9a4667908849b97"}, 599 + {file = "pydantic_core-2.41.5-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e25c479382d26a2a41b7ebea1043564a937db462816ea07afa8a44c0866d52f9"}, 600 + {file = "pydantic_core-2.41.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f547144f2966e1e16ae626d8ce72b4cfa0caedc7fa28052001c94fb2fcaa1c52"}, 601 + {file = "pydantic_core-2.41.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6f52298fbd394f9ed112d56f3d11aabd0d5bd27beb3084cc3d8ad069483b8941"}, 602 + {file = "pydantic_core-2.41.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:100baa204bb412b74fe285fb0f3a385256dad1d1879f0a5cb1499ed2e83d132a"}, 603 + {file = "pydantic_core-2.41.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:05a2c8852530ad2812cb7914dc61a1125dc4e06252ee98e5638a12da6cc6fb6c"}, 604 + {file = "pydantic_core-2.41.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:29452c56df2ed968d18d7e21f4ab0ac55e71dc59524872f6fc57dcf4a3249ed2"}, 605 + {file = "pydantic_core-2.41.5-cp310-cp310-musllinux_1_1_armv7l.whl", hash = "sha256:d5160812ea7a8a2ffbe233d8da666880cad0cbaf5d4de74ae15c313213d62556"}, 606 + {file = "pydantic_core-2.41.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:df3959765b553b9440adfd3c795617c352154e497a4eaf3752555cfb5da8fc49"}, 607 + {file = "pydantic_core-2.41.5-cp310-cp310-win32.whl", hash = "sha256:1f8d33a7f4d5a7889e60dc39856d76d09333d8a6ed0f5f1190635cbec70ec4ba"}, 608 + {file = "pydantic_core-2.41.5-cp310-cp310-win_amd64.whl", hash = "sha256:62de39db01b8d593e45871af2af9e497295db8d73b085f6bfd0b18c83c70a8f9"}, 609 + {file = "pydantic_core-2.41.5-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:a3a52f6156e73e7ccb0f8cced536adccb7042be67cb45f9562e12b319c119da6"}, 610 + {file = "pydantic_core-2.41.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7f3bf998340c6d4b0c9a2f02d6a400e51f123b59565d74dc60d252ce888c260b"}, 611 + {file = "pydantic_core-2.41.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:378bec5c66998815d224c9ca994f1e14c0c21cb95d2f52b6021cc0b2a58f2a5a"}, 612 + {file = "pydantic_core-2.41.5-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e7b576130c69225432866fe2f4a469a85a54ade141d96fd396dffcf607b558f8"}, 613 + {file = "pydantic_core-2.41.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6cb58b9c66f7e4179a2d5e0f849c48eff5c1fca560994d6eb6543abf955a149e"}, 614 + {file = "pydantic_core-2.41.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:88942d3a3dff3afc8288c21e565e476fc278902ae4d6d134f1eeda118cc830b1"}, 615 + {file = "pydantic_core-2.41.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f31d95a179f8d64d90f6831d71fa93290893a33148d890ba15de25642c5d075b"}, 616 + {file = "pydantic_core-2.41.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c1df3d34aced70add6f867a8cf413e299177e0c22660cc767218373d0779487b"}, 617 + {file = "pydantic_core-2.41.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:4009935984bd36bd2c774e13f9a09563ce8de4abaa7226f5108262fa3e637284"}, 618 + {file = "pydantic_core-2.41.5-cp311-cp311-musllinux_1_1_armv7l.whl", hash = "sha256:34a64bc3441dc1213096a20fe27e8e128bd3ff89921706e83c0b1ac971276594"}, 619 + {file = "pydantic_core-2.41.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:c9e19dd6e28fdcaa5a1de679aec4141f691023916427ef9bae8584f9c2fb3b0e"}, 620 + {file = "pydantic_core-2.41.5-cp311-cp311-win32.whl", hash = "sha256:2c010c6ded393148374c0f6f0bf89d206bf3217f201faa0635dcd56bd1520f6b"}, 621 + {file = "pydantic_core-2.41.5-cp311-cp311-win_amd64.whl", hash = "sha256:76ee27c6e9c7f16f47db7a94157112a2f3a00e958bc626e2f4ee8bec5c328fbe"}, 622 + {file = "pydantic_core-2.41.5-cp311-cp311-win_arm64.whl", hash = "sha256:4bc36bbc0b7584de96561184ad7f012478987882ebf9f9c389b23f432ea3d90f"}, 623 + {file = "pydantic_core-2.41.5-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:f41a7489d32336dbf2199c8c0a215390a751c5b014c2c1c5366e817202e9cdf7"}, 624 + {file = "pydantic_core-2.41.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:070259a8818988b9a84a449a2a7337c7f430a22acc0859c6b110aa7212a6d9c0"}, 625 + {file = "pydantic_core-2.41.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e96cea19e34778f8d59fe40775a7a574d95816eb150850a85a7a4c8f4b94ac69"}, 626 + {file = "pydantic_core-2.41.5-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ed2e99c456e3fadd05c991f8f437ef902e00eedf34320ba2b0842bd1c3ca3a75"}, 627 + {file = "pydantic_core-2.41.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:65840751b72fbfd82c3c640cff9284545342a4f1eb1586ad0636955b261b0b05"}, 628 + {file = "pydantic_core-2.41.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e536c98a7626a98feb2d3eaf75944ef6f3dbee447e1f841eae16f2f0a72d8ddc"}, 629 + {file = "pydantic_core-2.41.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eceb81a8d74f9267ef4081e246ffd6d129da5d87e37a77c9bde550cb04870c1c"}, 630 + {file = "pydantic_core-2.41.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d38548150c39b74aeeb0ce8ee1d8e82696f4a4e16ddc6de7b1d8823f7de4b9b5"}, 631 + {file = "pydantic_core-2.41.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:c23e27686783f60290e36827f9c626e63154b82b116d7fe9adba1fda36da706c"}, 632 + {file = "pydantic_core-2.41.5-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:482c982f814460eabe1d3bb0adfdc583387bd4691ef00b90575ca0d2b6fe2294"}, 633 + {file = "pydantic_core-2.41.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:bfea2a5f0b4d8d43adf9d7b8bf019fb46fdd10a2e5cde477fbcb9d1fa08c68e1"}, 634 + {file = "pydantic_core-2.41.5-cp312-cp312-win32.whl", hash = "sha256:b74557b16e390ec12dca509bce9264c3bbd128f8a2c376eaa68003d7f327276d"}, 635 + {file = "pydantic_core-2.41.5-cp312-cp312-win_amd64.whl", hash = "sha256:1962293292865bca8e54702b08a4f26da73adc83dd1fcf26fbc875b35d81c815"}, 636 + {file = "pydantic_core-2.41.5-cp312-cp312-win_arm64.whl", hash = "sha256:1746d4a3d9a794cacae06a5eaaccb4b8643a131d45fbc9af23e353dc0a5ba5c3"}, 637 + {file = "pydantic_core-2.41.5-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:941103c9be18ac8daf7b7adca8228f8ed6bb7a1849020f643b3a14d15b1924d9"}, 638 + {file = "pydantic_core-2.41.5-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:112e305c3314f40c93998e567879e887a3160bb8689ef3d2c04b6cc62c33ac34"}, 639 + {file = "pydantic_core-2.41.5-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0cbaad15cb0c90aa221d43c00e77bb33c93e8d36e0bf74760cd00e732d10a6a0"}, 640 + {file = "pydantic_core-2.41.5-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:03ca43e12fab6023fc79d28ca6b39b05f794ad08ec2feccc59a339b02f2b3d33"}, 641 + {file = "pydantic_core-2.41.5-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dc799088c08fa04e43144b164feb0c13f9a0bc40503f8df3e9fde58a3c0c101e"}, 642 + {file = "pydantic_core-2.41.5-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:97aeba56665b4c3235a0e52b2c2f5ae9cd071b8a8310ad27bddb3f7fb30e9aa2"}, 643 + {file = "pydantic_core-2.41.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:406bf18d345822d6c21366031003612b9c77b3e29ffdb0f612367352aab7d586"}, 644 + {file = "pydantic_core-2.41.5-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b93590ae81f7010dbe380cdeab6f515902ebcbefe0b9327cc4804d74e93ae69d"}, 645 + {file = "pydantic_core-2.41.5-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:01a3d0ab748ee531f4ea6c3e48ad9dac84ddba4b0d82291f87248f2f9de8d740"}, 646 + {file = "pydantic_core-2.41.5-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:6561e94ba9dacc9c61bce40e2d6bdc3bfaa0259d3ff36ace3b1e6901936d2e3e"}, 647 + {file = "pydantic_core-2.41.5-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:915c3d10f81bec3a74fbd4faebe8391013ba61e5a1a8d48c4455b923bdda7858"}, 648 + {file = "pydantic_core-2.41.5-cp313-cp313-win32.whl", hash = "sha256:650ae77860b45cfa6e2cdafc42618ceafab3a2d9a3811fcfbd3bbf8ac3c40d36"}, 649 + {file = "pydantic_core-2.41.5-cp313-cp313-win_amd64.whl", hash = "sha256:79ec52ec461e99e13791ec6508c722742ad745571f234ea6255bed38c6480f11"}, 650 + {file = "pydantic_core-2.41.5-cp313-cp313-win_arm64.whl", hash = "sha256:3f84d5c1b4ab906093bdc1ff10484838aca54ef08de4afa9de0f5f14d69639cd"}, 651 + {file = "pydantic_core-2.41.5-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:3f37a19d7ebcdd20b96485056ba9e8b304e27d9904d233d7b1015db320e51f0a"}, 652 + {file = "pydantic_core-2.41.5-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:1d1d9764366c73f996edd17abb6d9d7649a7eb690006ab6adbda117717099b14"}, 653 + {file = "pydantic_core-2.41.5-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:25e1c2af0fce638d5f1988b686f3b3ea8cd7de5f244ca147c777769e798a9cd1"}, 654 + {file = "pydantic_core-2.41.5-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:506d766a8727beef16b7adaeb8ee6217c64fc813646b424d0804d67c16eddb66"}, 655 + {file = "pydantic_core-2.41.5-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4819fa52133c9aa3c387b3328f25c1facc356491e6135b459f1de698ff64d869"}, 656 + {file = "pydantic_core-2.41.5-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2b761d210c9ea91feda40d25b4efe82a1707da2ef62901466a42492c028553a2"}, 657 + {file = "pydantic_core-2.41.5-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:22f0fb8c1c583a3b6f24df2470833b40207e907b90c928cc8d3594b76f874375"}, 658 + {file = "pydantic_core-2.41.5-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2782c870e99878c634505236d81e5443092fba820f0373997ff75f90f68cd553"}, 659 + {file = "pydantic_core-2.41.5-cp314-cp314-musllinux_1_1_aarch64.whl", hash = "sha256:0177272f88ab8312479336e1d777f6b124537d47f2123f89cb37e0accea97f90"}, 660 + {file = "pydantic_core-2.41.5-cp314-cp314-musllinux_1_1_armv7l.whl", hash = "sha256:63510af5e38f8955b8ee5687740d6ebf7c2a0886d15a6d65c32814613681bc07"}, 661 + {file = "pydantic_core-2.41.5-cp314-cp314-musllinux_1_1_x86_64.whl", hash = "sha256:e56ba91f47764cc14f1daacd723e3e82d1a89d783f0f5afe9c364b8bb491ccdb"}, 662 + {file = "pydantic_core-2.41.5-cp314-cp314-win32.whl", hash = "sha256:aec5cf2fd867b4ff45b9959f8b20ea3993fc93e63c7363fe6851424c8a7e7c23"}, 663 + {file = "pydantic_core-2.41.5-cp314-cp314-win_amd64.whl", hash = "sha256:8e7c86f27c585ef37c35e56a96363ab8de4e549a95512445b85c96d3e2f7c1bf"}, 664 + {file = "pydantic_core-2.41.5-cp314-cp314-win_arm64.whl", hash = "sha256:e672ba74fbc2dc8eea59fb6d4aed6845e6905fc2a8afe93175d94a83ba2a01a0"}, 665 + {file = "pydantic_core-2.41.5-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:8566def80554c3faa0e65ac30ab0932b9e3a5cd7f8323764303d468e5c37595a"}, 666 + {file = "pydantic_core-2.41.5-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:b80aa5095cd3109962a298ce14110ae16b8c1aece8b72f9dafe81cf597ad80b3"}, 667 + {file = "pydantic_core-2.41.5-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3006c3dd9ba34b0c094c544c6006cc79e87d8612999f1a5d43b769b89181f23c"}, 668 + {file = "pydantic_core-2.41.5-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:72f6c8b11857a856bcfa48c86f5368439f74453563f951e473514579d44aa612"}, 669 + {file = "pydantic_core-2.41.5-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5cb1b2f9742240e4bb26b652a5aeb840aa4b417c7748b6f8387927bc6e45e40d"}, 670 + {file = "pydantic_core-2.41.5-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bd3d54f38609ff308209bd43acea66061494157703364ae40c951f83ba99a1a9"}, 671 + {file = "pydantic_core-2.41.5-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2ff4321e56e879ee8d2a879501c8e469414d948f4aba74a2d4593184eb326660"}, 672 + {file = "pydantic_core-2.41.5-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d0d2568a8c11bf8225044aa94409e21da0cb09dcdafe9ecd10250b2baad531a9"}, 673 + {file = "pydantic_core-2.41.5-cp314-cp314t-musllinux_1_1_aarch64.whl", hash = "sha256:a39455728aabd58ceabb03c90e12f71fd30fa69615760a075b9fec596456ccc3"}, 674 + {file = "pydantic_core-2.41.5-cp314-cp314t-musllinux_1_1_armv7l.whl", hash = "sha256:239edca560d05757817c13dc17c50766136d21f7cd0fac50295499ae24f90fdf"}, 675 + {file = "pydantic_core-2.41.5-cp314-cp314t-musllinux_1_1_x86_64.whl", hash = "sha256:2a5e06546e19f24c6a96a129142a75cee553cc018ffee48a460059b1185f4470"}, 676 + {file = "pydantic_core-2.41.5-cp314-cp314t-win32.whl", hash = "sha256:b4ececa40ac28afa90871c2cc2b9ffd2ff0bf749380fbdf57d165fd23da353aa"}, 677 + {file = "pydantic_core-2.41.5-cp314-cp314t-win_amd64.whl", hash = "sha256:80aa89cad80b32a912a65332f64a4450ed00966111b6615ca6816153d3585a8c"}, 678 + {file = "pydantic_core-2.41.5-cp314-cp314t-win_arm64.whl", hash = "sha256:35b44f37a3199f771c3eaa53051bc8a70cd7b54f333531c59e29fd4db5d15008"}, 679 + {file = "pydantic_core-2.41.5-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:8bfeaf8735be79f225f3fefab7f941c712aaca36f1128c9d7e2352ee1aa87bdf"}, 680 + {file = "pydantic_core-2.41.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:346285d28e4c8017da95144c7f3acd42740d637ff41946af5ce6e5e420502dd5"}, 681 + {file = "pydantic_core-2.41.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a75dafbf87d6276ddc5b2bf6fae5254e3d0876b626eb24969a574fff9149ee5d"}, 682 + {file = "pydantic_core-2.41.5-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7b93a4d08587e2b7e7882de461e82b6ed76d9026ce91ca7915e740ecc7855f60"}, 683 + {file = "pydantic_core-2.41.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e8465ab91a4bd96d36dde3263f06caa6a8a6019e4113f24dc753d79a8b3a3f82"}, 684 + {file = "pydantic_core-2.41.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:299e0a22e7ae2b85c1a57f104538b2656e8ab1873511fd718a1c1c6f149b77b5"}, 685 + {file = "pydantic_core-2.41.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:707625ef0983fcfb461acfaf14de2067c5942c6bb0f3b4c99158bed6fedd3cf3"}, 686 + {file = "pydantic_core-2.41.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f41eb9797986d6ebac5e8edff36d5cef9de40def462311b3eb3eeded1431e425"}, 687 + {file = "pydantic_core-2.41.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0384e2e1021894b1ff5a786dbf94771e2986ebe2869533874d7e43bc79c6f504"}, 688 + {file = "pydantic_core-2.41.5-cp39-cp39-musllinux_1_1_armv7l.whl", hash = "sha256:f0cd744688278965817fd0839c4a4116add48d23890d468bc436f78beb28abf5"}, 689 + {file = "pydantic_core-2.41.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:753e230374206729bf0a807954bcc6c150d3743928a73faffee51ac6557a03c3"}, 690 + {file = "pydantic_core-2.41.5-cp39-cp39-win32.whl", hash = "sha256:873e0d5b4fb9b89ef7c2d2a963ea7d02879d9da0da8d9d4933dee8ee86a8b460"}, 691 + {file = "pydantic_core-2.41.5-cp39-cp39-win_amd64.whl", hash = "sha256:e4f4a984405e91527a0d62649ee21138f8e3d0ef103be488c1dc11a80d7f184b"}, 692 + {file = "pydantic_core-2.41.5-graalpy311-graalpy242_311_native-macosx_10_12_x86_64.whl", hash = "sha256:b96d5f26b05d03cc60f11a7761a5ded1741da411e7fe0909e27a5e6a0cb7b034"}, 693 + {file = "pydantic_core-2.41.5-graalpy311-graalpy242_311_native-macosx_11_0_arm64.whl", hash = "sha256:634e8609e89ceecea15e2d61bc9ac3718caaaa71963717bf3c8f38bfde64242c"}, 694 + {file = "pydantic_core-2.41.5-graalpy311-graalpy242_311_native-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:93e8740d7503eb008aa2df04d3b9735f845d43ae845e6dcd2be0b55a2da43cd2"}, 695 + {file = "pydantic_core-2.41.5-graalpy311-graalpy242_311_native-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f15489ba13d61f670dcc96772e733aad1a6f9c429cc27574c6cdaed82d0146ad"}, 696 + {file = "pydantic_core-2.41.5-graalpy312-graalpy250_312_native-macosx_10_12_x86_64.whl", hash = "sha256:7da7087d756b19037bc2c06edc6c170eeef3c3bafcb8f532ff17d64dc427adfd"}, 697 + {file = "pydantic_core-2.41.5-graalpy312-graalpy250_312_native-macosx_11_0_arm64.whl", hash = "sha256:aabf5777b5c8ca26f7824cb4a120a740c9588ed58df9b2d196ce92fba42ff8dc"}, 698 + {file = "pydantic_core-2.41.5-graalpy312-graalpy250_312_native-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c007fe8a43d43b3969e8469004e9845944f1a80e6acd47c150856bb87f230c56"}, 699 + {file = "pydantic_core-2.41.5-graalpy312-graalpy250_312_native-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:76d0819de158cd855d1cbb8fcafdf6f5cf1eb8e470abe056d5d161106e38062b"}, 700 + {file = "pydantic_core-2.41.5-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:b5819cd790dbf0c5eb9f82c73c16b39a65dd6dd4d1439dcdea7816ec9adddab8"}, 701 + {file = "pydantic_core-2.41.5-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:5a4e67afbc95fa5c34cf27d9089bca7fcab4e51e57278d710320a70b956d1b9a"}, 702 + {file = "pydantic_core-2.41.5-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ece5c59f0ce7d001e017643d8d24da587ea1f74f6993467d85ae8a5ef9d4f42b"}, 703 + {file = "pydantic_core-2.41.5-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:16f80f7abe3351f8ea6858914ddc8c77e02578544a0ebc15b4c2e1a0e813b0b2"}, 704 + {file = "pydantic_core-2.41.5-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:33cb885e759a705b426baada1fe68cbb0a2e68e34c5d0d0289a364cf01709093"}, 705 + {file = "pydantic_core-2.41.5-pp310-pypy310_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:c8d8b4eb992936023be7dee581270af5c6e0697a8559895f527f5b7105ecd36a"}, 706 + {file = "pydantic_core-2.41.5-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:242a206cd0318f95cd21bdacff3fcc3aab23e79bba5cac3db5a841c9ef9c6963"}, 707 + {file = "pydantic_core-2.41.5-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:d3a978c4f57a597908b7e697229d996d77a6d3c94901e9edee593adada95ce1a"}, 708 + {file = "pydantic_core-2.41.5-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:b2379fa7ed44ddecb5bfe4e48577d752db9fc10be00a6b7446e9663ba143de26"}, 709 + {file = "pydantic_core-2.41.5-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:266fb4cbf5e3cbd0b53669a6d1b039c45e3ce651fd5442eff4d07c2cc8d66808"}, 710 + {file = "pydantic_core-2.41.5-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:58133647260ea01e4d0500089a8c4f07bd7aa6ce109682b1426394988d8aaacc"}, 711 + {file = "pydantic_core-2.41.5-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:287dad91cfb551c363dc62899a80e9e14da1f0e2b6ebde82c806612ca2a13ef1"}, 712 + {file = "pydantic_core-2.41.5-pp311-pypy311_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:03b77d184b9eb40240ae9fd676ca364ce1085f203e1b1256f8ab9984dca80a84"}, 713 + {file = "pydantic_core-2.41.5-pp311-pypy311_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:a668ce24de96165bb239160b3d854943128f4334822900534f2fe947930e5770"}, 714 + {file = "pydantic_core-2.41.5-pp311-pypy311_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:f14f8f046c14563f8eb3f45f499cc658ab8d10072961e07225e507adb700e93f"}, 715 + {file = "pydantic_core-2.41.5-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:56121965f7a4dc965bff783d70b907ddf3d57f6eba29b6d2e5dabfaf07799c51"}, 716 + {file = "pydantic_core-2.41.5.tar.gz", hash = "sha256:08daa51ea16ad373ffd5e7606252cc32f07bc72b28284b6bc9c6df804816476e"}, 717 + ] 718 + 719 + [package.dependencies] 720 + typing-extensions = ">=4.14.1" 721 + 722 + [[package]] 519 723 name = "python-dotenv" 520 724 version = "1.1.1" 521 725 description = "Read key-value pairs from a .env file and set them as environment variables" ··· 621 825 optional = false 622 826 python-versions = ">=3.9" 623 827 groups = ["main"] 624 - markers = "python_version == \"3.12\"" 625 828 files = [ 626 829 {file = "typing_extensions-4.14.1-py3-none-any.whl", hash = "sha256:d1e1e3b58374dc93031d6eda2420a48ea44a36c2b4766a4fdeb3710755731d76"}, 627 830 {file = "typing_extensions-4.14.1.tar.gz", hash = "sha256:38b39f4aeeab64884ce9f74c94263ef78f3c22467c8724005483154c26648d36"}, 628 831 ] 832 + 833 + [[package]] 834 + name = "typing-inspection" 835 + version = "0.4.2" 836 + description = "Runtime typing introspection tools" 837 + optional = false 838 + python-versions = ">=3.9" 839 + groups = ["main"] 840 + files = [ 841 + {file = "typing_inspection-0.4.2-py3-none-any.whl", hash = "sha256:4ed1cacbdc298c220f1bd249ed5287caa16f34d44ef4e9c3d0cbad5b521545e7"}, 842 + {file = "typing_inspection-0.4.2.tar.gz", hash = "sha256:ba561c48a67c5958007083d386c3295464928b01faa735ab8547c5692e87f464"}, 843 + ] 844 + 845 + [package.dependencies] 846 + typing-extensions = ">=4.12.0" 629 847 630 848 [[package]] 631 849 name = "tzdata" ··· 661 879 [metadata] 662 880 lock-version = "2.1" 663 881 python-versions = "^3.12" 664 - content-hash = "2f3f3bd67ce6cd17957292ca4ebdbcbe77750123a8ebb8a20e0ab9ed1294c0c9" 882 + content-hash = "6975cea9e15fff895c3ce32cffd7d50d2513f2716c61bb79823450e7bda4133b"
+3 -1
pyproject.toml
··· 1 1 [tool.poetry] 2 2 name = "paw" 3 - version = "0.5.12" 3 + version = "0.6.0" 4 4 description = "" 5 5 authors = ["Alex Ottr <alex@otter.foo>"] 6 6 license = "MIT" ··· 17 17 psycopg = {extras = ["binary"], version = "^3.1.18"} 18 18 gunicorn = "23.0.0" 19 19 pillow = "^10.3.0" 20 + django-ninja = "^1.5.3" 21 + django-cotton = "^2.6.1" 20 22 21 23 22 24 [build-system]
+39 -3
theme/input.css
··· 1 - @tailwind base; 2 - @tailwind components; 3 - @tailwind utilities; 1 + @import "tailwindcss"; 2 + @source "../paw/templates/**/*.{html,js}"; 3 + @source "../status/templates/**/*.{html,js}"; 4 + @plugin "daisyui" { 5 + themes: nord --default, dark --prefersdark; 6 + }; 7 + @plugin "daisyui/theme" { 8 + name: nord; 9 + default: true; 10 + prefersdark: false; 11 + color-scheme: light; 12 + }; 13 + @plugin "daisyui/theme" { 14 + name: dark; 15 + default: false; 16 + prefersdark: true; 17 + color-scheme: dark; 18 + 19 + --color-accent: #88C0D0; 20 + --color-secondary: #81A1C1; 21 + --color-success: #A3BE8C; 22 + --color-warning: #EBCB8B; 23 + --color-error: #BF616A; 24 + 25 + --rounded-box: 0.4rem; 26 + --rounded-btn: 0.2rem; 27 + --rounded-badge: 0.4rem; 28 + --tab-radius: 0.2rem; 29 + }; 30 + 31 + @layer base { 32 + *, 33 + ::after, 34 + ::before, 35 + ::backdrop, 36 + ::file-selector-button { 37 + border-color: var(--color-gray-200, currentcolor); 38 + } 39 + }
+739 -1106
theme/package-lock.json
··· 9 9 "version": "1.0.0", 10 10 "license": "MIT", 11 11 "devDependencies": { 12 - "daisyui": "^4.7.2", 13 - "tailwindcss": "^3.4.1" 12 + "@tailwindcss/cli": "^4.2.0", 13 + "daisyui": "^5.5.19", 14 + "tailwindcss": "^4.2.0" 14 15 } 15 16 }, 16 - "node_modules/@alloc/quick-lru": { 17 - "version": "5.2.0", 18 - "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", 19 - "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", 17 + "node_modules/@jridgewell/gen-mapping": { 18 + "version": "0.3.13", 19 + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", 20 + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", 20 21 "dev": true, 21 - "engines": { 22 - "node": ">=10" 23 - }, 24 - "funding": { 25 - "url": "https://github.com/sponsors/sindresorhus" 26 - } 27 - }, 28 - "node_modules/@isaacs/cliui": { 29 - "version": "8.0.2", 30 - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", 31 - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", 32 - "dev": true, 22 + "license": "MIT", 33 23 "dependencies": { 34 - "string-width": "^5.1.2", 35 - "string-width-cjs": "npm:string-width@^4.2.0", 36 - "strip-ansi": "^7.0.1", 37 - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", 38 - "wrap-ansi": "^8.1.0", 39 - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" 40 - }, 41 - "engines": { 42 - "node": ">=12" 24 + "@jridgewell/sourcemap-codec": "^1.5.0", 25 + "@jridgewell/trace-mapping": "^0.3.24" 43 26 } 44 27 }, 45 - "node_modules/@jridgewell/gen-mapping": { 46 - "version": "0.3.5", 47 - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", 48 - "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", 28 + "node_modules/@jridgewell/remapping": { 29 + "version": "2.3.5", 30 + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", 31 + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", 49 32 "dev": true, 33 + "license": "MIT", 50 34 "dependencies": { 51 - "@jridgewell/set-array": "^1.2.1", 52 - "@jridgewell/sourcemap-codec": "^1.4.10", 35 + "@jridgewell/gen-mapping": "^0.3.5", 53 36 "@jridgewell/trace-mapping": "^0.3.24" 54 - }, 55 - "engines": { 56 - "node": ">=6.0.0" 57 37 } 58 38 }, 59 39 "node_modules/@jridgewell/resolve-uri": { ··· 61 41 "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", 62 42 "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", 63 43 "dev": true, 64 - "engines": { 65 - "node": ">=6.0.0" 66 - } 67 - }, 68 - "node_modules/@jridgewell/set-array": { 69 - "version": "1.2.1", 70 - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", 71 - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", 72 - "dev": true, 44 + "license": "MIT", 73 45 "engines": { 74 46 "node": ">=6.0.0" 75 47 } 76 48 }, 77 49 "node_modules/@jridgewell/sourcemap-codec": { 78 - "version": "1.4.15", 79 - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", 80 - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", 81 - "dev": true 50 + "version": "1.5.5", 51 + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", 52 + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", 53 + "dev": true, 54 + "license": "MIT" 82 55 }, 83 56 "node_modules/@jridgewell/trace-mapping": { 84 - "version": "0.3.25", 85 - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", 86 - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", 57 + "version": "0.3.31", 58 + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", 59 + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", 87 60 "dev": true, 61 + "license": "MIT", 88 62 "dependencies": { 89 63 "@jridgewell/resolve-uri": "^3.1.0", 90 64 "@jridgewell/sourcemap-codec": "^1.4.14" 91 65 } 92 66 }, 93 - "node_modules/@nodelib/fs.scandir": { 94 - "version": "2.1.5", 95 - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", 96 - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", 67 + "node_modules/@parcel/watcher": { 68 + "version": "2.5.6", 69 + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.6.tgz", 70 + "integrity": "sha512-tmmZ3lQxAe/k/+rNnXQRawJ4NjxO2hqiOLTHvWchtGZULp4RyFeh6aU4XdOYBFe2KE1oShQTv4AblOs2iOrNnQ==", 97 71 "dev": true, 72 + "hasInstallScript": true, 73 + "license": "MIT", 98 74 "dependencies": { 99 - "@nodelib/fs.stat": "2.0.5", 100 - "run-parallel": "^1.1.9" 75 + "detect-libc": "^2.0.3", 76 + "is-glob": "^4.0.3", 77 + "node-addon-api": "^7.0.0", 78 + "picomatch": "^4.0.3" 101 79 }, 102 80 "engines": { 103 - "node": ">= 8" 104 - } 105 - }, 106 - "node_modules/@nodelib/fs.stat": { 107 - "version": "2.0.5", 108 - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", 109 - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", 110 - "dev": true, 111 - "engines": { 112 - "node": ">= 8" 113 - } 114 - }, 115 - "node_modules/@nodelib/fs.walk": { 116 - "version": "1.2.8", 117 - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", 118 - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", 119 - "dev": true, 120 - "dependencies": { 121 - "@nodelib/fs.scandir": "2.1.5", 122 - "fastq": "^1.6.0" 81 + "node": ">= 10.0.0" 82 + }, 83 + "funding": { 84 + "type": "opencollective", 85 + "url": "https://opencollective.com/parcel" 123 86 }, 124 - "engines": { 125 - "node": ">= 8" 87 + "optionalDependencies": { 88 + "@parcel/watcher-android-arm64": "2.5.6", 89 + "@parcel/watcher-darwin-arm64": "2.5.6", 90 + "@parcel/watcher-darwin-x64": "2.5.6", 91 + "@parcel/watcher-freebsd-x64": "2.5.6", 92 + "@parcel/watcher-linux-arm-glibc": "2.5.6", 93 + "@parcel/watcher-linux-arm-musl": "2.5.6", 94 + "@parcel/watcher-linux-arm64-glibc": "2.5.6", 95 + "@parcel/watcher-linux-arm64-musl": "2.5.6", 96 + "@parcel/watcher-linux-x64-glibc": "2.5.6", 97 + "@parcel/watcher-linux-x64-musl": "2.5.6", 98 + "@parcel/watcher-win32-arm64": "2.5.6", 99 + "@parcel/watcher-win32-ia32": "2.5.6", 100 + "@parcel/watcher-win32-x64": "2.5.6" 126 101 } 127 102 }, 128 - "node_modules/@pkgjs/parseargs": { 129 - "version": "0.11.0", 130 - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", 131 - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", 103 + "node_modules/@parcel/watcher-android-arm64": { 104 + "version": "2.5.6", 105 + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.6.tgz", 106 + "integrity": "sha512-YQxSS34tPF/6ZG7r/Ih9xy+kP/WwediEUsqmtf0cuCV5TPPKw/PQHRhueUo6JdeFJaqV3pyjm0GdYjZotbRt/A==", 107 + "cpu": [ 108 + "arm64" 109 + ], 132 110 "dev": true, 111 + "license": "MIT", 133 112 "optional": true, 113 + "os": [ 114 + "android" 115 + ], 134 116 "engines": { 135 - "node": ">=14" 136 - } 137 - }, 138 - "node_modules/ansi-regex": { 139 - "version": "6.0.1", 140 - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", 141 - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", 142 - "dev": true, 143 - "engines": { 144 - "node": ">=12" 117 + "node": ">= 10.0.0" 145 118 }, 146 119 "funding": { 147 - "url": "https://github.com/chalk/ansi-regex?sponsor=1" 120 + "type": "opencollective", 121 + "url": "https://opencollective.com/parcel" 148 122 } 149 123 }, 150 - "node_modules/ansi-styles": { 151 - "version": "6.2.1", 152 - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", 153 - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", 124 + "node_modules/@parcel/watcher-darwin-arm64": { 125 + "version": "2.5.6", 126 + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.6.tgz", 127 + "integrity": "sha512-Z2ZdrnwyXvvvdtRHLmM4knydIdU9adO3D4n/0cVipF3rRiwP+3/sfzpAwA/qKFL6i1ModaabkU7IbpeMBgiVEA==", 128 + "cpu": [ 129 + "arm64" 130 + ], 154 131 "dev": true, 132 + "license": "MIT", 133 + "optional": true, 134 + "os": [ 135 + "darwin" 136 + ], 155 137 "engines": { 156 - "node": ">=12" 138 + "node": ">= 10.0.0" 157 139 }, 158 140 "funding": { 159 - "url": "https://github.com/chalk/ansi-styles?sponsor=1" 160 - } 161 - }, 162 - "node_modules/any-promise": { 163 - "version": "1.3.0", 164 - "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", 165 - "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", 166 - "dev": true 167 - }, 168 - "node_modules/anymatch": { 169 - "version": "3.1.3", 170 - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", 171 - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", 172 - "dev": true, 173 - "dependencies": { 174 - "normalize-path": "^3.0.0", 175 - "picomatch": "^2.0.4" 176 - }, 177 - "engines": { 178 - "node": ">= 8" 179 - } 180 - }, 181 - "node_modules/arg": { 182 - "version": "5.0.2", 183 - "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", 184 - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", 185 - "dev": true 186 - }, 187 - "node_modules/balanced-match": { 188 - "version": "1.0.2", 189 - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 190 - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 191 - "dev": true 192 - }, 193 - "node_modules/binary-extensions": { 194 - "version": "2.2.0", 195 - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", 196 - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", 197 - "dev": true, 198 - "engines": { 199 - "node": ">=8" 200 - } 201 - }, 202 - "node_modules/brace-expansion": { 203 - "version": "2.0.2", 204 - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", 205 - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", 206 - "dev": true, 207 - "license": "MIT", 208 - "dependencies": { 209 - "balanced-match": "^1.0.0" 141 + "type": "opencollective", 142 + "url": "https://opencollective.com/parcel" 210 143 } 211 144 }, 212 - "node_modules/braces": { 213 - "version": "3.0.3", 214 - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", 215 - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", 145 + "node_modules/@parcel/watcher-darwin-x64": { 146 + "version": "2.5.6", 147 + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.6.tgz", 148 + "integrity": "sha512-HgvOf3W9dhithcwOWX9uDZyn1lW9R+7tPZ4sug+NGrGIo4Rk1hAXLEbcH1TQSqxts0NYXXlOWqVpvS1SFS4fRg==", 149 + "cpu": [ 150 + "x64" 151 + ], 216 152 "dev": true, 217 153 "license": "MIT", 218 - "dependencies": { 219 - "fill-range": "^7.1.1" 220 - }, 154 + "optional": true, 155 + "os": [ 156 + "darwin" 157 + ], 221 158 "engines": { 222 - "node": ">=8" 159 + "node": ">= 10.0.0" 160 + }, 161 + "funding": { 162 + "type": "opencollective", 163 + "url": "https://opencollective.com/parcel" 223 164 } 224 165 }, 225 - "node_modules/camelcase-css": { 226 - "version": "2.0.1", 227 - "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", 228 - "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", 166 + "node_modules/@parcel/watcher-freebsd-x64": { 167 + "version": "2.5.6", 168 + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.6.tgz", 169 + "integrity": "sha512-vJVi8yd/qzJxEKHkeemh7w3YAn6RJCtYlE4HPMoVnCpIXEzSrxErBW5SJBgKLbXU3WdIpkjBTeUNtyBVn8TRng==", 170 + "cpu": [ 171 + "x64" 172 + ], 229 173 "dev": true, 174 + "license": "MIT", 175 + "optional": true, 176 + "os": [ 177 + "freebsd" 178 + ], 230 179 "engines": { 231 - "node": ">= 6" 180 + "node": ">= 10.0.0" 181 + }, 182 + "funding": { 183 + "type": "opencollective", 184 + "url": "https://opencollective.com/parcel" 232 185 } 233 186 }, 234 - "node_modules/chokidar": { 235 - "version": "3.6.0", 236 - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", 237 - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", 187 + "node_modules/@parcel/watcher-linux-arm-glibc": { 188 + "version": "2.5.6", 189 + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.6.tgz", 190 + "integrity": "sha512-9JiYfB6h6BgV50CCfasfLf/uvOcJskMSwcdH1PHH9rvS1IrNy8zad6IUVPVUfmXr+u+Km9IxcfMLzgdOudz9EQ==", 191 + "cpu": [ 192 + "arm" 193 + ], 238 194 "dev": true, 239 - "dependencies": { 240 - "anymatch": "~3.1.2", 241 - "braces": "~3.0.2", 242 - "glob-parent": "~5.1.2", 243 - "is-binary-path": "~2.1.0", 244 - "is-glob": "~4.0.1", 245 - "normalize-path": "~3.0.0", 246 - "readdirp": "~3.6.0" 247 - }, 195 + "license": "MIT", 196 + "optional": true, 197 + "os": [ 198 + "linux" 199 + ], 248 200 "engines": { 249 - "node": ">= 8.10.0" 201 + "node": ">= 10.0.0" 250 202 }, 251 203 "funding": { 252 - "url": "https://paulmillr.com/funding/" 253 - }, 254 - "optionalDependencies": { 255 - "fsevents": "~2.3.2" 204 + "type": "opencollective", 205 + "url": "https://opencollective.com/parcel" 256 206 } 257 207 }, 258 - "node_modules/chokidar/node_modules/glob-parent": { 259 - "version": "5.1.2", 260 - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 261 - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 208 + "node_modules/@parcel/watcher-linux-arm-musl": { 209 + "version": "2.5.6", 210 + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.6.tgz", 211 + "integrity": "sha512-Ve3gUCG57nuUUSyjBq/MAM0CzArtuIOxsBdQ+ftz6ho8n7s1i9E1Nmk/xmP323r2YL0SONs1EuwqBp2u1k5fxg==", 212 + "cpu": [ 213 + "arm" 214 + ], 262 215 "dev": true, 263 - "dependencies": { 264 - "is-glob": "^4.0.1" 265 - }, 216 + "license": "MIT", 217 + "optional": true, 218 + "os": [ 219 + "linux" 220 + ], 266 221 "engines": { 267 - "node": ">= 6" 268 - } 269 - }, 270 - "node_modules/color-convert": { 271 - "version": "2.0.1", 272 - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 273 - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 274 - "dev": true, 275 - "dependencies": { 276 - "color-name": "~1.1.4" 222 + "node": ">= 10.0.0" 277 223 }, 278 - "engines": { 279 - "node": ">=7.0.0" 224 + "funding": { 225 + "type": "opencollective", 226 + "url": "https://opencollective.com/parcel" 280 227 } 281 228 }, 282 - "node_modules/color-name": { 283 - "version": "1.1.4", 284 - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 285 - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 286 - "dev": true 287 - }, 288 - "node_modules/commander": { 289 - "version": "4.1.1", 290 - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", 291 - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", 229 + "node_modules/@parcel/watcher-linux-arm64-glibc": { 230 + "version": "2.5.6", 231 + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.6.tgz", 232 + "integrity": "sha512-f2g/DT3NhGPdBmMWYoxixqYr3v/UXcmLOYy16Bx0TM20Tchduwr4EaCbmxh1321TABqPGDpS8D/ggOTaljijOA==", 233 + "cpu": [ 234 + "arm64" 235 + ], 292 236 "dev": true, 237 + "license": "MIT", 238 + "optional": true, 239 + "os": [ 240 + "linux" 241 + ], 293 242 "engines": { 294 - "node": ">= 6" 243 + "node": ">= 10.0.0" 244 + }, 245 + "funding": { 246 + "type": "opencollective", 247 + "url": "https://opencollective.com/parcel" 295 248 } 296 249 }, 297 - "node_modules/cross-spawn": { 298 - "version": "7.0.6", 299 - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", 300 - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", 250 + "node_modules/@parcel/watcher-linux-arm64-musl": { 251 + "version": "2.5.6", 252 + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.6.tgz", 253 + "integrity": "sha512-qb6naMDGlbCwdhLj6hgoVKJl2odL34z2sqkC7Z6kzir8b5W65WYDpLB6R06KabvZdgoHI/zxke4b3zR0wAbDTA==", 254 + "cpu": [ 255 + "arm64" 256 + ], 301 257 "dev": true, 302 258 "license": "MIT", 303 - "dependencies": { 304 - "path-key": "^3.1.0", 305 - "shebang-command": "^2.0.0", 306 - "which": "^2.0.1" 307 - }, 259 + "optional": true, 260 + "os": [ 261 + "linux" 262 + ], 308 263 "engines": { 309 - "node": ">= 8" 310 - } 311 - }, 312 - "node_modules/css-selector-tokenizer": { 313 - "version": "0.8.0", 314 - "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.8.0.tgz", 315 - "integrity": "sha512-Jd6Ig3/pe62/qe5SBPTN8h8LeUg/pT4lLgtavPf7updwwHpvFzxvOQBHYj2LZDMjUnBzgvIUSjRcf6oT5HzHFg==", 316 - "dev": true, 317 - "dependencies": { 318 - "cssesc": "^3.0.0", 319 - "fastparse": "^1.1.2" 320 - } 321 - }, 322 - "node_modules/cssesc": { 323 - "version": "3.0.0", 324 - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", 325 - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", 326 - "dev": true, 327 - "bin": { 328 - "cssesc": "bin/cssesc" 264 + "node": ">= 10.0.0" 329 265 }, 330 - "engines": { 331 - "node": ">=4" 266 + "funding": { 267 + "type": "opencollective", 268 + "url": "https://opencollective.com/parcel" 332 269 } 333 270 }, 334 - "node_modules/culori": { 335 - "version": "3.3.0", 336 - "resolved": "https://registry.npmjs.org/culori/-/culori-3.3.0.tgz", 337 - "integrity": "sha512-pHJg+jbuFsCjz9iclQBqyL3B2HLCBF71BwVNujUYEvCeQMvV97R59MNK3R2+jgJ3a1fcZgI9B3vYgz8lzr/BFQ==", 271 + "node_modules/@parcel/watcher-linux-x64-glibc": { 272 + "version": "2.5.6", 273 + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.6.tgz", 274 + "integrity": "sha512-kbT5wvNQlx7NaGjzPFu8nVIW1rWqV780O7ZtkjuWaPUgpv2NMFpjYERVi0UYj1msZNyCzGlaCWEtzc+exjMGbQ==", 275 + "cpu": [ 276 + "x64" 277 + ], 338 278 "dev": true, 339 - "engines": { 340 - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" 341 - } 342 - }, 343 - "node_modules/daisyui": { 344 - "version": "4.7.2", 345 - "resolved": "https://registry.npmjs.org/daisyui/-/daisyui-4.7.2.tgz", 346 - "integrity": "sha512-9UCss12Zmyk/22u+JbkVrHHxOzFOyY17HuqP5LeswI4hclbj6qbjJTovdj2zRy8cCH6/n6Wh0lTLjriGnyGh0g==", 347 - "dev": true, 348 - "dependencies": { 349 - "css-selector-tokenizer": "^0.8", 350 - "culori": "^3", 351 - "picocolors": "^1", 352 - "postcss-js": "^4" 353 - }, 279 + "license": "MIT", 280 + "optional": true, 281 + "os": [ 282 + "linux" 283 + ], 354 284 "engines": { 355 - "node": ">=16.9.0" 285 + "node": ">= 10.0.0" 356 286 }, 357 287 "funding": { 358 288 "type": "opencollective", 359 - "url": "https://opencollective.com/daisyui" 289 + "url": "https://opencollective.com/parcel" 360 290 } 361 291 }, 362 - "node_modules/didyoumean": { 363 - "version": "1.2.2", 364 - "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", 365 - "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", 366 - "dev": true 367 - }, 368 - "node_modules/dlv": { 369 - "version": "1.1.3", 370 - "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", 371 - "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", 372 - "dev": true 373 - }, 374 - "node_modules/eastasianwidth": { 375 - "version": "0.2.0", 376 - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", 377 - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", 378 - "dev": true 379 - }, 380 - "node_modules/emoji-regex": { 381 - "version": "9.2.2", 382 - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", 383 - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", 384 - "dev": true 385 - }, 386 - "node_modules/fast-glob": { 387 - "version": "3.3.2", 388 - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", 389 - "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", 292 + "node_modules/@parcel/watcher-linux-x64-musl": { 293 + "version": "2.5.6", 294 + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.6.tgz", 295 + "integrity": "sha512-1JRFeC+h7RdXwldHzTsmdtYR/Ku8SylLgTU/reMuqdVD7CtLwf0VR1FqeprZ0eHQkO0vqsbvFLXUmYm/uNKJBg==", 296 + "cpu": [ 297 + "x64" 298 + ], 390 299 "dev": true, 391 - "dependencies": { 392 - "@nodelib/fs.stat": "^2.0.2", 393 - "@nodelib/fs.walk": "^1.2.3", 394 - "glob-parent": "^5.1.2", 395 - "merge2": "^1.3.0", 396 - "micromatch": "^4.0.4" 397 - }, 300 + "license": "MIT", 301 + "optional": true, 302 + "os": [ 303 + "linux" 304 + ], 398 305 "engines": { 399 - "node": ">=8.6.0" 400 - } 401 - }, 402 - "node_modules/fast-glob/node_modules/glob-parent": { 403 - "version": "5.1.2", 404 - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 405 - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 406 - "dev": true, 407 - "dependencies": { 408 - "is-glob": "^4.0.1" 306 + "node": ">= 10.0.0" 409 307 }, 410 - "engines": { 411 - "node": ">= 6" 412 - } 413 - }, 414 - "node_modules/fastparse": { 415 - "version": "1.1.2", 416 - "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", 417 - "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==", 418 - "dev": true 419 - }, 420 - "node_modules/fastq": { 421 - "version": "1.17.1", 422 - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", 423 - "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", 424 - "dev": true, 425 - "dependencies": { 426 - "reusify": "^1.0.4" 308 + "funding": { 309 + "type": "opencollective", 310 + "url": "https://opencollective.com/parcel" 427 311 } 428 312 }, 429 - "node_modules/fill-range": { 430 - "version": "7.1.1", 431 - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", 432 - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", 313 + "node_modules/@parcel/watcher-win32-arm64": { 314 + "version": "2.5.6", 315 + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.6.tgz", 316 + "integrity": "sha512-3ukyebjc6eGlw9yRt678DxVF7rjXatWiHvTXqphZLvo7aC5NdEgFufVwjFfY51ijYEWpXbqF5jtrK275z52D4Q==", 317 + "cpu": [ 318 + "arm64" 319 + ], 433 320 "dev": true, 434 321 "license": "MIT", 435 - "dependencies": { 436 - "to-regex-range": "^5.0.1" 437 - }, 322 + "optional": true, 323 + "os": [ 324 + "win32" 325 + ], 438 326 "engines": { 439 - "node": ">=8" 440 - } 441 - }, 442 - "node_modules/foreground-child": { 443 - "version": "3.1.1", 444 - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", 445 - "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", 446 - "dev": true, 447 - "dependencies": { 448 - "cross-spawn": "^7.0.0", 449 - "signal-exit": "^4.0.1" 450 - }, 451 - "engines": { 452 - "node": ">=14" 327 + "node": ">= 10.0.0" 453 328 }, 454 329 "funding": { 455 - "url": "https://github.com/sponsors/isaacs" 330 + "type": "opencollective", 331 + "url": "https://opencollective.com/parcel" 456 332 } 457 333 }, 458 - "node_modules/fsevents": { 459 - "version": "2.3.3", 460 - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", 461 - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", 334 + "node_modules/@parcel/watcher-win32-ia32": { 335 + "version": "2.5.6", 336 + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.6.tgz", 337 + "integrity": "sha512-k35yLp1ZMwwee3Ez/pxBi5cf4AoBKYXj00CZ80jUz5h8prpiaQsiRPKQMxoLstNuqe2vR4RNPEAEcjEFzhEz/g==", 338 + "cpu": [ 339 + "ia32" 340 + ], 462 341 "dev": true, 463 - "hasInstallScript": true, 342 + "license": "MIT", 464 343 "optional": true, 465 344 "os": [ 466 - "darwin" 345 + "win32" 467 346 ], 468 347 "engines": { 469 - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" 470 - } 471 - }, 472 - "node_modules/function-bind": { 473 - "version": "1.1.2", 474 - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", 475 - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", 476 - "dev": true, 348 + "node": ">= 10.0.0" 349 + }, 477 350 "funding": { 478 - "url": "https://github.com/sponsors/ljharb" 351 + "type": "opencollective", 352 + "url": "https://opencollective.com/parcel" 479 353 } 480 354 }, 481 - "node_modules/glob": { 482 - "version": "10.3.10", 483 - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", 484 - "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", 355 + "node_modules/@parcel/watcher-win32-x64": { 356 + "version": "2.5.6", 357 + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.6.tgz", 358 + "integrity": "sha512-hbQlYcCq5dlAX9Qx+kFb0FHue6vbjlf0FrNzSKdYK2APUf7tGfGxQCk2ihEREmbR6ZMc0MVAD5RIX/41gpUzTw==", 359 + "cpu": [ 360 + "x64" 361 + ], 485 362 "dev": true, 486 - "dependencies": { 487 - "foreground-child": "^3.1.0", 488 - "jackspeak": "^2.3.5", 489 - "minimatch": "^9.0.1", 490 - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", 491 - "path-scurry": "^1.10.1" 492 - }, 493 - "bin": { 494 - "glob": "dist/esm/bin.mjs" 495 - }, 363 + "license": "MIT", 364 + "optional": true, 365 + "os": [ 366 + "win32" 367 + ], 496 368 "engines": { 497 - "node": ">=16 || 14 >=14.17" 369 + "node": ">= 10.0.0" 498 370 }, 499 371 "funding": { 500 - "url": "https://github.com/sponsors/isaacs" 372 + "type": "opencollective", 373 + "url": "https://opencollective.com/parcel" 501 374 } 502 375 }, 503 - "node_modules/glob-parent": { 504 - "version": "6.0.2", 505 - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", 506 - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", 376 + "node_modules/@tailwindcss/cli": { 377 + "version": "4.2.0", 378 + "resolved": "https://registry.npmjs.org/@tailwindcss/cli/-/cli-4.2.0.tgz", 379 + "integrity": "sha512-C62SWDp+6Rj5DHJDlMyAqESpmljiQ35H4SncAcVn3Gm0rEPrKFDIdAheT74s9zAbrsa2D/L+jJaPgCO1fyZG6g==", 507 380 "dev": true, 381 + "license": "MIT", 508 382 "dependencies": { 509 - "is-glob": "^4.0.3" 383 + "@parcel/watcher": "^2.5.1", 384 + "@tailwindcss/node": "4.2.0", 385 + "@tailwindcss/oxide": "4.2.0", 386 + "enhanced-resolve": "^5.19.0", 387 + "mri": "^1.2.0", 388 + "picocolors": "^1.1.1", 389 + "tailwindcss": "4.2.0" 510 390 }, 511 - "engines": { 512 - "node": ">=10.13.0" 391 + "bin": { 392 + "tailwindcss": "dist/index.mjs" 513 393 } 514 394 }, 515 - "node_modules/hasown": { 516 - "version": "2.0.1", 517 - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.1.tgz", 518 - "integrity": "sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==", 395 + "node_modules/@tailwindcss/node": { 396 + "version": "4.2.0", 397 + "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.2.0.tgz", 398 + "integrity": "sha512-Yv+fn/o2OmL5fh/Ir62VXItdShnUxfpkMA4Y7jdeC8O81WPB8Kf6TT6GSHvnqgSwDzlB5iT7kDpeXxLsUS0T6Q==", 519 399 "dev": true, 400 + "license": "MIT", 520 401 "dependencies": { 521 - "function-bind": "^1.1.2" 522 - }, 523 - "engines": { 524 - "node": ">= 0.4" 402 + "@jridgewell/remapping": "^2.3.5", 403 + "enhanced-resolve": "^5.19.0", 404 + "jiti": "^2.6.1", 405 + "lightningcss": "1.31.1", 406 + "magic-string": "^0.30.21", 407 + "source-map-js": "^1.2.1", 408 + "tailwindcss": "4.2.0" 525 409 } 526 410 }, 527 - "node_modules/is-binary-path": { 528 - "version": "2.1.0", 529 - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", 530 - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", 411 + "node_modules/@tailwindcss/oxide": { 412 + "version": "4.2.0", 413 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.2.0.tgz", 414 + "integrity": "sha512-AZqQzADaj742oqn2xjl5JbIOzZB/DGCYF/7bpvhA8KvjUj9HJkag6bBuwZvH1ps6dfgxNHyuJVlzSr2VpMgdTQ==", 531 415 "dev": true, 532 - "dependencies": { 533 - "binary-extensions": "^2.0.0" 534 - }, 416 + "license": "MIT", 535 417 "engines": { 536 - "node": ">=8" 537 - } 538 - }, 539 - "node_modules/is-core-module": { 540 - "version": "2.13.1", 541 - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", 542 - "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", 543 - "dev": true, 544 - "dependencies": { 545 - "hasown": "^2.0.0" 418 + "node": ">= 20" 546 419 }, 547 - "funding": { 548 - "url": "https://github.com/sponsors/ljharb" 420 + "optionalDependencies": { 421 + "@tailwindcss/oxide-android-arm64": "4.2.0", 422 + "@tailwindcss/oxide-darwin-arm64": "4.2.0", 423 + "@tailwindcss/oxide-darwin-x64": "4.2.0", 424 + "@tailwindcss/oxide-freebsd-x64": "4.2.0", 425 + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.2.0", 426 + "@tailwindcss/oxide-linux-arm64-gnu": "4.2.0", 427 + "@tailwindcss/oxide-linux-arm64-musl": "4.2.0", 428 + "@tailwindcss/oxide-linux-x64-gnu": "4.2.0", 429 + "@tailwindcss/oxide-linux-x64-musl": "4.2.0", 430 + "@tailwindcss/oxide-wasm32-wasi": "4.2.0", 431 + "@tailwindcss/oxide-win32-arm64-msvc": "4.2.0", 432 + "@tailwindcss/oxide-win32-x64-msvc": "4.2.0" 549 433 } 550 434 }, 551 - "node_modules/is-extglob": { 552 - "version": "2.1.1", 553 - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 554 - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", 435 + "node_modules/@tailwindcss/oxide-android-arm64": { 436 + "version": "4.2.0", 437 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.2.0.tgz", 438 + "integrity": "sha512-F0QkHAVaW/JNBWl4CEKWdZ9PMb0khw5DCELAOnu+RtjAfx5Zgw+gqCHFvqg3AirU1IAd181fwOtJQ5I8Yx5wtw==", 439 + "cpu": [ 440 + "arm64" 441 + ], 555 442 "dev": true, 443 + "license": "MIT", 444 + "optional": true, 445 + "os": [ 446 + "android" 447 + ], 556 448 "engines": { 557 - "node": ">=0.10.0" 449 + "node": ">= 20" 558 450 } 559 451 }, 560 - "node_modules/is-fullwidth-code-point": { 561 - "version": "3.0.0", 562 - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", 563 - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", 452 + "node_modules/@tailwindcss/oxide-darwin-arm64": { 453 + "version": "4.2.0", 454 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.2.0.tgz", 455 + "integrity": "sha512-I0QylkXsBsJMZ4nkUNSR04p6+UptjcwhcVo3Zu828ikiEqHjVmQL9RuQ6uT/cVIiKpvtVA25msu/eRV97JeNSA==", 456 + "cpu": [ 457 + "arm64" 458 + ], 564 459 "dev": true, 460 + "license": "MIT", 461 + "optional": true, 462 + "os": [ 463 + "darwin" 464 + ], 565 465 "engines": { 566 - "node": ">=8" 466 + "node": ">= 20" 567 467 } 568 468 }, 569 - "node_modules/is-glob": { 570 - "version": "4.0.3", 571 - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 572 - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 469 + "node_modules/@tailwindcss/oxide-darwin-x64": { 470 + "version": "4.2.0", 471 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.2.0.tgz", 472 + "integrity": "sha512-6TmQIn4p09PBrmnkvbYQ0wbZhLtbaksCDx7Y7R3FYYx0yxNA7xg5KP7dowmQ3d2JVdabIHvs3Hx4K3d5uCf8xg==", 473 + "cpu": [ 474 + "x64" 475 + ], 573 476 "dev": true, 574 - "dependencies": { 575 - "is-extglob": "^2.1.1" 576 - }, 477 + "license": "MIT", 478 + "optional": true, 479 + "os": [ 480 + "darwin" 481 + ], 577 482 "engines": { 578 - "node": ">=0.10.0" 483 + "node": ">= 20" 579 484 } 580 485 }, 581 - "node_modules/is-number": { 582 - "version": "7.0.0", 583 - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 584 - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", 486 + "node_modules/@tailwindcss/oxide-freebsd-x64": { 487 + "version": "4.2.0", 488 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.2.0.tgz", 489 + "integrity": "sha512-qBudxDvAa2QwGlq9y7VIzhTvp2mLJ6nD/G8/tI70DCDoneaUeLWBJaPcbfzqRIWraj+o969aDQKvKW9dvkUizw==", 490 + "cpu": [ 491 + "x64" 492 + ], 585 493 "dev": true, 586 494 "license": "MIT", 495 + "optional": true, 496 + "os": [ 497 + "freebsd" 498 + ], 587 499 "engines": { 588 - "node": ">=0.12.0" 500 + "node": ">= 20" 589 501 } 590 502 }, 591 - "node_modules/isexe": { 592 - "version": "2.0.0", 593 - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 594 - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", 595 - "dev": true 596 - }, 597 - "node_modules/jackspeak": { 598 - "version": "2.3.6", 599 - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", 600 - "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", 503 + "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { 504 + "version": "4.2.0", 505 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.2.0.tgz", 506 + "integrity": "sha512-7XKkitpy5NIjFZNUQPeUyNJNJn1CJeV7rmMR+exHfTuOsg8rxIO9eNV5TSEnqRcaOK77zQpsyUkBWmPy8FgdSg==", 507 + "cpu": [ 508 + "arm" 509 + ], 601 510 "dev": true, 602 - "dependencies": { 603 - "@isaacs/cliui": "^8.0.2" 604 - }, 511 + "license": "MIT", 512 + "optional": true, 513 + "os": [ 514 + "linux" 515 + ], 605 516 "engines": { 606 - "node": ">=14" 607 - }, 608 - "funding": { 609 - "url": "https://github.com/sponsors/isaacs" 610 - }, 611 - "optionalDependencies": { 612 - "@pkgjs/parseargs": "^0.11.0" 517 + "node": ">= 20" 613 518 } 614 519 }, 615 - "node_modules/jiti": { 616 - "version": "1.21.0", 617 - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", 618 - "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==", 619 - "dev": true, 620 - "bin": { 621 - "jiti": "bin/jiti.js" 622 - } 623 - }, 624 - "node_modules/lilconfig": { 625 - "version": "2.1.0", 626 - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", 627 - "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", 520 + "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { 521 + "version": "4.2.0", 522 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.2.0.tgz", 523 + "integrity": "sha512-Mff5a5Q3WoQR01pGU1gr29hHM1N93xYrKkGXfPw/aRtK4bOc331Ho4Tgfsm5WDGvpevqMpdlkCojT3qlCQbCpA==", 524 + "cpu": [ 525 + "arm64" 526 + ], 628 527 "dev": true, 528 + "license": "MIT", 529 + "optional": true, 530 + "os": [ 531 + "linux" 532 + ], 629 533 "engines": { 630 - "node": ">=10" 534 + "node": ">= 20" 631 535 } 632 536 }, 633 - "node_modules/lines-and-columns": { 634 - "version": "1.2.4", 635 - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", 636 - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", 637 - "dev": true 638 - }, 639 - "node_modules/lru-cache": { 640 - "version": "10.2.0", 641 - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", 642 - "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", 537 + "node_modules/@tailwindcss/oxide-linux-arm64-musl": { 538 + "version": "4.2.0", 539 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.2.0.tgz", 540 + "integrity": "sha512-XKcSStleEVnbH6W/9DHzZv1YhjE4eSS6zOu2eRtYAIh7aV4o3vIBs+t/B15xlqoxt6ef/0uiqJVB6hkHjWD/0A==", 541 + "cpu": [ 542 + "arm64" 543 + ], 643 544 "dev": true, 545 + "license": "MIT", 546 + "optional": true, 547 + "os": [ 548 + "linux" 549 + ], 644 550 "engines": { 645 - "node": "14 || >=16.14" 551 + "node": ">= 20" 646 552 } 647 553 }, 648 - "node_modules/merge2": { 649 - "version": "1.4.1", 650 - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", 651 - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", 554 + "node_modules/@tailwindcss/oxide-linux-x64-gnu": { 555 + "version": "4.2.0", 556 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.2.0.tgz", 557 + "integrity": "sha512-/hlXCBqn9K6fi7eAM0RsobHwJYa5V/xzWspVTzxnX+Ft9v6n+30Pz8+RxCn7sQL/vRHHLS30iQPrHQunu6/vJA==", 558 + "cpu": [ 559 + "x64" 560 + ], 652 561 "dev": true, 562 + "license": "MIT", 563 + "optional": true, 564 + "os": [ 565 + "linux" 566 + ], 653 567 "engines": { 654 - "node": ">= 8" 568 + "node": ">= 20" 655 569 } 656 570 }, 657 - "node_modules/micromatch": { 658 - "version": "4.0.8", 659 - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", 660 - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", 571 + "node_modules/@tailwindcss/oxide-linux-x64-musl": { 572 + "version": "4.2.0", 573 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.2.0.tgz", 574 + "integrity": "sha512-lKUaygq4G7sWkhQbfdRRBkaq4LY39IriqBQ+Gk6l5nKq6Ay2M2ZZb1tlIyRNgZKS8cbErTwuYSor0IIULC0SHw==", 575 + "cpu": [ 576 + "x64" 577 + ], 661 578 "dev": true, 662 579 "license": "MIT", 663 - "dependencies": { 664 - "braces": "^3.0.3", 665 - "picomatch": "^2.3.1" 666 - }, 580 + "optional": true, 581 + "os": [ 582 + "linux" 583 + ], 667 584 "engines": { 668 - "node": ">=8.6" 585 + "node": ">= 20" 669 586 } 670 587 }, 671 - "node_modules/minimatch": { 672 - "version": "9.0.3", 673 - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", 674 - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", 588 + "node_modules/@tailwindcss/oxide-wasm32-wasi": { 589 + "version": "4.2.0", 590 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.2.0.tgz", 591 + "integrity": "sha512-xuDjhAsFdUuFP5W9Ze4k/o4AskUtI8bcAGU4puTYprr89QaYFmhYOPfP+d1pH+k9ets6RoE23BXZM1X1jJqoyw==", 592 + "bundleDependencies": [ 593 + "@napi-rs/wasm-runtime", 594 + "@emnapi/core", 595 + "@emnapi/runtime", 596 + "@tybys/wasm-util", 597 + "@emnapi/wasi-threads", 598 + "tslib" 599 + ], 600 + "cpu": [ 601 + "wasm32" 602 + ], 675 603 "dev": true, 604 + "license": "MIT", 605 + "optional": true, 676 606 "dependencies": { 677 - "brace-expansion": "^2.0.1" 607 + "@emnapi/core": "^1.8.1", 608 + "@emnapi/runtime": "^1.8.1", 609 + "@emnapi/wasi-threads": "^1.1.0", 610 + "@napi-rs/wasm-runtime": "^1.1.1", 611 + "@tybys/wasm-util": "^0.10.1", 612 + "tslib": "^2.8.1" 678 613 }, 679 614 "engines": { 680 - "node": ">=16 || 14 >=14.17" 681 - }, 682 - "funding": { 683 - "url": "https://github.com/sponsors/isaacs" 684 - } 685 - }, 686 - "node_modules/minipass": { 687 - "version": "7.0.4", 688 - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", 689 - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", 690 - "dev": true, 691 - "engines": { 692 - "node": ">=16 || 14 >=14.17" 693 - } 694 - }, 695 - "node_modules/mz": { 696 - "version": "2.7.0", 697 - "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", 698 - "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", 699 - "dev": true, 700 - "dependencies": { 701 - "any-promise": "^1.0.0", 702 - "object-assign": "^4.0.1", 703 - "thenify-all": "^1.0.0" 615 + "node": ">=14.0.0" 704 616 } 705 617 }, 706 - "node_modules/nanoid": { 707 - "version": "3.3.11", 708 - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", 709 - "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", 710 - "dev": true, 711 - "funding": [ 712 - { 713 - "type": "github", 714 - "url": "https://github.com/sponsors/ai" 715 - } 618 + "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { 619 + "version": "4.2.0", 620 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.2.0.tgz", 621 + "integrity": "sha512-2UU/15y1sWDEDNJXxEIrfWKC2Yb4YgIW5Xz2fKFqGzFWfoMHWFlfa1EJlGO2Xzjkq/tvSarh9ZTjvbxqWvLLXA==", 622 + "cpu": [ 623 + "arm64" 716 624 ], 717 - "license": "MIT", 718 - "bin": { 719 - "nanoid": "bin/nanoid.cjs" 720 - }, 721 - "engines": { 722 - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" 723 - } 724 - }, 725 - "node_modules/normalize-path": { 726 - "version": "3.0.0", 727 - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", 728 - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", 729 625 "dev": true, 626 + "license": "MIT", 627 + "optional": true, 628 + "os": [ 629 + "win32" 630 + ], 730 631 "engines": { 731 - "node": ">=0.10.0" 632 + "node": ">= 20" 732 633 } 733 634 }, 734 - "node_modules/object-assign": { 735 - "version": "4.1.1", 736 - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 737 - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", 635 + "node_modules/@tailwindcss/oxide-win32-x64-msvc": { 636 + "version": "4.2.0", 637 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.2.0.tgz", 638 + "integrity": "sha512-CrFadmFoc+z76EV6LPG1jx6XceDsaCG3lFhyLNo/bV9ByPrE+FnBPckXQVP4XRkN76h3Fjt/a+5Er/oA/nCBvQ==", 639 + "cpu": [ 640 + "x64" 641 + ], 738 642 "dev": true, 643 + "license": "MIT", 644 + "optional": true, 645 + "os": [ 646 + "win32" 647 + ], 739 648 "engines": { 740 - "node": ">=0.10.0" 649 + "node": ">= 20" 741 650 } 742 651 }, 743 - "node_modules/object-hash": { 744 - "version": "3.0.0", 745 - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", 746 - "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", 652 + "node_modules/daisyui": { 653 + "version": "5.5.19", 654 + "resolved": "https://registry.npmjs.org/daisyui/-/daisyui-5.5.19.tgz", 655 + "integrity": "sha512-pbFAkl1VCEh/MPCeclKL61I/MqRIFFhNU7yiXoDDRapXN4/qNCoMxeCCswyxEEhqL5eiTTfwHvucFtOE71C9sA==", 747 656 "dev": true, 748 - "engines": { 749 - "node": ">= 6" 657 + "license": "MIT", 658 + "funding": { 659 + "url": "https://github.com/saadeghi/daisyui?sponsor=1" 750 660 } 751 661 }, 752 - "node_modules/path-key": { 753 - "version": "3.1.1", 754 - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", 755 - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", 662 + "node_modules/detect-libc": { 663 + "version": "2.1.2", 664 + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", 665 + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", 756 666 "dev": true, 667 + "license": "Apache-2.0", 757 668 "engines": { 758 669 "node": ">=8" 759 670 } 760 671 }, 761 - "node_modules/path-parse": { 762 - "version": "1.0.7", 763 - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", 764 - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", 765 - "dev": true 766 - }, 767 - "node_modules/path-scurry": { 768 - "version": "1.10.1", 769 - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", 770 - "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", 672 + "node_modules/enhanced-resolve": { 673 + "version": "5.19.0", 674 + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.19.0.tgz", 675 + "integrity": "sha512-phv3E1Xl4tQOShqSte26C7Fl84EwUdZsyOuSSk9qtAGyyQs2s3jJzComh+Abf4g187lUUAvH+H26omrqia2aGg==", 771 676 "dev": true, 677 + "license": "MIT", 772 678 "dependencies": { 773 - "lru-cache": "^9.1.1 || ^10.0.0", 774 - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" 679 + "graceful-fs": "^4.2.4", 680 + "tapable": "^2.3.0" 775 681 }, 776 682 "engines": { 777 - "node": ">=16 || 14 >=14.17" 778 - }, 779 - "funding": { 780 - "url": "https://github.com/sponsors/isaacs" 683 + "node": ">=10.13.0" 781 684 } 782 685 }, 783 - "node_modules/picocolors": { 784 - "version": "1.0.0", 785 - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", 786 - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", 787 - "dev": true 788 - }, 789 - "node_modules/picomatch": { 790 - "version": "2.3.1", 791 - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 792 - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 686 + "node_modules/graceful-fs": { 687 + "version": "4.2.11", 688 + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", 689 + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", 793 690 "dev": true, 794 - "engines": { 795 - "node": ">=8.6" 796 - }, 797 - "funding": { 798 - "url": "https://github.com/sponsors/jonschlinkert" 799 - } 691 + "license": "ISC" 800 692 }, 801 - "node_modules/pify": { 802 - "version": "2.3.0", 803 - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", 804 - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", 693 + "node_modules/is-extglob": { 694 + "version": "2.1.1", 695 + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 696 + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", 805 697 "dev": true, 698 + "license": "MIT", 806 699 "engines": { 807 700 "node": ">=0.10.0" 808 701 } 809 702 }, 810 - "node_modules/pirates": { 811 - "version": "4.0.6", 812 - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", 813 - "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", 703 + "node_modules/is-glob": { 704 + "version": "4.0.3", 705 + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 706 + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 814 707 "dev": true, 815 - "engines": { 816 - "node": ">= 6" 817 - } 818 - }, 819 - "node_modules/postcss": { 820 - "version": "8.4.35", 821 - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz", 822 - "integrity": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==", 823 - "dev": true, 824 - "funding": [ 825 - { 826 - "type": "opencollective", 827 - "url": "https://opencollective.com/postcss/" 828 - }, 829 - { 830 - "type": "tidelift", 831 - "url": "https://tidelift.com/funding/github/npm/postcss" 832 - }, 833 - { 834 - "type": "github", 835 - "url": "https://github.com/sponsors/ai" 836 - } 837 - ], 708 + "license": "MIT", 838 709 "dependencies": { 839 - "nanoid": "^3.3.7", 840 - "picocolors": "^1.0.0", 841 - "source-map-js": "^1.0.2" 710 + "is-extglob": "^2.1.1" 842 711 }, 843 712 "engines": { 844 - "node": "^10 || ^12 || >=14" 713 + "node": ">=0.10.0" 845 714 } 846 715 }, 847 - "node_modules/postcss-import": { 848 - "version": "15.1.0", 849 - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", 850 - "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", 716 + "node_modules/jiti": { 717 + "version": "2.6.1", 718 + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz", 719 + "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==", 851 720 "dev": true, 852 - "dependencies": { 853 - "postcss-value-parser": "^4.0.0", 854 - "read-cache": "^1.0.0", 855 - "resolve": "^1.1.7" 856 - }, 857 - "engines": { 858 - "node": ">=14.0.0" 859 - }, 860 - "peerDependencies": { 861 - "postcss": "^8.0.0" 721 + "license": "MIT", 722 + "bin": { 723 + "jiti": "lib/jiti-cli.mjs" 862 724 } 863 725 }, 864 - "node_modules/postcss-js": { 865 - "version": "4.0.1", 866 - "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", 867 - "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", 726 + "node_modules/lightningcss": { 727 + "version": "1.31.1", 728 + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.31.1.tgz", 729 + "integrity": "sha512-l51N2r93WmGUye3WuFoN5k10zyvrVs0qfKBhyC5ogUQ6Ew6JUSswh78mbSO+IU3nTWsyOArqPCcShdQSadghBQ==", 868 730 "dev": true, 731 + "license": "MPL-2.0", 869 732 "dependencies": { 870 - "camelcase-css": "^2.0.1" 733 + "detect-libc": "^2.0.3" 871 734 }, 872 735 "engines": { 873 - "node": "^12 || ^14 || >= 16" 736 + "node": ">= 12.0.0" 874 737 }, 875 738 "funding": { 876 739 "type": "opencollective", 877 - "url": "https://opencollective.com/postcss/" 740 + "url": "https://opencollective.com/parcel" 878 741 }, 879 - "peerDependencies": { 880 - "postcss": "^8.4.21" 742 + "optionalDependencies": { 743 + "lightningcss-android-arm64": "1.31.1", 744 + "lightningcss-darwin-arm64": "1.31.1", 745 + "lightningcss-darwin-x64": "1.31.1", 746 + "lightningcss-freebsd-x64": "1.31.1", 747 + "lightningcss-linux-arm-gnueabihf": "1.31.1", 748 + "lightningcss-linux-arm64-gnu": "1.31.1", 749 + "lightningcss-linux-arm64-musl": "1.31.1", 750 + "lightningcss-linux-x64-gnu": "1.31.1", 751 + "lightningcss-linux-x64-musl": "1.31.1", 752 + "lightningcss-win32-arm64-msvc": "1.31.1", 753 + "lightningcss-win32-x64-msvc": "1.31.1" 881 754 } 882 755 }, 883 - "node_modules/postcss-load-config": { 884 - "version": "4.0.2", 885 - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", 886 - "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", 756 + "node_modules/lightningcss-android-arm64": { 757 + "version": "1.31.1", 758 + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.31.1.tgz", 759 + "integrity": "sha512-HXJF3x8w9nQ4jbXRiNppBCqeZPIAfUo8zE/kOEGbW5NZvGc/K7nMxbhIr+YlFlHW5mpbg/YFPdbnCh1wAXCKFg==", 760 + "cpu": [ 761 + "arm64" 762 + ], 887 763 "dev": true, 888 - "funding": [ 889 - { 890 - "type": "opencollective", 891 - "url": "https://opencollective.com/postcss/" 892 - }, 893 - { 894 - "type": "github", 895 - "url": "https://github.com/sponsors/ai" 896 - } 764 + "license": "MPL-2.0", 765 + "optional": true, 766 + "os": [ 767 + "android" 897 768 ], 898 - "dependencies": { 899 - "lilconfig": "^3.0.0", 900 - "yaml": "^2.3.4" 901 - }, 902 769 "engines": { 903 - "node": ">= 14" 770 + "node": ">= 12.0.0" 904 771 }, 905 - "peerDependencies": { 906 - "postcss": ">=8.0.9", 907 - "ts-node": ">=9.0.0" 908 - }, 909 - "peerDependenciesMeta": { 910 - "postcss": { 911 - "optional": true 912 - }, 913 - "ts-node": { 914 - "optional": true 915 - } 772 + "funding": { 773 + "type": "opencollective", 774 + "url": "https://opencollective.com/parcel" 916 775 } 917 776 }, 918 - "node_modules/postcss-load-config/node_modules/lilconfig": { 919 - "version": "3.1.1", 920 - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.1.tgz", 921 - "integrity": "sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==", 777 + "node_modules/lightningcss-darwin-arm64": { 778 + "version": "1.31.1", 779 + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.31.1.tgz", 780 + "integrity": "sha512-02uTEqf3vIfNMq3h/z2cJfcOXnQ0GRwQrkmPafhueLb2h7mqEidiCzkE4gBMEH65abHRiQvhdcQ+aP0D0g67sg==", 781 + "cpu": [ 782 + "arm64" 783 + ], 922 784 "dev": true, 785 + "license": "MPL-2.0", 786 + "optional": true, 787 + "os": [ 788 + "darwin" 789 + ], 923 790 "engines": { 924 - "node": ">=14" 791 + "node": ">= 12.0.0" 925 792 }, 926 793 "funding": { 927 - "url": "https://github.com/sponsors/antonk52" 794 + "type": "opencollective", 795 + "url": "https://opencollective.com/parcel" 928 796 } 929 797 }, 930 - "node_modules/postcss-nested": { 931 - "version": "6.0.1", 932 - "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", 933 - "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", 798 + "node_modules/lightningcss-darwin-x64": { 799 + "version": "1.31.1", 800 + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.31.1.tgz", 801 + "integrity": "sha512-1ObhyoCY+tGxtsz1lSx5NXCj3nirk0Y0kB/g8B8DT+sSx4G9djitg9ejFnjb3gJNWo7qXH4DIy2SUHvpoFwfTA==", 802 + "cpu": [ 803 + "x64" 804 + ], 934 805 "dev": true, 935 - "dependencies": { 936 - "postcss-selector-parser": "^6.0.11" 937 - }, 806 + "license": "MPL-2.0", 807 + "optional": true, 808 + "os": [ 809 + "darwin" 810 + ], 938 811 "engines": { 939 - "node": ">=12.0" 812 + "node": ">= 12.0.0" 940 813 }, 941 814 "funding": { 942 815 "type": "opencollective", 943 - "url": "https://opencollective.com/postcss/" 944 - }, 945 - "peerDependencies": { 946 - "postcss": "^8.2.14" 947 - } 948 - }, 949 - "node_modules/postcss-selector-parser": { 950 - "version": "6.0.15", 951 - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz", 952 - "integrity": "sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==", 953 - "dev": true, 954 - "dependencies": { 955 - "cssesc": "^3.0.0", 956 - "util-deprecate": "^1.0.2" 957 - }, 958 - "engines": { 959 - "node": ">=4" 816 + "url": "https://opencollective.com/parcel" 960 817 } 961 818 }, 962 - "node_modules/postcss-value-parser": { 963 - "version": "4.2.0", 964 - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", 965 - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", 966 - "dev": true 967 - }, 968 - "node_modules/queue-microtask": { 969 - "version": "1.2.3", 970 - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", 971 - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", 972 - "dev": true, 973 - "funding": [ 974 - { 975 - "type": "github", 976 - "url": "https://github.com/sponsors/feross" 977 - }, 978 - { 979 - "type": "patreon", 980 - "url": "https://www.patreon.com/feross" 981 - }, 982 - { 983 - "type": "consulting", 984 - "url": "https://feross.org/support" 985 - } 986 - ] 987 - }, 988 - "node_modules/read-cache": { 989 - "version": "1.0.0", 990 - "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", 991 - "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", 819 + "node_modules/lightningcss-freebsd-x64": { 820 + "version": "1.31.1", 821 + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.31.1.tgz", 822 + "integrity": "sha512-1RINmQKAItO6ISxYgPwszQE1BrsVU5aB45ho6O42mu96UiZBxEXsuQ7cJW4zs4CEodPUioj/QrXW1r9pLUM74A==", 823 + "cpu": [ 824 + "x64" 825 + ], 992 826 "dev": true, 993 - "dependencies": { 994 - "pify": "^2.3.0" 995 - } 996 - }, 997 - "node_modules/readdirp": { 998 - "version": "3.6.0", 999 - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", 1000 - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", 1001 - "dev": true, 1002 - "dependencies": { 1003 - "picomatch": "^2.2.1" 1004 - }, 827 + "license": "MPL-2.0", 828 + "optional": true, 829 + "os": [ 830 + "freebsd" 831 + ], 1005 832 "engines": { 1006 - "node": ">=8.10.0" 1007 - } 1008 - }, 1009 - "node_modules/resolve": { 1010 - "version": "1.22.8", 1011 - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", 1012 - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", 1013 - "dev": true, 1014 - "dependencies": { 1015 - "is-core-module": "^2.13.0", 1016 - "path-parse": "^1.0.7", 1017 - "supports-preserve-symlinks-flag": "^1.0.0" 1018 - }, 1019 - "bin": { 1020 - "resolve": "bin/resolve" 833 + "node": ">= 12.0.0" 1021 834 }, 1022 835 "funding": { 1023 - "url": "https://github.com/sponsors/ljharb" 836 + "type": "opencollective", 837 + "url": "https://opencollective.com/parcel" 1024 838 } 1025 839 }, 1026 - "node_modules/reusify": { 1027 - "version": "1.0.4", 1028 - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", 1029 - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", 1030 - "dev": true, 1031 - "engines": { 1032 - "iojs": ">=1.0.0", 1033 - "node": ">=0.10.0" 1034 - } 1035 - }, 1036 - "node_modules/run-parallel": { 1037 - "version": "1.2.0", 1038 - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", 1039 - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", 1040 - "dev": true, 1041 - "funding": [ 1042 - { 1043 - "type": "github", 1044 - "url": "https://github.com/sponsors/feross" 1045 - }, 1046 - { 1047 - "type": "patreon", 1048 - "url": "https://www.patreon.com/feross" 1049 - }, 1050 - { 1051 - "type": "consulting", 1052 - "url": "https://feross.org/support" 1053 - } 840 + "node_modules/lightningcss-linux-arm-gnueabihf": { 841 + "version": "1.31.1", 842 + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.31.1.tgz", 843 + "integrity": "sha512-OOCm2//MZJ87CdDK62rZIu+aw9gBv4azMJuA8/KB74wmfS3lnC4yoPHm0uXZ/dvNNHmnZnB8XLAZzObeG0nS1g==", 844 + "cpu": [ 845 + "arm" 1054 846 ], 1055 - "dependencies": { 1056 - "queue-microtask": "^1.2.2" 1057 - } 1058 - }, 1059 - "node_modules/shebang-command": { 1060 - "version": "2.0.0", 1061 - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", 1062 - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", 1063 847 "dev": true, 1064 - "dependencies": { 1065 - "shebang-regex": "^3.0.0" 1066 - }, 1067 - "engines": { 1068 - "node": ">=8" 1069 - } 1070 - }, 1071 - "node_modules/shebang-regex": { 1072 - "version": "3.0.0", 1073 - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", 1074 - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", 1075 - "dev": true, 1076 - "engines": { 1077 - "node": ">=8" 1078 - } 1079 - }, 1080 - "node_modules/signal-exit": { 1081 - "version": "4.1.0", 1082 - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", 1083 - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", 1084 - "dev": true, 848 + "license": "MPL-2.0", 849 + "optional": true, 850 + "os": [ 851 + "linux" 852 + ], 1085 853 "engines": { 1086 - "node": ">=14" 854 + "node": ">= 12.0.0" 1087 855 }, 1088 856 "funding": { 1089 - "url": "https://github.com/sponsors/isaacs" 857 + "type": "opencollective", 858 + "url": "https://opencollective.com/parcel" 1090 859 } 1091 860 }, 1092 - "node_modules/source-map-js": { 1093 - "version": "1.0.2", 1094 - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", 1095 - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", 861 + "node_modules/lightningcss-linux-arm64-gnu": { 862 + "version": "1.31.1", 863 + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.31.1.tgz", 864 + "integrity": "sha512-WKyLWztD71rTnou4xAD5kQT+982wvca7E6QoLpoawZ1gP9JM0GJj4Tp5jMUh9B3AitHbRZ2/H3W5xQmdEOUlLg==", 865 + "cpu": [ 866 + "arm64" 867 + ], 1096 868 "dev": true, 869 + "license": "MPL-2.0", 870 + "optional": true, 871 + "os": [ 872 + "linux" 873 + ], 1097 874 "engines": { 1098 - "node": ">=0.10.0" 875 + "node": ">= 12.0.0" 876 + }, 877 + "funding": { 878 + "type": "opencollective", 879 + "url": "https://opencollective.com/parcel" 1099 880 } 1100 881 }, 1101 - "node_modules/string-width": { 1102 - "version": "5.1.2", 1103 - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", 1104 - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", 882 + "node_modules/lightningcss-linux-arm64-musl": { 883 + "version": "1.31.1", 884 + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.31.1.tgz", 885 + "integrity": "sha512-mVZ7Pg2zIbe3XlNbZJdjs86YViQFoJSpc41CbVmKBPiGmC4YrfeOyz65ms2qpAobVd7WQsbW4PdsSJEMymyIMg==", 886 + "cpu": [ 887 + "arm64" 888 + ], 1105 889 "dev": true, 1106 - "dependencies": { 1107 - "eastasianwidth": "^0.2.0", 1108 - "emoji-regex": "^9.2.2", 1109 - "strip-ansi": "^7.0.1" 1110 - }, 890 + "license": "MPL-2.0", 891 + "optional": true, 892 + "os": [ 893 + "linux" 894 + ], 1111 895 "engines": { 1112 - "node": ">=12" 896 + "node": ">= 12.0.0" 1113 897 }, 1114 898 "funding": { 1115 - "url": "https://github.com/sponsors/sindresorhus" 899 + "type": "opencollective", 900 + "url": "https://opencollective.com/parcel" 1116 901 } 1117 902 }, 1118 - "node_modules/string-width-cjs": { 1119 - "name": "string-width", 1120 - "version": "4.2.3", 1121 - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 1122 - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 903 + "node_modules/lightningcss-linux-x64-gnu": { 904 + "version": "1.31.1", 905 + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.31.1.tgz", 906 + "integrity": "sha512-xGlFWRMl+0KvUhgySdIaReQdB4FNudfUTARn7q0hh/V67PVGCs3ADFjw+6++kG1RNd0zdGRlEKa+T13/tQjPMA==", 907 + "cpu": [ 908 + "x64" 909 + ], 1123 910 "dev": true, 1124 - "dependencies": { 1125 - "emoji-regex": "^8.0.0", 1126 - "is-fullwidth-code-point": "^3.0.0", 1127 - "strip-ansi": "^6.0.1" 1128 - }, 911 + "license": "MPL-2.0", 912 + "optional": true, 913 + "os": [ 914 + "linux" 915 + ], 1129 916 "engines": { 1130 - "node": ">=8" 1131 - } 1132 - }, 1133 - "node_modules/string-width-cjs/node_modules/ansi-regex": { 1134 - "version": "5.0.1", 1135 - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 1136 - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 1137 - "dev": true, 1138 - "engines": { 1139 - "node": ">=8" 1140 - } 1141 - }, 1142 - "node_modules/string-width-cjs/node_modules/emoji-regex": { 1143 - "version": "8.0.0", 1144 - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 1145 - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", 1146 - "dev": true 1147 - }, 1148 - "node_modules/string-width-cjs/node_modules/strip-ansi": { 1149 - "version": "6.0.1", 1150 - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 1151 - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 1152 - "dev": true, 1153 - "dependencies": { 1154 - "ansi-regex": "^5.0.1" 917 + "node": ">= 12.0.0" 1155 918 }, 1156 - "engines": { 1157 - "node": ">=8" 919 + "funding": { 920 + "type": "opencollective", 921 + "url": "https://opencollective.com/parcel" 1158 922 } 1159 923 }, 1160 - "node_modules/strip-ansi": { 1161 - "version": "7.1.0", 1162 - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", 1163 - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", 924 + "node_modules/lightningcss-linux-x64-musl": { 925 + "version": "1.31.1", 926 + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.31.1.tgz", 927 + "integrity": "sha512-eowF8PrKHw9LpoZii5tdZwnBcYDxRw2rRCyvAXLi34iyeYfqCQNA9rmUM0ce62NlPhCvof1+9ivRaTY6pSKDaA==", 928 + "cpu": [ 929 + "x64" 930 + ], 1164 931 "dev": true, 1165 - "dependencies": { 1166 - "ansi-regex": "^6.0.1" 1167 - }, 932 + "license": "MPL-2.0", 933 + "optional": true, 934 + "os": [ 935 + "linux" 936 + ], 1168 937 "engines": { 1169 - "node": ">=12" 938 + "node": ">= 12.0.0" 1170 939 }, 1171 940 "funding": { 1172 - "url": "https://github.com/chalk/strip-ansi?sponsor=1" 941 + "type": "opencollective", 942 + "url": "https://opencollective.com/parcel" 1173 943 } 1174 944 }, 1175 - "node_modules/strip-ansi-cjs": { 1176 - "name": "strip-ansi", 1177 - "version": "6.0.1", 1178 - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 1179 - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 945 + "node_modules/lightningcss-win32-arm64-msvc": { 946 + "version": "1.31.1", 947 + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.31.1.tgz", 948 + "integrity": "sha512-aJReEbSEQzx1uBlQizAOBSjcmr9dCdL3XuC/6HLXAxmtErsj2ICo5yYggg1qOODQMtnjNQv2UHb9NpOuFtYe4w==", 949 + "cpu": [ 950 + "arm64" 951 + ], 1180 952 "dev": true, 1181 - "dependencies": { 1182 - "ansi-regex": "^5.0.1" 1183 - }, 953 + "license": "MPL-2.0", 954 + "optional": true, 955 + "os": [ 956 + "win32" 957 + ], 1184 958 "engines": { 1185 - "node": ">=8" 1186 - } 1187 - }, 1188 - "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { 1189 - "version": "5.0.1", 1190 - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 1191 - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 1192 - "dev": true, 1193 - "engines": { 1194 - "node": ">=8" 1195 - } 1196 - }, 1197 - "node_modules/sucrase": { 1198 - "version": "3.35.0", 1199 - "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", 1200 - "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", 1201 - "dev": true, 1202 - "dependencies": { 1203 - "@jridgewell/gen-mapping": "^0.3.2", 1204 - "commander": "^4.0.0", 1205 - "glob": "^10.3.10", 1206 - "lines-and-columns": "^1.1.6", 1207 - "mz": "^2.7.0", 1208 - "pirates": "^4.0.1", 1209 - "ts-interface-checker": "^0.1.9" 959 + "node": ">= 12.0.0" 1210 960 }, 1211 - "bin": { 1212 - "sucrase": "bin/sucrase", 1213 - "sucrase-node": "bin/sucrase-node" 1214 - }, 1215 - "engines": { 1216 - "node": ">=16 || 14 >=14.17" 961 + "funding": { 962 + "type": "opencollective", 963 + "url": "https://opencollective.com/parcel" 1217 964 } 1218 965 }, 1219 - "node_modules/supports-preserve-symlinks-flag": { 1220 - "version": "1.0.0", 1221 - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", 1222 - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", 966 + "node_modules/lightningcss-win32-x64-msvc": { 967 + "version": "1.31.1", 968 + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.31.1.tgz", 969 + "integrity": "sha512-I9aiFrbd7oYHwlnQDqr1Roz+fTz61oDDJX7n9tYF9FJymH1cIN1DtKw3iYt6b8WZgEjoNwVSncwF4wx/ZedMhw==", 970 + "cpu": [ 971 + "x64" 972 + ], 1223 973 "dev": true, 974 + "license": "MPL-2.0", 975 + "optional": true, 976 + "os": [ 977 + "win32" 978 + ], 1224 979 "engines": { 1225 - "node": ">= 0.4" 980 + "node": ">= 12.0.0" 1226 981 }, 1227 982 "funding": { 1228 - "url": "https://github.com/sponsors/ljharb" 983 + "type": "opencollective", 984 + "url": "https://opencollective.com/parcel" 1229 985 } 1230 986 }, 1231 - "node_modules/tailwindcss": { 1232 - "version": "3.4.1", 1233 - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.1.tgz", 1234 - "integrity": "sha512-qAYmXRfk3ENzuPBakNK0SRrUDipP8NQnEY6772uDhflcQz5EhRdD7JNZxyrFHVQNCwULPBn6FNPp9brpO7ctcA==", 987 + "node_modules/magic-string": { 988 + "version": "0.30.21", 989 + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", 990 + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", 1235 991 "dev": true, 992 + "license": "MIT", 1236 993 "dependencies": { 1237 - "@alloc/quick-lru": "^5.2.0", 1238 - "arg": "^5.0.2", 1239 - "chokidar": "^3.5.3", 1240 - "didyoumean": "^1.2.2", 1241 - "dlv": "^1.1.3", 1242 - "fast-glob": "^3.3.0", 1243 - "glob-parent": "^6.0.2", 1244 - "is-glob": "^4.0.3", 1245 - "jiti": "^1.19.1", 1246 - "lilconfig": "^2.1.0", 1247 - "micromatch": "^4.0.5", 1248 - "normalize-path": "^3.0.0", 1249 - "object-hash": "^3.0.0", 1250 - "picocolors": "^1.0.0", 1251 - "postcss": "^8.4.23", 1252 - "postcss-import": "^15.1.0", 1253 - "postcss-js": "^4.0.1", 1254 - "postcss-load-config": "^4.0.1", 1255 - "postcss-nested": "^6.0.1", 1256 - "postcss-selector-parser": "^6.0.11", 1257 - "resolve": "^1.22.2", 1258 - "sucrase": "^3.32.0" 1259 - }, 1260 - "bin": { 1261 - "tailwind": "lib/cli.js", 1262 - "tailwindcss": "lib/cli.js" 1263 - }, 1264 - "engines": { 1265 - "node": ">=14.0.0" 994 + "@jridgewell/sourcemap-codec": "^1.5.5" 1266 995 } 1267 996 }, 1268 - "node_modules/thenify": { 1269 - "version": "3.3.1", 1270 - "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", 1271 - "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", 997 + "node_modules/mri": { 998 + "version": "1.2.0", 999 + "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", 1000 + "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", 1272 1001 "dev": true, 1273 - "dependencies": { 1274 - "any-promise": "^1.0.0" 1275 - } 1276 - }, 1277 - "node_modules/thenify-all": { 1278 - "version": "1.6.0", 1279 - "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", 1280 - "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", 1281 - "dev": true, 1282 - "dependencies": { 1283 - "thenify": ">= 3.1.0 < 4" 1284 - }, 1002 + "license": "MIT", 1285 1003 "engines": { 1286 - "node": ">=0.8" 1004 + "node": ">=4" 1287 1005 } 1288 1006 }, 1289 - "node_modules/to-regex-range": { 1290 - "version": "5.0.1", 1291 - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 1292 - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 1007 + "node_modules/node-addon-api": { 1008 + "version": "7.1.1", 1009 + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", 1010 + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", 1293 1011 "dev": true, 1294 - "license": "MIT", 1295 - "dependencies": { 1296 - "is-number": "^7.0.0" 1297 - }, 1298 - "engines": { 1299 - "node": ">=8.0" 1300 - } 1012 + "license": "MIT" 1301 1013 }, 1302 - "node_modules/ts-interface-checker": { 1303 - "version": "0.1.13", 1304 - "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", 1305 - "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", 1306 - "dev": true 1307 - }, 1308 - "node_modules/util-deprecate": { 1309 - "version": "1.0.2", 1310 - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 1311 - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", 1312 - "dev": true 1313 - }, 1314 - "node_modules/which": { 1315 - "version": "2.0.2", 1316 - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", 1317 - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", 1014 + "node_modules/picocolors": { 1015 + "version": "1.1.1", 1016 + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", 1017 + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", 1318 1018 "dev": true, 1319 - "dependencies": { 1320 - "isexe": "^2.0.0" 1321 - }, 1322 - "bin": { 1323 - "node-which": "bin/node-which" 1324 - }, 1325 - "engines": { 1326 - "node": ">= 8" 1327 - } 1019 + "license": "ISC" 1328 1020 }, 1329 - "node_modules/wrap-ansi": { 1330 - "version": "8.1.0", 1331 - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", 1332 - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", 1021 + "node_modules/picomatch": { 1022 + "version": "4.0.3", 1023 + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", 1024 + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", 1333 1025 "dev": true, 1334 - "dependencies": { 1335 - "ansi-styles": "^6.1.0", 1336 - "string-width": "^5.0.1", 1337 - "strip-ansi": "^7.0.1" 1338 - }, 1026 + "license": "MIT", 1339 1027 "engines": { 1340 1028 "node": ">=12" 1341 1029 }, 1342 1030 "funding": { 1343 - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" 1031 + "url": "https://github.com/sponsors/jonschlinkert" 1344 1032 } 1345 1033 }, 1346 - "node_modules/wrap-ansi-cjs": { 1347 - "name": "wrap-ansi", 1348 - "version": "7.0.0", 1349 - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", 1350 - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", 1034 + "node_modules/source-map-js": { 1035 + "version": "1.2.1", 1036 + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", 1037 + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", 1351 1038 "dev": true, 1352 - "dependencies": { 1353 - "ansi-styles": "^4.0.0", 1354 - "string-width": "^4.1.0", 1355 - "strip-ansi": "^6.0.0" 1356 - }, 1039 + "license": "BSD-3-Clause", 1357 1040 "engines": { 1358 - "node": ">=10" 1359 - }, 1360 - "funding": { 1361 - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" 1041 + "node": ">=0.10.0" 1362 1042 } 1363 1043 }, 1364 - "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { 1365 - "version": "5.0.1", 1366 - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 1367 - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 1044 + "node_modules/tailwindcss": { 1045 + "version": "4.2.0", 1046 + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.2.0.tgz", 1047 + "integrity": "sha512-yYzTZ4++b7fNYxFfpnberEEKu43w44aqDMNM9MHMmcKuCH7lL8jJ4yJ7LGHv7rSwiqM0nkiobF9I6cLlpS2P7Q==", 1368 1048 "dev": true, 1369 - "engines": { 1370 - "node": ">=8" 1371 - } 1049 + "license": "MIT" 1372 1050 }, 1373 - "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { 1374 - "version": "4.3.0", 1375 - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 1376 - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 1051 + "node_modules/tapable": { 1052 + "version": "2.3.0", 1053 + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz", 1054 + "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==", 1377 1055 "dev": true, 1378 - "dependencies": { 1379 - "color-convert": "^2.0.1" 1380 - }, 1056 + "license": "MIT", 1381 1057 "engines": { 1382 - "node": ">=8" 1058 + "node": ">=6" 1383 1059 }, 1384 1060 "funding": { 1385 - "url": "https://github.com/chalk/ansi-styles?sponsor=1" 1386 - } 1387 - }, 1388 - "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { 1389 - "version": "8.0.0", 1390 - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 1391 - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", 1392 - "dev": true 1393 - }, 1394 - "node_modules/wrap-ansi-cjs/node_modules/string-width": { 1395 - "version": "4.2.3", 1396 - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 1397 - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 1398 - "dev": true, 1399 - "dependencies": { 1400 - "emoji-regex": "^8.0.0", 1401 - "is-fullwidth-code-point": "^3.0.0", 1402 - "strip-ansi": "^6.0.1" 1403 - }, 1404 - "engines": { 1405 - "node": ">=8" 1406 - } 1407 - }, 1408 - "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { 1409 - "version": "6.0.1", 1410 - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 1411 - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 1412 - "dev": true, 1413 - "dependencies": { 1414 - "ansi-regex": "^5.0.1" 1415 - }, 1416 - "engines": { 1417 - "node": ">=8" 1418 - } 1419 - }, 1420 - "node_modules/yaml": { 1421 - "version": "2.4.1", 1422 - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.1.tgz", 1423 - "integrity": "sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==", 1424 - "dev": true, 1425 - "bin": { 1426 - "yaml": "bin.mjs" 1427 - }, 1428 - "engines": { 1429 - "node": ">= 14" 1061 + "type": "opencollective", 1062 + "url": "https://opencollective.com/webpack" 1430 1063 } 1431 1064 } 1432 1065 }
+3 -2
theme/package.json
··· 4 4 "author": "Alex Ottr <alex@otter.foo>", 5 5 "license": "MIT", 6 6 "devDependencies": { 7 - "daisyui": "^4.7.2", 8 - "tailwindcss": "^3.4.1" 7 + "@tailwindcss/cli": "^4.2.0", 8 + "daisyui": "^5.5.19", 9 + "tailwindcss": "^4.2.0" 9 10 } 10 11 }
-32
theme/tailwind.config.js
··· 1 - /** @type {import('tailwindcss').Config} */ 2 - module.exports = { 3 - content: [ 4 - "./paw/templates/**/*.{html,js}", 5 - "./status/templates/**/*.{html,js}", 6 - ], 7 - theme: { 8 - extend: {}, 9 - }, 10 - plugins: [require("daisyui")], 11 - daisyui: { 12 - themes: [ 13 - { 14 - light: { 15 - ...require("daisyui/src/theming/themes")["nord"], 16 - }, 17 - dark: { 18 - ...require("daisyui/src/theming/themes")["dark"], 19 - accent: "#88C0D0", 20 - secondary: "#81A1C1", 21 - success: "#A3BE8C", 22 - warning: "#EBCB8B", 23 - error: "#BF616A", 24 - "--rounded-box": "0.4rem", 25 - "--rounded-btn": "0.2rem", 26 - "--rounded-badge": "0.4rem", 27 - "--tab-radius": "0.2rem", 28 - }, 29 - }, 30 - ], 31 - }, 32 - };
+9 -9
ticketing/forms.py
··· 18 18 class MultipleFileField(forms.FileField): 19 19 def __init__(self, *args, **kwargs): 20 20 kwargs.setdefault("widget", MultipleFileInput( 21 - attrs={'class': 'file-input file-input-bordered w-full'})) 21 + attrs={'class': 'file-input w-full'})) 22 22 super().__init__(*args, **kwargs) 23 23 24 24 def clean(self, data, initial=None): ··· 55 55 56 56 class CommentForm(forms.Form): 57 57 text = forms.CharField(widget=forms.Textarea( 58 - attrs={'class': 'textarea textarea-bordered h-32', 'placeholder': 'Enter your comment here...'})) 58 + attrs={'class': 'textarea h-32', 'placeholder': 'Enter your comment here...'})) 59 59 hidden_from_client = forms.BooleanField(widget=forms.CheckboxInput( 60 60 attrs={'class': 'checkbox checkbox-secondary'}), required=False) 61 61 ··· 70 70 model = Ticket 71 71 fields = ['title', 'description', 'category', 'follow_up_to'] 72 72 widgets = { 73 - 'title': forms.TextInput(attrs={'class': 'input input-bordered w-full', 'placeholder': _('Please enter a title'), 'aria-label': _('Title')}), 74 - 'description': forms.Textarea(attrs={'class': 'textarea textarea-bordered h-32 w-full', 'placeholder': _('Please describe your issue'), 'aria-label': _('Description')}), 75 - 'category': forms.Select(attrs={'class': 'select select-bordered w-full'}), 76 - 'follow_up_to': forms.Select(attrs={'class': 'select select-bordered w-full'}), 73 + 'title': forms.TextInput(attrs={'class': 'input w-full', 'placeholder': _('Please enter a title'), 'aria-label': _('Title')}), 74 + 'description': forms.Textarea(attrs={'class': 'textarea h-32 w-full', 'placeholder': _('Please describe your issue'), 'aria-label': _('Description')}), 75 + 'category': forms.Select(attrs={'class': 'select w-full'}), 76 + 'follow_up_to': forms.Select(attrs={'class': 'select w-full'}), 77 77 } 78 78 79 79 def __init__(self, user, *args, **kwargs): ··· 92 92 class TemplateForm(forms.Form): 93 93 94 94 template_select = forms.ModelChoiceField(queryset=Template.objects.all(), widget=forms.Select( 95 - attrs={'class': 'select select-bordered select-sm w-full'})) 95 + attrs={'class': 'select select-sm w-full'})) 96 96 97 97 98 98 class TeamAssignmentForm(forms.Form): 99 99 team_select = forms.ModelChoiceField(queryset=Team.objects.filter(readonly_access=False), empty_label=_('No Team'), required=False, widget=forms.Select( 100 - attrs={'class': 'select select-bordered select-sm w-full'})) 100 + attrs={'class': 'select select-sm w-full'})) 101 101 102 102 103 103 class CategoryAssignmentForm(forms.Form): 104 104 category_select = forms.ModelChoiceField(queryset=Category.objects.all(), empty_label=_('General'), required=False, widget=forms.Select( 105 - attrs={'class': 'select select-bordered select-sm w-full'})) 105 + attrs={'class': 'select select-sm w-full'}))