*{box-sizing:border-box}
body{margin:0;min-height:100vh;display:grid;place-items:center;font-family:'Plus Jakarta Sans',system-ui,sans-serif;background:#FBF7F2;color:#1E1B3A;padding:16px;overflow:hidden}
.blob{position:fixed;border-radius:50%;filter:blur(2px);opacity:.55;z-index:0}
.b1{width:420px;height:420px;background:#C9BCFF;top:-120px;left:-120px}
.b2{width:360px;height:360px;background:#FFC4B5;bottom:-120px;right:-80px}
.b3{width:180px;height:180px;background:#FFE08A;top:60%;left:12%}
.card{position:relative;z-index:1;width:100%;max-width:380px;background:#fff;border-radius:28px;padding:36px 32px;box-shadow:0 20px 60px -20px rgba(30,27,58,.25);text-align:center}
.logo{width:64px;height:64px;margin:0 auto 14px;display:block;transform:rotate(-6deg)}
h1{font-family:'Bricolage Grotesque',sans-serif;font-size:28px;margin:0 0 4px;letter-spacing:-.5px}
p{margin:0 0 24px;color:#6B6880}
input{width:100%;font:inherit;font-size:16px;padding:14px 16px;border:2px solid #ECE7F7;border-radius:14px;outline:none;transition:border .15s}
input:focus{border-color:#6C4CF1}
button{margin-top:14px;width:100%;font:inherit;font-weight:700;font-size:16px;padding:14px;border:0;border-radius:14px;background:#1E1B3A;color:#fff;cursor:pointer;transition:transform .1s}
button:active{transform:scale(.98)}
.err{color:#E23D5F;font-size:14px;min-height:20px;margin-top:10px}
