@charset "UTF-8";html{--bg-color: #1e1e1e;--bg-color-soft: #2f2f2f;--text-color: #f8f8f8;--text-color-soft: #a8a8a8;--text-color-softer: #757575;--yellow: #ffcf56;--green: #14d785;--blue: #21cfff;--purple: #eb4dff;--pink: #f84779}.about-me{--section-color: var(--yellow);--section-contrast: var(--blue)}.blog{--section-color: var(--green);--section-contrast: var(--purple)}.talks{--section-color: var(--blue);--section-contrast: var(--pink)}.courses{--section-color: var(--purple);--section-contrast: var(--green)}.contact{--section-color: var(--pink);--section-contrast: var(--blue)}*{box-sizing:border-box}html{background:var(--bg-color)}html,body{margin:0;padding:0;border:0;scroll-behavior:smooth}*:focus{outline:0;box-shadow:0 0 0 .2rem var(--blue)}img,iframe{max-width:100%;height:auto}pre,code{font-family:monospace}@view-transition{navigation: auto;}html,body{background-color:var(--bg-color);color:var(--text-color);font-family:Helvetica,Arial,sans-serif;line-height:1.3;font-size:18px}a{color:var(--pink)}::selection{background-color:var(--blue)}h1{font-size:2.2rem;margin:3rem 0 1rem}h2{font-size:1.77rem;font-weight:700;margin:3rem 0 1rem}h3{font-size:1rem;font-weight:700;margin:0}p{margin:.2rem 0 .8rem}.section a{color:var(--section-color)}.section *:focus{box-shadow:0 0 0 .2rem var(--section-contrast)}.section ::selection{background-color:var(--section-contrast)}:root{--container-width: 240px;--extra-width: 280px}@media all and (width >= 360px){:root{--container-width: 320px;--extra-width: 360px}}@media all and (width >= 390px){:root{--container-width: 350px;--extra-width: 390px}}@media all and (width >= 700px){:root{--container-width: 660px;--extra-width: 700px}}@media all and (width >= 768px){:root{--extra-width: 768px}}@media all and (width >= 900px){:root{--extra-width: 900px}}.container{width:var(--container-width);margin:0 auto}hr{clear:both}.site-header{margin-top:22px;margin-bottom:70px}.site-title{display:block;margin:0 0 1rem;font-size:1.5rem;font-weight:700;color:var(--text-color);text-decoration:none}.site-title span{display:block;font-size:1.2rem;font-weight:400}.main-nav ul{margin:0;padding:0;font-size:0}.main-nav li{list-style:none;display:inline;font-size:1rem;margin-right:1ch}.main-nav li:after{content:"/";margin-left:1ch;color:var(--text-color-softer)}.main-nav li:last-child{margin-right:0}.main-nav li:last-child:after{content:"";margin-left:0}.main-nav a{color:var(--section-color);text-decoration:none}.main-nav *:focus{box-shadow:0 0 0 .2rem var(--section-contrast)}.main-nav ::selection{background-color:var(--section-contrast)}.site-footer{font-size:.89rem;margin-top:6rem;padding-bottom:1rem;border-top:1px solid var(--text-color-softer);padding-top:3rem;position:relative}.site-footer .social-links a{display:inline-block;margin-left:1ch;color:var(--text-color-soft)}.site-footer .social-links a:first-child{margin-left:0}.site-footer .social-links svg{height:.89rem;width:auto}.copyright-notice{margin:0 0 .5rem}.copyright-notice a{color:var(--text-color);text-decoration:underline dotted var(--text-color-soft)}.extra-credit{margin-top:1.2rem;font-size:.78rem;color:var(--text-color-soft)}.extra-credit a{color:var(--text-color-soft)}.back-to-top{display:block;position:absolute;right:0;bottom:0;padding-top:32px;text-align:right;text-decoration:none;text-transform:lowercase;color:var(--text-color-soft)}.back-to-top:before{content:"<";font-weight:700;font-size:30px;display:block;position:absolute;transform:rotate(90deg);top:0;left:2px}.article-meta{margin:1rem 0;font-size:.89rem;color:var(--text-color-soft)}.article-meta svg{height:.75em}.featured-image-container{margin:1.5rem auto 2rem;position:relative;overflow:hidden;opacity:.9}.featured-image-container .featured-image-bg{position:absolute;background-position:center;background-size:cover;top:-30px;left:-30px;width:calc(100% + 60px);height:calc(100% + 60px);filter:blur(30px);opacity:.8}.featured-image-container img{z-index:1;display:block;margin:0 auto;position:relative;width:var(--extra-width)}.post-content{font-size:1.05em;line-height:1.8;word-break:break-word}.post-content img{opacity:.9}.post-content ul{list-style-type:disc;margin:1rem 0;padding:0 0 0 2.2rem}.post-content li{margin-bottom:1em}.post-content h2,.post-content h3{line-height:1.2}.post-content h3{margin:2em 0 1em;font-size:1.3em}.post-content blockquote{border-left:4px solid var(--section-color);margin:2rem 2rem 2rem 1.3rem;padding:.1rem 0 .2rem .9rem}.post-content hr{border-color:var(--text-color-softer);margin:3rem 0}.post-content figcaption{font-size:.8em;line-height:1.4}.post-content table{width:100%;border-collapse:collapse;border-top:2px solid var(--section-color);margin:2rem 0}.post-content table a{color:inherit}.post-content table td{border:0;padding:.3rem}.post-content table tr:nth-child(2n){background:var(--bg-color-soft)}.post-content table tfoot td{border-top:2px solid var(--section-color);border-bottom:2px solid var(--section-color)}.post-content pre{border:1px solid var(--text-color-softer);font-size:.88rem;margin:2rem 0}@media all and (width >= 750px){.post-content pre{margin:2rem -1.5rem}}.post-content pre:has(code){padding:.2rem .5rem}.post-content pre code.shcb-line-numbers{counter-reset:line-number;padding:0 1em 0 0}.post-content pre code.shcb-line-numbers .shcb-loc{display:block;counter-increment:line-number}.post-content pre code.shcb-line-numbers .shcb-loc:before{content:counter(line-number);width:3ch;display:inline-block;padding:0 .5em;text-align:right;margin:0 1ch 0 0;background-color:var(--bg-color-soft);color:var(--text-color-soft)}.post-content pre code.shcb-line-numbers .shcb-loc:first-child:before{padding-top:.5em}.post-content pre code.shcb-line-numbers .shcb-loc:last-child:before{padding-bottom:.5em}.has-text-align-right{text-align:right}figure{margin:0}.alignleft,.alignright{max-width:50%;margin:.5em 0}.alignleft{float:left;margin-right:1.5em}.alignright{float:right;margin-left:1.5em}.embed{aspect-ratio:16/9;width:100%;margin:1rem 0}.shcb-language{display:block;font-size:.7em;padding:.3em 1em;color:var(--text-color-soft);background-color:var(--bg-color-soft);border-top:1px solid var(--text-color-softer);font-family:Helvetica,Arial,sans-serif}.has-background{padding:1rem;margin:1.7rem 0;font-size:1.1em;line-height:1.4}@media all and (width >= 750px){.has-background{margin:2rem -1.5rem}}.has-yellow-background-color{background-color:var(--yellow);color:var(--bg-color)}
