/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-divide-x-reverse:0}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-100:oklch(93.6% .032 17.717);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-900:oklch(39.6% .141 25.723);--color-orange-50:oklch(98% .016 73.684);--color-orange-100:oklch(95.4% .038 75.164);--color-orange-400:oklch(75% .183 55.934);--color-orange-500:oklch(70.5% .213 47.604);--color-orange-600:oklch(64.6% .222 41.116);--color-orange-700:oklch(55.3% .195 38.402);--color-orange-900:oklch(40.8% .123 38.172);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-amber-900:oklch(41.4% .112 45.904);--color-amber-950:oklch(27.9% .077 45.635);--color-yellow-100:oklch(97.3% .071 103.193);--color-yellow-400:oklch(85.2% .199 91.936);--color-yellow-500:oklch(79.5% .184 86.047);--color-yellow-700:oklch(55.4% .135 66.442);--color-yellow-900:oklch(42.1% .095 57.708);--color-green-50:oklch(98.2% .018 155.826);--color-green-100:oklch(96.2% .044 156.743);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-green-900:oklch(39.3% .095 152.535);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-300:oklch(84.5% .143 164.978);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-600:oklch(59.6% .145 163.225);--color-emerald-700:oklch(50.8% .118 165.612);--color-emerald-900:oklch(37.8% .077 168.94);--color-emerald-950:oklch(26.2% .051 172.552);--color-teal-50:oklch(98.4% .014 180.72);--color-teal-500:oklch(70.4% .14 182.503);--color-teal-600:oklch(60% .118 184.704);--color-cyan-200:oklch(91.7% .08 205.041);--color-cyan-300:oklch(86.5% .127 207.078);--color-cyan-400:oklch(78.9% .154 211.53);--color-cyan-500:oklch(71.5% .143 215.221);--color-cyan-600:oklch(60.9% .126 221.723);--color-cyan-900:oklch(39.8% .07 227.392);--color-sky-500:oklch(68.5% .169 237.323);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-900:oklch(37.9% .146 265.522);--color-indigo-50:oklch(96.2% .018 272.314);--color-indigo-500:oklch(58.5% .233 277.117);--color-indigo-600:oklch(51.1% .262 276.966);--color-indigo-950:oklch(25.7% .09 281.288);--color-violet-50:oklch(96.9% .016 293.756);--color-violet-100:oklch(94.3% .029 294.588);--color-violet-300:oklch(81.1% .111 293.571);--color-violet-400:oklch(70.2% .183 293.541);--color-violet-500:oklch(60.6% .25 292.717);--color-violet-600:oklch(54.1% .281 293.009);--color-violet-900:oklch(38% .189 293.745);--color-violet-950:oklch(28.3% .141 291.089);--color-purple-50:oklch(97.7% .014 308.299);--color-purple-600:oklch(55.8% .288 302.321);--color-fuchsia-500:oklch(66.7% .295 322.15);--color-pink-50:oklch(97.1% .014 343.198);--color-pink-200:oklch(89.9% .061 343.231);--color-pink-900:oklch(40.8% .153 2.432);--color-pink-950:oklch(28.4% .109 3.907);--color-rose-300:oklch(81% .117 11.638);--color-rose-400:oklch(71.2% .194 13.428);--color-rose-500:oklch(64.5% .246 16.439);--color-rose-600:oklch(58.6% .253 17.585);--color-rose-950:oklch(27.1% .105 12.094);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--color-slate-950:oklch(12.9% .042 264.695);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-neutral-700:oklch(37.1% 0 none);--color-neutral-900:oklch(20.5% 0 none);--color-neutral-950:oklch(14.5% 0 none);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--container-6xl:72rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--text-8xl:6rem;--text-8xl--line-height:1;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-weight-black:900;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--radius-xs:.125rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--blur-xl:24px;--blur-2xl:40px;--blur-3xl:64px;--aspect-video:16 / 9;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-foreground:var(--foreground);--color-primary:var(--primary);--color-muted-foreground:var(--muted-foreground);--color-border:var(--border)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){*{outline-color:color-mix(in oklab, var(--ring) 50%, transparent)}}html{font-family:var(--font-sans,Inter), Inter, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"}body{background-color:var(--background);color:var(--foreground);background-image:var(--palette-body-image,none);background-attachment:fixed;background-size:var(--palette-body-size,auto)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display,var(--font-sans,Inter)), Inter, ui-sans-serif, system-ui, sans-serif}}@layer components;@layer utilities{.\@container\/card-header{container:card-header/inline-size}.\@container\/field-group{container:field-group/inline-size}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.-inset-4{inset:calc(var(--spacing) * -4)}.inset-0{inset:0}.inset-x-0{inset-inline:0}.inset-x-6{inset-inline:calc(var(--spacing) * 6)}.inset-y-0{inset-block:0}.-top-1{top:calc(var(--spacing) * -1)}.-top-2{top:calc(var(--spacing) * -2)}.-top-3{top:calc(var(--spacing) * -3)}.-top-3\.5{top:calc(var(--spacing) * -3.5)}.-top-12{top:calc(var(--spacing) * -12)}.-top-24{top:calc(var(--spacing) * -24)}.-top-32{top:calc(var(--spacing) * -32)}.-top-40{top:calc(var(--spacing) * -40)}.top-0{top:0}.top-1{top:var(--spacing)}.top-1\.5{top:calc(var(--spacing) * 1.5)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-3{top:calc(var(--spacing) * 3)}.top-3\.5{top:calc(var(--spacing) * 3.5)}.top-4{top:calc(var(--spacing) * 4)}.top-6{top:calc(var(--spacing) * 6)}.top-10{top:calc(var(--spacing) * 10)}.top-\[1px\]{top:1px}.top-\[50\%\]{top:50%}.top-\[60\%\]{top:60%}.top-full{top:100%}.-right-1{right:calc(var(--spacing) * -1)}.-right-2{right:calc(var(--spacing) * -2)}.-right-12{right:calc(var(--spacing) * -12)}.-right-24{right:calc(var(--spacing) * -24)}.-right-32{right:calc(var(--spacing) * -32)}.right-0{right:0}.right-1{right:var(--spacing)}.right-1\.5{right:calc(var(--spacing) * 1.5)}.right-1\/4{right:25%}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.right-4{right:calc(var(--spacing) * 4)}.right-24{right:calc(var(--spacing) * 24)}.-bottom-3{bottom:calc(var(--spacing) * -3)}.-bottom-8{bottom:calc(var(--spacing) * -8)}.-bottom-12{bottom:calc(var(--spacing) * -12)}.-bottom-16{bottom:calc(var(--spacing) * -16)}.-bottom-24{bottom:calc(var(--spacing) * -24)}.-bottom-40{bottom:calc(var(--spacing) * -40)}.bottom-0{bottom:0}.bottom-4{bottom:calc(var(--spacing) * 4)}.bottom-6{bottom:calc(var(--spacing) * 6)}.-left-3{left:calc(var(--spacing) * -3)}.-left-12{left:calc(var(--spacing) * -12)}.-left-16{left:calc(var(--spacing) * -16)}.-left-24{left:calc(var(--spacing) * -24)}.-left-\[1\.4375rem\]{left:-1.4375rem}.left-0{left:0}.left-1\/2{left:50%}.left-1\/4{left:25%}.left-2{left:calc(var(--spacing) * 2)}.left-2\.5{left:calc(var(--spacing) * 2.5)}.left-3{left:calc(var(--spacing) * 3)}.left-24{left:calc(var(--spacing) * 24)}.left-\[50\%\]{left:50%}.isolate{isolation:isolate}.-z-10{z-index:calc(10 * -1)}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[1\]{z-index:1}.order-1{order:1}.order-2{order:2}.order-first{order:-9999}.order-last{order:9999}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.\!m-0{margin:0!important}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.-mx-2{margin-inline:calc(var(--spacing) * -2)}.-mx-6{margin-inline:calc(var(--spacing) * -6)}.mx-1{margin-inline:var(--spacing)}.mx-2{margin-inline:calc(var(--spacing) * 2)}.mx-3\.5{margin-inline:calc(var(--spacing) * 3.5)}.mx-6{margin-inline:calc(var(--spacing) * 6)}.mx-auto{margin-inline:auto}.-my-1{margin-block:calc(var(--spacing) * -1)}.-my-2{margin-block:calc(var(--spacing) * -2)}.my-0{margin-block:0}.my-0\.5{margin-block:calc(var(--spacing) * .5)}.my-1{margin-block:var(--spacing)}.my-2{margin-block:calc(var(--spacing) * 2)}.my-3{margin-block:calc(var(--spacing) * 3)}.my-4{margin-block:calc(var(--spacing) * 4)}.my-6{margin-block:calc(var(--spacing) * 6)}.my-8{margin-block:calc(var(--spacing) * 8)}.my-10{margin-block:calc(var(--spacing) * 10)}.my-12{margin-block:calc(var(--spacing) * 12)}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);margin-top:1.2em;margin-bottom:1.2em;font-size:1.25em;line-height:1.6}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:decimal}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:disc}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.25em;font-weight:600}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em;font-style:italic;font-weight:500}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:0;margin-bottom:.888889em;font-size:2.25em;font-weight:800;line-height:1.11111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:2em;margin-bottom:1em;font-size:1.5em;font-weight:700;line-height:1.33333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;font-weight:600;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em;display:block}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows), 0 3px 0 var(--tw-prose-kbd-shadows);padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;border-radius:.3125rem;padding-inline-start:.375em;font-family:inherit;font-size:.875em;font-weight:500}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);padding-top:.857143em;padding-inline-end:1.14286em;padding-bottom:.857143em;border-radius:.375rem;margin-top:1.71429em;margin-bottom:1.71429em;padding-inline-start:1.14286em;font-size:.875em;font-weight:400;line-height:1.71429;overflow-x:auto}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;background-color:#0000;border-width:0;border-radius:0;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){table-layout:auto;width:100%;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.71429}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);vertical-align:bottom;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em;font-weight:600}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);margin-top:.857143em;font-size:.875em;line-height:1.42857}.prose{--tw-prose-body:oklch(37.3% .034 259.733);--tw-prose-headings:oklch(21% .034 264.665);--tw-prose-lead:oklch(44.6% .03 256.802);--tw-prose-links:oklch(21% .034 264.665);--tw-prose-bold:oklch(21% .034 264.665);--tw-prose-counters:oklch(55.1% .027 264.364);--tw-prose-bullets:oklch(87.2% .01 258.338);--tw-prose-hr:oklch(92.8% .006 264.531);--tw-prose-quotes:oklch(21% .034 264.665);--tw-prose-quote-borders:oklch(92.8% .006 264.531);--tw-prose-captions:oklch(55.1% .027 264.364);--tw-prose-kbd:oklch(21% .034 264.665);--tw-prose-kbd-shadows:oklab(21% -.00316127 -.0338527/.1);--tw-prose-code:oklch(21% .034 264.665);--tw-prose-pre-code:oklch(92.8% .006 264.531);--tw-prose-pre-bg:oklch(27.8% .033 256.848);--tw-prose-th-borders:oklch(87.2% .01 258.338);--tw-prose-td-borders:oklch(92.8% .006 264.531);--tw-prose-invert-body:oklch(87.2% .01 258.338);--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:oklch(70.7% .022 261.325);--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:oklch(70.7% .022 261.325);--tw-prose-invert-bullets:oklch(44.6% .03 256.802);--tw-prose-invert-hr:oklch(37.3% .034 259.733);--tw-prose-invert-quotes:oklch(96.7% .003 264.542);--tw-prose-invert-quote-borders:oklch(37.3% .034 259.733);--tw-prose-invert-captions:oklch(70.7% .022 261.325);--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:#ffffff1a;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:oklch(87.2% .01 258.338);--tw-prose-invert-pre-bg:#00000080;--tw-prose-invert-th-borders:oklch(44.6% .03 256.802);--tw-prose-invert-td-borders:oklch(37.3% .034 259.733);font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.571429em;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose-sm{font-size:.875rem;line-height:1.71429}.prose-sm :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em}.prose-sm :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.888889em;margin-bottom:.888889em;font-size:1.28571em;line-height:1.55556}.prose-sm :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.33333em;margin-bottom:1.33333em;padding-inline-start:1.11111em}.prose-sm :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:.8em;font-size:2.14286em;line-height:1.2}.prose-sm :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.6em;margin-bottom:.8em;font-size:1.42857em;line-height:1.4}.prose-sm :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.55556em;margin-bottom:.444444em;font-size:1.28571em;line-height:1.55556}.prose-sm :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.42857em;margin-bottom:.571429em;line-height:1.42857}.prose-sm :where(img):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.prose-sm :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.prose-sm :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.142857em;padding-inline-end:.357143em;padding-bottom:.142857em;border-radius:.3125rem;padding-inline-start:.357143em;font-size:.857143em}.prose-sm :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.857143em}.prose-sm :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.prose-sm :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.888889em}.prose-sm :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.666667em;padding-inline-end:1em;padding-bottom:.666667em;border-radius:.25rem;margin-top:1.66667em;margin-bottom:1.66667em;padding-inline-start:1em;font-size:.857143em;line-height:1.66667}.prose-sm :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em;padding-inline-start:1.57143em}.prose-sm :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.285714em;margin-bottom:.285714em}.prose-sm :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.428571em}.prose-sm :where(.prose-sm>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.571429em;margin-bottom:.571429em}.prose-sm :where(.prose-sm>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.prose-sm :where(.prose-sm>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.14286em}.prose-sm :where(.prose-sm>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.prose-sm :where(.prose-sm>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.14286em}.prose-sm :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.571429em;margin-bottom:.571429em}.prose-sm :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em}.prose-sm :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.prose-sm :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.285714em;padding-inline-start:1.57143em}.prose-sm :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2.85714em;margin-bottom:2.85714em}.prose-sm :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.857143em;line-height:1.5}.prose-sm :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:1em;padding-bottom:.666667em;padding-inline-start:1em}.prose-sm :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.666667em;padding-inline-end:1em;padding-bottom:.666667em;padding-inline-start:1em}.prose-sm :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.prose-sm :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.666667em;font-size:.857143em;line-height:1.33333}.prose-sm :where(.prose-sm>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(.prose-sm>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.-mt-4{margin-top:calc(var(--spacing) * -4)}.mt-0{margin-top:0}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-12{margin-top:calc(var(--spacing) * 12)}.mt-14{margin-top:calc(var(--spacing) * 14)}.mt-16{margin-top:calc(var(--spacing) * 16)}.mt-20{margin-top:calc(var(--spacing) * 20)}.mt-auto{margin-top:auto}.mr-1{margin-right:var(--spacing)}.mr-1\.5{margin-right:calc(var(--spacing) * 1.5)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mr-auto{margin-right:auto}.mb-1{margin-bottom:var(--spacing)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-2\.5{margin-bottom:calc(var(--spacing) * 2.5)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.mb-12{margin-bottom:calc(var(--spacing) * 12)}.-ml-1{margin-left:calc(var(--spacing) * -1)}.-ml-4{margin-left:calc(var(--spacing) * -4)}.ml-0\.5{margin-left:calc(var(--spacing) * .5)}.ml-1{margin-left:var(--spacing)}.ml-1\.5{margin-left:calc(var(--spacing) * 1.5)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-auto{margin-left:auto}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.list-item{display:list-item}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-row{display:table-row}.field-sizing-content{field-sizing:content}.aspect-\[5\/3\]{aspect-ratio:5/3}.aspect-\[9\/19\]{aspect-ratio:9/19}.aspect-square{aspect-ratio:1}.aspect-video{aspect-ratio:var(--aspect-video)}.size-\(--cell-size\){width:var(--cell-size);height:var(--cell-size)}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-4\!{width:calc(var(--spacing) * 4)!important;height:calc(var(--spacing) * 4)!important}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-5\!{width:calc(var(--spacing) * 5)!important;height:calc(var(--spacing) * 5)!important}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-auto{width:auto;height:auto}.size-full{width:100%;height:100%}.\!h-5{height:calc(var(--spacing) * 5)!important}.\!h-32{height:calc(var(--spacing) * 32)!important}.h-\(--cell-size\){height:var(--cell-size)}.h-0\.5{height:calc(var(--spacing) * .5)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-16{height:calc(var(--spacing) * 16)}.h-20{height:calc(var(--spacing) * 20)}.h-24{height:calc(var(--spacing) * 24)}.h-32{height:calc(var(--spacing) * 32)}.h-34{height:calc(var(--spacing) * 34)}.h-36{height:calc(var(--spacing) * 36)}.h-56{height:calc(var(--spacing) * 56)}.h-64{height:calc(var(--spacing) * 64)}.h-65{height:calc(var(--spacing) * 65)}.h-72{height:calc(var(--spacing) * 72)}.h-80{height:calc(var(--spacing) * 80)}.h-96{height:calc(var(--spacing) * 96)}.h-105{height:calc(var(--spacing) * 105)}.h-125{height:calc(var(--spacing) * 125)}.h-\[1\.2rem\]{height:1.2rem}.h-\[1\.15rem\]{height:1.15rem}.h-\[40rem\]{height:40rem}.h-\[100dvh\]{height:100dvh}.h-\[calc\(100\%-1px\)\]{height:calc(100% - 1px)}.h-\[calc\(100dvh-var\(--header-h\,4rem\)-var\(--tab-nav-h\,3rem\)\)\]{height:calc(100dvh - var(--header-h,4rem) - var(--tab-nav-h,3rem))}.h-\[calc\(100vh-280px\)\]{height:calc(100vh - 280px)}.h-\[min\(70vh\,720px\)\]{height:min(70vh,720px)}.h-\[var\(--radix-navigation-menu-viewport-height\)\]{height:var(--radix-navigation-menu-viewport-height)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.h-svh{height:100svh}.max-h-\(--radix-context-menu-content-available-height\){max-height:var(--radix-context-menu-content-available-height)}.max-h-\(--radix-dropdown-menu-content-available-height\){max-height:var(--radix-dropdown-menu-content-available-height)}.max-h-\(--radix-select-content-available-height\){max-height:var(--radix-select-content-available-height)}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-72{max-height:calc(var(--spacing) * 72)}.max-h-80{max-height:calc(var(--spacing) * 80)}.max-h-100{max-height:calc(var(--spacing) * 100)}.max-h-\[85vh\]{max-height:85vh}.max-h-\[100dvh\]{max-height:100dvh}.max-h-\[300px\]{max-height:300px}.max-h-\[min\(360px\,calc\(var\(--radix-popover-content-available-height\)-1rem\)\)\]{max-height:min(360px, calc(var(--radix-popover-content-available-height) - 1rem))}.min-h-0{min-height:0}.min-h-4{min-height:calc(var(--spacing) * 4)}.min-h-16{min-height:calc(var(--spacing) * 16)}.min-h-\[120px\]{min-height:120px}.min-h-\[168px\]{min-height:168px}.min-h-\[180px\]{min-height:180px}.min-h-\[500px\]{min-height:500px}.min-h-\[calc\(85vh-64px\)\]{min-height:calc(85vh - 64px)}.min-h-\[calc\(100vh-8rem\)\]{min-height:calc(100vh - 8rem)}.min-h-dvh{min-height:100dvh}.min-h-screen{min-height:100vh}.min-h-svh{min-height:100svh}.w-\(--cell-size\){width:var(--cell-size)}.w-\(--radix-dropdown-menu-trigger-width\){width:var(--radix-dropdown-menu-trigger-width)}.w-\(--sidebar-width\){width:var(--sidebar-width)}.w-0{width:0}.w-1{width:var(--spacing)}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-1\/2{width:50%}.w-1\/3{width:33.3333%}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-2\/3{width:66.6667%}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-14{width:calc(var(--spacing) * 14)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-24{width:calc(var(--spacing) * 24)}.w-28{width:calc(var(--spacing) * 28)}.w-32{width:calc(var(--spacing) * 32)}.w-36{width:calc(var(--spacing) * 36)}.w-40{width:calc(var(--spacing) * 40)}.w-44{width:calc(var(--spacing) * 44)}.w-48{width:calc(var(--spacing) * 48)}.w-56{width:calc(var(--spacing) * 56)}.w-60{width:calc(var(--spacing) * 60)}.w-64{width:calc(var(--spacing) * 64)}.w-72{width:calc(var(--spacing) * 72)}.w-80{width:calc(var(--spacing) * 80)}.w-90{width:calc(var(--spacing) * 90)}.w-96{width:calc(var(--spacing) * 96)}.w-100{width:calc(var(--spacing) * 100)}.w-125{width:calc(var(--spacing) * 125)}.w-\[1\.2rem\]{width:1.2rem}.w-\[10\%\]{width:10%}.w-\[38\%\]{width:38%}.w-\[42\%\]{width:42%}.w-\[85vw\]{width:85vw}.w-\[90vw\]{width:90vw}.w-\[95vw\]{width:95vw}.w-\[100px\]{width:100px}.w-\[var\(--radix-popover-trigger-width\)\]{width:var(--radix-popover-trigger-width)}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-max{width:max-content}.w-px{width:1px}.w-screen{width:100vw}.max-w-\(--skeleton-width\){max-width:var(--skeleton-width)}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-20{max-width:calc(var(--spacing) * 20)}.max-w-30{max-width:calc(var(--spacing) * 30)}.max-w-40{max-width:calc(var(--spacing) * 40)}.max-w-45{max-width:calc(var(--spacing) * 45)}.max-w-105{max-width:calc(var(--spacing) * 105)}.max-w-155{max-width:calc(var(--spacing) * 155)}.max-w-\[90vw\]{max-width:90vw}.max-w-\[95vw\]{max-width:95vw}.max-w-\[180px\]{max-width:180px}.max-w-\[260px\]{max-width:260px}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-max{max-width:max-content}.max-w-md{max-width:var(--container-md)}.max-w-none{max-width:none}.max-w-prose{max-width:65ch}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.min-w-\(--cell-size\){min-width:var(--cell-size)}.min-w-0{min-width:0}.min-w-4{min-width:calc(var(--spacing) * 4)}.min-w-5{min-width:calc(var(--spacing) * 5)}.min-w-8{min-width:calc(var(--spacing) * 8)}.min-w-9{min-width:calc(var(--spacing) * 9)}.min-w-10{min-width:calc(var(--spacing) * 10)}.min-w-35{min-width:calc(var(--spacing) * 35)}.min-w-56{min-width:calc(var(--spacing) * 56)}.min-w-64{min-width:calc(var(--spacing) * 64)}.min-w-140{min-width:calc(var(--spacing) * 140)}.min-w-160{min-width:calc(var(--spacing) * 160)}.min-w-\[8rem\]{min-width:8rem}.min-w-\[12rem\]{min-width:12rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.flex-1{flex:1}.flex-shrink,.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-20{flex-basis:calc(var(--spacing) * 20)}.basis-50{flex-basis:calc(var(--spacing) * 50)}.basis-60{flex-basis:calc(var(--spacing) * 60)}.basis-full{flex-basis:100%}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.origin-\(--radix-context-menu-content-transform-origin\){transform-origin:var(--radix-context-menu-content-transform-origin)}.origin-\(--radix-dropdown-menu-content-transform-origin\){transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.origin-\(--radix-hover-card-content-transform-origin\){transform-origin:var(--radix-hover-card-content-transform-origin)}.origin-\(--radix-menubar-content-transform-origin\){transform-origin:var(--radix-menubar-content-transform-origin)}.origin-\(--radix-popover-content-transform-origin\){transform-origin:var(--radix-popover-content-transform-origin)}.origin-\(--radix-select-content-transform-origin\){transform-origin:var(--radix-select-content-transform-origin)}.origin-\(--radix-tooltip-content-transform-origin\){transform-origin:var(--radix-tooltip-content-transform-origin)}.-translate-x-1{--tw-translate-x:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-x-px{--tw-translate-x:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-0{--tw-translate-x:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-4{--tw-translate-x:calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-\[-50\%\]{--tw-translate-x:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-px{--tw-translate-x:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-0\.5{--tw-translate-y:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[calc\(-50\%_-_2px\)\]{--tw-translate-y:calc(-50% - 2px);translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-0{--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.rotate-0{rotate:0deg}.rotate-45{rotate:45deg}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.touch-none{touch-action:none}.resize{resize:both}.resize-none{resize:none}.resize-y{resize:vertical}.scroll-my-1{scroll-margin-block:var(--spacing)}.scroll-py-1{scroll-padding-block:var(--spacing)}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-\[0_1fr\]{grid-template-columns:0 1fr}.grid-cols-\[80px_1fr_1fr_80px_36px\]{grid-template-columns:80px 1fr 1fr 80px 36px}.grid-cols-\[auto_1fr_auto\]{grid-template-columns:auto 1fr auto}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.place-content-center{place-content:center}.place-items-center{place-items:center}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.justify-items-center{justify-items:center}.justify-items-start{justify-items:start}.gap-0{gap:0}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-7{gap:calc(var(--spacing) * 7)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-10{gap:calc(var(--spacing) * 10)}.gap-12{gap:calc(var(--spacing) * 12)}.gap-\[--spacing\(var\(--gap\)\)\]{gap:calc(var(--spacing) * var(--gap))}:where(.space-y-0>:not(:last-child)){--tw-space-y-reverse:0;margin-block:0}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-7>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 7) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 7) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-10>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 10) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 10) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-12>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 12) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 12) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-14>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 14) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 14) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-16>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 16) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 16) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-x-6{column-gap:calc(var(--spacing) * 6)}.gap-x-8{column-gap:calc(var(--spacing) * 8)}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-3>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 3) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-x-reverse)))}.gap-y-0\.5{row-gap:calc(var(--spacing) * .5)}.gap-y-1{row-gap:var(--spacing)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-border>:not(:last-child)),:where(.divide-border\/40>:not(:last-child)){border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){:where(.divide-border\/40>:not(:last-child)){border-color:color-mix(in oklab, var(--border) 40%, transparent)}}.self-end{align-self:flex-end}.self-start{align-self:flex-start}.self-stretch{align-self:stretch}.justify-self-end{justify-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-\[2\.4rem\]{border-radius:2.4rem}.rounded-\[2px\]{border-radius:2px}.rounded-\[4px\]{border-radius:4px}.rounded-\[calc\(var\(--radius\)-5px\)\]{border-radius:calc(var(--radius) - 5px)}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-none{border-radius:0}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.rounded-xs{border-radius:var(--radius-xs)}.rounded-l-md{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.rounded-tl-sm{border-top-left-radius:calc(var(--radius) - 4px)}.rounded-r-md{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-3{border-style:var(--tw-border-style);border-width:3px}.border-\[1\.5px\]{border-style:var(--tw-border-style);border-width:1.5px}.border-\[6px\]{border-style:var(--tw-border-style);border-width:6px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-r-0{border-right-style:var(--tw-border-style);border-right-width:0}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\(--color-border\){border-color:var(--color-border)}.border-\[\#3F51B5\]\/20{border-color:oklab(47.8202% .00389016 -.158877/.2)}.border-amber-500{border-color:var(--color-amber-500)}.border-amber-500\/40{border-color:#f99c0066}@supports (color:color-mix(in lab, red, red)){.border-amber-500\/40{border-color:color-mix(in oklab, var(--color-amber-500) 40%, transparent)}}.border-blue-500\/40{border-color:#3080ff66}@supports (color:color-mix(in lab, red, red)){.border-blue-500\/40{border-color:color-mix(in oklab, var(--color-blue-500) 40%, transparent)}}.border-border,.border-border\/40{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.border-border\/40{border-color:color-mix(in oklab, var(--border) 40%, transparent)}}.border-border\/50{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.border-border\/50{border-color:color-mix(in oklab, var(--border) 50%, transparent)}}.border-border\/60{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.border-border\/60{border-color:color-mix(in oklab, var(--border) 60%, transparent)}}.border-current{border-color:currentColor}.border-destructive,.border-destructive\/30{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.border-destructive\/30{border-color:color-mix(in oklab, var(--destructive) 30%, transparent)}}.border-destructive\/40{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.border-destructive\/40{border-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.border-emerald-200{border-color:var(--color-emerald-200)}.border-emerald-500{border-color:var(--color-emerald-500)}.border-emerald-500\/30{border-color:#00bb7f4d}@supports (color:color-mix(in lab, red, red)){.border-emerald-500\/30{border-color:color-mix(in oklab, var(--color-emerald-500) 30%, transparent)}}.border-emerald-500\/40{border-color:#00bb7f66}@supports (color:color-mix(in lab, red, red)){.border-emerald-500\/40{border-color:color-mix(in oklab, var(--color-emerald-500) 40%, transparent)}}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-gray-700{border-color:var(--color-gray-700)}.border-gray-800{border-color:var(--color-gray-800)}.border-input{border-color:var(--input)}.border-muted{border-color:var(--muted)}.border-neutral-900{border-color:var(--color-neutral-900)}.border-primary,.border-primary\/20{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.border-primary\/20{border-color:color-mix(in oklab, var(--primary) 20%, transparent)}}.border-primary\/25{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.border-primary\/25{border-color:color-mix(in oklab, var(--primary) 25%, transparent)}}.border-primary\/30{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.border-primary\/30{border-color:color-mix(in oklab, var(--primary) 30%, transparent)}}.border-primary\/40{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.border-primary\/40{border-color:color-mix(in oklab, var(--primary) 40%, transparent)}}.border-primary\/60{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.border-primary\/60{border-color:color-mix(in oklab, var(--primary) 60%, transparent)}}.border-red-500\/40{border-color:#fb2c3666}@supports (color:color-mix(in lab, red, red)){.border-red-500\/40{border-color:color-mix(in oklab, var(--color-red-500) 40%, transparent)}}.border-rose-500\/30{border-color:#ff23574d}@supports (color:color-mix(in lab, red, red)){.border-rose-500\/30{border-color:color-mix(in oklab, var(--color-rose-500) 30%, transparent)}}.border-sidebar-border{border-color:var(--sidebar-border)}.border-slate-200{border-color:var(--color-slate-200)}.border-slate-500\/40{border-color:#62748e66}@supports (color:color-mix(in lab, red, red)){.border-slate-500\/40{border-color:color-mix(in oklab, var(--color-slate-500) 40%, transparent)}}.border-slate-700{border-color:var(--color-slate-700)}.border-slate-800{border-color:var(--color-slate-800)}.border-transparent{border-color:#0000}.border-violet-500{border-color:var(--color-violet-500)}.border-violet-500\/30{border-color:#8d54ff4d}@supports (color:color-mix(in lab, red, red)){.border-violet-500\/30{border-color:color-mix(in oklab, var(--color-violet-500) 30%, transparent)}}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.border-white\/10{border-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.border-t-primary{border-top-color:var(--primary)}.border-t-transparent{border-top-color:#0000}.border-l-transparent{border-left-color:#0000}.\!bg-transparent{background-color:#0000!important}.bg-\(--color-bg\){background-color:var(--color-bg)}.bg-\[\#3F51B5\]\/10{background-color:oklab(47.8202% .00389016 -.158877/.1)}.bg-\[\#f5f4f2\]{background-color:#f5f4f2}.bg-accent,.bg-accent\/40{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.bg-accent\/40{background-color:color-mix(in oklab, var(--accent) 40%, transparent)}}.bg-amber-50{background-color:var(--color-amber-50)}.bg-amber-200{background-color:var(--color-amber-200)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-amber-500\/5{background-color:#f99c000d}@supports (color:color-mix(in lab, red, red)){.bg-amber-500\/5{background-color:color-mix(in oklab, var(--color-amber-500) 5%, transparent)}}.bg-amber-500\/10{background-color:#f99c001a}@supports (color:color-mix(in lab, red, red)){.bg-amber-500\/10{background-color:color-mix(in oklab, var(--color-amber-500) 10%, transparent)}}.bg-amber-500\/45{background-color:#f99c0073}@supports (color:color-mix(in lab, red, red)){.bg-amber-500\/45{background-color:color-mix(in oklab, var(--color-amber-500) 45%, transparent)}}.bg-background,.bg-background\/60{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.bg-background\/60{background-color:color-mix(in oklab, var(--background) 60%, transparent)}}.bg-background\/70{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.bg-background\/70{background-color:color-mix(in oklab, var(--background) 70%, transparent)}}.bg-background\/80{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.bg-background\/80{background-color:color-mix(in oklab, var(--background) 80%, transparent)}}.bg-background\/90{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.bg-background\/90{background-color:color-mix(in oklab, var(--background) 90%, transparent)}}.bg-black{background-color:var(--color-black)}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab, red, red)){.bg-black\/50{background-color:color-mix(in oklab, var(--color-black) 50%, transparent)}}.bg-blue-50\/60{background-color:#eff6ff99}@supports (color:color-mix(in lab, red, red)){.bg-blue-50\/60{background-color:color-mix(in oklab, var(--color-blue-50) 60%, transparent)}}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-500\/10{background-color:#3080ff1a}@supports (color:color-mix(in lab, red, red)){.bg-blue-500\/10{background-color:color-mix(in oklab, var(--color-blue-500) 10%, transparent)}}.bg-blue-600{background-color:var(--color-blue-600)}.bg-border,.bg-border\/40{background-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.bg-border\/40{background-color:color-mix(in oklab, var(--border) 40%, transparent)}}.bg-card,.bg-card\/40{background-color:var(--card)}@supports (color:color-mix(in lab, red, red)){.bg-card\/40{background-color:color-mix(in oklab, var(--card) 40%, transparent)}}.bg-card\/60{background-color:var(--card)}@supports (color:color-mix(in lab, red, red)){.bg-card\/60{background-color:color-mix(in oklab, var(--card) 60%, transparent)}}.bg-card\/70{background-color:var(--card)}@supports (color:color-mix(in lab, red, red)){.bg-card\/70{background-color:color-mix(in oklab, var(--card) 70%, transparent)}}.bg-card\/80{background-color:var(--card)}@supports (color:color-mix(in lab, red, red)){.bg-card\/80{background-color:color-mix(in oklab, var(--card) 80%, transparent)}}.bg-card\/95{background-color:var(--card)}@supports (color:color-mix(in lab, red, red)){.bg-card\/95{background-color:color-mix(in oklab, var(--card) 95%, transparent)}}.bg-cyan-500{background-color:var(--color-cyan-500)}.bg-destructive,.bg-destructive\/5{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.bg-destructive\/5{background-color:color-mix(in oklab, var(--destructive) 5%, transparent)}}.bg-destructive\/10{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.bg-destructive\/10{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-emerald-100{background-color:var(--color-emerald-100)}.bg-emerald-200{background-color:var(--color-emerald-200)}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-emerald-500\/5{background-color:#00bb7f0d}@supports (color:color-mix(in lab, red, red)){.bg-emerald-500\/5{background-color:color-mix(in oklab, var(--color-emerald-500) 5%, transparent)}}.bg-emerald-500\/10{background-color:#00bb7f1a}@supports (color:color-mix(in lab, red, red)){.bg-emerald-500\/10{background-color:color-mix(in oklab, var(--color-emerald-500) 10%, transparent)}}.bg-emerald-500\/20{background-color:#00bb7f33}@supports (color:color-mix(in lab, red, red)){.bg-emerald-500\/20{background-color:color-mix(in oklab, var(--color-emerald-500) 20%, transparent)}}.bg-emerald-500\/45{background-color:#00bb7f73}@supports (color:color-mix(in lab, red, red)){.bg-emerald-500\/45{background-color:color-mix(in oklab, var(--color-emerald-500) 45%, transparent)}}.bg-emerald-600{background-color:var(--color-emerald-600)}.bg-foreground,.bg-foreground\/40{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.bg-foreground\/40{background-color:color-mix(in oklab, var(--foreground) 40%, transparent)}}.bg-fuchsia-500\/45{background-color:#e12afb73}@supports (color:color-mix(in lab, red, red)){.bg-fuchsia-500\/45{background-color:color-mix(in oklab, var(--color-fuchsia-500) 45%, transparent)}}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-500{background-color:var(--color-gray-500)}.bg-gray-500\/10{background-color:#6a72821a}@supports (color:color-mix(in lab, red, red)){.bg-gray-500\/10{background-color:color-mix(in oklab, var(--color-gray-500) 10%, transparent)}}.bg-green-50\/60{background-color:#f0fdf499}@supports (color:color-mix(in lab, red, red)){.bg-green-50\/60{background-color:color-mix(in oklab, var(--color-green-50) 60%, transparent)}}.bg-green-100{background-color:var(--color-green-100)}.bg-green-500{background-color:var(--color-green-500)}.bg-green-600{background-color:var(--color-green-600)}.bg-indigo-600\/40{background-color:#4f39f666}@supports (color:color-mix(in lab, red, red)){.bg-indigo-600\/40{background-color:color-mix(in oklab, var(--color-indigo-600) 40%, transparent)}}.bg-indigo-600\/70{background-color:#4f39f6b3}@supports (color:color-mix(in lab, red, red)){.bg-indigo-600\/70{background-color:color-mix(in oklab, var(--color-indigo-600) 70%, transparent)}}.bg-input{background-color:var(--input)}.bg-muted{background-color:var(--muted)}.bg-muted-foreground\/40{background-color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.bg-muted-foreground\/40{background-color:color-mix(in oklab, var(--muted-foreground) 40%, transparent)}}.bg-muted-foreground\/60{background-color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.bg-muted-foreground\/60{background-color:color-mix(in oklab, var(--muted-foreground) 60%, transparent)}}.bg-muted\/10{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/10{background-color:color-mix(in oklab, var(--muted) 10%, transparent)}}.bg-muted\/20{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/20{background-color:color-mix(in oklab, var(--muted) 20%, transparent)}}.bg-muted\/30{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/30{background-color:color-mix(in oklab, var(--muted) 30%, transparent)}}.bg-muted\/40{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/40{background-color:color-mix(in oklab, var(--muted) 40%, transparent)}}.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/50{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.bg-muted\/60{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/60{background-color:color-mix(in oklab, var(--muted) 60%, transparent)}}.bg-muted\/90{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/90{background-color:color-mix(in oklab, var(--muted) 90%, transparent)}}.bg-neutral-900{background-color:var(--color-neutral-900)}.bg-orange-50\/60{background-color:#fff7ed99}@supports (color:color-mix(in lab, red, red)){.bg-orange-50\/60{background-color:color-mix(in oklab, var(--color-orange-50) 60%, transparent)}}.bg-orange-100{background-color:var(--color-orange-100)}.bg-orange-500{background-color:var(--color-orange-500)}.bg-orange-600{background-color:var(--color-orange-600)}.bg-popover{background-color:var(--popover)}.bg-primary{background-color:var(--primary)}.bg-primary-foreground,.bg-primary-foreground\/5{background-color:var(--primary-foreground)}@supports (color:color-mix(in lab, red, red)){.bg-primary-foreground\/5{background-color:color-mix(in oklab, var(--primary-foreground) 5%, transparent)}}.bg-primary-foreground\/10{background-color:var(--primary-foreground)}@supports (color:color-mix(in lab, red, red)){.bg-primary-foreground\/10{background-color:color-mix(in oklab, var(--primary-foreground) 10%, transparent)}}.bg-primary-foreground\/20{background-color:var(--primary-foreground)}@supports (color:color-mix(in lab, red, red)){.bg-primary-foreground\/20{background-color:color-mix(in oklab, var(--primary-foreground) 20%, transparent)}}.bg-primary-foreground\/30{background-color:var(--primary-foreground)}@supports (color:color-mix(in lab, red, red)){.bg-primary-foreground\/30{background-color:color-mix(in oklab, var(--primary-foreground) 30%, transparent)}}.bg-primary\/5{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/5{background-color:color-mix(in oklab, var(--primary) 5%, transparent)}}.bg-primary\/8{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/8{background-color:color-mix(in oklab, var(--primary) 8%, transparent)}}.bg-primary\/10{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/10{background-color:color-mix(in oklab, var(--primary) 10%, transparent)}}.bg-primary\/15{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/15{background-color:color-mix(in oklab, var(--primary) 15%, transparent)}}.bg-primary\/20{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/20{background-color:color-mix(in oklab, var(--primary) 20%, transparent)}}.bg-primary\/40{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/40{background-color:color-mix(in oklab, var(--primary) 40%, transparent)}}.bg-primary\/80{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/80{background-color:color-mix(in oklab, var(--primary) 80%, transparent)}}.bg-primary\/90{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/90{background-color:color-mix(in oklab, var(--primary) 90%, transparent)}}.bg-purple-50\/60{background-color:#faf5ff99}@supports (color:color-mix(in lab, red, red)){.bg-purple-50\/60{background-color:color-mix(in oklab, var(--color-purple-50) 60%, transparent)}}.bg-purple-600{background-color:var(--color-purple-600)}.bg-red-100{background-color:var(--color-red-100)}.bg-red-500{background-color:var(--color-red-500)}.bg-red-500\/5{background-color:#fb2c360d}@supports (color:color-mix(in lab, red, red)){.bg-red-500\/5{background-color:color-mix(in oklab, var(--color-red-500) 5%, transparent)}}.bg-red-600{background-color:var(--color-red-600)}.bg-rose-500\/5{background-color:#ff23570d}@supports (color:color-mix(in lab, red, red)){.bg-rose-500\/5{background-color:color-mix(in oklab, var(--color-rose-500) 5%, transparent)}}.bg-rose-500\/10{background-color:#ff23571a}@supports (color:color-mix(in lab, red, red)){.bg-rose-500\/10{background-color:color-mix(in oklab, var(--color-rose-500) 10%, transparent)}}.bg-rose-500\/45{background-color:#ff235773}@supports (color:color-mix(in lab, red, red)){.bg-rose-500\/45{background-color:color-mix(in oklab, var(--color-rose-500) 45%, transparent)}}.bg-secondary{background-color:var(--secondary)}.bg-sidebar{background-color:var(--sidebar)}.bg-sidebar-border{background-color:var(--sidebar-border)}.bg-sky-500{background-color:var(--color-sky-500)}.bg-sky-500\/45{background-color:#00a5ef73}@supports (color:color-mix(in lab, red, red)){.bg-sky-500\/45{background-color:color-mix(in oklab, var(--color-sky-500) 45%, transparent)}}.bg-slate-500{background-color:var(--color-slate-500)}.bg-slate-900\/5{background-color:#0f172b0d}@supports (color:color-mix(in lab, red, red)){.bg-slate-900\/5{background-color:color-mix(in oklab, var(--color-slate-900) 5%, transparent)}}.bg-slate-900\/40{background-color:#0f172b66}@supports (color:color-mix(in lab, red, red)){.bg-slate-900\/40{background-color:color-mix(in oklab, var(--color-slate-900) 40%, transparent)}}.bg-slate-900\/60{background-color:#0f172b99}@supports (color:color-mix(in lab, red, red)){.bg-slate-900\/60{background-color:color-mix(in oklab, var(--color-slate-900) 60%, transparent)}}.bg-slate-950{background-color:var(--color-slate-950)}.bg-teal-50\/60{background-color:#f0fdfa99}@supports (color:color-mix(in lab, red, red)){.bg-teal-50\/60{background-color:color-mix(in oklab, var(--color-teal-50) 60%, transparent)}}.bg-teal-500{background-color:var(--color-teal-500)}.bg-teal-500\/45{background-color:#00baa773}@supports (color:color-mix(in lab, red, red)){.bg-teal-500\/45{background-color:color-mix(in oklab, var(--color-teal-500) 45%, transparent)}}.bg-teal-600{background-color:var(--color-teal-600)}.bg-transparent{background-color:#0000}.bg-violet-50{background-color:var(--color-violet-50)}.bg-violet-100{background-color:var(--color-violet-100)}.bg-violet-500{background-color:var(--color-violet-500)}.bg-violet-500\/8{background-color:#8d54ff14}@supports (color:color-mix(in lab, red, red)){.bg-violet-500\/8{background-color:color-mix(in oklab, var(--color-violet-500) 8%, transparent)}}.bg-violet-500\/10{background-color:#8d54ff1a}@supports (color:color-mix(in lab, red, red)){.bg-violet-500\/10{background-color:color-mix(in oklab, var(--color-violet-500) 10%, transparent)}}.bg-violet-500\/45{background-color:#8d54ff73}@supports (color:color-mix(in lab, red, red)){.bg-violet-500\/45{background-color:color-mix(in oklab, var(--color-violet-500) 45%, transparent)}}.bg-white{background-color:var(--color-white)}.bg-white\/5{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.bg-white\/5{background-color:color-mix(in oklab, var(--color-white) 5%, transparent)}}.bg-white\/20{background-color:#fff3}@supports (color:color-mix(in lab, red, red)){.bg-white\/20{background-color:color-mix(in oklab, var(--color-white) 20%, transparent)}}.bg-yellow-100{background-color:var(--color-yellow-100)}.bg-yellow-500{background-color:var(--color-yellow-500)}.bg-linear-to-b{--tw-gradient-position:to bottom}@supports (background-image:linear-gradient(in lab, red, red)){.bg-linear-to-b{--tw-gradient-position:to bottom in oklab}}.bg-linear-to-b{background-image:linear-gradient(var(--tw-gradient-stops))}.bg-linear-to-r{--tw-gradient-position:to right}@supports (background-image:linear-gradient(in lab, red, red)){.bg-linear-to-r{--tw-gradient-position:to right in oklab}}.bg-linear-to-r{background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-t{--tw-gradient-position:to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-\[conic-gradient\(from_0deg\,\#a855f7\,\#ec4899\,\#06b6d4\,\#a855f7\)\]{background-image:conic-gradient(#a855f7,#ec4899,#06b6d4,#a855f7)}.bg-\[linear-gradient\(\#06b6d4_1px\,transparent_1px\)\,linear-gradient\(90deg\,\#06b6d4_1px\,transparent_1px\)\]{background-image:linear-gradient(#06b6d4 1px,#0000 1px),linear-gradient(90deg,#06b6d4 1px,#0000 1px)}.bg-\[radial-gradient\(\#000_1px\,transparent_1px\)\]{background-image:radial-gradient(#000 1px,#0000 1px)}.bg-\[radial-gradient\(circle_at_30\%_30\%\,\#8b5cf6_2px\,transparent_2px\)\,radial-gradient\(circle_at_70\%_70\%\,\#06b6d4_2px\,transparent_2px\)\]{background-image:radial-gradient(circle at 30% 30%,#8b5cf6 2px,#0000 2px),radial-gradient(circle at 70% 70%,#06b6d4 2px,#0000 2px)}.bg-\[repeating-linear-gradient\(45deg\,\#ef4444_0\,\#ef4444_8px\,\#fff_8px\,\#fff_16px\)\]{background-image:repeating-linear-gradient(45deg,#ef4444 0 8px,#fff 8px 16px)}.from-amber-100\/60{--tw-gradient-from:#fef3c699}@supports (color:color-mix(in lab, red, red)){.from-amber-100\/60{--tw-gradient-from:color-mix(in oklab, var(--color-amber-100) 60%, transparent)}}.from-amber-100\/60{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-background{--tw-gradient-from:var(--background);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-black\/70{--tw-gradient-from:#000000b3}@supports (color:color-mix(in lab, red, red)){.from-black\/70{--tw-gradient-from:color-mix(in oklab, var(--color-black) 70%, transparent)}}.from-black\/70{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-blue-500\/20{--tw-gradient-from:#3080ff33}@supports (color:color-mix(in lab, red, red)){.from-blue-500\/20{--tw-gradient-from:color-mix(in oklab, var(--color-blue-500) 20%, transparent)}}.from-blue-500\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-emerald-500{--tw-gradient-from:var(--color-emerald-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-emerald-500\/20{--tw-gradient-from:#00bb7f33}@supports (color:color-mix(in lab, red, red)){.from-emerald-500\/20{--tw-gradient-from:color-mix(in oklab, var(--color-emerald-500) 20%, transparent)}}.from-emerald-500\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-indigo-50{--tw-gradient-from:var(--color-indigo-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-muted{--tw-gradient-from:var(--muted);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-muted\/40{--tw-gradient-from:var(--muted)}@supports (color:color-mix(in lab, red, red)){.from-muted\/40{--tw-gradient-from:color-mix(in oklab, var(--muted) 40%, transparent)}}.from-muted\/40{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-pink-200{--tw-gradient-from:var(--color-pink-200);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-pink-200\/60{--tw-gradient-from:#fccee899}@supports (color:color-mix(in lab, red, red)){.from-pink-200\/60{--tw-gradient-from:color-mix(in oklab, var(--color-pink-200) 60%, transparent)}}.from-pink-200\/60{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-primary{--tw-gradient-from:var(--primary);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-primary\/6{--tw-gradient-from:var(--primary)}@supports (color:color-mix(in lab, red, red)){.from-primary\/6{--tw-gradient-from:color-mix(in oklab, var(--primary) 6%, transparent)}}.from-primary\/6{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-slate-900{--tw-gradient-from:var(--color-slate-900);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-violet-500\/20{--tw-gradient-from:#8d54ff33}@supports (color:color-mix(in lab, red, red)){.from-violet-500\/20{--tw-gradient-from:color-mix(in oklab, var(--color-violet-500) 20%, transparent)}}.from-violet-500\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.via-background{--tw-gradient-via:var(--background);--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-background\/70{--tw-gradient-via:var(--background)}@supports (color:color-mix(in lab, red, red)){.via-background\/70{--tw-gradient-via:color-mix(in oklab, var(--background) 70%, transparent)}}.via-background\/70{--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-muted\/40{--tw-gradient-via:var(--muted)}@supports (color:color-mix(in lab, red, red)){.via-muted\/40{--tw-gradient-via:color-mix(in oklab, var(--muted) 40%, transparent)}}.via-muted\/40{--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-primary\/30{--tw-gradient-via:var(--primary)}@supports (color:color-mix(in lab, red, red)){.via-primary\/30{--tw-gradient-via:color-mix(in oklab, var(--primary) 30%, transparent)}}.via-primary\/30{--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-white{--tw-gradient-via:var(--color-white);--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-amber-200\/30{--tw-gradient-to:#fee6854d}@supports (color:color-mix(in lab, red, red)){.to-amber-200\/30{--tw-gradient-to:color-mix(in oklab, var(--color-amber-200) 30%, transparent)}}.to-amber-200\/30{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-background{--tw-gradient-to:var(--background);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-background\/10{--tw-gradient-to:var(--background)}@supports (color:color-mix(in lab, red, red)){.to-background\/10{--tw-gradient-to:color-mix(in oklab, var(--background) 10%, transparent)}}.to-background\/10{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-blue-500\/5{--tw-gradient-to:#3080ff0d}@supports (color:color-mix(in lab, red, red)){.to-blue-500\/5{--tw-gradient-to:color-mix(in oklab, var(--color-blue-500) 5%, transparent)}}.to-blue-500\/5{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-cyan-200{--tw-gradient-to:var(--color-cyan-200);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-emerald-500\/5{--tw-gradient-to:#00bb7f0d}@supports (color:color-mix(in lab, red, red)){.to-emerald-500\/5{--tw-gradient-to:color-mix(in oklab, var(--color-emerald-500) 5%, transparent)}}.to-emerald-500\/5{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-emerald-600{--tw-gradient-to:var(--color-emerald-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-muted\/20{--tw-gradient-to:var(--muted)}@supports (color:color-mix(in lab, red, red)){.to-muted\/20{--tw-gradient-to:color-mix(in oklab, var(--muted) 20%, transparent)}}.to-muted\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-muted\/30{--tw-gradient-to:var(--muted)}@supports (color:color-mix(in lab, red, red)){.to-muted\/30{--tw-gradient-to:color-mix(in oklab, var(--muted) 30%, transparent)}}.to-muted\/30{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-pink-50{--tw-gradient-to:var(--color-pink-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-primary\/60{--tw-gradient-to:var(--primary)}@supports (color:color-mix(in lab, red, red)){.to-primary\/60{--tw-gradient-to:color-mix(in oklab, var(--primary) 60%, transparent)}}.to-primary\/60{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-primary\/80{--tw-gradient-to:var(--primary)}@supports (color:color-mix(in lab, red, red)){.to-primary\/80{--tw-gradient-to:color-mix(in oklab, var(--primary) 80%, transparent)}}.to-primary\/80{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-rose-300\/40{--tw-gradient-to:#ffa2ae66}@supports (color:color-mix(in lab, red, red)){.to-rose-300\/40{--tw-gradient-to:color-mix(in oklab, var(--color-rose-300) 40%, transparent)}}.to-rose-300\/40{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-slate-700{--tw-gradient-to:var(--color-slate-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-violet-500\/5{--tw-gradient-to:#8d54ff0d}@supports (color:color-mix(in lab, red, red)){.to-violet-500\/5{--tw-gradient-to:color-mix(in oklab, var(--color-violet-500) 5%, transparent)}}.to-violet-500\/5{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.bg-\[length\:4px_4px\]{background-size:4px 4px}.bg-\[length\:12px_12px\]{background-size:12px 12px}.bg-\[length\:24px_24px\]{background-size:24px 24px}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.fill-amber-400{fill:var(--color-amber-400)}.fill-background{fill:var(--background)}.fill-current{fill:currentColor}.fill-destructive\/15{fill:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.fill-destructive\/15{fill:color-mix(in oklab, var(--destructive) 15%, transparent)}}.fill-foreground{fill:var(--foreground)}.fill-primary{fill:var(--primary)}.stroke-background{stroke:var(--background)}.stroke-border\/60{stroke:var(--border)}@supports (color:color-mix(in lab, red, red)){.stroke-border\/60{stroke:color-mix(in oklab, var(--border) 60%, transparent)}}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:0}.p-1{padding:var(--spacing)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.p-10{padding:calc(var(--spacing) * 10)}.p-\[3px\]{padding:3px}.p-px{padding:1px}.px-\(--cell-size\){padding-inline:var(--cell-size)}.px-0{padding-inline:0}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-8{padding-inline:calc(var(--spacing) * 8)}.py-0{padding-block:0}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-14{padding-block:calc(var(--spacing) * 14)}.py-16{padding-block:calc(var(--spacing) * 16)}.py-20{padding-block:calc(var(--spacing) * 20)}.pt-0{padding-top:0}.pt-1{padding-top:var(--spacing)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pt-10{padding-top:calc(var(--spacing) * 10)}.pr-1{padding-right:var(--spacing)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-2\.5{padding-right:calc(var(--spacing) * 2.5)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pr-9{padding-right:calc(var(--spacing) * 9)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-5{padding-left:calc(var(--spacing) * 5)}.pl-6{padding-left:calc(var(--spacing) * 6)}.pl-8{padding-left:calc(var(--spacing) * 8)}.pl-9{padding-left:calc(var(--spacing) * 9)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.align-top{vertical-align:top}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-8xl{font-size:var(--text-8xl);line-height:var(--tw-leading,var(--text-8xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-sm\/relaxed{font-size:var(--text-sm);line-height:var(--leading-relaxed)}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.8rem\]{font-size:.8rem}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-\[8px\]{--tw-leading:8px;line-height:8px}.leading-none{--tw-leading:1;line-height:1}.leading-normal{--tw-leading:var(--leading-normal);line-height:var(--leading-normal)}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.2em\]{--tw-tracking:.2em;letter-spacing:.2em}.tracking-\[0\.25em\]{--tw-tracking:.25em;letter-spacing:.25em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-balance{text-wrap:balance}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[\#3F51B5\]{color:#3f51b5}.text-\[\#9fa2ff\]{color:#9fa2ff}.text-accent-foreground{color:var(--accent-foreground)}.text-amber-300{color:var(--color-amber-300)}.text-amber-400{color:var(--color-amber-400)}.text-amber-500{color:var(--color-amber-500)}.text-amber-600{color:var(--color-amber-600)}.text-amber-700{color:var(--color-amber-700)}.text-background{color:var(--background)}.text-black{color:var(--color-black)}.text-blue-500{color:var(--color-blue-500)}.text-blue-600{color:var(--color-blue-600)}.text-blue-700{color:var(--color-blue-700)}.text-card-foreground{color:var(--card-foreground)}.text-current{color:currentColor}.text-cyan-300\/80{color:#53eafdcc}@supports (color:color-mix(in lab, red, red)){.text-cyan-300\/80{color:color-mix(in oklab, var(--color-cyan-300) 80%, transparent)}}.text-cyan-400{color:var(--color-cyan-400)}.text-destructive{color:var(--destructive)}.text-destructive-foreground{color:var(--destructive-foreground)}.text-emerald-400{color:var(--color-emerald-400)}.text-emerald-500{color:var(--color-emerald-500)}.text-emerald-600{color:var(--color-emerald-600)}.text-emerald-700{color:var(--color-emerald-700)}.text-foreground,.text-foreground\/60{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.text-foreground\/60{color:color-mix(in oklab, var(--foreground) 60%, transparent)}}.text-foreground\/70{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.text-foreground\/70{color:color-mix(in oklab, var(--foreground) 70%, transparent)}}.text-foreground\/80{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.text-foreground\/80{color:color-mix(in oklab, var(--foreground) 80%, transparent)}}.text-foreground\/90{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.text-foreground\/90{color:color-mix(in oklab, var(--foreground) 90%, transparent)}}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-green-600{color:var(--color-green-600)}.text-green-700{color:var(--color-green-700)}.text-indigo-500{color:var(--color-indigo-500)}.text-muted-foreground,.text-muted-foreground\/8{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.text-muted-foreground\/8{color:color-mix(in oklab, var(--muted-foreground) 8%, transparent)}}.text-muted-foreground\/30{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.text-muted-foreground\/30{color:color-mix(in oklab, var(--muted-foreground) 30%, transparent)}}.text-muted-foreground\/40{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.text-muted-foreground\/40{color:color-mix(in oklab, var(--muted-foreground) 40%, transparent)}}.text-muted-foreground\/60{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.text-muted-foreground\/60{color:color-mix(in oklab, var(--muted-foreground) 60%, transparent)}}.text-muted-foreground\/70{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.text-muted-foreground\/70{color:color-mix(in oklab, var(--muted-foreground) 70%, transparent)}}.text-orange-700{color:var(--color-orange-700)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground,.text-primary-foreground\/50{color:var(--primary-foreground)}@supports (color:color-mix(in lab, red, red)){.text-primary-foreground\/50{color:color-mix(in oklab, var(--primary-foreground) 50%, transparent)}}.text-primary-foreground\/60{color:var(--primary-foreground)}@supports (color:color-mix(in lab, red, red)){.text-primary-foreground\/60{color:color-mix(in oklab, var(--primary-foreground) 60%, transparent)}}.text-primary-foreground\/70{color:var(--primary-foreground)}@supports (color:color-mix(in lab, red, red)){.text-primary-foreground\/70{color:color-mix(in oklab, var(--primary-foreground) 70%, transparent)}}.text-primary-foreground\/80{color:var(--primary-foreground)}@supports (color:color-mix(in lab, red, red)){.text-primary-foreground\/80{color:color-mix(in oklab, var(--primary-foreground) 80%, transparent)}}.text-primary-foreground\/85{color:var(--primary-foreground)}@supports (color:color-mix(in lab, red, red)){.text-primary-foreground\/85{color:color-mix(in oklab, var(--primary-foreground) 85%, transparent)}}.text-red-500{color:var(--color-red-500)}.text-red-700{color:var(--color-red-700)}.text-rose-500{color:var(--color-rose-500)}.text-rose-600{color:var(--color-rose-600)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-sidebar-foreground,.text-sidebar-foreground\/70{color:var(--sidebar-foreground)}@supports (color:color-mix(in lab, red, red)){.text-sidebar-foreground\/70{color:color-mix(in oklab, var(--sidebar-foreground) 70%, transparent)}}.text-sky-500{color:var(--color-sky-500)}.text-slate-50{color:var(--color-slate-50)}.text-slate-300{color:var(--color-slate-300)}.text-slate-500{color:var(--color-slate-500)}.text-slate-900{color:var(--color-slate-900)}.text-transparent{color:#0000}.text-violet-500{color:var(--color-violet-500)}.text-violet-600{color:var(--color-violet-600)}.text-white{color:var(--color-white)}.text-white\/90{color:#ffffffe6}@supports (color:color-mix(in lab, red, red)){.text-white\/90{color:color-mix(in oklab, var(--color-white) 90%, transparent)}}.text-yellow-700{color:var(--color-yellow-700)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.no-underline{text-decoration-line:none}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.accent-primary{accent-color:var(--primary)}.opacity-0{opacity:0}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,hsl(var(--sidebar-border)));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_8px_32px_rgba\(0\,0\,0\,0\.08\)\]{--tw-shadow:0 8px 32px var(--tw-shadow-color,#00000014);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-emerald-500\/25{--tw-shadow-color:#00bb7f40}@supports (color:color-mix(in lab, red, red)){.shadow-emerald-500\/25{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-emerald-500) 25%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-primary\/10{--tw-shadow-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.shadow-primary\/10{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--primary) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-primary\/20{--tw-shadow-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.shadow-primary\/20{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--primary) 20%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-primary\/25{--tw-shadow-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.shadow-primary\/25{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--primary) 25%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-primary\/30{--tw-shadow-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.shadow-primary\/30{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--primary) 30%, transparent) var(--tw-shadow-alpha), transparent)}}.ring-border\/60{--tw-ring-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.ring-border\/60{--tw-ring-color:color-mix(in oklab, var(--border) 60%, transparent)}}.ring-muted-foreground\/20{--tw-ring-color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.ring-muted-foreground\/20{--tw-ring-color:color-mix(in oklab, var(--muted-foreground) 20%, transparent)}}.ring-primary,.ring-primary\/20{--tw-ring-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.ring-primary\/20{--tw-ring-color:color-mix(in oklab, var(--primary) 20%, transparent)}}.ring-primary\/30{--tw-ring-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.ring-primary\/30{--tw-ring-color:color-mix(in oklab, var(--primary) 30%, transparent)}}.ring-primary\/40{--tw-ring-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.ring-primary\/40{--tw-ring-color:color-mix(in oklab, var(--primary) 40%, transparent)}}.ring-ring\/50{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.ring-ring\/50{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.ring-sidebar-ring{--tw-ring-color:var(--sidebar-ring)}.ring-offset-background{--tw-ring-offset-color:var(--background)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.blur-2xl{--tw-blur:blur(var(--blur-2xl));filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.blur-3xl{--tw-blur:blur(var(--blur-3xl));filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[left\,right\,width\]{transition-property:left,right,width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[margin\,opacity\]{transition-property:margin,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\,height\,padding\]{transition-property:width,height,padding;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-none{transition-property:none}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.duration-1000{--tw-duration:1s;transition-duration:1s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-linear{--tw-ease:linear;transition-timing-function:linear}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.prose-neutral{--tw-prose-body:oklch(37.1% 0 none);--tw-prose-headings:oklch(20.5% 0 none);--tw-prose-lead:oklch(43.9% 0 none);--tw-prose-links:oklch(20.5% 0 none);--tw-prose-bold:oklch(20.5% 0 none);--tw-prose-counters:oklch(55.6% 0 none);--tw-prose-bullets:oklch(87% 0 none);--tw-prose-hr:oklch(92.2% 0 none);--tw-prose-quotes:oklch(20.5% 0 none);--tw-prose-quote-borders:oklch(92.2% 0 none);--tw-prose-captions:oklch(55.6% 0 none);--tw-prose-kbd:oklch(20.5% 0 none);--tw-prose-kbd-shadows:oklab(20.5% 0 0/.1);--tw-prose-code:oklch(20.5% 0 none);--tw-prose-pre-code:oklch(92.2% 0 none);--tw-prose-pre-bg:oklch(26.9% 0 none);--tw-prose-th-borders:oklch(87% 0 none);--tw-prose-td-borders:oklch(92.2% 0 none);--tw-prose-invert-body:oklch(87% 0 none);--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:oklch(70.8% 0 none);--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:oklch(70.8% 0 none);--tw-prose-invert-bullets:oklch(43.9% 0 none);--tw-prose-invert-hr:oklch(37.1% 0 none);--tw-prose-invert-quotes:oklch(97% 0 none);--tw-prose-invert-quote-borders:oklch(37.1% 0 none);--tw-prose-invert-captions:oklch(70.8% 0 none);--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:#ffffff1a;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:oklch(87% 0 none);--tw-prose-invert-pre-bg:#00000080;--tw-prose-invert-th-borders:oklch(43.9% 0 none);--tw-prose-invert-td-borders:oklch(37.1% 0 none)}.animate-in{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\[--cell-size\:--spacing\(8\)\]{--cell-size:calc(var(--spacing) * 8)}.\[-webkit-text-security\:disc\]{-webkit-text-security:disc}.\[text-security\:disc\]{text-security:disc}.duration-100{animation-duration:.1s}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.duration-500{animation-duration:.5s}.duration-1000{animation-duration:1s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{animation-timing-function:linear}.ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.fade-in-0{--tw-enter-opacity:0}.fade-out{--tw-exit-opacity:0}.paused{animation-play-state:paused}.running{animation-play-state:running}.zoom-in-95{--tw-enter-scale:.95}.group-focus-within\/menu-item\:opacity-100:is(:where(.group\/menu-item):focus-within *){opacity:1}@media (hover:hover){.group-hover\:scale-105:is(:where(.group):hover *){--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.group-hover\:text-primary:is(:where(.group):hover *){color:var(--primary)}.group-hover\/menu-item\:opacity-100:is(:where(.group\/menu-item):hover *){opacity:1}}.group-has-data-\[sidebar\=menu-action\]\/menu-item\:pr-8:is(:where(.group\/menu-item):has([data-sidebar=menu-action]) *){padding-right:calc(var(--spacing) * 8)}.group-has-\[\[data-orientation\=horizontal\]\]\/field\:text-balance:is(:where(.group\/field):has([data-orientation=horizontal]) *){text-wrap:balance}.group-has-\[\[data-slot\=item-description\]\]\/item\:translate-y-0\.5:is(:where(.group\/item):has([data-slot=item-description]) *){--tw-translate-y:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-has-\[\[data-slot\=item-description\]\]\/item\:self-start:is(:where(.group\/item):has([data-slot=item-description]) *){align-self:flex-start}.group-has-\[\>input\]\/input-group\:pt-2\.5:is(:where(.group\/input-group):has(>input) *){padding-top:calc(var(--spacing) * 2.5)}.group-has-\[\>input\]\/input-group\:pb-2\.5:is(:where(.group\/input-group):has(>input) *){padding-bottom:calc(var(--spacing) * 2.5)}.group-data-\[collapsible\=icon\]\:-mt-8:is(:where(.group)[data-collapsible=icon] *){margin-top:calc(var(--spacing) * -8)}.group-data-\[collapsible\=icon\]\:hidden:is(:where(.group)[data-collapsible=icon] *){display:none}.group-data-\[collapsible\=icon\]\:size-8\!:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--spacing) * 8)!important;height:calc(var(--spacing) * 8)!important}.group-data-\[collapsible\=icon\]\:h-7:is(:where(.group)[data-collapsible=icon] *){height:calc(var(--spacing) * 7)}.group-data-\[collapsible\=icon\]\:w-\(--sidebar-width-icon\):is(:where(.group)[data-collapsible=icon] *){width:var(--sidebar-width-icon)}.group-data-\[collapsible\=icon\]\:w-7:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--spacing) * 7)}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(var(--spacing) * 4)))}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\+2px\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(var(--spacing) * 4)) + 2px)}.group-data-\[collapsible\=icon\]\:justify-center:is(:where(.group)[data-collapsible=icon] *){justify-content:center}.group-data-\[collapsible\=icon\]\:gap-0:is(:where(.group)[data-collapsible=icon] *){gap:0}.group-data-\[collapsible\=icon\]\:overflow-hidden:is(:where(.group)[data-collapsible=icon] *){overflow:hidden}.group-data-\[collapsible\=icon\]\:p-0\!:is(:where(.group)[data-collapsible=icon] *){padding:0!important}.group-data-\[collapsible\=icon\]\:p-1\.5:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing) * 1.5)}.group-data-\[collapsible\=icon\]\:p-2\!:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing) * 2)!important}.group-data-\[collapsible\=icon\]\:opacity-0:is(:where(.group)[data-collapsible=icon] *){opacity:0}.group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offcanvas] *){right:calc(var(--sidebar-width) * -1)}.group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offcanvas] *){left:calc(var(--sidebar-width) * -1)}.group-data-\[collapsible\=offcanvas\]\:w-0:is(:where(.group)[data-collapsible=offcanvas] *){width:0}.group-data-\[collapsible\=offcanvas\]\:translate-x-0:is(:where(.group)[data-collapsible=offcanvas] *){--tw-translate-x:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.group)[data-disabled=true] *){pointer-events:none}.group-data-\[disabled\=true\]\:opacity-50:is(:where(.group)[data-disabled=true] *),.group-data-\[disabled\=true\]\/field\:opacity-50:is(:where(.group\/field)[data-disabled=true] *),.group-data-\[disabled\=true\]\/input-group\:opacity-50:is(:where(.group\/input-group)[data-disabled=true] *){opacity:.5}.group-data-\[focused\=true\]\/day\:relative:is(:where(.group\/day)[data-focused=true] *){position:relative}.group-data-\[focused\=true\]\/day\:z-10:is(:where(.group\/day)[data-focused=true] *){z-index:10}.group-data-\[focused\=true\]\/day\:border-ring:is(:where(.group\/day)[data-focused=true] *){border-color:var(--ring)}.group-data-\[focused\=true\]\/day\:ring-\[3px\]:is(:where(.group\/day)[data-focused=true] *){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.group-data-\[focused\=true\]\/day\:ring-ring\/50:is(:where(.group\/day)[data-focused=true] *){--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.group-data-\[focused\=true\]\/day\:ring-ring\/50:is(:where(.group\/day)[data-focused=true] *){--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.group-data-\[side\=left\]\:-right-4:is(:where(.group)[data-side=left] *){right:calc(var(--spacing) * -4)}.group-data-\[side\=left\]\:border-r:is(:where(.group)[data-side=left] *){border-right-style:var(--tw-border-style);border-right-width:1px}.group-data-\[side\=right\]\:left-0:is(:where(.group)[data-side=right] *){left:0}.group-data-\[side\=right\]\:rotate-180:is(:where(.group)[data-side=right] *){rotate:180deg}.group-data-\[side\=right\]\:border-l:is(:where(.group)[data-side=right] *){border-left-style:var(--tw-border-style);border-left-width:1px}.group-data-\[state\=open\]\:rotate-180:is(:where(.group)[data-state=open] *){rotate:180deg}.group-data-\[state\=open\]\/collapsible\:rotate-90:is(:where(.group\/collapsible)[data-state=open] *){rotate:90deg}.group-data-\[variant\=floating\]\:rounded-lg:is(:where(.group)[data-variant=floating] *){border-radius:var(--radius)}.group-data-\[variant\=floating\]\:border:is(:where(.group)[data-variant=floating] *){border-style:var(--tw-border-style);border-width:1px}.group-data-\[variant\=floating\]\:border-sidebar-border:is(:where(.group)[data-variant=floating] *){border-color:var(--sidebar-border)}.group-data-\[variant\=floating\]\:shadow-sm:is(:where(.group)[data-variant=floating] *){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.group-data-\[variant\=outline\]\/field-group\:-mb-2:is(:where(.group\/field-group)[data-variant=outline] *){margin-bottom:calc(var(--spacing) * -2)}.group-data-\[vaul-drawer-direction\=bottom\]\/drawer-content\:block:is(:where(.group\/drawer-content)[data-vaul-drawer-direction=bottom] *){display:block}.group-data-\[vaul-drawer-direction\=bottom\]\/drawer-content\:text-center:is(:where(.group\/drawer-content)[data-vaul-drawer-direction=bottom] *),.group-data-\[vaul-drawer-direction\=top\]\/drawer-content\:text-center:is(:where(.group\/drawer-content)[data-vaul-drawer-direction=top] *){text-align:center}.group-data-\[viewport\=false\]\/navigation-menu\:top-full:is(:where(.group\/navigation-menu)[data-viewport=false] *){top:100%}.group-data-\[viewport\=false\]\/navigation-menu\:mt-1\.5:is(:where(.group\/navigation-menu)[data-viewport=false] *){margin-top:calc(var(--spacing) * 1.5)}.group-data-\[viewport\=false\]\/navigation-menu\:overflow-hidden:is(:where(.group\/navigation-menu)[data-viewport=false] *){overflow:hidden}.group-data-\[viewport\=false\]\/navigation-menu\:rounded-md:is(:where(.group\/navigation-menu)[data-viewport=false] *){border-radius:calc(var(--radius) - 2px)}.group-data-\[viewport\=false\]\/navigation-menu\:border:is(:where(.group\/navigation-menu)[data-viewport=false] *){border-style:var(--tw-border-style);border-width:1px}.group-data-\[viewport\=false\]\/navigation-menu\:bg-popover:is(:where(.group\/navigation-menu)[data-viewport=false] *){background-color:var(--popover)}.group-data-\[viewport\=false\]\/navigation-menu\:text-popover-foreground:is(:where(.group\/navigation-menu)[data-viewport=false] *){color:var(--popover-foreground)}.group-data-\[viewport\=false\]\/navigation-menu\:shadow:is(:where(.group\/navigation-menu)[data-viewport=false] *){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.group-data-\[viewport\=false\]\/navigation-menu\:duration-200:is(:where(.group\/navigation-menu)[data-viewport=false] *){--tw-duration:.2s;transition-duration:.2s;animation-duration:.2s}@media (hover:hover){.peer-hover\/menu-button\:text-sidebar-accent-foreground:is(:where(.peer\/menu-button):hover~*){color:var(--sidebar-accent-foreground)}}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.peer-data-\[active\=true\]\/menu-button\:text-sidebar-accent-foreground:is(:where(.peer\/menu-button)[data-active=true]~*){color:var(--sidebar-accent-foreground)}.peer-data-\[size\=default\]\/menu-button\:top-1\.5:is(:where(.peer\/menu-button)[data-size=default]~*){top:calc(var(--spacing) * 1.5)}.peer-data-\[size\=lg\]\/menu-button\:top-2\.5:is(:where(.peer\/menu-button)[data-size=lg]~*){top:calc(var(--spacing) * 2.5)}.peer-data-\[size\=sm\]\/menu-button\:top-1:is(:where(.peer\/menu-button)[data-size=sm]~*){top:var(--spacing)}.selection\:bg-primary ::selection{background-color:var(--primary)}.selection\:bg-primary::selection{background-color:var(--primary)}.selection\:text-primary-foreground ::selection{color:var(--primary-foreground)}.selection\:text-primary-foreground::selection{color:var(--primary-foreground)}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-7::file-selector-button{height:calc(var(--spacing) * 7)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-inset-2:after{content:var(--tw-content);inset:calc(var(--spacing) * -2)}.after\:inset-y-0:after{content:var(--tw-content);inset-block:0}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:w-1:after{content:var(--tw-content);width:var(--spacing)}.after\:w-\[2px\]:after{content:var(--tw-content);width:2px}.after\:-translate-x-1\/2:after{content:var(--tw-content);--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-data-\[collapsible\=offcanvas\]\:after\:left-full:is(:where(.group)[data-collapsible=offcanvas] *):after{content:var(--tw-content);left:100%}.first\:rounded-l-md:first-child{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.first\:border-l:first-child{border-left-style:var(--tw-border-style);border-left-width:1px}.last\:mt-0:last-child{margin-top:0}.last\:rounded-r-md:last-child{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.last\:pb-0:last-child{padding-bottom:0}.focus-within\:ring-2:focus-within{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-within\:ring-\[3px\]:focus-within{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-within\:ring-primary:focus-within{--tw-ring-color:var(--primary)}.focus-within\:ring-ring\/50:focus-within{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-within\:ring-ring\/50:focus-within{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}@media (hover:hover){.hover\:z-20:hover{z-index:20}.hover\:scale-\[1\.02\]:hover{scale:1.02}.hover\:border-2:hover{border-style:var(--tw-border-style);border-width:2px}.hover\:border-amber-600:hover{border-color:var(--color-amber-600)}.hover\:border-border:hover{border-color:var(--border)}.hover\:border-destructive:hover{border-color:var(--destructive)}.hover\:border-emerald-600:hover{border-color:var(--color-emerald-600)}.hover\:border-muted-foreground\/50:hover{border-color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.hover\:border-muted-foreground\/50:hover{border-color:color-mix(in oklab, var(--muted-foreground) 50%, transparent)}}.hover\:border-primary:hover,.hover\:border-primary\/30:hover{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:border-primary\/30:hover{border-color:color-mix(in oklab, var(--primary) 30%, transparent)}}.hover\:border-primary\/40:hover{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:border-primary\/40:hover{border-color:color-mix(in oklab, var(--primary) 40%, transparent)}}.hover\:border-primary\/50:hover{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:border-primary\/50:hover{border-color:color-mix(in oklab, var(--primary) 50%, transparent)}}.hover\:border-primary\/60:hover{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:border-primary\/60:hover{border-color:color-mix(in oklab, var(--primary) 60%, transparent)}}.hover\:border-violet-300:hover{border-color:var(--color-violet-300)}.hover\:border-violet-400:hover{border-color:var(--color-violet-400)}.hover\:\!bg-accent\/40:hover{background-color:var(--accent)!important}@supports (color:color-mix(in lab, red, red)){.hover\:\!bg-accent\/40:hover{background-color:color-mix(in oklab, var(--accent) 40%, transparent)!important}}.hover\:bg-\[\#5b5fd0\]:hover{background-color:#5b5fd0}.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-amber-100:hover{background-color:var(--color-amber-100)}.hover\:bg-amber-500\/10:hover{background-color:#f99c001a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-amber-500\/10:hover{background-color:color-mix(in oklab, var(--color-amber-500) 10%, transparent)}}.hover\:bg-amber-600:hover{background-color:var(--color-amber-600)}.hover\:bg-blue-500\/10:hover{background-color:#3080ff1a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-blue-500\/10:hover{background-color:color-mix(in oklab, var(--color-blue-500) 10%, transparent)}}.hover\:bg-blue-600:hover{background-color:var(--color-blue-600)}.hover\:bg-cyan-600:hover{background-color:var(--color-cyan-600)}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab, var(--destructive) 90%, transparent)}}.hover\:bg-emerald-100:hover{background-color:var(--color-emerald-100)}.hover\:bg-emerald-500\/10:hover{background-color:#00bb7f1a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-emerald-500\/10:hover{background-color:color-mix(in oklab, var(--color-emerald-500) 10%, transparent)}}.hover\:bg-emerald-600:hover{background-color:var(--color-emerald-600)}.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:bg-muted:hover{background-color:var(--muted)}.hover\:bg-muted-foreground\/40:hover{background-color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-muted-foreground\/40:hover{background-color:color-mix(in oklab, var(--muted-foreground) 40%, transparent)}}.hover\:bg-muted\/30:hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-muted\/30:hover{background-color:color-mix(in oklab, var(--muted) 30%, transparent)}}.hover\:bg-muted\/40:hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-muted\/40:hover{background-color:color-mix(in oklab, var(--muted) 40%, transparent)}}.hover\:bg-muted\/50:hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.hover\:bg-muted\/60:hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-muted\/60:hover{background-color:color-mix(in oklab, var(--muted) 60%, transparent)}}.hover\:bg-primary-foreground\/90:hover{background-color:var(--primary-foreground)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary-foreground\/90:hover{background-color:color-mix(in oklab, var(--primary-foreground) 90%, transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab, var(--primary) 90%, transparent)}}.hover\:bg-red-500\/10:hover{background-color:#fb2c361a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-red-500\/10:hover{background-color:color-mix(in oklab, var(--color-red-500) 10%, transparent)}}.hover\:bg-red-600:hover{background-color:var(--color-red-600)}.hover\:bg-red-700:hover{background-color:var(--color-red-700)}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab, var(--secondary) 80%, transparent)}}.hover\:bg-sidebar-accent:hover{background-color:var(--sidebar-accent)}.hover\:bg-slate-500\/10:hover{background-color:#62748e1a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-slate-500\/10:hover{background-color:color-mix(in oklab, var(--color-slate-500) 10%, transparent)}}.hover\:bg-slate-600:hover{background-color:var(--color-slate-600)}.hover\:bg-slate-900:hover{background-color:var(--color-slate-900)}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:text-black:hover{color:var(--color-black)}.hover\:text-destructive:hover{color:var(--destructive)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-muted-foreground:hover{color:var(--muted-foreground)}.hover\:text-primary:hover{color:var(--primary)}.hover\:text-red-600:hover{color:var(--color-red-600)}.hover\:text-sidebar-accent-foreground:hover{color:var(--sidebar-accent-foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-90:hover{opacity:.9}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-\[0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\]:hover{--tw-shadow:0 0 0 1px var(--tw-shadow-color,hsl(var(--sidebar-accent)));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:shadow-sm:hover{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:ring-4:hover{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:shadow-primary\/30:hover{--tw-shadow-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:shadow-primary\/30:hover{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--primary) 30%, transparent) var(--tw-shadow-alpha), transparent)}}.hover\:group-data-\[collapsible\=offcanvas\]\:bg-sidebar:hover:is(:where(.group)[data-collapsible=offcanvas] *){background-color:var(--sidebar)}.hover\:after\:bg-sidebar-border:hover:after{content:var(--tw-content);background-color:var(--sidebar-border)}}.focus\:z-10:focus{z-index:10}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:text-accent-foreground:focus{color:var(--accent-foreground)}.focus\:text-destructive:focus{color:var(--destructive)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-primary:focus{--tw-ring-color:var(--primary)}.focus\:ring-ring:focus{--tw-ring-color:var(--ring)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.focus\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:z-10:focus-visible{z-index:10}.focus-visible\:border-primary:focus-visible{border-color:var(--primary)}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-0:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-4:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.focus-visible\:ring-primary:focus-visible{--tw-ring-color:var(--primary)}.focus-visible\:ring-ring:focus-visible,.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.focus-visible\:ring-offset-1:focus-visible{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:outline-hidden:focus-visible{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.focus-visible\:outline-hidden:focus-visible{outline-offset:2px;outline:2px solid #0000}}.focus-visible\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-ring:focus-visible{outline-color:var(--ring)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:bg-sidebar-accent:active{background-color:var(--sidebar-accent)}.active\:text-sidebar-accent-foreground:active{color:var(--sidebar-accent-foreground)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}:where([data-side=left]) .in-data-\[side\=left\]\:cursor-w-resize{cursor:w-resize}:where([data-side=right]) .in-data-\[side\=right\]\:cursor-e-resize{cursor:e-resize}.has-focus\:border-ring:has(:focus){border-color:var(--ring)}.has-focus\:ring-\[3px\]:has(:focus){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.has-focus\:ring-ring\/50:has(:focus){--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.has-focus\:ring-ring\/50:has(:focus){--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.has-disabled\:opacity-50:has(:disabled){opacity:.5}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-data-\[state\=checked\]\:border-primary:has([data-state=checked]){border-color:var(--primary)}.has-data-\[state\=checked\]\:bg-primary\/5:has([data-state=checked]){background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.has-data-\[state\=checked\]\:bg-primary\/5:has([data-state=checked]){background-color:color-mix(in oklab, var(--primary) 5%, transparent)}}.has-data-\[variant\=inset\]\:bg-sidebar:has([data-variant=inset]){background-color:var(--sidebar)}.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:border-ring:has([data-slot=input-group-control]:focus-visible){border-color:var(--ring)}.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-\[3px\]:has([data-slot=input-group-control]:focus-visible){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-ring\/50:has([data-slot=input-group-control]:focus-visible){--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-ring\/50:has([data-slot=input-group-control]:focus-visible){--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.has-\[\[data-slot\]\[aria-invalid\=true\]\]\:border-destructive:has([data-slot][aria-invalid=true]){border-color:var(--destructive)}.has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/20:has([data-slot][aria-invalid=true]){--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/20:has([data-slot][aria-invalid=true]){--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.has-\[\>\[data-align\=block-end\]\]\:h-auto:has(>[data-align=block-end]){height:auto}.has-\[\>\[data-align\=block-end\]\]\:flex-col:has(>[data-align=block-end]){flex-direction:column}.has-\[\>\[data-align\=block-start\]\]\:h-auto:has(>[data-align=block-start]){height:auto}.has-\[\>\[data-align\=block-start\]\]\:flex-col:has(>[data-align=block-start]){flex-direction:column}.has-\[\>\[data-slot\=button-group\]\]\:gap-2:has(>[data-slot=button-group]){gap:calc(var(--spacing) * 2)}.has-\[\>\[data-slot\=checkbox-group\]\]\:gap-3:has(>[data-slot=checkbox-group]){gap:calc(var(--spacing) * 3)}.has-\[\>\[data-slot\=field-content\]\]\:items-start:has(>[data-slot=field-content]){align-items:flex-start}.has-\[\>\[data-slot\=field\]\]\:w-full:has(>[data-slot=field]){width:100%}.has-\[\>\[data-slot\=field\]\]\:flex-col:has(>[data-slot=field]){flex-direction:column}.has-\[\>\[data-slot\=field\]\]\:rounded-md:has(>[data-slot=field]){border-radius:calc(var(--radius) - 2px)}.has-\[\>\[data-slot\=field\]\]\:border:has(>[data-slot=field]){border-style:var(--tw-border-style);border-width:1px}.has-\[\>\[data-slot\=radio-group\]\]\:gap-3:has(>[data-slot=radio-group]){gap:calc(var(--spacing) * 3)}.has-\[\>button\]\:mr-\[-0\.45rem\]:has(>button){margin-right:-.45rem}.has-\[\>button\]\:ml-\[-0\.45rem\]:has(>button){margin-left:-.45rem}.has-\[\>kbd\]\:mr-\[-0\.35rem\]:has(>kbd){margin-right:-.35rem}.has-\[\>kbd\]\:ml-\[-0\.35rem\]:has(>kbd){margin-left:-.35rem}.has-\[\>svg\]\:grid-cols-\[calc\(var\(--spacing\)\*4\)_1fr\]:has(>svg){grid-template-columns:calc(var(--spacing) * 4) 1fr}.has-\[\>svg\]\:gap-x-3:has(>svg){column-gap:calc(var(--spacing) * 3)}.has-\[\>svg\]\:p-0:has(>svg){padding:0}.has-\[\>svg\]\:px-1\.5:has(>svg){padding-inline:calc(var(--spacing) * 1.5)}.has-\[\>svg\]\:px-2:has(>svg){padding-inline:calc(var(--spacing) * 2)}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing) * 2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing) * 3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing) * 4)}.has-\[\>textarea\]\:h-auto:has(>textarea){height:auto}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.aria-selected\:text-muted-foreground[aria-selected=true]{color:var(--muted-foreground)}.aria-\[orientation\=horizontal\]\:h-px[aria-orientation=horizontal]{height:1px}.aria-\[orientation\=horizontal\]\:w-full[aria-orientation=horizontal]{width:100%}.aria-\[orientation\=horizontal\]\:after\:left-0[aria-orientation=horizontal]:after{content:var(--tw-content);left:0}.aria-\[orientation\=horizontal\]\:after\:h-1[aria-orientation=horizontal]:after{content:var(--tw-content);height:var(--spacing)}.aria-\[orientation\=horizontal\]\:after\:w-full[aria-orientation=horizontal]:after{content:var(--tw-content);width:100%}.aria-\[orientation\=horizontal\]\:after\:translate-x-0[aria-orientation=horizontal]:after{content:var(--tw-content);--tw-translate-x:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.aria-\[orientation\=horizontal\]\:after\:-translate-y-1\/2[aria-orientation=horizontal]:after{content:var(--tw-content);--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.aria-\[orientation\=vertical\]\:flex-col[aria-orientation=vertical]{flex-direction:column}.data-\[active\=true\]\:z-10[data-active=true]{z-index:10}.data-\[active\=true\]\:border-ring[data-active=true]{border-color:var(--ring)}.data-\[active\=true\]\:bg-accent\/50[data-active=true]{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.data-\[active\=true\]\:bg-accent\/50[data-active=true]{background-color:color-mix(in oklab, var(--accent) 50%, transparent)}}.data-\[active\=true\]\:bg-sidebar-accent[data-active=true]{background-color:var(--sidebar-accent)}.data-\[active\=true\]\:font-medium[data-active=true]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.data-\[active\=true\]\:text-accent-foreground[data-active=true]{color:var(--accent-foreground)}.data-\[active\=true\]\:text-sidebar-accent-foreground[data-active=true]{color:var(--sidebar-accent-foreground)}.data-\[active\=true\]\:ring-\[3px\][data-active=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.data-\[active\=true\]\:ring-ring\/50[data-active=true]{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.data-\[active\=true\]\:ring-ring\/50[data-active=true]{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}@media (hover:hover){.data-\[active\=true\]\:hover\:bg-accent[data-active=true]:hover{background-color:var(--accent)}}.data-\[active\=true\]\:focus\:bg-accent[data-active=true]:focus{background-color:var(--accent)}.data-\[active\=true\]\:aria-invalid\:border-destructive[data-active=true][aria-invalid=true]{border-color:var(--destructive)}.data-\[active\=true\]\:aria-invalid\:ring-destructive\/20[data-active=true][aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.data-\[active\=true\]\:aria-invalid\:ring-destructive\/20[data-active=true][aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true]{pointer-events:none}.data-\[disabled\=true\]\:opacity-50[data-disabled=true]{opacity:.5}.data-\[error\=true\]\:text-destructive[data-error=true]{color:var(--destructive)}.data-\[inset\]\:pl-8[data-inset]{padding-left:calc(var(--spacing) * 8)}.data-\[invalid\=true\]\:text-destructive[data-invalid=true]{color:var(--destructive)}.data-\[motion\=from-end\]\:slide-in-from-right-52[data-motion=from-end]{--tw-enter-translate-x:13rem}.data-\[motion\=from-start\]\:slide-in-from-left-52[data-motion=from-start]{--tw-enter-translate-x:-13rem}.data-\[motion\=to-end\]\:slide-out-to-right-52[data-motion=to-end]{--tw-exit-translate-x:13rem}.data-\[motion\=to-start\]\:slide-out-to-left-52[data-motion=to-start]{--tw-exit-translate-x:-13rem}.data-\[motion\^\=from-\]\:animate-in[data-motion^=from-]{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.data-\[motion\^\=from-\]\:fade-in[data-motion^=from-]{--tw-enter-opacity:0}.data-\[motion\^\=to-\]\:animate-out[data-motion^=to-]{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-name:exit;animation-duration:.15s}.data-\[motion\^\=to-\]\:fade-out[data-motion^=to-]{--tw-exit-opacity:0}.data-\[orientation\=horizontal\]\:h-1\.5[data-orientation=horizontal]{height:calc(var(--spacing) * 1.5)}.data-\[orientation\=horizontal\]\:h-full[data-orientation=horizontal]{height:100%}.data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal]{height:1px}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=vertical\]\:h-auto[data-orientation=vertical]{height:auto}.data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.data-\[orientation\=vertical\]\:min-h-44[data-orientation=vertical]{min-height:calc(var(--spacing) * 44)}.data-\[orientation\=vertical\]\:w-1\.5[data-orientation=vertical]{width:calc(var(--spacing) * 1.5)}.data-\[orientation\=vertical\]\:w-auto[data-orientation=vertical]{width:auto}.data-\[orientation\=vertical\]\:w-full[data-orientation=vertical]{width:100%}.data-\[orientation\=vertical\]\:w-px[data-orientation=vertical]{width:1px}.data-\[orientation\=vertical\]\:flex-col[data-orientation=vertical]{flex-direction:column}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:var(--muted-foreground)}.data-\[range-end\=true\]\:rounded-md[data-range-end=true]{border-radius:calc(var(--radius) - 2px)}.data-\[range-end\=true\]\:rounded-r-md[data-range-end=true]{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.data-\[range-end\=true\]\:bg-primary[data-range-end=true]{background-color:var(--primary)}.data-\[range-end\=true\]\:text-primary-foreground[data-range-end=true]{color:var(--primary-foreground)}.data-\[range-middle\=true\]\:rounded-none[data-range-middle=true]{border-radius:0}.data-\[range-middle\=true\]\:bg-accent[data-range-middle=true]{background-color:var(--accent)}.data-\[range-middle\=true\]\:text-accent-foreground[data-range-middle=true]{color:var(--accent-foreground)}.data-\[range-start\=true\]\:rounded-md[data-range-start=true]{border-radius:calc(var(--radius) - 2px)}.data-\[range-start\=true\]\:rounded-l-md[data-range-start=true]{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.data-\[range-start\=true\]\:bg-primary[data-range-start=true]{background-color:var(--primary)}.data-\[range-start\=true\]\:text-primary-foreground[data-range-start=true]{color:var(--primary-foreground)}.data-\[selected-single\=true\]\:bg-primary[data-selected-single=true]{background-color:var(--primary)}.data-\[selected-single\=true\]\:text-primary-foreground[data-selected-single=true]{color:var(--primary-foreground)}.data-\[selected\=true\]\:rounded-none[data-selected=true]{border-radius:0}.data-\[selected\=true\]\:bg-accent[data-selected=true]{background-color:var(--accent)}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:var(--accent-foreground)}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:var(--spacing);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:-.5rem}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:.5rem}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:var(--spacing);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-.5rem}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:.5rem}.data-\[size\=default\]\:h-9[data-size=default]{height:calc(var(--spacing) * 9)}.data-\[size\=sm\]\:h-8[data-size=sm]{height:calc(var(--spacing) * 8)}:is(.\*\:data-\[slot\=alert-description\]\:text-destructive\/90>*)[data-slot=alert-description]{color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){:is(.\*\:data-\[slot\=alert-description\]\:text-destructive\/90>*)[data-slot=alert-description]{color:color-mix(in oklab, var(--destructive) 90%, transparent)}}.data-\[slot\=checkbox-group\]\:gap-3[data-slot=checkbox-group]{gap:calc(var(--spacing) * 3)}:is(.\*\*\:data-\[slot\=command-input-wrapper\]\:h-12 *)[data-slot=command-input-wrapper]{height:calc(var(--spacing) * 12)}:is(.\*\*\:data-\[slot\=navigation-menu-link\]\:focus\:ring-0 *)[data-slot=navigation-menu-link]:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}:is(.\*\*\:data-\[slot\=navigation-menu-link\]\:focus\:outline-none *)[data-slot=navigation-menu-link]:focus{--tw-outline-style:none;outline-style:none}:is(.\*\:data-\[slot\=select-value\]\:line-clamp-1>*)[data-slot=select-value]{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:is(.\*\:data-\[slot\=select-value\]\:flex>*)[data-slot=select-value]{display:flex}:is(.\*\:data-\[slot\=select-value\]\:items-center>*)[data-slot=select-value]{align-items:center}:is(.\*\:data-\[slot\=select-value\]\:gap-2>*)[data-slot=select-value]{gap:calc(var(--spacing) * 2)}.data-\[spacing\=0\]\:rounded-none[data-spacing="0"]{border-radius:0}.data-\[spacing\=0\]\:shadow-none[data-spacing="0"]{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.data-\[spacing\=0\]\:first\:rounded-l-md[data-spacing="0"]:first-child{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.data-\[spacing\=0\]\:last\:rounded-r-md[data-spacing="0"]:last-child{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:var(--background)}.data-\[state\=active\]\:shadow-sm[data-state=active]{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.data-\[state\=checked\]\:translate-x-\[calc\(100\%-2px\)\][data-state=checked]{--tw-translate-x:calc(100% - 2px);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=checked\]\:border-primary[data-state=checked]{border-color:var(--primary)}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--primary)}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:var(--primary-foreground)}.data-\[state\=closed\]\:duration-300[data-state=closed]{--tw-duration:.3s;transition-duration:.3s}.data-\[state\=closed\]\:animate-out[data-state=closed]{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-name:exit;animation-duration:.15s}.data-\[state\=closed\]\:duration-300[data-state=closed]{animation-duration:.3s}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y:100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x:-100%}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed]{--tw-exit-translate-x:100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y:-100%}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.group-data-\[viewport\=false\]\/navigation-menu\:data-\[state\=closed\]\:animate-out:is(:where(.group\/navigation-menu)[data-viewport=false] *)[data-state=closed]{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-name:exit;animation-duration:.15s}.group-data-\[viewport\=false\]\/navigation-menu\:data-\[state\=closed\]\:fade-out-0:is(:where(.group\/navigation-menu)[data-viewport=false] *)[data-state=closed]{--tw-exit-opacity:0}.group-data-\[viewport\=false\]\/navigation-menu\:data-\[state\=closed\]\:zoom-out-95:is(:where(.group\/navigation-menu)[data-viewport=false] *)[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=hidden\]\:animate-out[data-state=hidden]{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-name:exit;animation-duration:.15s}.data-\[state\=hidden\]\:fade-out[data-state=hidden]{--tw-exit-opacity:0}.data-\[state\=on\]\:bg-accent[data-state=on]{background-color:var(--accent)}.data-\[state\=on\]\:text-accent-foreground[data-state=on]{color:var(--accent-foreground)}.data-\[state\=open\]\:\!bg-accent\/40[data-state=open]{background-color:var(--accent)!important}@supports (color:color-mix(in lab, red, red)){.data-\[state\=open\]\:\!bg-accent\/40[data-state=open]{background-color:color-mix(in oklab, var(--accent) 40%, transparent)!important}}.data-\[state\=open\]\:bg-accent[data-state=open],.data-\[state\=open\]\:bg-accent\/50[data-state=open]{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.data-\[state\=open\]\:bg-accent\/50[data-state=open]{background-color:color-mix(in oklab, var(--accent) 50%, transparent)}}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:var(--secondary)}.data-\[state\=open\]\:bg-sidebar-accent[data-state=open]{background-color:var(--sidebar-accent)}.data-\[state\=open\]\:text-accent-foreground[data-state=open]{color:var(--accent-foreground)}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:var(--muted-foreground)}.data-\[state\=open\]\:text-sidebar-accent-foreground[data-state=open]{color:var(--sidebar-accent-foreground)}.data-\[state\=open\]\:opacity-100[data-state=open]{opacity:1}.data-\[state\=open\]\:duration-500[data-state=open]{--tw-duration:.5s;transition-duration:.5s}.data-\[state\=open\]\:animate-in[data-state=open]{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.data-\[state\=open\]\:duration-500[data-state=open]{animation-duration:.5s}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y:100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x:-100%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x:100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y:-100%}.data-\[state\=open\]\:zoom-in-90[data-state=open]{--tw-enter-scale:.9}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.group-data-\[viewport\=false\]\/navigation-menu\:data-\[state\=open\]\:animate-in:is(:where(.group\/navigation-menu)[data-viewport=false] *)[data-state=open]{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.group-data-\[viewport\=false\]\/navigation-menu\:data-\[state\=open\]\:fade-in-0:is(:where(.group\/navigation-menu)[data-viewport=false] *)[data-state=open]{--tw-enter-opacity:0}.group-data-\[viewport\=false\]\/navigation-menu\:data-\[state\=open\]\:zoom-in-95:is(:where(.group\/navigation-menu)[data-viewport=false] *)[data-state=open]{--tw-enter-scale:.95}@media (hover:hover){.data-\[state\=open\]\:hover\:bg-accent[data-state=open]:hover{background-color:var(--accent)}.data-\[state\=open\]\:hover\:bg-sidebar-accent[data-state=open]:hover{background-color:var(--sidebar-accent)}.data-\[state\=open\]\:hover\:text-sidebar-accent-foreground[data-state=open]:hover{color:var(--sidebar-accent-foreground)}}.data-\[state\=open\]\:focus\:bg-accent[data-state=open]:focus{background-color:var(--accent)}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:var(--muted)}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:var(--input)}.data-\[state\=visible\]\:animate-in[data-state=visible]{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.data-\[state\=visible\]\:fade-in[data-state=visible]{--tw-enter-opacity:0}.data-\[variant\=destructive\]\:text-destructive[data-variant=destructive]{color:var(--destructive)}.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.data-\[variant\=destructive\]\:focus\:text-destructive[data-variant=destructive]:focus{color:var(--destructive)}.data-\[variant\=label\]\:text-sm[data-variant=label]{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.data-\[variant\=legend\]\:text-base[data-variant=legend]{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.data-\[spacing\=0\]\:data-\[variant\=outline\]\:border-l-0[data-spacing="0"][data-variant=outline]{border-left-style:var(--tw-border-style);border-left-width:0}.data-\[spacing\=0\]\:data-\[variant\=outline\]\:first\:border-l[data-spacing="0"][data-variant=outline]:first-child{border-left-style:var(--tw-border-style);border-left-width:1px}.data-\[spacing\=default\]\:data-\[variant\=outline\]\:shadow-xs[data-spacing=default][data-variant=outline]{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.data-\[vaul-drawer-direction\=bottom\]\:inset-x-0[data-vaul-drawer-direction=bottom]{inset-inline:0}.data-\[vaul-drawer-direction\=bottom\]\:bottom-0[data-vaul-drawer-direction=bottom]{bottom:0}.data-\[vaul-drawer-direction\=bottom\]\:mt-24[data-vaul-drawer-direction=bottom]{margin-top:calc(var(--spacing) * 24)}.data-\[vaul-drawer-direction\=bottom\]\:max-h-\[80vh\][data-vaul-drawer-direction=bottom]{max-height:80vh}.data-\[vaul-drawer-direction\=bottom\]\:rounded-t-lg[data-vaul-drawer-direction=bottom]{border-top-left-radius:var(--radius);border-top-right-radius:var(--radius)}.data-\[vaul-drawer-direction\=bottom\]\:border-t[data-vaul-drawer-direction=bottom]{border-top-style:var(--tw-border-style);border-top-width:1px}.data-\[vaul-drawer-direction\=left\]\:inset-y-0[data-vaul-drawer-direction=left]{inset-block:0}.data-\[vaul-drawer-direction\=left\]\:left-0[data-vaul-drawer-direction=left]{left:0}.data-\[vaul-drawer-direction\=left\]\:w-3\/4[data-vaul-drawer-direction=left]{width:75%}.data-\[vaul-drawer-direction\=left\]\:border-r[data-vaul-drawer-direction=left]{border-right-style:var(--tw-border-style);border-right-width:1px}.data-\[vaul-drawer-direction\=right\]\:inset-y-0[data-vaul-drawer-direction=right]{inset-block:0}.data-\[vaul-drawer-direction\=right\]\:right-0[data-vaul-drawer-direction=right]{right:0}.data-\[vaul-drawer-direction\=right\]\:w-3\/4[data-vaul-drawer-direction=right]{width:75%}.data-\[vaul-drawer-direction\=right\]\:border-l[data-vaul-drawer-direction=right]{border-left-style:var(--tw-border-style);border-left-width:1px}.data-\[vaul-drawer-direction\=top\]\:inset-x-0[data-vaul-drawer-direction=top]{inset-inline:0}.data-\[vaul-drawer-direction\=top\]\:top-0[data-vaul-drawer-direction=top]{top:0}.data-\[vaul-drawer-direction\=top\]\:mb-24[data-vaul-drawer-direction=top]{margin-bottom:calc(var(--spacing) * 24)}.data-\[vaul-drawer-direction\=top\]\:max-h-\[80vh\][data-vaul-drawer-direction=top]{max-height:80vh}.data-\[vaul-drawer-direction\=top\]\:rounded-b-lg[data-vaul-drawer-direction=top]{border-bottom-right-radius:var(--radius);border-bottom-left-radius:var(--radius)}.data-\[vaul-drawer-direction\=top\]\:border-b[data-vaul-drawer-direction=top]{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.nth-last-2\:-mt-1:nth-last-child(2){margin-top:calc(var(--spacing) * -1)}@supports ((-webkit-backdrop-filter:var(--tw)) or (backdrop-filter:var(--tw))){.supports-\[backdrop-filter\]\:bg-background\/60{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.supports-\[backdrop-filter\]\:bg-background\/60{background-color:color-mix(in oklab, var(--background) 60%, transparent)}}.supports-\[backdrop-filter\]\:bg-card\/50{background-color:var(--card)}@supports (color:color-mix(in lab, red, red)){.supports-\[backdrop-filter\]\:bg-card\/50{background-color:color-mix(in oklab, var(--card) 50%, transparent)}}}@media (min-width:40rem){.sm\:col-span-2{grid-column:span 2/span 2}.sm\:mt-10{margin-top:calc(var(--spacing) * 10)}.sm\:block{display:block}.sm\:flex{display:flex}.sm\:grid{display:grid}.sm\:hidden{display:none}.sm\:inline{display:inline}.sm\:inline-flex{display:inline-flex}.sm\:h-4{height:calc(var(--spacing) * 4)}.sm\:h-64{height:calc(var(--spacing) * 64)}.sm\:w-1\/3{width:33.3333%}.sm\:w-4{width:calc(var(--spacing) * 4)}.sm\:w-48{width:calc(var(--spacing) * 48)}.sm\:w-180{width:calc(var(--spacing) * 180)}.sm\:max-w-2xl{max-width:var(--container-2xl)}.sm\:max-w-125{max-width:calc(var(--spacing) * 125)}.sm\:max-w-130{max-width:calc(var(--spacing) * 130)}.sm\:max-w-180{max-width:calc(var(--spacing) * 180)}.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:max-w-md{max-width:var(--container-md)}.sm\:max-w-sm{max-width:var(--container-sm)}.sm\:min-w-105{min-width:calc(var(--spacing) * 105)}.sm\:min-w-\[12rem\]{min-width:12rem}.sm\:min-w-\[220px\]{min-width:220px}.sm\:shrink-0{flex-shrink:0}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.sm\:grid-cols-\[80px_1fr_1fr_80px_36px\]{grid-template-columns:80px 1fr 1fr 80px 36px}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:items-end{align-items:flex-end}.sm\:justify-between{justify-content:space-between}.sm\:justify-end{justify-content:flex-end}.sm\:justify-start{justify-content:flex-start}.sm\:gap-2{gap:calc(var(--spacing) * 2)}.sm\:gap-2\.5{gap:calc(var(--spacing) * 2.5)}.sm\:gap-4{gap:calc(var(--spacing) * 4)}.sm\:gap-5{gap:calc(var(--spacing) * 5)}:where(.sm\:space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.sm\:divide-x>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px * var(--tw-divide-x-reverse));border-inline-end-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}:where(.sm\:divide-y-0>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(0px * var(--tw-divide-y-reverse));border-bottom-width:calc(0px * calc(1 - var(--tw-divide-y-reverse)))}.sm\:rounded-none{border-radius:0}.sm\:p-6{padding:calc(var(--spacing) * 6)}.sm\:px-4{padding-inline:calc(var(--spacing) * 4)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:px-7{padding-inline:calc(var(--spacing) * 7)}.sm\:py-12{padding-block:calc(var(--spacing) * 12)}.sm\:py-14{padding-block:calc(var(--spacing) * 14)}.sm\:pr-2\.5{padding-right:calc(var(--spacing) * 2.5)}.sm\:pb-6{padding-bottom:calc(var(--spacing) * 6)}.sm\:pl-2\.5{padding-left:calc(var(--spacing) * 2.5)}.sm\:text-left{text-align:left}.sm\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.sm\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.sm\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.sm\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.sm\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.sm\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.sm\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.data-\[vaul-drawer-direction\=left\]\:sm\:max-w-sm[data-vaul-drawer-direction=left],.data-\[vaul-drawer-direction\=right\]\:sm\:max-w-sm[data-vaul-drawer-direction=right]{max-width:var(--container-sm)}}@media (min-width:48rem){.md\:absolute{position:absolute}.md\:order-1{order:1}.md\:order-2{order:2}.md\:col-span-1{grid-column:span 1/span 1}.md\:col-span-2{grid-column:span 2/span 2}.md\:col-span-4{grid-column:span 4/span 4}.md\:col-span-5{grid-column:span 5/span 5}.md\:col-span-6{grid-column:span 6/span 6}.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:inline-flex{display:inline-flex}.md\:h-16{height:calc(var(--spacing) * 16)}.md\:w-125{width:calc(var(--spacing) * 125)}.md\:w-215{width:calc(var(--spacing) * 215)}.md\:w-\[var\(--radix-navigation-menu-viewport-width\)\]{width:var(--radix-navigation-menu-viewport-width)}.md\:w-auto{width:auto}.md\:max-w-160{max-width:calc(var(--spacing) * 160)}.md\:max-w-215{max-width:calc(var(--spacing) * 215)}.md\:min-w-130{min-width:calc(var(--spacing) * 130)}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.md\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.md\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.md\:grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.md\:grid-cols-\[minmax\(0\,2fr\)_minmax\(0\,4fr\)\]{grid-template-columns:minmax(0,2fr) minmax(0,4fr)}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:items-end{align-items:flex-end}.md\:items-stretch{align-items:stretch}.md\:justify-between{justify-content:space-between}.md\:gap-1\.5{gap:calc(var(--spacing) * 1.5)}.md\:gap-2{gap:calc(var(--spacing) * 2)}.md\:gap-10{gap:calc(var(--spacing) * 10)}.md\:p-4{padding:calc(var(--spacing) * 4)}.md\:p-6{padding:calc(var(--spacing) * 6)}.md\:p-8{padding:calc(var(--spacing) * 8)}.md\:p-10{padding:calc(var(--spacing) * 10)}.md\:p-12{padding:calc(var(--spacing) * 12)}.md\:px-4{padding-inline:calc(var(--spacing) * 4)}.md\:px-6{padding-inline:calc(var(--spacing) * 6)}.md\:px-8{padding-inline:calc(var(--spacing) * 8)}.md\:py-12{padding-block:calc(var(--spacing) * 12)}.md\:py-14{padding-block:calc(var(--spacing) * 14)}.md\:py-16{padding-block:calc(var(--spacing) * 16)}.md\:py-20{padding-block:calc(var(--spacing) * 20)}.md\:py-24{padding-block:calc(var(--spacing) * 24)}.md\:py-28{padding-block:calc(var(--spacing) * 28)}.md\:text-left{text-align:left}.md\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.md\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.md\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.md\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.md\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.md\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.md\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.md\:opacity-0{opacity:0}.md\:peer-data-\[variant\=inset\]\:m-2:is(:where(.peer)[data-variant=inset]~*){margin:calc(var(--spacing) * 2)}.md\:peer-data-\[variant\=inset\]\:ml-0:is(:where(.peer)[data-variant=inset]~*){margin-left:0}.md\:peer-data-\[variant\=inset\]\:rounded-xl:is(:where(.peer)[data-variant=inset]~*){border-radius:calc(var(--radius) + 4px)}.md\:peer-data-\[variant\=inset\]\:shadow-sm:is(:where(.peer)[data-variant=inset]~*){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.md\:peer-data-\[variant\=inset\]\:peer-data-\[state\=collapsed\]\:ml-2:is(:where(.peer)[data-variant=inset]~*):is(:where(.peer)[data-state=collapsed]~*){margin-left:calc(var(--spacing) * 2)}.md\:after\:hidden:after{content:var(--tw-content);display:none}}@media (min-width:64rem){.lg\:sticky{position:sticky}.lg\:top-6{top:calc(var(--spacing) * 6)}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-4{grid-column:span 4/span 4}.lg\:block{display:block}.lg\:w-150{width:calc(var(--spacing) * 150)}.lg\:max-w-180{max-width:calc(var(--spacing) * 180)}.lg\:min-w-160{min-width:calc(var(--spacing) * 160)}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-\[0\.95fr_1\.05fr\]{grid-template-columns:.95fr 1.05fr}.lg\:grid-cols-\[1\.25fr_0\.75fr\]{grid-template-columns:1.25fr .75fr}.lg\:grid-cols-\[1fr_1fr\]{grid-template-columns:1fr 1fr}.lg\:grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,1\.1fr\)\]{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}.lg\:grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:items-start{align-items:flex-start}.lg\:justify-between{justify-content:space-between}.lg\:self-start{align-self:flex-start}.lg\:px-8{padding-inline:calc(var(--spacing) * 8)}.lg\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.lg\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}}@media (min-width:80rem){.xl\:w-80{width:calc(var(--spacing) * 80)}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:flex-row{flex-direction:row}}@container field-group (min-width:28rem){.\@md\/field-group\:flex-row{flex-direction:row}.\@md\/field-group\:items-center{align-items:center}.\@md\/field-group\:has-\[\>\[data-slot\=field-content\]\]\:items-start:has(>[data-slot=field-content]){align-items:flex-start}}.dark\:scale-0:is(.dark *){--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x) var(--tw-scale-y)}.dark\:scale-100:is(.dark *){--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.dark\:-rotate-90:is(.dark *){rotate:-90deg}.dark\:rotate-0:is(.dark *){rotate:0deg}.dark\:border-amber-300:is(.dark *){border-color:var(--color-amber-300)}.dark\:border-emerald-300:is(.dark *){border-color:var(--color-emerald-300)}.dark\:border-emerald-900\/40:is(.dark *){border-color:#004e3b66}@supports (color:color-mix(in lab, red, red)){.dark\:border-emerald-900\/40:is(.dark *){border-color:color-mix(in oklab, var(--color-emerald-900) 40%, transparent)}}.dark\:border-gray-700:is(.dark *){border-color:var(--color-gray-700)}.dark\:border-input:is(.dark *){border-color:var(--input)}.dark\:border-neutral-700:is(.dark *){border-color:var(--color-neutral-700)}.dark\:border-white\/\[0\.06\]:is(.dark *){border-color:#ffffff0f}@supports (color:color-mix(in lab, red, red)){.dark\:border-white\/\[0\.06\]:is(.dark *){border-color:color-mix(in oklab, var(--color-white) 6%, transparent)}}.dark\:bg-amber-200:is(.dark *){background-color:var(--color-amber-200)}.dark\:bg-amber-950\/20:is(.dark *){background-color:#46190133}@supports (color:color-mix(in lab, red, red)){.dark\:bg-amber-950\/20:is(.dark *){background-color:color-mix(in oklab, var(--color-amber-950) 20%, transparent)}}.dark\:bg-blue-900\/30:is(.dark *){background-color:#1c398e4d}@supports (color:color-mix(in lab, red, red)){.dark\:bg-blue-900\/30:is(.dark *){background-color:color-mix(in oklab, var(--color-blue-900) 30%, transparent)}}.dark\:bg-destructive\/60:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-destructive\/60:is(.dark *){background-color:color-mix(in oklab, var(--destructive) 60%, transparent)}}.dark\:bg-emerald-200:is(.dark *){background-color:var(--color-emerald-200)}.dark\:bg-emerald-900\/30:is(.dark *){background-color:#004e3b4d}@supports (color:color-mix(in lab, red, red)){.dark\:bg-emerald-900\/30:is(.dark *){background-color:color-mix(in oklab, var(--color-emerald-900) 30%, transparent)}}.dark\:bg-emerald-950\/30:is(.dark *){background-color:#002c224d}@supports (color:color-mix(in lab, red, red)){.dark\:bg-emerald-950\/30:is(.dark *){background-color:color-mix(in oklab, var(--color-emerald-950) 30%, transparent)}}.dark\:bg-gray-900\/30:is(.dark *){background-color:#1018284d}@supports (color:color-mix(in lab, red, red)){.dark\:bg-gray-900\/30:is(.dark *){background-color:color-mix(in oklab, var(--color-gray-900) 30%, transparent)}}.dark\:bg-gray-900\/40:is(.dark *){background-color:#10182866}@supports (color:color-mix(in lab, red, red)){.dark\:bg-gray-900\/40:is(.dark *){background-color:color-mix(in oklab, var(--color-gray-900) 40%, transparent)}}.dark\:bg-green-900\/30:is(.dark *){background-color:#0d542b4d}@supports (color:color-mix(in lab, red, red)){.dark\:bg-green-900\/30:is(.dark *){background-color:color-mix(in oklab, var(--color-green-900) 30%, transparent)}}.dark\:bg-input\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab, var(--input) 30%, transparent)}}.dark\:bg-muted:is(.dark *),.dark\:bg-muted\/30:is(.dark *){background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-muted\/30:is(.dark *){background-color:color-mix(in oklab, var(--muted) 30%, transparent)}}.dark\:bg-neutral-900:is(.dark *){background-color:var(--color-neutral-900)}.dark\:bg-orange-900\/30:is(.dark *){background-color:#7e2a0c4d}@supports (color:color-mix(in lab, red, red)){.dark\:bg-orange-900\/30:is(.dark *){background-color:color-mix(in oklab, var(--color-orange-900) 30%, transparent)}}.dark\:bg-primary\/20:is(.dark *){background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-primary\/20:is(.dark *){background-color:color-mix(in oklab, var(--primary) 20%, transparent)}}.dark\:bg-red-500\/10:is(.dark *){background-color:#fb2c361a}@supports (color:color-mix(in lab, red, red)){.dark\:bg-red-500\/10:is(.dark *){background-color:color-mix(in oklab, var(--color-red-500) 10%, transparent)}}.dark\:bg-red-900\/30:is(.dark *){background-color:#82181a4d}@supports (color:color-mix(in lab, red, red)){.dark\:bg-red-900\/30:is(.dark *){background-color:color-mix(in oklab, var(--color-red-900) 30%, transparent)}}.dark\:bg-slate-900\/40:is(.dark *){background-color:#0f172b66}@supports (color:color-mix(in lab, red, red)){.dark\:bg-slate-900\/40:is(.dark *){background-color:color-mix(in oklab, var(--color-slate-900) 40%, transparent)}}.dark\:bg-transparent:is(.dark *){background-color:#0000}.dark\:bg-violet-900\/30:is(.dark *){background-color:#4d179a4d}@supports (color:color-mix(in lab, red, red)){.dark\:bg-violet-900\/30:is(.dark *){background-color:color-mix(in oklab, var(--color-violet-900) 30%, transparent)}}.dark\:bg-violet-950:is(.dark *){background-color:var(--color-violet-950)}.dark\:bg-white\/\[0\.03\]:is(.dark *){background-color:#ffffff08}@supports (color:color-mix(in lab, red, red)){.dark\:bg-white\/\[0\.03\]:is(.dark *){background-color:color-mix(in oklab, var(--color-white) 3%, transparent)}}.dark\:bg-yellow-900\/30:is(.dark *){background-color:#733e0a4d}@supports (color:color-mix(in lab, red, red)){.dark\:bg-yellow-900\/30:is(.dark *){background-color:color-mix(in oklab, var(--color-yellow-900) 30%, transparent)}}.dark\:bg-\[repeating-linear-gradient\(45deg\,\#ef4444_0\,\#ef4444_8px\,\#000_8px\,\#000_16px\)\]:is(.dark *){background-image:repeating-linear-gradient(45deg,#ef4444 0 8px,#000 8px 16px)}.dark\:from-amber-900\/30:is(.dark *){--tw-gradient-from:#7b33064d}@supports (color:color-mix(in lab, red, red)){.dark\:from-amber-900\/30:is(.dark *){--tw-gradient-from:color-mix(in oklab, var(--color-amber-900) 30%, transparent)}}.dark\:from-amber-900\/30:is(.dark *){--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.dark\:from-indigo-950:is(.dark *){--tw-gradient-from:var(--color-indigo-950);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.dark\:from-pink-900\/40:is(.dark *){--tw-gradient-from:#86104366}@supports (color:color-mix(in lab, red, red)){.dark\:from-pink-900\/40:is(.dark *){--tw-gradient-from:color-mix(in oklab, var(--color-pink-900) 40%, transparent)}}.dark\:from-pink-900\/40:is(.dark *){--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.dark\:from-pink-900\/50:is(.dark *){--tw-gradient-from:#86104380}@supports (color:color-mix(in lab, red, red)){.dark\:from-pink-900\/50:is(.dark *){--tw-gradient-from:color-mix(in oklab, var(--color-pink-900) 50%, transparent)}}.dark\:from-pink-900\/50:is(.dark *){--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.dark\:from-slate-100:is(.dark *){--tw-gradient-from:var(--color-slate-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.dark\:via-neutral-950:is(.dark *){--tw-gradient-via:var(--color-neutral-950);--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.dark\:to-amber-950\/40:is(.dark *){--tw-gradient-to:#46190166}@supports (color:color-mix(in lab, red, red)){.dark\:to-amber-950\/40:is(.dark *){--tw-gradient-to:color-mix(in oklab, var(--color-amber-950) 40%, transparent)}}.dark\:to-amber-950\/40:is(.dark *){--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.dark\:to-cyan-900\/50:is(.dark *){--tw-gradient-to:#104e6480}@supports (color:color-mix(in lab, red, red)){.dark\:to-cyan-900\/50:is(.dark *){--tw-gradient-to:color-mix(in oklab, var(--color-cyan-900) 50%, transparent)}}.dark\:to-cyan-900\/50:is(.dark *){--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.dark\:to-pink-950:is(.dark *){--tw-gradient-to:var(--color-pink-950);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.dark\:to-rose-950\/30:is(.dark *){--tw-gradient-to:#4d02184d}@supports (color:color-mix(in lab, red, red)){.dark\:to-rose-950\/30:is(.dark *){--tw-gradient-to:color-mix(in oklab, var(--color-rose-950) 30%, transparent)}}.dark\:to-rose-950\/30:is(.dark *){--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.dark\:to-slate-300:is(.dark *){--tw-gradient-to:var(--color-slate-300);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.dark\:text-amber-300:is(.dark *){color:var(--color-amber-300)}.dark\:text-amber-400:is(.dark *){color:var(--color-amber-400)}.dark\:text-blue-400:is(.dark *){color:var(--color-blue-400)}.dark\:text-emerald-300:is(.dark *){color:var(--color-emerald-300)}.dark\:text-emerald-400:is(.dark *){color:var(--color-emerald-400)}.dark\:text-gray-200:is(.dark *){color:var(--color-gray-200)}.dark\:text-gray-400:is(.dark *){color:var(--color-gray-400)}.dark\:text-green-400:is(.dark *){color:var(--color-green-400)}.dark\:text-muted-foreground:is(.dark *){color:var(--muted-foreground)}.dark\:text-orange-400:is(.dark *){color:var(--color-orange-400)}.dark\:text-red-400:is(.dark *){color:var(--color-red-400)}.dark\:text-rose-400:is(.dark *){color:var(--color-rose-400)}.dark\:text-violet-400:is(.dark *){color:var(--color-violet-400)}.dark\:text-yellow-400:is(.dark *){color:var(--color-yellow-400)}.dark\:shadow-\[0_8px_32px_rgba\(0\,0\,0\,0\.3\)\]:is(.dark *){--tw-shadow:0 8px 32px var(--tw-shadow-color,#0000004d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.dark\:prose-invert:is(.dark *){--tw-prose-body:var(--tw-prose-invert-body);--tw-prose-headings:var(--tw-prose-invert-headings);--tw-prose-lead:var(--tw-prose-invert-lead);--tw-prose-links:var(--tw-prose-invert-links);--tw-prose-bold:var(--tw-prose-invert-bold);--tw-prose-counters:var(--tw-prose-invert-counters);--tw-prose-bullets:var(--tw-prose-invert-bullets);--tw-prose-hr:var(--tw-prose-invert-hr);--tw-prose-quotes:var(--tw-prose-invert-quotes);--tw-prose-quote-borders:var(--tw-prose-invert-quote-borders);--tw-prose-captions:var(--tw-prose-invert-captions);--tw-prose-kbd:var(--tw-prose-invert-kbd);--tw-prose-kbd-shadows:var(--tw-prose-invert-kbd-shadows);--tw-prose-code:var(--tw-prose-invert-code);--tw-prose-pre-code:var(--tw-prose-invert-pre-code);--tw-prose-pre-bg:var(--tw-prose-invert-pre-bg);--tw-prose-th-borders:var(--tw-prose-invert-th-borders);--tw-prose-td-borders:var(--tw-prose-invert-td-borders)}@media (hover:hover){.dark\:hover\:border-amber-400:is(.dark *):hover{border-color:var(--color-amber-400)}.dark\:hover\:border-emerald-400:is(.dark *):hover{border-color:var(--color-emerald-400)}.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--accent) 50%, transparent)}}.dark\:hover\:bg-amber-100:is(.dark *):hover{background-color:var(--color-amber-100)}.dark\:hover\:bg-emerald-100:is(.dark *):hover{background-color:var(--color-emerald-100)}.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}.dark\:hover\:text-accent-foreground:is(.dark *):hover{color:var(--accent-foreground)}}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:has-data-\[state\=checked\]\:bg-primary\/10:is(.dark *):has([data-state=checked]){background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.dark\:has-data-\[state\=checked\]\:bg-primary\/10:is(.dark *):has([data-state=checked]){background-color:color-mix(in oklab, var(--primary) 10%, transparent)}}.dark\:has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/40:is(.dark *):has([data-slot][aria-invalid=true]){--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/40:is(.dark *):has([data-slot][aria-invalid=true]){--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:data-\[active\=true\]\:aria-invalid\:ring-destructive\/40:is(.dark *)[data-active=true][aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:data-\[active\=true\]\:aria-invalid\:ring-destructive\/40:is(.dark *)[data-active=true][aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:data-\[state\=active\]\:border-input:is(.dark *)[data-state=active]{border-color:var(--input)}.dark\:data-\[state\=active\]\:bg-input\/30:is(.dark *)[data-state=active]{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:data-\[state\=active\]\:bg-input\/30:is(.dark *)[data-state=active]{background-color:color-mix(in oklab, var(--input) 30%, transparent)}}.dark\:data-\[state\=active\]\:text-foreground:is(.dark *)[data-state=active]{color:var(--foreground)}.dark\:data-\[state\=checked\]\:bg-primary:is(.dark *)[data-state=checked]{background-color:var(--primary)}.dark\:data-\[state\=checked\]\:bg-primary-foreground:is(.dark *)[data-state=checked]{background-color:var(--primary-foreground)}.dark\:data-\[state\=unchecked\]\:bg-foreground:is(.dark *)[data-state=unchecked]{background-color:var(--foreground)}.dark\:data-\[state\=unchecked\]\:bg-input\/80:is(.dark *)[data-state=unchecked]{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:data-\[state\=unchecked\]\:bg-input\/80:is(.dark *)[data-state=unchecked]{background-color:color-mix(in oklab, var(--input) 80%, transparent)}}.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20:is(.dark *)[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20:is(.dark *)[data-variant=destructive]:focus{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.prose-p\:my-0 :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-block:0}.prose-a\:text-cyan-500 :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--color-cyan-500)}.prose-a\:underline :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){text-decoration-line:underline}@media (hover:hover){.hover\:prose-a\:text-cyan-400:hover :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--color-cyan-400)}}.prose-ol\:my-1 :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-block:var(--spacing)}.prose-ol\:pl-5 :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){padding-left:calc(var(--spacing) * 5)}.prose-ul\:my-1 :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-block:var(--spacing)}.prose-ul\:pl-5 :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){padding-left:calc(var(--spacing) * 5)}.\[\&_\.recharts-cartesian-axis-tick_text\]\:fill-muted-foreground .recharts-cartesian-axis-tick text{fill:var(--muted-foreground)}.\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke=\#ccc]{stroke:var(--border)}@supports (color:color-mix(in lab, red, red)){.\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke=\#ccc]{stroke:color-mix(in oklab, var(--border) 50%, transparent)}}.\[\&_\.recharts-curve\.recharts-tooltip-cursor\]\:stroke-border .recharts-curve.recharts-tooltip-cursor{stroke:var(--border)}.\[\&_\.recharts-dot\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-dot[stroke=\#fff]{stroke:#0000}.\[\&_\.recharts-layer\]\:outline-hidden .recharts-layer{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.\[\&_\.recharts-layer\]\:outline-hidden .recharts-layer{outline-offset:2px;outline:2px solid #0000}}.\[\&_\.recharts-polar-grid_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-polar-grid [stroke=\#ccc]{stroke:var(--border)}.\[\&_\.recharts-radial-bar-background-sector\]\:fill-muted .recharts-radial-bar-background-sector,.\[\&_\.recharts-rectangle\.recharts-tooltip-cursor\]\:fill-muted .recharts-rectangle.recharts-tooltip-cursor{fill:var(--muted)}.\[\&_\.recharts-reference-line_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-reference-line [stroke=\#ccc]{stroke:var(--border)}.\[\&_\.recharts-sector\]\:outline-hidden .recharts-sector{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.\[\&_\.recharts-sector\]\:outline-hidden .recharts-sector{outline-offset:2px;outline:2px solid #0000}}.\[\&_\.recharts-sector\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-sector[stroke=\#fff]{stroke:#0000}.\[\&_\.recharts-surface\]\:outline-hidden .recharts-surface{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.\[\&_\.recharts-surface\]\:outline-hidden .recharts-surface{outline-offset:2px;outline:2px solid #0000}}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-inline:calc(var(--spacing) * 2)}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-block:calc(var(--spacing) * 1.5)}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:var(--muted-foreground)}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-inline:calc(var(--spacing) * 2)}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:calc(var(--spacing) * 5)}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:calc(var(--spacing) * 5)}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:calc(var(--spacing) * 12)}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-inline:calc(var(--spacing) * 2)}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-block:calc(var(--spacing) * 3)}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:calc(var(--spacing) * 5)}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:calc(var(--spacing) * 5)}.\[\&_a\]\:text-cyan-600 a{color:var(--color-cyan-600)}.\[\&_a\]\:underline a{text-decoration-line:underline}.dark\:\[\&_a\]\:text-cyan-400:is(.dark *) a{color:var(--color-cyan-400)}.\[\&_blockquote\]\:border-l-2 blockquote{border-left-style:var(--tw-border-style);border-left-width:2px}.\[\&_blockquote\]\:border-border blockquote{border-color:var(--border)}.\[\&_blockquote\]\:border-muted-foreground\/30 blockquote{border-color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.\[\&_blockquote\]\:border-muted-foreground\/30 blockquote{border-color:color-mix(in oklab, var(--muted-foreground) 30%, transparent)}}.\[\&_blockquote\]\:pl-3 blockquote{padding-left:calc(var(--spacing) * 3)}.\[\&_blockquote\]\:italic blockquote{font-style:italic}.\[\&_code\]\:rounded code{border-radius:.25rem}.\[\&_code\]\:bg-muted code{background-color:var(--muted)}.\[\&_code\]\:px-1 code{padding-inline:var(--spacing)}.\[\&_code\]\:py-0\.5 code{padding-block:calc(var(--spacing) * .5)}.\[\&_code\]\:text-xs code{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\[\&_img\]\:size-full img{width:100%;height:100%}.\[\&_img\]\:object-cover img{object-fit:cover}.\[\&_ol\]\:list-decimal ol{list-style-type:decimal}.\[\&_ol\]\:pl-5 ol{padding-left:calc(var(--spacing) * 5)}.\[\&_p\]\:leading-relaxed p{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.\[\&_p\.is-editor-empty\:first-child\]\:before\:pointer-events-none p.is-editor-empty:first-child:before{content:var(--tw-content);pointer-events:none}.\[\&_p\.is-editor-empty\:first-child\]\:before\:float-left p.is-editor-empty:first-child:before{content:var(--tw-content);float:left}.\[\&_p\.is-editor-empty\:first-child\]\:before\:h-0 p.is-editor-empty:first-child:before{content:var(--tw-content);height:0}.\[\&_p\.is-editor-empty\:first-child\]\:before\:text-muted-foreground p.is-editor-empty:first-child:before{content:var(--tw-content);color:var(--muted-foreground)}.\[\&_p\.is-editor-empty\:first-child\]\:before\:content-\[attr\(data-placeholder\)\] p.is-editor-empty:first-child:before{--tw-content:attr(data-placeholder);content:var(--tw-content)}.\[\&_pre\]\:rounded pre{border-radius:.25rem}.\[\&_pre\]\:bg-muted pre{background-color:var(--muted)}.\[\&_pre\]\:p-2 pre{padding:calc(var(--spacing) * 2)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-6 svg:not([class*=size-]){width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.\[\&_svg\:not\(\[class\*\=\'text-\'\]\)\]\:text-muted-foreground svg:not([class*=text-]){color:var(--muted-foreground)}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.\[\&_ul\]\:list-disc ul{list-style-type:disc}.\[\&_ul\]\:pl-5 ul{padding-left:calc(var(--spacing) * 5)}.\[\&\+\[data-slot\=item-content\]\]\:flex-none+[data-slot=item-content]{flex:none}.prose-p\:\[\&\+p\]\:mt-2 :where(p):not(:where([class~=not-prose],[class~=not-prose] *))+p{margin-top:calc(var(--spacing) * 2)}.\[\&\:first-child\[data-selected\=true\]_button\]\:rounded-l-md:first-child[data-selected=true] button{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\.border-b\]\:pb-3.border-b{padding-bottom:calc(var(--spacing) * 3)}.\[\.border-b\]\:pb-6.border-b{padding-bottom:calc(var(--spacing) * 6)}.\[\.border-t\]\:pt-3.border-t{padding-top:calc(var(--spacing) * 3)}.\[\.border-t\]\:pt-6.border-t{padding-top:calc(var(--spacing) * 6)}:is(.rtl\:\*\*\:\[\.rdp-button\\_next\>svg\]\:rotate-180:where(:dir(rtl),[dir=rtl],[dir=rtl] *) *):is(.rdp-button_next>svg),:is(.rtl\:\*\*\:\[\.rdp-button\\_previous\>svg\]\:rotate-180:where(:dir(rtl),[dir=rtl],[dir=rtl] *) *):is(.rdp-button_previous>svg){rotate:180deg}.\[a\]\:transition-colors:is(a){transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (hover:hover){.\[a\]\:hover\:bg-accent\/50:is(a):hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.\[a\]\:hover\:bg-accent\/50:is(a):hover{background-color:color-mix(in oklab, var(--accent) 50%, transparent)}}}:is(.\*\:\[span\]\:last\:flex>*):is(span):last-child{display:flex}:is(.\*\:\[span\]\:last\:items-center>*):is(span):last-child{align-items:center}:is(.\*\:\[span\]\:last\:gap-2>*):is(span):last-child{gap:calc(var(--spacing) * 2)}:is(.data-\[variant\=destructive\]\:\*\:\[svg\]\:\!text-destructive[data-variant=destructive]>*):is(svg){color:var(--destructive)!important}.\[\&\:last-child\[data-selected\=true\]_button\]\:rounded-r-md:last-child[data-selected=true] button{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\:nth-child\(2\)\[data-selected\=true\]_button\]\:rounded-l-md:nth-child(2)[data-selected=true] button{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.\[\&\>\*\]\:m-0>*{margin:0}.\[\&\>\*\]\:w-full>*{width:100%}.\[\&\>\*\]\:focus-visible\:relative>:focus-visible{position:relative}.\[\&\>\*\]\:focus-visible\:z-10>:focus-visible{z-index:10}.\[\&\>\*\]\:data-\[slot\=field\]\:p-4>[data-slot=field]{padding:calc(var(--spacing) * 4)}@container field-group (min-width:28rem){.\@md\/field-group\:\[\&\>\*\]\:w-auto>*{width:auto}}.\[\&\>\*\+\*\]\:mt-2>*+*{margin-top:calc(var(--spacing) * 2)}.\[\&\>\*\:not\(\:first-child\)\]\:rounded-t-none>:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.\[\&\>\*\:not\(\:first-child\)\]\:rounded-l-none>:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.\[\&\>\*\:not\(\:first-child\)\]\:border-t-0>:not(:first-child){border-top-style:var(--tw-border-style);border-top-width:0}.\[\&\>\*\:not\(\:first-child\)\]\:border-l-0>:not(:first-child){border-left-style:var(--tw-border-style);border-left-width:0}.\[\&\>\*\:not\(\:last-child\)\]\:rounded-r-none>:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.\[\&\>\*\:not\(\:last-child\)\]\:rounded-b-none>:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0}.\[\&\>\.sr-only\]\:w-auto>.sr-only{width:auto}.\[\&\>\[data-slot\=field-group\]\]\:gap-4>[data-slot=field-group]{gap:calc(var(--spacing) * 4)}.\[\&\>\[data-slot\=field-label\]\]\:flex-auto>[data-slot=field-label]{flex:auto}@container field-group (min-width:28rem){.\@md\/field-group\:\[\&\>\[data-slot\=field-label\]\]\:flex-auto>[data-slot=field-label]{flex:auto}}.has-\[select\[aria-hidden\=true\]\:last-child\]\:\[\&\>\[data-slot\=select-trigger\]\:last-of-type\]\:rounded-r-md:has(:is(select[aria-hidden=true]:last-child))>[data-slot=select-trigger]:last-of-type{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\>\[data-slot\=select-trigger\]\:not\(\[class\*\=\'w-\'\]\)\]\:w-fit>[data-slot=select-trigger]:not([class*=w-]){width:fit-content}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y:2px;translate:var(--tw-translate-x) var(--tw-translate-y)}.has-\[\>\[data-slot\=field-content\]\]\:\[\&\>\[role\=checkbox\]\,\[role\=radio\]\]\:mt-px:has(>[data-slot=field-content])>[role=checkbox],.has-\[\>\[data-slot\=field-content\]\]\:\[\&\>\[role\=checkbox\]\,\[role\=radio\]\]\:mt-px:has(>[data-slot=field-content]) [role=radio]{margin-top:1px}@container field-group (min-width:28rem){.\@md\/field-group\:has-\[\>\[data-slot\=field-content\]\]\:\[\&\>\[role\=checkbox\]\,\[role\=radio\]\]\:mt-px:has(>[data-slot=field-content])>[role=checkbox],.\@md\/field-group\:has-\[\>\[data-slot\=field-content\]\]\:\[\&\>\[role\=checkbox\]\,\[role\=radio\]\]\:mt-px:has(>[data-slot=field-content]) [role=radio]{margin-top:1px}}.\[\&\>a\]\:underline>a{text-decoration-line:underline}.\[\&\>a\]\:underline-offset-4>a{text-underline-offset:4px}.\[\&\>a\:hover\]\:text-primary>a:hover{color:var(--primary)}.\[\&\>button\]\:hidden>button{display:none}.\[\&\>input\]\:flex-1>input{flex:1}.has-\[\>\[data-align\=block-end\]\]\:\[\&\>input\]\:pt-3:has(>[data-align=block-end])>input{padding-top:calc(var(--spacing) * 3)}.has-\[\>\[data-align\=block-start\]\]\:\[\&\>input\]\:pb-3:has(>[data-align=block-start])>input{padding-bottom:calc(var(--spacing) * 3)}.has-\[\>\[data-align\=inline-end\]\]\:\[\&\>input\]\:pr-2:has(>[data-align=inline-end])>input{padding-right:calc(var(--spacing) * 2)}.has-\[\>\[data-align\=inline-start\]\]\:\[\&\>input\]\:pl-2:has(>[data-align=inline-start])>input{padding-left:calc(var(--spacing) * 2)}.\[\&\>kbd\]\:rounded-\[calc\(var\(--radius\)-5px\)\]>kbd{border-radius:calc(var(--radius) - 5px)}.\[\&\>span\]\:text-xs>span{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\[\&\>span\]\:opacity-70>span{opacity:.7}.\[\&\>span\:last-child\]\:truncate>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3>svg{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&\>svg\]\:size-3\.5>svg{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\[\&\>svg\]\:size-4>svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&\>svg\]\:h-2\.5>svg{height:calc(var(--spacing) * 2.5)}.\[\&\>svg\]\:h-3>svg{height:calc(var(--spacing) * 3)}.\[\&\>svg\]\:w-2\.5>svg{width:calc(var(--spacing) * 2.5)}.\[\&\>svg\]\:w-3>svg{width:calc(var(--spacing) * 3)}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>svg\]\:translate-y-0\.5>svg{--tw-translate-y:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.\[\&\>svg\]\:text-current>svg{color:currentColor}.\[\&\>svg\]\:text-muted-foreground>svg{color:var(--muted-foreground)}.\[\&\>svg\]\:text-sidebar-accent-foreground>svg{color:var(--sidebar-accent-foreground)}.\[\&\>svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5>svg:not([class*=size-]){width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\[\&\>svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4>svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&\>tr\]\:last\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.\[\&\[aria-orientation\=horizontal\]\>div\]\:rotate-90[aria-orientation=horizontal]>div{rotate:90deg}.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{rotate:180deg}[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2{right:calc(var(--spacing) * -2)}[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize{cursor:e-resize}[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2{left:calc(var(--spacing) * -2)}[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{cursor:w-resize}[data-slot=card-content] .\[\[data-slot\=card-content\]_\&\]\:bg-transparent,[data-slot=popover-content] .\[\[data-slot\=popover-content\]_\&\]\:bg-transparent{background-color:#0000}[data-slot=tooltip-content] .\[\[data-slot\=tooltip-content\]_\&\]\:bg-background\/20{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){[data-slot=tooltip-content] .\[\[data-slot\=tooltip-content\]_\&\]\:bg-background\/20{background-color:color-mix(in oklab, var(--background) 20%, transparent)}}[data-slot=tooltip-content] .\[\[data-slot\=tooltip-content\]_\&\]\:text-background{color:var(--background)}[data-slot=tooltip-content] .dark\:\[\[data-slot\=tooltip-content\]_\&\]\:bg-background\/10:is(.dark *){background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){[data-slot=tooltip-content] .dark\:\[\[data-slot\=tooltip-content\]_\&\]\:bg-background\/10:is(.dark *){background-color:color-mix(in oklab, var(--background) 10%, transparent)}}[data-variant=legend]+.\[\[data-variant\=legend\]\+\&\]\:-mt-1\.5{margin-top:calc(var(--spacing) * -1.5)}@media (hover:hover){a.\[a\&\]\:hover\:bg-accent:hover{background-color:var(--accent)}a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab, var(--destructive) 90%, transparent)}}a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:color-mix(in oklab, var(--primary) 90%, transparent)}}a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:color-mix(in oklab, var(--secondary) 90%, transparent)}}a.\[a\&\]\:hover\:text-accent-foreground:hover{color:var(--accent-foreground)}}html.dark .\[html\.dark_\&\]\:block,html.light .\[html\.light_\&\]\:block{display:block}}:root[data-palette] [data-slot=card]{box-shadow:var(--palette-shadow-card)}:root[data-palette] [data-slot=dialog-content],:root[data-palette] [data-slot=popover-content],:root[data-palette] [data-slot=dropdown-menu-content]{box-shadow:var(--palette-shadow-overlay)}:root[data-palette=polaroid],.dark[data-palette=polaroid]{--font-sans:"Hanken Grotesk", Inter, ui-sans-serif, system-ui, sans-serif;--font-display:"Fraunces", Georgia, "Times New Roman", serif;--radius:.875rem;--palette-shadow-card:0 6px 18px -8px oklch(55% .13 290/.22), 0 2px 6px -1px oklch(55% .13 290/.1);--palette-shadow-overlay:0 20px 40px -12px oklch(55% .13 290/.3), 0 6px 12px -4px oklch(55% .13 290/.15)}:root[data-palette=polaroid] h1,:root[data-palette=polaroid] h2,.dark[data-palette=polaroid] h1,.dark[data-palette=polaroid] h2{font-variation-settings:"opsz" 96, "SOFT" 80;font-style:italic}:root[data-palette=polaroid]{--palette-body-image:radial-gradient(ellipse 1400px 700px at 50% -200px, oklch(85% .07 290/.25), transparent 65%), radial-gradient(ellipse 700px 400px at 90% 90%, oklch(85% .07 330/.2), transparent 60%);--palette-body-size:100% 100%}.dark[data-palette=polaroid]{--palette-body-image:radial-gradient(ellipse 1400px 700px at 50% -200px, oklch(30% .06 290/.55), transparent 65%), radial-gradient(ellipse 700px 400px at 90% 90%, oklch(28% .05 330/.45), transparent 60%);--palette-body-size:100% 100%}:root[data-palette=polaroid]{--background:oklch(97% .02 80);--foreground:oklch(28% .08 290);--card:oklch(99% .01 80);--card-foreground:oklch(28% .08 290);--popover:oklch(99% .01 80);--popover-foreground:oklch(28% .08 290);--primary:oklch(55% .13 290);--primary-foreground:oklch(99% .01 80);--secondary:oklch(88% .06 320);--secondary-foreground:oklch(28% .08 290);--accent:oklch(85% .07 290);--accent-foreground:oklch(28% .08 290);--muted:oklch(90% .03 290);--muted-foreground:oklch(45% .06 290);--border:oklch(85% .04 290);--input:oklch(85% .04 290);--ring:oklch(55% .13 290);--sidebar:oklch(95% .03 290);--sidebar-foreground:oklch(28% .08 290);--sidebar-primary:oklch(55% .13 290);--sidebar-primary-foreground:oklch(99% .01 80);--sidebar-accent:oklch(88% .05 290);--sidebar-accent-foreground:oklch(28% .08 290);--sidebar-border:oklch(85% .04 290);--sidebar-ring:oklch(55% .13 290)}.dark[data-palette=polaroid]{--background:oklch(18% .03 290);--foreground:oklch(95% .02 80);--card:oklch(22% .03 290);--card-foreground:oklch(95% .02 80);--popover:oklch(22% .03 290);--popover-foreground:oklch(95% .02 80);--primary:oklch(70% .14 290);--primary-foreground:oklch(18% .03 290);--secondary:oklch(30% .05 320);--secondary-foreground:oklch(95% .02 80);--accent:oklch(30% .05 290);--accent-foreground:oklch(95% .02 80);--muted:oklch(28% .04 290);--muted-foreground:oklch(72% .05 290);--border:oklch(38% .04 290);--input:oklch(38% .04 290);--ring:oklch(70% .14 290);--sidebar:oklch(20% .03 290);--sidebar-foreground:oklch(95% .02 80);--sidebar-primary:oklch(70% .14 290);--sidebar-primary-foreground:oklch(18% .03 290);--sidebar-accent:oklch(30% .05 290);--sidebar-accent-foreground:oklch(95% .02 80);--sidebar-border:oklch(38% .04 290);--sidebar-ring:oklch(70% .14 290)}:root[data-palette=editorial],.dark[data-palette=editorial]{--font-sans:"Lora", Georgia, "Times New Roman", serif;--font-display:"Playfair Display", "Times New Roman", serif;--radius:.25rem;--palette-shadow-card:0 0 0 1px oklch(15% 0 0/.06);--palette-shadow-overlay:0 4px 12px oklch(15% 0 0/.1), 0 0 0 1px oklch(15% 0 0/.08)}.dark[data-palette=editorial]{--palette-shadow-card:0 0 0 1px oklch(96% 0 0/.08);--palette-shadow-overlay:0 4px 12px oklch(0% 0 0/.4), 0 0 0 1px oklch(96% 0 0/.1)}:root[data-palette=editorial] h1,.dark[data-palette=editorial] h1{letter-spacing:-.02em;font-weight:700;line-height:1}:root[data-palette=editorial]{--palette-body-image:repeating-linear-gradient(0deg, transparent 0 79px, oklch(15% 0 0/.025) 79px 80px);--palette-body-size:100% 100%}.dark[data-palette=editorial]{--palette-body-image:repeating-linear-gradient(0deg, transparent 0 79px, oklch(96% 0 0/.035) 79px 80px);--palette-body-size:100% 100%}:root[data-palette=editorial]{--background:oklch(98% .005 80);--foreground:oklch(15% 0 0);--card:oklch(100% 0 0);--card-foreground:oklch(15% 0 0);--popover:oklch(100% 0 0);--popover-foreground:oklch(15% 0 0);--primary:oklch(20% 0 0);--primary-foreground:oklch(98% .005 80);--secondary:oklch(90% .005 80);--secondary-foreground:oklch(15% 0 0);--accent:oklch(92% .005 80);--accent-foreground:oklch(15% 0 0);--muted:oklch(93% .005 80);--muted-foreground:oklch(45% 0 0);--border:oklch(88% .005 80);--input:oklch(88% .005 80);--ring:oklch(20% 0 0);--sidebar:oklch(96% .005 80);--sidebar-foreground:oklch(15% 0 0);--sidebar-primary:oklch(20% 0 0);--sidebar-primary-foreground:oklch(98% .005 80);--sidebar-accent:oklch(91% .005 80);--sidebar-accent-foreground:oklch(15% 0 0);--sidebar-border:oklch(88% .005 80);--sidebar-ring:oklch(20% 0 0)}.dark[data-palette=editorial]{--background:oklch(13% 0 0);--foreground:oklch(96% .005 80);--card:oklch(17% 0 0);--card-foreground:oklch(96% .005 80);--popover:oklch(17% 0 0);--popover-foreground:oklch(96% .005 80);--primary:oklch(96% .005 80);--primary-foreground:oklch(13% 0 0);--secondary:oklch(25% 0 0);--secondary-foreground:oklch(96% .005 80);--accent:oklch(25% 0 0);--accent-foreground:oklch(96% .005 80);--muted:oklch(23% 0 0);--muted-foreground:oklch(70% 0 0);--border:oklch(30% 0 0);--input:oklch(30% 0 0);--ring:oklch(96% .005 80);--sidebar:oklch(15% 0 0);--sidebar-foreground:oklch(96% .005 80);--sidebar-primary:oklch(96% .005 80);--sidebar-primary-foreground:oklch(13% 0 0);--sidebar-accent:oklch(25% 0 0);--sidebar-accent-foreground:oklch(96% .005 80);--sidebar-border:oklch(30% 0 0);--sidebar-ring:oklch(96% .005 80)}:root[data-palette=claymorphism],.dark[data-palette=claymorphism]{--font-sans:"Quicksand", Inter, ui-sans-serif, system-ui, sans-serif;--font-display:"Quicksand", Inter, ui-sans-serif, system-ui, sans-serif;--radius:1.25rem;--palette-shadow-card:0 12px 24px -10px oklch(50% .05 320/.22), 0 4px 10px -3px oklch(50% .05 320/.12), inset 0 1px 0 oklch(100% 0 0/.5);--palette-shadow-overlay:0 28px 56px -16px oklch(50% .05 320/.32), 0 10px 20px -6px oklch(50% .05 320/.18), inset 0 1px 0 oklch(100% 0 0/.45)}.dark[data-palette=claymorphism]{--palette-shadow-card:0 12px 24px -10px oklch(0% 0 0/.55), 0 4px 10px -3px oklch(0% 0 0/.4), inset 0 1px 0 oklch(100% 0 0/.06);--palette-shadow-overlay:0 28px 56px -16px oklch(0% 0 0/.65), 0 10px 20px -6px oklch(0% 0 0/.45), inset 0 1px 0 oklch(100% 0 0/.05)}:root[data-palette=claymorphism] h1,:root[data-palette=claymorphism] h2,.dark[data-palette=claymorphism] h1,.dark[data-palette=claymorphism] h2{font-weight:700}:root[data-palette=claymorphism]{--palette-body-image:linear-gradient(135deg, oklch(92% .05 30/.55) 0%, oklch(90% .05 350/.5) 50%, oklch(92% .04 250/.45) 100%);--palette-body-size:100% 100%}.dark[data-palette=claymorphism]{--palette-body-image:linear-gradient(135deg, oklch(25% .04 30/.55) 0%, oklch(25% .04 350/.5) 50%, oklch(25% .03 250/.45) 100%);--palette-body-size:100% 100%}:root[data-palette=claymorphism]{--background:oklch(95% .03 30);--foreground:oklch(32% .06 320);--card:oklch(98% .015 30);--card-foreground:oklch(32% .06 320);--popover:oklch(98% .015 30);--popover-foreground:oklch(32% .06 320);--primary:oklch(68% .14 10);--primary-foreground:oklch(98% .015 30);--secondary:oklch(88% .06 30);--secondary-foreground:oklch(32% .06 320);--accent:oklch(88% .06 250);--accent-foreground:oklch(32% .06 320);--muted:oklch(92% .03 30);--muted-foreground:oklch(50% .05 320);--border:oklch(86% .04 30);--input:oklch(86% .04 30);--ring:oklch(68% .14 10);--sidebar:oklch(94% .04 30);--sidebar-foreground:oklch(32% .06 320);--sidebar-primary:oklch(68% .14 10);--sidebar-primary-foreground:oklch(98% .015 30);--sidebar-accent:oklch(88% .05 10);--sidebar-accent-foreground:oklch(32% .06 320);--sidebar-border:oklch(86% .04 30);--sidebar-ring:oklch(68% .14 10)}.dark[data-palette=claymorphism]{--background:oklch(18% .03 320);--foreground:oklch(95% .02 30);--card:oklch(22% .03 320);--card-foreground:oklch(95% .02 30);--popover:oklch(22% .03 320);--popover-foreground:oklch(95% .02 30);--primary:oklch(75% .13 10);--primary-foreground:oklch(18% .03 320);--secondary:oklch(30% .05 30);--secondary-foreground:oklch(95% .02 30);--accent:oklch(30% .05 250);--accent-foreground:oklch(95% .02 30);--muted:oklch(28% .04 320);--muted-foreground:oklch(72% .04 30);--border:oklch(38% .04 320);--input:oklch(38% .04 320);--ring:oklch(75% .13 10);--sidebar:oklch(20% .03 320);--sidebar-foreground:oklch(95% .02 30);--sidebar-primary:oklch(75% .13 10);--sidebar-primary-foreground:oklch(18% .03 320);--sidebar-accent:oklch(30% .05 10);--sidebar-accent-foreground:oklch(95% .02 30);--sidebar-border:oklch(38% .04 320);--sidebar-ring:oklch(75% .13 10)}:root[data-palette=botanical],.dark[data-palette=botanical]{--font-sans:"Outfit", Inter, ui-sans-serif, system-ui, sans-serif;--font-display:"Italiana", Georgia, "Times New Roman", serif;--radius:.75rem;--palette-shadow-card:0 4px 12px -3px oklch(30% .04 140/.14), 0 1px 3px oklch(30% .04 140/.08);--palette-shadow-overlay:0 16px 32px -10px oklch(30% .04 140/.22), 0 4px 10px -3px oklch(30% .04 140/.12)}.dark[data-palette=botanical]{--palette-shadow-card:0 4px 12px -3px oklch(0% 0 0/.4), 0 1px 3px oklch(0% 0 0/.3);--palette-shadow-overlay:0 16px 32px -10px oklch(0% 0 0/.55), 0 4px 10px -3px oklch(0% 0 0/.35)}:root[data-palette=botanical] h1,.dark[data-palette=botanical] h1{letter-spacing:.01em}:root[data-palette=botanical]{--palette-body-image:url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 width=%2780%27 height=%2780%27><circle cx=%2710%27 cy=%2714%27 r=%271.2%27 fill=%27%236B7C5C%27 opacity=%270.18%27/><circle cx=%2755%27 cy=%2732%27 r=%270.9%27 fill=%27%236B7C5C%27 opacity=%270.13%27/><circle cx=%2730%27 cy=%2762%27 r=%271.0%27 fill=%27%238FA37A%27 opacity=%270.15%27/><circle cx=%2770%27 cy=%2770%27 r=%270.7%27 fill=%27%238FA37A%27 opacity=%270.12%27/></svg>");--palette-body-size:80px 80px}.dark[data-palette=botanical]{--palette-body-image:url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 width=%2780%27 height=%2780%27><circle cx=%2710%27 cy=%2714%27 r=%271.2%27 fill=%27%238FA37A%27 opacity=%270.22%27/><circle cx=%2755%27 cy=%2732%27 r=%270.9%27 fill=%27%238FA37A%27 opacity=%270.17%27/><circle cx=%2730%27 cy=%2762%27 r=%271.0%27 fill=%27%23A8B898%27 opacity=%270.18%27/><circle cx=%2770%27 cy=%2770%27 r=%270.7%27 fill=%27%23A8B898%27 opacity=%270.14%27/></svg>");--palette-body-size:80px 80px}:root[data-palette=botanical]{--background:oklch(96% .02 90);--foreground:oklch(28% .04 140);--card:oklch(98% .01 90);--card-foreground:oklch(28% .04 140);--popover:oklch(98% .01 90);--popover-foreground:oklch(28% .04 140);--primary:oklch(50% .07 140);--primary-foreground:oklch(98% .01 90);--secondary:oklch(88% .04 90);--secondary-foreground:oklch(28% .04 140);--accent:oklch(85% .05 140);--accent-foreground:oklch(28% .04 140);--muted:oklch(90% .03 90);--muted-foreground:oklch(46% .04 140);--border:oklch(85% .03 100);--input:oklch(85% .03 100);--ring:oklch(50% .07 140);--sidebar:oklch(94% .03 90);--sidebar-foreground:oklch(28% .04 140);--sidebar-primary:oklch(50% .07 140);--sidebar-primary-foreground:oklch(98% .01 90);--sidebar-accent:oklch(86% .05 140);--sidebar-accent-foreground:oklch(28% .04 140);--sidebar-border:oklch(85% .03 100);--sidebar-ring:oklch(50% .07 140)}.dark[data-palette=botanical]{--background:oklch(18% .02 140);--foreground:oklch(95% .02 90);--card:oklch(22% .02 140);--card-foreground:oklch(95% .02 90);--popover:oklch(22% .02 140);--popover-foreground:oklch(95% .02 90);--primary:oklch(68% .09 140);--primary-foreground:oklch(18% .02 140);--secondary:oklch(30% .04 90);--secondary-foreground:oklch(95% .02 90);--accent:oklch(30% .04 140);--accent-foreground:oklch(95% .02 90);--muted:oklch(28% .03 140);--muted-foreground:oklch(72% .04 140);--border:oklch(38% .03 140);--input:oklch(38% .03 140);--ring:oklch(68% .09 140);--sidebar:oklch(20% .03 140);--sidebar-foreground:oklch(95% .02 90);--sidebar-primary:oklch(68% .09 140);--sidebar-primary-foreground:oklch(18% .02 140);--sidebar-accent:oklch(30% .04 140);--sidebar-accent-foreground:oklch(95% .02 90);--sidebar-border:oklch(38% .03 140);--sidebar-ring:oklch(68% .09 140)}:root[data-palette=bauhaus],.dark[data-palette=bauhaus]{--font-sans:"Bricolage Grotesque", Inter, ui-sans-serif, system-ui, sans-serif;--font-display:"Anton", "Arial Black", Impact, sans-serif;--radius:.125rem;--palette-shadow-card:3px 3px 0 0 oklch(58% .21 25/.65), 0 1px 2px oklch(15% 0 0/.1);--palette-shadow-overlay:6px 6px 0 0 oklch(58% .21 25/.65), 0 12px 28px -10px oklch(15% 0 0/.3)}.dark[data-palette=bauhaus]{--palette-shadow-card:3px 3px 0 0 oklch(68% .19 25/.7), 0 1px 2px oklch(0% 0 0/.35);--palette-shadow-overlay:6px 6px 0 0 oklch(68% .19 25/.7), 0 12px 28px -10px oklch(0% 0 0/.5)}:root[data-palette=bauhaus] h1,.dark[data-palette=bauhaus] h1{text-transform:uppercase;letter-spacing:.02em}:root[data-palette=bauhaus]{--palette-body-image:repeating-linear-gradient(0deg, transparent 0 39px, oklch(15% 0 0/.04) 39px 40px), repeating-linear-gradient(90deg, transparent 0 39px, oklch(15% 0 0/.04) 39px 40px);--palette-body-size:100% 100%}.dark[data-palette=bauhaus]{--palette-body-image:repeating-linear-gradient(0deg, transparent 0 39px, oklch(96% 0 0/.05) 39px 40px), repeating-linear-gradient(90deg, transparent 0 39px, oklch(96% 0 0/.05) 39px 40px);--palette-body-size:100% 100%}:root[data-palette=bauhaus]{--background:oklch(96% .02 90);--foreground:oklch(15% 0 0);--card:oklch(99% .01 90);--card-foreground:oklch(15% 0 0);--popover:oklch(99% .01 90);--popover-foreground:oklch(15% 0 0);--primary:oklch(58% .21 25);--primary-foreground:oklch(98% .01 90);--secondary:oklch(88% .03 90);--secondary-foreground:oklch(15% 0 0);--accent:oklch(85% .1 80);--accent-foreground:oklch(15% 0 0);--muted:oklch(90% .02 90);--muted-foreground:oklch(45% .02 90);--border:oklch(85% .02 90);--input:oklch(85% .02 90);--ring:oklch(58% .21 25);--sidebar:oklch(94% .03 90);--sidebar-foreground:oklch(15% 0 0);--sidebar-primary:oklch(58% .21 25);--sidebar-primary-foreground:oklch(98% .01 90);--sidebar-accent:oklch(85% .1 80);--sidebar-accent-foreground:oklch(15% 0 0);--sidebar-border:oklch(85% .02 90);--sidebar-ring:oklch(58% .21 25)}.dark[data-palette=bauhaus]{--background:oklch(15% .01 25);--foreground:oklch(96% .02 90);--card:oklch(20% .01 25);--card-foreground:oklch(96% .02 90);--popover:oklch(20% .01 25);--popover-foreground:oklch(96% .02 90);--primary:oklch(68% .19 25);--primary-foreground:oklch(15% .01 25);--secondary:oklch(28% .02 90);--secondary-foreground:oklch(96% .02 90);--accent:oklch(40% .12 80);--accent-foreground:oklch(96% .02 90);--muted:oklch(25% .02 25);--muted-foreground:oklch(72% .04 90);--border:oklch(35% .02 25);--input:oklch(35% .02 25);--ring:oklch(68% .19 25);--sidebar:oklch(18% .02 25);--sidebar-foreground:oklch(96% .02 90);--sidebar-primary:oklch(68% .19 25);--sidebar-primary-foreground:oklch(15% .01 25);--sidebar-accent:oklch(40% .12 80);--sidebar-accent-foreground:oklch(96% .02 90);--sidebar-border:oklch(35% .02 25);--sidebar-ring:oklch(68% .19 25)}:root[data-palette=brutalist],.dark[data-palette=brutalist]{--font-sans:"Space Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--font-display:"Space Mono", ui-monospace, monospace;--radius:0;--palette-shadow-card:4px 4px 0 0 oklch(10% 0 0/.85);--palette-shadow-overlay:8px 8px 0 0 oklch(10% 0 0/.9), 0 12px 28px -10px oklch(0% 0 0/.4)}:root[data-palette=brutalist] h1,.dark[data-palette=brutalist] h1{text-transform:uppercase;letter-spacing:-.02em;font-weight:700}:root[data-palette=brutalist]{--background:oklch(86% .005 90);--foreground:oklch(10% 0 0);--card:oklch(91% .005 90);--card-foreground:oklch(10% 0 0);--popover:oklch(91% .005 90);--popover-foreground:oklch(10% 0 0);--primary:oklch(10% 0 0);--primary-foreground:oklch(92% .005 90);--secondary:oklch(80% .005 90);--secondary-foreground:oklch(10% 0 0);--accent:oklch(75% .005 90);--accent-foreground:oklch(10% 0 0);--muted:oklch(80% .005 90);--muted-foreground:oklch(30% 0 0);--border:oklch(10% 0 0);--input:oklch(10% 0 0/.3);--ring:oklch(10% 0 0);--sidebar:oklch(82% .005 90);--sidebar-foreground:oklch(10% 0 0);--sidebar-primary:oklch(10% 0 0);--sidebar-primary-foreground:oklch(92% .005 90);--sidebar-accent:oklch(75% .005 90);--sidebar-accent-foreground:oklch(10% 0 0);--sidebar-border:oklch(10% 0 0);--sidebar-ring:oklch(10% 0 0);--palette-body-image:repeating-linear-gradient(0deg, transparent 0 39px, oklch(10% 0 0/.06) 39px 40px), repeating-linear-gradient(90deg, transparent 0 39px, oklch(10% 0 0/.06) 39px 40px);--palette-body-size:100% 100%}.dark[data-palette=brutalist]{--background:oklch(13% 0 0);--foreground:oklch(92% .005 90);--card:oklch(16% 0 0);--card-foreground:oklch(92% .005 90);--popover:oklch(16% 0 0);--popover-foreground:oklch(92% .005 90);--primary:oklch(92% .005 90);--primary-foreground:oklch(13% 0 0);--secondary:oklch(22% 0 0);--secondary-foreground:oklch(92% .005 90);--accent:oklch(22% 0 0);--accent-foreground:oklch(92% .005 90);--muted:oklch(20% 0 0);--muted-foreground:oklch(68% 0 0);--border:oklch(92% .005 90);--input:oklch(92% .005 90/.25);--ring:oklch(92% .005 90);--sidebar:oklch(15% 0 0);--sidebar-foreground:oklch(92% .005 90);--sidebar-primary:oklch(92% .005 90);--sidebar-primary-foreground:oklch(13% 0 0);--sidebar-accent:oklch(22% 0 0);--sidebar-accent-foreground:oklch(92% .005 90);--sidebar-border:oklch(92% .005 90);--sidebar-ring:oklch(92% .005 90);--palette-body-image:repeating-linear-gradient(0deg, transparent 0 39px, oklch(92% .005 90/.06) 39px 40px), repeating-linear-gradient(90deg, transparent 0 39px, oklch(92% .005 90/.06) 39px 40px);--palette-body-size:100% 100%;--palette-shadow-card:4px 4px 0 0 oklch(92% .005 90/.5);--palette-shadow-overlay:8px 8px 0 0 oklch(92% .005 90/.5), 0 12px 28px -10px oklch(0% 0 0/.6)}:root[data-palette=risograph],.dark[data-palette=risograph]{--font-sans:"DM Sans", Inter, ui-sans-serif, system-ui, sans-serif;--font-display:"DM Sans", Inter, ui-sans-serif, system-ui, sans-serif;--radius:.375rem;--palette-shadow-card:0 2px 6px oklch(45% .15 270/.16);--palette-shadow-overlay:0 18px 36px -12px oklch(45% .15 270/.3)}:root[data-palette=risograph] h1,.dark[data-palette=risograph] h1{font-weight:700}:root[data-palette=risograph]{--background:oklch(94% .04 80);--foreground:oklch(28% .1 270);--card:oklch(97% .02 80);--card-foreground:oklch(28% .1 270);--popover:oklch(97% .02 80);--popover-foreground:oklch(28% .1 270);--primary:oklch(62% .2 25);--primary-foreground:oklch(97% .02 80);--secondary:oklch(55% .18 270);--secondary-foreground:oklch(97% .02 80);--accent:oklch(88% .1 80);--accent-foreground:oklch(28% .1 270);--muted:oklch(90% .04 80);--muted-foreground:oklch(45% .1 270);--border:oklch(78% .06 270);--input:oklch(78% .06 270);--ring:oklch(62% .2 25);--sidebar:oklch(93% .04 80);--sidebar-foreground:oklch(28% .1 270);--sidebar-primary:oklch(62% .2 25);--sidebar-primary-foreground:oklch(97% .02 80);--sidebar-accent:oklch(88% .1 80);--sidebar-accent-foreground:oklch(28% .1 270);--sidebar-border:oklch(78% .06 270);--sidebar-ring:oklch(62% .2 25);--palette-body-image:url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 width=%2740%27 height=%2740%27><circle cx=%278%27 cy=%278%27 r=%271.4%27 fill=%27%23FF5733%27 opacity=%270.10%27/><circle cx=%2728%27 cy=%2724%27 r=%271.2%27 fill=%27%234C4FCA%27 opacity=%270.10%27/></svg>");--palette-body-size:40px 40px}.dark[data-palette=risograph]{--background:oklch(18% .08 270);--foreground:oklch(94% .04 80);--card:oklch(22% .08 270);--card-foreground:oklch(94% .04 80);--popover:oklch(22% .08 270);--popover-foreground:oklch(94% .04 80);--primary:oklch(72% .2 25);--primary-foreground:oklch(18% .08 270);--secondary:oklch(32% .12 270);--secondary-foreground:oklch(94% .04 80);--accent:oklch(36% .1 80);--accent-foreground:oklch(94% .04 80);--muted:oklch(28% .08 270);--muted-foreground:oklch(74% .06 80);--border:oklch(40% .1 270);--input:oklch(40% .1 270);--ring:oklch(72% .2 25);--sidebar:oklch(20% .08 270);--sidebar-foreground:oklch(94% .04 80);--sidebar-primary:oklch(72% .2 25);--sidebar-primary-foreground:oklch(18% .08 270);--sidebar-accent:oklch(36% .1 80);--sidebar-accent-foreground:oklch(94% .04 80);--sidebar-border:oklch(40% .1 270);--sidebar-ring:oklch(72% .2 25);--palette-body-image:url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 width=%2740%27 height=%2740%27><circle cx=%278%27 cy=%278%27 r=%271.4%27 fill=%27%23FF7A55%27 opacity=%270.14%27/><circle cx=%2728%27 cy=%2724%27 r=%271.2%27 fill=%27%237B7DDD%27 opacity=%270.14%27/></svg>");--palette-body-size:40px 40px}:root[data-palette=cyber],.dark[data-palette=cyber]{--font-sans:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--font-display:"JetBrains Mono", ui-monospace, monospace;--radius:.25rem;--palette-shadow-card:0 0 0 1px oklch(75% .18 200/.4), 0 8px 24px -8px oklch(75% .18 200/.3);--palette-shadow-overlay:0 0 0 1px oklch(75% .18 200/.5), 0 24px 48px -12px oklch(75% .18 200/.4)}.dark[data-palette=cyber]{--background:oklch(10% .03 250);--foreground:oklch(92% .05 200);--card:oklch(15% .04 250);--card-foreground:oklch(92% .05 200);--popover:oklch(15% .04 250);--popover-foreground:oklch(92% .05 200);--primary:oklch(78% .2 200);--primary-foreground:oklch(10% .03 250);--secondary:oklch(30% .1 280);--secondary-foreground:oklch(92% .05 200);--accent:oklch(65% .22 320);--accent-foreground:oklch(10% .03 250);--muted:oklch(20% .04 250);--muted-foreground:oklch(65% .1 200);--border:oklch(30% .08 250);--input:oklch(30% .08 250);--ring:oklch(78% .2 200);--sidebar:oklch(12% .04 250);--sidebar-foreground:oklch(92% .05 200);--sidebar-primary:oklch(78% .2 200);--sidebar-primary-foreground:oklch(10% .03 250);--sidebar-accent:oklch(30% .1 280);--sidebar-accent-foreground:oklch(92% .05 200);--sidebar-border:oklch(30% .08 250);--sidebar-ring:oklch(78% .2 200);--palette-body-image:linear-gradient(oklch(78% .2 200/.08) 1px, transparent 1px), linear-gradient(90deg, oklch(78% .2 200/.08) 1px, transparent 1px);--palette-body-size:40px 40px}:root[data-palette=y2k],.dark[data-palette=y2k]{--font-sans:"DM Sans", Inter, ui-sans-serif, system-ui, sans-serif;--font-display:"DM Sans", Inter, ui-sans-serif, system-ui, sans-serif;--radius:1rem;--palette-shadow-card:0 8px 24px -8px oklch(65% .18 320/.25), 0 0 0 1px oklch(85% .1 230/.3);--palette-shadow-overlay:0 24px 48px -12px oklch(65% .18 320/.35), 0 0 0 1px oklch(85% .1 230/.4)}:root[data-palette=y2k]{--background:oklch(96% .04 320);--foreground:oklch(22% .04 320);--card:oklch(98% .02 320);--card-foreground:oklch(22% .04 320);--popover:oklch(98% .02 320);--popover-foreground:oklch(22% .04 320);--primary:oklch(70% .18 320);--primary-foreground:oklch(98% .02 320);--secondary:oklch(85% .1 230);--secondary-foreground:oklch(22% .04 320);--accent:oklch(88% .08 100);--accent-foreground:oklch(22% .04 320);--muted:oklch(92% .04 320);--muted-foreground:oklch(45% .06 320);--border:oklch(85% .06 320);--input:oklch(85% .06 320);--ring:oklch(70% .18 320);--sidebar:oklch(94% .05 320);--sidebar-foreground:oklch(22% .04 320);--sidebar-primary:oklch(70% .18 320);--sidebar-primary-foreground:oklch(98% .02 320);--sidebar-accent:oklch(85% .1 230);--sidebar-accent-foreground:oklch(22% .04 320);--sidebar-border:oklch(85% .06 320);--sidebar-ring:oklch(70% .18 320);--palette-body-image:linear-gradient(115deg, oklch(92% .06 320/.55) 0%, oklch(92% .05 230/.5) 50%, oklch(92% .06 100/.45) 100%);--palette-body-size:100% 100%}:root[data-palette=terminal],.dark[data-palette=terminal]{--font-sans:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--font-display:"JetBrains Mono", ui-monospace, monospace;--radius:.125rem;--palette-shadow-card:0 0 0 1px oklch(65% .22 145/.3), 0 0 16px oklch(65% .22 145/.1);--palette-shadow-overlay:0 0 0 1px oklch(65% .22 145/.45), 0 0 32px oklch(65% .22 145/.2)}.dark[data-palette=terminal]{--background:oklch(8% .01 145);--foreground:oklch(85% .18 145);--card:oklch(12% .02 145);--card-foreground:oklch(85% .18 145);--popover:oklch(12% .02 145);--popover-foreground:oklch(85% .18 145);--primary:oklch(78% .22 145);--primary-foreground:oklch(8% .01 145);--secondary:oklch(20% .06 145);--secondary-foreground:oklch(85% .18 145);--accent:oklch(25% .08 145);--accent-foreground:oklch(85% .18 145);--muted:oklch(18% .04 145);--muted-foreground:oklch(60% .1 145);--border:oklch(30% .06 145);--input:oklch(30% .06 145);--ring:oklch(78% .22 145);--sidebar:oklch(10% .02 145);--sidebar-foreground:oklch(85% .18 145);--sidebar-primary:oklch(78% .22 145);--sidebar-primary-foreground:oklch(8% .01 145);--sidebar-accent:oklch(20% .06 145);--sidebar-accent-foreground:oklch(85% .18 145);--sidebar-border:oklch(30% .06 145);--sidebar-ring:oklch(78% .22 145);--palette-body-image:repeating-linear-gradient(0deg, transparent 0 2px, oklch(78% .22 145/.04) 2px 3px);--palette-body-size:100% 100%}[data-animation] body:after{content:"";pointer-events:none;z-index:0;position:fixed;inset:0}[data-animation=dust] body:after{background-image:radial-gradient(1px 1px at 12% 22%,oklch(50% 0 0/.2) 100%,#0000 0),radial-gradient(1px 1px at 38% 67%,oklch(50% 0 0/.18) 100%,#0000 0),radial-gradient(1px 1px at 71% 14%,oklch(50% 0 0/.22) 100%,#0000 0),radial-gradient(1.4px 1.4px at 84% 80%,oklch(50% 0 0/.18) 100%,#0000 0);background-size:240px 240px;animation:22s linear infinite adora-dust}@keyframes adora-dust{0%{background-position:0 0,0 0,0 0,0 0}to{background-position:240px -120px,-200px 180px,220px -160px,-240px 80px}}[data-animation=petals] body:after{background-image:radial-gradient(4px at 18% 8%,oklch(75% .1 130/.35) 100%,#0000 0),radial-gradient(3px at 56% 14%,oklch(78% .08 140/.3) 100%,#0000 0),radial-gradient(5px at 84% 22%,oklch(72% .12 130/.32) 100%,#0000 0);background-size:100% 600px;animation:18s linear infinite adora-petals}@keyframes adora-petals{0%{background-position:0 -600px,0 -600px,0 -600px}to{background-position:30px 100vh,-40px 100vh,50px 100vh}}[data-animation=orbits] body:after{background-image:radial-gradient(2px,oklch(60% .1 60/.3) 100%,#0000 0);background-position:0 0;background-repeat:repeat;background-size:8px 8px;animation:28s linear infinite adora-orbits;-webkit-mask-image:radial-gradient(240px at 92% 8%,#000 60%,#0000 100%);mask-image:radial-gradient(240px at 92% 8%,#000 60%,#0000 100%)}@keyframes adora-orbits{0%{background-position:0 0}to{background-position:200px 200px}}[data-animation=clay_blobs] body:after{background-image:radial-gradient(600px 400px at 20% 30%,oklch(85% .1 30/.18),#0000 70%),radial-gradient(500px 350px at 80% 70%,oklch(85% .1 320/.18),#0000 70%);animation:24s ease-in-out infinite alternate adora-clay-blobs}@keyframes adora-clay-blobs{0%{background-position:0 0,100% 100%}to{background-position:100% 30%,0 60%}}[data-animation=paper_grain] body:after{opacity:.55;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence baseFrequency='0.9' numOctaves='2'/><feColorMatrix type='matrix' values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.08 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}[data-animation=marquee] body:after{background-image:repeating-linear-gradient(90deg,oklch(50% 0 0/.1) 0 80px,#0000 80px 160px);background-size:320px 100%;animation:12s linear infinite adora-marquee}@keyframes adora-marquee{0%{background-position:0 0}to{background-position:320px 0}}[data-animation=ink_blobs] body:after{background-image:radial-gradient(12px at 14% 28%,oklch(30% .2 20/.18),#0000 70%),radial-gradient(18px at 68% 62%,oklch(30% .2 20/.16),#0000 70%),radial-gradient(14px at 88% 18%,oklch(30% .2 20/.15),#0000 70%);animation:6s ease-in-out infinite alternate adora-ink-blobs}@keyframes adora-ink-blobs{0%{opacity:.85;transform:scale(1)}to{opacity:1;transform:scale(1.06)}}[data-animation=neon_grid] body:after{background-image:linear-gradient(oklch(78% .2 200/.12) 1px,#0000 1px),linear-gradient(90deg,oklch(78% .2 200/.12) 1px,#0000 1px);background-size:60px 60px;animation:4s ease-in-out infinite alternate adora-neon-grid}@keyframes adora-neon-grid{0%{opacity:.6}to{opacity:1}}[data-animation=matrix_rain] body:after{background-image:linear-gradient(#0000 0%,oklch(78% .22 145/.18) 40%,#0000 80%);background-repeat:repeat;background-size:4px 200px;animation:6s linear infinite adora-matrix-rain}@keyframes adora-matrix-rain{0%{background-position:0 -200px}to{background-position:0 100vh}}[data-animation=holo_blobs] body:after{background-image:radial-gradient(500px 360px at 25% 30%,oklch(85% .12 320/.22),#0000 70%),radial-gradient(500px 360px at 75% 70%,oklch(85% .12 220/.2),#0000 70%);animation:14s linear infinite adora-holo-blobs}@keyframes adora-holo-blobs{0%{filter:hue-rotate()}to{filter:hue-rotate(360deg)}}@media (prefers-reduced-motion:reduce){[data-animation] body:after{animation:none!important}}:root{--background:oklch(97% .01 250);--foreground:oklch(28% .03 257);--card:oklch(100% 0 0);--card-foreground:oklch(28% .03 257);--primary:oklch(47% .15 277);--primary-foreground:oklch(97% .01 250);--secondary:oklch(55% .16 277);--secondary-foreground:oklch(28% .03 257);--accent:oklch(88% .05 277);--accent-foreground:oklch(28% .03 257);--muted:oklch(88% .05 277);--muted-foreground:oklch(47% .05 277);--destructive:oklch(65% .15 55);--destructive-foreground:oklch(97% .01 250);--border:oklch(88% .05 277);--input:oklch(88% .05 277);--ring:oklch(55% .16 277);--chart-1:oklch(47% .15 277);--chart-2:oklch(55% .16 277);--chart-3:oklch(67% .13 277);--chart-4:oklch(78% .08 277);--chart-5:oklch(38% .17 277);--chart-6:oklch(30% .14 277);--chart-7:oklch(75% .15 245);--chart-8:oklch(67% .12 233);--chart-9:oklch(60% .11 215);--chart-10:oklch(72% .1 197);--chart-11:oklch(70% .15 305);--chart-12:oklch(58% .17 315);--chart-13:oklch(45% .2 325);--chart-14:oklch(80% .13 55);--chart-15:oklch(85% .1 85);--chart-16:oklch(90% .03 277);--popover:oklch(100% 0 0);--popover-foreground:oklch(28% .03 257);--radius:.625rem;--sidebar:oklch(96% .01 260);--sidebar-foreground:oklch(25% .03 260);--sidebar-primary:oklch(55% .16 277);--sidebar-primary-foreground:oklch(97% .01 250);--sidebar-accent:oklch(90% .03 277);--sidebar-accent-foreground:oklch(25% .03 260);--sidebar-border:oklch(88% .05 277);--sidebar-ring:oklch(55% .16 277)}.dark{--background:oklch(16% .015 280);--foreground:oklch(98% .005 260);--card:oklch(19% .015 280);--card-foreground:oklch(98% .005 260);--primary:oklch(55% .16 277);--secondary:oklch(47% .15 277);--secondary-foreground:oklch(98% .005 260);--accent:oklch(26% .02 277);--accent-foreground:oklch(98% .005 260);--muted:oklch(26% .02 277);--muted-foreground:oklch(72% .04 277);--destructive:oklch(65% .15 55);--destructive-foreground:oklch(98% .005 260);--border:oklch(38% .03 277);--input:oklch(38% .03 277);--ring:oklch(65% .13 277);--popover:oklch(18% .015 280);--popover-foreground:oklch(98% .005 260);--sidebar:oklch(18% .015 277);--sidebar-foreground:oklch(98% .005 260);--sidebar-primary:oklch(55% .16 277);--sidebar-primary-foreground:oklch(16% .015 280);--sidebar-accent:oklch(26% .02 277);--sidebar-accent-foreground:oklch(98% .005 260);--sidebar-border:oklch(38% .03 277);--sidebar-ring:oklch(55% .16 277)}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0), var(--tw-enter-translate-y,0), 0) scale3d(var(--tw-enter-scale,1), var(--tw-enter-scale,1), var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0), var(--tw-exit-translate-y,0), 0) scale3d(var(--tw-exit-scale,1), var(--tw-exit-scale,1), var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-divide-x-reverse{syntax:"*";inherits:false;initial-value:0}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}

/*
 * Shared animated-background CSS for both the public Twig templates
 * (showroom / feedback / campaign / preview) AND the React SPA's
 * BackgroundPatternPicker tile previews.
 *
 * Consumes only:
 *   --primary  — theme primary colour
 *   --accent   — theme accent colour
 *   --bg       — page background
 *   --fg       — page foreground (used by starfield, blueprint, etc.)
 *
 * Each consumer MUST define those CSS custom properties on :root or on
 * a containing element before applying `.bg-anim[data-pattern="..."]`.
 * Public templates define them in their inline \3c style>; the SPA picker
 * tiles set them inline via React.CSSProperties on the wrapper.
 *
 * Keep slugs in lockstep with PageDesignPatternRegistry — adding a
 * pattern is: append a row to the registry + add a `.bg-anim[data-pattern=
 * <slug>]` block here + (if needed) span emit count in the picker tile +
 * Twig _bg-anim-element.html.twig.
 */
/* Animated background overlay base. The slug on `data-pattern`
   selects which keyframes/gradients run below.
   Default positioning is `absolute` so the React picker can render small
   per-tile previews contained within their tile. The public-page usage
   (where the bg-anim is a direct child of <body>) gets `position: fixed`
   via the more-specific selector below — it has to span the viewport so
   the pattern is visible behind scrolled content. */
.bg-anim {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    overflow: hidden;
}
body > .bg-anim {
    position: fixed;
}
.bg-anim[data-pattern=none] { display: none; }

/* gradient-flow: dual-layer drift. Linear pan underneath, conic
   rotation on top — two motion axes give depth without resorting to
   JS or canvas. Kept low-opacity so light themes don't lose contrast. */
.bg-anim[data-pattern=gradient-flow]::before,
.bg-anim[data-pattern=gradient-flow]::after {
    content: "";
    position: absolute;
}
.bg-anim[data-pattern=gradient-flow]::before {
    inset: -25%;
    background: linear-gradient(135deg,
        color-mix(in srgb, var(--primary) 22%, transparent),
        transparent 30%,
        color-mix(in srgb, var(--accent) 22%, transparent) 60%,
        transparent 85%);
    background-size: 220% 220%;
    animation: bg-gradient-pan 22s ease-in-out infinite;
}
.bg-anim[data-pattern=gradient-flow]::after {
    inset: -40%;
    background: conic-gradient(from 0deg at 50% 50%,
        transparent 0deg,
        color-mix(in srgb, var(--accent) 18%, transparent) 90deg,
        transparent 180deg,
        color-mix(in srgb, var(--primary) 18%, transparent) 270deg,
        transparent 360deg);
    filter: blur(60px);
    animation: bg-gradient-spin 36s linear infinite;
    opacity: 0.7;
}
@keyframes bg-gradient-pan {
    0%, 100% { background-position: 0% 50%; }
    50%      { background-position: 100% 50%; }
}
@keyframes bg-gradient-spin {
    0%   { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* firefly: drifting amber dots that pulse + glow. Each <span> is one
   firefly — different sizes, lateral offsets, timings give the
   illusion of a meadow. Two animations per firefly: vertical float
   bottom→top (linear) + opacity flicker (ease). Glow comes from a
   layered box-shadow keyed off --primary so the theme tints them. */
.bg-anim[data-pattern=firefly] span {
    position: absolute;
    bottom: -20px;
    width: 6px; height: 6px;
    border-radius: 50%;
    background: var(--primary);
    box-shadow:
        0 0 6px 1px var(--primary),
        0 0 18px 3px color-mix(in srgb, var(--primary) 60%, transparent),
        0 0 36px 8px color-mix(in srgb, var(--primary) 25%, transparent);
    animation:
        bg-firefly-float linear infinite,
        bg-firefly-flicker ease-in-out infinite;
}
.bg-anim[data-pattern=firefly] span:nth-child(1)  { left:  8%; width: 5px; height: 5px; animation-duration: 16s, 2.4s; animation-delay:  0s,    0s; }
.bg-anim[data-pattern=firefly] span:nth-child(2)  { left: 18%; width: 7px; height: 7px; animation-duration: 22s, 3.1s; animation-delay: -3s, -0.7s; }
.bg-anim[data-pattern=firefly] span:nth-child(3)  { left: 28%; width: 4px; height: 4px; animation-duration: 13s, 1.9s; animation-delay: -7s, -0.3s; }
.bg-anim[data-pattern=firefly] span:nth-child(4)  { left: 38%; width: 6px; height: 6px; animation-duration: 19s, 2.8s; animation-delay: -1s, -1.4s; }
.bg-anim[data-pattern=firefly] span:nth-child(5)  { left: 48%; width: 5px; height: 5px; animation-duration: 25s, 3.6s; animation-delay: -5s, -0.9s; }
.bg-anim[data-pattern=firefly] span:nth-child(6)  { left: 58%; width: 7px; height: 7px; animation-duration: 17s, 2.2s; animation-delay: -9s, -1.7s; }
.bg-anim[data-pattern=firefly] span:nth-child(7)  { left: 68%; width: 4px; height: 4px; animation-duration: 14s, 2.0s; animation-delay: -2s, -0.5s; }
.bg-anim[data-pattern=firefly] span:nth-child(8)  { left: 78%; width: 6px; height: 6px; animation-duration: 21s, 3.4s; animation-delay: -6s, -1.2s; }
.bg-anim[data-pattern=firefly] span:nth-child(9)  { left: 88%; width: 5px; height: 5px; animation-duration: 18s, 2.7s; animation-delay: -4s, -0.2s; }
.bg-anim[data-pattern=firefly] span:nth-child(10) { left: 95%; width: 4px; height: 4px; animation-duration: 23s, 3.0s; animation-delay: -8s, -2.1s; }
@keyframes bg-firefly-float {
    0%   { transform: translate(0, 0); }
    25%  { transform: translate(20px, -28vh); }
    50%  { transform: translate(-15px, -55vh); }
    75%  { transform: translate(25px, -82vh); }
    100% { transform: translate(0, -120vh); }
}
@keyframes bg-firefly-flicker {
    0%, 100% { opacity: 0.25; }
    20%      { opacity: 0.9; }
    40%      { opacity: 0.4; }
    60%      { opacity: 1; }
    80%      { opacity: 0.5; }
}

/* aurora: soft radial gradients drifting independently. Three layers
   give a parallax feel without canvas / JS. */
.bg-anim[data-pattern=aurora]::before,
.bg-anim[data-pattern=aurora]::after {
    content: "";
    position: absolute;
    width: 80vmax;
    height: 80vmax;
    border-radius: 50%;
    filter: blur(60px);
    opacity: 0.55;
    mix-blend-mode: screen;
}
.bg-anim[data-pattern=aurora]::before {
    top: -30%; left: -20%;
    background: radial-gradient(circle, color-mix(in srgb, var(--primary) 60%, transparent), transparent 65%);
    animation: bg-aurora-a 22s ease-in-out infinite alternate;
}
.bg-anim[data-pattern=aurora]::after {
    bottom: -30%; right: -20%;
    background: radial-gradient(circle, color-mix(in srgb, var(--accent) 60%, transparent), transparent 65%);
    animation: bg-aurora-b 28s ease-in-out infinite alternate;
}
@keyframes bg-aurora-a {
    0%   { transform: translate(0, 0) scale(1); }
    100% { transform: translate(15vw, 10vh) scale(1.15); }
}
@keyframes bg-aurora-b {
    0%   { transform: translate(0, 0) scale(1.1); }
    100% { transform: translate(-12vw, -8vh) scale(0.95); }
}

/* mesh: layered radial gradients pulsing together. Reads as a soft
   iridescent wash on light themes, a luxe haze on dark. */
.bg-anim[data-pattern=mesh]::before {
    content: "";
    position: absolute;
    inset: -10%;
    background:
        radial-gradient(at 20% 30%, color-mix(in srgb, var(--primary) 35%, transparent), transparent 55%),
        radial-gradient(at 80% 20%, color-mix(in srgb, var(--accent) 35%, transparent), transparent 55%),
        radial-gradient(at 70% 80%, color-mix(in srgb, var(--primary) 25%, transparent), transparent 55%);
    filter: blur(40px);
    animation: bg-mesh-pulse 24s ease-in-out infinite;
}
@keyframes bg-mesh-pulse {
    0%, 100% { transform: scale(1) rotate(0deg); opacity: 0.85; }
    50%      { transform: scale(1.08) rotate(2deg); opacity: 1; }
}

/* blueprint: dual-pitch paper grid (12px minor + 60px major) in subtle
   ink, plus a slow vertical drafting-arm sweep across the page. The
   grid itself is fixed (paper doesn't slide); the highlight bar moves.
   Reads best on cream/ink themes (industrial). */
.bg-anim[data-pattern=blueprint]::before {
    content: ""; position: absolute; inset: 0;
    background-image:
        linear-gradient(color-mix(in srgb, var(--fg) 8%, transparent) 1px, transparent 1px),
        linear-gradient(90deg, color-mix(in srgb, var(--fg) 8%, transparent) 1px, transparent 1px),
        linear-gradient(color-mix(in srgb, var(--fg) 14%, transparent) 1px, transparent 1px),
        linear-gradient(90deg, color-mix(in srgb, var(--fg) 14%, transparent) 1px, transparent 1px);
    background-size: 12px 12px, 12px 12px, 60px 60px, 60px 60px;
    background-position: -1px -1px, -1px -1px, -1px -1px, -1px -1px;
}
.bg-anim[data-pattern=blueprint]::after {
    content: ""; position: absolute; top: 0; bottom: 0;
    width: 28%; left: -28%;
    background: linear-gradient(90deg,
        transparent,
        color-mix(in srgb, var(--primary) 14%, transparent) 35%,
        color-mix(in srgb, var(--primary) 22%, transparent) 50%,
        color-mix(in srgb, var(--primary) 14%, transparent) 65%,
        transparent);
    filter: blur(20px);
    animation: bg-blueprint-sweep 18s linear infinite;
}
@keyframes bg-blueprint-sweep {
    0%   { transform: translateX(0); }
    100% { transform: translateX(450%); }
}

/* grid: scrolling perspective grid floor. Pure CSS, no images. */
.bg-anim[data-pattern=grid]::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(color-mix(in srgb, var(--primary) 35%, transparent) 1px, transparent 1px),
        linear-gradient(90deg, color-mix(in srgb, var(--primary) 35%, transparent) 1px, transparent 1px);
    background-size: 48px 48px;
    opacity: 0.18;
    animation: bg-grid-scroll 14s linear infinite;
}
@keyframes bg-grid-scroll {
    0%   { background-position: 0 0, 0 0; }
    100% { background-position: 0 48px, 48px 0; }
}

/* bokeh: floating soft circles. CSS-only, three independent orbs. */
.bg-anim[data-pattern=bokeh] span {
    position: absolute;
    border-radius: 50%;
    filter: blur(28px);
    opacity: 0.55;
    background: radial-gradient(circle, color-mix(in srgb, var(--primary) 70%, transparent), transparent 70%);
}
.bg-anim[data-pattern=bokeh] span:nth-child(1) { width: 32vmin; height: 32vmin; top: 8%;  left: 6%;  animation: bg-bokeh-1 18s ease-in-out infinite alternate; }
.bg-anim[data-pattern=bokeh] span:nth-child(2) { width: 24vmin; height: 24vmin; top: 60%; left: 70%; animation: bg-bokeh-2 22s ease-in-out infinite alternate; background: radial-gradient(circle, color-mix(in srgb, var(--accent) 70%, transparent), transparent 70%); }
.bg-anim[data-pattern=bokeh] span:nth-child(3) { width: 18vmin; height: 18vmin; top: 30%; left: 80%; animation: bg-bokeh-3 26s ease-in-out infinite alternate; }
@keyframes bg-bokeh-1 { 0%{transform:translate(0,0)} 100%{transform:translate(8vw,12vh)} }
@keyframes bg-bokeh-2 { 0%{transform:translate(0,0)} 100%{transform:translate(-10vw,-6vh)} }
@keyframes bg-bokeh-3 { 0%{transform:translate(0,0)} 100%{transform:translate(-6vw,8vh)} }

/* waves: layered horizontal swells with vertical breathing. Three
   wave bands shift independently and the whole field gently expands
   and contracts so the motion reads as ocean swell, not a slider. */
.bg-anim[data-pattern=waves] {
    animation: bg-waves-breathe 14s ease-in-out infinite;
}
.bg-anim[data-pattern=waves]::before,
.bg-anim[data-pattern=waves]::after {
    content: "";
    position: absolute;
    left: -15%; right: -15%;
    height: 60vh;
    filter: blur(40px);
    opacity: 0.55;
}
.bg-anim[data-pattern=waves]::before {
    top: 8%;
    background:
        radial-gradient(ellipse at 30% center, color-mix(in srgb, var(--primary) 45%, transparent), transparent 55%),
        radial-gradient(ellipse at 75% center, color-mix(in srgb, var(--accent) 30%, transparent), transparent 55%);
    animation: bg-wave-a 14s ease-in-out infinite alternate;
}
.bg-anim[data-pattern=waves]::after {
    bottom: -5%;
    background:
        radial-gradient(ellipse at 60% center, color-mix(in srgb, var(--accent) 45%, transparent), transparent 55%),
        radial-gradient(ellipse at 20% center, color-mix(in srgb, var(--primary) 30%, transparent), transparent 55%);
    animation: bg-wave-b 18s ease-in-out infinite alternate;
}
@keyframes bg-waves-breathe { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.04); } }
@keyframes bg-wave-a {
    0%   { transform: translateX(-8%) translateY(0);   }
    50%  { transform: translateX(0)   translateY(-3%); }
    100% { transform: translateX(8%)  translateY(0);   }
}
@keyframes bg-wave-b {
    0%   { transform: translateX(10%)  translateY(0);  }
    50%  { transform: translateX(0)    translateY(3%); }
    100% { transform: translateX(-10%) translateY(0);  }
}

/* petals: dense sakura fall. 14 petals with size + rotation + lateral
   sway variance — feels like a real bloom drop, not a thin ticker.
   Two animations stacked: vertical fall (linear) + horizontal sway
   (ease-in-out alternate) — drifting sideways while descending. */
.bg-anim[data-pattern=petals] span {
    position: absolute;
    top: -10%;
    width: 14px; height: 14px;
    background: color-mix(in srgb, var(--primary) 75%, transparent);
    border-radius: 60% 40% 60% 40% / 50% 60% 40% 50%;
    opacity: 0.75;
    animation:
        bg-petal-fall linear infinite,
        bg-petal-sway ease-in-out infinite alternate;
}
.bg-anim[data-pattern=petals] span:nth-child(1)  { left:  6%; width: 12px; height: 12px; animation-duration: 14s, 4.0s; animation-delay:  0s, -1.2s; }
.bg-anim[data-pattern=petals] span:nth-child(2)  { left: 14%; width: 16px; height: 16px; animation-duration: 18s, 3.4s; animation-delay: -3s, -0.5s; }
.bg-anim[data-pattern=petals] span:nth-child(3)  { left: 22%; width: 10px; height: 10px; animation-duration: 11s, 4.2s; animation-delay: -6s, -2.0s; }
.bg-anim[data-pattern=petals] span:nth-child(4)  { left: 30%; width: 14px; height: 14px; animation-duration: 20s, 3.8s; animation-delay: -2s, -1.6s; }
.bg-anim[data-pattern=petals] span:nth-child(5)  { left: 38%; width: 11px; height: 11px; animation-duration: 16s, 4.6s; animation-delay: -9s, -0.8s; }
.bg-anim[data-pattern=petals] span:nth-child(6)  { left: 46%; width: 17px; height: 17px; animation-duration: 22s, 3.2s; animation-delay: -4s, -2.4s; }
.bg-anim[data-pattern=petals] span:nth-child(7)  { left: 54%; width: 13px; height: 13px; animation-duration: 13s, 5.0s; animation-delay: -1s, -1.0s; }
.bg-anim[data-pattern=petals] span:nth-child(8)  { left: 62%; width: 15px; height: 15px; animation-duration: 19s, 3.6s; animation-delay: -7s, -0.3s; }
.bg-anim[data-pattern=petals] span:nth-child(9)  { left: 70%; width: 9px;  height: 9px;  animation-duration: 10s, 4.4s; animation-delay: -5s, -1.8s; }
.bg-anim[data-pattern=petals] span:nth-child(10) { left: 78%; width: 14px; height: 14px; animation-duration: 21s, 3.0s; animation-delay: -3s, -2.2s; }
.bg-anim[data-pattern=petals] span:nth-child(11) { left: 84%; width: 12px; height: 12px; animation-duration: 15s, 4.8s; animation-delay: -8s, -0.7s; }
.bg-anim[data-pattern=petals] span:nth-child(12) { left: 90%; width: 16px; height: 16px; animation-duration: 17s, 3.4s; animation-delay: -2s, -1.4s; }
.bg-anim[data-pattern=petals] span:nth-child(13) { left: 96%; width: 11px; height: 11px; animation-duration: 12s, 4.0s; animation-delay: -6s, -1.9s; }
.bg-anim[data-pattern=petals] span:nth-child(14) { left:  2%; width: 13px; height: 13px; animation-duration: 23s, 3.6s; animation-delay: -4s, -0.4s; }
/* Tone variance: every other petal a touch lighter, every third uses accent
   — keeps the bloom from looking flat-coloured. */
.bg-anim[data-pattern=petals] span:nth-child(2n) { background: color-mix(in srgb, var(--primary) 55%, transparent); }
.bg-anim[data-pattern=petals] span:nth-child(3n) { background: color-mix(in srgb, var(--accent) 70%, transparent); }
@keyframes bg-petal-fall {
    0%   { transform: translateY(0) rotate(0deg); }
    100% { transform: translateY(125vh) rotate(540deg); }
}
@keyframes bg-petal-sway {
    0%   { margin-left: -18px; }
    100% { margin-left:  18px; }
}

/* swirl: coffee-cream marbling. Five heavily-blurred radial blobs in
   cream + accent tones drifting on independent orbits with different
   periods so they merge and re-merge into organic flowing shapes
   that never quite repeat. Background gets a soft `accent` cast so
   the dark espresso reads warmer. Pattern needs a dedicated wrapper
   because we want sibling positioned children, not pseudo-elements
   (only two ::before/::after available per element). */
.bg-anim[data-pattern=swirl] {
    background:
        radial-gradient(ellipse at 50% 50%,
            color-mix(in srgb, var(--primary) 14%, transparent),
            transparent 70%);
}
.bg-anim[data-pattern=swirl] span {
    position: absolute;
    border-radius: 50%;
    filter: blur(90px);
    mix-blend-mode: screen;
}
.bg-anim[data-pattern=swirl] span:nth-child(1) {
    width: 70vmax; height: 70vmax;
    top: -10%; left: -15%;
    background: radial-gradient(circle, var(--primary) 0%, transparent 60%);
    opacity: 0.55;
    animation: bg-swirl-a 32s ease-in-out infinite alternate;
}
.bg-anim[data-pattern=swirl] span:nth-child(2) {
    width: 55vmax; height: 55vmax;
    top: 25%; right: -10%;
    background: radial-gradient(circle, color-mix(in srgb, var(--accent) 90%, white) 0%, transparent 60%);
    opacity: 0.5;
    animation: bg-swirl-b 38s ease-in-out infinite alternate;
}
.bg-anim[data-pattern=swirl] span:nth-child(3) {
    width: 80vmax; height: 80vmax;
    bottom: -20%; left: 10%;
    background: radial-gradient(circle, var(--accent) 0%, transparent 60%);
    opacity: 0.45;
    animation: bg-swirl-c 44s ease-in-out infinite alternate;
}
.bg-anim[data-pattern=swirl] span:nth-child(4) {
    width: 45vmax; height: 45vmax;
    top: 50%; left: 35%;
    background: radial-gradient(circle, color-mix(in srgb, var(--primary) 80%, white) 0%, transparent 60%);
    opacity: 0.5;
    animation: bg-swirl-d 28s ease-in-out infinite alternate;
}
.bg-anim[data-pattern=swirl] span:nth-child(5) {
    width: 35vmax; height: 35vmax;
    top: 5%; left: 55%;
    background: radial-gradient(circle, color-mix(in srgb, var(--accent) 70%, white) 0%, transparent 60%);
    opacity: 0.55;
    animation: bg-swirl-e 26s ease-in-out infinite alternate;
}
/* Bubbles — small dot accents like the cream-bubbles in the reference. */
.bg-anim[data-pattern=swirl]::before,
.bg-anim[data-pattern=swirl]::after {
    content: ""; position: absolute;
    width: 8px; height: 8px;
    border-radius: 50%;
    background: color-mix(in srgb, var(--accent) 80%, white);
    box-shadow:
        0 0 0 1px color-mix(in srgb, var(--accent) 90%, white),
        0 0 16px color-mix(in srgb, var(--accent) 40%, transparent);
    opacity: 0.7;
}
.bg-anim[data-pattern=swirl]::before { top: 24%; left: 38%; animation: bg-swirl-bubble-a 14s ease-in-out infinite alternate; }
.bg-anim[data-pattern=swirl]::after  { top: 62%; left: 68%; animation: bg-swirl-bubble-b 18s ease-in-out infinite alternate; transform: scale(0.7); }
@keyframes bg-swirl-a { 0% { transform: translate(0, 0) scale(1); }     100% { transform: translate(15vw, 8vh) scale(1.15); } }
@keyframes bg-swirl-b { 0% { transform: translate(0, 0) scale(1.1); }   100% { transform: translate(-12vw, 12vh) scale(0.9); } }
@keyframes bg-swirl-c { 0% { transform: translate(0, 0) scale(0.95); }  100% { transform: translate(10vw, -10vh) scale(1.1); } }
@keyframes bg-swirl-d { 0% { transform: translate(0, 0) scale(1); }     100% { transform: translate(-8vw, -6vh) scale(1.2); } }
@keyframes bg-swirl-e { 0% { transform: translate(0, 0) scale(1.05); }  100% { transform: translate(6vw, 14vh) scale(0.85); } }
@keyframes bg-swirl-bubble-a { 0% { transform: translate(0, 0) scale(1); }   100% { transform: translate(20px, -30px) scale(1.3); } }
@keyframes bg-swirl-bubble-b { 0% { transform: translate(0, 0) scale(0.7); } 100% { transform: translate(-25px, -15px) scale(1); } }

/* code: developer-IDE. Two layers — faint vertical "line numbers"
   band on the left, plus a thin horizontal cursor sweep that moves
   down the page like an editor scrolling. */
.bg-anim[data-pattern=code]::before {
    content: ""; position: absolute; inset: 0;
    background-image:
        linear-gradient(90deg,
            color-mix(in srgb, var(--primary) 12%, transparent) 0,
            color-mix(in srgb, var(--primary) 12%, transparent) 1px,
            transparent 1px,
            transparent 60px);
    background-size: 60px 100%;
    opacity: 0.5;
}
.bg-anim[data-pattern=code]::after {
    content: ""; position: absolute;
    left: 0; right: 0;
    height: 2px; top: -2px;
    background: linear-gradient(90deg,
        transparent,
        var(--primary) 20%,
        color-mix(in srgb, var(--primary) 60%, transparent) 50%,
        var(--primary) 80%,
        transparent);
    box-shadow: 0 0 18px 3px color-mix(in srgb, var(--primary) 40%, transparent);
    animation: bg-code-cursor 7s ease-in-out infinite;
}
@keyframes bg-code-cursor {
    0%   { top: -2px; opacity: 0; }
    10%  { opacity: 1; }
    90%  { opacity: 1; }
    100% { top: 100%;  opacity: 0; }
}

/* floating-code: dev-aesthetic with code snippets drifting upward.
   Each <span> carries a code-like string (rendered via Twig text
   content, not CSS) so the lines look real, not lorem-ipsum. Two
   animations: vertical float bottom→top + opacity fade-in/out so
   snippets emerge and dissolve rather than scrolling endlessly. */
.bg-anim[data-pattern=floating-code] span {
    position: absolute;
    bottom: -60px;
    font-family: 'JetBrains Mono', 'SF Mono', Consolas, monospace;
    font-size: 13px;
    font-weight: 500;
    white-space: nowrap;
    letter-spacing: 0;
    color: var(--primary);
    text-shadow: 0 0 12px color-mix(in srgb, var(--primary) 50%, transparent);
    opacity: 0;
    animation:
        bg-code-float linear infinite,
        bg-code-fade ease-in-out infinite;
}
/* Vary lateral position, size, color tone, and timing so the page
   reads as a stream of independent log lines, not a marching column. */
.bg-anim[data-pattern=floating-code] span:nth-child(1)  { left:  6%;  font-size: 12px; animation-duration: 18s, 4.5s;  animation-delay:  0s,    0s; }
.bg-anim[data-pattern=floating-code] span:nth-child(2)  { left: 18%;  font-size: 14px; color: var(--accent); animation-duration: 24s, 5.0s; animation-delay: -3s, -1.2s; }
.bg-anim[data-pattern=floating-code] span:nth-child(3)  { left: 30%;  font-size: 11px; animation-duration: 16s, 4.0s; animation-delay: -7s, -2.0s; }
.bg-anim[data-pattern=floating-code] span:nth-child(4)  { left: 44%;  font-size: 13px; color: var(--accent); animation-duration: 22s, 5.5s; animation-delay: -1s, -0.5s; }
.bg-anim[data-pattern=floating-code] span:nth-child(5)  { left: 56%;  font-size: 12px; animation-duration: 20s, 4.8s; animation-delay: -5s, -1.7s; }
.bg-anim[data-pattern=floating-code] span:nth-child(6)  { left: 68%;  font-size: 14px; color: var(--accent); animation-duration: 26s, 5.2s; animation-delay: -9s, -2.4s; }
.bg-anim[data-pattern=floating-code] span:nth-child(7)  { left: 78%;  font-size: 11px; animation-duration: 17s, 4.2s; animation-delay: -2s, -0.8s; }
.bg-anim[data-pattern=floating-code] span:nth-child(8)  { left: 86%;  font-size: 13px; animation-duration: 23s, 5.0s; animation-delay: -6s, -1.5s; }
.bg-anim[data-pattern=floating-code] span:nth-child(9)  { left: 12%;  font-size: 11px; color: var(--accent); animation-duration: 21s, 4.6s; animation-delay: -4s, -2.2s; }
.bg-anim[data-pattern=floating-code] span:nth-child(10) { left: 50%;  font-size: 12px; animation-duration: 19s, 4.4s; animation-delay: -8s, -1.0s; }
@keyframes bg-code-float {
    0%   { transform: translateY(0); }
    100% { transform: translateY(-110vh); }
}
@keyframes bg-code-fade {
    0%, 100% { opacity: 0; }
    15%      { opacity: 0.55; }
    50%      { opacity: 0.7; }
    85%      { opacity: 0.4; }
}

/* fireworks: bursting radial sparks at multiple origin points.
   Each <span> is one burst — uses a layered radial gradient that
   expands from a point and then fades. Positions + delays staggered
   so the page reads as a continuous show, not a sync'd loop. */
.bg-anim[data-pattern=fireworks] span {
    position: absolute;
    width: 4px; height: 4px;
    border-radius: 50%;
    background: var(--primary);
    box-shadow:
        /* eight radial spark trails — repeat-pattern using pseudo? no,
           we use a single big multi-stop radial via box-shadow plus
           scale animation to fake the burst. */
        0 0 0 0 color-mix(in srgb, var(--primary) 90%, transparent);
    animation: bg-firework-burst ease-out infinite;
    opacity: 0;
}
.bg-anim[data-pattern=fireworks] span:nth-child(1) { top: 18%; left: 22%; animation-duration: 4s;  animation-delay: 0s;   color: var(--primary); }
.bg-anim[data-pattern=fireworks] span:nth-child(2) { top: 28%; left: 70%; animation-duration: 5s;  animation-delay: -1.5s; color: var(--accent); }
.bg-anim[data-pattern=fireworks] span:nth-child(3) { top: 50%; left: 40%; animation-duration: 6s;  animation-delay: -3s;   color: var(--primary); }
.bg-anim[data-pattern=fireworks] span:nth-child(4) { top: 65%; left: 80%; animation-duration: 4.5s;animation-delay: -2.2s; color: var(--accent); }
.bg-anim[data-pattern=fireworks] span:nth-child(5) { top: 35%; left: 12%; animation-duration: 5.5s;animation-delay: -4s;   color: var(--primary); }
.bg-anim[data-pattern=fireworks] span:nth-child(6) { top: 75%; left: 30%; animation-duration: 4.8s;animation-delay: -3.4s; color: var(--accent); }
.bg-anim[data-pattern=fireworks] span:nth-child(7) { top: 12%; left: 55%; animation-duration: 5.2s;animation-delay: -1s;   color: var(--primary); }
.bg-anim[data-pattern=fireworks] span:nth-child(8) { top: 80%; left: 60%; animation-duration: 6.4s;animation-delay: -5s;   color: var(--accent); }
@keyframes bg-firework-burst {
    0%   { transform: scale(0.2); opacity: 0;
           box-shadow: 0 0 0 0 currentColor; }
    8%   { opacity: 1; }
    70%  { opacity: 0.9;
           box-shadow:
             0   -45px 0 -2px currentColor,
             0    45px 0 -2px currentColor,
             45px  0   0 -2px currentColor,
            -45px  0   0 -2px currentColor,
             32px -32px 0 -2px currentColor,
             32px  32px 0 -2px currentColor,
            -32px  32px 0 -2px currentColor,
            -32px -32px 0 -2px currentColor; }
    100% { transform: scale(1.4); opacity: 0;
           box-shadow:
             0   -90px 0 -4px transparent,
             0    90px 0 -4px transparent,
             90px  0   0 -4px transparent,
            -90px  0   0 -4px transparent,
             64px -64px 0 -4px transparent,
             64px  64px 0 -4px transparent,
            -64px  64px 0 -4px transparent,
            -64px -64px 0 -4px transparent; }
}

/* ═══════════════════ NEW WOW PATTERNS ═════════════════════════
   Each pattern slug below is fully theme-tinted via --primary +
   --accent so it picks up the active theme's colour palette.
   Span counts where required are emitted by the body block; pseudo-
   element-only patterns work without spans. */

/* starfield: parallax twinkle. 30 stars in three depth layers; near
   layer scales largest + twinkles fastest, far layer is slow + dim. */
.bg-anim[data-pattern=starfield] span {
    position: absolute; border-radius: 50%;
    background: var(--fg);
    box-shadow: 0 0 4px 1px var(--fg);
    animation: bg-star-twinkle ease-in-out infinite;
}
.bg-anim[data-pattern=starfield] span:nth-child(3n)   { width: 1px;  height: 1px;  opacity: 0.45; animation-duration: 4.5s; }
.bg-anim[data-pattern=starfield] span:nth-child(3n+1) { width: 2px;  height: 2px;  opacity: 0.7;  animation-duration: 3.2s; }
.bg-anim[data-pattern=starfield] span:nth-child(3n+2) { width: 3px;  height: 3px;  opacity: 0.95; animation-duration: 2.4s; }
.bg-anim[data-pattern=starfield] span:nth-child(1)  { top:  4%; left:  6%; }
.bg-anim[data-pattern=starfield] span:nth-child(2)  { top:  9%; left: 22%; }
.bg-anim[data-pattern=starfield] span:nth-child(3)  { top:  3%; left: 38%; }
.bg-anim[data-pattern=starfield] span:nth-child(4)  { top: 14%; left: 54%; }
.bg-anim[data-pattern=starfield] span:nth-child(5)  { top:  7%; left: 71%; }
.bg-anim[data-pattern=starfield] span:nth-child(6)  { top: 12%; left: 87%; }
.bg-anim[data-pattern=starfield] span:nth-child(7)  { top: 22%; left:  3%; }
.bg-anim[data-pattern=starfield] span:nth-child(8)  { top: 26%; left: 19%; }
.bg-anim[data-pattern=starfield] span:nth-child(9)  { top: 19%; left: 35%; }
.bg-anim[data-pattern=starfield] span:nth-child(10) { top: 28%; left: 51%; }
.bg-anim[data-pattern=starfield] span:nth-child(11) { top: 24%; left: 67%; }
.bg-anim[data-pattern=starfield] span:nth-child(12) { top: 30%; left: 83%; }
.bg-anim[data-pattern=starfield] span:nth-child(13) { top: 38%; left: 12%; }
.bg-anim[data-pattern=starfield] span:nth-child(14) { top: 44%; left: 28%; }
.bg-anim[data-pattern=starfield] span:nth-child(15) { top: 39%; left: 44%; }
.bg-anim[data-pattern=starfield] span:nth-child(16) { top: 46%; left: 60%; }
.bg-anim[data-pattern=starfield] span:nth-child(17) { top: 41%; left: 76%; }
.bg-anim[data-pattern=starfield] span:nth-child(18) { top: 48%; left: 92%; }
.bg-anim[data-pattern=starfield] span:nth-child(19) { top: 56%; left:  8%; }
.bg-anim[data-pattern=starfield] span:nth-child(20) { top: 62%; left: 24%; }
.bg-anim[data-pattern=starfield] span:nth-child(21) { top: 58%; left: 40%; }
.bg-anim[data-pattern=starfield] span:nth-child(22) { top: 64%; left: 56%; }
.bg-anim[data-pattern=starfield] span:nth-child(23) { top: 60%; left: 72%; }
.bg-anim[data-pattern=starfield] span:nth-child(24) { top: 67%; left: 88%; }
.bg-anim[data-pattern=starfield] span:nth-child(25) { top: 74%; left: 14%; }
.bg-anim[data-pattern=starfield] span:nth-child(26) { top: 80%; left: 30%; }
.bg-anim[data-pattern=starfield] span:nth-child(27) { top: 76%; left: 46%; }
.bg-anim[data-pattern=starfield] span:nth-child(28) { top: 82%; left: 62%; }
.bg-anim[data-pattern=starfield] span:nth-child(29) { top: 78%; left: 78%; }
.bg-anim[data-pattern=starfield] span:nth-child(30) { top: 88%; left: 94%; }
@keyframes bg-star-twinkle { 0%, 100% { opacity: 0.2; transform: scale(0.7); } 50% { opacity: 1; transform: scale(1.2); } }

/* rain: diagonal streaks falling fast. Each drop is a thin line; uses
   a linear-gradient on the parent for the diagonal angle illusion. */
.bg-anim[data-pattern=rain] span {
    position: absolute; top: -10%;
    width: 1.5px; height: 28px;
    background: linear-gradient(to bottom, transparent, color-mix(in srgb, var(--primary) 70%, transparent));
    animation: bg-rain-fall linear infinite;
    transform: skewX(-18deg);
}
.bg-anim[data-pattern=rain] span:nth-child(1)  { left:  4%; animation-duration: 0.9s; animation-delay: 0s;     }
.bg-anim[data-pattern=rain] span:nth-child(2)  { left: 11%; animation-duration: 1.1s; animation-delay: -0.4s; }
.bg-anim[data-pattern=rain] span:nth-child(3)  { left: 19%; animation-duration: 0.8s; animation-delay: -0.7s; }
.bg-anim[data-pattern=rain] span:nth-child(4)  { left: 27%; animation-duration: 1.0s; animation-delay: -0.2s; }
.bg-anim[data-pattern=rain] span:nth-child(5)  { left: 34%; animation-duration: 0.95s;animation-delay: -0.5s; }
.bg-anim[data-pattern=rain] span:nth-child(6)  { left: 42%; animation-duration: 1.2s; animation-delay: -0.8s; }
.bg-anim[data-pattern=rain] span:nth-child(7)  { left: 49%; animation-duration: 0.85s;animation-delay: -0.1s; }
.bg-anim[data-pattern=rain] span:nth-child(8)  { left: 56%; animation-duration: 1.05s;animation-delay: -0.6s; }
.bg-anim[data-pattern=rain] span:nth-child(9)  { left: 63%; animation-duration: 0.9s; animation-delay: -0.3s; }
.bg-anim[data-pattern=rain] span:nth-child(10) { left: 70%; animation-duration: 1.1s; animation-delay: -0.9s; }
.bg-anim[data-pattern=rain] span:nth-child(11) { left: 77%; animation-duration: 0.95s;animation-delay: -0.4s; }
.bg-anim[data-pattern=rain] span:nth-child(12) { left: 84%; animation-duration: 1.0s; animation-delay: -0.7s; }
.bg-anim[data-pattern=rain] span:nth-child(13) { left: 91%; animation-duration: 0.88s;animation-delay: -0.2s; }
.bg-anim[data-pattern=rain] span:nth-child(14) { left: 96%; animation-duration: 1.15s;animation-delay: -0.5s; }
@keyframes bg-rain-fall { 0% { transform: skewX(-18deg) translateY(0); } 100% { transform: skewX(-18deg) translateY(120vh); } }

/* snow: gentle flakes falling with horizontal drift. Border-radius
   50% + box-shadow gives a soft halo. */
.bg-anim[data-pattern=snow] span {
    position: absolute; top: -10%;
    border-radius: 50%; background: var(--fg);
    box-shadow: 0 0 6px 1px color-mix(in srgb, var(--fg) 50%, transparent);
    opacity: 0.85;
    animation: bg-snow-fall linear infinite, bg-snow-drift ease-in-out infinite alternate;
}
.bg-anim[data-pattern=snow] span:nth-child(1)  { left:  5%; width: 4px; height: 4px; animation-duration: 11s, 3.4s; animation-delay:  0s, -0.5s; }
.bg-anim[data-pattern=snow] span:nth-child(2)  { left: 15%; width: 6px; height: 6px; animation-duration: 14s, 4.0s; animation-delay: -2s, -1.2s; }
.bg-anim[data-pattern=snow] span:nth-child(3)  { left: 25%; width: 3px; height: 3px; animation-duration:  9s, 3.0s; animation-delay: -5s, -2.0s; }
.bg-anim[data-pattern=snow] span:nth-child(4)  { left: 35%; width: 5px; height: 5px; animation-duration: 12s, 3.8s; animation-delay: -1s, -1.5s; }
.bg-anim[data-pattern=snow] span:nth-child(5)  { left: 45%; width: 4px; height: 4px; animation-duration: 13s, 3.4s; animation-delay: -7s, -0.8s; }
.bg-anim[data-pattern=snow] span:nth-child(6)  { left: 55%; width: 6px; height: 6px; animation-duration: 15s, 4.2s; animation-delay: -3s, -2.4s; }
.bg-anim[data-pattern=snow] span:nth-child(7)  { left: 65%; width: 3px; height: 3px; animation-duration: 10s, 3.2s; animation-delay: -8s, -1.0s; }
.bg-anim[data-pattern=snow] span:nth-child(8)  { left: 75%; width: 5px; height: 5px; animation-duration: 12s, 3.6s; animation-delay: -4s, -1.8s; }
.bg-anim[data-pattern=snow] span:nth-child(9)  { left: 85%; width: 4px; height: 4px; animation-duration: 14s, 4.4s; animation-delay: -6s, -0.4s; }
.bg-anim[data-pattern=snow] span:nth-child(10) { left: 95%; width: 5px; height: 5px; animation-duration: 11s, 3.8s; animation-delay: -2s, -2.2s; }
.bg-anim[data-pattern=snow] span:nth-child(11) { left: 10%; width: 3px; height: 3px; animation-duration: 13s, 3.0s; animation-delay: -9s, -1.4s; }
.bg-anim[data-pattern=snow] span:nth-child(12) { left: 30%; width: 6px; height: 6px; animation-duration: 16s, 4.6s; animation-delay: -5s, -0.6s; }
.bg-anim[data-pattern=snow] span:nth-child(13) { left: 50%; width: 4px; height: 4px; animation-duration: 11s, 3.4s; animation-delay: -3s, -1.9s; }
.bg-anim[data-pattern=snow] span:nth-child(14) { left: 70%; width: 5px; height: 5px; animation-duration: 14s, 4.0s; animation-delay: -8s, -2.5s; }
.bg-anim[data-pattern=snow] span:nth-child(15) { left: 90%; width: 3px; height: 3px; animation-duration: 12s, 3.2s; animation-delay: -1s, -1.1s; }
@keyframes bg-snow-fall  { 0% { transform: translateY(0); }  100% { transform: translateY(120vh); } }
@keyframes bg-snow-drift { 0% { margin-left: -20px; }       100% { margin-left:  20px; } }

/* bubbles: champagne — small circles rising fast, growing as they go.
   Variable sizes + opacity gives depth + sparkle. */
.bg-anim[data-pattern=bubbles] span {
    position: absolute; bottom: -30px;
    border-radius: 50%;
    background: radial-gradient(circle at 35% 35%, color-mix(in srgb, var(--primary) 80%, white), color-mix(in srgb, var(--primary) 30%, transparent));
    box-shadow: inset 0 0 6px color-mix(in srgb, var(--primary) 40%, transparent), 0 0 8px color-mix(in srgb, var(--primary) 30%, transparent);
    opacity: 0.7;
    animation: bg-bubble-rise linear infinite, bg-bubble-wobble ease-in-out infinite alternate;
}
.bg-anim[data-pattern=bubbles] span:nth-child(1)  { left:  8%; width:  8px; height:  8px; animation-duration:  9s, 2.4s; animation-delay:  0s, -0.4s; }
.bg-anim[data-pattern=bubbles] span:nth-child(2)  { left: 18%; width: 14px; height: 14px; animation-duration: 12s, 3.0s; animation-delay: -3s, -1.2s; }
.bg-anim[data-pattern=bubbles] span:nth-child(3)  { left: 28%; width:  6px; height:  6px; animation-duration:  7s, 2.0s; animation-delay: -1s, -0.7s; }
.bg-anim[data-pattern=bubbles] span:nth-child(4)  { left: 38%; width: 11px; height: 11px; animation-duration: 10s, 2.6s; animation-delay: -5s, -1.5s; }
.bg-anim[data-pattern=bubbles] span:nth-child(5)  { left: 48%; width:  9px; height:  9px; animation-duration: 11s, 2.8s; animation-delay: -2s, -0.3s; }
.bg-anim[data-pattern=bubbles] span:nth-child(6)  { left: 58%; width: 16px; height: 16px; animation-duration: 14s, 3.4s; animation-delay: -7s, -1.8s; }
.bg-anim[data-pattern=bubbles] span:nth-child(7)  { left: 68%; width:  7px; height:  7px; animation-duration:  8s, 2.2s; animation-delay: -4s, -1.0s; }
.bg-anim[data-pattern=bubbles] span:nth-child(8)  { left: 78%; width: 12px; height: 12px; animation-duration: 11s, 2.7s; animation-delay: -6s, -2.1s; }
.bg-anim[data-pattern=bubbles] span:nth-child(9)  { left: 88%; width:  8px; height:  8px; animation-duration:  9s, 2.5s; animation-delay: -2s, -0.6s; }
.bg-anim[data-pattern=bubbles] span:nth-child(10) { left: 95%; width: 10px; height: 10px; animation-duration: 13s, 3.2s; animation-delay: -8s, -1.4s; }
@keyframes bg-bubble-rise   { 0% { transform: translateY(0) scale(0.8); opacity: 0; } 10% { opacity: 0.8; } 90% { opacity: 0.6; } 100% { transform: translateY(-110vh) scale(1.4); opacity: 0; } }
@keyframes bg-bubble-wobble { 0% { margin-left: -8px; }  100% { margin-left: 8px; } }

/* constellation: connected nodes via box-shadow lines. We can't draw
   true SVG lines without scripting, so we simulate the network with
   large box-shadows on each node — clusters of 3-4 dots that pulse. */
.bg-anim[data-pattern=constellation] span {
    position: absolute;
    width: 4px; height: 4px;
    border-radius: 50%;
    background: var(--primary);
    animation: bg-constellation-pulse ease-in-out infinite;
}
.bg-anim[data-pattern=constellation] span:nth-child(1)  { top: 12%; left: 18%; box-shadow: 90px  40px 0 -1px var(--primary), 180px 70px 0 -1px var(--primary), 0 0 12px var(--primary); animation-duration: 4s; }
.bg-anim[data-pattern=constellation] span:nth-child(2)  { top: 28%; left: 65%; box-shadow:-70px  60px 0 -1px var(--primary), 60px 110px 0 -1px var(--primary), 0 0 12px var(--primary); animation-duration: 5s; animation-delay: -1s; }
.bg-anim[data-pattern=constellation] span:nth-child(3)  { top: 55%; left: 28%; box-shadow: 110px-30px 0 -1px var(--primary), -50px 80px 0 -1px var(--primary), 0 0 12px var(--primary); animation-duration: 4.5s; animation-delay: -2s; }
.bg-anim[data-pattern=constellation] span:nth-child(4)  { top: 72%; left: 78%; box-shadow:-80px -50px 0 -1px var(--primary), 50px-100px 0 -1px var(--primary), 0 0 12px var(--primary); animation-duration: 5.5s; animation-delay: -1.5s; }
.bg-anim[data-pattern=constellation] span:nth-child(5)  { top: 40%; left: 45%; box-shadow: 130px 20px 0 -1px var(--primary), -100px 50px 0 -1px var(--primary), 0 0 12px var(--primary); animation-duration: 4.8s; animation-delay: -2.5s; }
.bg-anim[data-pattern=constellation] span:nth-child(6)  { top: 88%; left: 12%; box-shadow: 160px-60px 0 -1px var(--primary), 0 0 12px var(--primary); animation-duration: 5.2s; animation-delay: -3s; }
.bg-anim[data-pattern=constellation]::before {
    content: ""; position: absolute; inset: 0;
    background:
        linear-gradient(28deg, transparent 49.6%, color-mix(in srgb, var(--primary) 18%, transparent) 49.8%, color-mix(in srgb, var(--primary) 18%, transparent) 50.2%, transparent 50.4%),
        linear-gradient(-12deg, transparent 49.6%, color-mix(in srgb, var(--primary) 14%, transparent) 49.8%, color-mix(in srgb, var(--primary) 14%, transparent) 50.2%, transparent 50.4%);
    background-size: 40% 40%, 35% 35%;
    background-position: 12% 18%, 65% 70%;
    background-repeat: no-repeat;
    opacity: 0.5;
}
@keyframes bg-constellation-pulse { 0%, 100% { opacity: 0.4; } 50% { opacity: 1; } }

/* lava-lamp: large amorphous blobs morphing shapes via border-radius
   interpolation. Different from swirl — these don't blur into each
   other; they stay distinct and slowly squish/stretch. */
.bg-anim[data-pattern=lava-lamp] span {
    position: absolute;
    background: radial-gradient(circle at 35% 35%, var(--primary), color-mix(in srgb, var(--accent) 70%, transparent));
    filter: blur(30px);
    animation: bg-lava-morph ease-in-out infinite, bg-lava-drift ease-in-out infinite alternate;
}
.bg-anim[data-pattern=lava-lamp] span:nth-child(1) { width: 35vmin; height: 35vmin; top: 10%; left: 12%; animation-duration: 14s, 22s; animation-delay: 0s,    0s; opacity: 0.7; }
.bg-anim[data-pattern=lava-lamp] span:nth-child(2) { width: 28vmin; height: 28vmin; top: 55%; left: 60%; animation-duration: 18s, 26s; animation-delay: -3s, -2s; opacity: 0.6; background: radial-gradient(circle at 65% 35%, var(--accent), color-mix(in srgb, var(--primary) 70%, transparent)); }
.bg-anim[data-pattern=lava-lamp] span:nth-child(3) { width: 42vmin; height: 42vmin; top: 30%; left: 70%; animation-duration: 16s, 24s; animation-delay: -6s, -4s; opacity: 0.55; }
.bg-anim[data-pattern=lava-lamp] span:nth-child(4) { width: 22vmin; height: 22vmin; top: 70%; left: 20%; animation-duration: 12s, 20s; animation-delay: -2s, -5s; opacity: 0.65; background: radial-gradient(circle at 30% 70%, var(--accent), transparent 70%); }
@keyframes bg-lava-morph {
    0%, 100% { border-radius: 60% 40% 50% 50% / 50% 60% 40% 50%; }
    33%      { border-radius: 40% 60% 60% 40% / 70% 40% 60% 30%; }
    66%      { border-radius: 50% 50% 40% 60% / 40% 60% 50% 50%; }
}
@keyframes bg-lava-drift {
    0%   { transform: translate(0, 0) rotate(0deg); }
    100% { transform: translate(8vw, -6vh) rotate(40deg); }
}

/* sparkle: tiny twinkles. Like starfield but smaller, faster, and
   uses a 4-point spike via radial-gradient + box-shadow. */
.bg-anim[data-pattern=sparkle] span {
    position: absolute;
    width: 12px; height: 12px;
    background:
        radial-gradient(circle, var(--primary) 0%, transparent 30%),
        linear-gradient(0deg, transparent 47%, color-mix(in srgb, var(--primary) 90%, white) 49%, color-mix(in srgb, var(--primary) 90%, white) 51%, transparent 53%),
        linear-gradient(90deg, transparent 47%, color-mix(in srgb, var(--primary) 90%, white) 49%, color-mix(in srgb, var(--primary) 90%, white) 51%, transparent 53%);
    opacity: 0;
    animation: bg-sparkle-twinkle ease-in-out infinite;
}
.bg-anim[data-pattern=sparkle] span:nth-child(1)  { top: 14%; left: 12%; animation-duration: 3.0s; animation-delay:  0s;   }
.bg-anim[data-pattern=sparkle] span:nth-child(2)  { top: 22%; left: 38%; animation-duration: 2.4s; animation-delay: -0.7s; }
.bg-anim[data-pattern=sparkle] span:nth-child(3)  { top:  8%; left: 64%; animation-duration: 3.4s; animation-delay: -1.3s; }
.bg-anim[data-pattern=sparkle] span:nth-child(4)  { top: 30%; left: 84%; animation-duration: 2.8s; animation-delay: -2.0s; }
.bg-anim[data-pattern=sparkle] span:nth-child(5)  { top: 44%; left: 22%; animation-duration: 3.2s; animation-delay: -0.4s; }
.bg-anim[data-pattern=sparkle] span:nth-child(6)  { top: 50%; left: 50%; animation-duration: 2.6s; animation-delay: -1.8s; }
.bg-anim[data-pattern=sparkle] span:nth-child(7)  { top: 38%; left: 76%; animation-duration: 3.6s; animation-delay: -1.0s; }
.bg-anim[data-pattern=sparkle] span:nth-child(8)  { top: 64%; left: 14%; animation-duration: 2.9s; animation-delay: -2.4s; }
.bg-anim[data-pattern=sparkle] span:nth-child(9)  { top: 70%; left: 42%; animation-duration: 3.1s; animation-delay: -0.5s; }
.bg-anim[data-pattern=sparkle] span:nth-child(10) { top: 58%; left: 68%; animation-duration: 2.7s; animation-delay: -1.6s; }
.bg-anim[data-pattern=sparkle] span:nth-child(11) { top: 80%; left: 30%; animation-duration: 3.3s; animation-delay: -2.2s; }
.bg-anim[data-pattern=sparkle] span:nth-child(12) { top: 86%; left: 62%; animation-duration: 2.5s; animation-delay: -0.9s; }
.bg-anim[data-pattern=sparkle] span:nth-child(13) { top: 92%; left: 88%; animation-duration: 3.0s; animation-delay: -1.4s; }
.bg-anim[data-pattern=sparkle] span:nth-child(14) { top: 16%; left: 92%; animation-duration: 2.8s; animation-delay: -1.9s; }
@keyframes bg-sparkle-twinkle { 0%, 100% { opacity: 0; transform: scale(0.4) rotate(0deg); } 50% { opacity: 1; transform: scale(1) rotate(180deg); } }

/* scanlines: retro CRT — horizontal lines moving down + thin scan
   highlight that sweeps faster. Pure pseudo-element. */
.bg-anim[data-pattern=scanlines]::before {
    content: ""; position: absolute; inset: 0;
    background: repeating-linear-gradient(0deg,
        transparent 0px,
        transparent 2px,
        color-mix(in srgb, var(--primary) 14%, transparent) 3px,
        transparent 4px);
    opacity: 0.6;
}
.bg-anim[data-pattern=scanlines]::after {
    content: ""; position: absolute; left: 0; right: 0; height: 100px; top: -100px;
    background: linear-gradient(to bottom,
        transparent,
        color-mix(in srgb, var(--primary) 22%, transparent) 50%,
        transparent);
    animation: bg-scanline-sweep 6s linear infinite;
}
@keyframes bg-scanline-sweep { 0% { top: -100px; } 100% { top: 100%; } }

/* matrix-rain: vertical columns of code chars dropping. Each <span>
   is one column with a text repeat — text-shadow gives glow. */
.bg-anim[data-pattern=matrix-rain] span {
    position: absolute; top: -200px;
    font-family: 'JetBrains Mono', 'SF Mono', monospace;
    font-size: 16px;
    font-weight: 700;
    color: var(--primary);
    text-shadow: 0 0 8px var(--primary);
    line-height: 1.1;
    white-space: pre;
    writing-mode: vertical-rl;
    opacity: 0.85;
    animation: bg-matrix-fall linear infinite;
}
.bg-anim[data-pattern=matrix-rain] span:nth-child(1)  { left:  4%; animation-duration:  8s; animation-delay:  0s;   }
.bg-anim[data-pattern=matrix-rain] span:nth-child(2)  { left: 13%; animation-duration: 11s; animation-delay: -2s;   font-size: 14px; opacity: 0.65; }
.bg-anim[data-pattern=matrix-rain] span:nth-child(3)  { left: 22%; animation-duration:  9s; animation-delay: -5s;   }
.bg-anim[data-pattern=matrix-rain] span:nth-child(4)  { left: 31%; animation-duration: 12s; animation-delay: -1s;   font-size: 12px; opacity: 0.55; }
.bg-anim[data-pattern=matrix-rain] span:nth-child(5)  { left: 40%; animation-duration: 10s; animation-delay: -7s;   }
.bg-anim[data-pattern=matrix-rain] span:nth-child(6)  { left: 49%; animation-duration: 13s; animation-delay: -3s;   font-size: 14px; opacity: 0.7;  }
.bg-anim[data-pattern=matrix-rain] span:nth-child(7)  { left: 58%; animation-duration:  9s; animation-delay: -6s;   }
.bg-anim[data-pattern=matrix-rain] span:nth-child(8)  { left: 67%; animation-duration: 11s; animation-delay: -2s;   font-size: 12px; opacity: 0.6;  }
.bg-anim[data-pattern=matrix-rain] span:nth-child(9)  { left: 76%; animation-duration:  8s; animation-delay: -8s;   }
.bg-anim[data-pattern=matrix-rain] span:nth-child(10) { left: 85%; animation-duration: 12s; animation-delay: -4s;   font-size: 14px; opacity: 0.7;  }
.bg-anim[data-pattern=matrix-rain] span:nth-child(11) { left: 94%; animation-duration: 10s; animation-delay: -1s;   }
@keyframes bg-matrix-fall { 0% { transform: translateY(0); } 100% { transform: translateY(140vh); } }

/* plasma: rotating tri-color radial gradient — psychedelic field. */
.bg-anim[data-pattern=plasma]::before {
    content: ""; position: absolute; inset: -50%;
    background:
        radial-gradient(circle at 30% 30%, var(--primary) 0%, transparent 30%),
        radial-gradient(circle at 70% 60%, var(--accent) 0%, transparent 35%),
        radial-gradient(circle at 50% 80%, color-mix(in srgb, var(--primary) 60%, white) 0%, transparent 30%);
    filter: blur(80px);
    opacity: 0.55;
    animation: bg-plasma-rotate 24s linear infinite, bg-plasma-pulse 8s ease-in-out infinite;
}
@keyframes bg-plasma-rotate { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
@keyframes bg-plasma-pulse  { 0%, 100% { filter: blur(80px); } 50% { filter: blur(120px); } }

/* kaleidoscope: conic gradient with 6 segments rotating + scaling. */
.bg-anim[data-pattern=kaleidoscope]::before {
    content: ""; position: absolute; inset: -25%;
    background: conic-gradient(from 0deg at 50% 50%,
        color-mix(in srgb, var(--primary) 40%, transparent) 0deg,
        transparent 60deg,
        color-mix(in srgb, var(--accent) 40%, transparent) 120deg,
        transparent 180deg,
        color-mix(in srgb, var(--primary) 40%, transparent) 240deg,
        transparent 300deg,
        color-mix(in srgb, var(--accent) 40%, transparent) 360deg);
    filter: blur(40px);
    animation: bg-kaleido-spin 32s linear infinite, bg-kaleido-scale 12s ease-in-out infinite;
}
@keyframes bg-kaleido-spin  { 0% { transform: rotate(0deg) scale(1); } 100% { transform: rotate(360deg) scale(1); } }
@keyframes bg-kaleido-scale { 0%, 100% { opacity: 0.5; } 50% { opacity: 0.85; } }

/* vortex: hypnotic spiral via repeating conic gradient that rotates. */
.bg-anim[data-pattern=vortex]::before {
    content: ""; position: absolute; inset: -50%;
    background: repeating-conic-gradient(from 0deg at 50% 50%,
        transparent 0deg,
        color-mix(in srgb, var(--primary) 25%, transparent) 4deg,
        transparent 16deg);
    mask-image: radial-gradient(circle at 50% 50%, transparent 0%, black 30%, black 70%, transparent 100%);
    -webkit-mask-image: radial-gradient(circle at 50% 50%, transparent 0%, black 30%, black 70%, transparent 100%);
    animation: bg-vortex-spin 18s linear infinite;
}
@keyframes bg-vortex-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }

/* stripes: animated diagonal stripes — energetic barber-pole feel. */
.bg-anim[data-pattern=stripes]::before {
    content: ""; position: absolute; inset: 0;
    background: repeating-linear-gradient(45deg,
        color-mix(in srgb, var(--primary) 8%, transparent) 0,
        color-mix(in srgb, var(--primary) 8%, transparent) 30px,
        transparent 30px,
        transparent 60px);
    animation: bg-stripes-march 8s linear infinite;
}
@keyframes bg-stripes-march { 0% { background-position: 0 0; } 100% { background-position: 60px 60px; } }

/* circuit: tech-aesthetic — angular line traces flickering. */
.bg-anim[data-pattern=circuit]::before,
.bg-anim[data-pattern=circuit]::after {
    content: ""; position: absolute; inset: 0;
    background-image:
        linear-gradient(0deg,  transparent 49.7%, color-mix(in srgb, var(--primary) 20%, transparent) 50%, transparent 50.3%),
        linear-gradient(90deg, transparent 49.7%, color-mix(in srgb, var(--primary) 20%, transparent) 50%, transparent 50.3%);
    background-size: 80px 80px, 80px 80px;
    opacity: 0.4;
}
.bg-anim[data-pattern=circuit]::after {
    background-image: radial-gradient(circle at center, color-mix(in srgb, var(--primary) 70%, transparent) 0%, color-mix(in srgb, var(--primary) 70%, transparent) 25%, transparent 30%);
    background-size: 80px 80px;
    background-position: 40px 40px;
    animation: bg-circuit-flicker 4s ease-in-out infinite;
    opacity: 0.5;
}
@keyframes bg-circuit-flicker { 0%, 100% { opacity: 0.2; } 50% { opacity: 0.7; } }

/* galaxy: spiral nebula — multi-layer rotating radial gradients. */
.bg-anim[data-pattern=galaxy]::before {
    content: ""; position: absolute; inset: -25%;
    background:
        radial-gradient(ellipse 60% 30% at 50% 50%, color-mix(in srgb, var(--primary) 40%, transparent), transparent 70%),
        radial-gradient(ellipse 30% 60% at 50% 50%, color-mix(in srgb, var(--accent) 40%, transparent), transparent 70%);
    filter: blur(50px);
    animation: bg-galaxy-rotate 40s linear infinite;
}
.bg-anim[data-pattern=galaxy]::after {
    content: ""; position: absolute; inset: 0;
    background:
        radial-gradient(circle 1px at 20% 30%, var(--fg) 100%, transparent),
        radial-gradient(circle 1px at 70% 20%, var(--fg) 100%, transparent),
        radial-gradient(circle 1px at 40% 60%, var(--fg) 100%, transparent),
        radial-gradient(circle 1px at 80% 75%, var(--fg) 100%, transparent),
        radial-gradient(circle 1px at 10% 80%, var(--fg) 100%, transparent),
        radial-gradient(circle 1.5px at 55% 45%, var(--fg) 100%, transparent),
        radial-gradient(circle 1px at 90% 50%, var(--fg) 100%, transparent),
        radial-gradient(circle 1px at 30% 90%, var(--fg) 100%, transparent);
    opacity: 0.6;
    animation: bg-galaxy-twinkle 4s ease-in-out infinite alternate;
}
@keyframes bg-galaxy-rotate  { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
@keyframes bg-galaxy-twinkle { 0% { opacity: 0.3; } 100% { opacity: 0.9; } }

/* confetti: falling colored squares. Each <span> rotates as it falls,
   with primary/accent alternation for tone variety. */
.bg-anim[data-pattern=confetti] span {
    position: absolute; top: -30px;
    width: 8px; height: 12px;
    background: var(--primary);
    opacity: 0.85;
    animation: bg-confetti-fall linear infinite, bg-confetti-spin linear infinite;
}
.bg-anim[data-pattern=confetti] span:nth-child(2n)   { background: var(--accent); }
.bg-anim[data-pattern=confetti] span:nth-child(3n)   { background: color-mix(in srgb, var(--primary) 70%, white); }
.bg-anim[data-pattern=confetti] span:nth-child(1)  { left:  4%; animation-duration: 5s, 1.4s;  animation-delay:  0s,    0s; }
.bg-anim[data-pattern=confetti] span:nth-child(2)  { left: 12%; animation-duration: 6s, 1.8s;  animation-delay: -1s, -0.5s; }
.bg-anim[data-pattern=confetti] span:nth-child(3)  { left: 22%; animation-duration: 4.5s, 1.2s;animation-delay: -2s, -0.9s; }
.bg-anim[data-pattern=confetti] span:nth-child(4)  { left: 30%; animation-duration: 5.5s, 1.6s;animation-delay: -3s, -0.3s; }
.bg-anim[data-pattern=confetti] span:nth-child(5)  { left: 40%; animation-duration: 5s, 2s;    animation-delay: -1.5s, -0.7s; }
.bg-anim[data-pattern=confetti] span:nth-child(6)  { left: 50%; animation-duration: 6s, 1.5s;  animation-delay: -4s, -1.2s; }
.bg-anim[data-pattern=confetti] span:nth-child(7)  { left: 60%; animation-duration: 4.8s, 1.7s;animation-delay: -0.5s, -0.8s; }
.bg-anim[data-pattern=confetti] span:nth-child(8)  { left: 70%; animation-duration: 5.2s, 1.3s;animation-delay: -2.5s, -1.4s; }
.bg-anim[data-pattern=confetti] span:nth-child(9)  { left: 80%; animation-duration: 6s, 1.9s;  animation-delay: -1s, -0.2s; }
.bg-anim[data-pattern=confetti] span:nth-child(10) { left: 90%; animation-duration: 5s, 1.6s;  animation-delay: -3.5s, -1s; }
.bg-anim[data-pattern=confetti] span:nth-child(11) { left:  8%; animation-duration: 5.5s, 1.4s;animation-delay: -2s, -0.4s; }
.bg-anim[data-pattern=confetti] span:nth-child(12) { left: 25%; animation-duration: 6s, 2s;    animation-delay: -0.8s, -1.1s; }
.bg-anim[data-pattern=confetti] span:nth-child(13) { left: 45%; animation-duration: 4.5s, 1.5s;animation-delay: -3s, -0.6s; }
.bg-anim[data-pattern=confetti] span:nth-child(14) { left: 65%; animation-duration: 5.8s, 1.8s;animation-delay: -1.5s, -0.3s; }
.bg-anim[data-pattern=confetti] span:nth-child(15) { left: 85%; animation-duration: 5.2s, 1.6s;animation-delay: -2.2s, -1s; }
@keyframes bg-confetti-fall { 0% { transform: translateY(0); } 100% { transform: translateY(110vh); } }
@keyframes bg-confetti-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(720deg); } }

/* neo-brutal: floating bold-bordered colored blocks rotating at sharp
   angles. Each block is a flat solid fill with a thick `--fg` border +
   hard offset shadow — pure Memphis-Milano signal. Theme-adaptive: every
   colour comes from the active palette (--fg for borders + shadows,
   --primary / --accent / --bg for fills) so pairing this motion with
   any theme produces a coherent scheme. Rotation is intentionally jagged
   (alternating CW/CCW) to feel hand-placed. The bg-mix variants keep one
   block always reading against the page background regardless of how
   dark the active theme is.

   Sizes use `vmin` (1vmin = 1% of the smaller viewport edge) so blocks
   scale down on small viewports — without this a 260px-wide preview
   iframe (used on /features + /pricing marketing previews) would have
   blocks at 30-40% of its width and they'd crowd the foreground content.
   On a full-page public viewport (1024px+), 8vmin reads the same as
   80px did before — basically unchanged. */
.bg-anim[data-pattern=neo-brutal] span {
    position: absolute;
    border: 0.5vmin solid var(--fg);
    box-shadow: 0.7vmin 0.7vmin 0 0 var(--fg);
    animation: bg-brutal-drift ease-in-out infinite alternate;
}
.bg-anim[data-pattern=neo-brutal] span:nth-child(1) { top:  6%; left:  4%; width: 8vmin;  height: 8vmin;   background: var(--primary); animation-duration: 12s; animation-delay:  0s; }
.bg-anim[data-pattern=neo-brutal] span:nth-child(2) { top: 22%; left: 78%; width: 10vmin; height: 6vmin;   background: var(--accent);  animation-duration: 16s; animation-delay: -2s; animation-direction: reverse; }
.bg-anim[data-pattern=neo-brutal] span:nth-child(3) { top: 50%; left: 12%; width: 6vmin;  height: 6vmin;   background: color-mix(in srgb, var(--primary) 50%, var(--accent)); animation-duration: 14s; animation-delay: -5s; border-radius: 50%; }
.bg-anim[data-pattern=neo-brutal] span:nth-child(4) { top: 68%; left: 70%; width: 12vmin; height: 8vmin;   background: color-mix(in srgb, var(--accent) 70%, var(--bg)); animation-duration: 18s; animation-delay: -1s; animation-direction: reverse; }
.bg-anim[data-pattern=neo-brutal] span:nth-child(5) { top: 36%; left: 44%; width: 7vmin;  height: 7vmin;   background: var(--primary); animation-duration: 13s; animation-delay: -4s; }
.bg-anim[data-pattern=neo-brutal] span:nth-child(6) { top: 84%; left: 28%; width: 9vmin;  height: 5vmin;   background: var(--accent);  animation-duration: 15s; animation-delay: -3s; animation-direction: reverse; }
.bg-anim[data-pattern=neo-brutal] span:nth-child(7) { top:  4%; left: 52%; width: 5vmin;  height: 5vmin;   background: color-mix(in srgb, var(--primary) 70%, var(--bg)); animation-duration: 11s; animation-delay: -7s; border-radius: 50%; }
.bg-anim[data-pattern=neo-brutal] span:nth-child(8) { top: 86%; left: 88%; width: 6vmin;  height: 6vmin;   background: color-mix(in srgb, var(--bg) 70%, var(--fg)); animation-duration: 17s; animation-delay: -2s; animation-direction: reverse; }
@keyframes bg-brutal-drift {
    0%   { transform: translate(0, 0) rotate(-8deg); }
    100% { transform: translate(20px, -16px) rotate(12deg); }
}

/* heartbeat: pulsing concentric rings expanding from center —
   ECG/sonar feel. Pseudo-element with two inset rings. */
.bg-anim[data-pattern=heartbeat]::before,
.bg-anim[data-pattern=heartbeat]::after {
    content: ""; position: absolute;
    top: 50%; left: 50%;
    width: 60px; height: 60px;
    margin: -30px 0 0 -30px;
    border: 2px solid var(--primary);
    border-radius: 50%;
    animation: bg-heart-pulse 3s ease-out infinite;
}
.bg-anim[data-pattern=heartbeat]::after { animation-delay: -1.5s; }
@keyframes bg-heart-pulse {
    0%   { transform: scale(0.4); opacity: 1; border-width: 3px; }
    100% { transform: scale(20);  opacity: 0; border-width: 0.5px; }
}

/* ═══════════════════ DESIGN-FAMILY PATTERNS ════════════════════
   One signature pattern per design family the catalog supports —
   Aurora-glow, Cyber, Outline, Retro-Synthwave, 3D-Isometric.
   Each is its own slug; themes opt-in via tokens.layout. */

/* blurred-light: Aurora family — five massive blurred light orbs in
   primary + accent gliding past each other. Heavy blur (120px) so
   they feel like cinema lighting, not discrete shapes. */
.bg-anim[data-pattern=blurred-light] span {
    position: absolute; border-radius: 50%;
    filter: blur(120px); mix-blend-mode: screen;
    opacity: 0.65;
}
.bg-anim[data-pattern=blurred-light] span:nth-child(1) { width: 60vmax; height: 60vmax; top: -15%; left: -10%; background: radial-gradient(circle, var(--primary), transparent 65%);      animation: bg-blight-a 28s ease-in-out infinite alternate; }
.bg-anim[data-pattern=blurred-light] span:nth-child(2) { width: 50vmax; height: 50vmax; top: 10%;  right:-15%; background: radial-gradient(circle, var(--accent), transparent 65%); animation: bg-blight-b 34s ease-in-out infinite alternate; }
.bg-anim[data-pattern=blurred-light] span:nth-child(3) { width: 70vmax; height: 70vmax; bottom:-20%; left: 25%; background: radial-gradient(circle, var(--primary), transparent 65%);      animation: bg-blight-c 40s ease-in-out infinite alternate; opacity: 0.5; }
.bg-anim[data-pattern=blurred-light] span:nth-child(4) { width: 40vmax; height: 40vmax; top: 45%; left: 55%;   background: radial-gradient(circle, var(--accent), transparent 65%); animation: bg-blight-d 24s ease-in-out infinite alternate; }
.bg-anim[data-pattern=blurred-light] span:nth-child(5) { width: 35vmax; height: 35vmax; top:  5%; left: 50%;   background: radial-gradient(circle, color-mix(in srgb, var(--primary) 70%, white), transparent 65%); animation: bg-blight-e 30s ease-in-out infinite alternate; opacity: 0.55; }
@keyframes bg-blight-a { 0%{transform:translate(0,0) scale(1)}    100%{transform:translate(15vw,12vh) scale(1.2)} }
@keyframes bg-blight-b { 0%{transform:translate(0,0) scale(1.1)}  100%{transform:translate(-12vw,15vh) scale(0.85)} }
@keyframes bg-blight-c { 0%{transform:translate(0,0) scale(0.95)} 100%{transform:translate(8vw,-10vh) scale(1.15)} }
@keyframes bg-blight-d { 0%{transform:translate(0,0) scale(1)}    100%{transform:translate(-10vw,8vh) scale(1.25)} }
@keyframes bg-blight-e { 0%{transform:translate(0,0) scale(1.05)} 100%{transform:translate(6vw,14vh) scale(0.9)} }

/* glitch: Cyber/Futuristic — RGB-split chromatic aberration scan
   bands flickering across the page. Layered blocks of cyan and
   magenta offset slightly + clipping randomly via clip-path. */
.bg-anim[data-pattern=glitch]::before,
.bg-anim[data-pattern=glitch]::after {
    content: ""; position: absolute; inset: 0;
    background:
        repeating-linear-gradient(0deg,
            transparent 0,
            transparent 3px,
            color-mix(in srgb, var(--primary) 18%, transparent) 4px,
            transparent 5px);
    mix-blend-mode: screen;
    opacity: 0.7;
}
.bg-anim[data-pattern=glitch]::before {
    background:
        repeating-linear-gradient(0deg,
            transparent 0,
            transparent 3px,
            color-mix(in srgb, var(--primary) 22%, transparent) 4px,
            transparent 5px);
    transform: translateX(-2px);
    animation: bg-glitch-jitter 0.18s steps(2) infinite, bg-glitch-band 8s linear infinite;
}
.bg-anim[data-pattern=glitch]::after {
    background:
        repeating-linear-gradient(0deg,
            transparent 0,
            transparent 3px,
            color-mix(in srgb, var(--accent) 22%, transparent) 4px,
            transparent 5px);
    transform: translateX(2px);
    animation: bg-glitch-jitter 0.21s steps(2) infinite reverse, bg-glitch-band 12s linear infinite reverse;
}
@keyframes bg-glitch-jitter { 0%, 100% { transform: translateX(-2px); } 50% { transform: translateX(2px); } }
@keyframes bg-glitch-band   { 0% { background-position: 0 -100vh; } 100% { background-position: 0 100vh; } }

/* outline: Skeletal/Outline family — rotating wireframe shapes drawn
   as borders only. Triangle, square, circle pseudo-spans rotating at
   different rates for a CAD/engineering vibe. */
.bg-anim[data-pattern=outline] span {
    position: absolute;
    border: 1px solid var(--fg);
    opacity: 0.4;
    animation: bg-outline-spin linear infinite;
}
.bg-anim[data-pattern=outline] span:nth-child(1)  { top:  8%; left:  6%; width: 80px;  height: 80px;                              animation-duration: 30s; }
.bg-anim[data-pattern=outline] span:nth-child(2)  { top: 18%; left: 70%; width: 100px; height: 100px; border-radius: 50%;          animation-duration: 40s; animation-direction: reverse; }
.bg-anim[data-pattern=outline] span:nth-child(3)  { top: 45%; left: 22%; width: 60px;  height: 60px;                              animation-duration: 26s; }
.bg-anim[data-pattern=outline] span:nth-child(4)  { top: 60%; left: 78%; width: 90px;  height: 90px;  border-radius: 50%;          animation-duration: 34s; animation-direction: reverse; }
.bg-anim[data-pattern=outline] span:nth-child(5)  { top: 78%; left: 12%; width: 70px;  height: 70px;                              animation-duration: 28s; }
.bg-anim[data-pattern=outline] span:nth-child(6)  { top: 30%; left: 45%; width: 50px;  height: 50px;  border-radius: 50%;          animation-duration: 22s; animation-direction: reverse; }
.bg-anim[data-pattern=outline] span:nth-child(7)  { top: 88%; left: 60%; width: 110px; height: 110px;                             animation-duration: 38s; }
.bg-anim[data-pattern=outline] span:nth-child(8)  { top: 12%; left: 38%; width: 40px;  height: 40px;  border-radius: 50%;          animation-duration: 18s; animation-direction: reverse; }
.bg-anim[data-pattern=outline] span:nth-child(9)  { top: 68%; left: 50%; width: 75px;  height: 75px;                              animation-duration: 32s; }
.bg-anim[data-pattern=outline] span:nth-child(10) { top:  4%; left: 88%; width: 55px;  height: 55px;                              animation-duration: 24s; animation-direction: reverse; }
.bg-anim[data-pattern=outline] span:nth-child(11) { top: 50%; left:  2%; width: 45px;  height: 45px;  border-radius: 50%;          animation-duration: 20s; }
.bg-anim[data-pattern=outline] span:nth-child(12) { top: 92%; left: 30%; width: 65px;  height: 65px;                              animation-duration: 36s; animation-direction: reverse; }
@keyframes bg-outline-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }

/* synthwave: Retro-Futurism — pink horizon grid receding to the
   vanishing point. Pure CSS: linear-gradient floor with perspective
   transform + a sun gradient stuck at the horizon line. */
.bg-anim[data-pattern=synthwave]::before {
    content: ""; position: absolute;
    left: 0; right: 0; bottom: 0;
    height: 60%;
    background-image:
        linear-gradient(color-mix(in srgb, var(--primary) 50%, transparent) 1px, transparent 1px),
        linear-gradient(90deg, color-mix(in srgb, var(--primary) 50%, transparent) 1px, transparent 1px);
    background-size: 60px 30px;
    transform: perspective(300px) rotateX(60deg);
    transform-origin: 50% 0;
    animation: bg-synthwave-grid 1.4s linear infinite;
    opacity: 0.7;
}
.bg-anim[data-pattern=synthwave]::after {
    content: ""; position: absolute;
    left: 50%; bottom: 38%;
    width: 50vmin; height: 50vmin;
    margin-left: -25vmin;
    border-radius: 50%;
    background: radial-gradient(circle at 50% 50%,
        var(--accent) 0%,
        color-mix(in srgb, var(--primary) 90%, white) 35%,
        color-mix(in srgb, var(--primary) 60%, transparent) 60%,
        transparent 75%);
    filter: blur(1px);
    opacity: 0.85;
}
@keyframes bg-synthwave-grid { 0% { background-position: 0 0, 0 0; } 100% { background-position: 0 30px, 0 0; } }

/* isometric: 3D family — diamond grid of dots in true 30°/30° iso
   projection, very subtly shimmering. Background-only pattern; the
   "depth" is in the cards themselves (cardShadow on theme). */
.bg-anim[data-pattern=isometric]::before {
    content: ""; position: absolute; inset: 0;
    background-image:
        linear-gradient(30deg,  color-mix(in srgb, var(--fg) 9%, transparent) 1px, transparent 1px),
        linear-gradient(150deg, color-mix(in srgb, var(--fg) 9%, transparent) 1px, transparent 1px),
        linear-gradient(0deg,   color-mix(in srgb, var(--fg) 6%, transparent) 1px, transparent 1px);
    background-size: 50px 86px, 50px 86px, 50px 86px;
    animation: bg-iso-shift 28s linear infinite;
}
.bg-anim[data-pattern=isometric]::after {
    content: ""; position: absolute;
    top: 20%; left: 50%;
    width: 60px; height: 60px;
    margin-left: -30px;
    background: var(--primary);
    transform: rotate(45deg) skew(15deg, 15deg);
    box-shadow: 8px 8px 0 0 var(--fg);
    opacity: 0.45;
    animation: bg-iso-bob 6s ease-in-out infinite;
}
@keyframes bg-iso-shift { 0% { background-position: 0 0; } 100% { background-position: 50px 86px; } }
@keyframes bg-iso-bob   { 0%, 100% { transform: rotate(45deg) skew(15deg, 15deg) translateY(0); } 50% { transform: rotate(45deg) skew(15deg, 15deg) translateY(-12px); } }

/* ═══════════════════ DESIGN-FAMILY ALTERNATES ═════════════════════
   A second signature animation for each of the five design families,
   so users can pair the family palette with a different motion if
   they want. Each is distinctive enough that it could only belong to
   one family — no shared visual vocabulary. */

/* light-rays · Aurora / Blurred Light family — radial light beams
   emanating from the top-left, slowly rotating. The mask on the conic
   creates hard "ray" boundaries; the second pseudo adds a soft glow
   wash so the rays feel like sunlight through clouds, not a strobe. */
.bg-anim[data-pattern=light-rays]::before {
    content: ""; position: absolute;
    top: -50%; left: -50%;
    width: 200%; height: 200%;
    background: conic-gradient(from 0deg at 50% 50%,
        transparent 0deg,
        color-mix(in srgb, var(--primary) 35%, transparent) 6deg,
        transparent 14deg,
        transparent 36deg,
        color-mix(in srgb, var(--accent) 30%, transparent) 42deg,
        transparent 50deg,
        transparent 80deg,
        color-mix(in srgb, var(--primary) 30%, transparent) 86deg,
        transparent 94deg,
        transparent 360deg);
    transform-origin: 50% 50%;
    animation: bg-light-rays-rotate 38s linear infinite;
    filter: blur(6px);
    opacity: 0.65;
}
.bg-anim[data-pattern=light-rays]::after {
    content: ""; position: absolute;
    inset: -25%;
    background:
        radial-gradient(circle at 22% 18%, color-mix(in srgb, var(--primary) 50%, transparent), transparent 45%),
        radial-gradient(circle at 78% 82%, color-mix(in srgb, var(--accent) 50%, transparent), transparent 50%);
    filter: blur(60px);
    opacity: 0.6;
    animation: bg-light-rays-pulse 12s ease-in-out infinite;
}
@keyframes bg-light-rays-rotate { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
@keyframes bg-light-rays-pulse  { 0%, 100% { opacity: 0.5; } 50% { opacity: 0.85; } }

/* data-stream · Cyber / Futuristic — horizontal data-bar readouts
   scrolling sideways. Different from matrix-rain (vertical char fall)
   and from glitch (RGB-split scan): this reads as a HUD telemetry feed.
   Each <span> is one bar with a tiny pseudo-element that flickers. */
.bg-anim[data-pattern=data-stream] span {
    position: absolute;
    left: -40%;
    height: 2px;
    background: linear-gradient(90deg,
        transparent,
        var(--primary) 20%,
        color-mix(in srgb, var(--primary) 80%, white) 50%,
        var(--primary) 80%,
        transparent);
    box-shadow: 0 0 8px 1px var(--primary);
    opacity: 0.85;
    animation: bg-stream-shoot linear infinite;
}
.bg-anim[data-pattern=data-stream] span:nth-child(1)  { top:  6%; width: 35%; animation-duration: 5s;   animation-delay:  0s;   }
.bg-anim[data-pattern=data-stream] span:nth-child(2)  { top: 14%; width: 50%; animation-duration: 7s;   animation-delay: -2s;   background: linear-gradient(90deg, transparent, var(--accent) 20%, color-mix(in srgb, var(--accent) 80%, white) 50%, var(--accent) 80%, transparent); box-shadow: 0 0 8px 1px var(--accent); height: 1px; }
.bg-anim[data-pattern=data-stream] span:nth-child(3)  { top: 22%; width: 28%; animation-duration: 4s;   animation-delay: -1s;   }
.bg-anim[data-pattern=data-stream] span:nth-child(4)  { top: 30%; width: 42%; animation-duration: 6s;   animation-delay: -4s;   height: 3px; }
.bg-anim[data-pattern=data-stream] span:nth-child(5)  { top: 38%; width: 60%; animation-duration: 8s;   animation-delay: -2.5s; background: linear-gradient(90deg, transparent, var(--accent) 20%, color-mix(in srgb, var(--accent) 80%, white) 50%, var(--accent) 80%, transparent); box-shadow: 0 0 8px 1px var(--accent); }
.bg-anim[data-pattern=data-stream] span:nth-child(6)  { top: 46%; width: 32%; animation-duration: 5.5s; animation-delay: -3s;   }
.bg-anim[data-pattern=data-stream] span:nth-child(7)  { top: 54%; width: 48%; animation-duration: 7.5s; animation-delay: -1.5s; height: 1px; opacity: 0.6; }
.bg-anim[data-pattern=data-stream] span:nth-child(8)  { top: 62%; width: 38%; animation-duration: 5s;   animation-delay: -4.5s; }
.bg-anim[data-pattern=data-stream] span:nth-child(9)  { top: 70%; width: 55%; animation-duration: 9s;   animation-delay: -2s;   background: linear-gradient(90deg, transparent, var(--accent) 20%, color-mix(in srgb, var(--accent) 80%, white) 50%, var(--accent) 80%, transparent); box-shadow: 0 0 8px 1px var(--accent); height: 3px; }
.bg-anim[data-pattern=data-stream] span:nth-child(10) { top: 78%; width: 30%; animation-duration: 4.5s; animation-delay: -3.5s; }
.bg-anim[data-pattern=data-stream] span:nth-child(11) { top: 86%; width: 45%; animation-duration: 7s;   animation-delay: -0.8s; height: 1px; }
.bg-anim[data-pattern=data-stream] span:nth-child(12) { top: 94%; width: 25%; animation-duration: 5s;   animation-delay: -2.8s; }
@keyframes bg-stream-shoot { 0% { transform: translateX(0); } 100% { transform: translateX(280vw); } }

/* wireframe · Outline / Skeletal — a single rotating wireframe cube
   built from three pseudo-element faces. Pure CSS 3D — uses transform:
   preserve-3d on the parent so the faces stack as a real cube. */
.bg-anim[data-pattern=wireframe] {
    perspective: 1200px;
    perspective-origin: 50% 50%;
}
.bg-anim[data-pattern=wireframe]::before,
.bg-anim[data-pattern=wireframe]::after {
    content: "";
    position: absolute;
    top: 50%; left: 50%;
    width: 30vmin; height: 30vmin;
    margin: -15vmin 0 0 -15vmin;
    border: 1.5px solid var(--fg);
    transform-style: preserve-3d;
    opacity: 0.5;
    animation: bg-wireframe-spin 40s linear infinite;
}
.bg-anim[data-pattern=wireframe]::after {
    border-color: color-mix(in srgb, var(--primary) 70%, transparent);
    width: 22vmin; height: 22vmin;
    margin: -11vmin 0 0 -11vmin;
    animation-duration: 26s;
    animation-direction: reverse;
}
@keyframes bg-wireframe-spin {
    0%   { transform: rotateX(0deg)   rotateY(0deg)   rotateZ(0deg); }
    100% { transform: rotateX(360deg) rotateY(360deg) rotateZ(0deg); }
}

/* chrome-sun · Retro-Futurism / Synthwave — a chrome-effect orb at the
   horizon with banded reflections. Distinct from synthwave (which is
   the receding grid floor) — this is the iconic "Miami 1985" sun. */
.bg-anim[data-pattern=chrome-sun]::before {
    content: ""; position: absolute;
    left: 50%; top: 35%;
    width: 50vmin; height: 50vmin;
    margin-left: -25vmin;
    border-radius: 50%;
    background:
        linear-gradient(180deg,
            color-mix(in srgb, var(--primary) 90%, white) 0%,
            var(--primary) 30%,
            transparent 32%,
            transparent 38%,
            var(--primary) 40%,
            transparent 42%,
            transparent 50%,
            color-mix(in srgb, var(--primary) 80%, var(--accent)) 52%,
            transparent 56%,
            transparent 64%,
            color-mix(in srgb, var(--accent) 80%, var(--primary)) 66%,
            transparent 70%,
            transparent 80%,
            var(--accent) 82%,
            color-mix(in srgb, var(--accent) 60%, transparent) 100%);
    box-shadow: 0 0 80px 20px color-mix(in srgb, var(--primary) 50%, transparent);
    animation: bg-chrome-sun-pulse 6s ease-in-out infinite;
}
.bg-anim[data-pattern=chrome-sun]::after {
    content: ""; position: absolute;
    left: 0; right: 0;
    bottom: 0;
    height: 35%;
    background:
        linear-gradient(to top,
            color-mix(in srgb, var(--primary) 30%, transparent),
            transparent),
        repeating-linear-gradient(0deg,
            transparent 0px, transparent 2px,
            color-mix(in srgb, var(--accent) 25%, transparent) 3px, transparent 4px);
    animation: bg-chrome-sun-shimmer 4s linear infinite;
}
@keyframes bg-chrome-sun-pulse { 0%, 100% { transform: scale(1); filter: brightness(1); } 50% { transform: scale(1.04); filter: brightness(1.15); } }
@keyframes bg-chrome-sun-shimmer { 0% { background-position: 0 0, 0 0; } 100% { background-position: 0 0, 0 8px; } }

/* iso-cubes · 3D / Isometric — a small herd of isometric cubes
   floating at different heights and bobbing. Each <span> is one cube,
   built from three flat faces via clip-path and inline gradients. */
.bg-anim[data-pattern=iso-cubes] span {
    position: absolute;
    width: 80px; height: 92px;
    background:
        /* TOP face (lighter) */
        linear-gradient(120deg, color-mix(in srgb, var(--primary) 80%, white), color-mix(in srgb, var(--primary) 60%, white)) 0 0   / 100% 50% no-repeat,
        /* RIGHT face (darker) */
        linear-gradient(60deg,  color-mix(in srgb, var(--primary) 60%, black), color-mix(in srgb, var(--primary) 40%, black)) 100% 100% / 50% 50% no-repeat,
        /* LEFT face (mid) */
        linear-gradient(0deg,   color-mix(in srgb, var(--primary) 70%, transparent), color-mix(in srgb, var(--primary) 90%, transparent)) 0 100% / 50% 50% no-repeat;
    clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
    filter: drop-shadow(4px 4px 0 rgba(0, 0, 0, 0.25));
    opacity: 0.85;
    animation: bg-iso-cube-bob ease-in-out infinite alternate, bg-iso-cube-drift linear infinite;
}
.bg-anim[data-pattern=iso-cubes] span:nth-child(1) { top: 10%; left: 12%; transform: scale(1);    animation-duration: 4s, 22s; animation-delay: 0s,    0s; }
.bg-anim[data-pattern=iso-cubes] span:nth-child(2) { top: 30%; left: 70%; transform: scale(0.7);  animation-duration: 5s, 28s; animation-delay: -1s, -3s; }
.bg-anim[data-pattern=iso-cubes] span:nth-child(3) { top: 55%; left: 25%; transform: scale(1.2);  animation-duration: 6s, 24s; animation-delay: -2s, -8s; }
.bg-anim[data-pattern=iso-cubes] span:nth-child(4) { top: 70%; left: 80%; transform: scale(0.85); animation-duration: 4.5s, 30s; animation-delay: -3s, -12s; }
.bg-anim[data-pattern=iso-cubes] span:nth-child(5) { top: 85%; left: 45%; transform: scale(0.9);  animation-duration: 5.5s, 26s; animation-delay: -1.5s, -5s; }
.bg-anim[data-pattern=iso-cubes] span:nth-child(6) { top: 22%; left: 45%; transform: scale(0.65); animation-duration: 4.2s, 20s; animation-delay: -2.5s, -2s; }
@keyframes bg-iso-cube-bob   { 0% { translate: 0 0;    } 100% { translate: 0 -14px; } }
@keyframes bg-iso-cube-drift { 0% { rotate: -2deg; } 50% { rotate: 2deg; } 100% { rotate: -2deg; } }

/* dust · drifting paper dust. Three radial-dot layers translating
   vertically over a long cycle. `mix-blend-mode: difference` keeps it
   visible on light AND dark themes without per-theme branching. */
.bg-anim[data-pattern=dust]::before {
    content: ""; position: absolute; inset: -20% -10%;
    background-image:
        radial-gradient(circle, color-mix(in srgb, var(--fg) 22%, transparent) 1.4px, transparent 2.4px),
        radial-gradient(circle, color-mix(in srgb, var(--accent) 18%, transparent) 1.2px, transparent 2px),
        radial-gradient(circle, color-mix(in srgb, var(--primary) 16%, transparent) 1px, transparent 1.6px);
    background-size: 220px 220px, 320px 320px, 180px 180px;
    background-position: 0 0, 80px 60px, 30px 120px;
    animation: bg-dust-drift 80s linear infinite;
    mix-blend-mode: difference;
}
@keyframes bg-dust-drift {
    from { transform: translate3d(0, -8%, 0); }
    to   { transform: translate3d(0, 8%, 0); }
}

/* marquee · scrolling display type. The brand string scrolls horizontally
   at giant size — editorial / brutalist signature. */
.bg-anim[data-pattern=marquee]::before {
    content: "ADORA · ANALYTICS · QR · LINK · SCAN · PHNOM PENH · ADORA · ANALYTICS · QR · LINK · SCAN · PHNOM PENH · ";
    position: absolute;
    top: 50%; left: 0;
    white-space: nowrap;
    font-family: 'Archivo Black', system-ui, sans-serif;
    font-size: clamp(120px, 18vw, 240px);
    line-height: 0.9;
    color: color-mix(in srgb, var(--fg) 25%, transparent);
    letter-spacing: -0.04em;
    animation: bg-marquee-scroll 65s linear infinite;
    mix-blend-mode: difference;
}
@keyframes bg-marquee-scroll {
    from { transform: translateY(-50%) translateX(0); }
    to   { transform: translateY(-50%) translateX(-50%); }
}

/* ink-blobs · drifting risograph-style ink. Two blobs cross-fade and
   translate on an asymmetric cycle so the overlap area shifts. */
.bg-anim[data-pattern=ink-blobs]::before {
    content: ""; position: absolute; inset: 0;
    background-image:
        radial-gradient(circle at 30% 35%, color-mix(in srgb, var(--primary) 30%, transparent) 0%, transparent 35%),
        radial-gradient(circle at 70% 70%, color-mix(in srgb, var(--accent) 30%, transparent) 0%, transparent 35%);
    mix-blend-mode: multiply;
    animation: bg-ink-blobs-drift 14s ease-in-out infinite;
}
@keyframes bg-ink-blobs-drift {
    0%, 100% { transform: translate(0, 0); }
    33%      { transform: translate(-3%, 4%); }
    66%      { transform: translate(4%, -2%); }
}

/* neon-grid · flowing tron grid + dual glow. Lines flow on both axes,
   top + bottom glow halos pulse on a separate cycle. Distinct from
   `grid` (static) and `circuit` (asymmetric ladder runners). */
.bg-anim[data-pattern=neon-grid]::before {
    content: ""; position: absolute; inset: 0;
    background-image:
        linear-gradient(180deg, color-mix(in srgb, var(--primary) 18%, transparent) 1px, transparent 1px),
        linear-gradient(90deg,  color-mix(in srgb, var(--primary) 8%, transparent)  1px, transparent 1px);
    background-size: 100% 60px, 60px 100%;
    animation: bg-neon-grid-flow 3s linear infinite;
    mix-blend-mode: screen;
}
.bg-anim[data-pattern=neon-grid]::after {
    content: ""; position: absolute; inset: 0;
    background:
        radial-gradient(ellipse 70% 60% at 50% 100%, color-mix(in srgb, var(--accent) 20%, transparent), transparent 70%),
        radial-gradient(ellipse 70% 60% at 50% 0%,   color-mix(in srgb, var(--primary) 20%, transparent), transparent 70%);
    animation: bg-neon-grid-pulse 4s ease-in-out infinite;
    mix-blend-mode: screen;
}
@keyframes bg-neon-grid-flow {
    from { background-position: 0 0, 0 0; }
    to   { background-position: 0 60px, 60px 0; }
}
@keyframes bg-neon-grid-pulse {
    0%, 100% { opacity: 0.6; }
    50%      { opacity: 1; }
}

/* holo-blobs · Y2K iridescent. Three blurred blobs with hue-rotate
   that cycles through pastels — gives the soap-bubble holographic feel. */
.bg-anim[data-pattern=holo-blobs]::before {
    content: ""; position: absolute; inset: -10%;
    background:
        radial-gradient(ellipse 600px 400px at 20% 30%, color-mix(in srgb, var(--primary) 55%, transparent), transparent 70%),
        radial-gradient(ellipse 500px 300px at 80% 70%, color-mix(in srgb, var(--accent) 55%, transparent),  transparent 70%),
        radial-gradient(ellipse 400px 250px at 60% 20%, color-mix(in srgb, var(--primary) 45%, transparent), transparent 70%);
    filter: blur(20px);
    animation: bg-holo-drift 22s ease-in-out infinite;
    mix-blend-mode: overlay;
}
@keyframes bg-holo-drift {
    0%, 100% { transform: translate(0, 0) scale(1);       filter: blur(20px) hue-rotate(0deg); }
    33%      { transform: translate(2%, -3%) scale(1.04); filter: blur(20px) hue-rotate(60deg); }
    66%      { transform: translate(-3%, 2%) scale(0.97); filter: blur(20px) hue-rotate(-60deg); }
}

/* paper-grain · drifting grain + giant editorial pilcrow. Two layers:
   fine speckle for paper tooth, big rotated ¶ for typographic flavour.
   Reads as `editorial / magazine` ambiance. */
.bg-anim[data-pattern=paper-grain]::before {
    content: ""; position: absolute; inset: 0;
    background-image: radial-gradient(circle, color-mix(in srgb, var(--fg) 18%, transparent) 0.5px, transparent 1px);
    background-size: 5px 5px;
    animation: bg-paper-grain-drift 18s linear infinite;
    mix-blend-mode: difference;
}
.bg-anim[data-pattern=paper-grain]::after {
    content: "¶";
    position: absolute;
    font-family: 'Playfair Display', Georgia, serif;
    font-style: italic;
    font-size: clamp(180px, 22vw, 320px);
    color: color-mix(in srgb, var(--fg) 12%, transparent);
    top: 8%; right: 4%;
    line-height: 1;
    animation: bg-paper-grain-sway 30s ease-in-out infinite;
    mix-blend-mode: difference;
}
@keyframes bg-paper-grain-drift {
    from { background-position: 0 0; }
    to   { background-position: 5px 5px; }
}
@keyframes bg-paper-grain-sway {
    0%, 100% { transform: rotate(-6deg); }
    50%      { transform: rotate(6deg); }
}

/* clay-blobs · soft pastel blurred drift. Heavier blur than mesh, no
   conic, very low motion — pairs with claymorphism / pastel-pop. */
.bg-anim[data-pattern=clay-blobs]::before {
    content: ""; position: absolute; inset: -15%;
    background:
        radial-gradient(circle at 22% 28%, color-mix(in srgb, var(--primary) 65%, transparent) 0%, transparent 28%),
        radial-gradient(circle at 78% 72%, color-mix(in srgb, var(--accent) 65%, transparent)  0%, transparent 28%),
        radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--primary) 55%, transparent) 0%, transparent 30%);
    filter: blur(50px);
    animation: bg-clay-blobs-drift 22s ease-in-out infinite;
    mix-blend-mode: overlay;
}
@keyframes bg-clay-blobs-drift {
    0%, 100% { transform: translate(0, 0) scale(1); }
    33%      { transform: translate(-3%, 4%) scale(1.06); }
    66%      { transform: translate(4%, -3%) scale(0.96); }
}

/* orbits · slowly rotating Bauhaus accent shapes. A big ring on the
   left orbits clockwise, a yellow square on the right orbits counter-
   clockwise — composition reads as a kinetic poster. */
.bg-anim[data-pattern=orbits]::before {
    content: ""; position: absolute;
    width: 480px; height: 480px;
    border: 2px solid color-mix(in srgb, var(--primary) 28%, transparent);
    border-radius: 50%;
    top: 55%; left: -120px;
    animation: bg-orbits-rotate-a 50s linear infinite;
    mix-blend-mode: difference;
}
.bg-anim[data-pattern=orbits]::after {
    content: ""; position: absolute;
    width: 200px; height: 200px;
    background: color-mix(in srgb, var(--accent) 32%, transparent);
    top: -90px; right: 8%;
    animation: bg-orbits-rotate-b 38s linear infinite;
    mix-blend-mode: multiply;
}
@keyframes bg-orbits-rotate-a {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
}
@keyframes bg-orbits-rotate-b {
    from { transform: rotate(0deg); }
    to   { transform: rotate(-360deg); }
}

/* Respect users who prefer reduced motion — kill animations but
   keep the static gradients/colours visible. */
@media (prefers-reduced-motion: reduce) {
    .bg-anim *, .bg-anim::before, .bg-anim::after { animation: none !important; }
}


/*# sourceMappingURL=adora_application.62a47d39.css.map*/