.article-head{padding:clamp(3.5rem, 8vw, 8rem) 0 var(--space-6);border-bottom:1px solid var(--border)}.article-head h1{max-width:78rem;font:500 var(--step-4)/1.05 var(--display);letter-spacing:-.048em;overflow-wrap:anywhere;text-wrap:balance;margin:1.2rem 0 1.5rem}.article-head .dek{max-width:52rem;color:var(--text-muted);font-size:var(--step-1);line-height:1.5}.article-meta{font:var(--step--1) var(--mono);color:var(--text-muted);text-transform:uppercase;flex-wrap:wrap;gap:.7rem 1.5rem;margin-top:2.2rem;display:flex}.tag-list{color:var(--text-faint);font:.7rem var(--mono);flex-wrap:wrap;gap:.7rem;margin-top:1rem;display:flex}.article-cover{width:min(100% - 2rem,92rem);margin:var(--space-6) auto 0}.article-cover img{object-fit:cover;width:100%;height:clamp(20rem,48vw,42rem)}.article-cover figcaption,.figure figcaption{color:var(--text-faint);font:.72rem/1.5 var(--mono);text-transform:uppercase;padding-top:.65rem}.article-cover figcaption span,.figure figcaption span{color:var(--accent)}.article-grid{grid-template-columns:minmax(12rem, 15rem) minmax(0, var(--wide));padding-top:var(--space-6);gap:clamp(2rem,5vw,6rem);display:grid}.article-rail{scrollbar-width:thin;grid-column:1;align-self:start;max-height:calc(100vh - 3rem);position:sticky;top:1.5rem;overflow-y:auto}.toc{border-top:1px solid var(--border);padding-top:1rem}.toc summary{cursor:pointer;font:600 .7rem var(--mono);letter-spacing:.12em;text-transform:uppercase}.toc ol{margin:1rem 0;padding:0;list-style:none}.toc li{color:var(--text-muted);margin:.65rem 0;font-size:.77rem;line-height:1.35}.toc .depth-3{padding-left:.8rem}.toc a{text-decoration:none}.copy-link{border:0;border-bottom:1px solid var(--border);color:var(--text-muted);cursor:pointer;font:.7rem var(--mono);text-transform:uppercase;background:0 0;padding:.4rem 0}.article-main{min-width:0;max-width:var(--wide);grid-column:2}.spec-plate{margin-bottom:var(--space-6);border-block:1px solid var(--border-strong)}.spec-heading{border-bottom:1px solid var(--border);color:var(--accent);font:.66rem var(--mono);letter-spacing:.12em;text-transform:uppercase;overflow-wrap:anywhere;justify-content:space-between;gap:1rem;padding:.65rem 0;display:flex}.spec-plate dl{grid-template-columns:9rem 1fr;margin:0;display:grid}.spec-plate dt,.spec-plate dd{border-bottom:1px solid var(--border);margin:0;padding:.65rem 0}.spec-plate dt{color:var(--text-faint);font:.7rem var(--mono);text-transform:uppercase}.spec-plate dd{font-size:.9rem}.prose{color:var(--text);font-size:clamp(1rem,.97rem + .15vw,1.08rem);line-height:1.72}.prose>:not(pre,table,.figure){max-width:var(--reading)}.prose>:first-child{color:var(--text);margin-top:0;font-size:1.18em}.prose p,.prose ul,.prose ol,.prose blockquote,.prose pre,.prose table{margin:1.5rem 0}.prose li+li{margin-top:.45rem}.prose h2,.prose h3,.prose h4{font-family:var(--display);letter-spacing:-.025em;scroll-margin-top:2rem;font-weight:500;line-height:1.1}.prose h2{border-top:1px solid var(--border);font-size:var(--step-3);margin:5.5rem 0 1.35rem;padding-top:1rem}.prose h3{font-size:var(--step-2);margin:3.5rem 0 1rem}.prose h2 a,.prose h3 a{text-decoration:none}.prose h2:hover:after,.prose h3:hover:after{content:" #";color:var(--accent);font-family:var(--mono);font-size:.55em}.prose a{color:var(--accent)}.prose code{font:.86em var(--mono);background:var(--surface-subtle);padding:.1em .3em}.prose pre{width:100%;max-width:var(--wide);overscroll-behavior-inline:contain;border:1px solid var(--border);color:#dedbd2;font:clamp(.8rem, .77rem + .12vw, .86rem)/1.65 var(--mono);white-space:pre;padding:2.9rem 1.35rem 1.35rem;position:relative;overflow-x:auto;background:#11120f!important}.prose pre:before{content:attr(data-label);color:#8b8d84;font:.62rem var(--mono);letter-spacing:.12em;text-transform:uppercase;position:absolute;top:.75rem;left:1.2rem}.prose pre code{background:0 0;padding:0}.copy-code{color:#b7b8b0;cursor:pointer;min-width:3.25rem;min-height:2rem;font:.65rem var(--mono);text-transform:uppercase;background:0 0;border:1px solid #0000;padding:.3rem .55rem;position:absolute;top:.38rem;right:.5rem}.copy-code:hover{color:#f0ece2;border-color:#4a4c46}.prose blockquote{border-left:2px solid var(--accent);color:var(--text-muted);font:italic var(--step-1)/1.5 var(--display);margin-left:0;padding:.4rem 0 .4rem 1.5rem}.prose table{width:100%;max-width:var(--wide);border-collapse:collapse;white-space:nowrap;font-size:.9rem;display:block;overflow-x:auto}.prose th,.prose td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:.75rem}.prose th{color:var(--text-muted);font:.7rem var(--mono);text-transform:uppercase}.callout{border-block:1px solid var(--border-strong);background:var(--surface);margin:2.25rem 0;padding:1.3rem 1.5rem}.callout__title{color:var(--accent);font:700 .7rem var(--mono);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .5rem!important}.callout--warning,.callout--caution,.callout--limitation{border-left:2px solid var(--accent)}.callout--result{border-left:2px solid var(--signal)}.callout--result .callout__title{color:var(--signal)}.callout div>:last-child{margin-bottom:0}.figure{width:min(100%, var(--reading));margin:3.5rem 0}.figure img{object-fit:cover;width:100%;height:auto}.figure--wide{width:100%;max-width:var(--wide)}.figure--full{width:var(--page);max-width:none;margin-left:calc(-15rem - clamp(2rem,5vw,6rem))}.gear-used{margin-top:var(--space-7);border-top:1px solid var(--border);padding-top:var(--space-4)}.gear-used a{border-bottom:1px solid var(--border);grid-template-columns:1fr 2fr auto;gap:1.5rem;padding:1.2rem 0;text-decoration:none;display:grid}.gear-used span{color:var(--text-muted);font-size:.88rem}.gear-used b{color:var(--accent);font:.7rem var(--mono);text-transform:uppercase}.affiliate-disclosure{color:var(--text-faint);margin-top:2rem;font-size:.75rem}.report-end{max-width:var(--reading);margin-top:var(--space-7);border-block:1px solid var(--border-strong);padding:1rem 0}.report-end>div{color:var(--text-faint);font:.68rem/1.55 var(--mono);text-transform:uppercase;justify-content:space-between;gap:1rem 2rem;margin-top:.7rem;display:flex}.report-end>div span:last-child{text-align:right}.article-after{margin-top:var(--space-8);border-top:1px solid var(--border);padding-top:var(--space-5)}.related-grid,.post-nav{background:var(--border);grid-template-columns:1fr 1fr;gap:1px;margin-top:1rem;display:grid}.related-grid a,.post-nav a{background:var(--bg);flex-direction:column;justify-content:space-between;min-height:10rem;padding:1.5rem;text-decoration:none;display:flex}.related-grid span,.post-nav span{color:var(--accent);font:.68rem var(--mono);text-transform:uppercase}.related-grid strong,.post-nav strong{font:500 var(--step-1)/1.2 var(--display)}.post-nav{margin-top:var(--space-6)}.post-nav a:last-child{text-align:right}@media (width<=900px){.article-grid{grid-template-columns:1fr}.article-rail,.article-main{grid-column:1}.article-rail{order:0;max-height:none;position:static;overflow:visible}.article-main{order:1}.toc{border-bottom:1px solid var(--border);padding:.85rem 0}.toc[open]{max-height:min(24rem,55vh);overflow-y:auto}.toc summary{align-items:center;min-height:2.5rem;display:flex}.copy-link{display:none}.figure--full{width:100%;margin-left:0}}@media (width<=600px){.article-head{padding:3.25rem 0 2rem}.article-head h1{letter-spacing:-.04em;margin:1rem 0 1.2rem;font-size:clamp(2.1rem,10vw,2.95rem)}.article-head .dek{font-size:1.08rem;line-height:1.55}.article-meta{margin-top:1.5rem;font-size:.7rem;line-height:1.45}.article-cover{width:calc(100% - 1.4rem);margin-top:2rem}.article-cover img{height:clamp(15rem,66vw,22rem)}.article-grid{padding-top:2rem}.spec-plate dl{grid-template-columns:7rem minmax(0,1fr)}.spec-heading span:last-child{display:none}.spec-plate dt{font-size:.66rem}.spec-plate dd{overflow-wrap:anywhere;font-size:.88rem}.prose{font-size:1rem;line-height:1.72}.prose h2{margin-top:4.25rem}.prose h3{margin-top:3rem}.prose pre,.prose table{width:100%}.figure--wide,.figure--full{width:100%;margin-left:0}.gear-used a{grid-template-columns:1fr;gap:.35rem}.report-end>div{flex-direction:column}.report-end>div span:last-child{text-align:left}.related-grid,.post-nav{grid-template-columns:1fr}}
