.reading-progress{background:linear-gradient(90deg, var(--accent), var(--accent-warm));z-index:100;pointer-events:none;width:0%;height:2px;box-shadow:0 0 12px var(--accent-glow);transition:width 80ms linear;position:fixed;top:0;left:0}.article-wrap{max-width:1200px;margin:0 auto;padding:2.5rem 1.25rem 4rem}.article-grid{grid-template-columns:1fr;gap:0;display:grid}@media (width>=1024px){.article-grid{grid-template-columns:240px 1fr;gap:3rem}}.article-main{width:100%;max-width:760px;margin:0 auto}.article-toc{display:none}.mobile-toc{border:1px solid var(--border-default);border-radius:12px;margin:1.5rem 0;padding:1rem}.mobile-toc summary{cursor:pointer;font-weight:600}.mobile-toc ol{margin-top:1rem;padding-left:1.3rem}.mobile-toc li{margin:.5rem 0}@media (width>=1024px){.mobile-toc{display:none}.article-toc{align-self:start;max-height:calc(100vh - 120px);padding:.5rem 0 1.5rem;display:block;position:sticky;top:88px;overflow-y:auto}}.toc-title{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);margin:0 0 .875rem;font-size:.6875rem;font-weight:700}.toc-list{margin:0;padding:0;list-style:none}.toc-item{margin-bottom:2px}.toc-item.depth-3{margin-left:.85rem}.toc-link{color:var(--text-tertiary);transition:color var(--duration-base) ease, background var(--duration-base) ease, border-color var(--duration-base) ease;border-left:2px solid #0000;padding:.4rem .7rem;font-size:.8125rem;line-height:1.45;text-decoration:none;display:block}.toc-link:hover{color:var(--accent);background:#00d9ff0d}.toc-link.is-active{color:var(--accent);border-left-color:var(--accent);background:#00d9ff14}.breadcrumbs{font-family:var(--font-body);color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1.5rem;font-size:.8125rem;display:flex}.breadcrumb-link{color:var(--text-tertiary);transition:color var(--duration-base) ease;text-decoration:none}.breadcrumb-link:hover{color:var(--accent)}.breadcrumb-current{color:var(--text-secondary)}.breadcrumb-sep{color:var(--text-muted)}.article-header{border-bottom:1px solid var(--border-default);margin-bottom:2rem;padding-bottom:1.5rem}.article-category{font-family:var(--font-display);color:var(--accent);text-transform:uppercase;letter-spacing:.1em;transition:background var(--duration-base) ease, border-color var(--duration-base) ease;background:#00d9ff14;border:1px solid #00d9ff2e;border-radius:999px;margin-bottom:1.25rem;padding:.3rem .75rem;font-size:.6875rem;font-weight:700;text-decoration:none;display:inline-block}.article-category:hover{border-color:var(--accent);background:#00d9ff24}.article-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text-primary);margin:0 0 1rem;font-size:clamp(1.875rem,4.5vw,2.875rem);font-weight:700;line-height:1.15}.article-lead{color:var(--text-secondary);margin:0 0 1.5rem;font-size:1.0625rem;line-height:1.65}.article-meta{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.article-author{align-items:center;gap:.75rem;display:flex}.author-avatar{background:linear-gradient(135deg, var(--accent) 0%, #00d9ff4d 100%);width:38px;height:38px;color:var(--bg-primary);font-family:var(--font-display);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.875rem;font-weight:700;display:inline-flex;box-shadow:0 0 14px #00d9ff4d}.author-name{color:var(--text-primary);transition:color var(--duration-base) ease;font-size:.875rem;font-weight:600;line-height:1.2;text-decoration:none;display:block}.author-name:hover{color:var(--accent)}.author-meta-line{color:var(--text-muted);font-size:.75rem;display:block}.article-hero-img{margin:1.5rem 0 2.5rem}.article-hero-img img{border:1px solid var(--border-default);border-radius:12px;width:100%;height:auto}.article-hero-img figcaption{color:var(--text-muted);text-align:center;margin-top:.5rem;font-size:.8125rem}.article-prose h2{margin-top:2.5rem;padding-left:.85rem;scroll-margin-top:100px;position:relative}.article-prose h2:before{content:"";background:linear-gradient(180deg, var(--accent), var(--accent-warm));border-radius:2px;width:3px;position:absolute;top:.4em;bottom:.4em;left:0}.article-prose h3{color:var(--text-primary);scroll-margin-top:100px}.article-faq{border-top:1px solid var(--border-default);margin-top:3rem;padding-top:2rem}.article-faq h2{margin-top:0}.article-faq-list{flex-direction:column;gap:.6rem;margin-top:1.5rem;display:flex}.article-faq .faq-item{background:var(--bg-secondary);border:1px solid var(--border-default);transition:border-color var(--duration-base) ease, background var(--duration-base) ease;border-radius:10px;overflow:hidden}.article-faq .faq-item[open]{background:var(--bg-tertiary);border-color:#00d9ff66}.article-faq .faq-summary{cursor:pointer;color:var(--text-primary);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;font-size:.9375rem;font-weight:600;list-style:none;display:flex}.article-faq .faq-summary::-webkit-details-marker{display:none}.article-faq .faq-q{flex:1;line-height:1.4}.article-faq .faq-item[open] .faq-q{color:var(--accent)}.article-faq .faq-chevron{width:28px;height:28px;color:var(--accent);transition:transform var(--duration-slow) var(--easing);background:#00d9ff14;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.article-faq .faq-item[open] .faq-chevron{transform:rotate(180deg)}.article-faq .faq-content{color:var(--text-secondary);padding:0 1.25rem 1.25rem;font-size:.9375rem;line-height:1.65}.article-faq .faq-content p{margin:0}.article-citations{border-top:1px solid var(--border-default);margin-top:3rem;padding-top:2rem}.article-citations h2{margin-top:0;font-size:1.5rem}.citations-list{color:var(--text-tertiary);padding-left:1.5rem;font-size:.875rem;line-height:1.8}.citations-list a{word-break:break-word}.article-share{border-top:1px solid var(--border-default);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:3rem;padding-top:1.5rem;display:flex}.article-tags{flex-wrap:wrap;gap:.5rem;display:flex}.tag{background:var(--bg-secondary);color:var(--text-tertiary);border:1px solid var(--border-default);border-radius:6px;padding:.3rem .65rem;font-size:.75rem}.share-btns{flex-wrap:wrap;gap:.5rem;display:flex}.share-btn{background:var(--bg-secondary);border:1px solid var(--border-default);color:var(--text-tertiary);font-family:var(--font-body);cursor:pointer;transition:border-color var(--duration-base) ease, color var(--duration-base) ease, background var(--duration-base) ease;border-radius:8px;padding:.4rem .85rem;font-size:.8125rem;font-weight:500}.share-btn:hover{border-color:var(--accent);color:var(--accent);background:#00d9ff0a}.share-btn.copied{border-color:var(--accent);color:var(--accent);background:#00d9ff1a}.article-related{border-top:1px solid var(--border-default);margin-top:3.5rem;padding-top:2.5rem}.article-related h2{margin-top:0}.related-grid{grid-template-columns:1fr;gap:1rem;margin-top:1.5rem;display:grid}@media (width>=768px){.related-grid{grid-template-columns:repeat(3,1fr)}}.related-card{background:var(--bg-secondary);border:1px solid var(--border-default);color:inherit;transition:transform var(--duration-slow) var(--easing), border-color var(--duration-base) ease, box-shadow var(--duration-base) ease;border-radius:12px;text-decoration:none;display:block;overflow:hidden}.related-card:hover{border-color:#00d9ff59;transform:translateY(-3px);box-shadow:0 14px 32px -16px #00d9ff40}.related-thumb{aspect-ratio:16/9;background:linear-gradient(135deg, var(--bg-tertiary), var(--bg-secondary));border-bottom:1px solid var(--border-default);justify-content:center;align-items:center;display:flex}.thumb-glyph{font-family:var(--font-display);color:var(--accent);text-shadow:0 0 18px var(--accent-glow);font-size:1.75rem;font-weight:700}.related-body{padding:1rem 1.25rem 1.25rem}.related-cat{font-family:var(--font-display);color:var(--accent);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.5rem;font-size:.6875rem;font-weight:700;display:inline-block}.related-body h3{font-family:var(--font-display);color:var(--text-primary);margin:0 0 .5rem;font-size:1rem;line-height:1.35}.related-body p{color:var(--text-tertiary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.8125rem;line-height:1.5;display:-webkit-box;overflow:hidden}
