.post-title{letter-spacing:-.018em;width:fit-content;color:var(--strong);text-wrap:balance;view-transition-class:hero-title;margin-bottom:10px;scroll-margin-top:120px;font-size:22px;font-weight:580;line-height:1.3}.byline{font-family:var(--mono);color:var(--faint);flex-wrap:wrap;gap:6px 14px;margin-bottom:24px;font-size:12.5px;line-height:1.6;display:flex}.byline time{color:var(--muted)}.dek{color:var(--muted);text-wrap:pretty;margin-bottom:32px;font-size:16px;line-height:1.6}.hero{margin-bottom:16px}.hero .stage-in{aspect-ratio:16/10;background:var(--hero-bg,var(--card))}.hero img,.hero video{object-fit:cover;object-position:var(--hero-pos,50% 50%);width:100%;height:100%}.hero.contain img,.hero.contain video{object-fit:contain;padding:5%}.facts{background:var(--line);box-shadow:0 0 0 1px var(--line);border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-bottom:48px;display:grid;overflow:hidden}.facts div{background:var(--bg);min-width:0;padding:10px 14px}.facts dt{color:var(--faint);font-size:12px}.facts dd{color:var(--strong);overflow-wrap:anywhere;font-size:13.5px}.facts .links{color:var(--faint);flex-wrap:wrap;gap:0 6px;display:flex}.facts a{color:var(--accent);text-decoration:none}.facts.two{grid-template-columns:repeat(2,minmax(0,1fr))}.toc{top:180px;left:max(24px, calc(50% - var(--col) / 2 - 260px));width:200px;display:none;position:fixed}.toc p{color:var(--faint);margin-bottom:10px;font-size:12px}.toc ol{padding:0;list-style:none}.toc a{color:var(--faint);padding:5px 0 5px 16px;font-size:13px;line-height:1.4;text-decoration:none;transition:color .15s;display:block;position:relative}.toc a:before{content:"";width:7px;height:1px;transition:width .2s var(--out), background-color .15s ease;background:currentColor;position:absolute;top:calc(5px + .7em);left:0}.toc a[aria-current=true]{color:var(--strong)}.toc a[aria-current=true]:before{background:var(--accent);width:11px}@media (width>=1180px){.toc{display:block}}.prose{overflow-wrap:break-word}.prose>*+*{margin-top:20px}.prose>.fig,.prose>.codecard{margin-block:32px}.prose>.fig+*,.prose>.codecard+*{margin-top:0}.prose p{text-wrap:pretty}.prose h2,.prose h3{letter-spacing:-.005em;color:var(--strong);scroll-margin-top:32px;font-size:15px;font-weight:580}.prose h2{align-items:center;gap:12px;margin:56px 0 16px;display:flex}.prose h2:after{content:"";background:var(--line);flex:1;min-width:24px;height:1px}.prose h3{margin:36px 0 12px}.prose h2+*,.prose h3+*{margin-top:0}.prose a{text-decoration:underline;text-decoration-color:var(--ul);text-underline-offset:3px;text-decoration-thickness:1px;transition:text-decoration-color .15s}.prose strong{color:var(--strong);font-weight:560}.prose ul,.prose ol:not([class]){padding-left:18px}.prose li{padding-left:4px}.prose li+li{margin-top:6px}.prose li::marker{color:var(--faint)}.prose blockquote{box-shadow:inset 2px 0 0 var(--line);color:var(--muted);padding-left:16px}.prose :not(pre)>code{background:var(--code);box-shadow:inset 0 0 0 1px var(--line);font-family:var(--mono);color:var(--strong);border-radius:5px;padding:2px 5px;font-size:.84em}.prose hr{background:var(--line);border:0;height:1px;margin:48px 0}.codecard{background:var(--code);box-shadow:inset 0 0 0 1px var(--line);border-radius:12px;overflow:hidden}.code-h{border-bottom:1px solid var(--line);height:44px;font-family:var(--mono);color:var(--muted);justify-content:space-between;align-items:center;padding:0 8px 0 14px;font-size:12px;display:flex}.copy{width:28px;height:28px;color:var(--faint);transition:color .15s ease, background-color .15s ease, transform .12s var(--out);border-radius:7px;place-items:center;display:grid;position:relative}.copy:active{transform:scale(.94)}.copy .ic{width:14px;height:14px;transition:opacity .15s ease, transform .2s var(--out), filter .2s ease;position:absolute}.copy .ic-done{opacity:0;filter:blur(2px);color:var(--accent);transform:scale(.6)}.copy[data-done] .ic-copy{opacity:0;filter:blur(2px);transform:scale(.6)}.copy[data-done] .ic-done{opacity:1;filter:none;transform:none}.codecard pre{font-family:var(--mono);padding:14px 16px;font-size:12.5px;line-height:1.7;overflow-x:auto;background:0 0!important}.codecard pre code{font-family:inherit}.pager{grid-template-columns:1fr 1fr;gap:12px;margin-top:72px;display:grid}.pager a{box-shadow:inset 0 0 0 1px var(--line);border-radius:12px;padding:14px 16px;text-decoration:none;transition:background-color .15s;display:block}.pager span{color:var(--faint);margin-bottom:2px;font-size:12px;display:block}.pager b{color:var(--strong);text-wrap:balance;font-size:14px;font-weight:500}.pager .next{text-align:right;grid-column:2}@media (hover:hover) and (pointer:fine){.toc a:hover{color:var(--muted)}.prose a:hover{text-decoration-color:var(--muted)}.copy:hover{color:var(--strong);background:var(--line)}.pager a:hover{background:var(--stage)}}@media (width<=640px){.facts,.facts.two{grid-template-columns:1fr 1fr}.facts div:nth-child(3){grid-column:span 2}.hero,.codecard{margin-inline:-12px}.pager{grid-template-columns:1fr}.pager .next{grid-column:1}}.plink{color:var(--strong);text-decoration:underline;text-decoration-color:var(--ul);text-underline-offset:3px;white-space:nowrap;align-items:baseline;gap:5px;font-weight:500;text-decoration-thickness:1px;transition:text-decoration-color .15s;display:inline-flex}.prose .plink{text-decoration-color:var(--ul)}.plink-ic{width:16px;height:16px;box-shadow:0 0 0 1px var(--thumb-edge);border-radius:4px;flex:none;align-self:center}.related{margin-top:56px}.related .sect{margin:0 0 12px}.related ul{grid-template-columns:minmax(0,1fr);margin:0 -10px;padding:0;list-style:none;display:grid}.related a{min-width:0;color:var(--muted);border-radius:10px;align-items:center;gap:10px;padding:8px 10px;font-size:14px;line-height:1.5;text-decoration:none;transition:background-color .15s;display:flex;position:relative}.related b{color:var(--strong);flex:none;font-weight:500}.related span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.rel-ic{width:20px;height:20px;box-shadow:0 0 0 1px var(--thumb-edge);background:var(--stage);border-radius:5px;flex:none}.rel-letter{color:var(--strong);place-items:center;font-size:11px;font-weight:600;display:grid}@media (hover:hover) and (pointer:fine){.plink:hover{text-decoration-color:var(--muted)}.related a:hover{background:var(--stage)}}
