.auth-screen{position:fixed;inset:0;z-index:300;background:radial-gradient(ellipse at 50% 0%,#1a2c55 0,transparent 55%),#080d19;display:flex;align-items:center;justify-content:center;padding:20px;overflow:auto}
.auth-screen[hidden]{display:none}.auth-card{width:min(100%,440px);max-height:95dvh;overflow-y:auto;border:1px solid #324767;border-radius:22px;background:#10192a;box-shadow:0 24px 85px #000b;padding:30px}
.auth-brand{display:flex;align-items:center;gap:12px;margin:0 0 26px}.auth-brand img{width:48px;height:48px;border-radius:12px}.auth-brand strong{display:block;font-size:23px;letter-spacing:-.8px}.auth-brand strong span{color:#9ab4ff}.auth-brand small{display:block;color:#91a4c2;letter-spacing:1.1px;font-size:9px;margin-top:2px;font-weight:750}
.auth-card h2{font-size:26px;letter-spacing:-.7px;margin:0 0 9px}.auth-subtitle{font-size:12px;color:#9dadc5;line-height:1.6;margin:0 0 24px}
.auth-tabs{display:flex;padding:4px;gap:5px;background:#0a1220;border-radius:12px;border:1px solid #2b3b55;margin-bottom:20px}.auth-tabs[hidden]{display:none}
.auth-tabs button{flex:1;background:transparent;border:0;color:#8f9fb5;padding:10px;border-radius:9px;font-size:13px;font-weight:700}.auth-tabs button.selected{color:#f4f6ff;background:#253a5d}
.auth-form{display:flex;flex-direction:column;gap:7px}.auth-form[hidden]{display:none}.auth-form label{font-weight:650;font-size:11px;color:#c4cfe1;margin:6px 0 0}
.auth-form input{padding:12px;color:#f0f3ff;background:#0a1220;border:1px solid #354862;border-radius:9px;font-size:13px;width:100%;outline:0}.auth-form input:focus{border-color:#91a7ef}
.auth-names{display:grid;grid-template-columns:1fr 1fr;gap:10px}.auth-names>div{display:flex;flex-direction:column;gap:7px}.auth-names input{min-width:0}
.auth-captcha{margin:12px 0 5px;min-height:70px;display:flex;align-items:center;justify-content:center;color:#7f92b6;font-size:12px}
.auth-submit{width:100%;margin-top:10px;padding:13px;color:#07142a;border:0;border-radius:10px;background:#91aaf7;font-weight:800;font-size:13px}.auth-submit:hover{background:#b0c1ff}
.auth-message{font-size:12px;line-height:1.6;border:1px solid #87454a;background:#2a171e;color:#ffc1c2;border-radius:9px;padding:11px;margin:15px 0 0}.auth-message.success{border-color:#376d62;background:#12302d;color:#99ebd2}.auth-message[hidden]{display:none}
.auth-footer{border-top:1px solid #26354b;margin:24px 0 0;padding-top:16px;text-align:center;font-size:10px;color:#6e88a8;line-height:1.5}
.auth-notice{padding:12px;border:1px solid #34527b;background:#152640;border-radius:10px;font-size:12px;color:#c3d4f0;line-height:1.6;margin:7px 0}.auth-back{border:0;background:none;color:#9db7ed;margin-top:10px;padding:8px}.auth-form input[readonly]{color:#91a0b9;cursor:default}
@media(max-width:480px){.auth-card{padding:21px;border-radius:16px}.auth-brand{margin-bottom:18px}.auth-screen{padding:10px}.auth-card h2{font-size:23px}}

/* FallenAI Verify - accessible branded server-verified proof-of-work indicator */
.auth-captcha{min-height:74px!important;margin:14px 0 5px!important;padding:13px 15px!important;justify-content:flex-start!important;gap:14px;
background:linear-gradient(115deg,#15253f,#101929);border:1px solid #405477;border-radius:15px;color:#cfddf9;
box-shadow:0 8px 23px #03071055;transition:border-color .3s,background .3s}
.auth-captcha.fv-success{border-color:#3b987e;background:linear-gradient(110deg,#122c34,#112438)}
.fv-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:40px;height:40px;border-radius:12px;
font-weight:900;font-size:23px;background:#22395a;color:#9fbcff}
.fv-success .fv-icon{background:#153f3b;color:#84edc6;animation:fv-pop .35s ease-out}
.fv-spinner{animation:fv-pulse 1.25s ease-in-out infinite}
.fv-label{display:flex;flex-direction:column;align-items:flex-start;gap:3px;line-height:1.3}
.fv-label strong{font-size:13px;letter-spacing:.2px;color:#e5ecff}
.fv-label small{font-size:11px;color:#a5b7d2}
@keyframes fv-pop{from{transform:scale(.75)}to{transform:scale(1)}}
@keyframes fv-pulse{50%{opacity:.45;transform:rotate(20deg)}}
@media(prefers-reduced-motion:reduce){.fv-icon,.fv-spinner{animation:none!important}}

/* FallenAI Verify: mandatory manual answer for a new login/signup session. */
.auth-captcha.fv-challenge{display:flex;flex-direction:column;align-items:stretch!important;gap:12px!important;padding:15px!important}
.fv-heading{font-size:12px;font-weight:800;color:#b1c8ff;letter-spacing:.35px}
.fv-question{font-size:16px;font-weight:750;color:#e8f0ff;text-align:center}
.fv-options{display:flex;justify-content:center;flex-wrap:wrap;gap:9px;width:100%}
.fv-answer{min-width:57px;min-height:44px;border:1px solid #6076b5;border-radius:10px;
background:#1c2e50;color:#ecf3ff;font-size:16px;font-weight:750;cursor:pointer}
.fv-answer:focus-visible{outline:2px solid #a5c6ff;outline-offset:3px}
.fv-answer:active{transform:scale(.96)}
.fv-answer:disabled{opacity:.65;cursor:default}
.fv-complete{font-size:12px;color:#a1ebce;text-align:center}
@media(prefers-reduced-motion:reduce){.fv-answer:active{transform:none}}

.auth-password-field{position:relative;width:100%}.auth-password-field input{width:100%;padding-right:50px}.auth-eye{position:absolute;right:5px;top:50%;transform:translateY(-50%);height:38px;width:41px;border:0;border-radius:9px;background:transparent;color:#b7caf5;font-size:19px;cursor:pointer;display:grid;place-items:center}.auth-eye:hover,.auth-eye:focus-visible{background:#263754;outline:2px solid #91a7ef;outline-offset:-2px}.auth-password-match{font-size:12px;color:#ffc1c2;margin:2px 0 4px}.auth-password-match[hidden]{display:none}
