@import "https://fonts.googleapis.com/css2?family=Fredoka:wght@400;600;700&display=swap";*{box-sizing:border-box;margin:0;padding:0}:root{--yellow:#ffe14d;--pink:#ff6b9d;--purple:#7c3aed;--purple-light:#ede9fe;--dark:#1a1a2e;--white:#fff;--gray:#f4f4f8;--text-muted:#6b7280;--radius:20px;--shadow:0 4px 24px #7c3aed1f}html,body,#root{width:100%;height:100%}body{background:var(--dark);color:var(--white);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Fredoka,sans-serif}button{cursor:pointer;border:none;outline:none;font-family:Fredoka,sans-serif}input,textarea{font-family:Fredoka,sans-serif}.page{flex-direction:column;justify-content:center;align-items:center;max-width:480px;min-height:100vh;margin:0 auto;padding:24px 20px;display:flex}.btn-primary{background:var(--yellow);color:var(--dark);border-radius:50px;width:100%;padding:16px 32px;font-size:1.2rem;font-weight:700;transition:transform .15s,box-shadow .15s;box-shadow:0 4px #c9a800}.btn-primary:active{transform:translateY(2px);box-shadow:0 2px #c9a800}.btn-secondary{color:var(--white);background:0 0;border:2px solid #ffffff4d;border-radius:50px;width:100%;padding:14px 32px;font-size:1rem;font-weight:600;transition:border-color .15s}.btn-secondary:hover{border-color:#ffffffb3}.card{border-radius:var(--radius);background:#ffffff12;border:1px solid #ffffff1f;width:100%;padding:28px 24px}.input{color:var(--white);background:#ffffff1a;border:2px solid #fff3;border-radius:14px;width:100%;padding:14px 18px;font-size:1.1rem;transition:border-color .2s}.input:focus{border-color:var(--yellow);outline:none}.input::placeholder{color:#ffffff59}.logo{letter-spacing:-1px;margin-bottom:8px;font-size:3rem;font-weight:700}.logo span{color:var(--yellow)}.tagline{color:#ffffff80;text-align:center;margin-bottom:40px;font-size:1rem}.gap-12{flex-direction:column;gap:12px;display:flex}.gap-16{flex-direction:column;gap:16px;display:flex}.gap-24{flex-direction:column;gap:24px;display:flex}.text-center{text-align:center}.text-muted{color:#ffffff73;font-size:.9rem}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:.4s both fadeUp}
