  :root{--bg:#0e0f13; --panel:#171922; --line:#262a37; --fg:#e8eaf0;
        --dim:#8b93a7; --accent:#3b82f6; --danger:#ef4444}
  *{box-sizing:border-box; -webkit-tap-highlight-color:transparent}
  html,body{margin:0; height:100%; background:var(--bg); color:var(--fg);
    font:16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}
  body{display:flex; align-items:center; justify-content:center;
    padding:24px calc(16px + env(safe-area-inset-left))
            calc(24px + env(safe-area-inset-bottom))}
  form{width:100%; max-width:380px}
  h1{font-size:22px; margin:0 0 4px}
  .sub{color:var(--dim); font-size:14px; margin-bottom:24px}
  label{display:block; font-size:13px; color:var(--dim); margin:14px 0 6px}
  input{width:100%; padding:14px; border-radius:12px; border:1px solid var(--line);
    background:var(--panel); color:var(--fg); font-size:16px}
  input:focus{outline:none; border-color:var(--accent)}
  .pw{position:relative}
  .pw button{position:absolute; right:6px; top:50%; transform:translateY(-50%);
    background:none; border:0; color:var(--dim); font-size:13px; padding:10px}
  .go{width:100%; margin-top:20px; padding:15px; border:0; border-radius:12px;
    background:var(--accent); color:#fff; font-size:16px; font-weight:600}
  .go:disabled{opacity:.55}
  .err{margin-top:14px; padding:11px 13px; border-radius:10px; font-size:14px;
    background:rgba(239,68,68,.13); border:1px solid rgba(239,68,68,.35);
    color:#ffb4b4; display:none}
  .err.on{display:block}
  /* `.keep` — уже не галочка, а строка-пояснение под полями: вход всегда
     запоминается, выбирать нечего. Правило про вложенный input убрано
     вместе с ним. */
  .keep{margin-top:16px; color:var(--dim); font-size:13px}
