body { margin: 0; font-family: Arial, sans-serif; background: linear-gradient(135deg, #d9a7ff, #fbc2eb, #a1c4fd); min-height: 100vh; overflow: hidden; display: flex; justify-content: center; align-items: center; } /* Hapus semua circle pink sebelumnya */ .bg-1, .bg-2, .bg-3 { display: none !important; } /* Login Card */ .login-card { background: rgba(255,255,255,0.35); backdrop-filter: blur(20px); padding: 35px; max-width: 420px; width: 100%; border-radius: 25px; box-shadow: 0 20px 50px rgba(0,0,0,0.15); border: 1px solid rgba(255,255,255,0.4); position: relative; z-index: 5; overflow: visible; } /* Hapus lingkaran icon pink */ .icon-wrapper, .icon-bg, .icon { display: none !important; } /* Title & subtitle */ .title { text-align: center; font-size: 28px; font-weight: 700; margin-bottom: 10px; background: linear-gradient(45deg, #7928ff, #ff0080); color: transparent; -webkit-background-clip: text; background-clip: text; } .subtitle { text-align: center; color: #333; margin-bottom: 20px; } /* Input fields */ input { width: 100%; padding: 13px; border-radius: 12px; border: 2px solid #e6d9ff; background: rgba(255,255,255,0.75); margin-bottom: 15px; transition: 0.3s ease; box-shadow: 0 4px 12px rgba(0,0,0,0.05); } input:focus { border-color: #b47cff; box-shadow: 0 0 10px rgba(180,124,255,0.7); outline: none; } /* Error box */ #errorBox { background: #ffe5e5; border: 1px solid #ffb2b2; color: #b00000; padding: 10px; border-radius: 12px; margin-bottom: 10px; display: none; box-shadow: 0 5px 15px rgba(255,0,0,0.1); } /* Button */ .btn { width: 100%; padding: 13px; background: linear-gradient(to right, #7928ff, #ff0080); color: white; border-radius: 14px; border: none; cursor: pointer; font-weight: bold; letter-spacing: 0.5px; box-shadow: 0 6px 15px rgba(255,0,128,0.3); transition: 0.3s ease; } .btn:hover { transform: translateY(-2px); box-shadow: 0 10px 18px rgba(255,0,128,0.4); } /* Register link */ .login-link { text-align: center; margin-top: 15px; } .login-link a { color: #7928ff; font-weight: 600; text-decoration: underline; } /* ✨ GLITTER BURST ANIMATION ✨ */ .glitter { position: absolute; width: 4px; height: 4px; background: white; border-radius: 50%; opacity: 0; animation: glitter-burst 2s infinite ease-out; pointer-events: none; } /* Random sparkle movement */ @keyframes glitter-burst { 0% { transform: scale(0.4) translate(0,0); opacity: 0.9; } 50% { opacity: 1; } 100% { transform: scale(1) translate(var(--x), var(--y)); opacity: 0; } }