:root{--bg:#0b131b;--surface:#121d27;--surface-2:#17242f;--line:#243442;--line-strong:#33485a;--text:#d7e2e9;--text-2:#9fb1bd;--text-3:#6f8594;--accent:#5fd4a6;--accent-strong:#36b98a;--danger:#ff8f86;color-scheme:dark}
[hidden]{display:none!important}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;display:grid;place-items:center;padding:16px;background:radial-gradient(1200px 600px at 20% -10%,#15303a 0,transparent 60%),var(--bg);color:var(--text);font:14px/1.5 "Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif}
.card{width:min(400px,100%);background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 24px 60px rgba(0,0,0,.45);padding:28px 26px 20px}
.brand{display:flex;align-items:center;gap:10px;color:var(--accent);margin-bottom:22px}
.brand b{font-size:17px;letter-spacing:3px;color:#f1f6f8}
.brand b span{font-weight:300;color:var(--text-2)}
h1{font-size:20px;font-weight:600;margin:0}
.sub{color:var(--text-3);margin:4px 0 18px}
form{display:flex;flex-direction:column;gap:12px}
label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--text-2)}
input{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:10px 12px}
input:hover{border-color:var(--line-strong)}
input:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.check{flex-direction:row;align-items:center;gap:8px;font-size:13px}
.check input{accent-color:var(--accent-strong);width:16px;height:16px}
button{font:inherit;cursor:pointer;border-radius:8px;padding:11px 14px;border:1px solid var(--line);background:var(--surface-2);color:var(--text)}
button.primary{background:var(--accent-strong);border-color:var(--accent-strong);color:#04150f;font-weight:600}
button.primary:hover:not(:disabled){background:var(--accent)}
button:disabled{opacity:.55;cursor:wait}
.msg{margin:0 0 14px;padding:10px 12px;border-radius:8px;background:#2d1c1c;border:1px solid #5a2f2f;color:#ffc4bd;font-size:13px}
.msg.ok{background:#16302a;border-color:#245046;color:#bff1dc}
.info{margin:0;font-size:12.5px;color:var(--text-2);background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:10px 12px}
code{font:12px "Cascadia Mono",Consolas,monospace;color:var(--accent)}
.loading{color:var(--text-3);margin:0}
footer{margin-top:20px;padding-top:14px;border-top:1px solid var(--line);color:var(--text-3);font-size:11.5px}
footer a{color:var(--text-2)}
