.registration .login-form{max-height:100vh;overflow-y:auto;padding-top:38px;padding-bottom:38px}.registration .login-form h1{margin-top:22px}.registration form{gap:14px}.signup-link{margin-top:22px}.signup-link button{background:none;border:0;cursor:pointer;font:inherit}.location-field{position:relative;display:grid;gap:8px}.location-field>label{margin:0}.location-field small{color:var(--muted);font-size:12px}#location-suggestions{max-height:220px;overflow-y:auto;border:1px solid var(--border,#dce3ef);border-radius:10px;background:var(--card,#fff);padding:5px}#location-suggestions[hidden]{display:none}#location-suggestions button{display:block;text-align:left;width:100%;padding:12px;border:0;border-radius:6px;background:transparent;color:inherit;cursor:pointer;font:inherit;font-size:13px}#location-suggestions button:hover,#location-suggestions button:focus{background:rgba(24,84,232,.12);outline:2px solid #1854e8;outline-offset:-2px}.registration input[name=referralCode]{text-transform:uppercase}.registration .login-art{position:sticky;top:0;max-height:100vh}html[data-theme=dark] #location-suggestions{background:#151f33}@media(max-width:800px){.registration .login-form{max-height:none}.registration .login-art{position:static}}
/* Registration follows the viewport, with a compact two-column form on wider screens. */
.login.registration{grid-template-columns:minmax(280px, .8fr) minmax(0, 1.2fr);min-height:100vh;min-height:100dvh;align-items:start}
.registration .login-art{height:100vh;height:100dvh;padding:clamp(28px,4vw,60px);min-width:0}
.registration .login-art h1{font-size:clamp(32px,3.5vw,54px);overflow-wrap:break-word}
.registration .login-form{max-width:760px;width:100%;min-width:0;max-height:none;overflow:visible;align-content:start;padding:clamp(20px,3vw,44px);margin:auto}
.registration .login-appearance{margin-bottom:4px}
.registration .login-form>h1{margin:16px 0 10px;font-size:clamp(25px,2.5vw,32px)}
.registration .login-form>p{margin:0 0 18px}
.registration form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px;align-items:start}
.registration form>label,.registration .password-field,.registration .location-field{margin:0;min-width:0}
.registration form>.help,.registration form>.error,.registration form>button,.registration form>label:has(input[name=referralCode]){grid-column:1/-1}
.registration form>.help{margin:0;line-height:1.5}
.registration form>.error{min-height:0;margin:0}
.registration form>.error:empty{display:none}
.registration form>button{min-height:44px;width:100%}
.registration .login-form>button{justify-self:start;background:transparent;border:0;padding:4px 0;cursor:pointer;font:inherit;font-size:13px}
.registration .login-form>p:last-child{margin:14px 0 0}
.registration input{font-size:16px;max-width:100%}
.registration .location-field small{line-height:1.5}
#location-suggestions{max-height:min(220px,35dvh);overflow-wrap:anywhere}
@media(max-width:820px){.login.registration{grid-template-columns:minmax(0,1fr)}.registration .login-art{display:none}.registration .login-form{max-width:720px;padding:24px clamp(18px,4vw,32px)}}
@media(max-width:540px){.registration form{grid-template-columns:minmax(0,1fr);gap:16px}.registration form>*{grid-column:1}.registration .login-form{padding:20px 18px 28px}.registration .login-form>h1{margin-top:18px}}
@media(max-height:700px) and (min-width:821px){.registration .login-form{padding-top:18px;padding-bottom:18px}.registration .login-art{padding-top:28px;padding-bottom:28px}.registration form{gap:12px 16px}}
.registration form>.registration-agreement{grid-column:1/-1;margin:0;align-items:flex-start;line-height:1.6}.registration-agreement input{flex:0 0 18px;margin-top:2px}.registration-agreement .textlink{font-size:inherit;text-decoration:underline}.registration-agreement small{color:#7888a6}.terms-page{max-width:800px;margin:0 auto;padding:32px 22px 60px;line-height:1.75}.terms-page .brand{color:#1854e8}.terms-page .brand-logo{width:42px;height:42px;object-fit:contain}.terms-page h1{margin-top:32px}.terms-page h2{font-size:19px;margin-top:28px}.terms-page .banner{display:block;padding:18px}.terms-page a.textlink{font-size:14px}
.forgot-link{display:flex;justify-content:flex-end;margin:4px 0 12px}.forgot-link button,.auth-back{border:0;background:transparent;cursor:pointer;padding:4px 0}.auth-back{justify-self:start}.login-form:has(#password-help){max-width:520px}#password-help-result{font-size:13px;line-height:1.7}#password-help-result:empty{display:none}
/* Sign-in refresh: matches the public site's navy, blue and red palette. */
.login.login-refresh{min-height:100vh;min-height:100dvh;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:#f8faff;color:#0f1a33}
.login-refresh .login-art{min-height:100vh;min-height:100dvh;padding:45px 55px 30px;background:radial-gradient(ellipse at 100% 15%,#1f5fe050,transparent 55%),linear-gradient(145deg,#071433,#0b2a73);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;position:relative}
.login-refresh .login-art:after{width:600px;height:600px;left:auto;right:-350px;top:auto;bottom:-300px;box-shadow:0 0 0 70px #244ea314,0 0 0 71px #426fc023,0 0 0 140px #244ea310;border-color:#426fc029;opacity:1;pointer-events:none}
.login-refresh .auth-home-brand{width:max-content;color:white;font-size:28px;letter-spacing:-.8px;gap:12px;position:relative;z-index:1}
.login-refresh .auth-logo-tile{width:43px;height:43px;border-radius:12px;display:grid;place-items:center;background:#fff;box-shadow:0 4px 14px #0002}.login-refresh .auth-home-brand .brand-logo{width:33px;height:33px;border-radius:0;box-shadow:none}
.auth-story{padding-top:38px;position:relative;z-index:1}.auth-eyebrow{display:flex;gap:8px;align-items:center;font-size:8px;letter-spacing:1.8px;color:#9db6ea;font-weight:600}.auth-eyebrow i{width:6px;height:6px;background:#e8312f;border-radius:50%;box-shadow:0 0 0 4px #e8312f15}
.login-refresh .login-art h1{font-size:clamp(36px,3.6vw,55px);line-height:1.12;letter-spacing:-2px;font-weight:650;margin:23px 0 18px;max-width:none;color:white}.login-refresh .login-art h1 span{color:#99bcff}.login-refresh .auth-story>p{font-size:12px;line-height:1.85;color:#a1b8e2;margin:0;max-width:none}
.auth-visual{height:210px;max-width:390px;position:relative;margin-top:22px;isolation:isolate}.auth-orbit{position:absolute;border:1px solid #7ca4f428;border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-25deg);width:280px;height:160px}.orbit-inner{width:190px;height:115px;transform:translate(-50%,-50%) rotate(26deg);border-color:#7ca4f41c}.auth-core{width:72px;height:72px;display:grid;place-items:center;border-radius:22px;background:linear-gradient(140deg,#fff,#dce7ff);box-shadow:0 0 0 12px #6094ff0d,0 20px 45px #0002;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-8deg)}.auth-core img{width:47px;height:47px;object-fit:contain}.auth-float{position:absolute;display:flex;align-items:center;gap:10px;border:1px solid #ffffff20;background:#ffffff0a;border-radius:8px;padding:12px 15px;font-size:9px;color:#d2e0fa;backdrop-filter:blur(10px);box-shadow:0 10px 20px #0001}.auth-float .icon{width:17px;height:17px;color:#8eaff4}.auth-float-wallet{top:22px;left:12px;transform:rotate(-5deg)}.auth-float-activity{bottom:22px;right:0;transform:rotate(5deg)}.auth-orbit-dot{width:8px;height:8px;background:#e8312f;box-shadow:0 0 0 5px #e8312f12;position:absolute;top:38px;right:65px;border-radius:50%}
.auth-art-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:7px;letter-spacing:1.5px;color:#6684ba;border-top:1px solid #ffffff12;padding-top:23px;position:relative;z-index:1}.auth-art-footer a{display:flex;align-items:center;gap:5px;font-size:9px;letter-spacing:0;color:#9db6e4}.auth-art-footer a .icon{width:12px;height:12px}
.login-refresh .login-form{display:flex;flex-direction:column;justify-content:space-between;align-content:normal;max-width:none;min-height:100vh;min-height:100dvh;margin:0;padding:32px 45px 24px;position:relative}.auth-form-top{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%}.login-refresh .login-appearance{margin:0;display:flex}.auth-back-home{font-size:10px;color:#8190ac;display:flex;align-items:center;gap:7px}.auth-back-home .icon{width:13px;height:13px;transform:rotate(180deg)}.auth-form-content{max-width:355px;width:100%;margin:45px auto}.auth-form-eyebrow{font-size:7px;letter-spacing:1.6px;color:#8d9db8;font-weight:600}.login-refresh .login-form h1{font-size:36px;font-weight:650;letter-spacing:-1.3px;line-height:1.2;margin:15px 0 11px;color:#0f1a33}.login-refresh .login-form h1>span{color:#e8312f}.auth-form-content>.muted{font-size:12px;line-height:1.7;margin:0 0 30px;color:#8a98b1}.login-refresh #login{display:flex;flex-direction:column;gap:18px}.login-refresh #login>label,.login-refresh #login>.password-field{margin:0}.login-refresh #login label{font-size:11px;color:#4f638b;gap:9px;font-weight:500}.login-refresh #login input{min-height:47px;background:#fff;border:1px solid #dce4f2;border-radius:8px;color:#14254c;font-size:12px;padding:13px 14px;box-shadow:0 2px 3px #10295702}.login-refresh #login input::placeholder{color:#a4b0c5}.login-refresh #login input:focus{border-color:#6793ee;outline:3px solid #1f5fe012;outline-offset:0}.login-refresh #login .password-control input{padding-right:87px}.login-refresh .password-toggle{background:#f0f4fd;color:#5d78aa;border-radius:5px;padding:7px 9px;font-size:10px}.login-refresh .forgot-link{margin:-7px 0 1px}.login-refresh .forgot-link button{font-size:10px;color:#1f5fe0}.login-refresh #login>.btn.primary{width:100%;display:flex;justify-content:space-between;align-items:center;min-height:47px;background:#1f5fe0;border:1px solid #1f5fe0;color:#fff;border-radius:8px;padding:13px 17px;font-size:12px;font-weight:600;box-shadow:0 7px 15px #1f5fe018}.login-refresh #login>.btn.primary:hover{background:#174cb8}.login-refresh #login>.btn.primary .icon{width:16px;height:16px}.login-refresh #login>.error{margin:0;min-height:0;line-height:1.6;font-size:11px}.login-refresh #login>.error:empty{display:none}.auth-create-account{margin-top:25px;padding:21px 0;border-top:1px solid #e6ebf5;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;color:#91a0b8}.auth-create-account button{border:0;background:none;padding:0;cursor:pointer;display:flex;align-items:center;gap:4px;font-size:11px;font-weight:600;color:#1f5fe0}.auth-create-account .icon{width:12px;height:12px}.auth-session-note{display:flex;align-items:center;justify-content:center;gap:7px;font-size:9px;line-height:1.8;color:#a5b0c3;margin:7px 0 0}.auth-session-note .icon{width:12px;height:12px;color:#9dabc0}.auth-form-footer{display:flex;align-items:center;justify-content:space-between;font-size:8px;color:#a2aec3;gap:20px}.auth-form-footer a{display:flex;align-items:center;gap:4px}.auth-form-footer .icon{width:10px;height:10px}.auth-mobile-brand{display:none}
html[data-theme=dark] .login.login-refresh{background:#0e192b;color:#dbe5f7}html[data-theme=dark] .login-refresh .login-art{background:radial-gradient(ellipse at 100% 15%,#1f5fe035,transparent 55%),linear-gradient(145deg,#061129,#0b2255)}html[data-theme=dark] .login-refresh .login-form h1{color:#e8eefb}html[data-theme=dark] .login-refresh #login input{background:#12213a;border-color:#2c3e5f;color:#e0e9fa}html[data-theme=dark] .login-refresh #login label{color:#a6b8d6}html[data-theme=dark] .login-refresh .password-toggle{background:#213657;color:#9ebbed}html[data-theme=dark] .auth-create-account{border-color:#253653}html[data-theme=dark] .auth-create-account button,html[data-theme=dark] .login-refresh .forgot-link button{color:#8eb2fc}
@media(min-width:1500px){.login-refresh .login-art{padding:55px 75px 35px}.login-refresh .login-form{padding:38px 60px 30px}.auth-visual{height:255px;max-width:450px}.auth-story{padding-top:45px}.auth-form-content{max-width:385px}}
@media(max-width:1000px){.login-refresh .login-art{padding:35px 32px 25px}.login-refresh .login-form{padding:28px 32px 23px}.login-refresh .login-art h1{font-size:39px}.auth-art-footer{font-size:5px;gap:12px}.auth-art-footer a{font-size:8px}.auth-visual{height:200px}.auth-float-wallet{left:0;padding:10px 12px}.auth-float-activity{font-size:8px;padding:10px 12px}.login-refresh .login-form h1{font-size:32px}}
@media(max-width:820px){.login.login-refresh{display:block;min-height:100vh;min-height:100dvh}.login-refresh .login-art{display:none}.login-refresh .login-form{min-height:100vh;min-height:100dvh;padding:25px 25px 22px;max-width:540px;margin:auto}.auth-mobile-brand{display:flex;color:#071433;font-size:25px;gap:9px}.auth-mobile-brand .brand-logo{width:32px;height:32px}.auth-back-home{display:none}.auth-form-content{margin:55px auto 45px;max-width:365px}.login-refresh .login-form h1{font-size:35px}.auth-form-footer{font-size:8px}.auth-create-account{font-size:10px}.auth-create-account button{font-size:10px}html[data-theme=dark] .auth-mobile-brand{color:#e6eefd}}
@media(prefers-reduced-motion:no-preference){.auth-float-wallet{animation:auth-drift 8s ease-in-out infinite}.auth-float-activity{animation:auth-drift 8s -4s ease-in-out infinite}@keyframes auth-drift{50%{translate:0 -6px}}}
/* Focused account creation layout */
.login.registration{grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr);align-items:stretch}
.registration .login-art{padding:clamp(32px,4vw,64px)}
.registration .login-art h1{font-weight:600;letter-spacing:-1.5px;line-height:1.14;max-width:440px}
.registration .login-form{max-width:536px;padding:28px 40px 36px;align-self:center;position:relative}
.registration .login-appearance{margin:0 0 4px;min-height:34px}
.registration .login-form>h1{font-size:30px;letter-spacing:-.8px;margin:18px 0 10px;line-height:1.2}
.registration .login-form>p.muted{font-size:14px;line-height:1.6;margin-bottom:26px}
.registration #registration{grid-template-columns:minmax(0,1fr);gap:17px}
.registration #registration>*{grid-column:1/-1;min-width:0}
.registration #registration label{font-size:13px;font-weight:500;gap:8px}
.registration #registration input:not([type=checkbox]){height:48px;padding:12px 14px;border-radius:9px;font-size:14px;transition:border-color .15s,box-shadow .15s}
.registration #registration input:focus-visible{outline:none;border-color:#1854e8;box-shadow:0 0 0 3px #1854e81a}
.registration #registration input[name=referralCode]{letter-spacing:1.3px}
.registration #registration input[name=referralCode]::placeholder{text-transform:none;letter-spacing:0}
.registration #registration .password-control input{padding-right:90px}
.registration #registration>.help{margin-top:-10px;font-size:12px;line-height:1.5}
.registration #registration>.registration-agreement{padding:2px 0;border:0;border-radius:0;font-size:12px;font-weight:400;gap:10px;line-height:1.65;margin:3px 0}
.registration-agreement input{width:17px;height:17px;margin-top:2px}
.registration-agreement .terms-new-tab{display:block;font-size:11px}
.registration #registration>.btn.primary{height:48px;border-radius:9px;font-size:14px;font-weight:600;gap:10px;box-shadow:0 4px 10px #1854e81a}
.registration .login-form>p:last-child{font-size:11px;text-align:center;margin-top:16px}
.registration-mobile-brand{display:none}
html[data-theme=dark] .registration .registration-agreement{border:0;background:transparent}
@media(max-width:820px){.login.registration{grid-template-columns:minmax(0,1fr)}.registration .login-form{max-width:520px;padding:28px 28px 40px;align-self:start}.registration-mobile-brand{display:flex;align-items:center;gap:10px;font-size:23px;color:inherit;margin:4px 0 18px}.registration-mobile-brand .brand-logo{width:38px;height:38px}.registration .login-appearance{position:absolute;right:28px;top:32px}.registration .login-form>h1{margin-top:24px}}
@media(max-width:420px){.registration .login-form{padding:22px 22px 32px}.registration .login-appearance{right:22px;top:26px}.registration .login-form>h1{font-size:28px}.registration #registration{gap:16px}}
@media(prefers-reduced-motion:reduce){.registration #registration input{transition:none}}
@media(min-width:821px) and (max-height:780px){.registration .login-form{padding-top:18px;padding-bottom:20px}.registration .login-appearance{min-height:30px}.registration .login-form>h1{margin-top:12px;font-size:28px}.registration .login-form>p.muted{margin-bottom:18px;font-size:13px}.registration #registration{gap:12px}.registration #registration input:not([type=checkbox]){height:44px}.registration #registration>.help{margin-top:-7px}.registration #registration>.btn.primary{height:44px}.registration .login-form>p:last-child{margin-top:12px}.registration-agreement .terms-new-tab{display:inline}}
