/* 页面主背景 */ body { background: linear-gradient(135deg, #f9fbe7 0%, #f1f8e9 25%, #e8f5e8 50%, #dcedc8 75%, #c5e1a5 100%); background-attachment: fixed; position: relative; } /* 背景装饰元素 */ body::before { content: ''; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-image: radial-gradient(circle at 20% 80%, rgba(139, 195, 74, 0.06) 0%, transparent 50%), radial-gradient(circle at 80% 20%, rgba(205, 220, 57, 0.06) 0%, transparent 50%), radial-gradient(circle at 40% 40%, rgba(212, 225, 87, 0.08) 0%, transparent 50%); pointer-events: none; z-index: -1; } /* 容器背景 */ .container { background: rgba(255, 255, 255, 0.75); backdrop-filter: blur(10px); border-radius: 16px; box-shadow: 0 8px 32px rgba(139, 195, 74, 0.12); margin-top: 20px; margin-bottom: 20px; border: 1px solid rgba(241, 248, 233, 0.5); } /* 头部背景 */ .header { background: linear-gradient(135deg, rgba(139, 195, 74, 0.08) 0%, rgba(205, 220, 57, 0.08) 100%); border-radius: 16px 16px 0 0; position: relative; overflow: hidden; } .header::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: radial-gradient(circle at 30% 20%, rgba(139, 195, 74, 0.12) 0%, transparent 40%), radial-gradient(circle at 70% 80%, rgba(205, 220, 57, 0.1) 0%, transparent 40%); pointer-events: none; } /* 电视剧项目背景 */ .tv-item { background: rgba(255, 255, 255, 0.92); backdrop-filter: blur(8px); position: relative; overflow: hidden; } .tv-item::after { content: ''; position: absolute; top: 0; right: 0; width: 60px; height: 100%; background: linear-gradient(90deg, transparent 0%, rgba(139, 195, 74, 0.03) 100%); pointer-events: none; } /* 前三名特殊背景效果 */ .tv-item:nth-child(1) { background: linear-gradient(135deg, rgba(244, 67, 54, 0.06) 0%, rgba(255, 255, 255, 0.96) 100%); } .tv-item:nth-child(2) { background: linear-gradient(135deg, rgba(255, 152, 0, 0.06) 0%, rgba(255, 255, 255, 0.96) 100%); } .tv-item:nth-child(3) { background: linear-gradient(135deg, rgba(255, 193, 7, 0.06) 0%, rgba(255, 255, 255, 0.96) 100%); } /* 加载状态背景 */ .loading { background: rgba(255, 255, 255, 0.85); backdrop-filter: blur(8px); border-radius: 12px; margin: 20px; border: 1px solid rgba(241, 248, 233, 0.3); } /* 错误信息背景 */ .error-message { background: linear-gradient(135deg, rgba(231, 76, 60, 0.06) 0%, rgba(255, 255, 255, 0.92) 100%); backdrop-filter: blur(8px); border-radius: 12px; border: 1px solid rgba(231, 76, 60, 0.1); margin: 20px; } /* 底部背景 */ .footer { background: linear-gradient(135deg, rgba(139, 195, 74, 0.04) 0%, rgba(205, 220, 57, 0.04) 100%); border-radius: 0 0 16px 16px; position: relative; } .footer::before { content: ''; position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 60px; height: 1px; background: linear-gradient(90deg, transparent 0%, rgba(139, 195, 74, 0.4) 50%, transparent 100%); } /* 封面图片背景效果 */ .item-cover { position: relative; overflow: hidden; } .item-cover::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(45deg, rgba(139, 195, 74, 0.05) 0%, transparent 50%); pointer-events: none; opacity: 0; transition: opacity 0.3s ease; } .tv-item:hover .item-cover::before { opacity: 1; } /* 响应式背景调整 */ @media (max-width: 768px) { .container { margin-top: 10px; margin-bottom: 10px; border-radius: 12px; } .header { border-radius: 12px 12px 0 0; } .footer { border-radius: 0 0 12px 12px; } body::before { background-image: radial-gradient(circle at 20% 80%, rgba(139, 195, 74, 0.04) 0%, transparent 40%), radial-gradient(circle at 80% 20%, rgba(205, 220, 57, 0.04) 0%, transparent 40%); } } @media (min-width: 1025px) { .container { margin-top: 40px; margin-bottom: 40px; } body::before { background-image: radial-gradient(circle at 15% 85%, rgba(139, 195, 74, 0.08) 0%, transparent 60%), radial-gradient(circle at 85% 15%, rgba(205, 220, 57, 0.08) 0%, transparent 60%), radial-gradient(circle at 50% 50%, rgba(212, 225, 87, 0.06) 0%, transparent 70%); } } /* 动画效果 */ @keyframes backgroundShift { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; } } /* 悬浮时的背景变化 */ .tv-item:hover { background: rgba(255, 255, 255, 0.98); } .tv-item:hover::after { background: linear-gradient(90deg, transparent 0%, rgba(139, 195, 74, 0.06) 100%); } /* 排名背景渐变 */ .rank { position: relative; overflow: hidden; } .rank::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(45deg, rgba(255, 255, 255, 0.25) 0%, transparent 100%); pointer-events: none; } /* 按钮背景效果 */ .retry-btn { position: relative; overflow: hidden; } .retry-btn::before { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.3) 50%, transparent 100%); transition: left 0.5s ease; } .retry-btn:hover::before { left: 100%; }