@font-face{font-family:Koruri;src:url(/fonts/Koruri-Regular.woff2)format("woff2"),url(/fonts/Koruri-Regular.woff)format("woff"),url(/fonts/Koruri-Regular.eot)format("embedded-opentype"),url(/fonts/Koruri-Regular.ttf)format("truetype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Koruri;src:url(/fonts/Koruri-Light.woff2)format("woff2"),url(/fonts/Koruri-Light.woff)format("woff"),url(/fonts/Koruri-Light.eot)format("embedded-opentype"),url(/fonts/Koruri-Light.ttf)format("truetype");font-style:normal;font-weight:300;font-display:swap}@font-face{font-family:Koruri;src:url(/fonts/Koruri-Semibold.woff2)format("woff2"),url(/fonts/Koruri-Semibold.woff)format("woff"),url(/fonts/Koruri-Semibold.eot)format("embedded-opentype"),url(/fonts/Koruri-Semibold.ttf)format("truetype");font-style:normal;font-weight:500;font-display:swap}@font-face{font-family:Koruri;src:url(/fonts/Koruri-Bold.woff2)format("woff2"),url(/fonts/Koruri-Bold.woff)format("woff"),url(/fonts/Koruri-Bold.eot)format("embedded-opentype"),url(/fonts/Koruri-Bold.ttf)format("truetype");font-style:normal;font-weight:700;font-display:swap}@font-face{font-family:Koruri;src:url(/fonts/Koruri-Extrabold.woff2)format("woff2"),url(/fonts/Koruri-Extrabold.woff)format("woff"),url(/fonts/Koruri-Extrabold.eot)format("embedded-opentype"),url(/fonts/Koruri-Extrabold.ttf)format("truetype");font-style:normal;font-weight:800;font-display:swap}:root{--c-background:#f2f5ff;--c-card-background:#ffffff80;--c-card-title-background:#fff;--c-text:#000;--c-text-thin:#333;--c-text-light:#666;--c-text-lighter:#999;--c-text-lightest:#ccc;--c-primary:#1747e5;--c-primary-color:var(--c-primary);--c-primary-thin:#1747e580;--c-primary-light:#1747e520;--c-primary-text:#fff;--c-secondary:#5ce66d;--c-secondary-color:var(--c-secondary);--c-secondary-thin:#5ce66d80;--c-secondary-light:#5ce66d20;--c-secondary-text:#000;--c-tertiary:#f2c13d;--c-tertiary-color:var(--c-tertiary);--c-tertiary-thin:#f2c13d80;--c-tertiary-light:#f2c13d20;--c-tertiary-text:#000;--c-quaternary:#e63a69;--c-quaternary-color:var(--c-quaternary);--c-quaternary-thin:#e63a6980;--c-quaternary-light:#e63a6920;--c-quaternary-text:#fff;--c-shadow:#0000000d;--e-shadow:0 .354rem 2rem var(--c-shadow);--e-shadow-hover:0 .395rem 2.5rem var(--c-shadow);--f-black-image:none}@media screen and (prefers-color-scheme:dark){:root{--c-background:#14151a;--c-card-background:#1a1a1a80;--c-card-title-background:#1a1a1a;--c-text:#fff;--c-text-thin:#ccc;--c-text-light:#999;--c-text-lighter:#666;--c-text-lightest:#333;--c-primary-color:#406cff;--c-secondary:#4dbf5b;--c-secondary-thin:#4dbf5b80;--c-secondary-light:#4dbf5b20;--c-secondary-text:#fff;--c-tertiary:#cca333;--c-tertiary-thin:#cca33380;--c-tertiary-light:#cca33320;--c-tertiary-text:#fff;--c-quaternary:#bf3057;--c-quaternary-thin:#bf305780;--c-quaternary-light:#bf305720;--c-shadow:#00000040;--f-black-image:invert(1)}}button,input[type=submit],input[type=button],a.button{box-shadow:var(--e-shadow);background:var(--c-primary);cursor:pointer;width:100%;color:var(--c-primary-text);text-align:center;border:none;border-radius:1rem;margin:.5rem 0;padding:.5rem 1rem;font-size:1rem;display:block}button.short,input[type=submit].short,input[type=button].short,a.button.short{border-radius:100vw;width:auto}button:hover,input[type=submit]:hover,input[type=button]:hover,a.button:hover{box-shadow:var(--e-shadow-hover);filter:brightness(1.1);will-change:filter;text-decoration:none;transform:translateY(-.1rem)scale(1.005)}button:active,input[type=submit]:active,input[type=button]:active,a.button:active{box-shadow:var(--e-shadow);transform:translateY(0)scale(.995)}button:disabled,input[type=submit]:disabled,input[type=button]:disabled,a.button:disabled,a.button.disabled{background:var(--c-primary-light);cursor:not-allowed;color:var(--c-primary-text)}button:disabled:hover,input[type=submit]:disabled:hover,input[type=button]:disabled:hover,a.button:disabled:hover,a.button.disabled:hover{box-shadow:var(--e-shadow);transform:none}button.secondary,input[type=submit].secondary,input[type=button].secondary,a.button.secondary{border:1px solid var(--c-primary);color:var(--c-primary-color);background:0 0}button.secondary:hover,input[type=submit].secondary:hover,input[type=button].secondary:hover,a.button.secondary:hover,button.secondary:active,input[type=submit].secondary:active,input[type=button].secondary:active,a.button.secondary:active{background:var(--c-primary);color:var(--c-primary-text)}button.secondary:disabled,input[type=submit].secondary:disabled,input[type=button].secondary:disabled,a.button.secondary:disabled,a.button.secondary.disabled{border:1px solid var(--c-primary-light);color:var(--c-primary-light);background:0 0}button.loading,input[type=submit].loading,input[type=button].loading,a.button.loading{pointer-events:none;position:relative;color:#0000!important}button.loading:after,input[type=submit].loading:after,input[type=button].loading:after,a.button.loading:after{content:"";border:2px solid var(--c-primary-text);border-top-color:#0000;border-radius:50%;width:1rem;height:1rem;animation:1s linear infinite spin;position:absolute;top:calc(50% - .5rem);left:calc(50% - .5rem)}@keyframes spin{to{transform:rotate(360deg)}}.buttons{gap:.5rem;display:flex}table{border-collapse:collapse;box-shadow:var(--e-shadow);table-layout:fixed;background:var(--c-card-background);border-radius:1rem;width:100%;margin:1rem 0;overflow:hidden}.accordion-toggle:not(:checked)~table.accordion{opacity:0;display:none}.accordion-toggle:checked~table.accordion{display:table}th{background:var(--c-card-title-background);text-align:left;font-weight:700}th,td{overflow-wrap:break-word;border-bottom:1px solid var(--c-background);word-break:break-word;padding:.75rem 1rem}tr:last-child td{border-bottom:none}tr:nth-child(2n){background:var(--c-shadow)}.w-10{width:10%}.w-15{width:15%}.w-20{width:20%}.w-25{width:25%}.w-30{width:30%}.w-33{width:33.33%}.w-40{width:40%}.w-50{width:50%}.w-60{width:60%}.w-70{width:70%}.w-80{width:80%}.w-90{width:90%}.w-auto{width:auto}.input-container{width:100%;margin:.5rem 0}label{color:var(--c-text-thin);font-size:.75rem}input[type=checkbox]+label{margin-left:.5rem;font-size:1rem}input[type=email],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=url]{border:1px solid var(--c-primary);width:100%;color:var(--c-text);background:0 0;border-radius:1rem;padding:.5rem 1rem;font-size:1rem}input[type=color]{border:1px solid var(--c-primary);border-radius:1rem;width:100%;height:2rem;padding:0}input[type=range]{appearance:none;background:var(--c-primary-thin);border-radius:1rem;width:100%;height:.5rem}select{appearance:none;border:1px solid var(--c-primary);width:100%;color:var(--c-text);background:0 0;border-radius:.5rem;padding:.5rem 1rem;font-size:1rem}.range-container{align-items:center;gap:1rem;display:flex}.inputs{gap:1rem;display:flex}@media screen and (width<=30rem){.inputs{flex-direction:column}}*{box-sizing:border-box;margin:0;padding:0;transition-property:background,color,fill,box-shadow,transform,filter,border,opacity;transition-duration:.25s}body{background:var(--c-background);min-height:100vh;color:var(--c-text);flex-direction:column;font-family:Koruri,sans-serif;font-size:1rem;line-height:1.75;display:flex}h1,h2,h3,h4,h5,h6,p{margin-top:2rem;font-weight:400}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}h4,h5,h6,p{font-size:1rem}h1+p,h2+p,h3+p,h4+p,h5+p,h6+p,h1:first-child,h2:first-child,h3:first-child,h4:first-child,h5:first-child,h6:first-child{margin-top:0}a{color:var(--c-primary-color);text-decoration:none}a:hover{text-decoration:underline}canvas{border-radius:1rem;max-width:100%;height:auto}main,.main-width{flex:1;width:100%;max-width:64rem;margin:0 auto;padding:1rem}main ul{list-style-type:none}main ul li{padding-left:2rem;position:relative}main ul li:before{content:"";background:var(--c-primary-color);width:.25rem;height:.25rem;display:block;position:absolute;top:.75rem;left:1rem;transform:rotate(45deg)}main section{margin:2rem 0}main section:first-child{margin-top:0}main .date{color:var(--c-text-light);gap:1rem;display:flex}main code{font-family:Ubuntu Mono,monospace}main code.hljs{border-radius:.5rem}main img:not(.card-image){border-radius:.5rem;max-width:100%;height:auto;max-height:75vh}main hr{border:none;border-top:1px solid var(--c-text-lightest);width:100%;margin:2rem 0}main hr.short{width:50%}main hr.clear{border-color:#0000;margin:1rem 0}main blockquote{color:var(--c-text-thin);padding-left:2rem;position:relative}main blockquote:before{content:"";background:var(--c-text-lightest);border-radius:100vw;width:.25rem;height:100%;display:block;position:absolute;top:0;left:1rem}main.center{flex-direction:column;justify-content:center;align-items:center;display:flex}main .quote{color:var(--c-text-light)}main .details{color:var(--c-text-light);font-size:.75rem}.dot img{image-rendering:pixelated;image-rendering:crisp-edges}.ignore-aspect img{aspect-ratio:unset!important}.ad{width:100%;max-width:62rem;margin:0 auto}footer{flex-wrap:wrap;display:flex}footer>div{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1rem;padding:1rem;display:flex}footer>.about-me>.social{gap:1rem;list-style-type:none;display:flex}footer>.about-me>.social>li>a{border:1px solid var(--c-primary);border-radius:100vw;justify-content:center;align-items:center;padding:.5rem;display:flex}footer>.about-me>.social>li>a>img{width:1.5rem;height:1.5em}footer>.links{min-width:10rem}footer>.links>ul{flex-direction:column;gap:.5rem;list-style-type:none;display:flex}nav{-webkit-backdrop-filter:blur(10rem);backdrop-filter:blur(10rem);z-index:10;flex-wrap:wrap;justify-content:space-between;align-items:center;padding:1rem;display:flex;position:sticky;top:0}@media screen and (height<=50rem){nav{position:initial;-webkit-backdrop-filter:none;backdrop-filter:none}}nav>h1,nav>h1>a{display:contents}nav>h1>a>img{filter:var(--f-black-image);width:auto;height:2rem;margin-right:1rem}nav>ul{gap:1rem;list-style-type:none;display:flex}nav>ul>li>a{color:var(--c-text);text-decoration:none}nav>ul>li>a:hover{color:var(--c-primary-color);text-decoration:underline}body:has(nav:nth-of-type(2)) nav:first-of-type{display:none}
