body{margin:0;font:1rem/1.55 system-ui,sans-serif;color:#21183a;background:#f7f5ff}
main{max-width:34rem;margin:clamp(1rem,8vh,5rem) auto;padding:clamp(1rem,5vw,2.5rem);background:white;border:1px solid #ded6f5;border-radius:1rem}
h1{line-height:1.15}a{color:#4e2c99}label{display:block;margin:.8rem 0}
input,button{font:inherit;border-radius:.4rem;padding:.65rem;border:1px solid #624ea0}
input{display:block;width:100%;box-sizing:border-box}button{color:white;background:#4e2c99;cursor:pointer}
:focus-visible{outline:3px solid #814eff;outline-offset:3px}[role=alert]{color:#991b1b}