@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}section{margin-bottom:70px}section h2{color:var(--section-color)}.about-me{margin-top:70px}.about-me h2{margin-top:.6rem}.about-me-links{display:flex;justify-content:space-between;margin-top:1.2rem}.social-links a{display:inline-block;margin-left:1ch;padding:.1rem;line-height:0}.social-links a:first-child{margin-left:0}.social-links svg{height:1rem;width:auto}.blog-articles{margin:0;padding:0}.blog-articles li{list-style:none;border-left:4px solid var(--section-color);margin-left:3px;width:calc(100% - 3px);padding-left:10px;margin-bottom:28px}.blog-articles a{text-decoration:none;color:inherit;display:block}.blog-articles .article-meta{margin-top:14px;font-size:.89rem;color:var(--text-color-soft)}.blog-more{display:block;text-align:center}.talks-years{margin:0;padding:0}.talks-years li{list-style:none;display:flex;align-items:flex-start}.talks-years h3{writing-mode:vertical-lr;transform:rotate(180deg);color:var(--section-color);letter-spacing:.3ch;margin-right:3px;font-size:1.1rem}.talks-list{border-left:3px solid var(--section-color);padding:0 0 3rem 17px;position:relative}.talks-list a{text-decoration:none;color:inherit;display:block}.talks-list li{margin-bottom:2rem}.talks-list li:last-child{margin-bottom:0}.talks-years li:last-child .talks-list{padding-bottom:0}.talk-meta{margin-top:0;margin-bottom:12px;font-size:.89rem;color:var(--text-color-soft)}.talk-title{margin:0}.courses-list{padding:0;margin:0}.courses-list li{list-style:none;margin-bottom:2rem}.courses-list a{color:inherit;text-decoration:none;display:block}.course-item{display:flex;margin-top:-4px;padding-left:3px}.course-logo{flex-shrink:0;flex-grow:0;height:90px;width:90px;border:1px solid var(--section-color);stroke:var(--section-color);margin-right:1rem;margin-top:4px;display:grid}.course-logo svg{margin:auto}.course-info h3{margin:0 0 .5rem}.course-meta{margin:0;font-size:.89rem;color:var(--text-color-soft)}.course-cta{color:var(--section-color);text-decoration:underline}
