@font-face{font-family:Atkinson Hyperlegible;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/Atkinson-Hyperlegible-Regular-102a.woff2)format("woff2")}@font-face{font-family:Atkinson Hyperlegible;font-weight:400;font-style:italic;font-display:swap;src:url(/fonts/Atkinson-Hyperlegible-Italic-102a.woff2)format("woff2")}@font-face{font-family:Atkinson Hyperlegible;font-weight:700;font-style:normal;font-display:swap;src:url(/fonts/Atkinson-Hyperlegible-Bold-102a.woff2)format("woff2")}@font-face{font-family:Atkinson Hyperlegible;font-weight:700;font-style:italic;font-display:swap;src:url(/fonts/Atkinson-Hyperlegible-BoldItalic-102a.woff2)format("woff2")}@font-face{font-family:EB Garamond;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/eb-garamond-v14-latin-regular.woff2)format("woff2")}@font-face{font-family:EB Garamond;font-weight:400;font-style:italic;font-display:swap;src:url(/fonts/eb-garamond-v14-latin-italic.woff2)format("woff2")}@font-face{font-family:EB Garamond;font-weight:600;font-style:normal;font-display:swap;src:url(/fonts/eb-garamond-v14-latin-600.woff2)format("woff2")}@font-face{font-family:EB Garamond;font-weight:600;font-style:italic;font-display:swap;src:url(/fonts/eb-garamond-v14-latin-600italic.woff2)format("woff2")}:root{--bg:oklch(96.7% .007 97.4);--surface:oklch(99.2% .004 97);--surface-2:oklch(95.1% .009 128.6);--ink:oklch(25.2% .026 160.6);--ink-2:oklch(36.9% .028 158.9);--muted:oklch(49.3% .028 150.7);--line:oklch(90.2% .016 99);--line-2:oklch(84.6% .021 100.6);--brand:oklch(43.9% .062 162.6);--brand-2:oklch(50.5% .063 159.7);--brand-deep:oklch(32.1% .043 160.9);--brand-soft:oklch(93.8% .017 156.9);--on-brand:oklch(98% .012 101.5);--paper-warm:oklch(96.9% .025 75.3);--live:oklch(50% .13 48);--live-soft:oklch(94% .035 60);--head:"EB Garamond", Georgia, "Times New Roman", serif;--body:"Atkinson Hyperlegible", system-ui, -apple-system, "Segoe UI", sans-serif;--fs-2xs:.75rem;--fs-xs:.9rem;--fs-sm:1rem;--fs-md:1.125rem;--fs-lg:1.4rem;--fs-xl:1.75rem;--fs-2xl:2.2rem;--fs-display:clamp(2.4rem, 6vw, 3.6rem);--fs-hero:clamp(3rem, 7.5vw, 5.25rem);--space-3xs:.25rem;--space-2xs:.5rem;--space-xs:.75rem;--space-sm:1rem;--space-md:1.5rem;--space-lg:2rem;--space-xl:3rem;--space-2xl:4rem;--space-3xl:6rem;--ease-out:cubic-bezier(.25, 1, .5, 1);--wrap:68rem;--read:42rem;--header-h:4.25rem;--radius:14px;color-scheme:light}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 1rem)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--bg);color:var(--ink);font:var(--fs-sm)/1.65 var(--body);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);margin:0}img,svg{max-width:100%}img{height:auto}a{color:var(--brand);text-underline-offset:.18em;text-decoration-thickness:1px;transition:color .15s}a:hover{color:var(--ink)}button,input{font:inherit;color:inherit}h1,h2,h3,h4{font-family:var(--head);text-wrap:balance;color:var(--ink);margin:0;font-weight:600;line-height:1.12}p{margin:0 0 1em}:focus-visible{outline:3px solid var(--brand);outline-offset:2px;border-radius:4px}[hidden]{display:none!important}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{background:var(--brand);color:var(--on-brand);z-index:100;border-radius:8px;padding:.5rem 1rem;position:absolute;top:-4rem;left:1rem}.skip:focus{top:.75rem}.wrap{width:min(100% - 2.5rem, var(--wrap));margin-inline:auto}.read{width:min(100% - 2.5rem, var(--read));margin-inline:auto}.read.wide{width:min(100% - 2.5rem,50rem)}main{min-height:60vh;padding-bottom:var(--space-3xl)}.site-header{z-index:40;background:var(--bg);border-bottom:1px solid var(--line);position:sticky;top:0}.header-in{min-height:var(--header-h);align-items:center;gap:var(--space-2xs) var(--space-md);grid-template-columns:auto 1fr auto;grid-template-areas:"brand nav actions";display:grid}.brand{color:var(--ink);grid-area:brand;align-items:center;gap:.6rem;text-decoration:none;display:inline-flex}.brand img{width:1.9rem;height:1.9rem;display:block}.brand span{font-family:var(--head);font-weight:600;font-size:var(--fs-lg);letter-spacing:.01em}.nav{grid-area:nav;justify-content:flex-end;gap:.15rem;display:flex}.nav a{color:var(--muted);font-size:var(--fs-xs);letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;border-radius:8px;padding:.4rem .7rem;text-decoration:none;position:relative}.nav a:hover{color:var(--ink);background:var(--surface-2)}.nav a[aria-current]{color:var(--brand);font-weight:700}.nav a[aria-current]:after{content:"";background:var(--brand);border-radius:2px;height:2px;position:absolute;bottom:.1rem;left:.7rem;right:.7rem}.header-actions{align-items:center;gap:var(--space-3xs);grid-area:actions;display:flex}.icon-link{width:2.4rem;height:2.4rem;color:var(--muted);border-radius:8px;place-items:center;display:inline-grid}.icon-link:hover{background:var(--surface-2);color:var(--brand)}.site-search-btn{cursor:pointer;border:1px solid var(--line);background:var(--surface);height:2.4rem;color:var(--muted);font-size:var(--fs-xs);border-radius:10px;align-items:center;gap:.45rem;padding:0 .7rem;transition:border-color .15s,color .15s;display:inline-flex}.site-search-btn:hover{border-color:var(--brand-2);color:var(--ink)}.site-search-kbd{font:inherit;font-size:var(--fs-2xs);color:var(--muted);border:1px solid var(--line);background:var(--bg);border-radius:5px;padding:0 .35em}@media (width<=52rem){:root{--header-h:6rem}.header-in{gap:0 var(--space-sm);grid-template-columns:1fr auto;grid-template-areas:"brand actions""nav nav";padding-top:.35rem}.nav{scrollbar-width:none;justify-content:space-between;overflow-x:auto}.nav a{font-size:var(--fs-2xs);letter-spacing:.05em;padding:.8rem .42rem}.nav a[aria-current]:after{bottom:.45rem;left:.42rem;right:.42rem}.nav::-webkit-scrollbar{display:none}.site-search-label,.site-search-kbd{display:none}.icon-link{width:2.75rem;height:2.75rem}.site-search-btn{justify-content:center;width:2.75rem;height:2.75rem;padding:0}}.site-footer{border-top:1px solid var(--line);padding:var(--space-lg) 0 var(--space-xl);color:var(--muted);font-size:var(--fs-xs)}.footer-in{justify-content:space-between;align-items:center;gap:var(--space-sm) var(--space-lg);flex-wrap:wrap;display:flex}.footer-links{gap:var(--space-3xs) 1.25rem;flex-wrap:wrap;display:flex}.footer-links a{color:var(--muted)}.footer-links a:hover{color:var(--brand)}.btn{border:1px solid var(--brand);background:var(--brand);color:var(--on-brand);font-weight:700;font-size:var(--fs-sm);cursor:pointer;border-radius:10px;align-items:center;gap:.5rem;padding:.65rem 1.15rem;line-height:1.2;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.btn:hover{background:var(--ink);border-color:var(--ink);color:var(--on-brand)}.btn.ghost{color:var(--brand);background:0 0}.btn.ghost:hover{background:var(--brand-soft);color:var(--ink);border-color:var(--brand)}.btn svg{flex:none;width:1em;height:1em}.cta{text-align:center;margin:2.5rem 0}.chip{border:1px solid var(--line-2);background:var(--surface);font-size:var(--fs-xs);cursor:pointer;color:var(--ink-2);border-radius:999px;align-items:center;gap:.4rem;padding:.3rem .85rem;line-height:1.3;text-decoration:none;transition:border-color .15s,color .15s,background-color .15s;display:inline-flex}.chip:hover{border-color:var(--brand-2);color:var(--ink)}.chip[aria-pressed=true]{background:var(--brand);border-color:var(--brand);color:var(--on-brand);font-weight:700}.chip small{opacity:.7;font-size:.78em}.chip[data-f-live]:before{content:"";background:var(--live);border-radius:50%;flex:none;width:.5rem;height:.5rem}.chip[data-f-live]:hover{border-color:var(--live)}.chip[data-f-live][aria-pressed=true]{background:var(--live);border-color:var(--live);color:var(--on-brand)}.chip[data-f-live][aria-pressed=true]:before{background:var(--on-brand)}.badge{font-size:var(--fs-2xs);letter-spacing:.04em;background:var(--live-soft);color:var(--live);white-space:nowrap;border-radius:999px;align-items:center;gap:.4rem;padding:.15rem .65rem;font-weight:700;display:inline-flex}.badge:before{content:"";background:var(--live);border-radius:50%;width:.45rem;height:.45rem}.eyebrow{font-size:var(--fs-2xs);letter-spacing:.14em;text-transform:uppercase;color:var(--brand-2);margin:0 0 var(--space-xs);font-weight:700}.meta{font-size:var(--fs-xs);color:var(--muted);flex-wrap:wrap;align-items:center;gap:.15rem .6rem;margin:0;display:flex}.meta>*+:before{content:"·";color:var(--line-2);margin-right:.6rem}.meta a{color:inherit}@media (width<=40rem){.meta{column-gap:.85rem}.meta>*+:before{display:none}}.hero{gap:var(--space-xl);padding:var(--space-2xl) 0 var(--space-xl);grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center;display:grid}.hero h1{font-weight:400;font-size:var(--fs-hero);letter-spacing:-.015em;color:var(--brand-deep);line-height:1}.hero-role{font-family:var(--head);font-size:var(--fs-md);letter-spacing:.12em;text-transform:uppercase;color:var(--brand-2);margin:var(--space-sm) 0 var(--space-md);font-weight:600}.hero-lead{max-width:30rem;color:var(--ink-2);font-size:var(--fs-md)}.hero-lead blockquote{margin:0 0 var(--space-md);font-family:var(--head);font-style:italic;font-size:var(--fs-lg);color:var(--ink);padding:0;line-height:1.35}.hero-lead blockquote:before{content:"“";content:"“" / "";height:1.6rem;color:var(--brand-2);font-size:4rem;font-style:normal;line-height:.7;display:block}.hero-lead blockquote p{margin:0}.hero-lead>p{margin:0 0 var(--space-xs)}.hero-actions{gap:var(--space-xs);margin-top:var(--space-md);flex-wrap:wrap;display:flex}.hero-art{background:var(--paper-warm);border-radius:20px;margin:0;overflow:hidden}.hero-art img{width:100%;height:auto;display:block}@media (width<=52rem){.hero{gap:var(--space-lg);padding-top:var(--space-md);grid-template-columns:minmax(0,1fr)}.hero-art{order:-1;max-width:26rem}}.featured{padding-top:var(--space-xl);border-top:1px solid var(--line)}.featured-in{gap:var(--space-xl);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start;display:grid}.featured-body{gap:var(--space-xs);flex-direction:column;display:flex;position:relative}.featured h2{font-size:clamp(var(--fs-xl), 3vw, var(--fs-2xl));line-height:1.08}.featured h2 a{color:inherit;text-decoration:none}.featured h2 a:after{content:"";position:absolute;inset:0}.featured-body p{color:var(--ink-2);margin:0}.featured-body .meta{color:var(--muted)}.featured-body .badge{align-self:flex-start}.featured .go{color:var(--brand);margin-top:var(--space-2xs);align-items:center;gap:.4rem;font-weight:700;display:inline-flex}.featured-body:hover h2 a{color:var(--brand)}.featured-live{min-width:0}.featured-live .wgt{margin:0}.featured-img{border:1px solid var(--line);background:var(--surface);border-radius:12px;margin:0;overflow:hidden}.featured-img img{width:100%;height:auto;display:block}@media (width<=52rem){.featured-in{gap:var(--space-md);grid-template-columns:minmax(0,1fr)}}.explorer{padding-top:var(--space-xl)}.featured+.explorer{padding-top:var(--space-2xl)}.explorer-head{justify-content:space-between;align-items:baseline;gap:var(--space-2xs) var(--space-md);margin-bottom:var(--space-md);flex-wrap:wrap;display:flex}.explorer-head h2{font-size:var(--fs-2xl);font-weight:400}.count{color:var(--muted);font-size:var(--fs-xs);margin:0}.filters{gap:var(--space-sm);margin-bottom:var(--space-md);display:none}.js .filters{display:grid}.f-top{align-items:center;gap:.6rem var(--space-sm);flex-wrap:wrap;display:flex}.f-top .chip{min-height:2.5rem;padding-inline:var(--space-sm)}.f-search{flex:16rem;max-width:24rem;position:relative}.f-search svg{color:var(--muted);pointer-events:none;position:absolute;top:50%;left:.85rem;transform:translateY(-50%)}.f-search input{border:1px solid var(--line-2);background:var(--surface);outline-offset:2px;border-radius:10px;width:100%;padding:.65rem .9rem .65rem 2.5rem}.f-search input:focus{border-color:var(--brand);outline:3px solid color-mix(in srgb, var(--brand) 30%, transparent)}.f-group{align-items:center;gap:var(--space-2xs);flex-wrap:wrap;display:flex}.f-label{font-size:var(--fs-xs);color:var(--muted);min-width:3.4rem;font-weight:700}.items{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.item{gap:var(--space-md);padding:var(--space-md) var(--space-xs);border-bottom:1px solid var(--line);border-radius:0;grid-template-columns:9rem minmax(0,1fr);transition:background-color .2s;display:grid;position:relative}.item:hover{background:var(--surface)}.item-thumb{aspect-ratio:4/3;background:var(--surface-2);border-radius:10px;align-self:start;overflow:hidden}.item-thumb img{object-fit:cover;width:100%;height:100%;display:block}.item-thumb.empty{color:var(--line-2);font-family:var(--head);font-size:var(--fs-xl);place-items:center;display:grid}.item-body{flex-direction:column;gap:.35rem;min-width:0;display:flex}.item-meta{font-size:var(--fs-xs);color:var(--muted);flex-wrap:wrap;align-items:center;gap:.2rem .65rem;margin:0;display:flex}.item-kind{color:var(--brand-2);font-weight:700}.item-title{font-size:clamp(var(--fs-lg), 2.2vw, var(--fs-xl));line-height:1.12}.item-title a{color:inherit;text-decoration:none;transition:color .2s}.item-title a:after{content:"";position:absolute;inset:0}.item-title a:focus-visible{outline:none}.item:hover .item-title a{color:var(--brand)}.item:has(.item-title a:focus-visible){outline:3px solid var(--brand);outline-offset:-3px;border-radius:12px}.item-sub{color:var(--ink-2);font-size:var(--fs-sm);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.item .badge{align-self:flex-start;margin-top:.2rem}.empty-state{color:var(--muted);padding:2.5rem 0}@media (width<=40rem){.item{padding:var(--space-sm) var(--space-3xs);grid-template-columns:5.5rem minmax(0,1fr);gap:.9rem}.item-thumb{aspect-ratio:1;border-radius:10px}.item-title{font-size:var(--fs-lg)}.item-sub{-webkit-line-clamp:3;line-clamp:3;font-size:var(--fs-xs)}}.page-head{padding:var(--space-xl) 0 var(--space-md)}.page-head h1{font-size:var(--fs-display);letter-spacing:-.01em;font-weight:400}.page-head .lead{color:var(--muted);font-size:var(--fs-md);margin:var(--space-xs) 0 0;max-width:36rem}.page-head.read{padding-inline:0}.post-head{padding:var(--space-xl) 0 var(--space-lg);grid-area:head;min-width:0}.post-head h1{font-size:var(--fs-display);letter-spacing:-.01em;font-weight:600;line-height:1.06}.crumbs{align-items:center;gap:var(--space-3xs) .7rem;font-size:var(--fs-xs);flex-wrap:wrap;margin:0 0 1.25rem;display:flex}.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--brand)}.crumbs .topic{color:var(--brand-2);font-weight:700}.post-sub{font-family:var(--head);font-style:italic;font-size:var(--fs-lg);color:var(--ink-2);margin:var(--space-sm) 0 1.1rem;max-width:38rem;line-height:1.35}.post-tags{margin:var(--space-sm) 0 0;flex-wrap:wrap;gap:.4rem;padding:0;list-style:none;display:flex}.post-tags a{font-size:var(--fs-xs);border:1px solid var(--line-2);color:var(--muted);background:var(--surface);border-radius:999px;padding:.15rem .65rem;text-decoration:none}.post-tags a:hover{color:var(--brand);border-color:var(--brand-2)}.post-layout{width:min(100% - 2.5rem, var(--wrap));grid-template-columns:minmax(0, var(--read));grid-template-areas:"head""main""rel";justify-content:center;column-gap:3.5rem;margin-inline:auto;display:grid}@media (width>=72rem){.post-layout:not(.no-toc){grid-template-columns:minmax(0, var(--read)) 15rem;grid-template-areas:"head.""main toc""rel."}}.post-main{grid-area:main;min-width:0}.toc-side{grid-area:toc;display:none}@media (width>=72rem){.post-layout:not(.no-toc) .toc-side{display:block}.toc-mobile{display:none}}.toc{font-size:var(--fs-xs)}.toc-side .toc{top:calc(var(--header-h) + 1.5rem);max-height:calc(100vh - var(--header-h) - 3rem);position:sticky;overflow-y:auto}.toc-title{font-size:var(--fs-xs);color:var(--muted);margin:0 0 var(--space-2xs);font-weight:700}.toc ol{margin:0;padding:0;list-style:none}.toc ol ol{padding-left:var(--space-sm);margin:.15rem 0 .35rem}.toc li{margin:0}.toc a{color:var(--muted);padding:.22rem 0 .22rem 1.1rem;line-height:1.35;text-decoration:none;display:block;position:relative}.toc a:before{content:"";background:var(--line-2);width:.4rem;height:.4rem;transition:background-color .2s, transform .25s var(--ease-out);border-radius:50%;position:absolute;top:.78em;left:.15rem}.toc a:hover{color:var(--ink)}.toc a:hover:before{background:var(--muted)}.toc a.active{color:var(--brand);font-weight:700}.toc a.active:before{background:var(--brand);transform:scale(1.4)}.toc-mobile{border:1px solid var(--line);background:var(--surface);margin-bottom:var(--space-md);border-radius:12px}.toc-mobile summary{cursor:pointer;padding:var(--space-xs) var(--space-sm);font-weight:700;font-size:var(--fs-sm)}.toc-mobile .toc{padding:0 var(--space-sm) var(--space-xs)}.prose{font-size:var(--fs-md);overflow-wrap:break-word;min-width:0;line-height:1.7}.prose a{overflow-wrap:anywhere}.prose>:first-child{margin-top:0}.prose h1{font-size:var(--fs-2xl);margin:3.5rem 0 var(--space-sm);border-top:1px solid var(--line);padding-top:1.75rem}.prose h1:first-child{border-top:0;margin-top:0;padding-top:0}.prose h2{font-size:var(--fs-xl);margin:2.6rem 0 .8rem}.prose h3{font-size:var(--fs-lg);margin:var(--space-lg) 0 .6rem}.prose h4{font-size:var(--fs-sm);font-family:var(--body);color:var(--ink-2);margin:1.6rem 0 .4rem;font-weight:700}.prose h5,.prose h6{font-family:var(--body);font-size:var(--fs-sm);margin:1.4rem 0 .4rem}.prose p,.prose ul,.prose ol,.prose blockquote,.prose pre,.prose figure{margin-block:0 1.15em}.prose ul,.prose ol{padding-left:1.4rem}.prose li{margin:.3em 0}.prose li>ul,.prose li>ol{margin-block:.3em 0}.prose strong{color:var(--ink)}.prose a{text-decoration-thickness:1px;text-decoration-color:color-mix(in srgb, var(--brand) 50%, transparent)}.prose a:hover{text-decoration-color:currentColor}.prose blockquote{padding:var(--space-sm) var(--space-md);background:color-mix(in srgb, var(--brand-soft) 55%, transparent);border:1px solid color-mix(in srgb, var(--brand) 14%, transparent);color:var(--ink-2);border-radius:12px}.prose blockquote>:last-child{margin-bottom:0}.prose img{border-radius:12px;margin:1.75rem auto;display:block}.prose img[width][height]{height:auto}.prose hr{border:0;border-top:1px solid var(--line);margin:2.75rem 0}.prose table{border-collapse:collapse;width:max-content;max-width:100%;font-size:var(--fs-sm);margin:1.5rem 0;line-height:1.5;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--line);vertical-align:top;text-align:left;padding:.6rem .8rem}.prose th{background:var(--surface-2);font-size:var(--fs-xs);letter-spacing:.04em}.prose tbody tr:nth-child(2n) td{background:color-mix(in srgb, var(--surface) 70%, transparent)}.table-shell{margin:1.5rem 0;position:relative}.table-scroll{overflow-x:auto}.prose .table-scroll>table{width:max-content;max-width:max(100%,40rem);margin:0;display:table}.table-shell:before,.table-shell:after{content:"";z-index:1;pointer-events:none;opacity:0;width:2rem;transition:opacity .2s;position:absolute;top:0;bottom:0}.table-shell:before{background:linear-gradient(to right, var(--bg), transparent);left:0}.table-shell:after{background:linear-gradient(to left, var(--bg), transparent);right:0}.table-shell.more-left:before,.table-shell.more-right:after{opacity:1}@media (width<=40rem){.prose table{font-size:var(--fs-xs)}.prose th,.prose td{padding:.5rem .6rem}}.prose code{background:var(--surface-2);border-radius:5px;padding:.1em .35em;font-size:.9em}.prose pre{background:var(--surface-2);border:1px solid var(--line);padding:var(--space-sm) 1.1rem;line-height:1.5;font-size:var(--fs-xs);border-radius:12px;overflow-x:auto}.prose pre code{background:0 0;padding:0}.prose iframe{border:0;max-width:100%}.prose .footnotes{font-size:var(--fs-xs);color:var(--muted)}.prose h1 a.anchor,.prose h2 a.anchor{text-decoration:none}.related{margin-top:var(--space-2xl);padding-top:var(--space-lg);border-top:1px solid var(--line);grid-area:rel;min-width:0}.related.after-end{margin-top:var(--space-xl);border-top:0;padding-top:0}.related h2{font-size:var(--fs-xl);margin-bottom:var(--space-xs)}.post-end{margin-top:var(--space-2xl)}.author{gap:var(--space-md);padding:var(--space-lg) 0;border-top:1px solid var(--line);grid-template-columns:auto minmax(0,1fr);align-items:center;display:grid}.author img{object-fit:cover;border-radius:50%;width:4rem;height:4rem;display:block}.author-name{font-family:var(--head);font-weight:600;font-size:var(--fs-lg);color:var(--ink);margin:0;line-height:1.2}.author-bio{margin:var(--space-3xs) 0 0;color:var(--ink-2);font-size:var(--fs-sm)}.author-links{gap:var(--space-3xs) var(--space-sm);margin:var(--space-2xs) 0 0;font-size:var(--fs-xs);flex-wrap:wrap;display:flex}.post-nav{border-block:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.post-nav a{gap:var(--space-3xs);padding:var(--space-md) var(--space-sm) var(--space-md) 0;color:var(--ink);align-content:start;text-decoration:none;display:grid}.post-nav a+a{padding:var(--space-md) 0 var(--space-md) var(--space-sm);border-left:1px solid var(--line)}.post-nav .next{text-align:right}.post-nav .next:only-child{padding:var(--space-md) 0 var(--space-md) var(--space-sm);grid-column:2}.post-nav-label{font-size:var(--fs-xs);color:var(--muted)}.post-nav-title{font-family:var(--head);font-weight:600;font-size:var(--fs-lg);text-wrap:balance;line-height:1.2;transition:color .2s}.post-nav a:hover .post-nav-title{color:var(--brand)}@media (width<=40rem){.post-nav{grid-template-columns:minmax(0,1fr)}.post-nav a,.post-nav a+a,.post-nav .next:only-child{padding:var(--space-sm) 0;border-left:0;grid-column:auto}.post-nav a+a{border-top:1px solid var(--line)}.post-nav .next{text-align:left}}.project-links{margin-top:var(--space-md);flex-wrap:wrap;gap:.6rem;display:flex}.project-hero{margin:var(--space-lg) 0 0;background:var(--surface-2);border-radius:14px;overflow:hidden}.project-hero img{object-fit:cover;width:100%;height:auto;max-height:24rem;display:block}.prose .timeline{margin:var(--space-md) 0 0;border-top:1px solid var(--line);padding:0;list-style:none}.prose .timeline>li{gap:var(--space-md);padding:var(--space-md) 0;border-bottom:1px solid var(--line);grid-template-columns:8.5rem minmax(0,1fr);align-items:baseline;margin:0;display:grid}.prose .timeline>li:last-child{border-bottom:0;padding-bottom:0}.prose .tl-when{white-space:nowrap;font-family:var(--head);font-weight:600;font-size:var(--fs-md);color:var(--brand-2);font-variant-numeric:lining-nums tabular-nums;margin:0;line-height:1.2}.prose .tl-what h3{font-size:var(--fs-lg);margin:0;line-height:1.2}.prose .tl-org{margin:var(--space-3xs) 0 var(--space-xs);font-size:var(--fs-sm);color:var(--ink-2)}.prose .tl-org span{color:var(--muted);font-style:italic;display:block}.prose .tl-what ul{font-size:var(--fs-sm);margin:0;padding-left:1.1rem;line-height:1.6}.prose .tl-what li{margin:var(--space-3xs) 0}@media (width<=40rem){.prose .timeline>li{gap:var(--space-3xs);grid-template-columns:minmax(0,1fr)}}.about-grid{width:min(100% - 2.5rem, var(--wrap));gap:var(--space-2xl);grid-template-columns:minmax(0,1fr) 19rem;align-items:start;margin-inline:auto;display:grid}.profile{background:var(--surface);border:1px solid var(--line);padding:var(--space-lg) var(--space-md);text-align:center;top:calc(var(--header-h) + 1.5rem);border-radius:16px;position:sticky}.profile img{object-fit:cover;width:8rem;height:8rem;margin:0 auto var(--space-sm);border-radius:50%;display:block}.profile h2{font-size:var(--fs-xl)}.profile .role{font-family:var(--head);text-transform:uppercase;letter-spacing:.08em;font-size:var(--fs-xs);color:var(--brand-2);margin:.4rem 0 var(--space-sm)}.profile .interests{margin-top:var(--space-md);padding-top:var(--space-sm);border-top:1px solid var(--line);font-size:var(--fs-xs);color:var(--muted)}.profile .interests p{margin:0}.profile .interests .interests-label{margin-bottom:var(--space-3xs);color:var(--ink-2);font-weight:700}@media (width<=56rem){.about-grid{gap:var(--space-lg);grid-template-columns:minmax(0,1fr)}.profile{order:-1;position:static}}.contact-card{background:var(--surface);border:1px solid var(--line);padding:1.25rem var(--space-md);margin:.5rem 0 var(--space-md);border-radius:14px}.terms{margin:var(--space-md) 0 var(--space-lg);flex-wrap:wrap;gap:.6rem;display:flex}.notfound{text-align:center;padding:6rem 0 var(--space-xl)}.notfound h1{color:var(--brand-2);font-size:clamp(4rem,14vw,8rem);font-weight:400;line-height:1}.notfound p{color:var(--muted);font-size:var(--fs-md)}.notfound .hero-actions{justify-content:center}@media (prefers-reduced-motion:no-preference){@keyframes rise{0%{opacity:0;transform:translateY(.75rem)}}.js .hero-role,.js .hero-lead,.js .hero-actions,.js .featured-in{animation:rise .7s var(--ease-out) backwards}.js .hero-role{animation-delay:50ms}.js .hero-lead{animation-delay:.12s}.js .hero-actions{animation-delay:.19s}.js .featured-in{animation-delay:.3s}.js .explorer:not([data-touched]) .item{animation:rise .6s var(--ease-out) backwards;animation-delay:calc(.35s + var(--i,0) * 50ms)}.item-thumb img{transition:transform .5s var(--ease-out)}.item:hover .item-thumb img{transform:scale(1.04)}.btn svg,.featured .go svg{transition:transform .25s var(--ease-out)}.btn:hover svg,.featured-body:hover .go svg{transform:translate(3px)}}@media print{.site-header,.site-footer,.toc,.toc-mobile,.related,.post-nav{display:none}body{background:#fff}}html.srch-lock{overflow:hidden}.srch{z-index:2147483647;padding:max(5vh, env(safe-area-inset-top,0px)) max(12px, env(safe-area-inset-right,0px)) 12px max(12px, env(safe-area-inset-left,0px));background:#17261e80;justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0}.srch[hidden]{display:none}.srch *,.srch :before,.srch :after{box-sizing:border-box}.srch-box{color:#17261e;text-transform:none;letter-spacing:normal;text-align:left;background:#fff;border:1px solid #ddddcf;border-radius:14px;flex-direction:column;width:100%;max-width:38rem;max-height:calc(100dvh - 12vh);margin-top:5vh;font-size:1rem;line-height:1.4;display:flex;overflow:hidden;box-shadow:0 20px 50px #00000040}.srch-bar{color:#56665c;border-bottom:1px solid #ddddcf;align-items:center;gap:.6rem;padding:.15rem .75rem .15rem 1rem;display:flex}.srch-input{color:#17261e;min-width:0;font:inherit;-webkit-appearance:none;appearance:none;box-shadow:none;background:0 0;border:0;border-radius:0;outline:none;flex:1;padding:.8rem 0;font-size:1.05rem}.srch-input::placeholder{color:#6b7a70}.srch-input::-webkit-search-cancel-button{display:none}.srch-bar:focus-within{box-shadow:inset 0 -2px #497860}.srch-close{color:#56665c;font:inherit;cursor:pointer;background:#fff;border:1px solid #ddddcf;border-radius:6px;padding:.1rem .5rem;font-size:.8rem}.srch-close:hover{background:#eef1ec}.srch-close:focus-visible{outline-offset:2px;outline:3px solid #497860}.srch-list{flex:1;margin:0;padding:.4rem;list-style:none;overflow-y:auto}.srch-head{letter-spacing:.08em;text-transform:uppercase;color:#56665c;padding:.5rem .7rem .25rem;font-size:.75rem;font-weight:700}.srch-opt a{color:inherit;border-radius:9px;align-items:baseline;gap:.75rem;padding:.55rem .7rem;text-decoration:none;display:flex}.srch-opt[aria-selected=true] a{background:#e1eee6}.srch-kind{letter-spacing:.06em;text-transform:uppercase;color:#497860;flex:none;width:4.2rem;font-size:.75rem;font-weight:700}.srch-main{gap:.1rem;min-width:0;display:grid}.srch-title{overflow-wrap:anywhere;font-weight:700}.srch-sub{color:#56665c;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:.875rem;display:-webkit-box;overflow:hidden}.srch-hint{color:#56665c;font-size:.75rem;font-style:italic}.srch-msg{color:#56665c;margin:0;padding:1rem .9rem}.srch-foot{color:#56665c;background:#f6f7f3;border-top:1px solid #ddddcf;margin:0;padding:.5rem 1rem;font-size:.75rem}@media (width<=30em){.srch-kind{width:3.4rem}.srch-foot{display:none}}
