:root { --color-bg-base: #09090b; --color-bg-elevated: #121215; --color-bg-elevated-hover: #1e1e22; --color-bg-card: #121214; --color-primary: #8b5cf6; --color-primary-hover: #7c3aed; --color-primary-glow: rgba(139, 92, 246, 0.4); --color-danger: #ef4444; --color-success: #22c55e; --color-bg-amoled: #0a0a0a; --color-bg-field: #0e0e0f; --color-glass-bg: rgba(20, 20, 23, 0.7); --color-text-primary: #ffffff; --color-text-secondary: #a1a1aa; --color-text-muted: #71717a; --border-subtle: 1px solid rgba(255, 255, 255, 0.08); --border-medium: 1px solid rgba(255, 255, 255, 0.12); --glass-bg: rgba(18, 18, 20, 0.8); --glass-border: 1px solid rgba(255, 255, 255, 0.1); --spacing-xs: 0.5rem; --spacing-sm: 0.75rem; --spacing-md: 1rem; --spacing-lg: 1.5rem; --spacing-xl: 2rem; --spacing-2xl: 3rem; --radius-sm: 0.5rem; --radius-md: 0.75rem; --radius-lg: 1.5rem; --radius-xl: 1.5rem; --radius-full: 9999px; --nav-height: 80px; --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.3); --shadow-md: 0 8px 24px rgba(0, 0, 0, 0.4); --shadow-lg: 0 16px 48px rgba(0, 0, 0, 0.5); --shadow-glow: 0 8px 32px var(--color-primary-glow); --transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1); --transition-base: 250ms cubic-bezier(0.4, 0, 0.2, 1); --transition-smooth: 350ms cubic-bezier(0.4, 0, 0.2, 1); --plyr-color-main: var(--color-primary); } * { box-sizing: border-box; outline: none; } body { margin: 0; padding: 0; background-color: var(--color-bg-base); color: var(--color-text-primary); font-family: 'Inter', system-ui, sans-serif; overflow-x: hidden; line-height: 1.6; -webkit-font-smoothing: antialiased; } .section { max-width: 1700px; margin: 0 auto; padding: 2rem 3rem; } .section-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; } .section-title { font-size: 1.8rem; font-weight: 800; } .btn-primary, .btn-blur { padding: 1rem 2.5rem; border-radius: 999px; font-weight: 700; font-size: 1rem; cursor: pointer; display: flex; align-items: center; gap: 0.5rem; transition: transform 0.2s; background: rgba(255, 255, 255, 0.1); backdrop-filter: blur(10px); color: white; border: 1px solid rgba(255, 255, 255, 0.2); } .btn-primary { background: white; color: black; } .btn-primary:hover { transform: scale(1.05); } .btn-blur:hover { background: rgba(255, 255, 255, 0.2); } .card { min-width: 220px; width: 220px; flex: 0 0 220px; cursor: pointer; transition: transform 0.3s cubic-bezier(0.2, 0.8, 0.2, 1); } .card:hover { transform: translateY(-8px); } .card-img-wrap { width: 100%; aspect-ratio: 2 / 3; border-radius: var(--radius-md); overflow: hidden; position: relative; margin-bottom: 0.8rem; background: #222; } .card-img-wrap img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s; } .card:hover .card-img-wrap img { transform: scale(1.05); } .card-content h3 { margin: 0; font-size: 1rem; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .card-content p { margin: 4px 0 0 0; font-size: 0.85rem; color: var(--color-text-secondary); } .skeleton { background: linear-gradient(90deg, #18181b 25%, #27272a 50%, #18181b 75%); background-size: 200% 100%; animation: shimmer 1.5s infinite; border-radius: 6px; display: inline-block; } .text-skeleton { height: 1em; width: 70%; margin-bottom: 0.5rem; } .title-skeleton { height: 3em; width: 80%; margin-bottom: 1rem; } .poster-skeleton { width: 100%; height: 100%; } @keyframes shimmer { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } } @keyframes fadeInUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.6; } } .carousel-wrapper { position: relative; } .carousel { display: flex; gap: 1.25rem; overflow-x: auto; padding: 1rem 0; scroll-behavior: smooth; scrollbar-width: none; } .carousel::-webkit-scrollbar { display: none; } .carousel-wrapper:hover .scroll-btn { opacity: 1; } .scroll-btn { position: absolute; top: 50%; transform: translateY(-50%); width: 50px; height: 50px; border-radius: 50%; background: rgba(20, 20, 23, 0.9); border: 1px solid rgba(255, 255, 255, 0.1); color: white; z-index: 20; cursor: pointer; display: flex; align-items: center; justify-content: center; opacity: 0; transition: 0.3s; } .scroll-btn:hover { background: var(--color-primary); } .scroll-btn.left { left: -25px; } .scroll-btn.right { right: -25px; } .back-btn { position: fixed; top: 2rem; left: 2rem; z-index: 100; display: flex; align-items: center; gap: 0.5rem; padding: 0.8rem 1.5rem; background: rgba(0, 0, 0, 0.6); backdrop-filter: blur(12px); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: var(--radius-full); color: white; text-decoration: none; font-weight: 600; transition: all 0.2s ease; cursor: pointer; } .back-btn:hover { background: rgba(255, 255, 255, 0.1); transform: translateX(-5px); } .btn-secondary { padding: 1rem 2rem; background: rgba(255, 255, 255, 0.1); backdrop-filter: blur(10px); color: white; border-radius: var(--radius-full); font-weight: 700; font-size: 1rem; border: 1px solid rgba(255,255,255,0.2); cursor: pointer; transition: all 0.2s; display: flex; align-items: center; gap: 0.5rem; } .btn-secondary:hover { background: rgba(255, 255, 255, 0.2); transform: scale(1.05); }