/* ============================================
   Blender 资源库 - 全局样式表
   ============================================ */

/* ---- 基础重置 ---- */
* { margin:0; padding:0; box-sizing: border-box; }
body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; background: #0a0e17; color: #e0e0e0; }
a { color: #4fc3f7; text-decoration: none; }
a:hover { color: #81d4fa; }

/* ---- 布局 ---- */
.container { max-width: 1100px; margin:0 auto; padding:0 20px; }
.section { padding:60px 0; }
.section-title { font-size:1.6rem; margin-bottom:30px; color:#e0e0e0; text-align:center; }

/* ---- 头部导航 ---- */
.header { background: linear-gradient(135deg, #1565c0, #2196f3); padding: 15px 0; box-shadow: 0 2px 10px rgba(0,0,0,.3); }
.header .container { display: flex; justify-content: space-between; align-items: center; }
.logo { font-size: 1.4rem; font-weight: 700; color:#fff; }
.logo span { color:#00e5ff; }
.nav { display: flex; gap: 20px; align-items: center; }
.nav a { color: #fff; opacity:.85; font-size:.9rem; }
.nav a:hover { opacity:1; }
.user-info { color:#fff; font-size:.85rem; }

/* ---- 页脚 ---- */
.footer { text-align:center; padding:30px; color:#555; font-size:.85rem; border-top:1px solid #222; }

/* ---- Hero 区 ---- */
.hero { text-align:center; padding:80px 20px; background: linear-gradient(180deg, #0a0e17 0%, #1a237e 100%); }
.hero h1 { font-size: 2.8rem; margin-bottom:15px; background: linear-gradient(90deg, #4fc3f7, #00e5ff); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.hero p { font-size:1.1rem; color:#90caf9; margin-bottom:30px; max-width:600px; margin-left:auto; margin-right:auto; }

/* ---- 按钮 ---- */
.cta-btn { display:inline-block; padding:14px 36px; background:linear-gradient(135deg,#2196f3,#1565c0); color:#fff; border-radius:50px; font-size:1rem; font-weight:600; transition:.3s; }
.cta-btn:hover { transform:translateY(-2px); box-shadow:0 6px 20px rgba(33,150,243,.4); }

/* ---- 会员方案卡片 ---- */
.plans { display:grid; grid-template-columns: repeat(4,1fr); gap:20px; max-width:1100px; margin:0 auto; }
.plan-card { background:#1a1a2e; border-radius:16px; padding:25px 20px; text-align:center; border:2px solid #2a2a4a; transition:.3s; position:relative; display:flex; flex-direction:column; }
.plan-card.free { border-color:#555; }
.plan-card .plan-body { flex:1; }
.plan-card .plan-footer { margin-top:auto; }
.plan-card.popular { border-color:#2196f3; }
.plan-card.popular::before { content:'推荐'; position:absolute; top:-12px; left:50%; transform:translateX(-50%); background:#2196f3; color:#fff; padding:4px 16px; border-radius:20px; font-size:.75rem; }
.plan-name { font-size:1rem; color:#90caf9; margin-bottom:6px; }
.plan-price { font-size:2rem; font-weight:700; color:#4fc3f7; margin-bottom:3px; }
.plan-price small { font-size:.85rem; font-weight:400; color:#aaa; }
.plan-daily { font-size:.85rem; color:#aaa; margin-bottom:15px; }
.plan-desc { font-size:.8rem; color:#888; margin-bottom:15px; }
.plan-features { list-style:none; margin-bottom:20px; text-align:left; }
.plan-features li { padding:5px 0; font-size:.85rem; color:#bbb; }
.plan-features li::before { content:'✓ '; color:#4caf50; margin-right:6px; }
.plan-btn { display:inline-block; padding:9px 24px; background:#2196f3; color:#fff; border-radius:8px; font-size:.85rem; transition:.3s; }
.plan-btn:hover { background:#1565c0; }
.plan-btn.free-btn { background:#555; }
.plan-btn.free-btn:hover { background:#777; }

/* ---- 资源卡片 ---- */
.assets-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(300px,1fr)); gap:25px; }
.asset-card { background:#1a1a2e; border-radius:12px; overflow:hidden; border:1px solid #2a2a4a; transition:.3s; display:flex; flex-direction:column; }
.asset-card:hover { transform:translateY(-4px); box-shadow:0 8px 24px rgba(33,150,243,.2); }
.asset-preview { height:180px; background:#0d1117; display:flex; align-items:center; justify-content:center; font-size:2.5rem; overflow:hidden; }
.asset-preview img { width:100%; height:100%; object-fit:cover; }
.asset-body { padding:18px; flex:1; display:flex; flex-direction:column; }
.asset-title { font-size:1rem; font-weight:600; margin-bottom:8px; color:#e0e0e0; }
.asset-title a { color:#e0e0e0; }
.asset-desc { font-size:.8rem; color:#888; margin-bottom:10px; line-height:1.5; flex:1; }
.asset-meta { font-size:.8rem; color:#888; display:flex; gap:12px; flex-wrap:wrap; }
.asset-meta span { margin-right:10px; }
.asset-btn { display:inline-block; padding:7px 18px; background:#2196f3; color:#fff; border-radius:6px; font-size:.8rem; margin-top:auto; text-align:center; }
.asset-plan { display:inline-block; padding:3px 10px; border-radius:20px; font-size:.75rem; background:#333; color:#aaa; }
.asset-plan.free { background:#1a237e; color:#90caf9; }
.asset-plan.basic { background:#1565c0; color:#fff; }
.asset-plan.standard { background:#1b5e20; color:#a5d6a7; }
.asset-plan.lifetime { background:#311b92; color:#b388ff; }

/* ---- 筛选栏 ---- */
.filter-bar { display:flex; gap:15px; margin-bottom:25px; flex-wrap:wrap; align-items:center; }
.search-box { flex:1; min-width:200px; }
.search-box input { width:100%; padding:10px 16px; border-radius:8px; border:1px solid #333; background:#0d1117; color:#e0e0e0; font-size:.9rem; }
.search-box input:focus { outline:none; border-color:#2196f3; }
.cat-filters { display:flex; gap:8px; flex-wrap:wrap; }
.cat-filter { padding:6px 14px; border-radius:20px; font-size:.8rem; border:1px solid #333; background:#1a1a2e; color:#aaa; cursor:pointer; transition:.3s; }
.cat-filter:hover { border-color:#2196f3; color:#4fc3f7; }
.cat-filter.active { background:#2196f3; color:#fff; border-color:#2196f3; }
.result-info { color:#888; font-size:.85rem; margin-bottom:15px; }

/* ---- 分页 ---- */
.pagination { display:flex; justify-content:center; gap:8px; margin-top:30px; }
.pagination a, .pagination span { display:inline-block; padding:6px 12px; border-radius:6px; font-size:.85rem; }
.pagination a { background:#1a1a2e; color:#4fc3f7; border:1px solid #2a2a4a; }
.pagination a:hover { background:#2196f3; color:#fff; }
.pagination .current { background:#2196f3; color:#fff; }
.empty-msg { text-align:center; color:#666; padding:40px; font-size:1rem; }

/* ---- 搜索订阅 ---- */
.subscribe-section { text-align:center; padding:40px 20px; background:#1a1a2e; border-radius:16px; max-width:600px; margin:0 auto; }
.subscribe-section h3 { margin-bottom:15px; color:#e0e0e0; }
.subscribe-section input { padding:10px 16px; border-radius:8px; border:1px solid #333; background:#0d1117; color:#e0e0e0; width:280px; margin-right:8px; }
.subscribe-section button { padding:10px 24px; background:#2196f3; color:#fff; border:none; border-radius:8px; cursor:pointer; }

/* ---- 分类入口 ---- */
.categories { display:grid; grid-template-columns:repeat(auto-fill, minmax(140px,1fr)); gap:15px; margin-top:20px; }
.category-item { background:#1a1a2e; border-radius:12px; padding:20px 12px; text-align:center; border:1px solid #2a2a4a; transition:.3s; }
.category-item:hover { transform:translateY(-3px); border-color:#2196f3; box-shadow:0 4px 12px rgba(33,150,243,.2); }
.category-item .icon { font-size:2rem; margin-bottom:8px; }
.category-item .name { font-size:.85rem; color:#ccc; }
.category-item .count { font-size:.75rem; color:#666; margin-top:3px; }

/* ---- 面包屑 ---- */
.breadcrumb { font-size:.85rem; color:#888; margin-bottom:20px; }
.breadcrumb a { color:#4fc3f7; }

/* ---- 资源头部（详情页） ---- */
.asset-head { background: linear-gradient(135deg, #0d1117, #1a237e); padding: 40px 0; margin-bottom: 30px; }
.asset-head h1 { font-size: 1.8rem; color:#fff; margin-bottom: 10px; }
.asset-head h1 span { font-size:.75rem; vertical-align: middle; }
.asset-meta-bar { display:flex; gap: 15px; flex-wrap: wrap; margin-bottom: 15px; }
.meta-item { background:#1a1a2e; padding: 6px 14px; border-radius: 20px; font-size:.85rem; color:#90caf9; }
.meta-item strong { color:#e0e0e0; }

/* ---- 预览图 ---- */
.preview-section { margin-bottom: 30px; }
.preview-main { width:100%; height: 400px; background:#0d1117; border-radius: 12px; display:flex; align-items:center; justify-content:center; font-size: 4rem; margin-bottom: 10px; overflow:hidden; }
.preview-main img { max-width:100%; max-height:100%; object-fit: contain; }
.preview-thumbs { display:flex; gap:8px; overflow-x: auto; }
.preview-thumbs img { width: 80px; height: 60px; object-fit: cover; border-radius: 6px; border: 2px solid transparent; cursor: pointer; transition:.3s; }
.preview-thumbs img.active { border-color: #2196f3; }

/* ---- 详情布局 ---- */
.detail-grid { display: grid; grid-template-columns: 1fr 300px; gap: 30px; }
.card { background:#1a1a2e; border-radius: 12px; padding: 20px; margin-bottom: 20px; border: 1px solid #2a2a4a; }
.card-title { font-size: 1rem; color:#4fc3f7; margin-bottom: 15px; }
.info-row { display:flex; justify-content: space-between; padding: 8px 0; border-bottom: 1px solid #2a2a4a; font-size:.85rem; }
.info-row:last-child { border-bottom: none; }
.info-label { color:#888; }
.info-value { color:#e0e0e0; }

/* ---- 标签 ---- */
.tags { display:flex; gap:8px; flex-wrap: wrap; margin-top: 15px; }
.tag { background:#151530; padding: 4px 12px; border-radius: 20px; font-size:.75rem; color:#aaa; }

/* ---- 相关资源 ---- */
.related-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; margin-top: 15px; }
.related-card { background:#151530; border-radius: 8px; padding: 12px; text-align: center; }
.related-card:hover { background:#1a1a4a; }
.related-icon { font-size: 1.5rem; margin-bottom: 6px; }
.related-title { font-size:.8rem; color:#ccc; }

/* ---- 警告框 ---- */
.alert { background:#1a1a2e; border-left: 4px solid #f44336; padding: 15px 20px; border-radius: 0 8px 8px 0; margin-bottom: 20px; color:#ffcdd2; font-size:.9rem; }

/* ---- 后台统计 ---- */
.stats { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin:30px 0; }
.stat-card { background:#1a1a2e; border-radius:12px; padding:25px; text-align:center; border:1px solid #2a2a4a; }
.stat-num { font-size:2.2rem; font-weight:700; color:#4fc3f7; margin-bottom:5px; }
.stat-label { font-size:.85rem; color:#888; }

/* ---- 后台表单 ---- */
.form-row { display:grid; grid-template-columns:1fr 1fr 1fr; gap:15px; margin-bottom:15px; }
.form-row input, .form-row select, .form-row textarea { width:100%; padding:10px 14px; border-radius:8px; border:1px solid #333; background:#0d1117; color:#e0e0e0; font-size:.9rem; }
.form-row textarea { grid-column:1/-1; min-height:80px; resize:vertical; }
.btn { padding:10px 24px; border-radius:8px; border:none; font-size:.9rem; cursor:pointer; transition:.3s; }
.btn-primary { background:linear-gradient(135deg,#2196f3,#1565c0); color:#fff; }
.btn-primary:hover { box-shadow:0 4px 12px rgba(33,150,243,.3); }
#msg { margin-top:12px; font-size:.85rem; padding:10px; border-radius:8px; display:none; }
#msg.ok { display:block; background:#1b5e20; color:#a5d6a7; }
#msg.err { display:block; background:#b71c1c; color:#ffcdd2; }

/* ---- 后台表格 ---- */
.assets-table { width:100%; border-collapse:collapse; margin-top:15px; }
.assets-table th { text-align:left; padding:10px 12px; background:#0d1117; color:#90caf9; font-size:.85rem; border-bottom:2px solid #2a2a4a; }
.assets-table td { padding:10px 12px; font-size:.85rem; color:#bbb; border-bottom:1px solid #222; }
.assets-table tr:hover td { background:#16162a; }
.badge { padding:3px 10px; border-radius:20px; font-size:.75rem; }
.badge.free { background:#1a237e; color:#90caf9; }
.badge.basic { background:#1b5e20; color:#a5d6a7; }
.badge.standard { background:#311b92; color:#b388ff; }
.badge.lifetime { background:#ff6f00; color:#fff; }

/* ---- 登录/注册表单 ---- */
.auth-form { max-width:400px; margin:50px auto; background:#1a1a2e; border-radius:12px; padding:30px; border:1px solid #2a2a4a; }
.auth-form h2 { color:#e0e0e0; margin-bottom:20px; text-align:center; }
.auth-form label { display:block; color:#888; font-size:.85rem; margin-bottom:6px; }
.auth-form input { width:100%; padding:10px 14px; border-radius:8px; border:1px solid #333; background:#0d1117; color:#e0e0e0; font-size:.9rem; margin-bottom:15px; }
.auth-form input:focus { outline:none; border-color:#2196f3; }
.auth-form .btn { width:100%; margin-top:10px; }

/* ---- 我的页面 ---- */
.my-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.download-log { list-style:none; }
.download-log li { padding:8px 12px; border-bottom:1px solid #222; font-size:.85rem; color:#aaa; display:flex; justify-content:space-between; }
.download-log li:last-child { border-bottom:none; }
.plan-badge { padding:4px 14px; border-radius:20px; font-size:.75rem; }
.plan-badge.free { background:#555; color:#ccc; }
.plan-badge.basic { background:#1565c0; color:#fff; }
.plan-badge.standard { background:#1b5e20; color:#a5d6a7; }
.plan-badge.lifetime { background:#311b92; color:#b388ff; }
.daily-counter { color:#4fc3f7; font-weight:700; font-size:1.2rem; }

/* ---- 关于页面 ---- */
.stats-row { display:flex; justify-content:center; gap:40px; margin:30px 0; }
.stat-item { text-align:center; }
.license-card { background:#1a1a2e; border-radius:12px; padding:25px; border:1px solid #2a2a4a; margin-top:20px; }
.license-card h3 { color:#4fc3f7; margin-bottom:15px; }
.license-card p { color:#bbb; line-height:1.8; font-size:.9rem; }
.license-card ul { list-style:none; margin-top:10px; }
.license-card li { padding:6px 0; color:#888; font-size:.85rem; padding-left:20px; position:relative; }
.license-card li::before { content:'✓'; position:absolute; left:0; color:#4caf50; }

/* ---- 付款页面 ---- */
.pay-card { max-width:500px; margin:50px auto; background:#1a1a2e; border-radius:12px; padding:30px; border:1px solid #2a2a4a; text-align:center; }
.pay-card h2 { color:#e0e0e0; margin-bottom:20px; }

/* ---- 响应式 ---- */
@media(max-width:900px){
  .plans{grid-template-columns:1fr 1fr;}
  .detail-grid{grid-template-columns:1fr;}
  .related-grid{grid-template-columns:1fr 1fr;}
  .my-grid{grid-template-columns:1fr;}
  .stats{grid-template-columns:1fr;}
}
@media(max-width:768px){
  .hero h1{font-size:2rem;}
  .plans{grid-template-columns:1fr;}
  .preview-main{height:250px;}
  .filter-bar{flex-direction:column;}
  .search-box{min-width:100%;}
  .form-row{grid-template-columns:1fr;}
  .stats-row{flex-direction:column;gap:20px;}
  .nav{flex-wrap:wrap;gap:10px;}
}

/* ---- 登录/注册页面 ---- */
.auth-page { display:flex; justify-content:center; align-items:center; min-height:calc(100vh - 140px); padding:40px 20px; background: radial-gradient(ellipse at top, #0d1b2a 0%, #0a0e17 100%); }
.auth-card { width:400px; max-width:100%; background:#1a1a2e; border-radius:20px; padding:40px 35px; border:1px solid #2a2a4a; box-shadow:0 20px 60px rgba(0,0,0,.5); text-align:center; }
.auth-logo { font-size:1.6rem; font-weight:700; color:#fff; margin-bottom:5px; }
.auth-logo span { color:#00e5ff; }
.auth-title { font-size:1.3rem; color:#e0e0e0; margin-bottom:6px; }
.auth-subtitle { color:#888; font-size:.85rem; margin-bottom:25px; }
.auth-error { background:#2d0a0a; border:1px solid #5c1010; color:#ff8a80; padding:12px 16px; border-radius:10px; font-size:.85rem; margin-bottom:20px; text-align:left; }
.auth-form { text-align:left; }
.auth-field { margin-bottom:18px; }
.auth-field label { display:block; color:#90caf9; font-size:.8rem; margin-bottom:6px; font-weight:500; }
.auth-field input { width:100%; padding:12px 16px; border-radius:10px; border:1px solid #333; background:#0d1117; color:#e0e0e0; font-size:.9rem; transition:.3s; }
.auth-field input:focus { outline:none; border-color:#2196f3; box-shadow:0 0 0 3px rgba(33,150,243,.15); }
.auth-field input::placeholder { color:#555; }
.auth-btn { width:100%; padding:12px; border-radius:10px; background:linear-gradient(135deg,#2196f3,#1565c0); color:#fff; font-size:1rem; font-weight:600; border:none; cursor:pointer; transition:.3s; margin-top:8px; }
.auth-btn:hover { transform:translateY(-2px); box-shadow:0 6px 20px rgba(33,150,243,.35); }
.auth-footer { margin-top:20px; font-size:.85rem; color:#888; }
.auth-footer a { color:#4fc3f7; }

@media(max-width:480px){
  .auth-card { padding:30px 20px; }
}
