.site-footer{margin-top:clamp(72px,10vh,120px)}.article{max-width:860px;margin:0 auto;padding:clamp(28px,4vw,44px) clamp(20px,5vw,32px) clamp(56px,8vh,96px)}.post-head{padding:clamp(96px,12vh,130px) 0 clamp(16px,2.5vw,26px)}.post-head__inner{max-width:1100px;margin:0 auto;padding:0 clamp(20px,5vw,40px)}.post-head .back-link{margin-bottom:clamp(16px,2.5vh,22px)}.post-head__cat{flex-wrap:wrap;gap:8px;margin:0 0 20px;display:flex}.post-head__cat .chip-tag.secondary-01{background:var(--color-secondary-01-base)}.post-head__title{font-family:var(--font-display);font-weight:700;font-size:var(--type-display-l);letter-spacing:-.04em;color:var(--color-text-primary);max-width:26ch;margin:0;line-height:.98}.post-cover{margin:clamp(22px,3vw,34px) auto 0;padding:0 clamp(14px,2vw,28px)}.post-cover__img{aspect-ratio:2;object-fit:cover;border-radius:var(--card-radius);width:100%;display:block}.post-cover__ph{aspect-ratio:2;border-radius:var(--card-radius);background:repeating-linear-gradient(134deg, color-mix(in oklch, var(--color-text-primary) 5%, transparent) 0 1.5px, transparent 1.5px 23px), linear-gradient(158deg, color-mix(in oklch, var(--color-surface-raised) 80%, var(--color-primary-base)), var(--color-bg-canvas) 72%);place-items:center;display:grid}.post-cover__ph:before{content:attr(data-ph);font-family:var(--font-mono);font-size:var(--font-size-xs);letter-spacing:.2em;text-transform:uppercase;color:color-mix(in oklch, var(--color-text-primary) 32%, transparent)}.post-meta{font-family:var(--font-mono);font-size:var(--font-size-xs);letter-spacing:.04em;color:var(--color-text-muted);flex-wrap:wrap;align-items:center;gap:12px 16px;padding-bottom:clamp(20px,3vw,28px);display:flex}.post-meta__author{align-items:center;gap:11px;display:inline-flex}.post-meta__author b{color:var(--color-text-primary);font-weight:500}.post-meta__avatar{background:color-mix(in oklch, var(--color-text-primary) 10%, transparent);width:38px;height:38px;box-shadow:0 0 0 2px var(--color-bg-canvas), 0 0 0 3px var(--color-primary-base);border-radius:50%;overflow:hidden}.post-meta__avatar img{object-fit:cover;width:100%;height:100%}.post-meta .dot{color:var(--color-text-subtle)}@media (width<=620px){.post-meta__author{flex-basis:100%}.post-meta__author+.dot{display:none}}.prose{overflow-wrap:break-word;margin-top:clamp(26px,4vw,42px)}.prose>*{margin:0}.prose>*+*{margin-top:1.2em}.prose p.prose__lead{letter-spacing:-.01em;color:var(--color-text-primary);margin-bottom:0;font-size:clamp(20px,1.6vw + 14px,26px);line-height:1.5}.prose p.prose__lead+*{margin-top:1.5em}.prose p{color:color-mix(in oklch, var(--color-text-primary) 87%, transparent);font-size:clamp(17px,1.15vw + 13px,20px);line-height:1.72}.prose h2{font-family:var(--font-display);letter-spacing:-.025em;color:var(--color-text-primary);margin-top:2.3em;scroll-margin-top:96px;font-size:clamp(27px,2.2vw + 18px,38px);font-weight:700;line-height:1.08}.prose h2+*{margin-top:.9em}.prose h3,.prose h4{font-family:var(--font-display);letter-spacing:-.015em;color:var(--color-text-primary);margin-top:1.9em;font-size:clamp(21px,1.2vw + 16px,26px);font-weight:700;line-height:1.2}.prose h3+*,.prose h4+*{margin-top:.72em}.prose :is(h1,h2,h3,h4):empty{display:none}.prose ul,.prose ol{color:color-mix(in oklch, var(--color-text-primary) 87%, transparent);padding-left:1.3em;font-size:clamp(17px,1.15vw + 13px,20px);line-height:1.66}.prose li+li{margin-top:.5em}.prose :is(ul,ol) li::marker{color:currentColor;font-family:inherit}.prose strong{color:var(--color-text-primary);font-weight:700}.prose em{font-style:italic}.prose code{font-family:var(--font-mono);background:color-mix(in oklch, var(--color-text-primary) 8%, transparent);border-radius:5px;padding:.12em .4em;font-size:.88em}.prose a{color:var(--color-primary-base);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.prose img{border-radius:var(--card-radius);width:100%;height:auto;margin:1.4em 0;display:block}.prose figure{margin:1.4em 0}.prose figcaption{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:8px}.prose blockquote{font-family:var(--font-display);font-weight:600;font-size:var(--font-size-display-xs);letter-spacing:-.025em;color:var(--color-secondary-02-base);margin:1.6em 0;padding:0;line-height:1.18;position:relative}.prose blockquote:before{content:"“";font-family:var(--font-display);color:var(--color-primary-base);margin-bottom:.04em;font-size:1.9em;font-weight:700;line-height:.7;display:block}.prose blockquote p{font:inherit;color:inherit;margin:0}.prose blockquote cite{font-family:var(--font-mono);font-weight:400;font-size:var(--font-size-xs);letter-spacing:.04em;color:var(--color-text-muted);margin-top:20px;font-style:normal;display:block}.related{max-width:1080px;margin:clamp(72px,10vh,128px) auto 0;padding:0 clamp(20px,5vw,40px)}.related__h{font-family:var(--font-mono);font-size:var(--font-size-xs);letter-spacing:.2em;text-transform:uppercase;color:var(--color-text-subtle);margin:0 0 28px}.related__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.4vw,20px);display:grid}@media (width<=760px){.related__grid{grid-template-columns:1fr}}
