*,:after,:before{box-sizing:border-box}*{margin:0}body{line-height:1.5;-webkit-font-smoothing:antialiased}img,svg,video{display:block;max-inline-size:100%}button,input,select,textarea{font:inherit}h1,h2,h3,h4,h5,h6{text-wrap:balance}h1,h2,h3,h4,h5,h6,p{overflow-wrap:break-word}p{text-wrap:pretty}a{color:inherit;text-decoration:none}button{padding:0;border:none;background-color:transparent;cursor:pointer}:root{--ease-elastic-out-3:cubic-bezier(0.5,1.25,0.75,1.25);--ease-elastic-3:var(--ease-elastic-out-3);--ease-elastic-out-4:cubic-bezier(0.5,1.5,0.75,1.25);--ease-elastic-4:var(--ease-elastic-out-4);--ease-3:cubic-bezier(0.25,0,0.3,1);--ease-out-5:cubic-bezier(0,0,0,1);--header-block-size:64px;--footer-block-size:100px;--space-inline:24px;--space-block:32px;--max-inline-size:1400px;--theme-transition-duration:150ms;--safe-space:5px;--max-content-block-size:calc(100dvh - var(--header-block-size) - var(--footer-block-size) - var(--safe-space));font-size:16px;scroll-behavior:smooth;--color-1:0 100% 63%;--color-2:270 100% 63%;--color-3:210 100% 63%;--color-4:195 100% 63%;--color-5:90 100% 63%;--speed:2s}[data-theme=light]{--color-background-hsl:0 0% 99%;--color-card:hsl(0,4%,91%);--color-text-hsl:0 0% 1%;--color-stroke-hsl:0 3% 84%;--color-primary:hsl(212 100% 48%);--color-text:hsl(0 0% 1%);--color-text-secondary:hsl(0,0%,30%);--color-background:hsl(0 0% 99%);--color-themed-background:hsl(0 0% 99%);--color-background-secondary:hsl(10 0% 85%);--color-background-tertiary:#D9D9D9FF;--color-explanation:#646464;--color-background-fourth:hsl(0 0% 96%);--color-stroke:hsl(0 2% 76%);--color-themed-stroke:hsla(0 0 0/0.14);--text-gradient:linear-gradient(180deg,hsl(0 0% 33%),hsl(0 0% 0%));color-scheme:light}[data-theme=dark]{--color-background-hsl:0 0% 1%;--color-card:#101012;--color-text-hsl:0 0% 93%;--color-stroke-hsl:0 0% 12%;--color-primary:hsl(212 100% 48%);--color-text:hsl(0 0% 93%);--color-text-secondary:hsl(0,0%,70%);--color-background:#111111;--color-themed-background:hsl(0 0% 4%);--color-background-secondary:hsl(0 0% 6%);--color-background-fourth:hsl(0 0% 8%);--color-background-tertiary:#1c1c1c;--color-explanation:#b3b3b3;--color-stroke:hsl(0,0%,12%);--color-themed-stroke:hsl(0 0% 100%/0.14);--text-gradient:linear-gradient(180deg,hsl(0 0% 100%),hsl(0 0% 68%));color-scheme:dark}[data-theme=dark] .shiki,[data-theme=dark] .shiki span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important}::selection{background-color:var(--color-primary);color:hsl(0 0% 100%)}:focus-visible{outline:2px solid hsl(210 100% 66%);outline-offset:2px}body{text-rendering:optimizeSpeed;accent-color:var(--color-primary);color:var(--color-text);background-color:var(--color-background);transition:color var(--theme-transition-duration),background-color var(--theme-transition-duration)}h2{font-size:24px}h3{font-size:20px}a,button{border-radius:1px}.__next{isolation:isolate}[id]{scroll-margin-block-start:calc(var(--header-block-size) - 1px)}@media (hover:hover){::-webkit-scrollbar{--size:12px;inline-size:var(--size);block-size:var(--size)}::-webkit-scrollbar-thumb{background-color:var(--color-text);background-clip:content-box;border-radius:5px;border:2px solid transparent}::-webkit-scrollbar-corner{display:none}body{cursor:url(/assets/cursor/hand-pointer.png),auto}}@media screen and (min-width:768px){:root{--space-inline:32px;--space-block:90px}h2{font-size:32px}h3{font-size:24px}}@media screen and (max-width:360px){:root{--space-inline:16px;--space-block:24px}}body{cursor:url(/assets/cursor/arrowhead.png),auto}.skillCard:hover,a,button,input,textarea{cursor:url(/assets/cursor/hand-pointer.png),pointer}.hide-overflow{overflow-y:hidden}.section-wrapper{padding:var(--space-block) var(--space-inline);-webkit-border-before:1px dashed var(--color-stroke);border-block-start:1px dashed var(--color-stroke);transition:background-color var(--theme-transition-duration),border-block-start-color var(--theme-transition-duration)}.text-gradient{background-image:var(--text-gradient);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.text-gradient::selection{background-clip:unset;-webkit-background-clip:unset;-webkit-text-fill-color:initial}