@import 'https://fonts.googleapis.com/css2?family=Inter:wght@400;600&family=Libre+Caslon+Text:ital,wght@0,400;0,700;1,400&display=swap';:root{--bg-color:#ffffff;--secondary-bg-color:#f3f4f6;--heading-color:#0f172a;--body-color:#334155;--post-color:#64748b;--border-color:#e5e7eb;--form-border-color:#cbd5e1;--pre-bg-color:#f8fafc;--nav-text-color:#475569;--tag-color:#334155;--blockquote-text-color:#64748b;--blockquote-border-color:#d1d5db;--link-color:#2563eb}:root{--serif:'Libre Caslon Text', 'Adobe Caslon Pro', Georgia, 'Times New Roman',
           Times, serif;--sans:'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
          Helvetica, Arial, sans-serif}body{font-family:var(--serif);font-size:1.8rem;line-height:1.7;color:var(--body-color);letter-spacing:normal;-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}p{font-family:var(--serif);font-size:1.8rem;line-height:1.75;font-weight:400;margin:0 0 1.35em}.post-content p,.post-content li,blockquote p{text-wrap:pretty}::selection{background:rgba(37,99,235,.16)}h1,h2,h3,h4,h5,h6{font-family:var(--serif);color:var(--heading-color);font-weight:700;line-height:1.25;letter-spacing:normal;text-wrap:pretty}.nobr{white-space:nowrap}.post .post-title h1,.post .post-title h2,.post .post-title h3,.post .post-content h1,.post .post-content h2,.post .post-content h3,.post .post-content h4,.post-title h2,.post-title h2 a,.post .post-title a,.post .post-content a{text-transform:none;letter-spacing:normal}.post-content:has(>.post-title){max-width:820px;margin-left:auto;margin-right:auto}main .content{margin-top:50px;padding-top:.5rem}@media(min-width:1921px){.sidebar{padding-left:0;padding-right:0;width:var(--sidebar-width)}}.post .post-content>.post-title:not(:has(.info)){display:none}.post .post-title h1{font-size:3.4rem;font-weight:700;line-height:1.15;margin:0 0 .45em}.post .post-title .info{display:flex;flex-wrap:wrap;align-items:baseline;margin:0 0 2.6rem}.post .post-title .info,.post .post-title .info .date,.post .post-title .info .reading-time{color:var(--post-color);font-size:1.45rem;line-height:1.5}.post .post-title .info .date,.post .post-title .info .reading-time{margin:0}.post .post-title .info .reading-time::before,.home-meta .reading-time::before{content:"";display:inline-block;width:1px;height:.9em;margin:0 .85em -.1em;background:var(--form-border-color)}.post .post-content h2{font-size:2.4rem;font-weight:700;color:var(--heading-color);margin:2em 0 .6em;padding-bottom:.28em;border-bottom:1px solid var(--border-color)}.post .post-content h3{font-size:1.95rem;font-weight:700;color:var(--heading-color);margin:1.7em 0 .5em}.post .post-content h4{font-size:1.7rem;font-weight:600;color:var(--heading-color);margin:1.4em 0 .4em}a{color:var(--link-color);text-decoration:none}.post .post-content a{color:var(--link-color);border-bottom:1px solid rgba(37,99,235,.28);transition:color .15s ease,border-color .15s ease}.post .post-content a:hover{color:#1d4ed8;border-bottom-color:#1d4ed8}main a:focus-visible,.sidebar a:focus-visible,header .nav__links a:focus-visible{outline:2px solid var(--link-color);outline-offset:3px;border-radius:2px}.post .post-content ul,.post .post-content ol{font-size:1.8rem;line-height:1.7;padding-left:1.4em;margin:0 0 1.35em}.post .post-content li{margin:.4em 0}.post .post-content li::marker{color:var(--post-color)}code,pre,kbd,samp{font-family:ui-monospace,sfmono-regular,jetbrains mono,cascadia code,Menlo,Consolas,monospace}:not(pre)>code{background:#f1f5f9;color:#0f172a;padding:.15em .4em;border-radius:6px;border:1px solid #e5e7eb;font-size:.86em}pre{background:var(--pre-bg-color);border:1px solid var(--border-color);border-radius:10px;padding:1em 1.2em;font-size:1.5rem;line-height:1.6;overflow-x:auto}pre code{background:0 0;border:none;padding:0;font-size:inherit;color:inherit}.post-content table{border-collapse:collapse;width:100%;margin:1.6em 0;font-size:1.6rem;font-variant-numeric:tabular-nums}.post-content th,.post-content td{border:1px solid var(--border-color);padding:.55em .8em;text-align:left}.post-content thead th{background:#f8fafc;color:var(--heading-color);font-weight:600;border-bottom:2px solid #e2e8f0}.post-content tbody tr:nth-child(even){background:#fbfcfe}blockquote{border-left:3px solid var(--link-color);background:#f8fafc;border-radius:0 8px 8px 0;padding:.7em 1.15em;margin:1.5em 0;color:var(--blockquote-text-color);font-style:normal}blockquote p{margin-bottom:.5em;font-size:1.7rem}blockquote p:last-child{margin-bottom:0}.post .post-content img{max-width:100%;border-radius:10px;border:1px solid var(--border-color)}hr{border:0;height:1px;background:var(--border-color);margin:2.2em 0}header .nav__list{font-size:1.65rem;font-weight:600;padding:16px 30px}header .nav__links a{font-weight:400;color:var(--nav-text-color);transition:color .15s ease}header .nav__links a:hover{color:var(--link-color)}header .nav__links a.current{color:var(--heading-color);border-bottom-color:var(--heading-color)}.sidebar .logo-title .avatar{display:block;width:127px;height:127px;margin:0 auto;border-radius:50%;overflow:hidden;isolation:isolate;background:#fff;box-shadow:0 0 0 1px var(--border-color)}.sidebar .logo-title .title .avatar img{display:block;width:100%;height:100%;border-radius:0;transform:translate(-6.6%,9.1%)scale(1.42)}@media screen and (min-width:960px){.sidebar__content{justify-content:flex-start;padding-top:80px}.nav__links li:not(:last-of-type){padding-right:38px}.sidebar .logo-title .avatar{width:110px;height:110px}.sidebar .logo-title .title h3{font-size:2.6rem;margin:18px 10px}.sidebar .social-links{gap:13px}.sidebar .social-links a i{font-size:2.05rem}.sidebar .social-links .social-svg svg{width:2.15rem;height:2.15rem}.sidebar__content{padding-top:64px}}.sidebar .logo-title .description p{text-wrap:balance}.sidebar .logo-title .title h3{letter-spacing:normal;font-weight:700;text-transform:none;font-size:3rem;margin:22px}.sidebar .social-links{display:flex;justify-content:center;align-items:center;gap:15px}.sidebar .social-links li{display:inline-flex;align-items:center;padding:0;line-height:1}.sidebar .social-links a{display:inline-flex;align-items:center}.sidebar .social-links a i{margin:0;line-height:1}.sidebar .social-links .social-svg{display:inline-flex;align-items:center;line-height:0}.sidebar .social-links .social-svg svg{width:2.45rem;height:2.45rem;fill:currentColor;display:block}.sidebar .social-links a:hover{color:var(--link-color)}.sidebar .social-links a:hover .fa-twitter{color:#1d9bf0}.sidebar .social-links a:hover .social-svg svg{fill:#ffd21e}.sidebar .logo-title .description{color:var(--post-color);line-height:1.6;font-size:1.45rem}.home{margin:30px 30px 6rem}.post .post-content{color:var(--body-color)}.home-intro{padding:.8rem 0 .4rem}.home-intro__lede{max-width:34em;margin:0;font-size:2.7rem;line-height:1.45;color:var(--heading-color);text-wrap:pretty}.home-intro__links{display:flex;flex-wrap:wrap;gap:.4rem 2.6rem;margin:1.8rem 0 0;font-size:1.6rem;line-height:1.5}.home-intro__links a,.home-section__head a,.home-topic__all a{border-bottom:1px solid rgba(37,99,235,.28);transition:color .15s ease,border-color .15s ease}.home-intro__links a:hover,.home-section__head a:hover{color:#1d4ed8;border-bottom-color:#1d4ed8}.home-section{margin-top:5.6rem}.home-section__head{display:flex;justify-content:space-between;align-items:baseline;gap:1.6rem;margin:0 0 2.6rem;padding:0 0 .8rem;border-bottom:1px solid var(--border-color)}.home-section__head h2{margin:0;font-size:2.2rem}.home-section__head a{font-size:1.5rem}.home-card{display:grid;grid-template-columns:minmax(0,.42fr)minmax(0,1fr);gap:3rem;align-items:start;margin:0 0 2.8rem;padding:0 0 2.8rem;border-bottom:1px solid var(--border-color)}.home-card:last-child{margin-bottom:0;padding-bottom:0;border-bottom:0}.home-card--plain{grid-template-columns:minmax(0,1fr)}.home-card__figure{display:block;aspect-ratio:16/10;overflow:hidden;border:1px solid var(--border-color);border-radius:10px;background:#fff}.home-card__figure img{display:block;width:100%;height:100%;box-sizing:border-box;padding:.8rem;object-fit:contain;transition:transform .4s ease}.home-card__figure:hover img{transform:scale(1.035)}.home-meta{display:flex;flex-wrap:wrap;align-items:baseline;margin:0 0 .6rem;font-size:1.4rem;line-height:1.5;color:var(--post-color)}.home-card__title{margin:0 0 .8rem;font-size:2.3rem;line-height:1.25}.home-card__title a{color:var(--heading-color);transition:color .15s ease}.home-card__title a:hover{color:var(--link-color)}.home-card__summary{margin:0;font-size:1.65rem;line-height:1.65;color:var(--body-color);text-wrap:pretty}.home-topic{display:grid;grid-template-columns:minmax(0,.42fr)minmax(0,1fr);gap:3rem;padding:2.6rem 0;border-top:1px solid var(--border-color)}.home-section__head+.home-topic{padding-top:.4rem;border-top:0}.home-topic__name{display:flex;align-items:center;gap:.9rem;margin:0;font-size:2rem}.home-topic__name::before,.archive-earlier__title::before{content:"";flex:none;width:1rem;height:1rem;border-radius:50%;background:var(--accent)}.home-topic__blurb{margin:.8rem 0;font-size:1.5rem;line-height:1.6;color:var(--body-color);text-wrap:pretty}.home-topic__count{margin:0;font-size:1.4rem;font-style:italic;color:var(--accent-text)}.home-topic__list{list-style:none;margin:0;padding:0}.home-topic__list li{padding:.45rem 0}.home-topic__list a{display:block;font-size:1.65rem;line-height:1.45;color:var(--heading-color);text-wrap:pretty;transition:color .15s ease}.home-topic__list a:hover{color:var(--accent-text)}.home-topic__list .home-topic__all{padding-top:.9rem}.home-topic__list .home-topic__all a{display:inline;font-size:1.5rem;color:var(--accent-text);border-bottom-color:initial}.home-topic--indigo,.archive-earlier--indigo{--accent:#4f46e5;--accent-text:#4f46e5}.home-topic--teal,.archive-earlier--teal{--accent:#0d9488;--accent-text:#0f766e}.home-topic--rose,.archive-earlier--rose{--accent:#e11d48;--accent-text:#be123c}.home-topic--amber,.archive-earlier--amber{--accent:#f59e0b;--accent-text:#b45309}.post .post-content .toc{margin:0 0 2.8rem;padding:1.1rem 1.8rem;border:1px solid var(--border-color);border-radius:10px;background:var(--pre-bg-color)}.post .post-content .toc summary{cursor:pointer;font-size:1.6rem;font-weight:700;color:var(--heading-color)}.toc__count{margin-left:.5rem;font-size:1.45rem;font-style:italic;font-weight:400;color:var(--post-color)}.post .post-content .toc ol{margin:1rem 0 .4rem;padding-left:2.4rem;font-size:1.6rem;line-height:1.55}.post .post-content .toc li{margin:.35rem 0}.post .post-content .toc li::marker{color:var(--post-color)}.post .post-content .toc a{color:var(--body-color);border-bottom:0}.post .post-content .toc a:hover{color:var(--link-color)}.archive{box-sizing:border-box;padding:30px 30px 4rem}.archive-year{margin:0 0 4.4rem}.archive-year__title{display:flex;justify-content:space-between;align-items:baseline;gap:1.6rem;margin:0 0 .6rem;padding:0 0 .8rem;border-bottom:1px solid var(--border-color);font-size:2.6rem;line-height:1.2;color:var(--heading-color)}.archive-year__count{font-size:1.5rem;font-style:italic;font-weight:400;color:var(--post-color)}.archive-list{list-style:none;margin:0;padding:0}.archive-entry{display:grid;grid-template-columns:6.2rem minmax(0,1fr);column-gap:1.8rem;align-items:baseline;padding:.6rem 0}.archive-entry__date{font-size:1.45rem;color:var(--post-color);font-variant-numeric:tabular-nums;white-space:nowrap}.archive-entry__link{display:block;font-size:1.6rem;line-height:1.42;color:var(--heading-color);text-wrap:pretty;transition:color .15s ease}.archive-entry__link:hover{color:var(--link-color)}.archive-earlier{margin:6rem 0 3.2rem;padding:1.6rem 2rem;border:1px solid var(--border-color);border-radius:10px;background:var(--pre-bg-color)}.archive-earlier__title{display:flex;align-items:center;gap:.9rem;margin:0;font-size:2rem}.archive-earlier__blurb{margin:.6rem 0 0;font-size:1.55rem;line-height:1.6;color:var(--body-color)}html[data-theme=dark]{--bg-color:#0d1117;--secondary-bg-color:#161b22;--heading-color:#e6edf3;--body-color:#c3ccd6;--post-color:#8b949e;--border-color:#262c36;--form-border-color:#30363d;--pre-bg-color:#161b22;--nav-text-color:#adb6c0;--tag-color:#c3ccd6;--blockquote-text-color:#9aa4af;--blockquote-border-color:#6cb0ff;--link-color:#6cb0ff}html[data-theme=dark] ::selection{background:rgba(108,176,255,.24)}html[data-theme=dark] :not(pre)>code{background:#1b222c;color:#e6edf3;border-color:#2b323d}html[data-theme=dark] .post .post-content a{border-bottom-color:rgba(108,176,255,.32)}html[data-theme=dark] .post .post-content a:hover{color:#93c5fd;border-bottom-color:#93c5fd}html[data-theme=dark] .post-content thead th{background:#161b22;color:var(--heading-color);border-bottom-color:#2b323d}html[data-theme=dark] .post-content tbody tr:nth-child(even){background:#12171e}html[data-theme=dark] blockquote{background:#141a21}html[data-theme=dark] .home-intro__links a,html[data-theme=dark] .home-section__head a{border-bottom-color:rgba(108,176,255,.32)}html[data-theme=dark] .home-intro__links a:hover,html[data-theme=dark] .home-section__head a:hover{color:#93c5fd;border-bottom-color:#93c5fd}html[data-theme=dark] .home-topic--indigo,html[data-theme=dark] .archive-earlier--indigo{--accent:#818cf8;--accent-text:#a5b4fc}html[data-theme=dark] .home-topic--teal,html[data-theme=dark] .archive-earlier--teal{--accent:#2dd4bf;--accent-text:#5eead4}html[data-theme=dark] .home-topic--rose,html[data-theme=dark] .archive-earlier--rose{--accent:#fb7185;--accent-text:#fda4af}html[data-theme=dark] .home-topic--amber,html[data-theme=dark] .archive-earlier--amber{--accent:#fbbf24;--accent-text:#fcd34d}html[data-theme=dark] .home-card__figure,html[data-theme=dark] .post .post-content img{border-color:#2b323d;box-shadow:0 1px 12px rgba(0,0,0,.5)}html[data-theme=dark] .sidebar .logo-title .avatar{box-shadow:0 0 0 1px #2b323d}.theme-switch{cursor:pointer}.sidebar-toggle{cursor:pointer;font-size:1.55rem;margin-right:16px}html[data-sidebar=hidden] aside{display:none}html[data-sidebar=hidden] main{width:100%}html[data-sidebar=hidden] header{width:100%}@media screen and (min-width:960px){html[data-sidebar=hidden] main .content{max-width:1080px;margin-left:auto;margin-right:auto}}@media(prefers-reduced-motion:reduce){.animated{animation:none!important}}@media screen and (max-width:960px){html,body{overflow-x:hidden}.post{margin-left:0;margin-right:0;padding:0 20px;max-width:100%;box-sizing:border-box}.post-content,.post-content:has(>.post-title){max-width:100%;margin-left:0;margin-right:0;box-sizing:border-box}main .content{margin-top:0;padding-top:.5rem}.post .post-content img,.post pre,.post-content table{max-width:100%}.sidebar .logo-title{padding-top:64px}.sidebar .logo-title .avatar{width:84px;height:84px}.sidebar .logo-title .title h3{font-size:2.4rem;margin:14px 10px 4px}.sidebar .logo-title .description{font-size:1.5rem}.sidebar .logo-title .description p{margin:0 0 1.2rem}.sidebar .social-links{margin:0;padding-bottom:2.4rem}.sidebar{border-bottom:1px solid var(--border-color)}.sidebar .social-links a i{font-size:2.2rem}.sidebar .social-links .social-svg svg{width:2.3rem;height:2.3rem}header .nav__list li{text-transform:none;font-size:1.15em}.post .post-title h1{font-size:2.8rem}.home{margin:24px 20px 4rem}.home-intro__lede{font-size:2.2rem}.home-section{margin-top:4.4rem}.archive{padding:30px 20px 3rem}.archive-year__title{font-size:2.3rem}.archive-entry{grid-template-columns:5.2rem minmax(0,1fr);column-gap:1.2rem}.archive-entry__date{font-size:1.35rem}.archive-entry__link{font-size:1.6rem}}@media screen and (max-width:700px){.home-card,.home-topic{grid-template-columns:minmax(0,1fr);gap:1.6rem}.home-card__figure{aspect-ratio:16/9}.home-card__title{font-size:2.05rem}.archive-earlier{padding:1.4rem 1.6rem}}