.fixed{position:fixed}.relative{position:relative}.top-0{top:0}.z-10{z-index:10}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-4{grid-column:span 4/span 4}.col-span-5{grid-column:span 5/span 5}.col-span-7{grid-column:span 7/span 7}.m-0{margin:0}.m-2{margin:.5rem}.m-4{margin:1rem}.mx-0{margin-left:0;margin-right:0}.mx-12{margin-left:3rem;margin-right:3rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-7{margin-left:1.75rem;margin-right:1.75rem}.mx-auto{margin-left:auto;margin-right:auto}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-3{margin-top:.75rem;margin-bottom:.75rem}.my-4{margin-top:1rem;margin-bottom:1rem}.my-auto{margin-top:auto;margin-bottom:auto}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.me-0{margin-inline-end:0}.me-2{margin-inline-end:.5rem}.me-4{margin-inline-end:1rem}.ms-0{margin-inline-start:0}.ms-2{margin-inline-start:.5rem}.ms-8{margin-inline-start:2rem}.mt-0{margin-top:0}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-24{margin-top:6rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.flex{display:flex}.grid{display:grid}.hidden{display:none}.aspect-square{aspect-ratio:1/1}.h-12{height:3rem}.h-16{height:4rem}.h-8{height:2rem}.h-full{height:100%}.h-screen{height:100vh}.min-h-screen{min-height:100vh}.w-11\/12{width:91.666667%}.w-4\/12{width:33.333333%}.w-40{width:10rem}.w-6\/12{width:50%}.w-8{width:2rem}.w-full{width:100%}.w-screen{width:100vw}.max-w-7xl{max-width:80rem}.flex-shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.list-none{list-style-type:none}.grid-flow-row{grid-auto-flow:row}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.content-center{align-content:center}.content-between{align-content:space-between}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.justify-items-end{justify-items:end}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-8{gap:2rem}.gap-x-2{column-gap:.5rem}.gap-x-4{column-gap:1rem}.self-start{align-self:flex-start}.self-center{align-self:center}.justify-self-end{justify-self:end}.justify-self-center{justify-self:center}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-solid{border-style:solid}.border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity))}.p-0{padding:0}.p-4{padding:1rem}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-7{padding-left:1.75rem;padding-right:1.75rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pb-4{padding-bottom:1rem}.pe-0{padding-inline-end:0}.pe-1{padding-inline-end:.25rem}.pe-2{padding-inline-end:.5rem}.ps-2{padding-inline-start:.5rem}.ps-4{padding-inline-start:1rem}.pt-1{padding-top:.25rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.text-center{text-align:center}.text-justify{text-align:justify}.text-start{text-align:start}.text-end{text-align:end}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-normal{line-height:1.5}.tracking-widest{letter-spacing:.1em}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity))}.no-underline{text-decoration-line:none}:root{--foreground-rgb:33,33,33;--background-basic-rgb:246,245,245;--background-start-rgb:246,245,245;--background-middle-rgb:252,191,73;--background-end-rgb:var(--purple);--purple:93,87,135;--button-bg:var(--link);--button-bg-hover:112,99,165;--button-text:240,240,240;--tech-bg-color-rgb:var(--purple);--tech-font-color-rgb:240,240,240;--text:33,33,33;--link:48,39,80;--red-gh:203,34,34;--logo:url(/_next/static/media/carolina_black.c1b09815.png);--img-modal-bg:linear-gradient(125deg,#effce9,#e6faf1);--img-canvas:linear-gradient(125deg,#effce9,#e6faf1)}@media (prefers-color-scheme:dark){:root{--foreground-rgb:240,240,240;--background-basic-rgb:24,24,24;--background-start-rgb:24,24,24;--background-middle-rgb:60,52,93;--button-bg-hover:124,118,167;--button-text:33,33,33;--tech-bg-color-rgb:var(--link);--tech-font-color-rgb:33,33,33;--text:240,240,240;--link:154,150,180;--logo:url(/_next/static/media/carolina_white.74bb86b4.png);--img-modal-bg:linear-gradient(125deg,#121a1d,#363e40);--img-canvas:linear-gradient(125deg,#b8c2b366,#a9b9b266)}}body,html{-ms-overflow-style:none;scrollbar-width:none;&::-webkit-scrollbar{display:none}p{line-height:1.6}h1{margin-top:0}pre{font-family:Times New Roman,Times,serif}}.bg-banner,header{background:rgba(var(--background-basic-rgb),.8)}.logo{background-image:var(--logo);background-repeat:no-repeat;background-size:contain}.bg-basic{background:rgba(var(--background-basic-rgb),.8)}.image-modal{background:var(--img-modal-bg)}.img-prj-bg{background:var(--img-canvas)}body{color:rgb(var(--text));margin:0;background:linear-gradient(to bottom,transparent,rgba(var(--background-start-rgb),1) 70px,rgba(var(--background-end-rgb),1) 2000px) rgb(var(--background-basic-rgb))}button{font-size:large;background-color:rgba(var(--button-bg),1);color:rgba(var(--button-text),1);&:hover{background-color:rgba(var(--button-bg-hover),1);cursor:pointer}}.spacer-vertical{border-width:1px;border-style:solid;border-image:none;border-image-source:linear-gradient(to top,transparent,transparent,rgba(var(--background-end-rgb),1),transparent,transparent);border-image-slice:1}.spacer-horizontal{border-width:1px;border-style:solid;border-image:none;border-image-source:linear-gradient(to left,transparent,transparent,rgba(var(--background-end-rgb),1),transparent,transparent);border-image-slice:1}.overlay-hamburger-menu{background:linear-gradient(to top,transparent,rgb(var(--background-start-rgb)),rgb(var(--background-basic-rgb))) rgba(var(--background-start-rgb),.9)}a{color:rgb(var(--link));&:hover{color:rgba(var(--button-bg-hover),1)}}.tech-color{background-color:rgba(var(--tech-bg-color-rgb),1);color:rgba(var(--tech-font-color-rgb),1)}.project-link-gh-red{color:rgb(var(--red-gh))}a{text-underline-offset:.1rem}@media (min-width:640px){.sm\:col-span-1{grid-column:span 1/span 1}.sm\:m-2{margin:.5rem}}@media (min-width:768px){.md\:order-1{order:1}.md\:order-2{order:2}.md\:col-span-1{grid-column:span 1/span 1}.md\:col-span-2{grid-column:span 2/span 2}.md\:col-span-3{grid-column:span 3/span 3}.md\:col-span-5{grid-column:span 5/span 5}.md\:mx-12{margin-left:3rem;margin-right:3rem}.md\:mx-4{margin-left:1rem;margin-right:1rem}.md\:mx-auto{margin-left:auto;margin-right:auto}.md\:my-0{margin-top:0;margin-bottom:0}.md\:my-4{margin-top:1rem;margin-bottom:1rem}.md\:mb-0{margin-bottom:0}.md\:mb-16{margin-bottom:4rem}.md\:mb-8{margin-bottom:2rem}.md\:me-0{margin-inline-end:0}.md\:me-12{margin-inline-end:3rem}.md\:ms-0{margin-inline-start:0}.md\:ms-8{margin-inline-start:2rem}.md\:mt-0{margin-top:0}.md\:mt-12{margin-top:3rem}.md\:mt-32{margin-top:8rem}.md\:block{display:block}.md\:inline-block{display:inline-block}.md\:flex{display:flex}.md\:grid{display:grid}.md\:hidden{display:none}.md\:h-auto{height:auto}.md\:w-1\/2{width:50%}.md\:w-10\/12{width:83.333333%}.md\:w-2\/12{width:16.666667%}.md\:w-3\/4{width:75%}.md\:w-4\/12{width:33.333333%}.md\:w-6\/12{width:50%}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:flex-col{flex-direction:column}.md\:content-start{align-content:flex-start}.md\:items-center{align-items:center}.md\:justify-end{justify-content:flex-end}.md\:justify-items-end{justify-items:end}.md\:gap-12{gap:3rem}.md\:gap-x-12{column-gap:3rem}.md\:gap-x-4{column-gap:1rem}.md\:p-0{padding:0}.md\:p-4{padding:1rem}.md\:p-8{padding:2rem}.md\:px-16{padding-left:4rem;padding-right:4rem}.md\:px-4{padding-left:1rem;padding-right:1rem}.md\:py-4{padding-top:1rem;padding-bottom:1rem}.md\:pe-2{padding-inline-end:.5rem}.md\:pt-0{padding-top:0}.md\:pt-4{padding-top:1rem}}@media (min-width:1024px){.lg\:col-span-1{grid-column:span 1/span 1}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-4{grid-column:span 4/span 4}.lg\:m-4{margin:1rem}.lg\:mx-36{margin-left:9rem;margin-right:9rem}.lg\:mx-4{margin-left:1rem;margin-right:1rem}.lg\:mb-24{margin-bottom:6rem}.lg\:me-8{margin-inline-end:2rem}.lg\:mt-12{margin-top:3rem}.lg\:mt-8{margin-top:2rem}.lg\:hidden{display:none}.lg\:w-1\/12{width:8.333333%}.lg\:w-1\/2{width:50%}.lg\:w-4\/12{width:33.333333%}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:content-center{align-content:center}.lg\:justify-start{justify-content:flex-start}.lg\:gap-x-4{column-gap:1rem}.lg\:px-0{padding-left:0;padding-right:0}.lg\:px-24{padding-left:6rem;padding-right:6rem}.lg\:pe-14{padding-inline-end:3.5rem}.lg\:ps-8{padding-inline-start:2rem}.lg\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width:1280px){.xl\:m-0{margin:0}.xl\:mb-36{margin-bottom:9rem}.xl\:mt-24{margin-top:6rem}.xl\:w-8\/12{width:66.666667%}}