.article-content p,.why-matters-block p{text-align:justify;text-justify:inter-word}.article-wrap{display:grid;grid-template-columns:minmax(0,730px) minmax(260px,300px);gap:2.5rem;align-items:start;justify-content:center;max-width:1080px;margin-inline:auto}article{max-width:100%;min-width:0}.article-content p{font-size:1.0625rem;line-height:1.85;margin:0 0 1.25rem;color:var(--text)}.article-content h2{font-size:1.375rem;line-height:1.35;font-weight:700;letter-spacing:-.01em;margin:2rem 0 .75rem;scroll-margin-top:calc(var(--nav-h) + 1rem)}.article-content h3{font-size:1.125rem;line-height:1.4;font-weight:600;margin:1.5rem 0 .6rem;scroll-margin-top:calc(var(--nav-h) + 1rem)}.article-cat{font-size:var(--text-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--ls-wide);color:var(--accent);margin-bottom:.75rem;display:inline-flex;align-items:center;gap:.5rem}.article-cat:before{content:"";width:1.5rem;height:2px;background:var(--accent)}.article-title{font-size:clamp(1.3rem,2.5vw,1.8rem);font-weight:var(--fw-bold);line-height:var(--lh-tight);margin-bottom:1rem;letter-spacing:var(--ls-tight)}.article-meta{display:flex;gap:1rem;flex-wrap:wrap;font-size:var(--text-sm);color:var(--text-tertiary);padding-bottom:1rem;border-bottom:1px solid var(--border);margin-bottom:1.5rem}#read-progress{position:fixed;top:0;left:0;height:3px;width:0;background:var(--accent);z-index:999}.article-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:1.25rem;padding:.6rem .8rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.share-group{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.share-label{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:var(--ls-wide);color:var(--text-secondary);margin-right:.25rem}.share-btn{font-size:var(--text-xs);font-weight:600;padding:.35rem .7rem;background:var(--surface-alt);color:var(--text);border:1px solid var(--border);border-radius:999px;text-decoration:none;cursor:pointer;font-family:inherit;transition:border-color var(--transition),color var(--transition)}a.share-btn:hover,button.share-btn:hover{border-color:var(--accent);color:var(--accent);text-decoration:none}.fs-btn{font-size:var(--text-xs);font-weight:700;min-width:2.5rem;padding:.35rem .7rem;background:var(--surface-alt);color:var(--text);border:1px solid var(--border);border-radius:999px;cursor:pointer;font-family:inherit;transition:border-color var(--transition),color var(--transition)}.fs-btn:hover{border-color:var(--accent);color:var(--accent)}article[data-fsscale=s] .article-content p{font-size:.95rem;line-height:1.75}article[data-fsscale=s] .article-content h2{font-size:1.2rem}article[data-fsscale=s] .article-content h3{font-size:1rem}article[data-fsscale=m] .article-content p{font-size:1.0625rem;line-height:1.85}article[data-fsscale=m] .article-content h2{font-size:1.375rem}article[data-fsscale=m] .article-content h3{font-size:1.125rem}article[data-fsscale=l] .article-content p{font-size:1.2rem;line-height:1.95}article[data-fsscale=l] .article-content h2{font-size:1.55rem}article[data-fsscale=l] .article-content h3{font-size:1.25rem}.article-cover{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius-xl);margin-bottom:1.5rem}.summary-block{background:var(--accent-light);border-left:4px solid var(--accent);border-radius:0 var(--radius-lg) var(--radius-lg) 0;padding:1.25rem 1.5rem;margin-bottom:1.75rem}.summary-block h2{font-size:var(--text-xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--ls-wide);color:var(--accent);margin-bottom:.6rem}.summary-block ul{list-style:none;display:flex;flex-direction:column;gap:.4rem}.summary-block ul li{font-size:var(--text-sm);line-height:var(--lh-normal);padding-left:1.2rem;position:relative;color:var(--text)}.summary-block ul li:before{content:"•";position:absolute;left:0;color:var(--accent);font-weight:700}.why-matters-block{background:var(--accent-light);border-radius:var(--radius-lg);padding:var(--space-6);border:none;margin-bottom:1.75rem}.why-matters-block h2{font-size:var(--text-xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--ls-wide);color:var(--accent);margin-bottom:.6rem}.why-matters-block p{font-size:var(--text-sm);line-height:var(--lh-normal);color:var(--text);margin:0}.byline-main{font-weight:600;color:var(--text)}.byline-sub{font-size:var(--text-xs);color:var(--text-secondary);margin-top:.15rem}.author-block{margin-top:2rem;padding:var(--space-6);background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius-lg)}.author-block-inner{display:flex;align-items:flex-start;gap:1rem}.author-avatar{flex-shrink:0;width:40px;height:40px;background:var(--accent-light);color:var(--accent);border-radius:50%;display:flex;align-items:center;justify-content:center}.author-info{flex:1;min-width:0}.author-block dt{font-size:var(--text-xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--ls-wide);color:var(--text-secondary);margin-bottom:.2rem}.author-block dd{margin-bottom:.75rem}.author-name{font-weight:var(--fw-semibold);color:var(--text);font-size:var(--text-sm)}.author-desc{font-size:var(--text-sm);color:var(--text-secondary);margin:.5rem 0 0;line-height:var(--lh-normal)}.author-link{display:inline-flex;align-items:center;gap:.25rem;font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--accent);text-decoration:none;margin-top:.5rem}.author-link:hover{text-decoration:underline}.source-block{margin-top:2rem;padding:var(--space-4);background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius-lg);font-size:var(--text-xs);display:flex;flex-wrap:wrap;gap:1.5rem}.source-block dt{font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--ls-wide);color:var(--text-secondary);margin-bottom:.2rem;font-size:.65rem}.source-block dd{font-weight:var(--fw-medium);font-size:var(--text-sm);color:var(--text)}.source-block div{flex:1;min-width:160px}@media(max-width:768px){.source-block{flex-direction:column;gap:1rem}.source-block div{min-width:100%}}.article-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1.5rem}.article-tags .tag{font-size:var(--text-xs);font-weight:var(--fw-semibold);padding:.25rem .7rem;background:var(--accent-light);color:var(--accent);border-radius:999px;border:none;text-decoration:none;display:inline-block;transition:opacity var(--transition)}.article-tags .tag:hover{opacity:.75;text-decoration:none}.related{margin-top:2.5rem}.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6)}.related-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);overflow:hidden;transition:transform .15s ease,box-shadow .15s ease;text-decoration:none;display:flex;flex-direction:column}.related-item:hover{transform:translateY(-2px);box-shadow:0 8px 20px #00000014}.related-thumb{aspect-ratio:16/9;overflow:hidden;background:var(--border);position:relative}.related-thumb img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.related-body{padding:var(--space-4);display:flex;flex-direction:column;gap:.3rem;flex:1}.related-title{font-size:var(--text-base);font-weight:var(--fw-semibold);line-height:1.3;color:var(--text)}.related-title a{color:var(--text);text-decoration:none}.related-title a:hover{color:var(--accent)}.related-meta{font-size:var(--text-xs);color:var(--text-tertiary);margin-top:.25rem}.related-cat{font-size:var(--text-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.08em;color:var(--accent)}.faq-block{margin-top:2rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem 1.5rem}.faq-block h2{font-size:var(--text-xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--ls-wide);color:var(--text-secondary);margin-bottom:.75rem}.faq-item{border-top:1px solid var(--border);padding:.6rem 0}.faq-item:first-of-type{border-top:none}.faq-item summary{cursor:pointer;font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--text)}.faq-item summary:hover{color:var(--accent)}.faq-item p{font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--lh-normal);margin:.4rem 0 0}.popular-inline-list{list-style:none;display:flex;flex-direction:column;margin:0;padding:0}.popular-inline-list li{display:flex;gap:.6rem;align-items:flex-start;padding:.55rem 0;border-bottom:1px solid var(--border-light);font-size:var(--text-sm)}.popular-inline-list li:last-child{border-bottom:none}.popular-inline-rank{font-weight:800;color:var(--accent);min-width:1.2rem}.popular-inline-list a{color:var(--text);font-weight:var(--fw-semibold);line-height:1.4}.popular-inline-list a:hover{color:var(--accent)}@media(max-width:768px){.related-grid{grid-template-columns:1fr}}.article-sidebar{position:sticky;top:calc(var(--nav-h) + 1rem);display:flex;flex-direction:column;gap:1.25rem}.sidebar-block{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem}.sidebar-block h2{font-size:var(--text-xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--ls-wide);color:var(--text-secondary);margin-bottom:.75rem}.toc-list{list-style:none;display:flex;flex-direction:column;gap:.4rem}.toc-list li a{font-size:var(--text-sm);color:var(--text-secondary);text-decoration:none;line-height:1.4}.toc-list li a:hover{color:var(--accent)}.toc-links{list-style:none;display:flex;flex-direction:column;gap:.35rem}.toc-links li a{font-size:var(--text-sm);color:var(--text-secondary);text-decoration:none;line-height:1.4;display:block;transition:color var(--transition)}.toc-links li a:hover{color:var(--accent)}.toc-links li.active a{color:var(--accent);font-weight:var(--fw-semibold)}.toc-links .toc-level-3 a{padding-left:.75rem;font-size:var(--text-sm)}.toc-links li a{border-radius:var(--radius-sm);padding:.2rem .5rem;margin-left:-.5rem}.toc-links li.active a{background:var(--accent-light)}.toc-sidebar nav{max-height:42vh;overflow-y:auto}.article-sidebar .toc-list li{padding:.4rem 0;border-bottom:1px solid var(--border);font-size:.85rem;color:var(--text-secondary)}.article-sidebar .toc-list li:last-child{border-bottom:none;padding-bottom:0}.article-sidebar .toc-list li:first-child{padding-top:0}.popular-tags-list{list-style:none;display:flex;flex-direction:column;gap:.35rem;margin:0;padding:0}.popular-tag{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.45rem .7rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);text-decoration:none;transition:border-color var(--transition),color var(--transition)}.popular-tag:hover{border-color:var(--accent);text-decoration:none}.popular-tag:hover .popular-tag-name{color:var(--accent)}.popular-tag-name{font-size:.8rem;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.popular-tag-count{font-size:.68rem;font-weight:500;color:var(--text-tertiary);background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:.1rem .5rem;white-space:nowrap;flex-shrink:0}.toc-mobile{display:none;margin-bottom:1.25rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:.7rem 1rem}.toc-mobile summary{cursor:pointer;font-size:.85rem;font-weight:600;color:var(--text)}.toc-mobile summary:hover{color:var(--accent)}.toc-mobile nav{margin-top:.5rem}@media(max-width:1024px){.article-wrap{grid-template-columns:minmax(0,730px);justify-content:center}.article-sidebar{display:none}.toc-mobile{display:block}}@media(max-width:768px){.article-wrap{grid-template-columns:1fr}.article-sidebar{display:none}.toc-mobile{display:block}.source-block{grid-template-columns:1fr}.article-title{font-size:clamp(1.1rem,5vw,1.4rem)!important}.article-content p{font-size:1rem;line-height:1.75;text-align:left;margin-bottom:1.1rem}.article-content h2{font-size:1.15rem;margin:1.6rem 0 .6rem}.article-content h3{font-size:1.02rem;margin:1.3rem 0 .5rem}.article-cover{border-radius:var(--radius-lg);margin-bottom:1.25rem}.summary-block,.why-matters-block{padding:1rem 1.15rem}.article-meta{gap:.6rem;font-size:.8rem}}
