.article-page{padding-block:clamp(var(--sp-10), 6vw, var(--sp-16)) 0}.article-back{margin-block-end:clamp(var(--sp-10), 5vw, var(--sp-16))}.article-back a{color:var(--ink-muted);transition:color var(--dur) var(--ease);text-decoration:none}.article-back a:hover{color:var(--ink)}.article-head{max-width:46rem;margin-block-end:clamp(var(--sp-10), 5vw, var(--sp-12))}.article-head__meta{border-bottom:1px solid var(--rule);color:var(--ink-dim);margin-block-end:clamp(var(--sp-8), 4vw, var(--sp-10));padding-block-end:var(--sp-4)}.article-head__title{font-size:clamp(2rem,1.35rem + 2.7vw,3.375rem);font-weight:var(--w-medium);letter-spacing:-.028em;color:var(--ink);text-wrap:balance;line-height:1.06}.article-head__standfirst{letter-spacing:-.012em;color:var(--ink-muted);text-wrap:pretty;margin-block-start:var(--sp-5);font-size:clamp(1.125rem,1rem + .6vw,1.4375rem);line-height:1.35}.article-head__ingress{border-top:1px solid var(--rule);color:var(--ink);text-wrap:pretty;margin-block-start:clamp(var(--sp-8), 4vw, var(--sp-10));padding-block-start:clamp(var(--sp-8), 4vw, var(--sp-10));font-size:clamp(1.0625rem,1rem + .4vw,1.25rem);line-height:1.6}.prose{max-width:65ch;color:var(--ink-soft);font-size:clamp(1.0625rem,1rem + .25vw,1.1875rem);line-height:1.75}.prose>p+p{margin-block-start:1.5em}.prose h2{border-top:1px solid var(--rule);font-size:clamp(1.375rem,1.15rem + 1vw,1.75rem);font-weight:var(--w-medium);letter-spacing:-.02em;color:var(--ink);text-wrap:balance;margin-block-start:clamp(var(--sp-12), 6vw, var(--sp-16));margin-block-end:var(--sp-6);padding-block-start:var(--sp-6);line-height:1.2}.prose strong{font-weight:var(--w-medium);color:var(--ink)}.prose em{font-style:italic}.prose a{color:var(--ink);border-bottom:1px solid var(--rule-strong);transition:color var(--dur) var(--ease), border-color var(--dur) var(--ease);text-decoration:none}.prose a:hover{color:var(--accent);border-bottom-color:var(--accent)}.article-art{margin:0 0 clamp(var(--sp-12), 6vw, var(--sp-16));border:1px solid var(--rule);aspect-ratio:1200/630;background-image:var(--art);background-position:50%;background-size:cover;max-width:62rem}:root[data-theme=light] .article-art{background-image:var(--art-light)}.figure{margin-block:clamp(var(--sp-12), 6vw, var(--sp-16));padding-block:var(--sp-8);border-block:1px solid var(--rule)}.figure__head{color:var(--ink-dim);margin-block-end:var(--sp-8)}.figure__item+.figure__item{margin-block-start:var(--sp-8)}.figure__label{justify-content:space-between;align-items:baseline;gap:var(--sp-4);color:var(--ink-muted);margin-block-end:var(--sp-3);font-size:.9375rem;line-height:1.4;display:flex}.figure__value{color:var(--ink);letter-spacing:.02em;font-size:1.125rem}.figure__item--mark .figure__value{color:var(--accent)}.figure__track{border-bottom:1px solid var(--rule-strong);block-size:12px;position:relative}.figure__bar{background:var(--ink-dim);block-size:12px;position:absolute;inset-block-end:0;inset-inline-start:0}.figure__item--mark .figure__bar{background:var(--accent)}.figure__source{color:var(--ink-dim);text-transform:none;letter-spacing:.03em;margin-block-start:var(--sp-8);line-height:1.6}.article-back{justify-content:space-between;align-items:center;gap:var(--sp-4);display:flex}.theme{border:1px solid var(--rule-strong);display:flex}.theme__opt{appearance:none;font-family:var(--font-mono);font-size:var(--t-mono-sm);letter-spacing:var(--ls-mono);text-transform:uppercase;color:var(--ink-dim);cursor:pointer;transition:color var(--dur) var(--ease), background-color var(--dur) var(--ease);background:0 0;border:0;padding:.5em .9em}.theme__opt+.theme__opt{border-inline-start:1px solid var(--rule-strong)}.theme__opt:hover{color:var(--ink-muted)}.theme__opt[aria-pressed=true]{color:var(--ink);background:var(--bg-raised)}.article-end__back{font-size:.9375rem;font-weight:var(--w-medium);margin-block-start:clamp(var(--sp-8), 4vw, var(--sp-10))}.article-end__back a{color:var(--accent);transition:border-color var(--dur) var(--ease);border-bottom:1px solid #0000;text-decoration:none}.article-end__back a:hover{border-bottom-color:var(--accent)}.article-head__byline{color:var(--ink-muted);margin-block-start:var(--sp-4)}.article-head__byline--person{flex-wrap:wrap;align-items:center;gap:.6em;display:flex}.article-head__author{color:var(--ink);transition:border-color var(--dur) var(--ease);border-bottom:1px solid #0000;align-items:center;gap:.75em;text-decoration:none;display:inline-flex}.article-head__author:hover{border-bottom-color:var(--ink-dim)}.author__photo{object-fit:cover;background:var(--bg-raised);border-radius:50%;flex:none;block-size:40px;inline-size:40px}.author__photo--lg{block-size:64px;inline-size:64px}.author-card{gap:var(--sp-5);max-width:46rem;padding:var(--sp-6) var(--sp-5);border:1px solid var(--rule);border-top-color:var(--rule-lit);grid-template-columns:64px minmax(0,1fr);align-items:start;margin-block-start:clamp(var(--sp-10), 5vw, var(--sp-12));display:grid}.author-card__name{font-size:1.0625rem;font-weight:var(--w-medium);letter-spacing:-.01em;color:var(--ink)}.author-card__bio{color:var(--ink-muted);text-wrap:pretty;margin-block-start:var(--sp-2);font-size:.9375rem;line-height:1.55}.author-card__more{margin-block-start:var(--sp-3);font-size:.9375rem}.author-card__more a{color:var(--accent);transition:border-color var(--dur) var(--ease);border-bottom:1px solid #0000;text-decoration:none}.author-card__more a:hover{border-bottom-color:var(--accent)}@media (width<=34rem){.author-card{gap:var(--sp-4);grid-template-columns:1fr}.author__photo--lg{block-size:56px;inline-size:56px}}.article-nav{background:var(--rule);border:1px solid var(--rule);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;max-width:62rem;margin-block-start:clamp(var(--sp-12), 6vw, var(--sp-16));display:grid}.article-nav__item{background:var(--bg-raised);padding:var(--sp-5) var(--sp-4);gap:var(--sp-3);flex-direction:column;display:flex}.article-nav__item--next{text-align:end;align-items:flex-end}.article-nav__label{color:var(--ink-muted)}.article-nav__title{font-size:1.0625rem;font-weight:var(--w-medium);letter-spacing:-.015em;color:var(--ink);text-wrap:balance;line-height:1.3}.article-nav__title a{color:inherit;text-decoration:none}.article-nav__title a:hover{color:var(--accent)}.article-nav__read{font-size:.9375rem;font-weight:var(--w-medium);margin-block-start:auto}.article-nav__read a{color:var(--accent);transition:border-color var(--dur) var(--ease);border-bottom:1px solid #0000;text-decoration:none}.article-nav__read a:hover{border-bottom-color:var(--accent)}.share{align-items:baseline;gap:var(--sp-3) var(--sp-5);color:var(--ink-muted);flex-wrap:wrap;margin-block-start:clamp(var(--sp-8), 4vw, var(--sp-10));display:flex}.share a,.share button{appearance:none;font:inherit;letter-spacing:inherit;text-transform:inherit;color:var(--ink-muted);cursor:pointer;transition:color var(--dur) var(--ease);background:0 0;border:0;padding:0;text-decoration:none}.share a:hover,.share button:hover{color:var(--ink)}.share__done{color:var(--accent)}@media (width<=40rem){.article-nav{grid-template-columns:minmax(0,1fr)}.article-nav__item--next{text-align:start;align-items:flex-start}}.prose ol,.prose ul{padding-inline-start:1.4em}.prose li+li{margin-block-start:.6em}.prose h2+p,.prose h2+ol{margin-block-start:0}.nothing{justify-content:center;gap:var(--sp-6);flex-direction:column;min-block-size:60svh;display:flex}.nothing__links{gap:var(--sp-3) var(--sp-8);font-size:.9375rem;font-weight:var(--w-medium);flex-wrap:wrap;display:flex}.nothing__links a{color:var(--accent);transition:border-color var(--dur) var(--ease);border-bottom:1px solid #0000;text-decoration:none}.nothing__links a:hover{border-bottom-color:var(--accent)}.prose-letter{margin-block:clamp(var(--sp-10), 5vw, var(--sp-12));padding:clamp(var(--sp-5), 3vw, var(--sp-8));border:1px solid var(--rule);border-top-color:var(--rule-lit)}.prose-letter__lede{margin:0 0 var(--sp-4);color:var(--ink-muted);max-width:44ch;font-size:.9375rem;line-height:1.55}.prose-letter .signup{max-width:none;margin-block-start:0}.nothing .thanks__lede{margin-block-start:0}.thanks__lede{font-size:var(--t-lede);line-height:var(--lh-lede);color:var(--ink-soft);text-wrap:pretty;max-width:34ch;margin-block-start:var(--sp-5)}.letter-banner{max-width:46rem;margin-block:0 clamp(var(--sp-10), 5vw, var(--sp-12));padding:clamp(var(--sp-5), 3vw, var(--sp-6));border:1px solid var(--rule);border-top-color:var(--rule-lit);background:var(--bg-raised)}.letter-banner__line{margin:0 0 var(--sp-4);font-size:1rem;line-height:1.5;font-weight:var(--w-medium);color:var(--ink);text-wrap:pretty}.letter-banner .signup{max-width:none;margin-block-start:0}.letter-edited{color:var(--ink-dim);margin-block-start:var(--sp-5)}.letter-prose h2{font-family:var(--font-mono);font-size:var(--t-mono);letter-spacing:var(--ls-mono);text-transform:uppercase;color:var(--ink-muted);margin-block-end:var(--sp-5);font-weight:400;line-height:1.5}.letter-prose h3{font-size:clamp(1.125rem,1.05rem + .4vw,1.3125rem);font-weight:var(--w-medium);letter-spacing:-.012em;color:var(--ink);text-wrap:balance;margin-block-start:clamp(var(--sp-8), 4vw, var(--sp-10));margin-block-end:var(--sp-4);line-height:1.3}.letter-prose h2+h3{margin-block-start:var(--sp-2)}.letter-prose h3+p{margin-block-start:0}.letter-prose hr{border:0;border-top:1px solid var(--rule);margin-block:clamp(var(--sp-10), 5vw, var(--sp-12))}.letter-prose>.letter-sign{color:var(--ink-muted);margin-block-start:var(--sp-8)}.letter-prose>.letter-fine{color:var(--ink-dim);margin-block-start:var(--sp-2)}.hack-label{color:var(--ink);margin-block-start:var(--sp-4);font-size:.9375rem;line-height:1.5}.hack-label strong{font-weight:var(--w-medium)}.hack-label__stod{color:var(--ink-muted)}.prompt{margin-block:var(--sp-6);border:1px solid var(--rule-strong);border-top-color:var(--rule-lit);background:var(--bg-raised);position:relative}.prompt pre{padding:var(--sp-10) var(--sp-5) var(--sp-5);font-family:var(--font-mono);color:var(--ink-soft);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:.875rem;line-height:1.65}.prompt__copy{appearance:none;border:1px solid var(--rule-strong);color:var(--ink-muted);cursor:pointer;transition:color var(--dur) var(--ease), border-color var(--dur) var(--ease);background:0 0;padding:.35em .75em;position:absolute;inset-block-start:var(--sp-3);inset-inline-end:var(--sp-3)}.prompt__copy:hover{color:var(--ink);border-color:var(--ink-dim)}.hook{margin-block:clamp(var(--sp-8), 4vw, var(--sp-10));padding:clamp(var(--sp-5), 3vw, var(--sp-6));border:1px solid var(--rule);border-top-color:var(--rule-lit)}.hook__lead{margin:0 0 var(--sp-4);color:var(--ink);font-size:1rem;line-height:1.5}.hook .signup{max-width:none;margin-block-start:0}.hacks{border-top:1px solid var(--rule-strong);max-width:46rem;margin:0;padding:0;list-style:none}.hacks__item{padding-block:clamp(var(--sp-8), 4vw, var(--sp-10));border-bottom:1px solid var(--rule)}.hacks__meta{color:var(--ink-dim)}.hacks__title{font-size:clamp(1.375rem,1.15rem + 1vw,1.75rem);font-weight:var(--w-medium);letter-spacing:-.02em;margin-block-start:var(--sp-3);line-height:1.2}.hacks__title a{color:var(--ink);text-decoration:none}.hacks__title a:hover{text-decoration:underline;-webkit-text-decoration-color:var(--ink-dim);text-decoration-color:var(--ink-dim)}.hacks .hook{margin-block-end:0}
