@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&family=Sora:wght@500;600;700&display=swap');

#acb-auth,#acb-auth *{box-sizing:border-box}
#acb-auth{--lime:#a8ff18;color:#e9eee9;font-family:Arial,sans-serif;min-height:100svh;padding:28px;position:relative;isolation:isolate;display:grid;place-items:center;background:#080b09}
#acb-auth .auth-background{position:fixed;inset:0;width:100%;height:100%;border:0;z-index:-1;pointer-events:none}
#acb-auth .auth-layout{width:min(1180px,100%);display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:70px;align-items:center}
#acb-auth .auth-art{height:640px;mix-blend-mode:screen}
#acb-auth .auth-art iframe{width:100%;height:100%;border:0}
#acb-auth .auth-deck{position:relative;min-width:0;perspective:1200px}
#acb-auth .auth-card{position:relative;padding:90px 34px 34px;min-height:760px;border:1px solid #ffffff16;border-radius:26px;background:#0c120e;box-shadow:0 25px 65px #0006;overflow:hidden;isolation:isolate}
#acb-auth .auth-card:before{content:"";position:absolute;inset:-80%;background:conic-gradient(transparent 0deg 120deg,#a8ff1870 160deg,transparent 200deg 290deg,#27d87955 325deg,transparent);animation:auth-spin 10s linear infinite;z-index:-2;pointer-events:none}
#acb-auth .auth-card:after{content:"";position:absolute;inset:1px;border-radius:25px;background:linear-gradient(160deg,#121812,#0b100c);z-index:-1;pointer-events:none}
#acb-auth small{color:var(--lime);font-size:10px;letter-spacing:2px}
#acb-auth h1{font-size:25px;line-height:1.2;letter-spacing:-.7px;color:#fff;margin:12px 0}
#acb-auth p{font-size:12px;line-height:1.6;color:#98a195;margin:12px 0 20px}
#acb-auth a{color:#cad4c4}
#acb-auth .acb-field{display:block;margin:0 0 15px}
#acb-auth .acb-field span{display:block;font-size:11px;line-height:1.5;margin-bottom:7px;color:#edf1ed}
#acb-auth input:not([type=hidden]){width:100%;height:43px;border:1px solid #ffffff24;border-radius:11px;background:#171b18;color:#fff;padding:0 13px;font:inherit;font-size:13px}
#acb-auth input:focus{outline:2px solid #a8ff1870;outline-offset:2px}
#acb-auth .acb-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
#acb-auth .acb-submit,#acb-auth .auth-apple{display:flex;align-items:center;justify-content:center;width:100%;min-height:46px;border:1px solid #ffffff24;border-radius:12px;background:radial-gradient(circle at var(--px,50%) var(--py,50%),#a8ff1815,transparent),linear-gradient(#171b18,#0e110f);color:#fff;text-decoration:none;font:inherit;font-size:12px;cursor:pointer;padding:10px}
#acb-auth .acb-submit:hover{border-color:#a8ff1880;box-shadow:0 0 18px #a8ff1818}
#acb-auth .auth-social{display:grid;grid-template-columns:1fr 1fr;gap:8px}
#acb-auth .auth-social p{margin:0}
#acb-auth .auth-social a,#acb-auth .auth-social button{font-size:11px;min-height:44px;padding:7px}
#acb-auth .auth-switch{position:absolute;right:23px;top:22px;z-index:8;display:flex;width:204px;background:#090d09;border:1px solid #ffffff16;border-radius:11px;padding:4px;isolation:isolate}
#acb-auth .auth-switch:before{content:"";position:absolute;left:4px;top:4px;bottom:4px;width:calc(50% - 4px);background:#243615;border:1px solid #a8ff1840;border-radius:8px;z-index:-1;transition:transform 260ms}
#acb-auth[data-mode=signup] .auth-switch:before{transform:translateX(100%)}
#acb-auth .auth-switch button{flex:1;padding:8px 4px;border:0;background:none;color:#a1ab9c;font-size:10px;text-transform:uppercase;cursor:pointer}
#acb-auth .auth-switch [aria-pressed=true]{color:var(--lime)}
#acb-auth [hidden]{display:none!important}
#acb-auth .auth-out{position:absolute;inset:0;z-index:3;pointer-events:none;animation:auth-out 680ms ease both}
#acb-auth .auth-in{animation:auth-in 680ms ease both}
#acb-auth .acb-error{color:#ffb8a9;border:1px solid #b35d49;padding:10px;border-radius:8px}
#acb-auth .cf-turnstile{margin:16px 0}
@keyframes auth-spin{to{transform:rotate(360deg)}}
@keyframes auth-out{to{opacity:0;transform:translateX(-32px) scale(.96)}}
@keyframes auth-in{from{opacity:0;transform:translateX(24px) scale(.96)}to{opacity:1;transform:none}}
@media(max-width:900px){#acb-auth{padding:18px 12px}#acb-auth .auth-layout{display:block;max-width:420px}#acb-auth .auth-art{display:none}#acb-auth .auth-card{padding:86px 22px 30px}}
@media(prefers-reduced-motion:reduce){#acb-auth *,#acb-auth *:before{animation:none!important;transition:none!important}}
/* Match approved visual dimensions without changing form contracts. */
#acb-auth{font-family:Manrope,Arial,sans-serif}
#acb-auth .auth-layout{align-items:center;min-height:780px}
#acb-auth .auth-art{height:640px;align-self:center}
#acb-auth .auth-card{padding-top:88px;min-height:780px}
#acb-auth .auth-card h1{font-family:Sora,Arial,sans-serif;font-size:25px;line-height:1.15}
#acb-auth .auth-card button,#acb-auth .auth-card input{font-family:inherit}
#acb-auth .auth-out{animation:auth-depart-approved 680ms cubic-bezier(.22,.61,.36,1) both}
#acb-auth .auth-in{animation:auth-arrive-approved 680ms cubic-bezier(.22,.61,.36,1) both}
@keyframes auth-depart-approved{0%{opacity:1;transform:none}45%{opacity:.8;transform:translateX(-22px) scale(.975)}100%{opacity:0;transform:translateX(-42px) scale(.95)}}
@keyframes auth-arrive-approved{0%{opacity:0;transform:translateX(28px) scale(.955)}28%{opacity:.35}70%{opacity:1}100%{opacity:1;transform:none}}
#acb-auth .auth-submit-wrap{position:relative;height:48px;isolation:isolate;border-radius:13px;overflow:hidden;background:#ffffff18;margin-top:2px}
#acb-auth .auth-submit-ring{position:absolute;inset:-350%;background:conic-gradient(transparent 0deg 50deg,#a8ff18 85deg,#27d879 125deg,transparent 175deg 245deg,#d5ff77 290deg,transparent 345deg);animation:auth-spin 7s linear infinite;opacity:.38;transition:opacity .3s}
#acb-auth .auth-submit-wrap .acb-submit{position:absolute;inset:1px;width:calc(100% - 2px);height:46px;min-height:0;border:0;z-index:1}
#acb-auth .auth-submit-wrap:hover .auth-submit-ring{opacity:1;animation-duration:2.7s}
#acb-auth .auth-submit-wrap:active .auth-submit-ring{animation-duration:.8s}
@media(max-width:900px){#acb-auth .auth-card{padding-top:86px}}
@media(prefers-reduced-motion:reduce){#acb-auth .auth-out,#acb-auth .auth-in,#acb-auth .auth-submit-ring{animation:none!important}}
#acb-auth{width:100%;margin:0;min-height:100svh;padding:28px}
#acb-auth .auth-card{padding:88px 34px 34px}
#acb-auth .acb-auth-content>p:first-of-type{font-size:12px;line-height:1.55;margin:9px 0 25px}
#acb-auth h1{font-weight:700;margin:10px 0 0}
#acb-auth .auth-social{margin-top:24px;gap:8px}
#acb-auth .auth-social a,#acb-auth .auth-social button{height:44px;gap:8px;font-weight:600;border-radius:11px}
#acb-auth .auth-social svg{width:17px;height:17px;flex:none}
#acb-auth .auth-social+p[role=status]:empty{display:none}
#acb-auth .auth-card .acb-field{margin-bottom:15px}
#acb-auth .acb-field span{font-weight:600}
#acb-auth .acb-auth-content>p:last-child{text-align:center;font-size:10px;margin-top:17px}
#acb-auth .auth-card form{margin:0}
#acb-auth .auth-switch button{font-family:Manrope,Arial,sans-serif;letter-spacing:.3px}
#acb-auth .auth-card [role=alert]{font-size:11px}
body:has(#acb-auth){margin:0;background:#080b09}
@media(max-width:900px){#acb-auth{padding:20px 14px}#acb-auth .auth-card{padding:86px 24px 30px}}#acb-auth .auth-card .acb-field{margin-bottom:12px}
#acb-auth .auth-card .auth-social{margin-top:18px}
#acb-auth .auth-card .acb-auth-content>p:first-of-type{margin-bottom:16px}
#acb-auth .auth-card .acb-auth-content>p:last-child{margin-bottom:0}
#acb-auth .auth-card[data-auth-card=signup] .acb-auth-content>p:first-of-type{font-size:11px}
#acb-auth .cf-turnstile{min-height:65px;min-width:300px;width:100%;margin:16px 0;background:#111713;border-radius:10px}
@media(max-width:370px){#acb-auth{padding:10px 4px}#acb-auth .auth-card{padding-left:4px;padding-right:4px}}
#acb-auth .auth-mobile-signature{display:none}
@media(max-width:900px){
#acb-auth .auth-card[data-auth-card=login]{display:flex;flex-direction:column}
#acb-auth .auth-mobile-signature{display:block;position:relative;width:190px;height:32px;overflow:hidden;mix-blend-mode:screen;margin:auto auto 16px;flex-shrink:0}
#acb-auth .auth-mobile-signature img{position:absolute;width:146%;max-width:none;left:-23%;top:-540%}
#acb-auth .auth-card[data-auth-card=login]>.acb-auth-content{margin-bottom:24px}
}
#acb-auth .auth-legal{font-size:10px;line-height:1.6;color:#a4b0a6;text-align:center;margin:20px 0 0}
#acb-auth .auth-legal a{color:#d4e3d5;text-decoration:underline;text-underline-offset:3px}
#acb-auth .auth-card[hidden]{display:none!important}
/* Only fill the existing mobile login space; desktop stays at sprint.17.1. */
@media(max-width:900px){
#acb-auth .auth-mobile-signature{width:100%;height:190px;margin:auto auto 0}
#acb-auth .auth-mobile-signature iframe{display:block;width:100%;height:100%;border:0}
}
/* Desktop arrangement only; retain shared card sizing and mobile layout. */
@media(min-width:901px){
#acb-auth .auth-layout{display:block;width:min(470px,100%);margin-inline:auto}
#acb-auth .auth-art{display:none}
#acb-auth .auth-card[data-auth-card=login]{display:flex;flex-direction:column}
#acb-auth .auth-mobile-signature{display:block;position:relative;width:100%;height:190px;overflow:hidden;mix-blend-mode:screen;margin:auto auto 0;flex-shrink:0}
#acb-auth .auth-mobile-signature iframe{display:block;width:100%;height:100%;border:0}
#acb-auth .auth-card[data-auth-card=login]>.acb-auth-content{margin-bottom:24px}
}
#acb-auth .auth-home{position:absolute;top:35px;left:28px;z-index:9;font-size:11px;text-decoration:none;color:#cbd5c5}
#acb-auth .auth-home:focus-visible{outline:2px solid var(--lime);outline-offset:4px}
@media(max-width:600px){
#acb-auth{padding:10px 12px;min-height:100svh}
#acb-auth .auth-layout{min-height:0}
#acb-auth .auth-card{min-height:0;padding:64px 18px 16px}
#acb-auth .auth-home{top:31px;left:20px}
#acb-auth .auth-switch{top:18px;right:18px;width:184px}
#acb-auth .auth-card h1{font-size:22px;margin-top:6px}
#acb-auth .auth-card .acb-auth-content>p:first-of-type{margin:6px 0 10px;font-size:11px}
#acb-auth .auth-card .auth-social{margin-top:10px}
#acb-auth .auth-card .acb-field{margin-bottom:8px}
#acb-auth .acb-field span{margin-bottom:4px;font-size:10px}
#acb-auth input:not([type=hidden]){height:36px;font-size:16px}
#acb-auth p{margin:8px 0 12px}
#acb-auth .auth-card .acb-auth-content>p:last-child{margin-top:10px;font-size:10px}
#acb-auth .auth-card[data-auth-card=login]>.acb-auth-content{margin-bottom:8px}
#acb-auth .auth-legal{margin:12px 0 0;font-size:10px;line-height:1.4}
#acb-auth .auth-mobile-signature{height:170px}
#acb-auth .cf-turnstile{margin:10px 0}
}

/* 18.9: bounded light, without a rotating oversized plane on Safari. */
#acb-auth .auth-card{clip-path:inset(0 round 26px);-webkit-clip-path:inset(0 round 26px)}
#acb-auth .auth-card:before{inset:0;border-radius:inherit;transform:none;animation:auth-edge-light 5s ease-in-out infinite alternate;background:radial-gradient(ellipse at 15% 0%,#a8ff1880,transparent 55%),radial-gradient(ellipse at 90% 100%,#27d87966,transparent 55%)}
@keyframes auth-edge-light{from{opacity:.35}to{opacity:1}}
@media(max-width:600px){
#acb-auth{min-height:100svh;padding:8px 12px;align-content:center}
#acb-auth .auth-card{padding-top:60px;padding-bottom:12px}
#acb-auth .auth-mobile-signature{height:110px;min-height:0}
#acb-auth .auth-legal{margin-top:8px}
#acb-auth .auth-card .acb-field{margin-bottom:6px}
#acb-auth .auth-card .auth-social{margin-top:8px}
#acb-auth .auth-social a,#acb-auth .auth-social button{height:38px;min-height:38px}
}
@media(max-width:600px) and (max-height:740px){
#acb-auth .auth-card{padding:56px 18px 10px}
#acb-auth .auth-card h1{font-size:20px}
#acb-auth .auth-card .acb-field{margin-bottom:4px}
#acb-auth .auth-card .acb-auth-content>p:first-of-type{margin:4px 0 6px}
#acb-auth .auth-card .acb-auth-content>p:last-child{margin-top:6px}
#acb-auth .auth-legal{font-size:9px;line-height:1.3;margin-top:6px}
#acb-auth .auth-mobile-signature{height:65px}
}
@media(prefers-reduced-motion:reduce){#acb-auth .auth-card:before{animation:none}}
@media(max-width:600px) and (max-height:740px){
#acb-auth .auth-card .acb-field{margin-bottom:2px}
#acb-auth .auth-card input:not([type=hidden]){height:34px}
#acb-auth .auth-card .auth-social{margin-top:4px}
#acb-auth .auth-card .auth-social a,#acb-auth .auth-card .auth-social button{height:34px;min-height:34px}
#acb-auth .auth-card .acb-submit{min-height:38px;padding:6px 10px}
}
/* 18.13: compact authentication on short desktop displays. */
@media(min-width:601px) and (max-height:850px){
#acb-auth{padding:8px 18px;min-height:100dvh;box-sizing:border-box}
#acb-auth .auth-card{padding-top:58px;padding-bottom:10px}
#acb-auth .auth-card .acb-field{margin-bottom:3px}
#acb-auth .auth-card input:not([type=hidden]){height:34px;min-height:34px}
#acb-auth .auth-card h1{font-size:23px;margin-block:5px}
#acb-auth .auth-card p{margin-block:6px}
#acb-auth .auth-mobile-signature{height:80px;min-height:0}
#acb-auth .auth-social a,#acb-auth .auth-social button{height:36px;min-height:36px}
#acb-auth .auth-legal{margin-top:6px;font-size:10px}
}
@media(min-width:601px) and (max-height:850px){#acb-auth .auth-layout,#acb-auth .auth-card{min-height:0!important}}
@media(min-width:601px) and (max-height:650px){
#acb-auth .auth-card{padding:49px 26px 7px!important}
#acb-auth .auth-card .acb-field span{margin-bottom:2px;line-height:1.2;font-size:10px}
#acb-auth .auth-card input:not([type=hidden]){height:30px;min-height:30px}
#acb-auth .auth-card h1{font-size:20px;margin:4px 0}
#acb-auth .auth-card p{font-size:11px;line-height:1.3;margin:4px 0}
#acb-auth .auth-social{margin-block:4px}
#acb-auth .auth-social a,#acb-auth .auth-social button{height:30px;min-height:30px}
#acb-auth .auth-mobile-signature{height:40px}
#acb-auth .auth-legal{font-size:9px;line-height:1.25}
}
@media(min-width:601px) and (max-height:650px){#acb-auth .auth-card .acb-field{margin-bottom:0!important}#acb-auth .auth-submit-wrap{height:40px;margin-top:0}#acb-auth .auth-submit-wrap .acb-submit{height:38px}#acb-auth .auth-card .acb-auth-content>p:last-child{margin:2px 0!important}#acb-auth .auth-social{margin-top:0!important}}
