.section--tight{padding-top:var(--space-8)}.filter{gap:var(--space-2);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.chip{align-items:center;gap:var(--space-2);min-height:var(--tap-min);padding-inline:var(--space-4);border-radius:var(--radius-full);border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text-muted);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer;display:inline-flex}.chip:hover{color:var(--color-text)}.chip[aria-pressed=true]{background:var(--color-primary-soft);color:var(--color-on-primary-soft);border-color:#0000}.chip__count{font-size:var(--text-xs);color:var(--color-text-subtle);font-weight:var(--weight-medium)}.chip[aria-pressed=true] .chip__count{color:inherit}.guide-card{gap:var(--space-3)}.guide-card[hidden],.empty[hidden]{display:none}.guide-card .card__title{font-size:var(--text-lg);line-height:1.4}.guide-card__meta{gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-subtle);flex-wrap:wrap;align-items:center;display:flex}.guide-card__meta span+span:before{content:"·";margin-right:var(--space-2)}.cat{padding:2px var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--weight-semibold);background:var(--color-primary-soft);color:var(--color-on-primary-soft);align-self:flex-start;line-height:1.6;display:inline-flex}.cat--dev,.cat--ai-video{background:var(--color-accent-soft);color:var(--color-on-accent-soft)}.cat--general{background:var(--color-bg-subtle);color:var(--color-text-muted);border:1px solid var(--color-border)}.empty{padding:var(--space-12) var(--space-6);text-align:center;border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg)}.empty__title{font-weight:var(--weight-semibold);font-size:var(--text-lg)}.pager{justify-content:center;gap:var(--space-2);margin-top:var(--space-10);display:flex}.pager a,.pager span{min-width:var(--tap-min);min-height:var(--tap-min);border-radius:var(--radius-md);border:1px solid var(--color-border);color:var(--color-text-muted);place-items:center;text-decoration:none;display:inline-grid}.pager [aria-current]{background:var(--color-primary-soft);color:var(--color-on-primary-soft);font-weight:var(--weight-semibold);border-color:#0000}.article-head{padding-block:var(--space-10) var(--space-8);border-bottom:1px solid var(--color-border);background:var(--gradient-hero), var(--color-bg)}.article-head__title{font-size:var(--text-3xl);margin-top:var(--space-3);max-width:24em;line-height:1.3}.article-head__meta{margin-top:var(--space-4);gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-subtle);flex-wrap:wrap;display:flex}.article-head__meta span+span:before{content:"·";margin-right:var(--space-2)}.article-layout{gap:var(--space-8);padding-block:var(--space-10) var(--space-12);grid-template-columns:minmax(0,1fr);display:grid}@media (width>=960px){.article-layout{gap:var(--space-12);grid-template-columns:minmax(0,1fr) 240px}.toc{order:2}}.toc{font-size:var(--text-sm);align-self:start}.toc details{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.toc summary{min-height:var(--tap-min);padding-inline:var(--space-4);font-weight:var(--weight-semibold);cursor:pointer;align-items:center;display:flex}.toc ol{padding:0 var(--space-4) var(--space-4) var(--space-8);gap:var(--space-2);margin:0;display:grid}.toc a{color:var(--color-text-muted);text-decoration:none}.toc a:hover{color:var(--color-link);text-decoration:underline}@media (width>=960px){.toc{top:calc(var(--space-6) + 64px);position:sticky}.toc details{background:0 0;border:0}.toc summary{pointer-events:none;min-height:auto;margin-bottom:var(--space-3);color:var(--color-text-subtle);padding:0;list-style:none}.toc summary::-webkit-details-marker{display:none}.toc ol{padding:0 0 0 var(--space-4);border-left:2px solid var(--color-border);list-style:none}}.prose{max-width:42em;font-size:var(--text-lg);line-height:1.85}.prose>*+*{margin-top:var(--space-5)}.prose h2{font-size:var(--text-2xl);margin-top:var(--space-12);scroll-margin-top:88px;line-height:1.35}.prose h3{font-size:var(--text-xl);margin-top:var(--space-8)}.prose a{color:var(--color-link);text-underline-offset:3px}.prose ul,.prose ol{gap:var(--space-2);padding-left:1.4em;display:grid}.prose strong{color:var(--color-text)}.prose code{border-radius:var(--radius-sm);background:var(--color-bg-subtle);border:1px solid var(--color-border);padding:1px 6px;font-size:.9em}.prose figure{margin-inline:0}.prose figure img,.prose .figure-ph{border-radius:var(--radius-lg);border:1px solid var(--color-border);width:100%}.prose figcaption{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--color-text-subtle)}.prose blockquote,.prose .note{padding:var(--space-4) var(--space-5);border-left:4px solid var(--color-primary);background:var(--color-bg-subtle);border-radius:0 var(--radius-md) var(--radius-md) 0;font-size:var(--text-base);margin-inline:0}.prose table{border-collapse:collapse;width:100%;font-size:var(--text-base);display:block;overflow-x:auto}.prose th,.prose td{padding:var(--space-3);border-bottom:1px solid var(--color-border);text-align:left;white-space:nowrap}.prose th{color:var(--color-text-subtle);font-weight:var(--weight-semibold)}.prose .figure-ph{aspect-ratio:16/9;background:var(--color-bg-subtle);color:var(--color-text-subtle);font-size:var(--text-sm);place-items:center;display:grid}.article-aside-block{margin-top:var(--space-12);padding-top:var(--space-8);border-top:1px solid var(--color-border);max-width:42em}.article-aside-block h2{font-size:var(--text-xl);margin-bottom:var(--space-4)}.card.related-program{gap:var(--space-4);flex-direction:row;align-items:center}.related-program .app-icon{flex:none;width:56px;height:56px}.help-box{margin-top:var(--space-12);padding:var(--space-6);border-radius:var(--radius-lg);background:var(--color-bg-subtle);border:1px solid var(--color-border);gap:var(--space-4);flex-wrap:wrap;justify-content:space-between;align-items:center;max-width:42em;display:flex}.help-box p{color:var(--color-text-muted)}.help-box strong{color:var(--color-text);font-size:var(--text-lg);display:block}.pager[hidden]{display:none}
