:root{color-scheme:dark;--bg:#111215;--surface:#1a1c21;--hover:#23262d;--ink:#edf0f6;--muted:#a5adbd;--line:#343944;--accent:#a7baff;--button:#b0c0ff;--on-button:#152044;--danger:#ffadad;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-synthesis:none}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-size:15px;line-height:1.6}
::selection{background:#35436b}
html{scrollbar-color:var(--line) var(--bg)}
a{color:var(--accent);text-underline-offset:4px}
header{height:76px;max-width:1184px;margin:auto;padding-inline:32px;display:flex;align-items:center;border-bottom:1px solid var(--line)}
.brand{color:var(--ink);font-size:20px;font-weight:650;letter-spacing:-.5px;text-decoration:none}
.brand span{margin-left:10px;color:var(--muted);font-size:13px;font-weight:450;letter-spacing:0}
main{min-height:calc(100svh - 76px);padding:64px 24px 96px;display:grid;align-items:center;justify-items:center}
.login{width:min(100%,384px)}
h1{margin:0 0 10px;font-size:30px;line-height:1.2;letter-spacing:-.6px;font-weight:650;text-wrap:balance}
.intro{margin:0 0 32px;color:var(--muted);font-size:14px}
.field{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}
label{font-size:14px;font-weight:500}
button,input{font:inherit;color:inherit}
input{width:100%;min-width:0;min-height:48px;padding:11px 13px;background:var(--surface);border:1px solid var(--line);border-radius:7px;caret-color:var(--accent)}
input:hover{border-color:#525b6d}
.password-field{position:relative}
.password-field input{padding-right:102px}
button{cursor:pointer}
#show-password{position:absolute;right:4px;top:4px;bottom:4px;min-width:90px;padding:4px 10px;border:0;border-radius:4px;background:transparent;color:var(--muted);font-size:12px;font-weight:500}
#show-password:hover{background:var(--hover);color:var(--ink)}
button:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid var(--button);outline-offset:3px}
button.primary{width:100%;min-height:48px;margin-top:8px;padding:11px 16px;border:1px solid var(--button);border-radius:7px;background:var(--button);color:var(--on-button);font-weight:600}
button.primary:hover:not(:disabled){background:#c0cdff;border-color:#c0cdff}
button:disabled{opacity:.6;cursor:wait}
#login-error{margin:0 0 16px;color:var(--danger);font-size:13px;overflow-wrap:anywhere}
[hidden]{display:none!important}
@media(max-width:460px){header{height:64px;padding-inline:24px}.brand span{font-size:12px}main{min-height:calc(100svh - 64px);padding-block:48px 96px}h1{font-size:28px}input{font-size:16px}}
@media(max-height:600px){main{padding-block:36px}}
