.article-page[data-v-d1ac3aa2]{background:var(--color-bg);color:var(--color-text);font-family:var(--font-family);min-height:calc(100vh - 64px);padding:96px 0 64px}.article-layout[data-v-d1ac3aa2]{display:grid;gap:48px;grid-template-columns:minmax(0,1fr) 260px}.article-main[data-v-d1ac3aa2]{min-width:0}.article-header[data-v-d1ac3aa2]{border-bottom:1px solid var(--color-border);margin-bottom:48px;padding-bottom:24px}.article-title[data-v-d1ac3aa2]{color:var(--color-text);font-family:var(--font-family-heading);font-size:2.75rem;font-weight:900;letter-spacing:-.02em;line-height:1.15;margin:0 0 16px}.article-meta[data-v-d1ac3aa2]{color:var(--color-text-secondary);display:flex;font-size:.875rem;gap:16px}.article-author[data-v-d1ac3aa2]{color:var(--color-primary);font-weight:600}.article-content[data-v-d1ac3aa2]{color:var(--color-text-secondary);line-height:1.8}.article-content[data-v-d1ac3aa2] h1{display:none}.article-content[data-v-d1ac3aa2] h2{color:var(--color-text);font-family:var(--font-family-heading);font-size:1.75rem;font-weight:800;letter-spacing:-.01em;margin:48px 0 16px;scroll-margin-top:96px}.article-content[data-v-d1ac3aa2] h3{color:var(--color-text);font-family:var(--font-family-heading);font-size:1.25rem;font-weight:700;margin:32px 0 12px;scroll-margin-top:96px}.article-content[data-v-d1ac3aa2] p{font-size:1rem;margin-bottom:20px}.article-content[data-v-d1ac3aa2] ol,.article-content[data-v-d1ac3aa2] ul{margin:0 0 20px;padding-left:24px}.article-content[data-v-d1ac3aa2] li{margin-bottom:8px}.article-content[data-v-d1ac3aa2] img{border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);display:block;height:auto;margin:32px auto;max-width:100%}.article-content[data-v-d1ac3aa2] p:has(>img:only-child){text-align:center}.article-content[data-v-d1ac3aa2] strong{color:var(--color-text)}.article-content[data-v-d1ac3aa2] a{color:var(--color-primary);text-decoration:underline;text-underline-offset:3px}.article-content[data-v-d1ac3aa2] a:hover{color:var(--color-primary-hover)}.article-content[data-v-d1ac3aa2] blockquote{border-left:3px solid var(--color-primary);color:var(--color-text-secondary);font-style:italic;margin:24px 0;padding:4px 0 4px 20px}.article-toc[data-v-d1ac3aa2]{position:relative}.toc-sticky[data-v-d1ac3aa2]{border-left:1px solid var(--color-border);max-height:calc(100vh - 120px);overflow-y:auto;padding:20px 0 20px 20px;position:sticky;top:96px}.toc-title[data-v-d1ac3aa2]{color:var(--color-text-muted);font-family:var(--font-family-heading);font-size:.75rem;font-weight:700;letter-spacing:.15em;margin-bottom:16px;text-transform:uppercase}.toc-list[data-v-d1ac3aa2],.toc-sublist[data-v-d1ac3aa2]{list-style:none;margin:0;padding:0}.toc-sublist[data-v-d1ac3aa2]{border-left:1px solid var(--color-border);margin-top:6px;padding-left:14px}.toc-item[data-v-d1ac3aa2]{margin-bottom:6px}.toc-item a[data-v-d1ac3aa2]{color:var(--color-text-secondary);display:block;font-size:.875rem;line-height:1.5;padding:4px 0;text-decoration:none;transition:color .15s}.toc-item a[data-v-d1ac3aa2]:hover{color:var(--color-text)}.toc-depth-3 a[data-v-d1ac3aa2]{font-size:.8125rem}.toc-item.is-active>a[data-v-d1ac3aa2]{color:var(--color-primary);font-weight:600}.article-empty[data-v-d1ac3aa2]{color:var(--color-text-secondary);grid-column:1/-1;padding:64px 0;text-align:center}.btn-back[data-v-d1ac3aa2]{background:var(--color-primary);border-radius:var(--radius-full);box-shadow:0 12px 24px #1d9e7533;color:#fff;display:inline-block;font-family:var(--font-family-heading);font-weight:700;margin-top:16px;padding:12px 24px;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.btn-back[data-v-d1ac3aa2]:hover{background:var(--color-primary-hover);color:#fff;transform:translateY(-1px)}@media(max-width:960px){.article-layout[data-v-d1ac3aa2]{gap:32px;grid-template-columns:1fr}.article-toc[data-v-d1ac3aa2]{order:-1}.toc-sticky[data-v-d1ac3aa2]{background:var(--color-bg-panel);border-left:none;border:1px solid var(--color-border);border-radius:var(--radius-lg);max-height:none;padding:16px 20px;position:static}}@media(max-width:768px){.article-page[data-v-d1ac3aa2]{padding:64px 0 48px}.article-title[data-v-d1ac3aa2]{font-size:2rem}.article-content[data-v-d1ac3aa2] h2{font-size:1.5rem}}
