:root{color-scheme:light;--color-white:#fffaf8;--color-black:#000;--color-grey:#828282;--color-grey-light:#e8e8e8;--color-grey-dark:#1c1c1d;--color-grey-900:#212529;--color-orange:#ff5700;--color-red-dark:#b71c1c;--global-bg-color:var(--color-white);--global-text-color:var(--color-black);--global-text-color-light:var(--color-grey);--global-theme-color:var(--color-orange);--global-hover-color:var(--color-orange);--global-hover-text-color:var(--color-white);--global-divider-color:#0000001a;--global-card-bg-color:var(--color-white);--global-code-bg-color:#ff57000d;--global-highlight-color:var(--color-red-dark);--global-footer-bg-color:var(--color-grey-dark);--global-footer-text-color:var(--color-grey-light);--global-footer-link-color:var(--color-white);--global-tip-block:#42b983;--global-tip-block-bg:#e2f5ec;--global-tip-block-text:#215d42;--global-tip-block-title:#359469;--global-warning-block:#e7c000;--global-warning-block-bg:#fff8d8;--global-warning-block-text:#6b5900;--global-warning-block-title:#b29400;--global-danger-block:#c00;--global-danger-block-bg:#ffe0e0;--global-danger-block-text:#600;--global-danger-block-title:#c00;--max-content-width:930px;--nav-height:56px;--font-body:"Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-heading:"Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace}html[data-theme=dark]{color-scheme:dark;--global-bg-color:var(--color-grey-dark);--global-text-color:var(--color-grey-light);--global-text-color-light:var(--color-grey);--global-divider-color:#424246;--global-card-bg-color:var(--color-grey-900);--global-code-bg-color:#2c3237;--global-footer-bg-color:var(--color-grey-light);--global-footer-text-color:var(--color-grey-dark);--global-footer-link-color:var(--color-black)}html.theme-transition,html.theme-transition *,html.theme-transition :before,html.theme-transition :after{transition:all .75s!important;transition-delay:0!important}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;height:100%}body{min-height:100vh;padding-top:var(--nav-height);background-color:var(--global-bg-color);color:var(--global-text-color);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex-direction:column;margin:0;padding-bottom:0;font-weight:400;line-height:1.6;display:flex}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);scroll-margin-top:calc(var(--nav-height) + 10px);color:var(--global-text-color);margin:1.5rem 0 1rem;font-weight:500;line-height:1.25}h1{font-size:2.25rem;font-weight:700}h2{font-size:1.75rem}h3{font-size:1.4rem}p{margin:0 0 1rem}a{color:var(--global-theme-color);text-decoration:none}a:hover{color:var(--global-theme-color);text-decoration:underline}.nav-link,.navbar-brand,a[aria-current=page]{position:relative}.nav-link:after,.navbar-brand:after{content:"";background-color:var(--global-theme-color);transform-origin:0;width:100%;height:2px;transition:transform .2s;position:absolute;bottom:-2px;left:0;transform:scaleX(0)}.nav-link:hover:after,.nav-link[aria-current=page]:after,.navbar-brand:hover:after{transform:scaleX(1)}.nav-link:hover,.nav-link[aria-current=page],.navbar-brand:hover,.navbar-brand[aria-current=page]{color:var(--global-theme-color);text-decoration:none}code,pre{font-family:var(--font-mono);background-color:var(--global-code-bg-color)}code{border-radius:3px;padding:.15em .35em;font-size:.95em}pre{padding:1rem;overflow-x:auto}pre code{background:0 0;padding:0}hr{border:0;border-top:1px solid var(--global-divider-color);margin:2rem 0}main{flex:1 0 auto}.container{width:100%;max-width:var(--max-content-width);margin-inline:auto;padding-inline:1.25rem}.site-header{height:var(--nav-height);background-color:var(--global-bg-color);border-bottom:1px solid var(--global-divider-color);z-index:1000;position:fixed;top:0;left:0;right:0}.navbar{justify-content:space-between;align-items:center;height:100%;display:flex}.navbar-brand{font-family:var(--font-heading);color:var(--global-text-color);font-size:1.15rem;font-weight:700}.navbar-end{align-items:center;gap:.75rem;display:flex}.navbar-nav{gap:1.25rem;margin:0;padding:0;list-style:none;display:flex}.nav-link{color:var(--global-text-color);font-weight:500}.theme-toggle{color:var(--global-text-color);cursor:pointer;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:color .2s;display:inline-flex}.theme-toggle:hover{color:var(--global-theme-color)}.theme-icon--system,.theme-icon--dark,.theme-icon--light{display:none}:root:not([data-theme-setting]) .theme-icon--system,html:not([data-theme-setting]) .theme-icon--system,html[data-theme-setting=system] .theme-icon--system,html[data-theme-setting=dark] .theme-icon--dark,html[data-theme-setting=light] .theme-icon--light,html:not([data-theme-setting]) .theme-icon--system{display:block}main.container{padding-top:2rem;padding-bottom:2rem}.hero h1{margin-top:0}.tagline{color:var(--global-text-color-light);font-size:1.15rem}.placeholder-note{background-color:var(--global-code-bg-color);border-left:3px solid var(--global-theme-color);border-radius:3px;margin-top:2rem;padding:1rem 1.25rem}.news{margin-top:2.5rem}.news h2{margin:0 0 1rem;font-size:1.2rem}.news__list{margin:0;padding:0;list-style:none}.news__item{border-top:1px solid var(--global-divider-color);align-items:baseline;gap:1.25rem;padding:.65rem 0;display:flex}.news__date{white-space:nowrap;color:var(--global-text-color-light);flex:none;font-size:.9rem}.news__content{flex:auto}.news__content :where(p){margin:0;display:inline}.news__empty{color:var(--global-text-color-light)}.site-footer{background-color:var(--global-footer-bg-color);color:var(--global-footer-text-color);flex-shrink:0}.footer__inner{justify-content:space-between;align-items:center;gap:1rem;padding-block:1.5rem;display:flex}.footer__copyright{margin:0;font-size:.9rem}.footer__socials{align-items:center;gap:.75rem;display:flex}.footer__social-link{color:var(--global-footer-link-color);border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:opacity .2s;display:inline-flex}.footer__social-link:hover{opacity:.75;text-decoration:none}.footer__social-icon{display:block}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.blog-index h1{margin-top:0}.blog-index__lede{color:var(--global-text-color-light);margin-bottom:2.5rem;font-size:1.15rem}.blog-index__list{flex-direction:column;gap:1.5rem;margin:0;padding:0;list-style:none;display:flex}.blog-index__item{border-top:1px solid var(--global-divider-color);padding-top:1.25rem}.blog-index__link{color:inherit;text-decoration:none;display:block}.blog-index__link:hover{text-decoration:none}.blog-index__title{font-family:var(--font-heading);margin:0 0 .35rem;font-size:1.35rem;transition:color .2s}.blog-index__link:hover .blog-index__title{color:var(--global-hover-color)}.blog-index__date{color:var(--global-text-color-light);margin:0 0 .6rem;font-size:.9rem}.blog-index__desc{color:var(--global-text-color-light);margin:0 0 .6rem}.blog-index__tags{flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.blog-index__tag{color:var(--global-text-color-light);background-color:var(--global-code-bg-color);border-radius:999px;padding:.15rem .6rem;font-size:.78rem}.about__header{margin-bottom:1rem}.about__header h1{margin:0 0 .35rem;font-size:2.25rem;font-weight:400}.about__header h1 .first-name{font-weight:700}.about__subtitle{color:var(--global-text-color-light);margin:0;font-size:1.15rem}.about__bio{overflow:hidden}.about__photo{float:right;border-radius:4px;width:30%;min-width:130px;max-width:270px;margin:0 0 1rem 1.5rem;box-shadow:0 2px 5px #00000029,0 2px 10px #0000001f}.about__bio p{margin:0 0 1rem;line-height:1.7}.not-found{text-align:center;padding:4rem 0}.not-found h1{color:var(--global-theme-color);margin:0 0 .5rem;font-size:5rem}.not-found__message{color:var(--global-text-color-light);margin-bottom:2rem;font-size:1.15rem}@media (width<=576px){.about__photo{float:none;width:100%;max-width:100%;margin:0 auto 1rem;display:block}.footer__inner{text-align:center;flex-direction:column}}
