.nav-link {
    padding: 0.25rem 0.5rem;
    border-radius: 0.375rem;
    color: #4b5563;
    transition: all 0.15s ease;
}
.dark .nav-link { color: #d1d5db; }
.nav-link:hover { color: #4f46e5; background: #f3f4f6; }
.dark .nav-link:hover { color: #818cf8; background: #1f2937; }
.nav-link.active { color: #4f46e5; font-weight: 500; }
.dark .nav-link.active { color: #818cf8; }

.tab-btn {
    padding: 0.3rem 0.65rem;
    font-size: 0.8rem;
    border-radius: 9999px;
    border: 1px solid #e5e7eb;
    color: #4b5563;
    white-space: nowrap;
    cursor: pointer;
    transition: all 0.15s ease;
    background: transparent;
}
@media (min-width: 640px) {
    .tab-btn { padding: 0.375rem 0.75rem; font-size: 0.875rem; }
}
.dark .tab-btn { border-color: #374151; color: #d1d5db; }
.tab-btn:hover { border-color: #a5b4fc; color: #4f46e5; }
.dark .tab-btn:hover { border-color: #4f46e5; color: #818cf8; }
.tab-btn.active { background: #4f46e5; color: #fff; border-color: #4f46e5; }
.dark .tab-btn.active { background: #6366f1; border-color: #6366f1; }

.article-card {
    background: #fff;
    border-radius: 0.75rem;
    border: 1px solid #f3f4f6;
    padding: 1rem;
    transition: all 0.2s ease;
}
@media (min-width: 640px) {
    .article-card { padding: 1.25rem; }
}
.dark .article-card { background: #16213e; border-color: #1f2937; }
.article-card:hover { box-shadow: 0 4px 6px -1px rgba(0,0,0,0.07); border-color: #e5e7eb; }
.dark .article-card:hover { border-color: #374151; }

.score-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    padding: 0.1rem 0.4rem;
    font-size: 0.7rem;
    font-weight: 500;
    border-radius: 9999px;
}
.score-high { background: #dcfce7; color: #15803d; }
.dark .score-high { background: rgba(34,197,94,0.15); color: #4ade80; }
.score-mid { background: #fef9c3; color: #a16207; }
.dark .score-mid { background: rgba(234,179,8,0.15); color: #facc15; }
.score-low { background: #f3f4f6; color: #4b5563; }
.dark .score-low { background: #1f2937; color: #9ca3af; }

.tag-pill {
    display: inline-block;
    padding: 0.1rem 0.4rem;
    font-size: 0.7rem;
    border-radius: 9999px;
    font-weight: 500;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(6px); }
    to { opacity: 1; transform: translateY(0); }
}
.fade-in { animation: fadeIn 0.25s ease-out forwards; }
