/* ===== Discover — Light Theme ===== */
.nav-link.active { color: var(--text-primary); }
.nav-link.active::after { width: 100%; }

.page-header { padding: 40px 0 32px; }
.page-header-content { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; }
.page-title { font-size: 36px; font-weight: 800; letter-spacing: -1.5px; margin-bottom: 6px; }
.page-subtitle { font-size: 14px; color: var(--text-tertiary); }
.page-stats { display: flex; gap: 28px; }
.page-stat { text-align: right; }
.page-stat-value { display: block; font-size: 20px; font-weight: 700; font-family: var(--font-mono); }
.page-stat-label { font-size: 11px; color: var(--text-muted); }
.live-indicator { color: var(--accent-green); animation: pulse-dot 2s ease-in-out infinite; }

.discover-search { display: flex; align-items: center; gap: 12px; background: var(--bg-card); border: 1px solid var(--border-secondary); border-radius: var(--radius-md); padding: 10px 16px; margin-top: 20px; max-width: 520px; transition: all 0.3s; box-shadow: var(--shadow-sm); }
.discover-search:focus-within { border-color: var(--accent-blue); box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1); }
.discover-search svg { color: var(--text-muted); flex-shrink: 0; }
.discover-search-input { flex: 1; background: transparent; border: none; outline: none; font-family: var(--font-sans); font-size: 14px; color: var(--text-primary); }
.discover-search-input::placeholder { color: var(--text-muted); }

.filters-section { padding: 16px 0; background: var(--bg-primary); border-bottom: 1px solid var(--border-primary); position: sticky; top: var(--nav-height); z-index: 50; }
.filters-bar { display: flex; gap: 32px; align-items: flex-start; overflow-x: auto; }
.filter-group { flex-shrink: 0; }
.filter-label { display: block; font-size: 10px; font-family: var(--font-mono); text-transform: uppercase; letter-spacing: 1.5px; color: var(--text-muted); margin-bottom: 6px; }
.filter-tabs { display: flex; gap: 2px; background: var(--bg-secondary); border-radius: var(--radius-sm); padding: 2px; }
.filter-tab { font-family: var(--font-sans); font-size: 12px; font-weight: 500; color: var(--text-tertiary); background: transparent; border: none; padding: 6px 14px; border-radius: 6px; cursor: pointer; transition: all 0.2s; white-space: nowrap; }
.filter-tab:hover { color: var(--text-secondary); }
.filter-tab.active { color: var(--text-primary); background: var(--bg-card); box-shadow: var(--shadow-sm); }
.filter-pills { display: flex; gap: 6px; flex-wrap: wrap; }
.filter-pill { font-family: var(--font-sans); font-size: 12px; font-weight: 500; color: var(--text-tertiary); background: var(--bg-card); border: 1px solid var(--border-primary); padding: 5px 12px; border-radius: 100px; cursor: pointer; transition: all 0.2s; white-space: nowrap; }
.filter-pill:hover { color: var(--text-secondary); border-color: var(--border-secondary); }
.filter-pill.active { color: var(--accent-blue); background: rgba(37, 99, 235, 0.06); border-color: rgba(37, 99, 235, 0.2); }

.leaderboard-section { padding: 0 0 60px; }
.leaderboard-full { background: var(--bg-card); border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--border-primary); box-shadow: var(--shadow-sm); }
.lb-table-header { display: grid; grid-template-columns: 50px 44px 1fr 90px 100px 120px 110px 100px 70px; padding: 12px 24px; background: var(--bg-secondary); border-bottom: 1px solid var(--border-primary); }
.lb-th { font-family: var(--font-mono); font-size: 10px; text-transform: uppercase; letter-spacing: 1.5px; color: var(--text-muted); display: flex; align-items: center; gap: 4px; }
.lb-th.sortable { cursor: pointer; }
.lb-th.sortable:hover { color: var(--text-secondary); }
.lb-th.active-sort { color: var(--accent-blue); }
.lb-th.sortable svg { opacity: 0.3; }
.lb-th.active-sort svg { opacity: 1; }

.lb-table-row { display: grid; grid-template-columns: 50px 44px 1fr 90px 100px 120px 110px 100px 70px; padding: 14px 24px; border-bottom: 1px solid var(--border-primary); transition: background 0.15s; cursor: pointer; }
.lb-table-row:last-child { border-bottom: none; }
.lb-table-row:hover { background: var(--bg-secondary); }
.lb-table-row.featured-gold { background: #fffbeb; }
.lb-table-row.featured-gold:hover { background: #fef3c7; }
.lb-table-row.featured-silver { background: #f9fafb; }
.lb-table-row.featured-bronze { background: #fff7ed; }
.lb-td { display: flex; align-items: center; font-size: 13px; color: var(--text-secondary); }

.rank-num { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 8px; font-size: 12px; font-weight: 700; font-family: var(--font-mono); background: var(--bg-secondary); color: var(--text-tertiary); }
.rank-num.rank-1 { background: #fef3c7; color: #92400e; }
.rank-num.rank-2 { background: #f3f4f6; color: #374151; }
.rank-num.rank-3 { background: #fed7aa; color: #9a3412; }

.lb-td-change { font-family: var(--font-mono); font-size: 11px; font-weight: 600; }
.change-up { color: var(--accent-green); }
.change-down { color: var(--accent-red); }
.change-none { color: var(--text-muted); }

.project-info { display: flex; align-items: center; gap: 12px; }
.project-avatar { width: 36px; height: 36px; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 700; color: white; flex-shrink: 0; }
.project-name-link { font-weight: 600; color: var(--text-primary); font-size: 14px; display: flex; align-items: center; gap: 6px; }
.lang-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; }
.project-meta { font-size: 11px; color: var(--text-muted); font-family: var(--font-mono); margin-top: 1px; }

.category-tag { font-size: 10px; font-weight: 600; padding: 3px 8px; border-radius: 4px; text-transform: uppercase; letter-spacing: 0.5px; font-family: var(--font-mono); }
.category-tag.agent { background: #ede9fe; color: #5b21b6; }
.category-tag.research { background: #d1fae5; color: #065f46; }
.category-tag.cli { background: #dbeafe; color: #1e40af; }
.category-tag.infra { background: #cffafe; color: #155e75; }
.category-tag.finance { background: #fef3c7; color: #92400e; }
.category-tag.coding { background: #fee2e2; color: #991b1b; }
.category-tag.llm { background: #f3e8ff; color: #6b21a8; }
.category-tag.multimodal { background: #fce7f3; color: #9d174d; }

.star-count { font-family: var(--font-mono); font-size: 13px; font-weight: 500; }
.growth-badge { font-family: var(--font-mono); font-size: 12px; font-weight: 600; padding: 2px 8px; border-radius: 4px; }
.growth-badge.up { color: #065f46; background: #d1fae5; }

.lb-td-activity { font-family: var(--font-mono); font-size: 11px; color: var(--text-muted); }

.deep-score { font-family: var(--font-mono); font-size: 14px; font-weight: 700; padding: 4px 10px; border-radius: 6px; }
.deep-score.high { color: #166534; background: #dcfce7; }
.deep-score.medium { color: #854d0e; background: #fef9c3; }
.deep-score.low { color: #1e40af; background: #dbeafe; }

.action-btn { background: none; border: none; cursor: pointer; font-size: 14px; padding: 4px; opacity: 0.4; transition: opacity 0.2s; }
.action-btn:hover { opacity: 1; }
.lb-td-actions { display: flex; gap: 4px; }

.pagination { display: flex; justify-content: center; align-items: center; gap: 8px; margin-top: 32px; }
.page-btn { font-size: 13px; font-weight: 500; color: var(--text-tertiary); background: var(--bg-card); border: 1px solid var(--border-primary); padding: 8px 16px; border-radius: var(--radius-sm); cursor: pointer; transition: all 0.2s; }
.page-btn:hover:not(.disabled) { color: var(--text-primary); border-color: var(--border-secondary); }
.page-btn.disabled { opacity: 0.3; cursor: not-allowed; }
.page-numbers { display: flex; gap: 4px; }
.page-num { width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; font-family: var(--font-mono); font-size: 13px; color: var(--text-muted); background: transparent; border: none; border-radius: var(--radius-sm); cursor: pointer; }
.page-num:hover { background: var(--bg-secondary); }
.page-num.active { color: var(--accent-blue); background: rgba(37, 99, 235, 0.06); }

.rising-section { background: var(--bg-card); border-radius: var(--radius-lg); padding: 28px; border: 1px solid var(--border-primary); box-shadow: var(--shadow-sm); }
.rising-header { margin-bottom: 16px; }
.rising-title { font-size: 18px; font-weight: 700; margin-bottom: 4px; }
.rising-subtitle { font-size: 13px; color: var(--text-muted); }
.rising-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.rising-card { display: flex; align-items: center; gap: 12px; padding: 14px; background: var(--bg-secondary); border-radius: var(--radius-md); transition: all 0.2s; cursor: pointer; }
.rising-card:hover { background: var(--bg-tertiary); }
.rising-rank { font-size: 16px; flex-shrink: 0; }
.rising-info { flex: 1; min-width: 0; }
.rising-name { display: block; font-weight: 600; font-size: 14px; }
.rising-desc { display: block; font-size: 11px; color: var(--text-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rising-stats { text-align: right; flex-shrink: 0; }
.rising-stars { display: block; font-family: var(--font-mono); font-size: 12px; color: var(--text-secondary); }
.rising-growth { font-family: var(--font-mono); font-size: 11px; font-weight: 600; }
.rising-growth.up { color: var(--accent-green); }

@media (max-width: 1024px) {
    .lb-table-header, .lb-table-row { grid-template-columns: 40px 36px 1fr 80px 90px 90px; }
    .lb-th-activity, .lb-td-activity, .lb-th-actions, .lb-td-actions, .lb-th-category, .lb-td-category { display: none; }
    .rising-grid { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
    .page-header-content { flex-direction: column; align-items: flex-start; }
    .page-stats { gap: 20px; }
    .page-stat { text-align: left; }
    .filters-bar { flex-direction: column; gap: 12px; }
    .lb-table-header, .lb-table-row { grid-template-columns: 36px 1fr 80px 80px; }
    .lb-th-change, .lb-td-change, .lb-th-growth, .lb-td-growth { display: none; }
}
