:root{--color-black:#000;--color-white:#fff;--color-contrast:#111;--color-base:#f8f8f8;--color-card:var(--color-base);--color-muted:#707070;--color-footer-bg:#efefef;--color-footer-text:var(--color-muted);--color-footer-link-hover:var(--color-contrast);--color-border:#00000014;--color-divider:#ececec;--color-input-border:#0003;--color-shadow:#00000005;--font-size-small:clamp(.875rem, .875rem + ((1vw - .2rem) * .227), 1rem);--font-size-medium:clamp(1rem, 1rem + ((1vw - .2rem) * .227), 1.125rem);--font-size-large:clamp(1.75rem, 1.75rem + ((1vw - .2rem) * .227), 1.875rem);--font-size-x-large:2.25rem;--font-family-system:"Google Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;--font-family-mono:ui-monospace, Menlo, Monaco, "Cascadia Mono", "Segoe UI Mono", "Roboto Mono", "Oxygen Mono", "Ubuntu Monospace", "Source Code Pro", "Fira Mono", "Droid Sans Mono", "Courier New", monospace;--font-size-base:var(--font-size-medium);--spacing-30:clamp(1.5rem, 5vw, 2rem);--spacing-40:clamp(1.8rem, 1.8rem + ((1vw - .48rem) * 2.885), 3rem);--spacing-50:clamp(2.5rem, 8vw, 4.5rem);--spacing-60:clamp(3.75rem, 10vw, 7rem);--spacing-70:clamp(5rem, 5.25rem + ((1vw - .48rem) * 9.096), 8rem);--content-size:667px;--wide-size:1200px;--block-gap:1.5rem}html,body{height:100%;margin:0}body{background-color:var(--color-base);color:var(--color-contrast);font-family:var(--font-family-system);font-size:var(--font-size-medium);line-height:1.6}a{color:var(--color-contrast);text-decoration:underline}a:hover{text-decoration:none}h1,h2,h3,h4,h5,h6{margin-top:1.5rem;margin-bottom:1.5rem;font-weight:400;line-height:1.4}h1{letter-spacing:-.025em;font-size:clamp(2.032rem,2.896vw + 1.4528rem,3.625rem);font-weight:500;line-height:1.2}h2{font-size:clamp(2.625rem,8.4135vw - 1.41348rem,3.25rem);line-height:1.2}h3{font-size:var(--font-size-x-large)}h4{font-size:var(--font-size-large)}figure{margin:0 0 1em}.site-wrapper{padding-top:var(--spacing-40);min-height:calc(100vh - var(--spacing-40));flex-direction:column;padding-bottom:0;display:flex}.header-inner{max-width:var(--wide-size);width:calc(100% - 2 * var(--spacing-30));padding-bottom:var(--spacing-40);flex-wrap:wrap;justify-content:space-between;align-items:center;margin:0 auto;display:flex}.site-logo a,.site-logo img{display:block}.site-logo img{border-radius:9999px;max-width:100%;height:auto}.header-nav ul{align-items:center;gap:1.5rem;margin:0;padding:0;list-style:none;display:flex}.header-nav a{font-size:var(--font-size-small);color:var(--color-muted);text-decoration:none}.header-nav a:hover,.header-nav a[aria-current=page]{color:var(--color-contrast)}.header-nav a[aria-current=page]{text-underline-offset:.35em;text-decoration:underline}.site-main{max-width:var(--wide-size);margin-top:var(--spacing-40);margin-bottom:calc(var(--spacing-50) * 1.33);width:calc(100% - 2 * var(--spacing-30));box-sizing:border-box;flex:1;margin-left:auto;margin-right:auto}.site-main-narrow{max-width:var(--content-size);margin-top:var(--spacing-40);margin-bottom:calc(var(--spacing-50) * 1.33);width:calc(100% - 2 * var(--spacing-30));box-sizing:border-box;flex:1;margin-left:auto;margin-right:auto}.site-main>:first-child,.site-main-narrow>:first-child{margin-top:0}.site-main>:last-child,.site-main-narrow>:last-child{margin-bottom:0}.site-main-narrow>h1{margin-bottom:var(--spacing-40);text-align:center}.site-main-narrow>p{margin-top:1.5rem;margin-bottom:0}.article-grid{gap:var(--spacing-40);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}@media (width<=600px){.article-grid{grid-template-columns:1fr}}.article-item{margin-bottom:0}.article-featured-image{aspect-ratio:2;width:100%;overflow:hidden}.article-featured-image a{height:100%;display:block}.article-featured-image img{object-fit:cover;border-radius:8px;width:100%;height:100%}.article-title{margin-top:1.25rem;margin-bottom:1.25rem;font-weight:400}.article-title a{text-decoration:none}.article-title a:hover,.article-title a:focus-visible{text-decoration:underline}.article-excerpt{font-size:var(--font-size-medium);margin:0 0 1.5rem}.article-excerpt p{margin:0}.article-date{font-size:var(--font-size-small);margin:-.5rem 0 1rem;font-weight:400}.article-date a{text-decoration:none}.single-article-header{text-align:left;max-width:var(--content-size);margin:0 auto}.single-article-title{margin-bottom:1.25rem}.single-article-category{text-transform:none;letter-spacing:normal;font-weight:400}.single-article-date{z-index:1;font-size:var(--font-size-small);color:var(--color-muted);flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:.5rem;margin-bottom:3rem;display:flex;position:relative}.single-article-content{max-width:var(--content-size);margin:0 auto}.single-article-content h2{font-size:clamp(1.75rem,1.55rem + .8vw,2rem);line-height:1.3}.single-article-content>*{margin-top:1.5rem;margin-bottom:0}.site-footer{color:var(--color-footer-text);padding-top:var(--spacing-40);padding-bottom:var(--spacing-30);border-top:1px solid var(--color-border)}.site-footer a{color:inherit}.footer-inner{max-width:var(--wide-size);width:calc(100% - 2 * var(--spacing-30));margin:0 auto}.footer-columns{margin-bottom:var(--spacing-40);flex-wrap:wrap;gap:1.5rem;display:flex}@media (width>=782px){.footer-columns{flex-wrap:nowrap}}.footer-column-main{max-width:40rem}.footer-column-main p:first-child{margin-top:0}@media (width<=640px){.footer-column-main .footer-break{display:none}}.social-icons{margin-top:1.5rem}.social-icons-list{flex-wrap:wrap;gap:12px;margin:0;padding:0;list-style:none;display:flex}.social-icons-list a{width:25px;height:40px;color:var(--color-footer-text);fill:var(--color-footer-text);transform-origin:50%;justify-content:center;align-items:center;text-decoration:none;transition:transform .18s;display:flex}.social-icons-list a:hover,.social-icons-list a:focus-visible{color:var(--color-footer-link-hover);fill:var(--color-footer-link-hover);transform:scale(1.3)}.gkit-icon{width:20px;height:20px;display:block}@media (prefers-reduced-motion:reduce){.social-icons-list a{transition:none}}.footer-bottom{padding-top:var(--spacing-40);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.copyright{font-size:var(--font-size-small);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}.copyright-link{text-decoration:none!important}.copyright-link:hover{text-decoration:underline!important}.legal-nav ul{font-size:var(--font-size-small);gap:1rem;margin:0;padding:0;list-style:none;display:flex}.legal-nav a{text-decoration:none}.legal-nav a:hover{text-decoration:underline}[data-tooltip]{cursor:pointer;position:relative}[data-tooltip]:after{content:attr(data-tooltip);background-color:var(--color-black);color:var(--color-white);text-transform:uppercase;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;z-index:100;border-radius:4px;padding:.4rem .6rem;font-size:.7rem;font-weight:600;transition:opacity .2s 1s,transform .2s 1s;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%)translateY(5px);box-shadow:0 4px 12px #00000026}[data-tooltip]:hover:after{opacity:1;visibility:visible;transform:translate(-50%)translateY(0)}[data-tooltip]:before{content:"";border-style:solid;border-width:5px 5px 0;border-color:var(--color-black) transparent transparent transparent;opacity:0;visibility:hidden;z-index:100;transition:opacity .2s 1s,transform .2s 1s;position:absolute;bottom:calc(100% + 5px);left:50%;transform:translate(-50%)translateY(5px)}[data-tooltip]:hover:before{opacity:1;visibility:visible;transform:translate(-50%)translateY(0)}[data-theme=dark]{--color-black:#fff;--color-white:#111;--color-card:#111;--color-contrast:#dcdcdc;--color-base:#0b0b0b;--color-muted:#8c8c8c;--color-footer-bg:#000;--color-border:#ffffff26;--color-divider:#1c1c1c;--color-shadow:#00000080}.skip-link{z-index:100;background-color:var(--color-contrast);color:var(--color-base);border-radius:6px;padding:.5rem 1rem;text-decoration:none;position:absolute;top:-100px;left:1rem}.skip-link:focus{top:1rem}.home-hero{--hero-offset:calc(80px + 3 * var(--spacing-40));max-width:var(--content-size);text-align:center;box-sizing:border-box;min-height:calc(100svh + 1px - var(--hero-offset));padding-bottom:calc(var(--hero-offset) - 3svh);flex-direction:column;justify-content:center;margin:0 auto;display:flex;position:relative}.home-hero h1{width:min(calc(100vw - 2 * var(--spacing-30)), 68rem);text-wrap:balance;margin:0 0 1.5rem;position:relative;left:50%;transform:translate(-50%)}@media (width<=1140px){.home-hero h1 .hero-break{display:none}}.home-hero p{margin:0 0 1.25rem}.home-hero p:last-child{margin-bottom:0}.home-hero p:not(.home-greeting){color:var(--color-muted)}.home-greeting .wave{transform-origin:70% 80%;animation:1.4s ease-in-out .4s wave;display:inline-block}@keyframes wave{0%,to{transform:rotate(0)}15%{transform:rotate(14deg)}30%{transform:rotate(-8deg)}45%{transform:rotate(14deg)}60%{transform:rotate(-4deg)}75%{transform:rotate(10deg)}}@media (prefers-reduced-motion:reduce){.home-greeting .wave{animation:none}}.home-hero .home-greeting{font-size:var(--font-size-large);margin:0 0 .75rem}.page-head{text-align:center;margin-bottom:var(--spacing-50)}.page-head h1{margin:0 0 1rem}.page-head p{color:var(--color-muted);margin:0}.home-latest{max-width:860px;padding-block:var(--spacing-60);margin:0 auto;position:relative}.home-latest:before{content:"";border-image:conic-gradient(var(--color-divider) 0 0) fill 0 / / 0 100vmax;height:1px;position:absolute;top:0;left:0;right:0}.site-main:has(>.home-latest:last-child){margin-bottom:0}.home-latest-head{text-align:center;margin-bottom:var(--spacing-50)}.home-latest-head h2{letter-spacing:-.02em;margin:0 0 .5rem;font-size:clamp(1.75rem,1.55rem + .8vw,2rem);font-weight:400;line-height:1.25}.home-latest-head p{color:var(--color-muted);margin:0}.home-latest-item{gap:var(--spacing-30);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;display:grid}.home-latest-image img{border-radius:8px;width:100%;height:auto;display:block}.home-latest-text{min-width:0}.home-latest-text h3{letter-spacing:-.015em;margin:-.22em 0 0;font-size:clamp(1.75rem,1.4rem + 1.2vw,2.5rem);font-weight:500;line-height:1.2}.home-latest-text h3 a{text-decoration:none}.home-latest-text h3 a:hover{text-decoration:underline}.home-latest-excerpt{color:var(--color-muted);margin:.75rem 0 0}.home-latest-excerpt a{color:inherit;text-decoration:none}.home-latest-excerpt a:hover,.home-latest-excerpt a:focus-visible{color:var(--color-contrast)}.home-latest.home-posts{max-width:var(--wide-size)}.home-latest-item+.home-latest-item{margin-top:var(--spacing-50)}.home-latest-all{margin:var(--spacing-50) 0 0;text-align:center;color:var(--color-muted)}.home-latest-all a{color:inherit}.home-latest-all a:hover,.home-latest-all a:focus-visible{color:var(--color-contrast)}.home-latest-image,.article-featured-image{will-change:transform;transition:transform .25s}.home-latest-image{display:block}.home-latest-item:hover .home-latest-image,.home-latest-item:focus-within .home-latest-image,.article-item:hover .article-featured-image,.article-item:focus-within .article-featured-image{transform:scale(1.02)}@media (prefers-reduced-motion:reduce){.home-latest-image,.article-featured-image{transition:none;transform:none!important}}@media (width<=600px){.home-latest-item{grid-template-columns:minmax(0,1fr)}}.not-found{--hero-offset:calc(80px + 3 * var(--spacing-40));box-sizing:border-box;min-height:calc(100svh + 1px - var(--hero-offset));padding-bottom:var(--hero-offset);text-align:center;flex-direction:column;justify-content:center;display:flex}.site-main-narrow:has(>.not-found){margin-bottom:0}.not-found h1{margin:0 0 1rem}.not-found p{margin:0 0 .75rem}.not-found>:last-child{margin-bottom:0}.not-found .not-found-code{opacity:.15;margin:0 0 .75rem;font-size:4.5rem;font-weight:700;line-height:1}.theme-toggle{border:1px solid var(--color-border);width:34px;height:34px;color:inherit;cursor:pointer;opacity:.8;background:0 0;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:opacity .2s;display:flex}.theme-toggle:hover,.theme-toggle:focus-visible{opacity:1}.theme-toggle:focus-visible{outline:2px solid var(--color-contrast);outline-offset:2px}.theme-toggle.is-turning svg{animation:.4s ease-out theme-turn}@keyframes theme-turn{0%{opacity:0;transform:rotate(-90deg)scale(.6)}}.theme-fading,.theme-fading *,.theme-fading :before,.theme-fading :after{transition:background-color .3s,color .3s,border-color .3s,fill .3s!important}@media (prefers-reduced-motion:reduce){.theme-toggle.is-turning svg{animation:none}.theme-fading,.theme-fading *,.theme-fading :before,.theme-fading :after{transition:none!important}}.single-article-content p,.single-article-content li{text-wrap:pretty}.keep-reading{margin-top:var(--spacing-60)}.home-latest-text .home-latest-meta{font-size:var(--font-size-small);color:var(--color-muted);margin:.5rem 0 0}.single-article-cover{width:100%;max-width:var(--content-size);border-radius:8px;height:auto;margin:-1.5rem auto 3rem;display:block}.site-logo img{transition:transform .3s}.site-logo a:hover img,.site-logo a:focus-visible img{transform:rotate(-8deg)}@media (prefers-reduced-motion:reduce){.site-logo img{transition:none}.site-logo a:hover img,.site-logo a:focus-visible img{transform:none}}@media print{.skip-link,.site-header,.site-footer,.share,.keep-reading,.back-to-top{display:none!important}html,body{color:#000!important;background:#fff!important}.single-article-title,.single-article-content,.single-article-content *{color:#000!important}.single-article-date{margin-bottom:1.5rem;color:#444!important}.single-article-cover{object-fit:cover;max-height:9cm;margin-top:0}.single-article-content a{text-decoration:underline}.single-article-content h2,.single-article-content h3{break-after:avoid}.single-article-content p{orphans:3;widows:3}}.byline{font-size:var(--font-size-small);color:var(--color-muted);flex-wrap:wrap;align-items:center;gap:.15rem .4rem;display:flex}.byline a{color:inherit;text-decoration:none}.single-article-content blockquote{border-left:2px solid var(--color-contrast);margin:1.75rem 0;padding:.15rem 0 .15rem 1.25rem}.single-article-content blockquote p{letter-spacing:-.015em;color:var(--color-contrast);text-wrap:pretty;margin:0;font-size:clamp(1.25rem,1.15rem + .4vw,1.4rem);font-style:italic;font-weight:400;line-height:1.35}@media print{.single-article-content blockquote{break-inside:avoid}}.quote-share{vertical-align:calc(1px - .09em);margin-left:.4em;font-style:normal;display:inline-flex}.quote-share .share-open{color:var(--color-muted);padding:.15rem;text-decoration:none;display:flex}.quote-share .share-open:hover,.quote-share .share-open:focus-visible{color:var(--color-contrast)}.quote-share .share-open svg{width:16px;height:16px}@media print{.quote-share{display:none}}.scroll-cue{left:50%;bottom:var(--spacing-30);border:1px solid var(--color-border);width:36px;height:36px;color:var(--color-muted);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:color .2s;display:flex;position:absolute;transform:translate(-50%)}.scroll-cue:hover,.scroll-cue:focus-visible{color:var(--color-contrast)}.scroll-cue:focus-visible{outline:2px solid var(--color-contrast);outline-offset:2px}
