* { box-sizing: border-box; margin: 0; padding: 0; } body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif; background: #0f1115; color: #e6e6e6; line-height: 1.6; } .container { max-width: 1200px; margin: 0 auto; padding: 0 16px; } a { color: inherit; text-decoration: none; } /* Header */ .header { background: linear-gradient(135deg, #1a1d24, #232733); border-bottom: 1px solid #2a2f3a; position: sticky; top: 0; z-index: 50; } .header-inner { display: flex; align-items: center; justify-content: space-between; padding: 14px 16px; gap: 16px; } .logo { font-size: 20px; font-weight: 700; color: #fff; white-space: nowrap; } .search { display: flex; flex: 1; max-width: 420px; } .search input { flex: 1; padding: 8px 12px; border-radius: 8px 0 0 8px; border: 1px solid #333a47; background: #14171d; color: #eee; outline: none; } .search button { padding: 8px 16px; border: none; border-radius: 0 8px 8px 0; background: #4f8cff; color: #fff; cursor: pointer; font-weight: 600; } .search button:hover { background: #3a78ef; } /* Nav */ .nav { background: #14171d; border-bottom: 1px solid #232733; overflow-x: auto; } .nav-inner { display: flex; gap: 6px; padding: 10px 16px; white-space: nowrap; } .nav-inner a { padding: 6px 14px; border-radius: 999px; font-size: 14px; color: #a9b1c1; transition: all .2s; } .nav-inner a:hover { background: #232733; color: #fff; } .nav-inner a.active { background: #4f8cff; color: #fff; } /* Main */ .main { padding: 24px 16px 60px; } .section-title { font-size: 18px; margin-bottom: 16px; } /* Grid */ .grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 16px; } .card { background: #181c23; border-radius: 10px; overflow: hidden; transition: transform .2s, box-shadow .2s; display: block; } .card:hover { transform: translateY(-4px); box-shadow: 0 8px 20px rgba(79,140,255,.25); } .poster { position: relative; aspect-ratio: 3/4.2; overflow: hidden; background: #232733; } .poster img { width: 100%; height: 100%; object-fit: cover; display: block; } .badge { position: absolute; right: 6px; top: 6px; background: rgba(0,0,0,.7); color: #fff; font-size: 11px; padding: 2px 6px; border-radius: 4px; } .info { padding: 8px 10px 12px; } .name { font-size: 14px; font-weight: 600; color: #fff; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .meta { font-size: 12px; color: #8b94a6; margin-top: 2px; } /* Pager */ .pager { display: flex; justify-content: center; align-items: center; gap: 12px; margin-top: 30px; } .pager a, .pager span { padding: 6px 14px; border-radius: 6px; background: #232733; font-size: 14px; } .pager a:hover { background: #4f8cff; color: #fff; } .empty { text-align: center; color: #8b94a6; padding: 60px 0; } /* Detail */ .detail-head { display: flex; gap: 24px; margin-bottom: 30px; flex-wrap: wrap; } .detail-poster { width: 220px; border-radius: 10px; flex-shrink: 0; box-shadow: 0 8px 24px rgba(0,0,0,.4); } .detail-meta { flex: 1; min-width: 260px; } .detail-meta h1 { font-size: 24px; margin-bottom: 10px; color: #fff; } .tags { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 12px; } .tags span { font-size: 12px; background: #232733; padding: 2px 10px; border-radius: 999px; color: #a9b1c1; } .detail-meta p { margin-bottom: 6px; color: #c4cbd8; font-size: 14px; } .intro { margin-top: 10px; color: #9aa3b3 !important; line-height: 1.7; } /* Player */ .player-wrap { background: #14171d; border-radius: 12px; padding: 16px; } .source-tabs { display: flex; gap: 8px; margin-bottom: 12px; flex-wrap: wrap; } .source-tab { padding: 6px 14px; border-radius: 8px; border: 1px solid #2a2f3a; background: #1c2027; color: #a9b1c1; cursor: pointer; font-size: 13px; } .source-tab.active { background: #4f8cff; color: #fff; border-color: #4f8cff; } .player { width: 100%; aspect-ratio: 16/9; background: #000; border-radius: 8px; overflow: hidden; } .player video { width: 100%; height: 100%; display: block; background: #000; } .episodes { margin-top: 16px; } .episode-group { display: flex; flex-wrap: wrap; gap: 8px; } .ep-btn { padding: 6px 12px; border-radius: 6px; border: 1px solid #2a2f3a; background: #1c2027; color: #c4cbd8; cursor: pointer; font-size: 13px; } .ep-btn:hover { background: #4f8cff; color: #fff; border-color: #4f8cff; } /* Footer */ .footer { border-top: 1px solid #232733; padding: 20px 0; text-align: center; color: #6b7385; font-size: 13px; } @media (max-width: 640px) { .header-inner { flex-wrap: wrap; } .search { max-width: 100%; order: 3; width: 100%; } .detail-poster { width: 140px; } .grid { grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 10px; } }