:root{--bg:#f3f5f8;--card:#fff;--ink:#0f172a;--mut:#64748b;--line:#d9dfe8;--acc:#0f766e;--acc-ink:#fff;--bad:#b91c1c;--ring:rgba(15,118,110,.35)}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0b1020;--card:#141b2e;--ink:#e8edf6;--mut:#93a0b8;--line:#2a3550;--acc:#2dd4bf;--acc-ink:#04201c;--bad:#f87171;--ring:rgba(45,212,191,.4)}}
*{box-sizing:border-box}
html{color-scheme:light dark}
body{margin:0;min-height:100vh;min-height:100dvh;background:var(--bg);color:var(--ink);font:16px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;display:flex}
.wrap{margin:auto;width:100%;max-width:400px;padding:24px 16px}
.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:28px 22px 22px;box-shadow:0 8px 30px rgba(15,23,42,.08);text-align:center}
.logo{border-radius:14px;display:block;margin:0 auto 12px}
h1{margin:0;font-size:22px;letter-spacing:-.01em}
.sub{margin:4px 0 22px;color:var(--mut);font-size:14px}
label{display:block;text-align:left;font-size:13px;font-weight:600;color:var(--mut);margin-bottom:6px}
.field{position:relative}
input{width:100%;height:50px;padding:0 52px 0 14px;font:inherit;font-size:17px;color:var(--ink);background:var(--bg);border:1.5px solid var(--line);border-radius:12px;outline:none}
input:focus{border-color:var(--acc);box-shadow:0 0 0 4px var(--ring)}
.eye{position:absolute;right:2px;top:2px;width:46px;height:46px;border:0;background:transparent;color:var(--mut);border-radius:10px;cursor:pointer;display:grid;place-items:center}
.eye:hover{color:var(--ink)}
.eye:focus-visible{outline:2px solid var(--acc)}
.slash{opacity:0}
.eye[aria-pressed=true] .slash{opacity:1}
.msg{min-height:22px;margin:10px 0 6px;font-size:14px;color:var(--bad);text-align:left}
.go{width:100%;height:50px;border:0;border-radius:12px;background:var(--acc);color:var(--acc-ink);font:inherit;font-size:17px;font-weight:700;cursor:pointer}
.go:disabled{opacity:.6;cursor:progress}
.go:focus-visible{outline:3px solid var(--ring);outline-offset:2px}
.note{margin:16px 0 0;font-size:12px;color:var(--mut)}
