.article-page-container{margin-top:var(--space-2xl)}.article-panel{padding:var(--space-xl);border-radius:var(--radius-lg);background:var(--glass-surface);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);overflow:hidden}.article-hero-wrapper{position:relative;margin-bottom:var(--space-xl)}.article-hero{border-radius:var(--radius-md);overflow:hidden;aspect-ratio:21/9}.article-hero img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.article-hero__bookmark{position:absolute;top:var(--space-md);right:var(--space-md);z-index:10}.article-header{margin-bottom:var(--space-xl);padding-bottom:var(--space-lg);border-bottom:1px solid var(--color-border)}.article-tags{display:flex;align-items:center;gap:var(--space-md);margin-top:var(--space-2xl);padding-top:var(--space-xl);border-top:1px solid var(--color-border);flex-wrap:wrap}.article-tags__icon{color:var(--color-text-muted);font-size:var(--text-lg)}.article-tags__list{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.article-tags__tag{display:inline-block;padding:var(--space-xs) var(--space-md);background:var(--glass-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:var(--text-sm);color:var(--color-accent-primary);text-decoration:none;transition:all var(--transition-fast)}.article-tags__tag:hover{background:rgba(124,58,237,.1);border-color:var(--color-accent-primary);transform:translateY(-2px);text-decoration:underline;text-underline-offset:2px}.article-title{font-size:2.5rem;margin-bottom:16px;color:var(--color-text-primary)}.article-meta{color:var(--color-text-muted);font-size:.9rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.article-meta-info{display:flex;align-items:center;gap:10px}.article-layout{text-align:justify}@media (min-width:1024px){.article-layout{grid-template-columns:1fr 250px}}.article-content,.markdown-content{line-height:1.8;font-size:1.1rem;color:var(--color-text-secondary)}.article-content h2,.markdown-content h2{font-size:var(--text-2xl);color:var(--color-text-primary);margin-top:var(--space-2xl);margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:2px solid var(--color-border)}.article-content h3,.markdown-content h3{font-size:var(--text-xl);color:var(--color-text-primary);margin-top:var(--space-xl);margin-bottom:var(--space-md)}.article-content p,.markdown-content p{margin-bottom:var(--space-lg);color:var(--color-text-secondary)}.article-content a,.markdown-content a{color:var(--color-accent-primary);text-decoration:underline;text-underline-offset:2px}.article-content a:hover,.markdown-content a:hover{color:var(--color-accent-secondary)}.article-content img,.markdown-content img{max-width:100%;height:auto;border-radius:var(--radius-lg);margin:var(--space-xl) 0;box-shadow:var(--shadow-md)}.article-content blockquote,.markdown-content blockquote{margin:var(--space-xl) 0;padding:var(--space-lg);padding-left:var(--space-xl);background:rgba(255,255,255,.5);border-left:4px solid var(--color-accent-primary);border-radius:var(--radius-md);font-style:italic;color:var(--color-text-secondary)}.article-content ol,.article-content ul,.markdown-content ol,.markdown-content ul{margin-bottom:var(--space-lg);padding-left:var(--space-xl)}.article-content li,.markdown-content li{margin-bottom:var(--space-sm)}.article-content pre,.markdown-content pre{margin:var(--space-xl) 0;padding:var(--space-lg);background:rgba(255,255,255,.5);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow-x:auto;font-family:var(--font-ui);font-size:var(--text-sm);line-height:1.6}.article-content code,.markdown-content code{font-family:var(--font-ui);font-size:.9em;padding:var(--space-3xs) var(--space-xs);background:rgba(255,255,255,.5);border-radius:var(--radius-sm);color:var(--color-accent-tertiary)}.article-content pre code,.markdown-content pre code{padding:0;background:none;color:inherit}.code-block{margin:var(--space-lg) 0;background:var(--color-bg-elevated);border:1px solid var(--color-border-light);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm)}.code-block__header{background:var(--color-bg-soft);padding:var(--space-xs) var(--space-md);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--color-border-light)}.code-block__language{color:var(--color-text-muted);font-size:var(--text-xs);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em}.code-block pre{margin:0;padding:var(--space-md);overflow-x:auto;background:transparent;border:none}.code-block code{color:var(--color-text-primary)!important;font-family:var(--font-mono);font-size:var(--text-sm);line-height:1.5;padding:0;background:none}.article-hr{border:none;border-top:1px solid var(--color-border-light);margin:var(--space-xl) 0;opacity:.5}.article-content table{width:100%;margin:var(--space-xl) 0;border-collapse:collapse}.article-content td,.article-content th{padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);text-align:left}.article-content th{background:rgba(255,255,255,.5);font-weight:600;color:var(--color-text-primary)}.article-navigation{display:grid;grid-template-columns:1fr;gap:var(--space-md);margin-top:var(--space-3xl);padding-top:var(--space-2xl);border-top:1px solid var(--color-border)}@media (min-width:768px){.article-navigation{grid-template-columns:1fr 1fr}}.article-nav-link{display:flex;align-items:center;padding:var(--space-md);border-radius:var(--radius-md);border:1px solid var(--color-border);transition:all var(--transition-fast);text-decoration:none;color:var(--color-text-primary)}.article-nav-link:hover{border-color:var(--color-accent-primary);background:var(--glass-surface-hover)}.article-nav-link--prev{flex-direction:row}.article-nav-link--next{flex-direction:row-reverse;text-align:right}.article-nav-icon{color:var(--color-text-muted);transition:color var(--transition-fast)}.article-nav-link:hover .article-nav-icon{color:var(--color-accent-primary)}.article-nav-content{display:flex;flex-direction:column}.article-nav-label{font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.article-nav-title{font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.article-nav-link:hover .article-nav-title{color:var(--color-accent-primary)}.article-suggestions{margin-top:var(--space-3xl);padding-top:var(--space-2xl);border-top:1px solid var(--color-border)}.article-suggestions__title{font-size:var(--text-xl);font-weight:700;margin-bottom:var(--space-xl);color:var(--color-text-primary)}.article-suggestions__grid{display:grid;grid-template-columns:1fr;gap:var(--space-lg)}@media (min-width:768px){.article-suggestions__grid{grid-template-columns:repeat(3,1fr)}}.article-suggestion-card{display:block;height:100%;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;transition:all var(--transition-fast);text-decoration:none;color:var(--color-text-primary)}.article-suggestion-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.article-suggestion-image{aspect-ratio:16/9;overflow:hidden;background:var(--glass-surface)}.article-suggestion-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .3s ease}.article-suggestion-card:hover .article-suggestion-image img{transform:scale(1.05)}.article-suggestion-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--glass-surface) 0,rgba(124,58,237,.1) 100%);color:var(--color-text-muted);font-size:2rem}.article-suggestion-card:hover .article-suggestion-placeholder{color:var(--color-accent-primary)}.article-suggestion-content{padding:var(--space-md)}.article-suggestion-title{font-weight:700;color:var(--color-text-primary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:var(--space-sm)}.article-suggestion-card:hover .article-suggestion-title{color:var(--color-accent-primary)}.article-suggestion-summary{font-size:var(--text-sm);color:var(--color-text-secondary);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.article-comments-section{padding-top:var(--space-2xl)}.article-comments-section,.article-footer{margin-top:var(--space-3xl);border-top:1px solid var(--color-border)}.article-footer{padding-top:var(--space-xl)}.btn--secondary{display:inline-flex;align-items:center;gap:8px;padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-md);font-weight:500;font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast);border:1px solid var(--color-border);background:var(--glass-surface);color:var(--color-text-primary);text-decoration:none}.btn--secondary:hover{background:var(--glass-surface-hover);border-color:var(--color-accent-primary);color:var(--color-accent-primary)}.article-sidebar{display:flex;flex-direction:column;gap:var(--space-lg);position:sticky;top:calc(var(--header-height) + var(--space-lg));height:-moz-fit-content;height:fit-content}.share-widget{padding:var(--space-lg)}.share-widget__title{font-size:var(--text-sm);font-weight:var(--font-semibold);margin-bottom:var(--space-md);align-items:center;color:var(--color-text-secondary)}.share-widget__buttons,.share-widget__title{display:flex;gap:var(--space-xs)}.share-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:var(--color-bg-elevated);color:var(--color-text-secondary);border:none;cursor:pointer;transition:all var(--transition-fast);text-decoration:none}.share-btn:hover{transform:translateY(-2px)}.share-btn--twitter:hover{background:#1da1f2;color:white}.share-btn--linkedin:hover{background:#0a66c2;color:white}.share-btn--facebook:hover{background:#1877f2;color:white}.share-btn--copy:hover{background:var(--color-accent-primary);color:white}.toc-widget{padding:var(--space-lg);border-radius:var(--radius-lg);background:var(--glass-surface);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border)}.toc-widget__title{font-size:var(--text-sm);font-weight:var(--font-semibold);margin-bottom:var(--space-md);display:flex;align-items:center;gap:var(--space-xs);color:var(--color-text-secondary)}.toc-widget__list{list-style:none;padding:0;margin:0}.toc-item{margin-bottom:var(--space-xs)}.toc-item a{display:block;padding:var(--space-xs) 0;font-size:var(--text-sm);color:var(--color-text-secondary);text-decoration:none;transition:color var(--transition-fast)}.toc-item a:hover{color:var(--color-accent-primary)}.toc-item--nested{padding-left:var(--space-md)}.toc-item--nested a{font-size:var(--text-xs)}.tags-widget{padding:var(--space-lg);border-radius:var(--radius-lg);background:var(--glass-surface);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border)}.tags-widget__title{font-size:var(--text-sm);font-weight:var(--font-semibold);margin-bottom:var(--space-md);display:flex;align-items:center;gap:var(--space-xs);color:var(--color-text-secondary)}.article-content h1,.markdown-content h1{font-size:var(--text-2xl);color:var(--color-text-primary);margin-top:var(--space-2xl);margin-bottom:var(--space-lg);font-weight:700;line-height:1.3}html[data-theme=dark] .article-content blockquote,html[data-theme=dark] .markdown-content blockquote{background:rgba(0,0,0,.3);border-left-color:var(--color-accent-primary)}html[data-theme=dark] .article-content pre,html[data-theme=dark] .markdown-content pre{background:rgba(0,0,0,.4);border-color:var(--color-border)}html[data-theme=dark] .article-content code,html[data-theme=dark] .markdown-content code{background:rgba(0,0,0,.3)}html[data-theme=dark] .article-content pre code,html[data-theme=dark] .markdown-content pre code{background:none}html[data-theme=dark] .article-content th,html[data-theme=dark] .markdown-content th{background:rgba(0,0,0,.3)}html[data-theme=dark] .article-content td,html[data-theme=dark] .markdown-content td{background:rgba(0,0,0,.1)}html[data-theme=dark] .code-block{background:rgba(0,0,0,.4)}html[data-theme=dark] .code-block__header{background:rgba(0,0,0,.5)}