.article-head{max-width:1120px;margin:0 auto}.article-lead{max-width:62ch;font-size:clamp(1.08rem,1.6vw,1.3rem);line-height:1.6;color:color-mix(in srgb,var(--color-paper) 80%,transparent)}.article-grid{max-width:1120px;margin:0 auto;display:grid;gap:4rem}.article-main{min-width:0;width:100%;max-width:44rem;margin:0 auto}.article-side{display:none}@media (min-width:1024px){.article-grid{grid-template-columns:minmax(0,44rem) 300px;justify-content:space-between;gap:3.5rem}.article-main{margin:0}.article-side{display:block}}.article-cta{position:relative;overflow:hidden;border-radius:16px;border:1px solid rgba(255,255,255,.1);background:#141417;color:#f4f2ec;padding:1.6rem 1.5rem 1.5rem}.article-cta:before{content:"";position:absolute;right:-40%;top:-55%;width:90%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(212,255,63,.16),rgba(212,255,63,0) 65%);pointer-events:none}.article-cta>*{position:relative}.article-cta__title{font-family:var(--font-display);font-weight:700;font-size:1.32rem;line-height:1.2;letter-spacing:-.02em;color:#f4f2ec}.article-cta__body{margin-top:.8rem;font-size:.98rem;line-height:1.6;color:#cfcfd6}.article-cta__button{margin-top:1.25rem;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#d4ff3f;color:#0a0a0b;font-weight:600;font-size:.98rem;padding:.78rem 1.35rem;transition:background-color .2s,transform .2s}.article-cta__button:hover{background:#e2ff7a;transform:translateY(-1px)}.article-cta__note{margin-top:.85rem;font-size:.82rem;line-height:1.5;color:#a3a3ad}.article-cta--aside{position:sticky;top:7rem}.article-cta--inline{margin:3rem 0}.article-cta--inline .article-cta__button{width:100%}@media (min-width:1024px){.article-cta--inline{display:none}}.article-toc{margin-bottom:2.75rem;border:1px solid var(--color-line);border-radius:14px;padding:1.25rem 1.4rem 1.1rem;background:color-mix(in srgb,var(--color-paper) 3%,transparent)}.article-toc__label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.16em;color:var(--color-gray)}.article-toc ol{margin-top:.75rem;counter-reset:toc}.article-toc li{counter-increment:toc;display:flex;gap:.75rem;padding:.32rem 0;font-size:1rem;line-height:1.45}.article-toc li:before{content:counter(toc,decimal-leading-zero);flex:none;min-width:1.6rem;font-variant-numeric:tabular-nums;font-size:.85rem;padding-top:.12rem;color:var(--color-lime)}.article-toc a{color:color-mix(in srgb,var(--color-paper) 88%,transparent);text-decoration:none}.article-toc a:hover{color:var(--color-paper);text-decoration:underline;text-underline-offset:4px}.article-byline{display:flex;align-items:center;gap:.9rem}.article-byline__photo{width:48px;height:48px;border-radius:999px;object-fit:cover;border:1px solid var(--color-line)}.article-byline__name{font-family:var(--font-display);font-weight:600;font-size:1.02rem;letter-spacing:-.01em;color:var(--color-paper)}.article-byline__link{margin-left:.6rem;font-family:var(--font-text,inherit);font-weight:400;font-size:.85rem;color:var(--color-gray);text-underline-offset:4px}.article-byline__link:hover{color:var(--color-lime);text-decoration:underline}.article-byline__meta{margin-top:.15rem;font-size:.88rem;color:#b4b4bd;font-variant-numeric:tabular-nums}.article-sign{margin-top:3.5rem;border-top:1px solid var(--color-line);padding-top:2rem}.article-sign__name{font-family:var(--font-display);font-size:1.12rem;font-weight:600;letter-spacing:-.01em;color:var(--color-paper)}.article-sign__role{margin-top:.25rem;font-size:.9rem;color:var(--color-gray)}.paper-section.article-surface{border-top:0}.paper-section .article-toc{background:#ffffff}.paper-section .post-html a{color:#3d5300;text-decoration:underline;text-decoration-color:#9fc32a;text-decoration-thickness:2px;text-underline-offset:3px}.paper-section .post-html a:hover{color:#0a0a0b}.paper-section .post-html li::marker{color:#6f8f00}.paper-section .post-html blockquote{border-left-color:#9fc32a}.paper-section .post-html code,.paper-section .post-html th{background:#ebe8df}html[data-nav-on-paper]:has(.article-surface) header.fixed{--lime:#d4ff3f;background:rgba(10,10,11,.94);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(10px)}html[data-nav-on-paper]:has(.article-surface) header.fixed .text-paper{color:#f4f2ec}html[data-nav-on-paper]:has(.article-surface) header.fixed .bg-paper{background-color:#f4f2ec}html[data-nav-on-paper]:has(.article-surface) header.fixed .text-gray:hover{color:#f4f2ec}html[data-nav-on-paper]:has(.article-surface) header.fixed .border-line{border-color:rgba(255,255,255,.08)}