
*,:after,:before{box-sizing:border-box;background-color:inherit;color:inherit;margin:0;padding:0}@font-face{font-family:"Fira Code";src:url("/assets/fonts/fira-code-400-aa20ab701e41.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:"Fira Code";src:url("/assets/fonts/fira-code-500-029f777a061d.woff2") format("woff2");font-style:normal;font-weight:500;font-display:swap}@font-face{font-family:"Fira Code";src:url("/assets/fonts/fira-code-700-6f0428643b4f.woff2") format("woff2");font-style:normal;font-weight:700;font-display:swap}html{font-size:13px}.theme-toggle{opacity:.65;position:relative;border-radius:5px;width:28px;height:28px;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;transition:opacity .3s ease 0s;border:none;outline:none;background:none;cursor:pointer;padding:0px;appearance:none;flex-shrink:0}.theme-toggle:focus-visible{outline:2px solid var(--link-color);outline-offset:3px}@media(prefers-reduced-motion: reduce){.theme-toggle,.theme-toggle span,.theme-toggle span::before,.theme-toggle span::after{transition:none}}html,html[data-theme=light]{--very-light-text-color: rgb(236, 237, 238);--light-text-color: #bbb;--medium-text-color: #555;--main-text-color: #333;--dark-text-color: #111;--link-color: #df0505;--page-background: #f2f2f2;background-color:#f2f2f2}html .theme-toggle span,html[data-theme=light] .theme-toggle span{position:relative;width:24px;height:24px;border-radius:50%;border:none;background-color:var(--theme-ui-colors-toggleIcon, #2d3748);transform:rotate(18deg);transform-origin:center;transition:all .45s ease 0s;overflow:visible;box-shadow:none}html .theme-toggle span::before,html[data-theme=light] .theme-toggle span::before{content:"";position:absolute;left:8px;top:-2px;height:24px;width:24px;border:none;border-radius:50%;background-color:var(--page-background);transform:translate(0px, 0px);opacity:1;transition:transform .45s ease 0s}html .theme-toggle span::after,html[data-theme=light] .theme-toggle span::after{content:"";width:8px;height:8px;border-radius:50%;margin:-4px 0px 0px -4px;position:absolute;top:50%;left:50%;box-shadow:0 -23px 0 var(--theme-ui-colors-toggleIcon, #2d3748),0 23px 0 var(--theme-ui-colors-toggleIcon, #2d3748),23px 0 0 var(--theme-ui-colors-toggleIcon, #2d3748),-23px 0 0 var(--theme-ui-colors-toggleIcon, #2d3748),15px 15px 0 var(--theme-ui-colors-toggleIcon, #2d3748),-15px 15px 0 var(--theme-ui-colors-toggleIcon, #2d3748),15px -15px 0 var(--theme-ui-colors-toggleIcon, #2d3748),-15px -15px 0 var(--theme-ui-colors-toggleIcon, #2d3748);transform:scale(0);transition:all .35s ease 0s}html[data-theme=dark]{--very-light-text-color: #333;--light-text-color: #444;--medium-text-color: #888;--main-text-color: #ddd;--dark-text-color: #eee;--link-color: #df0505;background-color:#0d1117}html[data-theme=dark] .theme-toggle span{position:relative;width:25px;height:25px;border-radius:50%;border:4px solid var(--theme-ui-colors-toggleIcon, #cbd5e0);background-color:var(--theme-ui-colors-toggleIcon, #cbd5e0);transform:scale(0.36);transform-origin:center;transition:all .45s ease 0s;overflow:visible;box-shadow:none}html[data-theme=dark] .theme-toggle span::before{content:"";position:absolute;right:-9px;top:-9px;height:25px;width:25px;border:2px solid var(--theme-ui-colors-toggleIcon, #cbd5e0);border-radius:50%;transform:translate(14px, -14px);opacity:0;transition:transform .45s ease 0s}html[data-theme=dark] .theme-toggle span::after{content:"";width:8px;height:8px;border-radius:50%;margin:-4px 0px 0px -4px;position:absolute;top:50%;left:50%;box-shadow:0 -23px 0 var(--theme-ui-colors-toggleIcon, #cbd5e0),0 23px 0 var(--theme-ui-colors-toggleIcon, #cbd5e0),23px 0 0 var(--theme-ui-colors-toggleIcon, #cbd5e0),-23px 0 0 var(--theme-ui-colors-toggleIcon, #cbd5e0),15px 15px 0 var(--theme-ui-colors-toggleIcon, #cbd5e0),-15px 15px 0 var(--theme-ui-colors-toggleIcon, #cbd5e0),15px -15px 0 var(--theme-ui-colors-toggleIcon, #cbd5e0),-15px -15px 0 var(--theme-ui-colors-toggleIcon, #cbd5e0);transform:scale(1);transition:all .35s ease 0s}body{font-family:"Fira Code",ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;text-rendering:optimizeLegibility;line-height:1.75;color:var(--main-text-color)}.a2{color:var(--medium-text-color);text-decoration-skip-ink:auto;text-decoration:underline}a{color:var(--link-color);text-decoration-skip-ink:auto;text-decoration:underline}.post p{margin:.5rem 0}#intro p+p{margin-top:1.25rem}.meta{margin:2rem 0}.circular-portrait{position:relative;overflow:hidden;margin-bottom:1.75rem}.circular-portrait img{display:block;width:150px;height:150px;border-radius:50%}code,pre{background:var(--very-light-text-color)}code{padding:.2rem}pre code{border:none}pre{padding:.8rem;white-space:pre-wrap}img{max-width:100%}hr{background:var(--medium-text-color);height:1px;border:0}header{flex-basis:10rem;flex-grow:1;position:relative}header a{text-decoration:none}header li{margin-bottom:.2rem;text-align:right;margin-right:2rem}header a.active{font-weight:bold}header,section{padding:1rem 0}section{margin-top:5.5rem}blockquote{font-style:italic;border-left:5px solid var(--very-light-text-color);padding-left:1rem}h1{color:var(--dark-text-color);text-transform:uppercase}h3{color:var(--medium-text-color)}h1,h2,h3,h4,h5{font-weight:bold;font-size:1rem;margin-bottom:1.5rem}section h1:first-child{margin-top:0}strong,b{font-weight:bold}.photos ul{list-style:none}.photos li{margin-bottom:1.5rem}.photo picture,.project picture{margin-bottom:.5rem}.posts{margin-top:2rem}.posts>h3{font-weight:500}.posts ul,header ul{list-style:none}.posts li{align-items:center;display:flex;margin-bottom:.5rem}.posts li a,.posts li div,.projects li a{text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:bold;min-width:0}.posts li time,.posts li .list-note,.projects li time{padding-left:1rem;white-space:nowrap;font-variant-numeric:tabular-nums}.posts li .list-meta{padding-left:1rem;text-align:right;margin-left:auto;white-space:nowrap;opacity:.5}.posts li .list-meta a{text-decoration-skip-ink:none;font-weight:normal;text-decoration:none}.posts>h2:not(:first-child){margin-top:2rem}time{color:var(--light-text-color)}.list-note{color:var(--light-text-color)}.post>h1.title{margin-top:1.5rem;margin-bottom:0}.post>time{margin-bottom:2rem}main{display:flex;max-width:55rem;margin:-5rem auto 0;padding:2.4rem 2rem;flex-direction:column}.github-corner:hover .octo-arm{animation:octocat-wave 560ms ease-in-out}@keyframes octocat-wave{0%,100%{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}.flex-row-between{display:flex;flex-direction:row;justify-content:space-between}@media screen and (max-width: 45rem){header li{display:inline;margin-right:1rem}.logo{padding-bottom:1rem}header ul{border-bottom:1px solid #edf2f7;padding-bottom:2rem}nav ul{border-right:0px}.photos ul{margin-top:.5rem}main{padding:0 1.25rem}.github-corner{display:none}.posts li{align-items:flex-start;flex-wrap:wrap;row-gap:.2rem}.posts li a,.posts li div,.projects li a{white-space:normal;overflow:visible;text-overflow:clip}.posts li .list-meta,.posts li time,.posts li .list-note,.projects li time{padding-left:0;margin-left:0;width:100%;text-align:left}}section{flex-grow:999;display:flex;flex-direction:column}figcaption{font-size:smaller}.badge{background:#fff;color:#424242;padding-right:1em;height:20px;border-radius:25px;display:flex;align-items:center;justify-content:flex-start;font-size:.8em}.badge__icon{font-size:.8em;background:#de0606;color:#fff;width:15px;height:15px;line-height:15px;border-radius:15px;display:flex;align-items:center;justify-content:center;margin-right:.5em;margin-left:.5em}
