main{min-height:100vh;display:grid;place-items:center;padding:24px 16px}
.card{width:100%;max-width:420px;background:var(--panel);border:1px solid var(--line)}
.hd{padding:22px 26px 16px;border-bottom:1px solid var(--line)}
.brand{font-size:30px;font-weight:700;letter-spacing:.01em;line-height:1.1}
.by{font-size:14px;color:var(--muted)}
.bd{padding:22px 26px 26px}
label.f{display:block;font-size:14px;font-weight:600;margin:0 0 6px}
input[type=email],input.code{width:100%;padding:11px 12px;border:1px solid var(--line);background:var(--panel);min-height:46px}
input.code{font:600 28px/1 Menlo,Consolas,monospace;letter-spacing:.35em;text-align:center}
.chk{display:flex;gap:10px;align-items:flex-start;margin:16px 0 4px;font-size:14px}
.chk input{width:18px;height:18px;margin:2px 0 0;flex:none;accent-color:var(--acc)}
.btn{display:block;width:100%;margin-top:18px;padding:12px;border:1px solid var(--acc);background:var(--acc);color:var(--acc-ink);font-weight:700;cursor:pointer;min-height:46px}
.btn[disabled]{opacity:.6;cursor:wait}
.link{background:none;border:0;padding:0;color:var(--focus);text-decoration:underline;cursor:pointer;font-size:14px}
.row{display:flex;justify-content:space-between;gap:12px;margin-top:14px}
.msg{min-height:22px;margin:12px 0 0;font-size:14px}
.msg.err{color:var(--err)} .msg.ok{color:var(--ok)}
.sent{font-size:15px;margin:0 0 14px}
.lang{display:flex;justify-content:flex-end;gap:6px;padding:10px 26px 0;font-size:13px}
.lang button{background:none;border:1px solid var(--hair);padding:2px 8px;cursor:pointer}
.lang button[aria-pressed=true]{border-color:var(--line);font-weight:700}
.foot{padding:12px 26px;border-top:1px solid var(--hair);font-size:13px;color:var(--muted)}
