
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; line-height: 1.6; color: #333; }
.container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.site-header { background: #fff; box-shadow: 0 2px 8px rgba(0,0,0,0.1); padding: 15px 0; position: sticky; top: 0; z-index: 100; }
.site-header .container { display: flex; justify-content: space-between; align-items: center; }
.logo { font-size: 24px; font-weight: bold; color: #333; }
.main-nav { display: flex; gap: 20px; }
.main-nav a { text-decoration: none; color: #666; transition: color 0.3s; }
.main-nav a:hover { color: #007bff; }

.hero-section { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; padding: 60px 0; text-align: center; }
.hero-title { font-size: 32px; margin-bottom: 20px; }
.hero-desc { font-size: 18px; line-height: 1.8; max-width: 800px; margin: 0 auto; }

.site-intro, .featured-section, .trending-section, .latest-section { padding: 40px 0; }
.site-intro h2, .featured-section h2, .trending-section h2, .latest-section h2 { font-size: 28px; margin-bottom: 20px; }
.site-intro p { font-size: 16px; color: #666; line-height: 1.8; }

.video-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 24px; }
.video-card { background: #fff; border-radius: 8px; overflow: hidden; 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-card__link { text-decoration: none; color: inherit; display: block; }
.video-cover { position: relative; padding-top: 56.25%; overflow: hidden; background: #f0f0f0; }
.video-cover img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }
.video-info { padding: 16px; }
.video-title { font-size: 18px; margin-bottom: 8px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.video-one-line { font-size: 14px; color: #666; line-height: 1.5; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }

.page-header { margin-bottom: 30px; }
.page-header h1 { font-size: 32px; margin-bottom: 10px; }
.page-header p { font-size: 16px; color: #666; }
.filter-bar { margin-bottom: 20px; padding: 10px; background: #f5f5f5; border-radius: 4px; }

.page--with-sidebar { display: flex; gap: 30px; }
.layout__side--filters { flex: 0 0 250px; background: #f9f9f9; padding: 20px; border-radius: 8px; }
.layout__main { flex: 1; }

.top-list__items { list-style: none; }
.top-item { display: flex; gap: 20px; padding: 20px; background: #fff; margin-bottom: 15px; border-radius: 8px; box-shadow: 0 2px 4px rgba(0,0,0,0.1); }
.top-rank { font-size: 32px; font-weight: bold; color: #007bff; min-width: 50px; text-align: center; }
.top-cover { flex: 0 0 120px; }
.top-cover img { width: 100%; height: auto; border-radius: 4px; }
.top-info { flex: 1; }
.top-info h3 { font-size: 20px; margin-bottom: 8px; }
.top-info h3 a { text-decoration: none; color: #333; }
.top-info h3 a:hover { color: #007bff; }
.top-meta { font-size: 14px; color: #999; }

.group { margin-bottom: 40px; }
.group__title { font-size: 24px; margin-bottom: 20px; padding-bottom: 10px; border-bottom: 2px solid #007bff; }
.group__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 24px; }

.video-player-section { background: #000; }
.video-player { max-width: 1200px; margin: 0 auto; }
.video-player-inner { position: relative; width: 100%; padding-top: 56.25%; background: #000; }
.player-play-btn { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); background: rgba(255,255,255,0.9); border: none; border-radius: 50%; width: 80px; height: 80px; cursor: pointer; transition: all 0.3s; }
.player-play-btn:hover { background: #fff; transform: translate(-50%, -50%) scale(1.1); }
.player-play-icon { font-size: 32px; color: #333; }

.detail-header, .detail-info, .detail-module, .related-section { padding: 30px 0; }
.detail-header h1 { font-size: 36px; }
.info-list { display: grid; grid-template-columns: 100px 1fr; gap: 10px 20px; }
.info-list dt { font-weight: bold; color: #666; }
.info-list dd { color: #333; }
.detail-module h2 { font-size: 24px; margin-bottom: 15px; }
.detail-module p { font-size: 16px; line-height: 1.8; color: #666; }
.tags-cloud { display: flex; flex-wrap: wrap; gap: 10px; }
.tag { display: inline-block; padding: 6px 12px; background: #f0f0f0; border-radius: 4px; font-size: 14px; color: #666; }

.site-footer { background: #333; color: #fff; padding: 30px 0; text-align: center; margin-top: 60px; }

@media (max-width: 768px) {
  .main-nav { gap: 10px; font-size: 14px; white-space: nowrap; }
  .video-grid { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 16px; }
  .hero-title { font-size: 24px; }
  .hero-desc { font-size: 16px; }
  .page--with-sidebar { flex-direction: column; }
  .top-item { flex-direction: column; }
  .top-rank { font-size: 24px; }
  .video-cover { padding-top: 50%; }
}

.ui-style-0 { --primary: #000; --secondary: #fff; --accent: #00ff00; }
.ui-style-1 { --primary: #1a1a1a; --secondary: #fff; --accent: #ff4500; }
.ui-style-2 { --primary: #fff; --secondary: #333; --accent: #ff6b35; }
.ui-style-3 { --primary: #fff; --secondary: #e60012; --accent: #333; }
.ui-style-4 { --primary: #fff; --secondary: #e50914; --accent: #333; }
.ui-style-5 { --primary: #0d0d0d; --secondary: #fff; --accent: #e50914; }
.ui-style-6 { --primary: #1a1a2e; --secondary: #fff; --accent: #00a8cc; }
.ui-style-7 { --primary: #0f1419; --secondary: #fff; --accent: #ffc107; }
.ui-style-8 { --primary: #1a1a1a; --secondary: #fff; --accent: #1db954; }
.ui-style-9 { --primary: #000; --secondary: #fff; --accent: #e5e5e5; }
.ui-style-10 { --primary: #fff; --secondary: #00C75A; --accent: #333; }
.ui-style-11 { --primary: #fff; --secondary: #0099FF; --accent: #ff6700; }
.ui-style-12 { --primary: #fff; --secondary: #FF6700; --accent: #ff4500; }
.ui-style-13 { --primary: #fff; --secondary: #00A1D6; --accent: #FB7299; }
.ui-style-14 { --primary: #fff; --secondary: #2a5caa; --accent: #ff6700; }
