*{box-sizing:border-box}body{margin:0;min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);color:var(--tx);font:15px/1.45 system-ui,Segoe UI,Roboto,sans-serif;padding:16px}
.box{width:min(380px,100%);background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:24px}
h1{margin:0 0 2px;font-size:20px;color:var(--ac2);letter-spacing:.5px}p{margin:0 0 16px;color:var(--mut);font-size:13px}
label{display:block;font-size:12px;color:var(--mut);margin:12px 0 4px}
input{width:100%;font:inherit;color:var(--tx);background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:10px 12px}
input:focus{outline:2px solid var(--ac);outline-offset:0}
button{width:100%;margin-top:18px;font:inherit;font-weight:600;color:#222;background:var(--ac);border:0;border-radius:8px;padding:11px;cursor:pointer}
button:disabled{opacity:.6;cursor:default}
#err{margin-top:12px;color:var(--bad);font-size:13px;min-height:18px}.note{font-size:12px;color:var(--mut);margin-top:12px}
