.jba-auth-body{min-height:100svh;margin:0;background:#000;color:var(--jba-text);font-family:var(--jba-font,"Manrope",system-ui,sans-serif);-webkit-font-smoothing:antialiased}
.jba-auth-header{height:100px;max-width:1320px;padding:0 44px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px}
.jba-auth-brand{display:inline-flex;text-decoration:none;color:inherit;align-items:center}.jba-auth-brand:focus-visible{outline:2px solid #a82bf0;outline-offset:6px;border-radius:5px}
.jba-auth-area{display:inline-flex;gap:8px;align-items:center;font-size:12px;color:var(--jba-text)}.jba-auth-area svg{width:16px;height:16px;color:var(--jba-text)}
.jba-auth-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:70px;align-items:center;max-width:1220px;min-height:calc(100svh - 100px);margin:0 auto;padding:28px 44px 54px}
.jba-auth-intro{align-self:stretch;display:flex;flex-direction:column;justify-content:center;min-width:0;position:relative;overflow:hidden;animation:jba-auth-enter .45s ease both}
.jba-auth-eyebrow{display:flex;gap:10px;align-items:center;font-size:12px;font-weight:600;color:var(--jba-red);letter-spacing:.025em}.jba-auth-eyebrow>span{color:var(--jba-red);font-size:21px}
.jba-auth-intro h1{font-size:clamp(35px,3.8vw,52px);line-height:1.13;letter-spacing:-.055em;font-weight:700;margin:20px 0 17px;max-width:590px}.jba-auth-intro h1>span{color:var(--jba-text)}
.jba-auth-intro>p{font-size:14px;line-height:1.8;color:var(--jba-text);max-width:390px;margin:0}
.jba-auth-art{position:relative;margin:14px 0 0;height:360px;width:100%;max-width:510px;isolation:isolate;overflow:hidden}
.jba-auth-orbit{position:absolute;width:320px;height:320px;border:1px solid #35104a;border-radius:50%;top:24px;left:76px;z-index:-1}.jba-auth-orbit:after{content:"";position:absolute;inset:24px;border:1px solid #1f1028;border-radius:50%}
.jba-auth-mascot{display:block;height:430px;width:auto;max-width:100%;object-fit:contain;position:relative;margin:5px auto 0;mask-image:linear-gradient(#000 78%,transparent 100%);-webkit-mask-image:linear-gradient(#000 78%,transparent 100%)}
.jba-auth-suit{position:absolute;color:var(--jba-text);z-index:2}.jba-auth-suit--one{font-size:25px;right:12px;top:74px;transform:rotate(12deg)}.jba-auth-suit--two{font-size:28px;left:19px;bottom:102px;transform:rotate(-17deg)}
.jba-auth-caption{position:absolute;left:18px;bottom:17px;display:flex;align-items:center;gap:12px;background:#000;border:1px solid #292929;border-radius:10px;padding:12px 16px;color:var(--jba-text);font-size:12px;box-shadow:none}.jba-auth-caption svg{width:20px;height:20px;color:var(--jba-text)}.jba-auth-caption strong{color:var(--jba-text);font-weight:600}
.jba-auth-panel{width:100%;max-width:440px;justify-self:end;min-width:0;animation:jba-auth-enter .45s .06s ease both}
.jba-auth-card{padding:34px;background:#000;border:1px solid #252525;border-radius:18px;box-shadow:none;position:relative;overflow:hidden}
.jba-auth-lock{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid #341347;background:#000;color:var(--jba-text);border-radius:12px;margin-bottom:24px}.jba-auth-lock svg{width:20px;height:20px}
.jba-auth-label{margin:0 0 10px;font-size:11px;color:var(--jba-text);text-transform:uppercase;letter-spacing:.14em;font-weight:600}
.jba-auth-card h2{font-size:27px;line-height:1.25;letter-spacing:-.045em;margin:0 0 12px;font-weight:700;color:var(--jba-text)}
.jba-auth-description{font-size:13px;line-height:1.8;color:var(--jba-text);margin:0 0 25px}.jba-auth-description strong{font-weight:600;color:var(--jba-text)}.jba-auth-email{overflow-wrap:anywhere;margin-bottom:16px}
.jba-auth-form{display:flex;flex-direction:column;gap:0;margin:0}.jba-auth-field{display:flex;flex-direction:column;gap:9px;font-size:12px;font-weight:500;color:var(--jba-text);margin:0 0 20px}.jba-auth-field[for=password]{margin-bottom:9px}
.jba-auth-body .jba-input{width:100%;height:49px;min-width:0;background:#000;border:1px solid #303030;border-radius:9px;padding:0 14px;font:inherit;font-size:14px;font-weight:400;color:var(--jba-text);transition:border-color .2s,box-shadow .2s}.jba-auth-body .jba-input::placeholder{color:var(--jba-text)}.jba-auth-body .jba-input:focus{outline:0;border-color:#a329e9;box-shadow:none}
.jba-auth-password{position:relative;margin-bottom:23px}.jba-auth-password .jba-input{padding-right:49px}.jba-auth-password-toggle{position:absolute;right:2px;top:2px;width:45px;height:45px;display:grid;place-items:center;border:0;background:transparent;border-radius:7px;cursor:pointer;color:var(--jba-text)}.jba-auth-password-toggle:hover{color:var(--jba-text);background:#000}.jba-auth-password-toggle:focus-visible{outline:2px solid #a82bf0;outline-offset:-3px}.jba-auth-password-toggle svg{width:19px;height:19px}
.jba-auth-body .jba-auth-submit{width:100%;min-height:49px;display:flex;align-items:center;justify-content:center;gap:12px;font-size:13px;font-weight:700;border-radius:9px}.jba-auth-submit svg{width:17px;height:17px}.jba-auth-security-note{display:flex;align-items:flex-start;gap:8px;border-top:1px solid #222;margin:25px 0 0;padding-top:19px;font-size:11px;line-height:1.7;color:var(--jba-text)}.jba-auth-security-note svg{flex:none;width:14px;height:14px;margin-top:2px;color:var(--jba-text)}
.jba-auth-footer{text-align:center;margin:20px 0 0;font-size:11px;letter-spacing:.035em;color:var(--jba-text)}.jba-auth-footer span{margin:0 7px;color:var(--jba-text)}
.jba-auth-body .jba-alert{margin:0 0 20px;font-size:12px;line-height:1.7}.jba-auth-restart{margin:11px 0 0}.jba-auth-restart .jba-button{min-height:44px;width:100%;font-size:12px}
.jba-auth-qr{background:#fff;border-radius:10px;padding:10px;margin:0 auto 20px;width:244px;max-width:100%}.jba-auth-qr img{display:block;max-width:100%;height:auto}.jba-auth-manual{margin:0 0 20px;color:var(--jba-text);font-size:12px;line-height:1.7}.jba-auth-manual summary{cursor:pointer;min-height:30px}.jba-auth-manual p{margin:8px 0;color:var(--jba-text)}.jba-auth-key{font-family:ui-monospace,monospace;overflow-wrap:anywhere;background:#000;border:1px solid #292929;border-radius:7px;padding:10px;color:var(--jba-text)}.jba-auth-body .jba-auth-otp{font-family:ui-monospace,monospace;text-align:center;letter-spacing:.4em;padding-left:calc(14px + .4em);font-size:24px}
@keyframes jba-auth-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1400px){.jba-auth-art{height:390px}.jba-auth-mascot{height:460px}}
@media(max-width:1000px){.jba-auth-layout{gap:35px;padding-left:30px;padding-right:30px}.jba-auth-header{padding-left:30px;padding-right:30px}.jba-auth-card{padding:28px}.jba-auth-intro h1{font-size:38px}.jba-auth-orbit{left:30px;width:280px;height:280px}.jba-auth-art{height:330px}.jba-auth-mascot{height:390px}}
@media(max-width:760px){.jba-auth-header{height:88px;padding:0 24px}.jba-auth-area{font-size:11px;gap:6px}.jba-auth-area svg{width:14px;height:14px}.jba-auth-layout{min-height:calc(100svh - 88px);display:flex;align-items:center;justify-content:center;padding:24px 24px 50px}.jba-auth-intro{display:none}.jba-auth-panel{max-width:440px;justify-self:auto}.jba-auth-card{padding:30px 26px}.jba-auth-card h2{font-size:26px}}
@media(max-width:360px){.jba-auth-header{padding:0 17px}.jba-auth-layout{padding:16px 17px 38px}.jba-auth-card{padding:26px 20px}.jba-auth-card h2{font-size:24px}.jba-auth-area{font-size:11px}.jba-auth-body .jba-input{font-size:16px}}
@media(prefers-reduced-motion:reduce){.jba-auth-intro,.jba-auth-panel{animation:none}.jba-auth-body .jba-input{transition:none}}
@media(max-width:760px){.jba-auth-body .jba-input{font-size:16px}.jba-auth-body .jba-auth-otp{font-size:24px}}
.jba-auth-turnstile{width:100%;max-width:100%;margin:0 0 10px;min-height:65px}.jba-auth-security-status{color:var(--jba-text);font-size:11px;line-height:1.7;margin:0 0 14px;overflow-wrap:anywhere}.jba-auth-security-status:empty{display:none}

/* Keep saved-login fields on the black surface. */
.jba-auth-body input:-webkit-autofill,.jba-auth-body input:-webkit-autofill:hover,.jba-auth-body input:-webkit-autofill:focus{-webkit-text-fill-color:#fff;caret-color:#fff;-webkit-box-shadow:0 0 0 1000px #000 inset}
