* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: 'Microsoft YaHei', Arial, sans-serif; line-height: 1.6; color: #333; background: #f5f5f5; }
.container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
header { background: #fff; box-shadow: 0 2px 4px rgba(0,0,0,0.1); position: sticky; top: 0; z-index: 100; }
.header-content { display: flex; justify-content: space-between; align-items: center; padding: 15px 0; }
.logo { font-size: 24px; font-weight: bold; color: #d32f2f; text-decoration: none; }
nav ul { display: flex; list-style: none; gap: 25px; }
nav a { text-decoration: none; color: #555; transition: color 0.3s; }
nav a:hover { color: #d32f2f; }
.hero { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: #fff; padding: 60px 20px; text-align: center; }
.hero h1 { font-size: 36px; margin-bottom: 20px; }
.hero p { font-size: 18px; max-width: 800px; margin: 0 auto; opacity: 0.95; }
.section { padding: 40px 20px; background: #fff; margin: 20px 0; border-radius: 8px; }
.section h2 { font-size: 28px; margin-bottom: 25px; color: #333; border-left: 4px solid #d32f2f; padding-left: 15px; }
.video-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 25px; }
.video-card { background: #fff; border: 1px solid #e0e0e0; border-radius: 8px; padding: 20px; transition: transform 0.3s, box-shadow 0.3s; }
.video-card:hover { transform: translateY(-5px); box-shadow: 0 8px 16px rgba(0,0,0,0.1); }
.video-card h3 { font-size: 18px; margin-bottom: 10px; color: #333; }
.video-card .meta { font-size: 14px; color: #666; margin: 5px 0; }
.video-card .desc { font-size: 14px; color: #777; margin-top: 10px; line-height: 1.5; }
.video-card a { display: inline-block; margin-top: 15px; padding: 8px 20px; background: #d32f2f; color: #fff; text-decoration: none; border-radius: 4px; }
.video-card a:hover { background: #b71c1c; }
.detail-header { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: #fff; padding: 50px 20px; }
.detail-title { font-size: 40px; margin-bottom: 15px; }
.detail-meta { font-size: 16px; opacity: 0.9; }
.detail-content { max-width: 900px; margin: 40px auto; padding: 0 20px; }
.info-section { background: #fff; padding: 30px; border-radius: 8px; margin-bottom: 30px; box-shadow: 0 2px 8px rgba(0,0,0,0.05); }
.info-section h2 { font-size: 24px; margin-bottom: 20px; color: #333; border-bottom: 2px solid #d32f2f; padding-bottom: 10px; }
.info-grid { display: grid; grid-template-columns: 120px 1fr; gap: 15px; margin-bottom: 20px; }
.info-label { font-weight: bold; color: #555; }
.info-value { color: #333; }
.tags { display: flex; flex-wrap: wrap; gap: 10px; }
.tag { display: inline-block; padding: 5px 15px; background: #f0f0f0; border-radius: 20px; font-size: 14px; color: #666; }
.summary-text { font-size: 16px; line-height: 1.8; color: #555; text-align: justify; }
footer { background: #333; color: #fff; text-align: center; padding: 30px 20px; margin-top: 40px; }
.list-intro { font-size: 16px; color: #555; line-height: 1.8; margin-bottom: 30px; background: #f9f9f9; padding: 20px; border-radius: 8px; }

@media (max-width: 768px) {
  nav ul { gap: 0; justify-content: space-between; width: 100%; }
  nav li { flex: 1 1 0; min-width: 0; text-align: center; }
  nav a { font-size: 14px; padding: 5px 3px; display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .hero h1 { font-size: 28px; }
  .hero p { font-size: 16px; }
  .video-grid { grid-template-columns: 1fr; }
  .detail-title { font-size: 30px; }
  .info-grid { grid-template-columns: 1fr; gap: 5px; }
  .info-label { font-weight: bold; margin-top: 10px; }
}