@import "variables.css";*{box-sizing:border-box}body{font-family:var(--font-family-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--text-primary);background-color:var(--bg-primary);margin:0;padding:0}.article-header{margin-bottom:var(--space-8);text-align:center;border-bottom:1px solid var(--border-light);padding-bottom:var(--space-6)}.article-header h1{margin:0 0 var(--space-4);font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--text-primary)}.article-meta{color:var(--text-muted);font-size:var(--text-sm);display:flex;justify-content:center;gap:var(--space-4);flex-wrap:wrap}.article-content{color:var(--text-secondary);line-height:var(--leading-relaxed)}.article-content h2,.article-content h3,.article-content h4{margin-top:var(--space-8);margin-bottom:var(--space-4);color:var(--text-primary);font-weight:var(--font-semibold)}.article-content h2{font-size:var(--text-2xl);border-bottom:1px solid var(--border-light);padding-bottom:var(--space-2)}.article-content h3{font-size:var(--text-xl)}.article-content h4{font-size:var(--text-lg)}.article-content p{margin-bottom:var(--space-4)}.article-content img{max-width:100%;height:auto;border-radius:var(--radius-md);margin:var(--space-6)0;border:1px solid var(--border-light)}.article-content pre{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:var(--space-4);margin:var(--space-6)0;overflow-x:auto;font-family:var(--font-family-mono);font-size:var(--text-sm)}.article-content code{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-sm);padding:var(--space-1)var(--space-2);font-family:var(--font-family-mono);font-size:var(--text-sm)}.article-content pre code{background:0 0;border:none;padding:0}.article-content blockquote{margin:var(--space-6)0;padding:var(--space-4)var(--space-6);background:var(--bg-secondary);border-left:4px solid var(--text-primary);border-radius:var(--radius-md);font-style:italic}.article-content table{width:100%;border-collapse:collapse;margin:var(--space-6)0;border:1px solid var(--border-light);border-radius:var(--radius-md);overflow:hidden}.article-content th,.article-content td{padding:var(--space-3);text-align:left;border-bottom:1px solid var(--border-light)}.article-content th{background:var(--bg-secondary);font-weight:var(--font-semibold)}.article-content ul,.article-content ol{margin:var(--space-4)0;padding-left:var(--space-6)}.article-content li{margin-bottom:var(--space-2)}.tag-list{list-style:none;padding:0;margin:var(--space-6)0}.tag-list li{margin-bottom:var(--space-2)}.tag-list a{color:var(--text-secondary);text-decoration:none;font-size:var(--text-base);padding:var(--space-2)0;display:inline-block;border-bottom:1px dotted var(--border-light);transition:color var(--transition-fast)}.tag-list a:hover{color:var(--text-primary);border-bottom-color:var(--text-primary)}.tag-count{color:var(--text-muted);font-size:var(--text-sm);margin-left:var(--space-2)}.article-tags{margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--border-light)}.article-tags a{display:inline-block;color:var(--text-secondary);text-decoration:none;font-size:var(--text-sm);margin-right:var(--space-3);margin-bottom:var(--space-2);padding:var(--space-1)0;border-bottom:1px dotted var(--border-light);transition:color var(--transition-fast)}.article-tags a:hover{color:var(--text-primary)}.pagination{display:flex;justify-content:center;gap:var(--space-2);margin:var(--space-8)0;list-style:none;padding:0}.pagination a,.pagination span{padding:var(--space-2)var(--space-3);color:var(--text-secondary);text-decoration:none;transition:color var(--transition-fast);font-size:var(--text-sm);min-width:32px;text-align:center}.pagination a:hover{color:var(--text-primary)}.pagination .active span{color:var(--text-primary);font-weight:var(--font-semibold)}.pagination .disabled span{color:var(--text-muted)}.breadcrumb{list-style:none;margin:var(--space-4)0;padding:0;display:flex;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-muted)}.breadcrumb-item+.breadcrumb-item::before{content:">";margin:0 var(--space-2)}.breadcrumb-item a{color:var(--text-secondary);text-decoration:none}.breadcrumb-item a:hover{color:var(--text-primary)}.bg-light{background-color:var(--bg-primary) !important}.navbar-light .navbar-brand,.navbar-light .navbar-nav .nav-link{color:var(--text-secondary)}.navbar-light .navbar-brand:hover,.navbar-light .navbar-nav .nav-link:hover,.navbar-light .navbar-nav .nav-link.active{color:var(--text-primary)}.navbar-toggler{border-color:var(--border-light)}.navbar-toggler-icon{background-image:none}.card{background-color:var(--bg-primary);border:1px solid var(--border-light)}.card-title a{color:var(--text-primary);text-decoration:none}.card-title a:hover{text-decoration:underline}.card-text{color:var(--text-secondary)}.card-meta{color:var(--text-muted);font-size:var(--text-sm)}.badge.badge-custom{color:var(--text-secondary);border:1px solid var(--border-light);background-color:transparent;font-weight:400}