* { box-sizing:border-box; }
body { margin:0; min-height:100vh; display:grid; place-items:center; padding:24px; color:#202122; background:#fff; font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Lato,Helvetica,Arial,sans-serif; }
main, form { width:min(240px,100%); }
label { display:block; margin:0 0 7px; }
input { width:100%; border:0; border-bottom:1px solid #202122; border-radius:0; outline:0; padding:7px 0; color:#202122; background:transparent; font:16px inherit; }
input:focus { border-bottom-width:2px; }
body.has-error input { border-color:#b32424; }
button { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
