.article-progress{top:var(--site-header-height);z-index:19;pointer-events:none;background:0 0;height:3px;position:fixed;left:0;right:0;overflow:hidden}.article-progress__bar{background:var(--gradient-primary);transform-origin:0;will-change:transform;width:100%;height:100%;transition:transform 80ms linear;transform:scaleX(0)}.archive{padding-block:var(--space-16) var(--space-24)}.archive__header{max-width:42rem;margin-bottom:var(--space-12)}.archive__title{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:clamp(2.25rem,5vw,3.5rem);font-weight:800;line-height:1.08}.archive__lede{margin:var(--space-4) 0 0;color:var(--color-muted);max-width:var(--measure);font-size:1.125rem}.category-nav{margin:0 0 var(--space-12);scrollbar-width:none;background:linear-gradient(to right, var(--color-paper) 40%, transparent) 0 0, linear-gradient(to left, var(--color-paper) 40%, transparent) 100% 0, linear-gradient(to right, color-mix(in srgb, var(--color-ink) 10%, transparent), transparent) 0 0, linear-gradient(to left, color-mix(in srgb, var(--color-ink) 10%, transparent), transparent) 100% 0;background-repeat:no-repeat;background-size:2rem 100%,2rem 100%,1rem 100%,1rem 100%;background-attachment:local,local,scroll,scroll;overflow-x:auto}.category-nav::-webkit-scrollbar{display:none}.category-nav__list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:flex}.category-nav__link{border-radius:var(--radius-pill);border:1px solid color-mix(in srgb, var(--color-ink) 16%, transparent);color:var(--color-muted);white-space:nowrap;flex:none;align-items:center;padding:.5rem 1rem;font-size:.875rem;font-weight:700;text-decoration:none;transition:border-color .2s,color .2s,background-color .2s;display:inline-flex}.category-nav__link:hover,.category-nav__link:focus-visible{border-color:var(--color-cyan);color:var(--color-cyan)}.category-nav__link:focus-visible{outline:2px solid var(--color-cyan);outline-offset:2px}.category-nav__link[aria-current=page]{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-paper-elevated)}.category-nav__link[aria-current=page]:hover{border-color:var(--color-ink);color:var(--color-paper-elevated)}.archive__empty{color:var(--color-muted);max-width:var(--measure)}.notes-timeline{gap:clamp(2.5rem,5vw,3.5rem);max-width:40rem;display:grid}.notes-year__header{justify-content:space-between;align-items:center;gap:var(--space-4);margin:0 0 var(--space-2);display:flex}.notes-year__label{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:clamp(1.2rem,2vw,1.4rem);font-weight:700}.notes-toolbar{gap:var(--space-3);flex:none;display:flex}.notes-toolbar__btn{appearance:none;cursor:pointer;border-radius:var(--radius-pill);border:1px solid color-mix(in srgb, var(--color-ink) 18%, transparent);color:var(--color-ink);background:0 0;padding:.4rem .9rem;font-family:inherit;font-size:.85rem;font-weight:700;transition:border-color .2s,color .2s}.notes-toolbar__btn:hover,.notes-toolbar__btn:focus-visible{border-color:var(--color-cyan);color:var(--color-cyan)}.notes-toolbar__btn:focus-visible{outline:2px solid var(--color-cyan);outline-offset:2px}.notes-accordion{border-top:1px solid color-mix(in srgb, var(--color-ink) 12%, transparent)}.note-entry{border-bottom:1px solid color-mix(in srgb, var(--color-ink) 12%, transparent)}.note-entry__summary{cursor:pointer;color:inherit;align-items:center;gap:.75rem;padding-block:.9rem;list-style:none;display:flex}.note-entry__summary::-webkit-details-marker{display:none}.note-entry__summary::marker{content:""}.note-entry__chevron{color:var(--color-muted);flex:none;transition:transform .2s}.note-entry[open]>.note-entry__summary .note-entry__chevron{transform:rotate(180deg)}.note-entry__title{text-align:left;font-family:var(--font-display);flex:auto;font-size:1.15rem;font-weight:700;line-height:1.3;transition:color .2s}.note-entry__version{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--color-ink) 8%, var(--color-paper));color:var(--color-muted);font-family:var(--font-sans);white-space:nowrap;flex:none;align-items:center;padding:.2rem .6rem;font-size:.78rem;font-weight:700;line-height:1.4;display:inline-flex}@media (width<=559px){.note-entry__summary{grid-template-columns:auto 1fr;grid-template-areas:"chevron title"".version";align-items:center;gap:.35rem .75rem;display:grid}.note-entry__chevron{grid-area:chevron}.note-entry__title{grid-area:title}.note-entry__version{grid-area:version;justify-self:end}}.note-entry__summary:hover .note-entry__title,.note-entry__summary:focus-visible .note-entry__title{color:var(--color-cyan)}.note-entry__summary:focus-visible{outline:none}.note-entry__summary:focus-visible .note-entry__title{color:var(--color-cyan)}.note-entry:has(.note-entry__summary:focus-visible){outline:2px solid var(--color-cyan);outline-offset:-2px;border-radius:var(--radius-sm)}.note-entry__body{padding:.1rem 0 1.75rem}.note-entry__body.prose{font-size:.95rem;line-height:1.55}.note-entry__body.prose :is(h2,h3,h4){margin:1.15em 0 .4em}.note-entry__body.prose h2{font-size:1rem}.note-entry__body.prose h3{font-size:.95rem}.note-entry__body.prose h4{font-size:.9rem}.note-entry__body.prose p,.note-entry__body.prose :is(ul,ol){margin-bottom:.75em}.note-entry__body.prose li{margin:.2em 0}.post-list{margin:0;padding:0;list-style:none;display:grid}.post-list>li{padding-block:var(--space-10)}.post-list>li:first-child{padding-top:0}.post-list>li:not(:first-child){border-top:1px solid color-mix(in srgb, var(--color-ink) 12%, transparent)}.post-list--dense{gap:var(--space-4)}.post-card{gap:var(--space-4);grid-template-columns:minmax(0,1fr);align-items:start;display:grid;position:relative}@media (width>=720px){.post-card--media{gap:var(--space-6);grid-template-columns:11rem minmax(0,1fr)}.post-card--dense.post-card--media{gap:var(--space-5);grid-template-columns:9.5rem minmax(0,1fr)}.post-card--lead.post-card--media{gap:var(--space-8);grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center}}.post-card__media{border-radius:calc(var(--radius-lg) + .15rem);background:color-mix(in srgb, var(--color-ink) 6%, var(--color-paper));aspect-ratio:4/3;margin:0;position:relative;overflow:hidden;box-shadow:0 14px 36px #252a3614}.post-card--lead .post-card__media{aspect-ratio:16/10;border-radius:calc(var(--radius-lg) + .55rem);box-shadow:0 22px 54px #252a3624}.post-card--lead .post-card__media:before{content:"";z-index:1;border-radius:inherit;background:var(--gradient-primary);-webkit-mask-composite:xor;pointer-events:none;padding:3px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-composite:exclude;mask-mode:match-source,match-source}.post-card--dense .post-card__media{aspect-ratio:16/10;border-radius:var(--radius-md);box-shadow:0 8px 22px #252a3612}.post-card--dense .post-card__media img{object-position:center 35%}.post-card__media img{object-fit:cover;width:100%;height:100%;transition:transform .45s cubic-bezier(.22,1,.36,1)}.post-card:has(.post-card__link:hover) .post-card__media img,.post-card:has(.post-card__link:focus-visible) .post-card__media img{transform:scale(1.03)}.post-card__body{gap:.35rem;min-width:0;display:grid}.post-card__meta{color:var(--color-muted);flex-wrap:wrap;align-items:center;gap:.35rem .75rem;font-size:.9rem;font-weight:700;display:flex}.post-card__category{z-index:2;color:var(--color-cyan);text-decoration:none;position:relative}.post-card__category:hover,.post-card__category:focus-visible{text-underline-offset:.18em;text-decoration:underline}.post-card__title{font-family:var(--font-display);letter-spacing:-.015em;margin:0;font-size:clamp(1.25rem,2.4vw,1.55rem);font-weight:700;line-height:1.2}.post-card--dense .post-card__title{font-size:1.125rem}.post-card--lead .post-card__title{letter-spacing:-.02em;font-size:clamp(1.55rem,3.2vw,2.1rem)}.post-card__link{color:inherit;text-decoration:none;transition:color .2s}.post-card__link:after{content:"";position:absolute;inset:0}.post-card__link:hover,.post-card__link:focus-visible{color:var(--color-cyan)}.post-card__link:focus-visible{outline:none}.post-card__link:focus-visible:after{outline:2px solid var(--color-cyan);outline-offset:3px;border-radius:var(--radius-sm)}.post-card__desc{color:var(--color-muted);max-width:62ch;margin:.15rem 0 0;font-size:1rem;line-height:1.55}.post-card--dense .post-card__desc{display:none}.post-card--lead .post-card__desc{max-width:46ch;font-size:1.0625rem;line-height:1.6}.article-shell{padding-block:var(--space-12) var(--space-24)}.article{--article-measure:40rem;width:min(100% - 2rem, var(--article-measure));margin-inline:auto}.article--with-toc{column-gap:var(--space-8);grid-template-columns:minmax(0,1fr);grid-template-areas:"header""toc""main";row-gap:0;display:grid}.article__header{margin-bottom:var(--space-8);grid-area:header}.article__main{grid-area:main;min-width:0}.article__meta{color:var(--color-muted);flex-wrap:wrap;align-items:center;gap:.35rem .75rem;font-size:.9375rem;font-weight:700;display:flex}.article__meta a{color:var(--color-cyan);text-decoration:none}.article__meta a:hover{text-underline-offset:.18em;text-decoration:underline}.article__title{margin:var(--space-3) 0 0;font-family:var(--font-display);letter-spacing:-.02em;text-wrap:balance;font-size:clamp(2.1rem,5vw,3.15rem);font-weight:800;line-height:1.08}.article__author{margin:var(--space-3) 0 0;color:var(--color-muted);font-size:1rem}.article__hero{isolation:isolate;margin:var(--space-8) auto 0;width:100%;max-width:var(--article-measure);border-radius:calc(var(--radius-lg) + .35rem);background:var(--color-ink);position:relative;overflow:hidden;box-shadow:0 18px 50px #252a3624}.article__hero:before{content:"";z-index:2;border-radius:inherit;background:linear-gradient(135deg, var(--color-cyan), var(--color-coral), var(--color-gold));-webkit-mask-composite:xor;pointer-events:none;opacity:.88;padding:2.5px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-composite:exclude;mask-mode:match-source,match-source}.article__hero img{aspect-ratio:16/9;object-fit:cover;width:100%;height:auto}.article__correction{margin:var(--space-8) auto 0;padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);background:color-mix(in srgb, var(--color-gold) 14%, var(--color-paper-elevated));border:1px solid color-mix(in srgb, var(--color-gold) 35%, transparent);max-width:var(--article-measure);text-align:left}.article__correction strong{margin-bottom:.25rem;font-size:.9rem;display:block}.article__correction p{color:color-mix(in srgb, var(--color-ink) 88%, var(--color-muted));margin:0}.article__toc{width:100%;margin:0 0 var(--space-10);box-sizing:border-box;background:0 0;border:0;grid-area:toc;padding:0}.article__toc-title{margin:0 0 var(--space-4);font-family:var(--font-sans);letter-spacing:.02em;color:color-mix(in srgb, var(--color-muted) 75%, var(--color-ink));font-size:.875rem;font-weight:700}.article__toc ol{gap:var(--space-5);margin:0;padding:0;list-style:none;display:grid}.article__toc a{color:var(--color-muted);padding-block:.15rem;font-size:.9375rem;font-weight:500;line-height:1.4;text-decoration:none;transition:color .2s;display:block}.article__toc a:hover,.article__toc a:focus-visible{color:var(--color-cyan)}.article__toc a[aria-current=true]{color:var(--color-cyan);font-weight:700}.article__body{margin-top:0}@media (width>=960px){.article--with-toc{width:min(100% - 2rem, calc(var(--article-measure) + 15rem + var(--space-10)));grid-template-columns:minmax(0, var(--article-measure)) 15rem;justify-content:center;align-items:start;column-gap:var(--space-10);grid-template-areas:"header.""main toc"}.article__header{margin-bottom:var(--space-10)}.article__toc{top:calc(var(--site-header-height) + 3px + var(--space-6));max-height:calc(100vh - var(--site-header-height) - 3px - var(--space-8));padding-left:var(--space-5);border-left:1px solid color-mix(in srgb, var(--color-ink) 10%, transparent);align-self:start;margin:0;position:sticky;overflow:auto}}.article-cta{margin-top:var(--space-16);padding:calc(var(--space-8) + 3px) var(--space-8) var(--space-8);border-radius:calc(var(--radius-lg) + .2rem);color:#fff;background:var(--gradient-primary) 0 0 / 100% 3px no-repeat, var(--color-ink);box-shadow:0 18px 44px #252a362e}.article-cta__inner{gap:var(--space-3);max-width:36rem;display:grid}.article-cta__title{font-family:var(--font-display);margin:0;font-size:clamp(1.35rem,2.5vw,1.65rem);font-weight:700;line-height:1.2}.article-cta__lede{margin:0 0 var(--space-2);color:#ffffffc7;line-height:1.55}.article-cta .btn--primary{color:var(--color-ink);background:#fff;justify-self:start}.article-cta .btn--primary:hover{background:var(--color-cyan);color:#fff}.article__nav{margin-top:var(--space-12);padding-top:var(--space-8);border-top:1px solid color-mix(in srgb, var(--color-ink) 10%, transparent);gap:var(--space-4) var(--space-8);flex-wrap:wrap;font-weight:700;display:flex}.article__nav a{color:var(--color-cyan);text-decoration:none}.article__nav a:hover{text-underline-offset:.18em;text-decoration:underline}.prose{font-size:1.0625rem;line-height:1.7}.prose>:first-child{margin-top:0}.prose>p:first-of-type{font-size:1.1875rem;line-height:1.65}.prose :is(p,ul,ol,pre,table,blockquote,figure,.pull-quote,.prose-highlight--block){max-width:var(--measure)}.prose p{margin:0 0 1.15em}.prose :is(h2,h3,h4){font-family:var(--font-display);letter-spacing:-.015em;margin:2em 0 .65em;scroll-margin-top:6rem;font-weight:700;line-height:1.2}.prose h2{font-size:clamp(1.45rem,2.5vw,1.75rem)}.prose h3{font-size:1.25rem}.prose h4{font-size:1.1rem}.prose :is(ul,ol){margin:0 0 1.15em;padding-left:1.35em}.prose li{margin:.35em 0}.prose li::marker{color:var(--color-cyan)}.prose a{color:var(--color-cyan);text-underline-offset:.18em}.prose a:hover{color:color-mix(in srgb, var(--color-cyan) 70%, var(--color-ink))}.prose strong{font-weight:700}.prose hr{background:color-mix(in srgb, var(--color-ink) 12%, transparent);height:1px;max-width:var(--measure);border:0;margin:2.5rem 0}.prose img{border-radius:var(--radius-md);margin:1.5rem 0;box-shadow:0 14px 36px #252a361a}.prose figure{margin:1.75rem 0}.prose figure img{width:100%;height:auto;margin:0}.prose figcaption{color:var(--color-muted);margin-top:.65rem;font-size:.9rem;line-height:1.45}.prose blockquote,.prose .pull-quote{margin:2.25rem 0;padding:.35rem 0 .35rem 1.5rem;position:relative}.prose blockquote:before,.prose .pull-quote:before{content:"";background:var(--gradient-primary);border-radius:999px;width:1.1rem;height:3px;position:absolute;top:.45em;left:0}.prose blockquote p,.prose .pull-quote blockquote p{font-family:var(--font-display);letter-spacing:-.015em;margin:0;font-size:clamp(1.2rem,2.2vw,1.4rem);font-weight:700;line-height:1.35}.prose blockquote p+p,.prose .pull-quote blockquote p+p{font-family:var(--font-sans);letter-spacing:0;margin-top:.75em;font-size:1.0625rem;font-weight:400}.prose .pull-quote blockquote{margin:0;padding:0}.prose .pull-quote blockquote:before{display:none}.prose .pull-quote figcaption{color:var(--color-muted);margin-top:.75rem;font-weight:700}.prose mark,.prose .prose-highlight{background:color-mix(in srgb, var(--color-gold) 42%, transparent);color:inherit;border-radius:.2em;padding:.05em .2em}.prose .prose-highlight--block{padding:var(--space-5) var(--space-6);border-radius:var(--radius-md);background:color-mix(in srgb, var(--color-cyan) 10%, var(--color-paper-elevated));border:1px solid color-mix(in srgb, var(--color-cyan) 22%, transparent);margin:1.75rem 0;display:block}.prose .prose-highlight--block>:first-child{margin-top:0}.prose .prose-highlight--block>:last-child{margin-bottom:0}.prose pre{padding:var(--space-5);border-radius:var(--radius-md);background:var(--color-ink);color:#f3f4f6;margin:1.5rem 0;font-size:.9rem;line-height:1.55;overflow-x:auto}.prose code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.9em}.prose :not(pre)>code{background:color-mix(in srgb, var(--color-ink) 7%, var(--color-paper));border-radius:.3em;padding:.12em .35em}.prose pre code{font-size:inherit;background:0 0;padding:0}.prose table{border-collapse:collapse;width:100%;margin:1.5rem 0;font-size:.95rem}.prose th,.prose td{border-bottom:1px solid color-mix(in srgb, var(--color-ink) 12%, transparent);text-align:left;vertical-align:top;padding:.65rem .75rem}.prose th{color:var(--color-ink);font-weight:700}@media (prefers-reduced-motion:reduce){.post-card__media img,.article-progress__bar,.note-entry__chevron,.note-entry__title{transition:none}.post-card:hover .post-card__media img{transform:none}}
