@import url("https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=Plus+Jakarta+Sans:wght@300;400;500;600;700&display=swap");:root{--bg-cosmic:hsl(225,60%,4%);--bg-gradient:radial-gradient(circle at 50% 50%,hsl(225,45%,8%) 0%,hsl(225,60%,3%) 100%);--surface-glass:rgba(13,17,28,0.7);--surface-glass-hover:rgba(22,28,45,0.85);--border-glass:rgba(255,255,255,0.08);--border-glass-glow:rgba(138,43,226,0.25);--primary-glow:hsl(271,100%,65%);--secondary-neon:hsl(190,100%,50%);--accent-blaze:hsl(322,100%,50%);--text-primary:hsl(0,0%,98%);--text-muted:hsl(225,16%,68%);--text-dark:hsl(225,20%,12%);--shadow-neon:0 0 25px rgba(138,43,226,0.35);--shadow-cyan:0 0 20px rgba(0,242,254,0.25);--font-display:"Outfit",-apple-system,BlinkMacSystemFont,sans-serif;--font-sans:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,sans-serif;--transition-smooth:all 0.35s cubic-bezier(0.16,1,0.3,1);--transition-micro:all 0.15s ease}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-cosmic);background-image:var(--bg-gradient);color:var(--text-primary);font-family:var(--font-sans);min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;letter-spacing:-.02em}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-cosmic)}::-webkit-scrollbar-thumb{background:var(--border-glass);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--primary-glow)}.glass-card{background:var(--surface-glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-glass);border-radius:16px;padding:24px;transition:var(--transition-smooth)}.glass-card:hover{border-color:var(--border-glass-glow);background:var(--surface-glass-hover);box-shadow:0 10px 30px -10px rgba(0,0,0,.5)}.btn-primary{background:linear-gradient(135deg,var(--primary-glow) 0,var(--accent-blaze) 100%);color:var(--text-primary);font-family:var(--font-display);font-weight:600;border:none;border-radius:12px;padding:12px 24px;cursor:pointer;box-shadow:var(--shadow-neon);transition:var(--transition-smooth);text-decoration:none;display:inline-flex;align-items:center;gap:8px}.btn-primary:hover{transform:translateY(-2px);filter:brightness(1.1);box-shadow:0 0 35px rgba(138,43,226,.5)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:transparent;color:var(--text-primary);border:1px solid var(--border-glass);border-radius:12px;padding:12px 24px;font-family:var(--font-display);font-weight:600;cursor:pointer;transition:var(--transition-smooth);text-decoration:none;display:inline-flex;align-items:center;gap:8px}.btn-secondary:hover{background:var(--border-glass);border-color:var(--secondary-neon);box-shadow:var(--shadow-cyan)}.text-neon-glow{text-shadow:0 0 15px rgba(138,43,226,.4)}.text-gradient{background:linear-gradient(135deg,var(--text-primary) 30%,var(--secondary-neon) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.input-glass{background:rgba(255,255,255,.03);border:1px solid var(--border-glass);border-radius:12px;color:var(--text-primary);padding:14px 18px;font-family:var(--font-sans);font-size:1rem;outline:none;transition:var(--transition-smooth);width:100%}.input-glass:focus{border-color:var(--secondary-neon);background:rgba(0,242,254,.03);box-shadow:var(--shadow-cyan)}.input-glass::placeholder{color:rgba(255,255,255,.35)}.badge{background:rgba(255,255,255,.05);border:1px solid var(--border-glass);border-radius:30px;padding:4px 12px;font-size:.75rem;font-weight:600;color:var(--secondary-neon);text-transform:uppercase;letter-spacing:.05em}.container{max-width:1200px;margin:0 auto;padding:0 24px}.rating-bar-container{background:rgba(255,255,255,.05);height:8px;border-radius:4px;width:100%;position:relative;overflow:hidden}.rating-bar-fill{height:100%;border-radius:4px;background:linear-gradient(90deg,var(--primary-glow),var(--secondary-neon));transition:width .8s cubic-bezier(.16,1,.3,1)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeInUp .6s cubic-bezier(.16,1,.3,1) forwards}