.gate{max-width:380px;margin:12vh auto 0;display:flex;flex-direction:column;gap:14px}
.gate h1{font:800 26px/1.15 var(--display);margin:6px 0 0}
.lead{margin:0;color:var(--muted)}
.card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:20px;display:flex;flex-direction:column;gap:14px}
.field{display:flex;flex-direction:column;gap:6px;font:700 11px/1 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.field input{font:500 16px/1.2 var(--body);letter-spacing:0;text-transform:none;color:var(--text);background:var(--night);border:1px solid var(--line);border-radius:12px;padding:13px 14px}
.field input:focus{outline:2px solid var(--amber);outline-offset:1px}
.go{font:800 13px/1 var(--display);letter-spacing:.06em;color:#0A0F24;background:var(--amber);border:0;border-radius:12px;padding:15px;cursor:pointer}
.go:disabled{opacity:.6}
.msg{margin:0;min-height:1.4em;color:var(--muted);font-size:13px}
.msg.bad{color:#FF4D94}
.link{background:none;border:0;color:var(--text);font:600 14px var(--body);text-decoration:underline;text-underline-offset:4px;cursor:pointer;padding:12px 4px;min-height:44px;align-self:center}
.link:disabled{opacity:.6;cursor:default}
.link:focus-visible{outline:2px solid var(--amber);outline-offset:2px;border-radius:6px}
.gate-logo{width:min(240px,64vw);height:auto;align-self:center;margin-bottom:8px}
.gate h1,.gate .lead{text-align:center}
