:root{--font-interface:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-reading:"Ibarra Real Nova","Songti SC",STSong,"Times New Roman",Georgia,serif;--font-code:"SFMono-Regular",Menlo,Monaco,Consolas,monospace;--font-size-caption:0.75rem;--font-size-small:0.875rem;--font-size-body-small:0.9375rem;--font-size-body:1rem;--font-size-post-card-title:clamp(1.4rem,3.5vw,1.85rem);--line-height-post-card-title:clamp(1.89rem,4.725vw,2.4975rem);--radius:0.625rem;--radius-control:0.45rem;--bg-color:#f8f8f6;--surface-subtle:rgb(20 20 18/0.025);--surface-raised:#ffffff;--surface-translucent:rgb(248 248 246/0.82);--text-primary:#171716;--text-secondary:#696965;--text-tertiary:#969691;--border-subtle:#deded9;--border-strong:#aaa9a2;--focus-ring:#363633;--shadow-control:0 1px 2px rgb(20 20 18/0.08),0 0 0 1px rgb(20 20 18/0.025);--easing:cubic-bezier(0.2,1,0.3,1);--background:#f8f8f6;--foreground:#171716;--card:#ffffff;--card-foreground:#171716;--popover:#ffffff;--popover-foreground:#171716;--primary:#171716;--primary-foreground:#f8f8f6;--secondary:#efefeb;--secondary-foreground:#171716;--muted:#efefeb;--muted-foreground:#696965;--accent:#efefeb;--accent-foreground:#171716;--destructive:#c83c36;--border:#deded9;--input:#deded9;--ring:#363633;--chart-1:#5f6f52;--chart-2:#6f8294;--chart-3:#a07d58;--chart-4:#8b6f8f;--chart-5:#8a785d;--sidebar:#f8f8f6;--sidebar-foreground:#171716;--sidebar-primary:#171716;--sidebar-primary-foreground:#f8f8f6;--sidebar-accent:#efefeb;--sidebar-accent-foreground:#171716;--sidebar-border:#deded9;--sidebar-ring:#363633;color-scheme:light}[data-theme=dark]{--bg-color:#111110;--surface-subtle:rgb(255 255 250/0.035);--surface-raised:#242422;--surface-translucent:rgb(17 17 16/0.8);--text-primary:#efefeb;--text-secondary:#aaa9a3;--text-tertiary:#72716c;--border-subtle:#32322f;--border-strong:#66655f;--focus-ring:#d8d8d2;--shadow-control:0 1px 2px rgb(0 0 0/0.25),0 0 0 1px rgb(255 255 250/0.04);--background:#111110;--foreground:#efefeb;--card:#242422;--card-foreground:#efefeb;--popover:#242422;--popover-foreground:#efefeb;--primary:#efefeb;--primary-foreground:#111110;--secondary:#242422;--secondary-foreground:#efefeb;--muted:#242422;--muted-foreground:#aaa9a3;--accent:#242422;--accent-foreground:#efefeb;--border:#32322f;--input:#32322f;--ring:#d8d8d2;--sidebar:#111110;--sidebar-foreground:#efefeb;--sidebar-primary:#efefeb;--sidebar-primary-foreground:#111110;--sidebar-accent:#242422;--sidebar-accent-foreground:#efefeb;--sidebar-border:#32322f;--sidebar-ring:#d8d8d2;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg-color:#111110;--surface-subtle:rgb(255 255 250/0.035);--surface-raised:#242422;--surface-translucent:rgb(17 17 16/0.8);--text-primary:#efefeb;--text-secondary:#aaa9a3;--text-tertiary:#72716c;--border-subtle:#32322f;--border-strong:#66655f;--focus-ring:#d8d8d2;--background:#111110;--foreground:#efefeb;--card:#242422;--card-foreground:#efefeb;--popover:#242422;--popover-foreground:#efefeb;--primary:#efefeb;--primary-foreground:#111110;--secondary:#242422;--secondary-foreground:#efefeb;--muted:#242422;--muted-foreground:#aaa9a3;--accent:#242422;--accent-foreground:#efefeb;--border:#32322f;--input:#32322f;--ring:#d8d8d2;--sidebar:#111110;--sidebar-foreground:#efefeb;--sidebar-primary:#efefeb;--sidebar-primary-foreground:#111110;--sidebar-accent:#242422;--sidebar-accent-foreground:#efefeb;--sidebar-border:#32322f;--sidebar-ring:#d8d8d2}}@layer base{*{box-sizing:border-box;border-color:var(--border);outline-color:var(--ring)}html{min-width:20rem;scroll-behavior:smooth}body,html{background:var(--bg-color)}body{min-height:100vh;margin:0;color:var(--text-primary);font-family:var(--font-interface);font-size:var(--font-size-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background-color .3s var(--easing),color .3s var(--easing)}a,button{-webkit-tap-highlight-color:transparent}}.site-shell{--site-gutter:clamp(1.25rem,4vw,2.5rem);--site-gutter-left:max(var(--site-gutter),env(safe-area-inset-left,0px));--site-gutter-right:max(var(--site-gutter),env(safe-area-inset-right,0px));--site-gutter-bottom:max(var(--site-gutter),env(safe-area-inset-bottom,0px));width:100%;min-width:0;min-height:100svh;padding:0 var(--site-gutter-right) var(--site-gutter-bottom) var(--site-gutter-left);display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr auto}.site-topbar{position:sticky;top:0;z-index:100;width:auto;min-width:0;margin-left:calc(0px - var(--site-gutter-left));margin-right:calc(0px - var(--site-gutter-right));padding:calc(1rem + env(safe-area-inset-top, 0px)) var(--site-gutter-right) 1rem var(--site-gutter-left);border:0;border-radius:0;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;align-self:start;gap:1.5rem;background:var(--surface-translucent);box-shadow:none;backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);isolation:isolate}.site-brand{grid-column:1;justify-self:start;color:var(--text-primary);font-family:var(--font-reading);font-size:1.25rem;font-weight:400;letter-spacing:-.025em;text-decoration:none;text-transform:none}.site-navigation{grid-column:2;justify-self:center;display:flex;align-items:center;gap:.9rem}.site-navigation a{color:var(--text-tertiary);font-family:"Songti SC",STSong,var(--font-reading);font-size:var(--font-size-small);font-weight:400;letter-spacing:.08em;text-decoration:none;text-transform:uppercase;transition:color .18s ease}.site-navigation a:hover,.site-navigation a[aria-current=page]{color:var(--text-primary)}.nav-menu-toggle{display:none;width:2.5rem;min-width:2.5rem;height:2.5rem;padding:0;border:0;border-radius:0;place-items:center;background:transparent;color:var(--text-tertiary);box-shadow:none;cursor:pointer;transition:color .18s ease,transform .18s var(--easing)}.nav-menu-toggle:hover{background:transparent;color:var(--text-primary)}.nav-menu-toggle:active{transform:scale(.97)}.nav-menu-icon{width:1.25rem;height:1.25rem;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}.nav-menu-icon__line{transform-box:view-box;transform-origin:12px 12px;transition:transform .24s var(--easing),opacity .16s ease}.nav-menu-toggle[data-open=true] .nav-menu-icon__line--top{transform:translateY(4.75px) rotate(45deg)}.nav-menu-toggle[data-open=true] .nav-menu-icon__line--middle{opacity:0;transform:scaleX(.25)}.nav-menu-toggle[data-open=true] .nav-menu-icon__line--bottom{transform:translateY(-4.75px) rotate(-45deg)}.article-page,.site-content{width:100%;max-width:44rem;min-width:0;margin-inline:auto}.article-toc{position:fixed;top:8rem;left:calc(50% + 26rem);width:12rem;color:var(--text-tertiary)}.article-toc>p{margin:0 0 .8rem;font:600 var(--font-size-caption)/1.5 var(--font-interface);letter-spacing:.1em;text-transform:uppercase}.article-toc ol{margin:0;padding:0 0 0 .8rem;border-left:1px solid var(--border-subtle);list-style:none}.article-toc li[data-level="3"]{padding-left:.65rem}.article-toc a{padding:.35rem 0;display:block;overflow:hidden;color:inherit;font:500 var(--font-size-caption)/1.5 var(--font-interface);text-decoration:none;text-overflow:ellipsis;white-space:nowrap;transition:color .18s ease}.article-toc a:hover,.article-toc a[aria-current=location]{color:var(--text-primary)}.site-content{padding:clamp(5rem,12vh,8rem) 0 clamp(5rem,10vh,7rem)}.blog-hero{max-width:42rem}.eyebrow{margin:0 0 1.25rem;color:var(--text-tertiary);font:600 var(--font-size-caption)/1.4 var(--font-interface);letter-spacing:.12em;text-transform:uppercase}.article-header h1,.blog-hero h1,.page-header h1{margin:0;color:var(--text-primary);font-family:var(--font-reading);font-weight:400;letter-spacing:-.045em;text-wrap:balance}.blog-hero h1{max-width:40rem;font-size:clamp(2.55rem,7vw,4.15rem);line-height:1.12}.hero-description{max-width:37rem;margin:1.75rem 0 0;color:var(--text-secondary);font-size:clamp(var(--font-size-body),2.3vw,1.15rem);line-height:1.9;letter-spacing:-.012em}.hero-description,.text-link{font-family:var(--font-reading)}.text-link{color:var(--text-tertiary);font-size:var(--font-size-body-small);text-decoration:none;transition:color .18s ease,transform .18s var(--easing)}.text-link:hover{color:var(--text-primary)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.blog-section{margin-top:clamp(3.75rem,8vh,5rem)}.section-heading{margin-bottom:.75rem;padding-bottom:1rem;border-bottom:1px solid var(--border-subtle);display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.section-heading h2,.year-label h2{margin:0;color:var(--text-primary);font-family:var(--font-reading);font-size:1.1rem;font-weight:500;letter-spacing:-.02em}.section-heading span,.year-label span{color:var(--text-tertiary);font:500 var(--font-size-caption)/1 var(--font-interface);letter-spacing:.1em;text-transform:uppercase}.post-list{margin:0;padding:0;list-style:none}.featured-post,.post-list>li{border-bottom:1px solid var(--border-subtle)}.featured-post{margin-bottom:.75rem;padding:clamp(1.5rem,4vw,2rem) 0 clamp(1.75rem,4vw,2.25rem);display:block;color:inherit;text-decoration:none}.featured-post-footer,.featured-post-meta{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;color:var(--text-tertiary);font:500 var(--font-size-caption)/1.5 var(--font-interface);letter-spacing:.09em;text-transform:uppercase}.featured-post h3,.post-row-title{color:var(--text-primary);font-family:var(--font-reading);font-size:var(--font-size-post-card-title);font-weight:500;line-height:1.35;letter-spacing:-.035em;overflow-wrap:anywhere}.featured-post h3{max-width:39rem;margin:1.1rem 0 0;text-wrap:balance}.featured-post>p,.post-excerpt{color:var(--text-secondary);font-family:var(--font-reading);font-size:var(--font-size-body-small);line-height:1.85}.featured-post>p{max-width:36rem;margin:.9rem 0 0}.featured-post-footer{margin-top:1.35rem;letter-spacing:.06em}.featured-post-action{display:inline-flex;align-items:center;gap:.28em;transition:color .18s ease,transform .18s var(--easing)}.featured-post:hover .featured-post-action{color:var(--text-primary);transform:translate(2px,-2px)}.subscribe-section{margin-top:clamp(3.5rem,8vh,5rem);padding-top:clamp(1.5rem,4vw,2rem);display:flex;flex-direction:column;align-items:center;text-align:center}.subscribe-section>p{max-width:34rem;margin:0 auto;color:var(--text-primary);font-family:var(--font-reading);font-size:clamp(var(--font-size-body-small),2.2vw,1.08rem);line-height:1.8}.subscribe-section>p a{color:inherit;text-decoration-color:var(--border-strong);text-underline-offset:.28em}.rss-feed-link{white-space:nowrap;text-decoration:none;transition:color .18s ease,transform .18s var(--easing)}.rss-feed-link,.rss-feed-underlined{display:inline-flex;align-items:center;gap:.28em}.rss-feed-underlined{position:relative}.rss-feed-underlined:after{content:"";position:absolute;right:0;bottom:.22em;left:0;height:1px;background:var(--border-strong);pointer-events:none;transition:background-color .18s ease}.rss-feed-link .external-arrow,.rss-feed-link .rss-icon{transition:transform .18s var(--easing)}.rss-feed-link:focus-visible,.rss-feed-link:hover{color:var(--text-primary);transform:translateY(-1px)}.rss-feed-link:focus-visible .rss-feed-underlined:after,.rss-feed-link:hover .rss-feed-underlined:after{background:currentColor}.rss-feed-link:hover .rss-icon{animation:rss-icon-pulse .48s var(--easing)}.rss-feed-link:focus-visible .external-arrow,.rss-feed-link:hover .external-arrow{transform:translate(.12em,-.2em)}@keyframes rss-icon-pulse{0%,to{transform:scale(1)}45%{transform:scale(1.14)}}.external-arrow{width:.8em;height:.8em;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round;transform:translateY(-.08em)}.external-arrow,.rss-icon{flex:0 0 auto;overflow:visible;fill:none}.rss-icon{width:.9em;height:.9em;stroke:currentColor;stroke-width:1.35;stroke-linecap:round}.rss-icon circle{fill:currentColor;stroke:none}.subscribe-form{position:relative;width:100%;max-width:34rem;margin:1.15rem auto 0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.6rem}.subscribe-input-wrap{min-width:0;min-height:3rem;padding:0 .85rem;border:1px solid var(--border-subtle);border-radius:var(--radius-control);display:flex;align-items:center;gap:.65rem;background:var(--surface-raised);box-shadow:var(--shadow-control);transition:border-color .18s ease,box-shadow .18s ease}.subscribe-input-wrap:focus-within{border-color:var(--border-strong);box-shadow:0 0 0 3px color-mix(in srgb,var(--focus-ring) 10%,transparent)}.subscribe-input-wrap svg{width:1.05rem;height:1.05rem;flex:0 0 auto;fill:none;stroke:var(--text-tertiary);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}.subscribe-input-wrap input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--text-primary);font-family:var(--font-reading);font-size:var(--font-size-body-small);text-align:start}.subscribe-input-wrap input::placeholder{color:var(--text-tertiary)}.subscribe-form button{min-width:5.5rem;min-height:3rem;padding:0 1rem;border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface-raised);color:var(--text-primary);box-shadow:var(--shadow-control);font-family:var(--font-reading);font-size:var(--font-size-body-small);cursor:pointer;transition:border-color .18s ease,color .18s ease,transform .18s var(--easing)}.subscribe-form button:hover:not(:disabled){border-color:var(--border-strong);transform:translateY(-1px)}.subscribe-form button:disabled{color:var(--text-tertiary);cursor:wait}.subscribe-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.subscribe-message{min-height:1.15rem;margin:0;grid-column:1/-1;color:var(--text-tertiary);font:500 var(--font-size-caption)/1.55 var(--font-interface);text-align:center}.subscribe-message.is-error{color:var(--destructive)}.subscription-result{max-width:42rem;align-self:center}.subscription-result h1{margin:0;color:var(--text-primary);font-family:var(--font-reading);font-size:clamp(2.4rem,7vw,4rem);font-weight:400;line-height:1.15;letter-spacing:-.045em}.subscription-result>p:not(.eyebrow){max-width:34rem;margin:1.5rem 0 0;color:var(--text-secondary);font-family:var(--font-reading);font-size:var(--font-size-body);line-height:1.9}.post-row{min-width:0;padding:1.4rem 0;display:grid;grid-template-columns:6.75rem minmax(0,1fr) auto;gap:1.35rem;align-items:start;color:inherit;text-decoration:none}.post-row time{height:var(--line-height-post-card-title);padding:0;display:inline-flex;align-items:center;color:var(--text-tertiary);font:500 var(--font-size-caption)/1.5 var(--font-interface);letter-spacing:.035em;white-space:nowrap}.post-row-copy,.post-row-heading{min-width:0;display:flex}.post-row-copy{flex-direction:column;gap:.45rem}.post-row-heading{align-items:baseline;gap:.75rem}.post-row-title{transition:color .18s ease}.post-category{flex:0 0 auto;color:var(--text-tertiary);font:500 var(--font-size-caption)/1 var(--font-interface);letter-spacing:.09em;text-transform:uppercase}.post-excerpt{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.post-arrow{padding-top:.2rem;display:inline-flex;color:var(--text-tertiary);font-size:var(--font-size-small);transition:color .18s ease,transform .18s var(--easing)}.post-row:hover .post-arrow{color:var(--text-primary);transform:translate(2px,-2px)}.text-link{margin-top:1.5rem;display:inline-flex;align-items:center;gap:.45rem}.text-link span{transition:transform .18s var(--easing)}.text-link:hover span{transform:translateX(3px)}.page-header>p:last-child{margin:0;color:var(--text-secondary);font-family:var(--font-reading);font-size:var(--font-size-body-small);line-height:1.8}.site-footer{width:100%;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;color:var(--text-tertiary);font:500 var(--font-size-caption)/1.5 var(--font-interface);letter-spacing:.1em;text-transform:uppercase}.footer-meta{display:flex;flex-direction:column;align-items:flex-start;gap:.55rem;min-width:0;color:var(--text-primary)}.footer-meta p{margin:0}.footer-copyright{display:inline-flex;align-items:baseline;gap:.35rem;white-space:nowrap}.footer-brand{color:var(--text-primary);font-family:var(--font-reading);font-size:var(--font-size-body);font-weight:400;letter-spacing:-.025em;text-transform:none}.footer-records{min-width:0;max-width:100%;display:flex;align-items:center;flex-wrap:nowrap;gap:.4rem .85rem;overflow-x:auto;white-space:nowrap;scrollbar-width:none;-webkit-overflow-scrolling:touch}.footer-records::-webkit-scrollbar{display:none}.footer-records a{display:inline-flex;align-items:center;gap:.3rem;color:inherit;font-weight:400;letter-spacing:normal;text-decoration:none;text-transform:none;transition:color .18s ease}.footer-records a:hover{color:var(--text-secondary)}.footer-records img{width:.75rem;height:auto;filter:grayscale(1);opacity:.62}.theme-controls{--theme-segment-size:2.5rem;position:relative;display:inline-flex;align-items:center;border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface-translucent);box-shadow:var(--shadow-control)}.theme-controls:before{content:"";position:absolute;z-index:0;top:1px;bottom:1px;left:1px;width:var(--theme-segment-size);border-radius:calc(var(--radius-control) - 2px);background:var(--surface-raised);box-shadow:inset 0 0 0 1px var(--border-strong);pointer-events:none;transition:transform .28s var(--easing)}.theme-controls[data-active-index="1"]:before{transform:translateX(100%)}.theme-controls[data-active-index="2"]:before{transform:translateX(200%)}.theme-controls button{position:relative;z-index:1;width:var(--theme-segment-size);min-width:var(--theme-segment-size);height:var(--theme-segment-size);padding:0;border:0;border-radius:0;background:transparent;color:var(--text-tertiary);font:600 var(--font-size-caption)/1 var(--font-interface);letter-spacing:.1em;cursor:pointer;transition:color .18s ease,background-color .18s ease,box-shadow .18s ease}.theme-controls button+button{border-left:1px solid var(--border-subtle)}.theme-controls button:first-child{border-radius:calc(var(--radius-control) - 1px) 0 0 calc(var(--radius-control) - 1px)}.theme-controls button:last-child{border-radius:0 calc(var(--radius-control) - 1px) calc(var(--radius-control) - 1px) 0}.theme-controls button:hover{color:var(--text-primary);background:var(--surface-subtle)}.theme-controls button[aria-pressed=true]{color:var(--text-primary);background:transparent;box-shadow:none}.theme-icon{width:1.15rem;height:1.15rem;margin:auto;display:block;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round;transition:transform .22s var(--easing)}.theme-controls button:hover .theme-icon,.theme-controls button[aria-pressed=true] .theme-icon{transform:scale(1.06)}.archive-page{max-width:48rem}.page-header{max-width:38rem;margin-bottom:clamp(4rem,9vh,6rem)}.page-header h1{font-size:clamp(2.75rem,8vw,4.5rem);line-height:1}.page-header>p:last-child{max-width:32rem;margin-top:1.5rem;font-size:var(--font-size-body)}.year-groups{display:flex;flex-direction:column;gap:4rem}.year-group{display:grid;grid-template-columns:5rem minmax(0,1fr);gap:2rem}.year-label{padding-top:1.55rem;display:flex;flex-direction:column;gap:.5rem}.year-group .post-list>li:first-child,.year-label{border-top:1px solid var(--border-subtle)}.year-group .post-row{grid-template-columns:minmax(0,1fr) auto}.year-group .post-row time{display:none}.article-page{position:relative;max-width:46rem;padding:clamp(4.5rem,10vh,7rem) 0 clamp(5rem,10vh,7rem)}.article-header{max-width:43rem;margin-bottom:3rem}.article-header h1{font-size:clamp(2.35rem,6vw,3.75rem);line-height:1.2}.article-deck{max-width:39rem;margin:1.5rem 0 0;color:var(--text-secondary);font-family:var(--font-reading);font-size:clamp(var(--font-size-body),2.4vw,1.12rem);line-height:1.9}.article-meta{margin-top:1.5rem;display:flex;gap:1rem;color:var(--text-tertiary);font:500 var(--font-size-caption)/1.5 var(--font-interface);letter-spacing:.08em;text-transform:uppercase}.article-cover{margin:0 0 3.5rem}.article-cover img,.article-image img{width:100%;height:auto;display:block;object-fit:cover}.article-cover img{max-height:34rem}.article-image{display:block}.article-prose{color:var(--text-secondary);font-family:var(--font-reading);font-size:var(--font-size-body);line-height:2}.article-prose>:first-child{margin-top:0}.article-prose blockquote,.article-prose figure,.article-prose ol,.article-prose p,.article-prose pre,.article-prose table,.article-prose ul{margin:1.65rem 0}.article-prose h1,.article-prose h2,.article-prose h3,.article-prose h4{margin:3.5rem 0 1.2rem;color:var(--text-primary);font-family:var(--font-reading);font-weight:600;line-height:1.4;letter-spacing:-.025em;scroll-margin-top:2rem}.article-prose h1{font-size:1.75rem}.article-prose h2{font-size:1.55rem}.article-prose h3{font-size:1.3rem}.article-prose h4{font-size:1.12rem}.article-prose ol,.article-prose ul{padding-left:1.4rem}.article-prose li{margin:.45rem 0;padding-left:.2rem}.article-prose blockquote{padding-left:1.25rem;border-left:1px solid var(--border-strong);color:var(--text-secondary)}.article-prose blockquote p:first-of-type:before,.article-prose blockquote p:last-of-type:after{content:none}.article-prose a{color:var(--text-primary);text-decoration-color:var(--border-strong);text-decoration-thickness:1px;text-underline-offset:.25em;transition:color .18s ease,text-decoration-color .18s ease}.article-prose a:hover{color:var(--text-secondary);text-decoration-color:var(--text-secondary)}.external-mark{margin-left:.2em;display:inline-flex;vertical-align:baseline;color:var(--text-tertiary);font-size:.75em}.article-prose code:not(pre code){padding:.15em .35em;border:1px solid var(--border-subtle);border-radius:.2rem;background:var(--surface-subtle);color:var(--text-primary);font-family:var(--font-code);font-size:.85em}.article-prose pre{overflow-x:auto;padding:1.25rem;border-radius:.35rem;background:#171716;color:#efefeb;font:var(--font-size-small)/1.75 var(--font-code)}.article-prose hr{margin:3rem 0;border:0;border-top:1px solid var(--border-subtle)}.article-prose table{width:100%;border-collapse:collapse;font-family:var(--font-interface);font-size:var(--font-size-small)}.article-prose td,.article-prose th{padding:.75rem;border-bottom:1px solid var(--border-subtle);text-align:left}.article-image-caption{display:block;margin-top:.75rem;color:var(--text-tertiary);font-family:var(--font-interface);font-size:var(--font-size-caption);text-align:center}.media-card{margin:2.75rem 0;padding:1.25rem 0;border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);display:grid;grid-template-columns:6.5rem minmax(0,1fr);gap:1.5rem;font-family:var(--font-reading)}.media-card-cover{position:relative;aspect-ratio:2/3;overflow:hidden;display:grid;place-items:center;background:var(--surface-subtle);color:var(--text-tertiary);font-size:1.5rem}.media-card-cover img{object-fit:cover}.media-card-copy{min-width:0;align-self:center}.media-card-meta{margin-bottom:.7rem;display:flex;flex-wrap:wrap;gap:.4rem .8rem;color:var(--text-tertiary);font:600 var(--font-size-caption)/1.5 var(--font-interface);letter-spacing:.09em;text-transform:uppercase}.media-card h3{margin:0;color:var(--text-primary);font-size:1.35rem;font-weight:600}.media-card-author,.media-card-comment{margin:.45rem 0 0!important}.media-card-author{color:var(--text-tertiary);font-family:var(--font-interface);font-size:var(--font-size-small)}.media-card-comment{color:var(--text-secondary);font-size:var(--font-size-body-small);line-height:1.75;white-space:pre-line}.article-tags{margin-top:4rem;padding-top:1.25rem;border-top:1px solid var(--border-subtle);display:flex;flex-wrap:wrap;gap:.75rem;font:500 var(--font-size-caption)/1.5 var(--font-interface);letter-spacing:.05em}.article-tags,.empty-note{color:var(--text-tertiary)}.empty-note{font-family:var(--font-reading);font-style:italic}.article-prose a:focus-visible,.featured-post:focus-visible,.footer-records a:focus-visible,.nav-menu-toggle:focus-visible,.post-row:focus-visible,.site-brand:focus-visible,.site-navigation a:focus-visible,.subscribe-form button:focus-visible,.subscribe-section a:focus-visible,.text-link:focus-visible,.theme-controls button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}@keyframes mask-reveal{0%{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:translateY(0)}}.reveal{animation:mask-reveal .9s var(--easing) both}.delay-1{animation-delay:80ms}.delay-2{animation-delay:.16s}.delay-3{animation-delay:.24s}@media (max-width:42rem){.site-shell{--site-gutter:1rem}.site-content{padding-top:4.5rem}.site-topbar{top:0;padding:calc(.75rem + env(safe-area-inset-top, 0px)) var(--site-gutter-right) .75rem var(--site-gutter-left);grid-template-columns:minmax(0,1fr) auto;gap:.75rem}.site-navigation{position:absolute;z-index:2;top:calc(100% + .5rem);right:var(--site-gutter-right);width:min(13rem,calc(100vw - var(--site-gutter-left) - var(--site-gutter-right)));padding:.4rem;border:1px solid var(--border-subtle);border-radius:calc(var(--radius) + .125rem);grid-column:auto;justify-self:auto;flex-direction:column;align-items:stretch;gap:.2rem;background:var(--surface-translucent);box-shadow:var(--shadow-control),0 1rem 3rem rgb(20 20 18/.12);backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-.4rem) scale(.98);transform-origin:top right;transition:opacity .18s ease,visibility .18s ease,transform .24s var(--easing)}.site-topbar[data-menu-open=true] .site-navigation{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0) scale(1)}.site-navigation a{width:100%;padding:.72rem .8rem;border-radius:var(--radius-control);text-align:start;transition:color .18s ease,background-color .18s ease}.site-navigation a:hover,.site-navigation a[aria-current=page]{background:var(--surface-subtle)}.nav-menu-toggle{position:relative;z-index:3;grid-column:2;justify-self:end;display:grid}.subscribe-form{grid-template-columns:1fr}.subscribe-form button{width:100%}.post-row{grid-template-columns:minmax(0,1fr) auto;gap:.75rem}.featured-post,.post-list,.post-list>li,.post-row,.post-row-copy,.post-row-heading{max-width:100%}.post-row time{height:auto;grid-column:1/-1;padding:0}.post-row-heading{flex-direction:column;gap:.3rem}.post-category{order:-1}.year-group{grid-template-columns:1fr;gap:.6rem}.year-label{flex-direction:row;align-items:baseline;justify-content:space-between}.site-footer{flex-direction:row;align-items:center;gap:.75rem}.footer-meta{min-width:0;width:auto;flex:1 1;gap:.55rem;font-size:var(--font-size-caption);container-type:inline-size}.footer-records{width:100%;flex-direction:row;gap:.45rem;overflow:visible;font-size:.45rem;font-size:clamp(.25rem,3.75cqw,var(--font-size-caption));scrollbar-width:auto;-webkit-overflow-scrolling:auto}.footer-records img{width:1.1em}.theme-controls{--theme-segment-size:2rem;flex:0 0 auto;align-self:center}.theme-controls button{padding:0}.theme-icon{width:1rem;height:1rem}.media-card{grid-template-columns:5rem minmax(0,1fr);gap:1rem}}@media (max-width:80rem){.article-toc{display:none}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.reveal{animation:none}}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}
/*!
  Theme: GitHub Dark
  Description: Dark theme as seen on github.com
  Author: github.com
  Maintainer: @Hirse
  Updated: 2021-05-15

  Outdated base version: https://github.com/primer/github-syntax-dark
  Current colors taken from GitHub's CSS
*/.hljs{color:#c9d1d9;background:#0d1117}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#ff7b72}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-variable{color:#79c0ff}.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-code,.hljs-comment,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-pseudo,.hljs-selector-tag{color:#7ee787}.hljs-subst{color:#c9d1d9}.hljs-section{color:#1f6feb;font-weight:700}.hljs-bullet{color:#f2cc60}.hljs-emphasis{color:#c9d1d9;font-style:italic}.hljs-strong{color:#c9d1d9;font-weight:700}.hljs-addition{color:#aff5b4;background-color:#033a16}.hljs-deletion{color:#ffdcd7;background-color:#67060c}