.auth-gate{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:22px;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(2px);color:var(--text)}
.auth-gate[hidden]{display:none!important}
.auth-card{width:min(100%,430px);padding:clamp(26px,6vw,42px);border:1px solid var(--line);border-radius:18px;background:var(--panel);box-shadow:0 24px 80px #0005}
.auth-brand{display:inline-flex;align-items:center;justify-content:center;width:100%;margin-bottom:30px}
.auth-brand img{display:block;width:min(230px,75%);height:auto;max-height:64px;object-fit:contain}
:root[data-theme=light] .auth-brand img{filter:brightness(.2)}
.auth-card .eyebrow{display:block;text-align:center;color:var(--accent);letter-spacing:.12em}
.auth-card h1{margin:10px 0 8px;text-align:center;font-size:clamp(23px,5vw,30px);letter-spacing:-.04em}
.auth-card>p{margin:0 0 26px;text-align:center;color:var(--muted);font-size:13px;line-height:1.6}
.auth-card form{display:grid;gap:14px}.auth-card input{width:100%;min-height:48px;font-size:20px;letter-spacing:.22em;text-align:center}.auth-card .btn{width:100%;min-height:48px;font-size:14px}
.auth-card>small{display:block;margin-top:26px;text-align:center;color:var(--muted);font-size:9px;letter-spacing:.12em}
.auth-error{margin:0;color:var(--bad);font-size:12px;text-align:center;line-height:1.5}.auth-error[hidden]{display:none}
.auth-exit{position:static;display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 12px;font:inherit}
.auth-exit[hidden]{display:none}
.auth-pending>*:not(#authGate){visibility:hidden}
@media(max-width:780px){.auth-card{border-radius:14px}}
