*{box-sizing:border-box}
body{margin:0;min-height:100vh;display:grid;place-items:center;background:#313338;color:#dbdee1;font-family:"gg sans","Noto Sans JP",system-ui,sans-serif}
.card{padding:32px;border-radius:8px;width:100%;max-width:420px}
h1{font-size:24px;text-align:center;color:#f2f3f5;margin:0 0 8px}
.sub{text-align:center;color:#b5bac1;font-size:15px;margin:0 0 24px}
label{display:block;font-size:12px;font-weight:700;text-transform:uppercase;color:#b5bac1;margin-bottom:8px}
input{width:100%;padding:10px;background:#1e1f22;border:1px solid #1e1f22;border-radius:3px;color:#dbdee1;font-size:16px;outline:none}
input:focus{border-color:#5865F2}
button{width:100%;margin-top:20px;padding:12px;background:#5865F2;color:#fff;border:0;border-radius:3px;font-size:16px;font-weight:600;cursor:pointer}
button:hover{background:#4752c4}
.err{color:#fa777c;font-size:14px;margin-top:8px;min-height:18px}