@font-face{font-family:Montserrat;src:url('/assets/montserrat-latin.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{color-scheme:dark;--text:#f9f9ff;--muted:#bdb7ce}
*{box-sizing:border-box}
body{margin:0;min-height:100svh;display:grid;place-items:center;padding:28px 20px;background:radial-gradient(ellipse at 50% 0,#302047 0,transparent 70%),#0d0d1b;color:var(--text);font:400 13px/1.6 Montserrat,Arial,sans-serif}
main{width:100%;max-width:430px;padding:28px 32px 22px;border:1px solid #4b3e63;border-radius:20px;background:#1b163c;box-shadow:0 24px 80px #00000038}
.brand{display:block;width:220px;height:auto;max-width:100%;margin:-12px 0 10px -29px}
h1{font-size:23px;line-height:1.35;letter-spacing:-.5px;font-weight:600;margin:0 0 8px}
p{margin:0 0 22px;color:var(--muted)}
.intro{font-size:12px;line-height:1.7;margin-bottom:26px}
label{display:block;font-size:13px;font-weight:600;margin-bottom:9px}
.key-input{display:flex;align-items:center;min-height:52px;border:1px solid #77668f;border-radius:10px;background:#100c24;overflow:hidden}
.key-input:focus-within{border-color:#be9cfb;box-shadow:0 0 0 3px #ad80ef24}
input[type=password],input[type=text]{width:100%;min-width:0;border:0;outline:0;padding:15px 14px;color:var(--text);background:transparent;font:400 14px/1.4 Montserrat,Arial,sans-serif}
input::placeholder{color:#a299b5;opacity:1}
button{font:600 13px/1.5 Montserrat,Arial,sans-serif;cursor:pointer}
.reveal{border:0;background:transparent;color:#d1b7fc;padding:14px 15px 14px 7px;font-size:12px;flex:none}
.primary{display:block;min-height:49px;width:100%;margin-top:22px;border:1px solid #9d78d9;border-radius:11px;background:linear-gradient(125deg,#7950bd,#58358b);color:white;box-shadow:inset 0 1px #ffffff18}
.primary:hover{background:linear-gradient(125deg,#895dcc,#68419d)}
.primary[aria-busy=true]{cursor:wait;opacity:.8}
.cancel{display:block;width:100%;min-height:44px;margin-top:6px;color:#c7bdd8;border:0;background:transparent;font-size:12px;font-weight:500}
.cancel:hover,.reveal:hover{color:#fff}
button:focus-visible{outline:2px solid #c39aff;outline-offset:4px}
.error{color:#ffe1e6;border-left:3px solid #ed9bad;padding:10px 12px;margin-bottom:18px;background:#482334;border-radius:4px;font-size:12px}
code{display:block;overflow-wrap:anywhere;font-size:12px;color:#d7c2fc;margin:20px 0}
@media(max-width:440px){body{padding:22px 16px}main{padding:25px 23px 18px;border-radius:17px}.brand{width:195px;margin:-10px 0 12px -23px}h1{font-size:22px}.intro{font-size:11px}}
@media(prefers-reduced-motion:no-preference){button{transition:background .12s,color .12s}}

.signup{margin:10px 0 0;font-size:12px;line-height:1.6;color:var(--muted)}
.signup a{color:#d1b7fc;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.signup a:hover{color:#fff}
.signup a:focus-visible{outline:2px solid #c39aff;outline-offset:4px;border-radius:2px}
