/* 模板1 - 极简卡片风（蓝色主题） */
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", sans-serif; background: #f0f4f8; color: #333; }
a { text-decoration: none; color: #2196F3; }
a:hover { color: #1976D2; }
.wrapper { max-width: 1200px; margin: 0 auto; padding: 0 15px; }

/* Top Bar */
.topbar { background: #1565C0; color: rgba(255,255,255,0.85); font-size: 13px; padding: 6px 0; }
.topbar .wrapper { display: flex; justify-content: space-between; }

/* Header */
.header { background: linear-gradient(135deg, #1976D2, #42A5F5); padding: 15px 0; }
.header .wrapper { display: flex; align-items: center; gap: 30px; }
.logo { font-size: 28px; font-weight: 800; }
.logo a { color: #fff; text-shadow: 0 2px 4px rgba(0,0,0,0.2); }
.nav { display: flex; gap: 5px; flex: 1; }
.nav a { color: rgba(255,255,255,0.9); padding: 8px 16px; border-radius: 20px; font-size: 14px; transition: all 0.3s; }
.nav a:hover { background: rgba(255,255,255,0.2); color: #fff; }
.search-box { display: flex; }
.search-box input { padding: 8px 15px; border: none; border-radius: 20px 0 0 20px; outline: none; width: 200px; font-size: 13px; }
.search-box button { background: #0D47A1; color: #fff; border: none; padding: 8px 18px; border-radius: 0 20px 20px 0; cursor: pointer; font-size: 13px; }

/* Category Grid */
.category-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); gap: 15px; margin: 25px 0; }
.cat-item { background: #fff; border-radius: 12px; padding: 20px 10px; text-align: center; box-shadow: 0 2px 8px rgba(33,150,243,0.1); transition: all 0.3s; border: 1px solid #e8f0fe; }
.cat-item:hover { transform: translateY(-3px); box-shadow: 0 6px 20px rgba(33,150,243,0.2); }
.cat-icon { width: 48px; height: 48px; background: linear-gradient(135deg, #2196F3, #64B5F6); border-radius: 12px; margin: 0 auto 10px; color: #fff; line-height: 48px; font-size: 22px; font-weight: bold; }
.cat-item span { font-size: 13px; color: #555; }

/* Section Title */
.section-title { display: flex; justify-content: space-between; align-items: center; margin: 30px 0 20px; padding-bottom: 10px; border-bottom: 2px solid #2196F3; }
.section-title h2 { font-size: 20px; color: #1565C0; }
.section-title .more { color: #2196F3; font-size: 13px; }

/* Download Card Grid */
.download-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 20px; }
.down-card { background: #fff; border-radius: 12px; padding: 20px; box-shadow: 0 2px 12px rgba(0,0,0,0.06); transition: all 0.3s; border: 1px solid #eef2f7; }
.down-card:hover { transform: translateY(-4px); box-shadow: 0 8px 25px rgba(33,150,243,0.15); }
.card-icon { width: 64px; height: 64px; background: linear-gradient(135deg, #e3f2fd, #bbdefb); border-radius: 16px; display: flex; align-items: center; justify-content: center; margin-bottom: 12px; }
.card-icon img { max-width: 48px; max-height: 48px; border-radius: 8px; }
.down-card h3 { font-size: 16px; margin-bottom: 8px; }
.down-card h3 a { color: #333; }
.down-card h3 a:hover { color: #2196F3; }
.card-meta { display: flex; gap: 10px; margin-bottom: 8px; font-size: 12px; }
.card-meta .tag { background: #e3f2fd; color: #1565C0; padding: 2px 10px; border-radius: 10px; }
.card-meta .size { color: #999; }
.down-card p { color: #888; font-size: 13px; line-height: 1.6; margin-bottom: 12px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.card-footer { display: flex; justify-content: space-between; align-items: center; padding-top: 12px; border-top: 1px solid #f0f0f0; }
.card-footer .date { color: #aaa; font-size: 12px; }
.down-btn a { background: #2196F3; color: #fff; padding: 5px 16px; border-radius: 15px; font-size: 13px; transition: all 0.3s; }
.down-btn a:hover { background: #1565C0; color: #fff; }

/* Hot List */
.hot-list { background: #fff; border-radius: 12px; overflow: hidden; box-shadow: 0 2px 12px rgba(0,0,0,0.06); margin-bottom: 30px; }
.hot-item { display: flex; align-items: center; padding: 14px 20px; border-bottom: 1px solid #f5f5f5; transition: background 0.2s; }
.hot-item:last-child { border-bottom: none; }
.hot-item:hover { background: #f5faff; }
.hot-num { width: 28px; height: 28px; background: #e3f2fd; border-radius: 50%; text-align: center; line-height: 28px; font-size: 13px; color: #1565C0; font-weight: bold; margin-right: 15px; }
.hot-item a { flex: 1; color: #333; font-size: 14px; }
.hot-item:hover a { color: #2196F3; }
.hot-size { color: #aaa; font-size: 12px; }

/* List Page */
.breadcrumb { padding: 15px 0; font-size: 13px; color: #999; }
.breadcrumb a { color: #2196F3; }
.breadcrumb span { color: #666; }
.main-layout { display: flex; gap: 30px; margin-bottom: 30px; }
.content-area { flex: 1; }
.list-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; }
.list-header h1 { font-size: 22px; color: #1565C0; }
.list-header .count { color: #999; font-size: 13px; }
.list-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 20px; }
.pagination { text-align: center; margin: 30px 0; }
.pagination a, .pagination span { display: inline-block; padding: 8px 16px; margin: 0 3px; border-radius: 6px; font-size: 13px; }
.pagination a { background: #fff; color: #2196F3; border: 1px solid #e0e0e0; }
.pagination a:hover { background: #2196F3; color: #fff; border-color: #2196F3; }
.pagination span { background: #2196F3; color: #fff; }

/* Sidebar */
.sidebar { width: 300px; flex-shrink: 0; }
.widget { background: #fff; border-radius: 12px; padding: 20px; margin-bottom: 20px; box-shadow: 0 2px 12px rgba(0,0,0,0.06); }
.widget h3 { font-size: 16px; color: #1565C0; margin-bottom: 15px; padding-bottom: 10px; border-bottom: 2px solid #e3f2fd; }
.cat-list { list-style: none; }
.cat-list li { padding: 8px 0; border-bottom: 1px dashed #f0f0f0; }
.cat-list li:last-child { border-bottom: none; }
.cat-list a { color: #555; font-size: 14px; display: block; }
.cat-list a:hover { color: #2196F3; padding-left: 5px; }
.rec-item { padding: 8px 0; border-bottom: 1px dashed #f0f0f0; display: flex; justify-content: space-between; align-items: center; }
.rec-item:last-child { border-bottom: none; }
.rec-item a { color: #555; font-size: 13px; flex: 1; }
.rec-item a:hover { color: #2196F3; }
.rec-size { color: #bbb; font-size: 11px; }
.link-list a { display: inline-block; margin: 3px 8px 3px 0; color: #777; font-size: 12px; }
.link-list a:hover { color: #2196F3; }

/* Article Page */
.article-header { background: #fff; border-radius: 12px; padding: 30px; text-align: center; margin-bottom: 20px; box-shadow: 0 2px 12px rgba(0,0,0,0.06); }
.article-icon { width: 80px; height: 80px; margin: 0 auto 15px; background: linear-gradient(135deg, #e3f2fd, #bbdefb); border-radius: 20px; display: flex; align-items: center; justify-content: center; }
.article-icon img { max-width: 60px; max-height: 60px; }
.article-header h1 { font-size: 24px; color: #333; margin-bottom: 15px; }
.article-meta { display: flex; justify-content: center; gap: 20px; font-size: 13px; color: #999; margin-bottom: 20px; }
.download-btn-big { display: inline-block; background: linear-gradient(135deg, #2196F3, #1976D2); color: #fff; padding: 14px 50px; border-radius: 30px; font-size: 18px; font-weight: bold; transition: all 0.3s; }
.download-btn-big:hover { transform: scale(1.05); box-shadow: 0 6px 25px rgba(33,150,243,0.4); color: #fff; }
.article-body { background: #fff; border-radius: 12px; padding: 30px; box-shadow: 0 2px 12px rgba(0,0,0,0.06); }
.article-body h3 { color: #1565C0; font-size: 18px; margin: 20px 0 10px; }
.article-body p { line-height: 1.8; color: #555; margin-bottom: 10px; font-size: 14px; }
.feature-list { list-style: none; padding: 10px 0; }
.feature-list li { padding: 6px 0; color: #666; font-size: 14px; }

/* Footer */
.footer { background: #1565C0; color: rgba(255,255,255,0.7); padding: 25px 0; margin-top: 30px; text-align: center; font-size: 13px; }
.footer-links { margin-bottom: 10px; }
.footer-links a { color: rgba(255,255,255,0.6); margin: 0 10px; font-size: 12px; }
.footer-links a:hover { color: #fff; }

/* Responsive */
@media (max-width: 768px) {
    .header .wrapper { flex-wrap: wrap; }
    .nav { order: 3; width: 100%; justify-content: center; }
    .search-box { display: none; }
    .main-layout { flex-direction: column; }
    .sidebar { width: 100%; }
    .download-grid, .list-grid { grid-template-columns: 1fr; }
    .category-grid { grid-template-columns: repeat(4, 1fr); }
}
