:root{--article-max-width:720px;--article-padding-x:24px;--article-padding-x-mobile:20px;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI",
    "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei",
    "Helvetica Neue", Helvetica, Arial, sans-serif;--font-mono:"SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--text-base-size:17px;--text-base-size-mobile:16px;--text-base-line-height:1.8;--text-base-color:#2c2c2c;--paragraph-gap:1.4em;--h1-size:32px;--h2-size:24px;--h3-size:20px;--h4-size:17px;--h2-margin-top:2.4em;--h2-margin-bottom:0.8em;--link-color:#2563eb;--link-hover-color:#1d4ed8;--code-bg:#f6f8fa;--code-border:#e5e7eb;--code-radius:8px;--quote-bg:#f8fafc;--quote-border:#3b82f6;--table-border:#e5e7eb;--table-header-bg:#f9fafb;--note-bg:#eff6ff;--note-border:#3b82f6;--tip-bg:#ecfdf5;--tip-border:#10b981;--warning-bg:#fffbeb;--warning-border:#f59e0b;--danger-bg:#fef2f2;--danger-border:#ef4444}.reading-progress-bar{position:fixed;top:0;left:0;height:2px;background-color:var(--color-primary);width:0%;z-index:100;transition:width .1s ease}.article-layout{display:flex;justify-content:center;align-items:flex-start;gap:48px;padding:32px 0 64px;max-width:1140px;margin:0 auto}.article-main-column{width:100%;max-width:var(--article-max-width);min-width:0}.article-toc-sidebar{width:240px;position:sticky;top:84px;flex-shrink:0;max-height:calc(100vh - 100px);overflow-y:auto;padding-left:16px;border-left:1px solid var(--color-border)}.toc-title{font-size:14px;font-weight:700;color:#4b5563;margin-bottom:12px;text-transform:uppercase;letter-spacing:.05em}.toc-nav ul{list-style:none;display:flex;flex-direction:column;gap:8px}.toc-nav li a{font-size:13.5px;color:#6b7280;line-height:1.45;display:block;transition:all .15s ease}.toc-nav li a:hover,.toc-nav li a.active{color:var(--color-primary);font-weight:600;transform:translateX(2px)}.toc-nav li ul{padding-left:14px;margin-top:6px;gap:6px}.mobile-toc-details{display:none;background:#f8fafc;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:12px 16px;margin:20px 0}.mobile-toc-details summary{font-weight:600;font-size:14.5px;cursor:pointer;color:var(--color-text-main)}.article-header{margin-bottom:28px}.article-h1{font-size:var(--h1-size);color:#111827;font-weight:800;line-height:1.3;letter-spacing:-.02em;margin:12px 0 16px}.article-summary-lead{font-size:17.5px;color:#4b5563;line-height:1.7;margin-bottom:20px}.article-meta-row{display:flex;align-items:center;flex-wrap:wrap;gap:14px;font-size:13px;color:#6b7280;padding-bottom:16px;border-bottom:1px solid var(--color-border)}.article-meta-item{display:inline-flex;align-items:center;gap:4px}.tldr{background:#eff6ff;border:1px solid #bfdbfe;border-left:4px solid var(--color-primary);border-radius:var(--radius-md);padding:16px 20px;margin:24px 0;font-size:16px;line-height:1.75;color:#1e3a8a}.tldr-title{font-weight:700;font-size:15px;color:#1d4ed8;margin-bottom:6px;display:flex;align-items:center;gap:6px}.key-takeaways{background:#f9fafb;border:1px solid var(--color-border);border-left:4px solid #3b82f6;border-radius:var(--radius-md);padding:18px 22px;margin:24px 0 32px}.key-takeaways-title{font-size:15px;font-weight:700;color:#111827;margin-bottom:10px}.key-takeaways ul{list-style-type:disc;padding-left:20px;display:flex;flex-direction:column;gap:6px}.key-takeaways li{font-size:15px;line-height:1.7;color:#374151}.article-content{font-size:var(--text-base-size);line-height:var(--text-base-line-height);color:var(--text-base-color);word-break:break-word}.article-content p{margin-bottom:var(--paragraph-gap);text-indent:0}.article-content h2{font-size:var(--h2-size);color:#111827;font-weight:700;line-height:1.35;margin-top:var(--h2-margin-top);margin-bottom:var(--h2-margin-bottom);padding-bottom:8px;border-bottom:1px solid var(--color-border-subtle);position:relative}.article-content h3{font-size:var(--h3-size);color:#111827;font-weight:700;line-height:1.4;margin-top:1.8em;margin-bottom:.6em;position:relative}.article-content h4{font-size:var(--h4-size);color:#111827;font-weight:600;margin-top:1.4em;margin-bottom:.4em}.heading-anchor{display:inline-block;opacity:0;color:#94a3b8;margin-left:8px;text-decoration:none;font-weight:400;transition:opacity .15s}.article-content h2:hover .heading-anchor,.article-content h3:hover .heading-anchor{opacity:1}.heading-anchor:hover{color:var(--color-primary)}.article-content strong,.article-content b{color:#111827;font-weight:600}.article-content a{color:var(--link-color);text-decoration:underline;text-underline-offset:3px}.article-content a:hover{color:var(--link-hover-color)}.article-content ul,.article-content ol{margin-bottom:var(--paragraph-gap);padding-left:24px}.article-content li{line-height:var(--text-base-line-height);margin-bottom:.4em}.article-content blockquote{background-color:var(--quote-bg);border-left:3px solid var(--quote-border);padding:12px 18px;margin:20px 0;border-radius:0 var(--radius-sm)var(--radius-sm)0;color:#4b5563;font-style:normal}.article-content blockquote p{margin-bottom:.6em}.article-content blockquote p:last-child{margin-bottom:0}.article-content code{font-family:var(--font-mono);font-size:.88em;background-color:var(--code-bg);border:1px solid var(--code-border);border-radius:4px;padding:2px 6px;color:#0f172a;font-weight:600}.article-content pre,.article-content div.highlight pre,.article-content .highlight pre,div.highlight pre,pre{background-color:#0f172a!important;color:#f8fafc!important;border:1px solid #334155!important;border-radius:var(--code-radius);padding:18px 22px;overflow-x:auto;margin:22px 0;font-family:var(--font-mono);font-size:13.5px;line-height:1.65;position:relative;box-shadow:0 4px 16px rgba(15,23,42,.25);-webkit-font-smoothing:subpixel-antialiased}.article-content pre code,.article-content div.highlight pre code,.article-content .highlight pre code,div.highlight pre code,pre code{background-color:transparent!important;border:none!important;padding:0!important;color:#f8fafc!important;font-size:inherit;font-family:inherit;font-weight:500;letter-spacing:0}.article-content pre span,.article-content .highlight pre span,div.highlight pre span,pre span{color:inherit}.article-content pre span:not([style*=color]),.article-content .highlight pre span:not([style*=color]),div.highlight pre span:not([style*=color]){color:#f8fafc!important}.article-content .chroma,div.highlight .chroma{background-color:transparent!important;color:#f8fafc!important}.article-table-wrapper{overflow-x:auto;margin:24px 0;border:1px solid var(--table-border);border-radius:var(--radius-md)}.article-content table{width:100%;border-collapse:collapse;font-size:15px;text-align:left}.article-content th{background-color:var(--table-header-bg);color:#111827;font-weight:600;padding:12px 16px;border-bottom:1px solid var(--table-border)}.article-content td{padding:12px 16px;border-bottom:1px solid var(--table-border);color:#374151;vertical-align:top}.article-content tr:last-child td{border-bottom:none}.article-content tr:hover td{background-color:#f8fafc}.callout{border-radius:var(--radius-md);border-left:3px solid transparent;padding:14px 18px;margin:22px 0;font-size:15.5px;line-height:1.7}.callout-title{font-weight:700;margin-bottom:6px;font-size:14.5px;display:flex;align-items:center;gap:6px}.callout-note{background-color:var(--note-bg);border-left-color:var(--note-border);color:#1e3a8a}.callout-note .callout-title{color:#1d4ed8}.callout-tip{background-color:var(--tip-bg);border-left-color:var(--tip-border);color:#064e3b}.callout-tip .callout-title{color:#047857}.callout-warning{background-color:var(--warning-bg);border-left-color:var(--warning-border);color:#78350f}.callout-warning .callout-title{color:#b45309}.callout-danger{background-color:var(--danger-bg);border-left-color:var(--danger-border);color:#7f1d1d}.callout-danger .callout-title{color:#b91c1c}.step-card{display:flex;gap:16px;margin:20px 0;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:18px}.step-badge{flex-shrink:0;width:28px;height:28px;border-radius:50%;background-color:var(--color-primary);color:#fff;font-weight:700;font-size:14px;display:flex;align-items:center;justify-content:center}.step-body{flex:1}.step-title{font-weight:700;font-size:16px;color:#111827;margin-bottom:6px}.step-content{font-size:15px;color:#4b5563;line-height:1.7}.faq-accordion{border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:12px;background:#fff;overflow:hidden}.faq-accordion summary{padding:14px 18px;font-weight:600;font-size:16px;color:#111827;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;user-select:none}.faq-accordion summary::-webkit-details-marker{display:none}.faq-accordion summary::after{content:"+";font-size:18px;font-weight:700;color:#6b7280;transition:transform .15s ease}.faq-accordion[open] summary::after{content:"−"}.faq-content{padding:0 18px 16px;font-size:15px;line-height:1.75;color:#4b5563;border-top:1px solid var(--color-border-subtle);padding-top:14px}.definition-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:var(--radius-md);padding:16px 20px;margin:22px 0}.definition-term{font-weight:700;font-size:16px;color:#0f172a;margin-bottom:6px}.sources-box{background:#fafaf9;border:1px solid #e7e5e4;border-radius:var(--radius-md);padding:16px 20px;margin:36px 0 24px;font-size:13.5px;color:#57534e;line-height:1.7}.sources-box h4{font-size:14px;font-weight:700;color:#292524;margin-bottom:8px}.sources-box ul{list-style:none;padding-left:0;display:flex;flex-direction:column;gap:4px}.related-tiers-container{margin:40px 0;border-top:2px solid var(--color-border);padding-top:28px}.related-tier-block{margin-bottom:24px}.related-tier-title{font-size:15px;font-weight:700;color:#111827;margin-bottom:10px;display:flex;align-items:center;gap:6px}.related-tier-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.related-tier-card{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:12px 16px;transition:all .15s}.related-tier-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.related-tier-card a{font-size:14.5px;font-weight:600;color:#1f2937;text-decoration:none;display:block}.related-tier-card a:hover{color:var(--color-primary)}.author-review-card{display:flex;gap:16px;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:20px;margin:32px 0}.author-review-avatar{width:52px;height:52px;border-radius:50%;background:#e2e8f0;flex-shrink:0}.author-review-info{flex:1}.author-review-name{font-size:16px;font-weight:700;color:#111827}.author-review-role{font-size:13px;color:#6b7280;margin-bottom:6px}.author-review-bio{font-size:13.5px;color:#4b5563;line-height:1.6}@media(max-width:1024px){.article-toc-sidebar{display:none}.mobile-toc-details{display:block}}@media(max-width:640px){.article-layout{padding:16px var(--article-padding-x-mobile)48px}.article-h1{font-size:24px}.article-content{font-size:var(--text-base-size-mobile);line-height:1.75}.article-meta-row{font-size:12px;gap:8px}.step-card{flex-direction:column;gap:10px}}