.container { max-width: 1200px; margin: 0 auto; padding: 20px; }
.page-title { font-size: 32px; font-weight: bold; margin-bottom: 20px; color: #2c3e50; }
.site-intro, .page-desc { font-size: 16px; line-height: 1.8; margin-bottom: 15px; color: #555; }
.section { padding: 40px 0; }
.section.alt { background: #fff; }
.section-title { font-size: 28px; font-weight: bold; margin-bottom: 20px; color: #34495e; border-left: 4px solid #e74c3c; padding-left: 12px; }
.video-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 20px; }
.video-card { background: #fff; padding: 20px; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.1); transition: transform 0.3s, box-shadow 0.3s; }
.video-card:hover { transform: translateY(-4px); box-shadow: 0 4px 16px rgba(0,0,0,0.15); }
.video-title { font-size: 18px; font-weight: bold; margin-bottom: 10px; color: #2c3e50; }
.video-title a { color: inherit; }
.video-title a:hover { color: #e74c3c; }
.video-meta { font-size: 14px; color: #7f8c8d; margin-bottom: 8px; }
.video-desc { font-size: 14px; color: #555; line-height: 1.6; }
.video-list { display: flex; flex-direction: column; gap: 16px; }
.video-item { background: #fff; padding: 16px; border-radius: 8px; box-shadow: 0 2px 4px rgba(0,0,0,0.08); display: flex; flex-direction: column; gap: 8px; position: relative; }
.video-item .rank { position: absolute; top: 16px; right: 16px; background: #e74c3c; color: #fff; padding: 4px 12px; border-radius: 12px; font-size: 14px; font-weight: bold; }
.video-item .date { font-size: 13px; color: #95a5a6; }
.entrance-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 24px; }
.entrance-card { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: #fff; padding: 32px; border-radius: 12px; text-align: center; }
.entrance-card h3 { font-size: 24px; margin-bottom: 12px; }
.entrance-card h3 a { color: #fff; }
.entrance-card p { font-size: 15px; opacity: 0.9; }
.detail-info { background: #fff; padding: 20px; border-radius: 8px; margin-bottom: 24px; }
.detail-info p { margin-bottom: 8px; line-height: 1.8; }
.one-line { background: #fff3cd; border-left: 4px solid #ffc107; padding: 16px; margin-bottom: 24px; font-size: 16px; }
.summary, .review, .related { background: #fff; padding: 24px; border-radius: 8px; margin-bottom: 24px; }
.summary h2, .review h2, .related h2 { font-size: 24px; margin-bottom: 16px; color: #2c3e50; }
.summary p, .review p { line-height: 1.8; color: #555; }
@media (max-width: 768px) {
  .container { padding: 15px; }
  .page-title { font-size: 24px; }
  .section-title { font-size: 22px; }
  .video-grid { grid-template-columns: 1fr; }
}