*,*:before,*:after{box-sizing:border-box}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}ul[role=list],ol[role=list]{list-style:none}html:focus-within{scroll-behavior:smooth}body{min-height:100vh;text-rendering:optimizeSpeed;line-height:1.5}a:not([class]){text-decoration-skip-ink:auto}img,picture{max-width:100%;display:block}input,button,textarea,select{font:inherit}@media (prefers-reduced-motion: reduce){html:focus-within{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:root{--fs--2: clamp(.7813rem, .7747rem + .0326vw, .8rem);--fs--1: clamp(.9375rem, .9158rem + .1087vw, 1rem);--fs-0: clamp(1.125rem, 1.0815rem + .2174vw, 1.25rem);--fs-1: clamp(1.35rem, 1.2761rem + .3696vw, 1.5625rem);--fs-2: clamp(1.62rem, 1.5041rem + .5793vw, 1.9531rem);--fs-3: clamp(1.944rem, 1.771rem + .8651vw, 2.4414rem);--fs-4: clamp(2.3328rem, 2.0827rem + 1.2504vw, 3.0518rem);--fs-5: clamp(2.7994rem, 2.4462rem + 1.7658vw, 3.8147rem)}body{font-family:Verdana;background-color:#161616;color:#fff;overflow-x:hidden;font-size:var(--fs--1)}p{font-size:var(--fs--1)}h1{font-size:var(--fs-3)}h2{font-size:var(--fs-2)}h3{font-size:var(--fs-1)}.page-title{line-height:1.2;padding:25px 0}a{text-decoration:none;color:inherit;position:relative;overflow:hidden}.external-link{display:inline-block;margin-left:-.3em;width:1em;height:1em}nav a:not(.logo):before{content:"";position:absolute;display:block;width:100%;height:2px;bottom:-2px;left:0;background-color:#dc143c;transform:scaleX(0);transition:transform .2s ease-in-out;transform-origin:0% 50%;z-index:1}nav a:not(.logo):hover:before{transform:scaleX(1);box-shadow:0 0 8px 1px #dc143ccc}ul{list-style-type:none;padding:0}video{max-width:100%;height:auto;display:block}.projects>div:hover h3{color:#dc143c}.card{display:flex;flex-direction:column;background-color:#2a2a2a;padding:20px;text-align:left;box-shadow:6px 6px 10px 5px #0006;transition:transform .2s ease-in-out;position:relative}.container{width:100%;max-width:50rem;margin:0 auto;padding-left:1rem;padding-right:1rem;line-height:1.6;text-align:justify;box-sizing:border-box;padding:0 1rem}.container h1{text-align:center}.tech-list{color:gray;padding:0;margin:auto;gap:1rem;display:flex;flex-direction:row;align-items:center}.tech-list li{padding:0;margin:auto;text-align:center;max-width:fit-content;display:inline-block;font-size:var(--fs--1)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(20rem,100%),1fr));gap:1rem;justify-content:center;align-content:flex-start}pre{overflow-x:auto;white-space:pre;word-wrap:normal;-webkit-overflow-scrolling:touch}pre code{display:block;white-space:inherit}.prose :is(h2,h3,h4,h5,h6){margin-top:1rem;margin-bottom:1rem;font-weight:400;color:#dc143c}.prose p{margin-block-start:1em;margin-block-end:1em}.prose a{color:#dc143c}.prose ul{list-style-type:disc;padding-left:1.5rem}.prose ol{padding-left:1.5rem}.prose li,.post li a{max-width:fit-content}.prose ol a,.prose ul a{color:#dc143c}.prose code:not(pre code){padding:0 .2em;border-radius:4px;background-color:#2a2a2a;font-family:monospace}.prose pre{max-inline-size:100%;border-radius:8px;-moz-tab-size:4;tab-size:4;border:1px solid #333}.prose pre code .line{margin-left:.5rem}.prose img{margin:auto}@media (hover: none){nav a:not(.logo):before{display:none;transition:none}}@media (hover: hover){.card:hover{transform:translateY(-5px);box-shadow:0 0 20px 8px #dc143ccc}.card:hover h3{color:#dc143c}.post a:hover{text-shadow:0 0 10px crimson}.prose a:hover,.comments a:hover{color:#dc143c;text-shadow:0 0 10px crimson,0 0 10px crimson}}nav.svelte-kyj163{box-shadow:0 0 20px 4px #00000080}nav.svelte-kyj163 ul:where(.svelte-kyj163){list-style:none;display:flex;gap:1.5em;align-items:center;justify-content:right;margin:0;padding:0}nav.svelte-kyj163 li:where(.svelte-kyj163){font-size:var(--fs-0)}nav.svelte-kyj163 li.spacer:where(.svelte-kyj163){flex:1}nav.svelte-kyj163 ul:where(.svelte-kyj163) li:where(.svelte-kyj163):last-child{margin-right:20px}nav.svelte-kyj163 img:where(.svelte-kyj163){display:block;padding-top:5px;padding-bottom:5px;margin:0}footer.svelte-xxh87m{color:#969696;max-width:fit-content;margin-left:auto;margin-right:auto;padding-top:2rem;padding-bottom:2rem}footer.svelte-xxh87m ul:where(.svelte-xxh87m){list-style:none;display:flex;justify-content:center;gap:1.5em;margin:0;padding-top:.5rem;padding-bottom:.5rem}footer.svelte-xxh87m img:where(.svelte-xxh87m):hover{opacity:.7}
