
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; line-height: 1.6; color: #333; background: #f5f5f5; }
a { color: #2c5aa0; text-decoration: none; }
a:hover { color: #1a3a6a; text-decoration: underline; }
.container { max-width: 1200px; margin: 0 auto; padding: 20px; }
header { background: #fff; box-shadow: 0 2px 4px rgba(0,0,0,0.1); position: sticky; top: 0; z-index: 100; }
nav { display: flex; flex-wrap: nowrap; justify-content: space-between; align-items: center; padding: 15px 20px; max-width: 1200px; margin: 0 auto; }
.logo { font-size: 24px; font-weight: bold; color: #2c5aa0; white-space: nowrap; }
.nav-links { display: flex; flex-wrap: nowrap; gap: 20px; list-style: none; }
.nav-links a { padding: 8px 15px; border-radius: 4px; transition: background 0.3s; white-space: nowrap; }
.nav-links a:hover { background: #e8f0fe; text-decoration: none; }
h1 { font-size: 32px; color: #1a3a6a; margin: 30px 0 20px; }
h2 { font-size: 24px; color: #2c5aa0; margin: 25px 0 15px; }
h3 { font-size: 20px; color: #444; margin: 20px 0 10px; }
.intro { background: #fff; padding: 30px; border-radius: 8px; margin: 20px 0; line-height: 1.8; }
.section { background: #fff; padding: 25px; border-radius: 8px; margin: 25px 0; }
.video-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 20px; margin: 20px 0; }
.video-card { background: #fff; border: 1px solid #e0e0e0; border-radius: 8px; padding: 20px; transition: all 0.3s; }
.video-card:hover { box-shadow: 0 4px 12px rgba(0,0,0,0.1); transform: translateY(-2px); }
.video-title { font-size: 18px; font-weight: bold; margin-bottom: 10px; color: #1a3a6a; }
.video-meta { font-size: 14px; color: #666; margin: 5px 0; }
.video-desc { font-size: 14px; color: #555; margin-top: 10px; line-height: 1.5; }
.video-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.tag { background: #e8f0fe; color: #2c5aa0; padding: 4px 10px; border-radius: 12px; font-size: 12px; }
.list-item { background: #fff; border-left: 4px solid #2c5aa0; padding: 20px; margin: 15px 0; border-radius: 4px; }
.rank-number { display: inline-block; width: 30px; height: 30px; line-height: 30px; text-align: center; background: #2c5aa0; color: #fff; border-radius: 50%; margin-right: 10px; font-weight: bold; }
footer { background: #333; color: #fff; text-align: center; padding: 30px 20px; margin-top: 50px; }
@media (max-width: 768px) {
  nav { flex-direction: column; gap: 10px; padding: 10px; }
  .nav-links { width: 100%; justify-content: space-around; gap: 5px; flex-wrap: nowrap; overflow-x: visible; }
  .nav-links li { flex: 1 1 0; min-width: 0; }
  .nav-links a { padding: 8px 5px; font-size: 13px; text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: block; }
  .video-grid { grid-template-columns: 1fr; }
  h1 { font-size: 24px; }
  .container { padding: 15px; }
}
