:root { --bg:#f5f6f8; --panel:#fff; --text:#202534; --muted:#858b99; --line:#e4e6eb; --main:#6255d9; --red:#c94f5e; }
    * { box-sizing:border-box; }
    body { display:grid; min-height:100vh; margin:0; place-items:center; padding:24px; color:var(--text); background:var(--bg); font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Sans","Yu Gothic UI",sans-serif; }
    main { width:min(390px,100%); padding:30px; border:1px solid var(--line); background:var(--panel); }
    p { margin:0 0 6px; color:var(--main); font-size:10px; font-weight:700; letter-spacing:.08em; }
    h1 { margin:0 0 26px; font-size:25px; letter-spacing:-.03em; }
    form { display:grid; gap:16px; }
    .passwordless { margin-top:20px; padding-top:20px; border-top:1px solid var(--line); }
    .passwordless button { margin:0; color:var(--main); background:#fff; }
    label { display:grid; gap:7px; color:var(--muted); font-size:11px; font-weight:700; }
    input { width:100%; padding:11px; border:1px solid var(--line); border-radius:3px; color:var(--text); outline-color:var(--main); background:#fff; font:inherit; font-size:13px; }
    button { margin-top:4px; padding:11px; border:1px solid var(--main); border-radius:3px; color:#fff; background:var(--main); cursor:pointer; font:inherit; font-size:12px; font-weight:700; }
    .error { margin:0; padding:10px; border:1px solid #f1c8ce; color:var(--red); background:#fff2f4; font-size:11px; font-weight:600; letter-spacing:0; }
