.article-head{padding:4rem 0 2.5rem}.article-head .tags{flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem;display:flex}.article-head .tags a.tag-link{text-decoration:none;transition:color .15s,box-shadow .15s}.article-head .tags a.tag-link:hover{color:var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-primary)}[data-theme=dark] .article-head .tags a.tag-link:hover{color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent)}.article-head h1{font-family:var(--font-heading);font-weight:700;font-size:var(--text-hero);letter-spacing:-.01em;max-width:22ch;line-height:1.1}.article-head .byline{flex-wrap:wrap;align-items:center;gap:.875rem;margin-top:1.75rem;display:flex}.article-head .byline .av{object-fit:cover;border:1px solid var(--color-border);border-radius:50%;width:2.5rem;height:2.5rem}.article-head .byline .who{font-size:var(--text-body-sm)}.article-head .byline .who strong{font-weight:600;display:block}.article-head .byline .who span{color:var(--color-text-muted)}.article-head .byline .dot{background:var(--color-border);border-radius:50%;width:.25rem;height:.25rem}.article-head .byline .rt{font-size:var(--text-body-sm);color:var(--color-text-muted)}.article-cover{aspect-ratio:16/7;border-radius:var(--radius-xl);border:1px solid var(--color-border);background:linear-gradient(135deg,var(--color-secondary),var(--color-background));overflow:hidden}.article-cover img{object-fit:cover;width:100%;height:100%;display:block}.article-layout{grid-template-columns:minmax(0,1fr) 17.5rem;align-items:start;gap:3.5rem;margin-top:3rem;display:grid}.article-body,.article-side{min-width:0}.article-body{max-width:45rem}.article-body>p{font-size:var(--text-body-lg-plus);color:var(--color-text);line-height:1.8}.article-body>p+p,.article-body h2+p,.article-body h3+p{margin-top:1.25rem}.article-body h2{font-family:var(--font-heading);font-weight:700;font-size:var(--text-h2-plus);margin-top:2.75rem;margin-bottom:.25rem;scroll-margin-top:6.25rem;line-height:1.2}.article-body h3{font-weight:600;font-size:var(--text-h3);margin-top:1.875rem;scroll-margin-top:6.25rem}.article-body ul,.article-body ol{margin:1rem 0 0;padding-left:1.375rem}.article-body ul{list-style-type:disc}.article-body ol{list-style-type:decimal}.article-body li{font-size:var(--text-body-lg);color:var(--color-text);line-height:1.7}.article-body li+li{margin-top:.625rem}.article-body a{color:var(--color-primary);text-underline-offset:.125rem;text-decoration:underline}[data-theme=dark] .article-body a{color:var(--color-accent)}.article-body img{border-radius:var(--radius-lg);border:1px solid var(--color-border);max-width:100%;height:auto;margin:1.5rem 0;display:block}.article-body :not(pre)>code{background:var(--color-secondary);color:var(--color-primary);border-radius:.25rem;padding:.125rem .375rem;font-family:ui-monospace,monospace;font-size:.88em}[data-theme=dark] .article-body :not(pre)>code{color:var(--color-accent)}.article-body pre{border-radius:var(--radius-lg);font-size:var(--text-13-5);border:1px solid var(--color-border);margin:1.5rem 0;padding:1.125rem 1.25rem;line-height:1.7;overflow-x:auto}.article-body blockquote{border-left:.1875rem solid var(--color-primary);font-family:var(--font-heading);font-style:italic;font-size:var(--text-22);color:var(--color-text);margin:1.75rem 0;padding-left:1.5rem;line-height:1.5}.article-body table{border-collapse:collapse;width:100%;font-size:var(--text-body);margin:1.5rem 0}.article-body th,.article-body td{border:1px solid var(--color-border);text-align:left;padding:.5625rem .75rem}.article-body th{background:var(--color-secondary);font-weight:600}.article-faq{border-top:1px solid var(--color-border);margin-top:3rem;padding-top:2.5rem}.article-faq>h2{font-family:var(--font-heading);font-weight:700;font-size:var(--text-h2-plus);margin-bottom:.5rem}.article-faq .faq-group{margin-top:1.375rem}.article-faq .faq-group h3{font-weight:600;font-size:var(--text-body-lg);color:var(--color-text-muted);margin-bottom:.625rem}.article-faq .faq-item{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);margin-bottom:.625rem;padding:.875rem 1.125rem}.article-faq .faq-item summary{font-weight:600;font-size:var(--text-15);cursor:pointer;justify-content:space-between;gap:.75rem;list-style:none;display:flex}.article-faq .faq-item summary:after{content:"+";color:var(--color-text-muted);font-weight:400}.article-faq .faq-item[open] summary:after{content:"−"}.article-faq .faq-item p{font-size:var(--text-body);color:var(--color-text-muted);margin-top:.625rem;line-height:1.7}.article-share{border-top:1px solid var(--color-border);align-items:center;gap:.625rem;margin-top:3rem;padding-top:1.75rem;display:flex}.article-share .sl{font-size:var(--text-body-sm);color:var(--color-text-muted);margin-right:.25rem;font-weight:600}.article-share a,.article-share .copy-link{border-radius:var(--radius-md);border:1px solid var(--color-border);width:2.375rem;height:2.375rem;color:var(--color-text-muted);background:var(--color-surface);cursor:pointer;justify-content:center;align-items:center;text-decoration:none;transition:all .15s;display:flex}.article-share a:hover,.article-share .copy-link:hover{color:var(--color-primary);border-color:var(--color-primary)}.article-share a svg,.article-share .copy-link svg{width:1rem;height:1rem}.article-side{gap:1.5rem;display:grid;position:sticky;top:6.25rem}.toc h4,.related h4{font-size:var(--text-12);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:.875rem;font-weight:600}.toc a{color:var(--color-text-muted);font-size:var(--text-body-sm);border-left:2px solid var(--color-border);padding:.4375rem 0 .4375rem .875rem;text-decoration:none;transition:color .15s,border-color .15s;display:block}.toc a:hover{color:var(--color-text);border-color:var(--color-primary)}.related a{color:inherit;border-bottom:1px solid var(--color-border);padding:.75rem 0;text-decoration:none;display:block}.related a:last-child{border-bottom:none}.related a .rt{font-weight:600;font-size:var(--text-body);line-height:1.4}.related a:hover .rt{color:var(--color-primary)}[data-theme=dark] .related a:hover .rt{color:var(--color-accent)}.related a .rd{font-size:var(--text-12);color:var(--color-text-muted);margin-top:.1875rem}.author-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.25rem}.author-card .top{align-items:center;gap:.75rem;display:flex}.author-card .av{border-radius:var(--radius-md);object-fit:cover;border:1px solid var(--color-border);width:3rem;height:3rem}.author-card .nm{font-weight:600;font-size:var(--text-body)}.author-card .rl{font-size:var(--text-12);color:var(--color-text-muted)}.author-card p{font-size:var(--text-body-sm);color:var(--color-text-muted);margin-top:.75rem;line-height:1.6}@media(max-width:920px){.article-layout{grid-template-columns:1fr}.article-side{position:static}.article-head h1{font-size:var(--text-34)}}
