.article-breadcrumb{font-size:var(--font-xs);color:var(--color-text-faint);margin:0 0 var(--space-4)}.article-breadcrumb a{color:var(--color-text-muted);text-decoration:none}.article-breadcrumb a:hover{color:var(--color-accent);text-decoration:underline}.article-breadcrumb a:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}.article-hero{max-width:740px;margin:0 0 var(--space-6)}.article-eyebrow{display:block;font-size:var(--font-xs);font-weight:var(--weight-bold);letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent);margin:0 0 var(--space-2)}.article-hero h1{margin:0 0 var(--space-3)}.article-deck{font-size:var(--font-md);color:var(--color-text);line-height:var(--leading-relaxed);margin:0;max-width:62ch}.article-layout{display:grid;grid-template-columns:200px minmax(0,1fr);gap:var(--space-7);align-items:start}.article-toc{position:sticky;top:calc(var(--header-height) + var(--space-5));font-size:var(--font-sm)}.article-toc-label{display:block;font-size:var(--font-xs);color:var(--color-text-faint);margin:0 0 var(--space-3)}.article-toc ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.article-toc a{color:var(--color-text-muted);text-decoration:none;line-height:var(--leading-snug)}.article-toc a:hover{color:var(--color-accent)}.article-toc a:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}.article-toc-mobile{display:none}.article-toc-inline{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-1) var(--space-3);font-size:var(--font-sm);padding:var(--space-3) 0 var(--space-5);margin:0 0 var(--space-6);border-bottom:1px solid var(--color-border)}.article-toc-inline-label{color:var(--color-text-faint);font-size:var(--font-xs)}.article-toc-inline ol{list-style:none;display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-4);margin:0;padding:0}.article-toc-inline a{color:var(--color-accent);text-decoration:none}.article-toc-inline a:hover{text-decoration:underline}.article-toc-inline a:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}.article-body{max-width:740px}.article-body .article-section{margin:0 0 var(--space-7);padding-top:var(--space-6);border-top:1px solid var(--color-border);scroll-margin-top:calc(var(--header-height) + var(--space-4))}.article-body .article-section:first-child{padding-top:0;border-top:none}.article-body h2{font-size:var(--font-lg);margin:0 0 var(--space-4)}.article-body h3{font-size:var(--font-md);margin:var(--space-5) 0 var(--space-2)}.article-body p{color:var(--color-text-muted);line-height:var(--leading-relaxed);margin:0 0 var(--space-4)}.article-body ul,.article-body ol{color:var(--color-text-muted);line-height:var(--leading-normal);margin:0 0 var(--space-4);padding-left:var(--space-5)}.article-body li{margin-bottom:var(--space-2)}.article-body li:last-child{margin-bottom:0}.article-body strong{color:var(--color-text);font-weight:var(--weight-semibold)}.article-body a{color:var(--color-accent);text-decoration:underline;text-decoration-color:var(--color-accent-border);text-underline-offset:2px}.article-body a:hover{text-decoration-color:var(--color-accent)}.article-body a:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}.article-callout{margin:0 0 var(--space-5)}.article-callout-label{display:block;font-size:var(--font-2xs);font-weight:var(--weight-bold);letter-spacing:.06em;text-transform:uppercase;margin:0 0 var(--space-1)}.alert-info .article-callout-label{color:var(--color-accent)}.alert-warning .article-callout-label{color:var(--color-warning)}.article-callout p{margin:0;color:var(--color-text-muted)}.article-callout p+p{margin-top:var(--space-2)}.article-token-viz{margin:0 0 var(--space-5)}.article-token-viz-row{display:flex;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-4);background:var(--color-panel-dark);border:1px solid var(--color-border);border-radius:var(--radius-md);margin:0 0 var(--space-2)}.article-token-chip{font-family:var(--font-mono);font-size:var(--font-sm);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--color-accent-border);background:var(--color-accent-soft);color:var(--color-text);white-space:pre}.article-token-chip:nth-child(2n){background:var(--color-bg-card);border-color:var(--color-border-strong)}.article-token-viz-caption{font-size:var(--font-xs);color:var(--color-text-faint);margin:0}.article-io-compare{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);margin:0 0 var(--space-5)}.article-io-col{padding:var(--space-4) var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-panel-dark)}.article-io-col h3{margin:0 0 var(--space-2);font-size:var(--font-sm);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:.06em;color:var(--color-accent)}.article-io-col p{margin:0;font-size:var(--font-sm);color:var(--color-text-muted);line-height:var(--leading-normal)}.article-formula{background:var(--color-panel-dark);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5);margin:0 0 var(--space-5);overflow-x:auto}.article-formula code{display:block;font-family:var(--font-mono);font-size:var(--font-sm);color:var(--color-text);white-space:pre;line-height:var(--leading-relaxed)}.article-formula-var{color:var(--color-accent)}.article-related{margin:var(--space-7) 0 0;padding-top:var(--space-6);border-top:1px solid var(--color-border)}.article-related h2{font-size:var(--font-sm);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-faint);margin:0 0 var(--space-3)}.article-related ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-6)}.article-related a{font-weight:var(--weight-semibold);color:var(--color-accent);text-decoration:none}.article-related a:hover{text-decoration:underline}.article-related a:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}.article-prevnext{display:flex;justify-content:space-between;gap:var(--space-4);margin:var(--space-5) 0 0;font-size:var(--font-sm)}.article-prevnext a{color:var(--color-accent);text-decoration:none;font-weight:var(--weight-medium)}.article-prevnext a:hover{text-decoration:underline}.article-prevnext a:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}.article-prevnext-next{margin-left:auto;text-align:right}@media(max-width:1080px){.article-layout{display:block}.article-toc{display:none}.article-toc-mobile{display:block;margin:0 0 var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4)}.article-toc-mobile summary{cursor:pointer;font-size:var(--font-sm);font-weight:var(--weight-semibold);color:var(--color-text)}.article-toc-mobile summary:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.article-toc-mobile ol{list-style:none;margin:var(--space-3) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--font-sm)}.article-toc-mobile a{color:var(--color-accent);text-decoration:none}.article-toc-mobile a:hover{text-decoration:underline}.article-body{max-width:740px}}@media(max-width:640px){.article-io-compare{grid-template-columns:1fr}.article-prevnext{flex-direction:column}.article-prevnext-next{margin-left:0;text-align:left}}
