diff --git a/content/sitemap/gitea/index.md b/content/sitemap/gitea/index.md new file mode 100644 index 0000000..f5513cf --- /dev/null +++ b/content/sitemap/gitea/index.md @@ -0,0 +1,4 @@ +--- +title: "Gitea" +redirect: "/git" +--- diff --git a/content/sitemap/ircc/index.md b/content/sitemap/ircc/index.md new file mode 100644 index 0000000..0bb0fb7 --- /dev/null +++ b/content/sitemap/ircc/index.md @@ -0,0 +1,4 @@ +--- +title: "Irc" +redirect: "/ircc" +--- diff --git a/hugo_stats.json b/hugo_stats.json index 196caeb..254c78c 100644 --- a/hugo_stats.json +++ b/hugo_stats.json @@ -44,7 +44,6 @@ "absolute", "active:z-0", "animate-bounce", - "bg-[radial-gradient(circle,rgba(0,0,0,0)_0%,rgba(0,0,0,0.5)_70%,#ffffff_100%),repeating-linear-gradient(45deg,#000000,#000000_10px,#ffffff_10px,#ffffff_20px)]", "bg-[repeating-linear-gradient(transparent,transparent_27px,#333_28px)]", "bg-[size:100%_28px]", "bg-black", @@ -52,16 +51,20 @@ "bg-cyan-200", "bg-gray-200", "bg-gray-800", + "bg-grey-300", "bg-opacity-50", "bg-sky-200", "bg-sky-300", "bg-sky-600", + "bg-teal-200", "bg-white", + "block", "border", "border-2", "border-3", "border-4", "border-black", + "border-gray-200", "border-gray-400", "border-t", "bottom-8", @@ -84,7 +87,6 @@ "font-medium", "font-mono", "font-sans", - "font-semibold", "font-serif", "gap-2", "gap-4", @@ -119,8 +121,10 @@ "items-center", "justify-between", "justify-center", + "leading-tight", "lg:grid-cols-3", "lg:text-5xl", + "line-clamp-2", "m-4", "max-w-4xl", "mb-2", @@ -131,8 +135,6 @@ "md:grid-cols-2", "md:hidden", "md:text-4xl", - "md:text-xl", - "mr-2", "mt-12", "mt-16", "mt-2", @@ -156,7 +158,6 @@ "py-1", "py-16", "py-2", - "py-4", "py-6", "py-8", "right-0", @@ -168,7 +169,6 @@ "rounded-t-full", "rounded-t-lg", "self-center", - "shadow-2xl", "shadow-[0_4px_0_black]", "shadow-[0_4px_6px_-1px_rgb(107,114,128)]", "shadow-md", @@ -176,18 +176,18 @@ "shadow-xl/30", "sm:flex", "sm:flex-row", - "sm:mb-0", "text-2xl", "text-4xl", "text-6xl", - "text-black", "text-blue-500", "text-blue-700", "text-center", "text-gray-300", + "text-gray-400", "text-gray-500", "text-gray-600", "text-gray-700", + "text-lg", "text-sm", "text-white", "text-xl", @@ -203,9 +203,9 @@ "w-22", "w-6", "w-64", + "w-86", "w-[2px]", "w-[50%]", - "w-[80%]", "w-fit", "w-full", "z-0", diff --git a/layouts/_default/index.html b/layouts/_default/index.html index 49cdc28..c9f756c 100644 --- a/layouts/_default/index.html +++ b/layouts/_default/index.html @@ -39,27 +39,25 @@
+
+

+ Sitemap +

+ + {{partial "sitemap.html"}} +
+ +
-
-
- -
Portfolio
-
- -

- Algunos proyectos que he estado haciendo -

-
-
-
+ Portfolio +

{{partial "proyectos.html" .}} {{partial "posts.html" .}}
diff --git a/layouts/partials/sitemap.html b/layouts/partials/sitemap.html new file mode 100644 index 0000000..38e8b61 --- /dev/null +++ b/layouts/partials/sitemap.html @@ -0,0 +1,41 @@ +
+
+ {{ range where site.RegularPages "Section" "sitemap" }} + + {{ end }} +
+
diff --git a/public/css/main.css b/public/css/main.css index 83e9e8b..79ab803 100644 --- a/public/css/main.css +++ b/public/css/main.css @@ -1,2 +1,2 @@ /*! tailwindcss v4.1.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-rotate-x:rotateX(0);--tw-rotate-y:rotateY(0);--tw-rotate-z:rotateZ(0);--tw-skew-x:skewX(0);--tw-skew-y:skewY(0);--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-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-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-serif:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-emerald-500:oklch(69.6% .17 162.48);--color-cyan-200:oklch(91.7% .08 205.041);--color-sky-200:oklch(90.1% .058 230.902);--color-sky-300:oklch(82.8% .111 230.318);--color-sky-600:oklch(58.8% .158 241.966);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-900:oklch(37.9% .146 265.522);--color-slate-600:oklch(44.6% .043 257.281);--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-neutral-50:oklch(98.5% 0 0);--color-neutral-200:oklch(92.2% 0 0);--color-neutral-300:oklch(87% 0 0);--color-neutral-500:oklch(55.6% 0 0);--color-neutral-600:oklch(43.9% 0 0);--color-neutral-700:oklch(37.1% 0 0);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-4xl:56rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--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-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-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--leading-snug:1.375;--radius-md:.375rem;--radius-lg:.5rem;--ease-in:cubic-bezier(.4,0,1,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-bounce:bounce 1s infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-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}}@layer components;@layer utilities{.invisible{visibility:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.top-1{top:calc(var(--spacing)*1)}.top-1\/2{top:50%}.top-16{top:calc(var(--spacing)*16)}.right-0{right:calc(var(--spacing)*0)}.bottom-8{bottom:calc(var(--spacing)*8)}.left-0{left:calc(var(--spacing)*0)}.-z-0{z-index:calc(0*-1)}.-z-1{z-index:calc(1*-1)}.-z-10{z-index:calc(10*-1)}.z-0{z-index:0}.z-1{z-index:1}.z-3{z-index:3}.z-4{z-index:4}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.z-99{z-index:99}.float-left{float:left}.float-right{float:right}.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:calc(var(--spacing)*0)}.m-2{margin:calc(var(--spacing)*2)}.m-4{margin:calc(var(--spacing)*4)}.-mx-4{margin-inline:calc(var(--spacing)*-4)}.mx-4{margin-inline:calc(var(--spacing)*4)}.mx-auto{margin-inline:auto}.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-12{margin-top:calc(var(--spacing)*12)}.mt-16{margin-top:calc(var(--spacing)*16)}.mt-18{margin-top:calc(var(--spacing)*18)}.mt-20{margin-top:calc(var(--spacing)*20)}.mt-auto{margin-top:auto}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-2{margin-right:calc(var(--spacing)*2)}.mr-\[0\.4em\]{margin-right:.4em}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.mb-12{margin-bottom:calc(var(--spacing)*12)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-6{height:calc(var(--spacing)*6)}.h-16{height:calc(var(--spacing)*16)}.h-48{height:calc(var(--spacing)*48)}.h-60{height:calc(var(--spacing)*60)}.h-100{height:calc(var(--spacing)*100)}.h-\[1em\]{height:1em}.h-\[5rem\]{height:5rem}.h-\[20\%\]{height:20%}.h-\[20REM\],.h-\[20rem\]{height:20rem}.h-\[80\%\]{height:80%}.h-\[100vh\]{height:100vh}.h-auto{height:auto}.h-full{height:100%}.h-screen{height:100vh}.min-h-screen{min-height:100vh}.w-6{width:calc(var(--spacing)*6)}.w-20{width:calc(var(--spacing)*20)}.w-22{width:calc(var(--spacing)*22)}.w-50{width:calc(var(--spacing)*50)}.w-60{width:calc(var(--spacing)*60)}.w-64{width:calc(var(--spacing)*64)}.w-70{width:calc(var(--spacing)*70)}.w-100{width:calc(var(--spacing)*100)}.w-2000{width:calc(var(--spacing)*2000)}.w-\[1\/2\]{width:1/2}.w-\[2px\]{width:2px}.w-\[50\%\]{width:50%}.w-\[50vw\]{width:50vw}.w-\[70\%\]{width:70%}.w-\[70vw\]{width:70vw}.w-\[80\%\]{width:80%}.w-\[100\%\]{width:100%}.w-\[100vw\]{width:100vw}.w-\[700vw\]{width:700vw}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-max{width:max-content}.w-screen{width:100vw}.max-w-4xl{max-width:var(--container-4xl)}.max-w-none{max-width:none}.max-w-prose{max-width:65ch}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.-translate-x-full{--tw-translate-x:-100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-full{--tw-translate-x:100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1{--tw-translate-y:calc(var(--spacing)*-1);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)}.rotate-x-3{--tw-rotate-x:rotateX(3deg);transform:var(--tw-rotate-x)var(--tw-rotate-y)var(--tw-rotate-z)var(--tw-skew-x)var(--tw-skew-y)}.rotate-x-30{--tw-rotate-x:rotateX(30deg);transform:var(--tw-rotate-x)var(--tw-rotate-y)var(--tw-rotate-z)var(--tw-skew-x)var(--tw-skew-y)}.rotate-y-3{--tw-rotate-y:rotateY(3deg);transform:var(--tw-rotate-x)var(--tw-rotate-y)var(--tw-rotate-z)var(--tw-skew-x)var(--tw-skew-y)}.transform{transform:var(--tw-rotate-x)var(--tw-rotate-y)var(--tw-rotate-z)var(--tw-skew-x)var(--tw-skew-y)}.animate-\[fade_in\]{animation:fade in}.animate-bounce{animation:var(--animate-bounce)}.animate-spin{animation:var(--animate-spin)}.cursor-context-menu{cursor:context-menu}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-center-safe{justify-content:safe center}.gap-2{gap:calc(var(--spacing)*2)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}.self-center{align-self:center}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-t-full{border-top-left-radius:3.40282e38px;border-top-right-radius:3.40282e38px}.rounded-t-lg{border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg)}.rounded-tr-md{border-top-right-radius:var(--radius-md)}.rounded-b-full{border-bottom-right-radius:3.40282e38px;border-bottom-left-radius:3.40282e38px}.rounded-bl-md{border-bottom-left-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-3{border-style:var(--tw-border-style);border-width:3px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-s-2{border-inline-start-style:var(--tw-border-style);border-inline-start-width:2px}.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-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-solid{--tw-border-style:solid;border-style:solid}.border-black{border-color:var(--color-black)}.border-gray-300{border-color:var(--color-gray-300)}.border-gray-400{border-color:var(--color-gray-400)}.border-r-transparent{border-right-color:#0000}.border-l-transparent{border-left-color:#0000}.bg-black{background-color:var(--color-black)}.bg-blue-300{background-color:var(--color-blue-300)}.bg-cyan-200{background-color:var(--color-cyan-200)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-gray-800{background-color:var(--color-gray-800)}.bg-neutral-50{background-color:var(--color-neutral-50)}.bg-neutral-200{background-color:var(--color-neutral-200)}.bg-sky-200{background-color:var(--color-sky-200)}.bg-sky-300{background-color:var(--color-sky-300)}.bg-sky-600{background-color:var(--color-sky-600)}.bg-slate-600{background-color:var(--color-slate-600)}.bg-white{background-color:var(--color-white)}.bg-\[radial-gradient\(circle\,rgba\(0\,0\,0\,0\)_0\%\,rgba\(0\,0\,0\,0\.5\)_70\%\,\#ffffff_100\%\)\,repeating-linear-gradient\(45deg\,\#000000\,\#000000_10px\,\#ffffff_10px\,\#ffffff_20px\)\]{background-image:radial-gradient(circle,#0000 0%,#00000080 70%,#fff 100%),repeating-linear-gradient(45deg,#000,#000 10px,#fff 10px 20px)}.bg-\[repeating-linear-gradient\(transparent\,transparent_27px\,\#333_28px\)\]{background-image:repeating-linear-gradient(#0000,#0000 27px,#333 28px)}.bg-\[size\:100\%_28px\]{background-size:100% 28px}.object-cover{object-fit:cover}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-4{padding:calc(var(--spacing)*4)}.p-5{padding:calc(var(--spacing)*5)}.p-8{padding:calc(var(--spacing)*8)}.p-12{padding:calc(var(--spacing)*12)}.px-0{padding-inline:calc(var(--spacing)*0)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.px-\[0\.4em\]{padding-inline:.4em}.py-1{padding-block:calc(var(--spacing)*1)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.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-16{padding-block:calc(var(--spacing)*16)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-5{padding-top:calc(var(--spacing)*5)}.pt-15{padding-top:calc(var(--spacing)*15)}.pt-20{padding-top:calc(var(--spacing)*20)}.text-center{text-align:center}.align-top{vertical-align:top}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.font-serif{font-family:var(--font-serif)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.text-8xl{font-size:var(--text-8xl);line-height:var(--tw-leading,var(--text-8xl--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.whitespace-nowrap{white-space:nowrap}.text-black{color:var(--color-black)}.text-blue-500{color:var(--color-blue-500)}.text-blue-700{color:var(--color-blue-700)}.text-gray-300{color:var(--color-gray-300)}.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-neutral-500{color:var(--color-neutral-500)}.text-neutral-600{color:var(--color-neutral-600)}.text-neutral-700{color:var(--color-neutral-700)}.text-white{color:var(--color-white)}.italic{font-style:italic}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.opacity-5{opacity:.05}.opacity-30{opacity:.3}.opacity-90{opacity:.9}.opacity-100{opacity:1}.shadow-xl\/10{--tw-shadow-alpha:10%;--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,oklab(0% 0 0/.1)),0 8px 10px -6px var(--tw-shadow-color,oklab(0% 0 0/.1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl\/30{--tw-shadow-alpha:30%;--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,oklab(0% 0 0/.3)),0 8px 10px -6px var(--tw-shadow-color,oklab(0% 0 0/.3));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.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_4px_0_black\]{--tw-shadow:0 4px 0 var(--tw-shadow-color,black);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_4px_6px_-1px_rgb\(107\,114\,128\)\]{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#6b7280);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.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,)}.backdrop-opacity-20{--tw-backdrop-opacity:opacity(20%);-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;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-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))}.duration-75{--tw-duration:75ms;transition-duration:75ms}.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-1000{--tw-duration:1s;transition-duration:1s}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.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}.transform-3d{transform-style:preserve-3d}.transform-flat{transform-style:flat}@media (hover:hover){.hover\:z-2:hover{z-index:2}.hover\:-translate-y-1:hover{--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.hover\:-translate-y-2:hover{--tw-translate-y:calc(var(--spacing)*-2);translate:var(--tw-translate-x)var(--tw-translate-y)}.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:scale-110:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:scale-120:hover{--tw-scale-x:120%;--tw-scale-y:120%;--tw-scale-z:120%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:scale-150:hover{--tw-scale-x:150%;--tw-scale-y:150%;--tw-scale-z:150%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:scale-200:hover{--tw-scale-x:200%;--tw-scale-y:200%;--tw-scale-z:200%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:rotate-z-2:hover{--tw-rotate-z:rotateZ(2deg);transform:var(--tw-rotate-x)var(--tw-rotate-y)var(--tw-rotate-z)var(--tw-skew-x)var(--tw-skew-y)}.hover\:text-blue-700:hover{color:var(--color-blue-700)}.hover\:text-blue-900:hover{color:var(--color-blue-900)}.hover\:text-white:hover{color:var(--color-white)}.hover\:shadow-\[0_8px_0_black\]:hover{--tw-shadow:0 8px 0 var(--tw-shadow-color,black);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\:grayscale-0:hover{--tw-grayscale:grayscale(0%);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,)}}.active\:z-0:active{z-index:0}@media (min-width:40rem){.sm\:mb-0{margin-bottom:calc(var(--spacing)*0)}.sm\:flex{display:flex}.sm\:flex-row{flex-direction:row}}@media (min-width:48rem){.md\:flex{display:flex}.md\:hidden{display:none}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.md\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}}@media (min-width:64rem){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}}.ltr\:pl-4:where(:dir(ltr),[dir=ltr],[dir=ltr] *){padding-left:calc(var(--spacing)*4)}.rtl\:left-auto:where(:dir(rtl),[dir=rtl],[dir=rtl] *){left:auto}.rtl\:border-l-0:where(:dir(rtl),[dir=rtl],[dir=rtl] *){border-left-style:var(--tw-border-style);border-left-width:0}.rtl\:pr-2:where(:dir(rtl),[dir=rtl],[dir=rtl] *){padding-right:calc(var(--spacing)*2)}.rtl\:pr-4:where(:dir(rtl),[dir=rtl],[dir=rtl] *){padding-right:calc(var(--spacing)*4)}.rtl\:pl-0:where(:dir(rtl),[dir=rtl],[dir=rtl] *){padding-left:calc(var(--spacing)*0)}@media (prefers-color-scheme:dark){.dark\:border-white{border-color:var(--color-white)}.dark\:bg-black{background-color:var(--color-black)}.dark\:bg-emerald-500{background-color:var(--color-emerald-500)}.dark\:bg-neutral-600{background-color:var(--color-neutral-600)}.dark\:bg-neutral-700{background-color:var(--color-neutral-700)}.dark\:bg-\[repeating-linear-gradient\(transparent\,transparent_27px\,\#aaa_28px\)\]{background-image:repeating-linear-gradient(#0000,#0000 27px,#aaa 28px)}.dark\:text-neutral-200{color:var(--color-neutral-200)}.dark\:text-neutral-300{color:var(--color-neutral-300)}}}@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-rotate-x{syntax:"*";inherits:false;initial-value:rotateX(0)}@property --tw-rotate-y{syntax:"*";inherits:false;initial-value:rotateY(0)}@property --tw-rotate-z{syntax:"*";inherits:false;initial-value:rotateZ(0)}@property --tw-skew-x{syntax:"*";inherits:false;initial-value:skewX(0)}@property --tw-skew-y{syntax:"*";inherits:false;initial-value:skewY(0)}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-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-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}@keyframes spin{to{transform:rotate(360deg)}}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}} \ No newline at end of file +@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-rotate-x:rotateX(0);--tw-rotate-y:rotateY(0);--tw-rotate-z:rotateZ(0);--tw-skew-x:skewX(0);--tw-skew-y:skewY(0);--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-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-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-serif:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-orange-200:oklch(90.1% .076 70.697);--color-green-200:oklch(92.5% .084 155.995);--color-emerald-500:oklch(69.6% .17 162.48);--color-teal-200:oklch(91% .096 180.426);--color-cyan-200:oklch(91.7% .08 205.041);--color-sky-200:oklch(90.1% .058 230.902);--color-sky-300:oklch(82.8% .111 230.318);--color-sky-600:oklch(58.8% .158 241.966);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-900:oklch(37.9% .146 265.522);--color-slate-900:oklch(20.8% .042 265.755);--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-black:#000;--color-white:#fff;--spacing:.25rem;--container-4xl:56rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-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;--font-weight-light:300;--font-weight-medium:500;--font-weight-bold:700;--leading-tight:1.25;--radius-md:.375rem;--radius-lg:.5rem;--ease-in:cubic-bezier(.4,0,1,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-bounce:bounce 1s infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-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}}@layer components;@layer utilities{.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.top-16{top:calc(var(--spacing)*16)}.right-0{right:calc(var(--spacing)*0)}.bottom-8{bottom:calc(var(--spacing)*8)}.-z-0{z-index:calc(0*-1)}.-z-1{z-index:calc(1*-1)}.-z-10{z-index:calc(10*-1)}.z-0{z-index:0}.z-1{z-index:1}.z-3{z-index:3}.z-4{z-index:4}.z-40{z-index:40}.z-50{z-index:50}.z-99{z-index:99}.float-left{float:left}.float-right{float:right}.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-4{margin:calc(var(--spacing)*4)}.m-auto{margin:auto}.mx-auto{margin-inline:auto}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-6{margin-top:calc(var(--spacing)*6)}.mt-12{margin-top:calc(var(--spacing)*12)}.mt-16{margin-top:calc(var(--spacing)*16)}.mt-auto{margin-top:auto}.mr-1{margin-right:calc(var(--spacing)*1)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.\!h-48{height:calc(var(--spacing)*48)!important}.h-6{height:calc(var(--spacing)*6)}.h-16{height:calc(var(--spacing)*16)}.h-48{height:calc(var(--spacing)*48)}.h-48\!{height:calc(var(--spacing)*48)!important}.h-\[20rem\]{height:20rem}.h-\[80\%\]{height:80%}.h-auto{height:auto}.h-full{height:100%}.h-screen{height:100vh}.min-h-screen{min-height:100vh}.w-6{width:calc(var(--spacing)*6)}.w-22{width:calc(var(--spacing)*22)}.w-36{width:calc(var(--spacing)*36)}.w-64{width:calc(var(--spacing)*64)}.w-86{width:calc(var(--spacing)*86)}.w-100{width:calc(var(--spacing)*100)}.w-\[2px\]{width:2px}.w-\[50\%\]{width:50%}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-max{width:max-content}.w-screen{width:100vw}.max-w-4xl{max-width:var(--container-4xl)}.max-w-none{max-width:none}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.-translate-x-full{--tw-translate-x:-100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-full{--tw-translate-x:100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.rotate-x-3{--tw-rotate-x:rotateX(3deg);transform:var(--tw-rotate-x)var(--tw-rotate-y)var(--tw-rotate-z)var(--tw-skew-x)var(--tw-skew-y)}.rotate-x-30{--tw-rotate-x:rotateX(30deg);transform:var(--tw-rotate-x)var(--tw-rotate-y)var(--tw-rotate-z)var(--tw-skew-x)var(--tw-skew-y)}.rotate-y-3{--tw-rotate-y:rotateY(3deg);transform:var(--tw-rotate-x)var(--tw-rotate-y)var(--tw-rotate-z)var(--tw-skew-x)var(--tw-skew-y)}.transform{transform:var(--tw-rotate-x)var(--tw-rotate-y)var(--tw-rotate-z)var(--tw-skew-x)var(--tw-skew-y)}.animate-bounce{animation:var(--animate-bounce)}.cursor-context-menu{cursor:context-menu}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-center-safe{justify-content:safe center}.gap-2{gap:calc(var(--spacing)*2)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}.self-center{align-self:center}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-t-full{border-top-left-radius:3.40282e38px;border-top-right-radius:3.40282e38px}.rounded-t-lg{border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg)}.rounded-b-full{border-bottom-right-radius:3.40282e38px;border-bottom-left-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-3{border-style:var(--tw-border-style);border-width:3px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-s-2{border-inline-start-style:var(--tw-border-style);border-inline-start-width:2px}.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-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-solid{--tw-border-style:solid;border-style:solid}.border-black{border-color:var(--color-black)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-400{border-color:var(--color-gray-400)}.border-r-transparent{border-right-color:#0000}.border-l-transparent{border-left-color:#0000}.bg-black{background-color:var(--color-black)}.bg-blue-300{background-color:var(--color-blue-300)}.bg-cyan-200{background-color:var(--color-cyan-200)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-gray-800{background-color:var(--color-gray-800)}.bg-green-200{background-color:var(--color-green-200)}.bg-sky-200{background-color:var(--color-sky-200)}.bg-sky-300{background-color:var(--color-sky-300)}.bg-sky-600{background-color:var(--color-sky-600)}.bg-teal-200{background-color:var(--color-teal-200)}.bg-white{background-color:var(--color-white)}.bg-\[repeating-linear-gradient\(transparent\,transparent_27px\,\#333_28px\)\]{background-image:repeating-linear-gradient(#0000,#0000 27px,#333 28px)}.bg-\[size\:100\%_28px\]{background-size:100% 28px}.object-cover{object-fit:cover}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-4{padding:calc(var(--spacing)*4)}.p-5{padding:calc(var(--spacing)*5)}.p-8{padding:calc(var(--spacing)*8)}.p-12{padding:calc(var(--spacing)*12)}.p-20{padding:calc(var(--spacing)*20)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-1{padding-block:calc(var(--spacing)*1)}.py-2{padding-block:calc(var(--spacing)*2)}.py-6{padding-block:calc(var(--spacing)*6)}.py-8{padding-block:calc(var(--spacing)*8)}.py-16{padding-block:calc(var(--spacing)*16)}.pt-5{padding-top:calc(var(--spacing)*5)}.text-center{text-align:center}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.font-serif{font-family:var(--font-serif)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.whitespace-nowrap{white-space:nowrap}.text-blue-500{color:var(--color-blue-500)}.text-blue-700{color:var(--color-blue-700)}.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-white{color:var(--color-white)}.italic{font-style:italic}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.opacity-30{opacity:.3}.opacity-100{opacity:1}.shadow-xl\/30{--tw-shadow-alpha:30%;--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,oklab(0% 0 0/.3)),0 8px 10px -6px var(--tw-shadow-color,oklab(0% 0 0/.3));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_4px_0_black\]{--tw-shadow:0 4px 0 var(--tw-shadow-color,black);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_4px_6px_-1px_rgb\(107\,114\,128\)\]{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#6b7280);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.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,)}.backdrop-opacity-20{--tw-backdrop-opacity:opacity(20%);-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;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-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))}.duration-75{--tw-duration:75ms;transition-duration:75ms}.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-1000{--tw-duration:1s;transition-duration:1s}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.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}.transform-3d{transform-style:preserve-3d}.transform-flat{transform-style:flat}@media (hover:hover){.hover\:z-2:hover{z-index:2}.hover\:-translate-y-1:hover{--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.hover\:-translate-y-2:hover{--tw-translate-y:calc(var(--spacing)*-2);translate:var(--tw-translate-x)var(--tw-translate-y)}.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:scale-120:hover{--tw-scale-x:120%;--tw-scale-y:120%;--tw-scale-z:120%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:rotate-z-2:hover{--tw-rotate-z:rotateZ(2deg);transform:var(--tw-rotate-x)var(--tw-rotate-y)var(--tw-rotate-z)var(--tw-skew-x)var(--tw-skew-y)}.hover\:text-blue-700:hover{color:var(--color-blue-700)}.hover\:text-blue-900:hover{color:var(--color-blue-900)}.hover\:text-white:hover{color:var(--color-white)}.hover\:shadow-\[0_8px_0_black\]:hover{--tw-shadow:0 8px 0 var(--tw-shadow-color,black);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\:grayscale-0:hover{--tw-grayscale:grayscale(0%);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,)}}.active\:z-0:active{z-index:0}@media (min-width:40rem){.sm\:flex{display:flex}.sm\:flex-row{flex-direction:row}}@media (min-width:48rem){.md\:flex{display:flex}.md\:hidden{display:none}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}}@media (min-width:64rem){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}}@media (prefers-color-scheme:dark){.dark\:border-white{border-color:var(--color-white)}.dark\:bg-black{background-color:var(--color-black)}.dark\:bg-emerald-500{background-color:var(--color-emerald-500)}.dark\:bg-\[repeating-linear-gradient\(transparent\,transparent_27px\,\#aaa_28px\)\]{background-image:repeating-linear-gradient(#0000,#0000 27px,#aaa 28px)}}}@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-rotate-x{syntax:"*";inherits:false;initial-value:rotateX(0)}@property --tw-rotate-y{syntax:"*";inherits:false;initial-value:rotateY(0)}@property --tw-rotate-z{syntax:"*";inherits:false;initial-value:rotateZ(0)}@property --tw-skew-x{syntax:"*";inherits:false;initial-value:skewX(0)}@property --tw-skew-y{syntax:"*";inherits:false;initial-value:skewY(0)}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-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-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}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}} \ No newline at end of file diff --git a/public/index.html b/public/index.html index 0f16673..c96aa7f 100644 --- a/public/index.html +++ b/public/index.html @@ -1,7 +1,7 @@ - + Blog Fede @@ -123,7 +123,7 @@

+ + +
-
-
- -
Portfolio
-
- -

- Algunos proyectos que he estado haciendo -

-
-
-
+ Portfolio +

@@ -554,7 +617,7 @@ Si utilizan arch sabrán que se pueden configurar ‘hooks&
- © 2025 Federico Polidoro + © 2026 Federico Polidoro
diff --git a/public/index.xml b/public/index.xml index 2e538a7..a33832c 100644 --- a/public/index.xml +++ b/public/index.xml @@ -55,7 +55,7 @@ https://fedesrv.ddns.net/posts/string-interpolation/ Tue, 24 Oct 2023 22:24:17 +0800 https://fedesrv.ddns.net/posts/string-interpolation/ - <h1 id="que-es">¿Que es?</h1> <p>Es un proceso de evaluado, en el cual se reemplazan placeholders en <code>string</code> por valores, en nuestro caso, de variables en momento de ejecución.</p> <h1 id="sintaxis">Sintaxis</h1> <pre><code>var manzanas = 4; var bananas = 3; Console.WriteLine($&quot;Tengo {manzanas} manzanas&quot;); Console.WriteLine($&quot;Vendí {manzanas + bananas} frutas&quot;); </code></pre> <blockquote> <p>Basicamente son plantillas.</p></blockquote> + <h1 id="que-es">¿Que es?</h1> <p>Es un proceso de evaluado, en el cual se reemplazan placeholders en <code>string</code> por valores, en nuestro caso, de variables en momento de ejecución.</p> <h1 id="sintaxis">Sintaxis</h1> <pre><code>var manzanas = 4; var bananas = 3; Console.WriteLine($&quot;Tengo {manzanas} manzanas&quot;); Console.WriteLine($&quot;Vendí {manzanas + bananas} frutas&quot;); </code></pre> <blockquote> <p>Basicamente son plantillas.</p> </blockquote> Anuncio Aoc 2023 @@ -76,14 +76,14 @@ https://fedesrv.ddns.net/posts/pasar-imagenes-a-blanco-y-negro/ Sat, 23 Sep 2023 10:35:18 -0300 https://fedesrv.ddns.net/posts/pasar-imagenes-a-blanco-y-negro/ - <h1 id="gimp">Gimp</h1> <p>Hay varias formas de pasar una imagen a blanco y negro. yo prefiero la de usar <strong>Gimp</strong> con la opcion de <code>Color &gt; Desaturacion &gt; Color a gama de grises</code>. Pero voy a listar un par de métodos alternativos para obtener el ~mismo resultado.<br> <img src="https://fedesrv.ddns.net/fedecomp.png" alt="Comparación"></p> <h1 id="imagemagick">ImageMagick</h1> <blockquote> <p>Es un conjunto de utilidades de código abierto​ para mostrar, manipular y convertir imágenes, capaz de leer y escribir más de 200 formatos.​</p></blockquote> <p>Una de esas utilidades es llamada <code>convert</code>, la cual acepta un archivo y convierte este a el formato que se le especifique. Existe una flag llamada <code>-colorspace</code> la cual si le damos el parametro <strong>Gray</strong> la imagen resultante estará representada en una gama de grises. <img src="https://fedesrv.ddns.net/fedeg.jpg" alt="Imagen en gama de grises"></p> + <h1 id="gimp">Gimp</h1> <p>Hay varias formas de pasar una imagen a blanco y negro. yo prefiero la de usar <strong>Gimp</strong> con la opcion de <code>Color &gt; Desaturacion &gt; Color a gama de grises</code>. Pero voy a listar un par de métodos alternativos para obtener el ~mismo resultado.<br> <img src="https://fedesrv.ddns.net/fedecomp.png" alt="Comparación"></p> <h1 id="imagemagick">ImageMagick</h1> <blockquote> <p>Es un conjunto de utilidades de código abierto​ para mostrar, manipular y convertir imágenes, capaz de leer y escribir más de 200 formatos.​</p> </blockquote> <p>Una de esas utilidades es llamada <code>convert</code>, la cual acepta un archivo y convierte este a el formato que se le especifique. Existe una flag llamada <code>-colorspace</code> la cual si le damos el parametro <strong>Gray</strong> la imagen resultante estará representada en una gama de grises. <img src="https://fedesrv.ddns.net/fedeg.jpg" alt="Imagen en gama de grises"></p> Diseño de Software Incident https://fedesrv.ddns.net/posts/dise%C3%B1o-de-software-incident/ Fri, 22 Sep 2023 15:08:17 +0800 https://fedesrv.ddns.net/posts/dise%C3%B1o-de-software-incident/ - <h1 id="instanciacion-del-sqlconnection">Instanciacion del SqlConnection</h1> <div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-csharp" data-lang="csharp"><span style="display:flex;"><span><span style="color:#66d9ef">using</span> (<span style="color:#66d9ef">var</span> connection = <span style="color:#66d9ef">new</span> SqlConnection(configuration.GetConnectionString(<span style="color:#e6db74">&#34;DefaultConnection&#34;</span>))) </span></span></code></pre></div><p>Eso genera un sql connection que va a existir hasta que salga del scope del programa.</p> <h1 id="creacion-del-sqlcommand">Creacion del SqlCommand</h1> <div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-csharp" data-lang="csharp"><span style="display:flex;"><span><span style="color:#66d9ef">using</span> var command = <span style="color:#66d9ef">new</span> SqlCommand(); </span></span><span style="display:flex;"><span>command.CommandText = <span style="color:#e6db74">&#34;sp_RecuperaProductos&#34;</span>; </span></span><span style="display:flex;"><span>command.CommandType = System.Data.CommandType.StoredProcedure; </span></span></code></pre></div><h1 id="apertura-de-la-coneccion">Apertura de la coneccion</h1> <div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-csharp" data-lang="csharp"><span style="display:flex;"><span>command.Connection = connection; </span></span><span style="display:flex;"><span>command.Connection.Open(); </span></span></code></pre></div><h2 id="utilizacion-del-executereader">Utilizacion del ExecuteReader</h2> <p>Es un choclo pero basicamente el codigo de abajo se encarga de iterar por cada uno de las entradas de la tabla. <strong>MUY</strong> importante, se tiene que añadir los productos dentro del loop principal del reader ya que lo que no se guarde en cada iteracion se pierde. (los maps no son case sensitive).</p> + <h1 id="instanciacion-del-sqlconnection">Instanciacion del SqlConnection</h1> <div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-csharp" data-lang="csharp"><span style="display:flex;"><span><span style="color:#66d9ef">using</span> (<span style="color:#66d9ef">var</span> connection = <span style="color:#66d9ef">new</span> SqlConnection(configuration.GetConnectionString(<span style="color:#e6db74">&#34;DefaultConnection&#34;</span>))) </span></span></code></pre></div><p>Eso genera un sql connection que va a existir hasta que salga del scope del programa.</p> <h1 id="creacion-del-sqlcommand">Creacion del SqlCommand</h1> <div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-csharp" data-lang="csharp"><span style="display:flex;"><span><span style="color:#66d9ef">using</span> var command = <span style="color:#66d9ef">new</span> SqlCommand(); </span></span><span style="display:flex;"><span>command.CommandText = <span style="color:#e6db74">&#34;sp_RecuperaProductos&#34;</span>; </span></span><span style="display:flex;"><span>command.CommandType = System.Data.CommandType.StoredProcedure; </span></span></code></pre></div><h1 id="apertura-de-la-coneccion">Apertura de la coneccion</h1> <div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-csharp" data-lang="csharp"><span style="display:flex;"><span>command.Connection = connection; </span></span><span style="display:flex;"><span>command.Connection.Open(); </span></span></code></pre></div><h2 id="utilizacion-del-executereader">Utilizacion del ExecuteReader</h2> <p>Es un choclo pero basicamente el codigo de abajo se encarga de iterar por cada uno de las entradas de la tabla. <strong>MUY</strong> importante, se tiene que añadir los productos dentro del loop principal del reader ya que lo que no se guarde en cada iteracion se pierde. (los maps no son case sensitive).</p> RetroArchivements @@ -99,5 +99,19 @@ https://fedesrv.ddns.net/posts/sample-post/ <h1 id="buenas">buenas</h1> <p>buenas Luego de sufrir bastante con el nginx y su <em>Reverse Proxy</em>, finalmente me decidí por poner la pagina del blog en el <strong>WebRoot</strong> y el <em>gitea</em> en un subfolder.</p> <h2 id="como-funciona-esto">Como funciona esto</h2> <p>El programa que estoy usando para hacer este blog se llama <a href="https://gohugo.io">Hugo</a>, consiste de una especie de parceador de <a href="https://www.markdownguide.org/">Markdown</a> a Html estático el cual hosteo con este <a href="https://nginx.org/en/">webServer</a>.</p> <h3 id="como-hago-nuevos-posts">Como hago nuevos posts</h3> <p>Dentro de la carpeta del proyecto del server hay una que se llama content, todos los <code>.md</code> que haya ahí cuando utilizo el comando:</p> + + Gitea + https://fedesrv.ddns.net/sitemap/gitea/ + Mon, 01 Jan 0001 00:00:00 +0000 + https://fedesrv.ddns.net/sitemap/gitea/ + + + + Irc + https://fedesrv.ddns.net/sitemap/ircc/ + Mon, 01 Jan 0001 00:00:00 +0000 + https://fedesrv.ddns.net/sitemap/ircc/ + + diff --git a/public/posts/anuncio-aoc-2023/index.html b/public/posts/anuncio-aoc-2023/index.html index 739d6b9..31897bc 100644 --- a/public/posts/anuncio-aoc-2023/index.html +++ b/public/posts/anuncio-aoc-2023/index.html @@ -185,7 +185,7 @@
- © 2025 Federico Polidoro + © 2026 Federico Polidoro
diff --git a/public/posts/bootloaderincident/index.html b/public/posts/bootloaderincident/index.html index 6892d97..aafd153 100644 --- a/public/posts/bootloaderincident/index.html +++ b/public/posts/bootloaderincident/index.html @@ -183,7 +183,7 @@ Si utilizan arch sabrán que se pueden configurar ‘hooks&
- © 2025 Federico Polidoro + © 2026 Federico Polidoro
diff --git a/public/posts/coord-keeper/index.html b/public/posts/coord-keeper/index.html index 01b480a..a197c62 100644 --- a/public/posts/coord-keeper/index.html +++ b/public/posts/coord-keeper/index.html @@ -182,7 +182,7 @@
- © 2025 Federico Polidoro + © 2026 Federico Polidoro
diff --git a/public/posts/diseño-de-software-incident/index.html b/public/posts/diseño-de-software-incident/index.html index e6366d1..511d214 100644 --- a/public/posts/diseño-de-software-incident/index.html +++ b/public/posts/diseño-de-software-incident/index.html @@ -151,18 +151,18 @@

Instanciacion del SqlConnection

-
using (var connection = new SqlConnection(configuration.GetConnectionString("DefaultConnection")))
+
using (var connection = new SqlConnection(configuration.GetConnectionString("DefaultConnection")))
 

Eso genera un sql connection que va a existir hasta que salga del scope del programa.

Creacion del SqlCommand

-
using var command = new SqlCommand();
+
using var command = new SqlCommand();
 command.CommandText = "sp_RecuperaProductos";
 command.CommandType = System.Data.CommandType.StoredProcedure;
 

Apertura de la coneccion

-
command.Connection = connection;
+
command.Connection = connection;
 command.Connection.Open();
 

Utilizacion del ExecuteReader

Es un choclo pero basicamente el codigo de abajo se encarga de iterar por cada uno de las entradas de la tabla. MUY importante, se tiene que añadir los productos dentro del loop principal del reader ya que lo que no se guarde en cada iteracion se pierde. (los maps no son case sensitive).

-
var reader = command.ExecuteReader();
+
var reader = command.ExecuteReader();
 while (reader.Read())//lee a traves de todas las filas que existen en la tabla
 {
     //por cada fila que creo tengo que asignar manualmente cada columna con cada propiedad
@@ -196,9 +196,9 @@
 }
 

Cerrado de la coneccion

NOTA: no ser mamerto y cerrar la coneccion fuera del while-loop.

-
command.Connection.Close();
+
command.Connection.Close();
 

Sub-Query

-
using var commandProveedores = new SqlCommand();
+
using var commandProveedores = new SqlCommand();
 
 commandProveedores.CommandType = System.Data.CommandType.StoredProcedure;
 commandProveedores.CommandText = "SP_AGREGARPROVEEDORPRODUCTO";
@@ -215,7 +215,8 @@
 

Un query es una consulta de tipo UPDATE, INSERT, DELETE, para el ExecuteNonQuery se devuelve la cantidad de ramas afectadas, menos en el uso de un StoredProcedure donde devuelve -1.

Notas

-

" Si compila y anda, aprueba " ~Laureano

+

" Si compila y anda, aprueba " ~Laureano

+
@@ -241,7 +242,7 @@
- © 2025 Federico Polidoro + © 2026 Federico Polidoro
diff --git a/public/posts/fix_screen_tear_xfce/index.html b/public/posts/fix_screen_tear_xfce/index.html index eaeab4a..2a58632 100644 --- a/public/posts/fix_screen_tear_xfce/index.html +++ b/public/posts/fix_screen_tear_xfce/index.html @@ -220,7 +220,7 @@ EndSection
- © 2025 Federico Polidoro + © 2026 Federico Polidoro
diff --git a/public/posts/index.xml b/public/posts/index.xml index a4ca872..6986033 100644 --- a/public/posts/index.xml +++ b/public/posts/index.xml @@ -34,7 +34,7 @@ https://fedesrv.ddns.net/posts/string-interpolation/ Tue, 24 Oct 2023 22:24:17 +0800 https://fedesrv.ddns.net/posts/string-interpolation/ - <h1 id="que-es">¿Que es?</h1> <p>Es un proceso de evaluado, en el cual se reemplazan placeholders en <code>string</code> por valores, en nuestro caso, de variables en momento de ejecución.</p> <h1 id="sintaxis">Sintaxis</h1> <pre><code>var manzanas = 4; var bananas = 3; Console.WriteLine($&quot;Tengo {manzanas} manzanas&quot;); Console.WriteLine($&quot;Vendí {manzanas + bananas} frutas&quot;); </code></pre> <blockquote> <p>Basicamente son plantillas.</p></blockquote> + <h1 id="que-es">¿Que es?</h1> <p>Es un proceso de evaluado, en el cual se reemplazan placeholders en <code>string</code> por valores, en nuestro caso, de variables en momento de ejecución.</p> <h1 id="sintaxis">Sintaxis</h1> <pre><code>var manzanas = 4; var bananas = 3; Console.WriteLine($&quot;Tengo {manzanas} manzanas&quot;); Console.WriteLine($&quot;Vendí {manzanas + bananas} frutas&quot;); </code></pre> <blockquote> <p>Basicamente son plantillas.</p> </blockquote> Anuncio Aoc 2023 @@ -55,14 +55,14 @@ https://fedesrv.ddns.net/posts/pasar-imagenes-a-blanco-y-negro/ Sat, 23 Sep 2023 10:35:18 -0300 https://fedesrv.ddns.net/posts/pasar-imagenes-a-blanco-y-negro/ - <h1 id="gimp">Gimp</h1> <p>Hay varias formas de pasar una imagen a blanco y negro. yo prefiero la de usar <strong>Gimp</strong> con la opcion de <code>Color &gt; Desaturacion &gt; Color a gama de grises</code>. Pero voy a listar un par de métodos alternativos para obtener el ~mismo resultado.<br> <img src="https://fedesrv.ddns.net/fedecomp.png" alt="Comparación"></p> <h1 id="imagemagick">ImageMagick</h1> <blockquote> <p>Es un conjunto de utilidades de código abierto​ para mostrar, manipular y convertir imágenes, capaz de leer y escribir más de 200 formatos.​</p></blockquote> <p>Una de esas utilidades es llamada <code>convert</code>, la cual acepta un archivo y convierte este a el formato que se le especifique. Existe una flag llamada <code>-colorspace</code> la cual si le damos el parametro <strong>Gray</strong> la imagen resultante estará representada en una gama de grises. <img src="https://fedesrv.ddns.net/fedeg.jpg" alt="Imagen en gama de grises"></p> + <h1 id="gimp">Gimp</h1> <p>Hay varias formas de pasar una imagen a blanco y negro. yo prefiero la de usar <strong>Gimp</strong> con la opcion de <code>Color &gt; Desaturacion &gt; Color a gama de grises</code>. Pero voy a listar un par de métodos alternativos para obtener el ~mismo resultado.<br> <img src="https://fedesrv.ddns.net/fedecomp.png" alt="Comparación"></p> <h1 id="imagemagick">ImageMagick</h1> <blockquote> <p>Es un conjunto de utilidades de código abierto​ para mostrar, manipular y convertir imágenes, capaz de leer y escribir más de 200 formatos.​</p> </blockquote> <p>Una de esas utilidades es llamada <code>convert</code>, la cual acepta un archivo y convierte este a el formato que se le especifique. Existe una flag llamada <code>-colorspace</code> la cual si le damos el parametro <strong>Gray</strong> la imagen resultante estará representada en una gama de grises. <img src="https://fedesrv.ddns.net/fedeg.jpg" alt="Imagen en gama de grises"></p> Diseño de Software Incident https://fedesrv.ddns.net/posts/dise%C3%B1o-de-software-incident/ Fri, 22 Sep 2023 15:08:17 +0800 https://fedesrv.ddns.net/posts/dise%C3%B1o-de-software-incident/ - <h1 id="instanciacion-del-sqlconnection">Instanciacion del SqlConnection</h1> <div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-csharp" data-lang="csharp"><span style="display:flex;"><span><span style="color:#66d9ef">using</span> (<span style="color:#66d9ef">var</span> connection = <span style="color:#66d9ef">new</span> SqlConnection(configuration.GetConnectionString(<span style="color:#e6db74">&#34;DefaultConnection&#34;</span>))) </span></span></code></pre></div><p>Eso genera un sql connection que va a existir hasta que salga del scope del programa.</p> <h1 id="creacion-del-sqlcommand">Creacion del SqlCommand</h1> <div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-csharp" data-lang="csharp"><span style="display:flex;"><span><span style="color:#66d9ef">using</span> var command = <span style="color:#66d9ef">new</span> SqlCommand(); </span></span><span style="display:flex;"><span>command.CommandText = <span style="color:#e6db74">&#34;sp_RecuperaProductos&#34;</span>; </span></span><span style="display:flex;"><span>command.CommandType = System.Data.CommandType.StoredProcedure; </span></span></code></pre></div><h1 id="apertura-de-la-coneccion">Apertura de la coneccion</h1> <div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-csharp" data-lang="csharp"><span style="display:flex;"><span>command.Connection = connection; </span></span><span style="display:flex;"><span>command.Connection.Open(); </span></span></code></pre></div><h2 id="utilizacion-del-executereader">Utilizacion del ExecuteReader</h2> <p>Es un choclo pero basicamente el codigo de abajo se encarga de iterar por cada uno de las entradas de la tabla. <strong>MUY</strong> importante, se tiene que añadir los productos dentro del loop principal del reader ya que lo que no se guarde en cada iteracion se pierde. (los maps no son case sensitive).</p> + <h1 id="instanciacion-del-sqlconnection">Instanciacion del SqlConnection</h1> <div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-csharp" data-lang="csharp"><span style="display:flex;"><span><span style="color:#66d9ef">using</span> (<span style="color:#66d9ef">var</span> connection = <span style="color:#66d9ef">new</span> SqlConnection(configuration.GetConnectionString(<span style="color:#e6db74">&#34;DefaultConnection&#34;</span>))) </span></span></code></pre></div><p>Eso genera un sql connection que va a existir hasta que salga del scope del programa.</p> <h1 id="creacion-del-sqlcommand">Creacion del SqlCommand</h1> <div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-csharp" data-lang="csharp"><span style="display:flex;"><span><span style="color:#66d9ef">using</span> var command = <span style="color:#66d9ef">new</span> SqlCommand(); </span></span><span style="display:flex;"><span>command.CommandText = <span style="color:#e6db74">&#34;sp_RecuperaProductos&#34;</span>; </span></span><span style="display:flex;"><span>command.CommandType = System.Data.CommandType.StoredProcedure; </span></span></code></pre></div><h1 id="apertura-de-la-coneccion">Apertura de la coneccion</h1> <div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-csharp" data-lang="csharp"><span style="display:flex;"><span>command.Connection = connection; </span></span><span style="display:flex;"><span>command.Connection.Open(); </span></span></code></pre></div><h2 id="utilizacion-del-executereader">Utilizacion del ExecuteReader</h2> <p>Es un choclo pero basicamente el codigo de abajo se encarga de iterar por cada uno de las entradas de la tabla. <strong>MUY</strong> importante, se tiene que añadir los productos dentro del loop principal del reader ya que lo que no se guarde en cada iteracion se pierde. (los maps no son case sensitive).</p> RetroArchivements diff --git a/public/posts/pasar-imagenes-a-blanco-y-negro/index.html b/public/posts/pasar-imagenes-a-blanco-y-negro/index.html index 9226351..e0c6cbe 100644 --- a/public/posts/pasar-imagenes-a-blanco-y-negro/index.html +++ b/public/posts/pasar-imagenes-a-blanco-y-negro/index.html @@ -155,7 +155,8 @@ Comparación

ImageMagick

-

Es un conjunto de utilidades de código abierto​ para mostrar, manipular y convertir imágenes, capaz de leer y escribir más de 200 formatos.​

+

Es un conjunto de utilidades de código abierto​ para mostrar, manipular y convertir imágenes, capaz de leer y escribir más de 200 formatos.​

+

Una de esas utilidades es llamada convert, la cual acepta un archivo y convierte este a el formato que se le especifique. Existe una flag llamada -colorspace la cual si le damos el parametro Gray la imagen resultante estará representada en una gama de grises. Imagen en gama de grises

Nota

@@ -189,7 +190,7 @@
- © 2025 Federico Polidoro + © 2026 Federico Polidoro
diff --git a/public/posts/retroarchivements/index.html b/public/posts/retroarchivements/index.html index b3f93a9..a2a537d 100644 --- a/public/posts/retroarchivements/index.html +++ b/public/posts/retroarchivements/index.html @@ -178,7 +178,7 @@
- © 2025 Federico Polidoro + © 2026 Federico Polidoro
diff --git a/public/posts/sample-post/index.html b/public/posts/sample-post/index.html index c42ceb1..f0bff85 100644 --- a/public/posts/sample-post/index.html +++ b/public/posts/sample-post/index.html @@ -157,10 +157,11 @@ Luego de sufrir bastante con el nginx y su Reverse Proxy, finalmente me

El programa que estoy usando para hacer este blog se llama Hugo, consiste de una especie de parceador de Markdown a Html estático el cual hosteo con este webServer.

Como hago nuevos posts

Dentro de la carpeta del proyecto del server hay una que se llama content, todos los .md que haya ahí cuando utilizo el comando:

-
hugo
+
hugo
 

se genera el html de la paginas del blog las cuales copio usando rsync dentro de la intranet de mi casa

-

Luraschi no me robes las llaves del ssh🙏.

+

Luraschi no me robes las llaves del ssh🙏.

+ @@ -186,7 +187,7 @@ Luego de sufrir bastante con el nginx y su Reverse Proxy, finalmente me
- © 2025 Federico Polidoro + © 2026 Federico Polidoro
diff --git a/public/posts/sist_alquileres_devlog_1/index.html b/public/posts/sist_alquileres_devlog_1/index.html index 1c26841..c55515a 100644 --- a/public/posts/sist_alquileres_devlog_1/index.html +++ b/public/posts/sist_alquileres_devlog_1/index.html @@ -156,13 +156,15 @@

Estas son pequeñas updates que voy a estar haciendo sobre el proyecto final mio de “Ingenieria de Software” (asi se llama la materia). El cual consiste de un sistema de gestion de alquileres. Pensado para tener varios tipos de usuario como un propietario que carge las propiedades que desea publicar siempre y cuando este verificado que le pertenecen a él y un inquilino el cual podra efectuar busquedas de propiedades para alquilas, ver el estado de los alquileres, y pagar los alquileres que sean correpondientes.

Ahí arriba describi solo 2 o 3 de los casi 26 casos de uso que tengo descriptos. Además voy a reutilizar los conocimiento que adquirí haciendo el panel de control para la materia de base de datos.

-

Se vienen cositas

+

Se vienen cositas

+

Bueno ahora voy a hacer un mini-informe sobre el modulo de seguridad

Permisos para los clientes

Cito de la entrega del segundo parcial.

-

En cuanto a como va el desarrollo, te diria que bien encaminado, actualmente estoy usando svelte/bootstrap para el front y aspnet core 8 ( ? ) para el backend. ya tengo definido que acciones puede hacer un cliente en el sistema mediante un sistema usuario-grupo-permiso Similar a como los permisos son definidos en linux (donde por ejemplo un usuario para poder acceder al uso del audio del servidor necesita estar en un grupo “audio” o para escribir a un almacenamiento en cinta necesita pertenecer al grupo “tape”) En mi proyecto por ahora tengo 3 grupos que consisten en los 3 actores que tengo definidos (inquilino, propietario, administracion). Entonces cuando checkeo por si un cliente tiene acceso a un permiso lo puedo averiguar de forma sencilla:

-
var permisos = con.Clientes
+

En cuanto a como va el desarrollo, te diria que bien encaminado, actualmente estoy usando svelte/bootstrap para el front y aspnet core 8 ( ? ) para el backend. ya tengo definido que acciones puede hacer un cliente en el sistema mediante un sistema usuario-grupo-permiso Similar a como los permisos son definidos en linux (donde por ejemplo un usuario para poder acceder al uso del audio del servidor necesita estar en un grupo “audio” o para escribir a un almacenamiento en cinta necesita pertenecer al grupo “tape”) En mi proyecto por ahora tengo 3 grupos que consisten en los 3 actores que tengo definidos (inquilino, propietario, administracion). Entonces cuando checkeo por si un cliente tiene acceso a un permiso lo puedo averiguar de forma sencilla:

+ +
var permisos = con.Clientes
 .Where(c => c.Dni == cli.Dni)
 .SelectMany(c => c.Idgrupos)
 .SelectMany(g => g.Idpermisos)
@@ -198,7 +200,7 @@
     
     
- © 2025 Federico Polidoro + © 2026 Federico Polidoro
diff --git a/public/posts/string-interpolation/index.html b/public/posts/string-interpolation/index.html index c8a0c0a..2e32919 100644 --- a/public/posts/string-interpolation/index.html +++ b/public/posts/string-interpolation/index.html @@ -160,7 +160,8 @@ Console.WriteLine($"Tengo {manzanas} manzanas"); Console.WriteLine($"Vendí {manzanas + bananas} frutas");
-

Basicamente son plantillas.

+

Basicamente son plantillas.

+ @@ -186,7 +187,7 @@ Console.WriteLine($"Vendí {manzanas + bananas} frutas");
- © 2025 Federico Polidoro + © 2026 Federico Polidoro
diff --git a/public/proyectos/controlstock/index.html b/public/proyectos/controlstock/index.html index df0fb5e..014367d 100644 --- a/public/proyectos/controlstock/index.html +++ b/public/proyectos/controlstock/index.html @@ -250,7 +250,7 @@ function openmodal(id){
- © 2025 Federico Polidoro + © 2026 Federico Polidoro
diff --git a/public/proyectos/coordkeeper/index.html b/public/proyectos/coordkeeper/index.html index b51469e..9ab34ee 100644 --- a/public/proyectos/coordkeeper/index.html +++ b/public/proyectos/coordkeeper/index.html @@ -264,7 +264,7 @@ function openmodal(id){
- © 2025 Federico Polidoro + © 2026 Federico Polidoro
diff --git a/public/proyectos/paneldb/index.html b/public/proyectos/paneldb/index.html index 2eb95cf..43fe02b 100644 --- a/public/proyectos/paneldb/index.html +++ b/public/proyectos/paneldb/index.html @@ -260,7 +260,7 @@ function openmodal(id){
- © 2025 Federico Polidoro + © 2026 Federico Polidoro
diff --git a/public/sitemap.xml b/public/sitemap.xml index 5ee5860..f4199e5 100644 --- a/public/sitemap.xml +++ b/public/sitemap.xml @@ -63,5 +63,11 @@ 2023-09-22T12:28:17+08:00 https://fedesrv.ddns.net/categories/ + + https://fedesrv.ddns.net/sitemap/gitea/ + + https://fedesrv.ddns.net/sitemap/ircc/ + + https://fedesrv.ddns.net/sitemap/ diff --git a/public/sitemap/git b/public/sitemap/git new file mode 100644 index 0000000..e69de29 diff --git a/public/sitemap/index.xml b/public/sitemap/index.xml new file mode 100644 index 0000000..d11be08 --- /dev/null +++ b/public/sitemap/index.xml @@ -0,0 +1,25 @@ + + + + Sitemaps on Blog Fede + https://fedesrv.ddns.net/sitemap/ + Recent content in Sitemaps on Blog Fede + Hugo + en-us + + + Gitea + https://fedesrv.ddns.net/sitemap/gitea/ + Mon, 01 Jan 0001 00:00:00 +0000 + https://fedesrv.ddns.net/sitemap/gitea/ + + + + Irc + https://fedesrv.ddns.net/sitemap/ircc/ + Mon, 01 Jan 0001 00:00:00 +0000 + https://fedesrv.ddns.net/sitemap/ircc/ + + + + diff --git a/public/tags/old_blog/index.xml b/public/tags/old_blog/index.xml index 1b383cb..7983b17 100644 --- a/public/tags/old_blog/index.xml +++ b/public/tags/old_blog/index.xml @@ -13,7 +13,7 @@ https://fedesrv.ddns.net/posts/string-interpolation/ Tue, 24 Oct 2023 22:24:17 +0800 https://fedesrv.ddns.net/posts/string-interpolation/ - <h1 id="que-es">¿Que es?</h1> <p>Es un proceso de evaluado, en el cual se reemplazan placeholders en <code>string</code> por valores, en nuestro caso, de variables en momento de ejecución.</p> <h1 id="sintaxis">Sintaxis</h1> <pre><code>var manzanas = 4; var bananas = 3; Console.WriteLine($&quot;Tengo {manzanas} manzanas&quot;); Console.WriteLine($&quot;Vendí {manzanas + bananas} frutas&quot;); </code></pre> <blockquote> <p>Basicamente son plantillas.</p></blockquote> + <h1 id="que-es">¿Que es?</h1> <p>Es un proceso de evaluado, en el cual se reemplazan placeholders en <code>string</code> por valores, en nuestro caso, de variables en momento de ejecución.</p> <h1 id="sintaxis">Sintaxis</h1> <pre><code>var manzanas = 4; var bananas = 3; Console.WriteLine($&quot;Tengo {manzanas} manzanas&quot;); Console.WriteLine($&quot;Vendí {manzanas + bananas} frutas&quot;); </code></pre> <blockquote> <p>Basicamente son plantillas.</p> </blockquote> Anuncio Aoc 2023 @@ -34,14 +34,14 @@ https://fedesrv.ddns.net/posts/pasar-imagenes-a-blanco-y-negro/ Sat, 23 Sep 2023 10:35:18 -0300 https://fedesrv.ddns.net/posts/pasar-imagenes-a-blanco-y-negro/ - <h1 id="gimp">Gimp</h1> <p>Hay varias formas de pasar una imagen a blanco y negro. yo prefiero la de usar <strong>Gimp</strong> con la opcion de <code>Color &gt; Desaturacion &gt; Color a gama de grises</code>. Pero voy a listar un par de métodos alternativos para obtener el ~mismo resultado.<br> <img src="https://fedesrv.ddns.net/fedecomp.png" alt="Comparación"></p> <h1 id="imagemagick">ImageMagick</h1> <blockquote> <p>Es un conjunto de utilidades de código abierto​ para mostrar, manipular y convertir imágenes, capaz de leer y escribir más de 200 formatos.​</p></blockquote> <p>Una de esas utilidades es llamada <code>convert</code>, la cual acepta un archivo y convierte este a el formato que se le especifique. Existe una flag llamada <code>-colorspace</code> la cual si le damos el parametro <strong>Gray</strong> la imagen resultante estará representada en una gama de grises. <img src="https://fedesrv.ddns.net/fedeg.jpg" alt="Imagen en gama de grises"></p> + <h1 id="gimp">Gimp</h1> <p>Hay varias formas de pasar una imagen a blanco y negro. yo prefiero la de usar <strong>Gimp</strong> con la opcion de <code>Color &gt; Desaturacion &gt; Color a gama de grises</code>. Pero voy a listar un par de métodos alternativos para obtener el ~mismo resultado.<br> <img src="https://fedesrv.ddns.net/fedecomp.png" alt="Comparación"></p> <h1 id="imagemagick">ImageMagick</h1> <blockquote> <p>Es un conjunto de utilidades de código abierto​ para mostrar, manipular y convertir imágenes, capaz de leer y escribir más de 200 formatos.​</p> </blockquote> <p>Una de esas utilidades es llamada <code>convert</code>, la cual acepta un archivo y convierte este a el formato que se le especifique. Existe una flag llamada <code>-colorspace</code> la cual si le damos el parametro <strong>Gray</strong> la imagen resultante estará representada en una gama de grises. <img src="https://fedesrv.ddns.net/fedeg.jpg" alt="Imagen en gama de grises"></p> Diseño de Software Incident https://fedesrv.ddns.net/posts/dise%C3%B1o-de-software-incident/ Fri, 22 Sep 2023 15:08:17 +0800 https://fedesrv.ddns.net/posts/dise%C3%B1o-de-software-incident/ - <h1 id="instanciacion-del-sqlconnection">Instanciacion del SqlConnection</h1> <div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-csharp" data-lang="csharp"><span style="display:flex;"><span><span style="color:#66d9ef">using</span> (<span style="color:#66d9ef">var</span> connection = <span style="color:#66d9ef">new</span> SqlConnection(configuration.GetConnectionString(<span style="color:#e6db74">&#34;DefaultConnection&#34;</span>))) </span></span></code></pre></div><p>Eso genera un sql connection que va a existir hasta que salga del scope del programa.</p> <h1 id="creacion-del-sqlcommand">Creacion del SqlCommand</h1> <div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-csharp" data-lang="csharp"><span style="display:flex;"><span><span style="color:#66d9ef">using</span> var command = <span style="color:#66d9ef">new</span> SqlCommand(); </span></span><span style="display:flex;"><span>command.CommandText = <span style="color:#e6db74">&#34;sp_RecuperaProductos&#34;</span>; </span></span><span style="display:flex;"><span>command.CommandType = System.Data.CommandType.StoredProcedure; </span></span></code></pre></div><h1 id="apertura-de-la-coneccion">Apertura de la coneccion</h1> <div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-csharp" data-lang="csharp"><span style="display:flex;"><span>command.Connection = connection; </span></span><span style="display:flex;"><span>command.Connection.Open(); </span></span></code></pre></div><h2 id="utilizacion-del-executereader">Utilizacion del ExecuteReader</h2> <p>Es un choclo pero basicamente el codigo de abajo se encarga de iterar por cada uno de las entradas de la tabla. <strong>MUY</strong> importante, se tiene que añadir los productos dentro del loop principal del reader ya que lo que no se guarde en cada iteracion se pierde. (los maps no son case sensitive).</p> + <h1 id="instanciacion-del-sqlconnection">Instanciacion del SqlConnection</h1> <div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-csharp" data-lang="csharp"><span style="display:flex;"><span><span style="color:#66d9ef">using</span> (<span style="color:#66d9ef">var</span> connection = <span style="color:#66d9ef">new</span> SqlConnection(configuration.GetConnectionString(<span style="color:#e6db74">&#34;DefaultConnection&#34;</span>))) </span></span></code></pre></div><p>Eso genera un sql connection que va a existir hasta que salga del scope del programa.</p> <h1 id="creacion-del-sqlcommand">Creacion del SqlCommand</h1> <div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-csharp" data-lang="csharp"><span style="display:flex;"><span><span style="color:#66d9ef">using</span> var command = <span style="color:#66d9ef">new</span> SqlCommand(); </span></span><span style="display:flex;"><span>command.CommandText = <span style="color:#e6db74">&#34;sp_RecuperaProductos&#34;</span>; </span></span><span style="display:flex;"><span>command.CommandType = System.Data.CommandType.StoredProcedure; </span></span></code></pre></div><h1 id="apertura-de-la-coneccion">Apertura de la coneccion</h1> <div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-csharp" data-lang="csharp"><span style="display:flex;"><span>command.Connection = connection; </span></span><span style="display:flex;"><span>command.Connection.Open(); </span></span></code></pre></div><h2 id="utilizacion-del-executereader">Utilizacion del ExecuteReader</h2> <p>Es un choclo pero basicamente el codigo de abajo se encarga de iterar por cada uno de las entradas de la tabla. <strong>MUY</strong> importante, se tiene que añadir los productos dentro del loop principal del reader ya que lo que no se guarde en cada iteracion se pierde. (los maps no son case sensitive).</p> RetroArchivements diff --git a/resources/_gen/assets/css/main.css_5d1ae7b26729580b7c0ef1c83fb083f3.content b/resources/_gen/assets/css/main.css_5d1ae7b26729580b7c0ef1c83fb083f3.content index 5afb7e4..b8e9e14 100644 --- a/resources/_gen/assets/css/main.css_5d1ae7b26729580b7c0ef1c83fb083f3.content +++ b/resources/_gen/assets/css/main.css_5d1ae7b26729580b7c0ef1c83fb083f3.content @@ -1,4 +1,4 @@ -/*!tailwindcss v4.1.3 | MIT License | https://tailwindcss.com*/@layer properties;.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.-z-0{z-index:calc(0 * -1)}.-z-1{z-index:calc(1 * -1)}.-z-10{z-index:calc(10 * -1)}.z-0{z-index:0}.z-1{z-index:1}.z-3{z-index:3}.z-4{z-index:4}.z-40{z-index:40}.z-50{z-index:50}.z-99{z-index:99}.float-left{float:left}.float-right{float:right}.container{width:100%}.mx-auto{margin-inline:auto}.mt-auto{margin-top:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.h-\[20rem\]{height:20rem}.h-\[80\%\]{height:80%}.h-auto{height:auto}.h-full{height:100%}.h-screen{height:100vh}.min-h-screen{min-height:100vh}.w-\[2px\]{width:2px}.w-\[50\%\]{width:50%}.w-\[80\%\]{width:80%}.w-auto{width:auto}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-screen{width:100vw}.max-w-none{max-width:none}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.-translate-x-full{--tw-translate-x:-100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-full{--tw-translate-x:100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.rotate-x-3{--tw-rotate-x:rotateX(3deg);transform:var(--tw-rotate-x)var(--tw-rotate-y)var(--tw-rotate-z)var(--tw-skew-x)var(--tw-skew-y)}.rotate-x-30{--tw-rotate-x:rotateX(30deg);transform:var(--tw-rotate-x)var(--tw-rotate-y)var(--tw-rotate-z)var(--tw-skew-x)var(--tw-skew-y)}.rotate-y-3{--tw-rotate-y:rotateY(3deg);transform:var(--tw-rotate-x)var(--tw-rotate-y)var(--tw-rotate-z)var(--tw-skew-x)var(--tw-skew-y)}.transform{transform:var(--tw-rotate-x)var(--tw-rotate-y)var(--tw-rotate-z)var(--tw-skew-x)var(--tw-skew-y)}.cursor-context-menu{cursor:context-menu}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-center-safe{justify-content:safe center}.self-center{align-self:center}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded-full{border-radius:calc(infinity * 1px)}.rounded-t-full{border-top-left-radius:calc(infinity * 1px);border-top-right-radius:calc(infinity * 1px)}.rounded-b-full{border-bottom-right-radius:calc(infinity * 1px);border-bottom-left-radius:calc(infinity * 1px)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-3{border-style:var(--tw-border-style);border-width:3px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-s-2{border-inline-start-style:var(--tw-border-style);border-inline-start-width:2px}.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-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-solid{--tw-border-style:solid;border-style:solid}.border-r-transparent{border-right-color:transparent}.border-l-transparent{border-left-color:transparent}.bg-\[radial-gradient\(circle\,rgba\(0\,0\,0\,0\)_0\%\,rgba\(0\,0\,0\,0\.5\)_70\%\,\#ffffff_100\%\)\,repeating-linear-gradient\(45deg\,\#000000\,\#000000_10px\,\#ffffff_10px\,\#ffffff_20px\)\]{background-image:radial-gradient(circle,transparent 0%,rgba(0,0,0,.5) 70%,#ffffff 100%),repeating-linear-gradient(45deg,#000000,#000000 10px,#ffffff 10px,#ffffff 20px)}.bg-\[repeating-linear-gradient\(transparent\,transparent_27px\,\#333_28px\)\]{background-image:repeating-linear-gradient(transparent,transparent 27px,#333 28px)}.bg-\[size\:100\%_28px\]{background-size:100% 28px}.object-cover{-o-object-fit:cover;object-fit:cover}.text-center{text-align:center}.leading-none{--tw-leading:1;line-height:1}.whitespace-nowrap{white-space:nowrap}.italic{font-style:italic}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.opacity-30{opacity:30%}.opacity-100{opacity:100%}.shadow-\[0_4px_0_black\]{--tw-shadow:0 4px 0 var(--tw-shadow-color, black);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_4px_6px_-1px_rgb\(107\,114\,128\)\]{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color, rgb(107,114,128));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-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,)}.backdrop-opacity-20{--tw-backdrop-opacity:opacity(20%);-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;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.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,ease);transition-duration:var(--tw-duration,0s)}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.duration-75{--tw-duration:75ms;transition-duration:75ms}.duration-100{--tw-duration:100ms;transition-duration:100ms}.duration-200{--tw-duration:200ms;transition-duration:200ms}.duration-300{--tw-duration:300ms;transition-duration:300ms}.duration-1000{--tw-duration:1000ms;transition-duration:1e3ms}.ease-linear{--tw-ease:linear;transition-timing-function:linear}.transform-3d{transform-style:preserve-3d}.transform-flat{transform-style:flat}.hover\:z-2{&:hover { @media (hover:hover) { z-index:2; } }}.hover\:scale-105{&:hover { @media (hover:hover) { --tw-scale-x:105%; --tw-scale-y:105%; --tw-scale-z:105%; scale:var(--tw-scale-x) var(--tw-scale-y); } }}.hover\:scale-120{&:hover { @media (hover:hover) { --tw-scale-x:120%; --tw-scale-y:120%; --tw-scale-z:120%; scale:var(--tw-scale-x) var(--tw-scale-y); } }}.hover\:rotate-z-2{&:hover { @media (hover:hover) { --tw-rotate-z:rotateZ(2deg); transform:var(--tw-rotate-x) var(--tw-rotate-y) var(--tw-rotate-z) var(--tw-skew-x) var(--tw-skew-y); } }}.hover\:shadow-\[0_8px_0_black\]{&:hover { @media (hover:hover) { --tw-shadow:0 8px 0 var(--tw-shadow-color,black); box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); } }}.hover\:grayscale-0{&:hover { @media (hover:hover) { --tw-grayscale:grayscale(0%); 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,); } }}.active\:z-0{&:active { z-index:0; }}.dark\:bg-\[repeating-linear-gradient\(transparent\,transparent_27px\,\#aaa_28px\)\]{@media(prefers-color-scheme:dark){background-image: repeating-linear-gradient(transparent,transparent 27px,#aaa 28px);}}@property --tw-translate-x{syntax: "*"; +/*!tailwindcss v4.1.3 | MIT License | https://tailwindcss.com*/@layer properties;.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.-z-0{z-index:calc(0 * -1)}.-z-1{z-index:calc(1 * -1)}.-z-10{z-index:calc(10 * -1)}.z-0{z-index:0}.z-1{z-index:1}.z-3{z-index:3}.z-4{z-index:4}.z-40{z-index:40}.z-50{z-index:50}.z-99{z-index:99}.float-left{float:left}.float-right{float:right}.container{width:100%}.m-auto{margin:auto}.mx-auto{margin-inline:auto}.mt-auto{margin-top:auto}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.h-\[20rem\]{height:20rem}.h-\[80\%\]{height:80%}.h-auto{height:auto}.h-full{height:100%}.h-screen{height:100vh}.min-h-screen{min-height:100vh}.w-\[2px\]{width:2px}.w-\[50\%\]{width:50%}.w-auto{width:auto}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-screen{width:100vw}.max-w-none{max-width:none}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.-translate-x-full{--tw-translate-x:-100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-full{--tw-translate-x:100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.rotate-x-3{--tw-rotate-x:rotateX(3deg);transform:var(--tw-rotate-x)var(--tw-rotate-y)var(--tw-rotate-z)var(--tw-skew-x)var(--tw-skew-y)}.rotate-x-30{--tw-rotate-x:rotateX(30deg);transform:var(--tw-rotate-x)var(--tw-rotate-y)var(--tw-rotate-z)var(--tw-skew-x)var(--tw-skew-y)}.rotate-y-3{--tw-rotate-y:rotateY(3deg);transform:var(--tw-rotate-x)var(--tw-rotate-y)var(--tw-rotate-z)var(--tw-skew-x)var(--tw-skew-y)}.transform{transform:var(--tw-rotate-x)var(--tw-rotate-y)var(--tw-rotate-z)var(--tw-skew-x)var(--tw-skew-y)}.cursor-context-menu{cursor:context-menu}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-center-safe{justify-content:safe center}.self-center{align-self:center}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded-full{border-radius:calc(infinity * 1px)}.rounded-t-full{border-top-left-radius:calc(infinity * 1px);border-top-right-radius:calc(infinity * 1px)}.rounded-b-full{border-bottom-right-radius:calc(infinity * 1px);border-bottom-left-radius:calc(infinity * 1px)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-3{border-style:var(--tw-border-style);border-width:3px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-s-2{border-inline-start-style:var(--tw-border-style);border-inline-start-width:2px}.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-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-solid{--tw-border-style:solid;border-style:solid}.border-r-transparent{border-right-color:transparent}.border-l-transparent{border-left-color:transparent}.bg-\[repeating-linear-gradient\(transparent\,transparent_27px\,\#333_28px\)\]{background-image:repeating-linear-gradient(transparent,transparent 27px,#333 28px)}.bg-\[size\:100\%_28px\]{background-size:100% 28px}.object-cover{-o-object-fit:cover;object-fit:cover}.text-center{text-align:center}.leading-none{--tw-leading:1;line-height:1}.whitespace-nowrap{white-space:nowrap}.italic{font-style:italic}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.opacity-30{opacity:30%}.opacity-100{opacity:100%}.shadow-\[0_4px_0_black\]{--tw-shadow:0 4px 0 var(--tw-shadow-color, black);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_4px_6px_-1px_rgb\(107\,114\,128\)\]{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color, rgb(107,114,128));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-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,)}.backdrop-opacity-20{--tw-backdrop-opacity:opacity(20%);-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;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.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,ease);transition-duration:var(--tw-duration,0s)}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.duration-75{--tw-duration:75ms;transition-duration:75ms}.duration-100{--tw-duration:100ms;transition-duration:100ms}.duration-200{--tw-duration:200ms;transition-duration:200ms}.duration-300{--tw-duration:300ms;transition-duration:300ms}.duration-1000{--tw-duration:1000ms;transition-duration:1e3ms}.ease-linear{--tw-ease:linear;transition-timing-function:linear}.transform-3d{transform-style:preserve-3d}.transform-flat{transform-style:flat}.hover\:z-2{&:hover { @media (hover:hover) { z-index:2; } }}.hover\:scale-105{&:hover { @media (hover:hover) { --tw-scale-x:105%; --tw-scale-y:105%; --tw-scale-z:105%; scale:var(--tw-scale-x) var(--tw-scale-y); } }}.hover\:scale-120{&:hover { @media (hover:hover) { --tw-scale-x:120%; --tw-scale-y:120%; --tw-scale-z:120%; scale:var(--tw-scale-x) var(--tw-scale-y); } }}.hover\:rotate-z-2{&:hover { @media (hover:hover) { --tw-rotate-z:rotateZ(2deg); transform:var(--tw-rotate-x) var(--tw-rotate-y) var(--tw-rotate-z) var(--tw-skew-x) var(--tw-skew-y); } }}.hover\:shadow-\[0_8px_0_black\]{&:hover { @media (hover:hover) { --tw-shadow:0 8px 0 var(--tw-shadow-color,black); box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); } }}.hover\:grayscale-0{&:hover { @media (hover:hover) { --tw-grayscale:grayscale(0%); 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,); } }}.active\:z-0{&:active { z-index:0; }}.dark\:bg-\[repeating-linear-gradient\(transparent\,transparent_27px\,\#aaa_28px\)\]{@media(prefers-color-scheme:dark){background-image: repeating-linear-gradient(transparent,transparent 27px,#aaa 28px);}}@property --tw-translate-x{syntax: "*"; inherits: false; initial-value: 0; }@property --tw-translate-y{syntax: "*"; diff --git a/resources/_gen/assets/css/main.css_5d1ae7b26729580b7c0ef1c83fb083f3.json b/resources/_gen/assets/css/main.css_5d1ae7b26729580b7c0ef1c83fb083f3.json index 99c3e05..0771024 100644 --- a/resources/_gen/assets/css/main.css_5d1ae7b26729580b7c0ef1c83fb083f3.json +++ b/resources/_gen/assets/css/main.css_5d1ae7b26729580b7c0ef1c83fb083f3.json @@ -1 +1 @@ -{"Target":"/css/main.min.6657c43a041d4f8a4e1f6b27ef5daeae062d6a21292e0a06f3fa9ffa3fc3afde.css","MediaType":"text/css","Data":{"Integrity":"sha256-ZlfEOgQdT4pOH2sn712urgYtaiEpLgoG8/qf+j/Dr94="}} \ No newline at end of file +{"Target":"/css/main.min.4c63fd07d4fe961809dfe014110a2c5e1adf2f105dd2bcd0165ea00d94d72895.css","MediaType":"text/css","Data":{"Integrity":"sha256-TGP9B9T+lhgJ3+AUEQosXhrfLxBd0rzQFl6gDZTXKJU="}} \ No newline at end of file diff --git a/static/css/main.css b/static/css/main.css index 41fe681..79ab803 100644 --- a/static/css/main.css +++ b/static/css/main.css @@ -1,2 +1,2 @@ /*! tailwindcss v4.1.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-rotate-x:rotateX(0);--tw-rotate-y:rotateY(0);--tw-rotate-z:rotateZ(0);--tw-skew-x:skewX(0);--tw-skew-y:skewY(0);--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-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-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-serif:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-emerald-500:oklch(69.6% .17 162.48);--color-cyan-200:oklch(91.7% .08 205.041);--color-sky-200:oklch(90.1% .058 230.902);--color-sky-300:oklch(82.8% .111 230.318);--color-sky-600:oklch(58.8% .158 241.966);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-900:oklch(37.9% .146 265.522);--color-slate-600:oklch(44.6% .043 257.281);--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-neutral-50:oklch(98.5% 0 0);--color-neutral-200:oklch(92.2% 0 0);--color-neutral-300:oklch(87% 0 0);--color-neutral-500:oklch(55.6% 0 0);--color-neutral-600:oklch(43.9% 0 0);--color-neutral-700:oklch(37.1% 0 0);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-4xl:56rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--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-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-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--leading-snug:1.375;--radius-md:.375rem;--radius-lg:.5rem;--ease-in:cubic-bezier(.4,0,1,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-bounce:bounce 1s infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-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}}@layer components;@layer utilities{.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.top-1{top:calc(var(--spacing)*1)}.top-16{top:calc(var(--spacing)*16)}.right-0{right:calc(var(--spacing)*0)}.bottom-8{bottom:calc(var(--spacing)*8)}.-z-0{z-index:calc(0*-1)}.-z-1{z-index:calc(1*-1)}.-z-10{z-index:calc(10*-1)}.z-0{z-index:0}.z-1{z-index:1}.z-3{z-index:3}.z-4{z-index:4}.z-40{z-index:40}.z-50{z-index:50}.z-99{z-index:99}.float-left{float:left}.float-right{float:right}.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-4{margin:calc(var(--spacing)*4)}.mx-auto{margin-inline:auto}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-6{margin-top:calc(var(--spacing)*6)}.mt-12{margin-top:calc(var(--spacing)*12)}.mt-16{margin-top:calc(var(--spacing)*16)}.mt-auto{margin-top:auto}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-2{margin-right:calc(var(--spacing)*2)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-6{height:calc(var(--spacing)*6)}.h-16{height:calc(var(--spacing)*16)}.h-48{height:calc(var(--spacing)*48)}.h-\[20rem\]{height:20rem}.h-\[80\%\]{height:80%}.h-auto{height:auto}.h-full{height:100%}.h-screen{height:100vh}.min-h-screen{min-height:100vh}.w-6{width:calc(var(--spacing)*6)}.w-22{width:calc(var(--spacing)*22)}.w-64{width:calc(var(--spacing)*64)}.w-100{width:calc(var(--spacing)*100)}.w-\[2px\]{width:2px}.w-\[50\%\]{width:50%}.w-\[80\%\]{width:80%}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-max{width:max-content}.w-screen{width:100vw}.max-w-4xl{max-width:var(--container-4xl)}.max-w-none{max-width:none}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.-translate-x-full{--tw-translate-x:-100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-full{--tw-translate-x:100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1{--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.rotate-x-3{--tw-rotate-x:rotateX(3deg);transform:var(--tw-rotate-x)var(--tw-rotate-y)var(--tw-rotate-z)var(--tw-skew-x)var(--tw-skew-y)}.rotate-x-30{--tw-rotate-x:rotateX(30deg);transform:var(--tw-rotate-x)var(--tw-rotate-y)var(--tw-rotate-z)var(--tw-skew-x)var(--tw-skew-y)}.rotate-y-3{--tw-rotate-y:rotateY(3deg);transform:var(--tw-rotate-x)var(--tw-rotate-y)var(--tw-rotate-z)var(--tw-skew-x)var(--tw-skew-y)}.transform{transform:var(--tw-rotate-x)var(--tw-rotate-y)var(--tw-rotate-z)var(--tw-skew-x)var(--tw-skew-y)}.animate-bounce{animation:var(--animate-bounce)}.cursor-context-menu{cursor:context-menu}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-center-safe{justify-content:safe center}.gap-2{gap:calc(var(--spacing)*2)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}.self-center{align-self:center}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-t-full{border-top-left-radius:3.40282e38px;border-top-right-radius:3.40282e38px}.rounded-t-lg{border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg)}.rounded-b-full{border-bottom-right-radius:3.40282e38px;border-bottom-left-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-3{border-style:var(--tw-border-style);border-width:3px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-s-2{border-inline-start-style:var(--tw-border-style);border-inline-start-width:2px}.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-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-solid{--tw-border-style:solid;border-style:solid}.border-black{border-color:var(--color-black)}.border-gray-400{border-color:var(--color-gray-400)}.border-r-transparent{border-right-color:#0000}.border-l-transparent{border-left-color:#0000}.bg-black{background-color:var(--color-black)}.bg-blue-300{background-color:var(--color-blue-300)}.bg-cyan-200{background-color:var(--color-cyan-200)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-gray-800{background-color:var(--color-gray-800)}.bg-sky-200{background-color:var(--color-sky-200)}.bg-sky-300{background-color:var(--color-sky-300)}.bg-sky-600{background-color:var(--color-sky-600)}.bg-white{background-color:var(--color-white)}.bg-\[radial-gradient\(circle\,rgba\(0\,0\,0\,0\)_0\%\,rgba\(0\,0\,0\,0\.5\)_70\%\,\#ffffff_100\%\)\,repeating-linear-gradient\(45deg\,\#000000\,\#000000_10px\,\#ffffff_10px\,\#ffffff_20px\)\]{background-image:radial-gradient(circle,#0000 0%,#00000080 70%,#fff 100%),repeating-linear-gradient(45deg,#000,#000 10px,#fff 10px 20px)}.bg-\[repeating-linear-gradient\(transparent\,transparent_27px\,\#333_28px\)\]{background-image:repeating-linear-gradient(#0000,#0000 27px,#333 28px)}.bg-\[size\:100\%_28px\]{background-size:100% 28px}.object-cover{object-fit:cover}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-4{padding:calc(var(--spacing)*4)}.p-5{padding:calc(var(--spacing)*5)}.p-8{padding:calc(var(--spacing)*8)}.p-12{padding:calc(var(--spacing)*12)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-1{padding-block:calc(var(--spacing)*1)}.py-2{padding-block:calc(var(--spacing)*2)}.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-16{padding-block:calc(var(--spacing)*16)}.pt-5{padding-top:calc(var(--spacing)*5)}.text-center{text-align:center}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.font-serif{font-family:var(--font-serif)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.whitespace-nowrap{white-space:nowrap}.text-black{color:var(--color-black)}.text-blue-500{color:var(--color-blue-500)}.text-blue-700{color:var(--color-blue-700)}.text-gray-300{color:var(--color-gray-300)}.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-white{color:var(--color-white)}.italic{font-style:italic}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.opacity-30{opacity:.3}.opacity-100{opacity:1}.shadow-xl\/30{--tw-shadow-alpha:30%;--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,oklab(0% 0 0/.3)),0 8px 10px -6px var(--tw-shadow-color,oklab(0% 0 0/.3));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_4px_0_black\]{--tw-shadow:0 4px 0 var(--tw-shadow-color,black);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_4px_6px_-1px_rgb\(107\,114\,128\)\]{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#6b7280);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.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,)}.backdrop-opacity-20{--tw-backdrop-opacity:opacity(20%);-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;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-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))}.duration-75{--tw-duration:75ms;transition-duration:75ms}.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-1000{--tw-duration:1s;transition-duration:1s}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.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}.transform-3d{transform-style:preserve-3d}.transform-flat{transform-style:flat}@media (hover:hover){.hover\:z-2:hover{z-index:2}.hover\:-translate-y-1:hover{--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.hover\:-translate-y-2:hover{--tw-translate-y:calc(var(--spacing)*-2);translate:var(--tw-translate-x)var(--tw-translate-y)}.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:scale-120:hover{--tw-scale-x:120%;--tw-scale-y:120%;--tw-scale-z:120%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:rotate-z-2:hover{--tw-rotate-z:rotateZ(2deg);transform:var(--tw-rotate-x)var(--tw-rotate-y)var(--tw-rotate-z)var(--tw-skew-x)var(--tw-skew-y)}.hover\:text-blue-700:hover{color:var(--color-blue-700)}.hover\:text-blue-900:hover{color:var(--color-blue-900)}.hover\:text-white:hover{color:var(--color-white)}.hover\:shadow-\[0_8px_0_black\]:hover{--tw-shadow:0 8px 0 var(--tw-shadow-color,black);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\:grayscale-0:hover{--tw-grayscale:grayscale(0%);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,)}}.active\:z-0:active{z-index:0}@media (min-width:40rem){.sm\:mb-0{margin-bottom:calc(var(--spacing)*0)}.sm\:flex{display:flex}.sm\:flex-row{flex-direction:row}}@media (min-width:48rem){.md\:flex{display:flex}.md\:hidden{display:none}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.md\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}}@media (min-width:64rem){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}}@media (prefers-color-scheme:dark){.dark\:border-white{border-color:var(--color-white)}.dark\:bg-black{background-color:var(--color-black)}.dark\:bg-emerald-500{background-color:var(--color-emerald-500)}.dark\:bg-\[repeating-linear-gradient\(transparent\,transparent_27px\,\#aaa_28px\)\]{background-image:repeating-linear-gradient(#0000,#0000 27px,#aaa 28px)}}}@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-rotate-x{syntax:"*";inherits:false;initial-value:rotateX(0)}@property --tw-rotate-y{syntax:"*";inherits:false;initial-value:rotateY(0)}@property --tw-rotate-z{syntax:"*";inherits:false;initial-value:rotateZ(0)}@property --tw-skew-x{syntax:"*";inherits:false;initial-value:skewX(0)}@property --tw-skew-y{syntax:"*";inherits:false;initial-value:skewY(0)}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-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-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}@keyframes spin{to{transform:rotate(360deg)}}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}} \ No newline at end of file +@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-rotate-x:rotateX(0);--tw-rotate-y:rotateY(0);--tw-rotate-z:rotateZ(0);--tw-skew-x:skewX(0);--tw-skew-y:skewY(0);--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-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-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-serif:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-orange-200:oklch(90.1% .076 70.697);--color-green-200:oklch(92.5% .084 155.995);--color-emerald-500:oklch(69.6% .17 162.48);--color-teal-200:oklch(91% .096 180.426);--color-cyan-200:oklch(91.7% .08 205.041);--color-sky-200:oklch(90.1% .058 230.902);--color-sky-300:oklch(82.8% .111 230.318);--color-sky-600:oklch(58.8% .158 241.966);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-900:oklch(37.9% .146 265.522);--color-slate-900:oklch(20.8% .042 265.755);--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-black:#000;--color-white:#fff;--spacing:.25rem;--container-4xl:56rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-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;--font-weight-light:300;--font-weight-medium:500;--font-weight-bold:700;--leading-tight:1.25;--radius-md:.375rem;--radius-lg:.5rem;--ease-in:cubic-bezier(.4,0,1,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-bounce:bounce 1s infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-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}}@layer components;@layer utilities{.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.top-16{top:calc(var(--spacing)*16)}.right-0{right:calc(var(--spacing)*0)}.bottom-8{bottom:calc(var(--spacing)*8)}.-z-0{z-index:calc(0*-1)}.-z-1{z-index:calc(1*-1)}.-z-10{z-index:calc(10*-1)}.z-0{z-index:0}.z-1{z-index:1}.z-3{z-index:3}.z-4{z-index:4}.z-40{z-index:40}.z-50{z-index:50}.z-99{z-index:99}.float-left{float:left}.float-right{float:right}.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-4{margin:calc(var(--spacing)*4)}.m-auto{margin:auto}.mx-auto{margin-inline:auto}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-6{margin-top:calc(var(--spacing)*6)}.mt-12{margin-top:calc(var(--spacing)*12)}.mt-16{margin-top:calc(var(--spacing)*16)}.mt-auto{margin-top:auto}.mr-1{margin-right:calc(var(--spacing)*1)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.\!h-48{height:calc(var(--spacing)*48)!important}.h-6{height:calc(var(--spacing)*6)}.h-16{height:calc(var(--spacing)*16)}.h-48{height:calc(var(--spacing)*48)}.h-48\!{height:calc(var(--spacing)*48)!important}.h-\[20rem\]{height:20rem}.h-\[80\%\]{height:80%}.h-auto{height:auto}.h-full{height:100%}.h-screen{height:100vh}.min-h-screen{min-height:100vh}.w-6{width:calc(var(--spacing)*6)}.w-22{width:calc(var(--spacing)*22)}.w-36{width:calc(var(--spacing)*36)}.w-64{width:calc(var(--spacing)*64)}.w-86{width:calc(var(--spacing)*86)}.w-100{width:calc(var(--spacing)*100)}.w-\[2px\]{width:2px}.w-\[50\%\]{width:50%}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-max{width:max-content}.w-screen{width:100vw}.max-w-4xl{max-width:var(--container-4xl)}.max-w-none{max-width:none}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.-translate-x-full{--tw-translate-x:-100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-full{--tw-translate-x:100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.rotate-x-3{--tw-rotate-x:rotateX(3deg);transform:var(--tw-rotate-x)var(--tw-rotate-y)var(--tw-rotate-z)var(--tw-skew-x)var(--tw-skew-y)}.rotate-x-30{--tw-rotate-x:rotateX(30deg);transform:var(--tw-rotate-x)var(--tw-rotate-y)var(--tw-rotate-z)var(--tw-skew-x)var(--tw-skew-y)}.rotate-y-3{--tw-rotate-y:rotateY(3deg);transform:var(--tw-rotate-x)var(--tw-rotate-y)var(--tw-rotate-z)var(--tw-skew-x)var(--tw-skew-y)}.transform{transform:var(--tw-rotate-x)var(--tw-rotate-y)var(--tw-rotate-z)var(--tw-skew-x)var(--tw-skew-y)}.animate-bounce{animation:var(--animate-bounce)}.cursor-context-menu{cursor:context-menu}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-center-safe{justify-content:safe center}.gap-2{gap:calc(var(--spacing)*2)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}.self-center{align-self:center}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-t-full{border-top-left-radius:3.40282e38px;border-top-right-radius:3.40282e38px}.rounded-t-lg{border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg)}.rounded-b-full{border-bottom-right-radius:3.40282e38px;border-bottom-left-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-3{border-style:var(--tw-border-style);border-width:3px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-s-2{border-inline-start-style:var(--tw-border-style);border-inline-start-width:2px}.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-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-solid{--tw-border-style:solid;border-style:solid}.border-black{border-color:var(--color-black)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-400{border-color:var(--color-gray-400)}.border-r-transparent{border-right-color:#0000}.border-l-transparent{border-left-color:#0000}.bg-black{background-color:var(--color-black)}.bg-blue-300{background-color:var(--color-blue-300)}.bg-cyan-200{background-color:var(--color-cyan-200)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-gray-800{background-color:var(--color-gray-800)}.bg-green-200{background-color:var(--color-green-200)}.bg-sky-200{background-color:var(--color-sky-200)}.bg-sky-300{background-color:var(--color-sky-300)}.bg-sky-600{background-color:var(--color-sky-600)}.bg-teal-200{background-color:var(--color-teal-200)}.bg-white{background-color:var(--color-white)}.bg-\[repeating-linear-gradient\(transparent\,transparent_27px\,\#333_28px\)\]{background-image:repeating-linear-gradient(#0000,#0000 27px,#333 28px)}.bg-\[size\:100\%_28px\]{background-size:100% 28px}.object-cover{object-fit:cover}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-4{padding:calc(var(--spacing)*4)}.p-5{padding:calc(var(--spacing)*5)}.p-8{padding:calc(var(--spacing)*8)}.p-12{padding:calc(var(--spacing)*12)}.p-20{padding:calc(var(--spacing)*20)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-1{padding-block:calc(var(--spacing)*1)}.py-2{padding-block:calc(var(--spacing)*2)}.py-6{padding-block:calc(var(--spacing)*6)}.py-8{padding-block:calc(var(--spacing)*8)}.py-16{padding-block:calc(var(--spacing)*16)}.pt-5{padding-top:calc(var(--spacing)*5)}.text-center{text-align:center}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.font-serif{font-family:var(--font-serif)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.whitespace-nowrap{white-space:nowrap}.text-blue-500{color:var(--color-blue-500)}.text-blue-700{color:var(--color-blue-700)}.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-white{color:var(--color-white)}.italic{font-style:italic}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.opacity-30{opacity:.3}.opacity-100{opacity:1}.shadow-xl\/30{--tw-shadow-alpha:30%;--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,oklab(0% 0 0/.3)),0 8px 10px -6px var(--tw-shadow-color,oklab(0% 0 0/.3));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_4px_0_black\]{--tw-shadow:0 4px 0 var(--tw-shadow-color,black);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_4px_6px_-1px_rgb\(107\,114\,128\)\]{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#6b7280);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.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,)}.backdrop-opacity-20{--tw-backdrop-opacity:opacity(20%);-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;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-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))}.duration-75{--tw-duration:75ms;transition-duration:75ms}.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-1000{--tw-duration:1s;transition-duration:1s}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.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}.transform-3d{transform-style:preserve-3d}.transform-flat{transform-style:flat}@media (hover:hover){.hover\:z-2:hover{z-index:2}.hover\:-translate-y-1:hover{--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.hover\:-translate-y-2:hover{--tw-translate-y:calc(var(--spacing)*-2);translate:var(--tw-translate-x)var(--tw-translate-y)}.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:scale-120:hover{--tw-scale-x:120%;--tw-scale-y:120%;--tw-scale-z:120%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:rotate-z-2:hover{--tw-rotate-z:rotateZ(2deg);transform:var(--tw-rotate-x)var(--tw-rotate-y)var(--tw-rotate-z)var(--tw-skew-x)var(--tw-skew-y)}.hover\:text-blue-700:hover{color:var(--color-blue-700)}.hover\:text-blue-900:hover{color:var(--color-blue-900)}.hover\:text-white:hover{color:var(--color-white)}.hover\:shadow-\[0_8px_0_black\]:hover{--tw-shadow:0 8px 0 var(--tw-shadow-color,black);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\:grayscale-0:hover{--tw-grayscale:grayscale(0%);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,)}}.active\:z-0:active{z-index:0}@media (min-width:40rem){.sm\:flex{display:flex}.sm\:flex-row{flex-direction:row}}@media (min-width:48rem){.md\:flex{display:flex}.md\:hidden{display:none}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}}@media (min-width:64rem){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}}@media (prefers-color-scheme:dark){.dark\:border-white{border-color:var(--color-white)}.dark\:bg-black{background-color:var(--color-black)}.dark\:bg-emerald-500{background-color:var(--color-emerald-500)}.dark\:bg-\[repeating-linear-gradient\(transparent\,transparent_27px\,\#aaa_28px\)\]{background-image:repeating-linear-gradient(#0000,#0000 27px,#aaa 28px)}}}@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-rotate-x{syntax:"*";inherits:false;initial-value:rotateX(0)}@property --tw-rotate-y{syntax:"*";inherits:false;initial-value:rotateY(0)}@property --tw-rotate-z{syntax:"*";inherits:false;initial-value:rotateZ(0)}@property --tw-skew-x{syntax:"*";inherits:false;initial-value:skewX(0)}@property --tw-skew-y{syntax:"*";inherits:false;initial-value:skewY(0)}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-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-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}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}} \ No newline at end of file