@font-face{font-family:Lobster;src:url(/fonts/lobster.woff2);font-style:normal;font-display:swap}@font-face{font-family:Open Sans;src:url(/fonts/open-sans.woff);font-style:normal;font-display:swap}.name{font-family:Lobster,Arial,Helvetica,sans-serif;font-weight:600}html{-webkit-font-smoothing:antialiased;outline:none;overflow-x:hidden}body{margin:0;line-height:1.5715;font-size:14px;font-family:Open Sans,Arial,Helvetica,sans-serif;font-weight:400;background-color:var(--bgc-0);font-size:1.2rem}*,:after,:before{box-sizing:border-box;-webkit-tap-highlight-color:transparent}a{cursor:pointer;color:#000000;text-decoration:none}a:focus{outline:none}button,h1{all:unset}.blog-hover{transition:all 1s}.blog-hover:hover{transform:scale(.95)}.hero:hover{z-index:3!important;transition:all 1s}.icon-hover>*{transition:transform .3s ease,filter .25s ease-in-out;-webkit-transition:transform .3s ease,filter .25s ease-in-out}.icon-hover:focus>*,.icon-hover:hover>*{filter:drop-shadow(1px 1px 1px rgba(30,30,30,.7));transform:scale(1.2)}.scroll-active .menu-sidebar{border-bottom:solid;background-color:rgba(0,0,0,0)!important;border-radius:0!important;transition:none!important;border-color:var(--fc-0)!important}.menu-sidebar:focus-visible,.menu-sidebar:hover{background-color:var(--hovbg)}.hovbg:focus,.hovbg:hover{background-color:var(--hovbg);border-radius:10px}.hover-button{box-shadow:0 0 6px 2px rgba(0,0,0,.2)}.menu-inline:focus,.menu-inline:hover{background-color:var(--hovbg)}.hover-button:focus,.hover-button:hover{opacity:.8;transform:translateY(-1px);box-shadow:0 0 6px 2px rgba(0,0,0,.5)}.scroll-active .menu-inline{border-bottom:solid;margin-top:3px;background-color:rgba(0,0,0,0)!important;border-radius:0!important;transition:none!important}.skip-link{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.skip-link:focus{background:white;clip:auto;height:auto;left:0;padding:0;position:fixed;top:0;width:auto;z-index:1001}@keyframes hero-slide{0%{transform:translateY(-8px)}50%{transform:translateY(0)}to{transform:translateY(-8px)}}.prose .anchor:after{color:grey}pre{border:1px solid grey;border-radius:20px;background-color:#151516;border-radius:20px!important;padding:20px;overflow-x:auto}code{color:var(--code)}.token.parameter{color:lightblue}.prose code{color:grey}.prose pre code{border:initial;color:grey}.prose img{margin:0}.prose>:first-child{margin-top:1.25em!important;margin-bottom:1.25em!important}.token.cdata,.token.comment,.token.doctype,.token.prolog,.token.punctuation{color:grey}.token.maybe-class-name{color:rgb(241,241,154)}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:lightgreen}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:lavender}.token.tag{color:lightskyblue}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.punctuation,.token.url{color:lightyellow}.token.atrule,.token.attr-value,.token.keyword{color:lightblue}.token.class-name,.token.function{color:lightpink}.token.important,.token.regex,.token.variable{color:lightcyan}[data-theme=light],[data-theme=light] body{--nav-bg:rgba(255,255,255,0.72);--bgc-0:#f3f2ef;--bgc-1:#fff;--bgc-2:#fff;--fc-0:#1d1d1f;--fc-1:#6e6e73;--pallet-0:#f7f7f7;--pallet-1:#f7f7f7;--shadow:0px 1px 10px 0px rgb(0,0,0,0.2);--border:1px solid #e2e1de;--hovbg:rgba(0,0,0,0.1);--link:#3b82f6;--code:#fabc60}[data-theme=dark],[data-theme=dark] body{--nav-bg:rgba(29,29,31,0.72);--bgc-0:#080510;--bgc-1:#151516;--bgc-2:#1d1d20;--fc-0:#f5f5f7;--fc-1:#a1a1a6;--pallet-0:#f7f7f7;--pallet-1:#f7f7f7;--shadow:"";--border:1px solid #000;--hovbg:rgba(255,255,255,0.1);--link:#60a5fa;--code:#fabc60}:root{--fs-sm:0.8rem;--fs-md:1rem;--fs-lg:1.5rem;--fs-xl:clamp(1.5rem,12vw + 1rem,2rem);--fs-xxl:clamp(2.5rem,12vw + 1rem,3rem);--fs-xxxl:clamp(3rem,12vw + 1rem,4rem);--card-rad:0px;--content-pad:0px;--name-size:0.7rem;--card-grid:1fr;--about-grid:1fr}@media (min-width:576px){:root{--card-rad:20px;--content-pad:20px}}@media (min-width:768px){:root{--about-grid:minmax(300px,500px) 1fr}}@media (min-width:816px){:root{--card-grid:1fr 1fr}}@media (min-width:992px){:root{--name-size:1.5rem}}