:root{--auth-navy:#08275b;--auth-blue:#0c4da2;--auth-orange:#ff6b00;--auth-bg:#f6f8fc;--auth-line:#d8e1ed;--auth-muted:#60708a}
.auth-body{min-height:100vh;background:radial-gradient(circle at 50% 15%,#fff9ed 0,transparent 28%),var(--auth-bg);color:#101d36}
.auth-topbar{height:68px;padding:0 max(24px,4vw);display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--auth-line)}
.auth-brand{display:flex;align-items:center;gap:10px;color:var(--auth-navy);font-size:22px;font-weight:900;text-decoration:none}.auth-brand img{width:48px;height:44px;object-fit:contain}
.auth-progress{display:flex;align-items:center;gap:10px;color:var(--auth-muted);font-size:12px}.auth-progress i{display:block;width:30px;height:8px;border-radius:99px;background:#e1e7f0}.auth-progress i.active{background:var(--auth-orange)}
.auth-messages{position:fixed;z-index:1000;top:82px;right:18px;width:min(390px,calc(100% - 28px));display:grid;gap:10px;pointer-events:none}.auth-message{padding:12px 16px;border-radius:10px;background:#fff;box-shadow:0 10px 30px rgba(8,39,91,.15);border-left:4px solid var(--auth-blue);transition:opacity .28s ease,transform .28s ease;pointer-events:auto}.auth-message.leaving{opacity:0;transform:translateX(24px)}.auth-message.error{border-color:#b42318}.auth-message.success{border-color:#177447}
.auth-split{min-height:100vh;display:grid;grid-template-columns:minmax(390px,1fr) minmax(500px,.95fr);background:#fff}
.auth-signup-page{overflow:hidden}
.auth-signup-page #authMain,.auth-signup-page .auth-split{height:100vh;min-height:0}
.auth-story{position:relative;overflow:hidden;padding:42px clamp(34px,6vw,72px);display:flex;flex-direction:column;justify-content:space-between;color:#fff;background:linear-gradient(145deg,#0b326b,var(--auth-blue))}.auth-story:before,.auth-story:after{content:"";position:absolute;border-radius:50%;background:rgba(244,201,93,.16)}.auth-story:before{width:430px;height:430px;right:-190px;top:-150px}.auth-story:after{width:320px;height:320px;left:-170px;bottom:-140px}.auth-story>*{position:relative;z-index:1}.auth-mark{display:block;width:max-content}.auth-mark img{width:76px;height:70px;padding:6px;border-radius:16px;background:#fff}.auth-story h1{max-width:650px;font-size:clamp(42px,5vw,68px);line-height:1.04;letter-spacing:-2px;margin:18px 0}.auth-story p{max-width:620px;font-size:19px;color:#e8f0ff}.auth-story ul{list-style:none;padding:0;margin-top:32px}.auth-story li{margin:17px 0}.auth-story li:before{content:"✓";display:inline-grid;place-items:center;width:28px;height:28px;margin-right:12px;border-radius:50%;background:rgba(255,255,255,.14);color:#fff}
.auth-form-panel{display:grid;place-items:center;padding:38px}.auth-form-wrap{width:min(580px,100%)}.auth-form-wrap h1,.auth-card h1,.onboarding-card h1{margin:4px 0 7px;color:var(--auth-navy);font-size:clamp(32px,4vw,46px);line-height:1.1;letter-spacing:-1px}.auth-eyebrow{margin:0 0 10px;color:var(--auth-orange);font-size:12px;font-weight:900;letter-spacing:.7px;text-transform:uppercase}.auth-eyebrow.light{color:#ffd48b}.auth-subtitle{margin:0 0 22px;color:var(--auth-muted)}
.auth-form{display:grid;gap:15px}.auth-form label{display:grid;gap:6px;color:#31415e;font-size:12px;font-weight:850}.auth-form input{width:100%;min-height:54px;padding:13px 15px;border:1px solid #cbd6e5;border-radius:12px;outline:none;color:#17233a;background:#fff;font:inherit}.auth-form input:focus{border-color:var(--auth-blue);box-shadow:0 0 0 3px rgba(12,77,162,.12)}.password-field{position:relative;display:block}.password-field input{padding-right:68px}.password-field button{position:absolute;right:8px;top:8px;height:38px;padding:0 10px;border:0;border-radius:8px;background:#eef4fb;color:var(--auth-navy);font-size:11px;font-weight:850}.auth-primary,.auth-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:12px 22px;border:0;border-radius:12px;font-weight:900;text-decoration:none;cursor:pointer}.auth-primary{background:linear-gradient(135deg,var(--auth-orange),#f28b00);color:#fff;box-shadow:0 12px 28px rgba(255,107,0,.22)}.auth-primary:hover{filter:brightness(.97);transform:translateY(-1px)}.auth-secondary{background:#fff;color:var(--auth-navy);border:1px solid #b9c7d8}.auth-form .auth-primary{width:100%;margin-top:8px}.auth-form-meta{text-align:right;margin-top:-5px}.auth-form-meta a,.auth-switch a{color:var(--auth-blue);font-weight:850}.auth-switch{text-align:center;color:var(--auth-muted);margin-top:20px}.auth-terms{text-align:center;color:#8794aa;font-size:11px}.auth-terms a{color:var(--auth-blue)}
.auth-divider{display:flex;align-items:center;gap:12px;margin:18px 0;color:#8a96a9;font-size:11px;text-transform:uppercase}.auth-divider:before,.auth-divider:after{content:"";height:1px;flex:1;background:#dce4ee}.auth-google{width:100%;min-height:52px;padding:11px 18px;display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid #bdc9d9;border-radius:12px;background:#fff;color:var(--auth-navy);font-weight:850;text-decoration:none}.auth-google:hover{border-color:#7898bd;background:#f9fbfe}.auth-google>span{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:conic-gradient(from -45deg,#4285f4 0 25%,#34a853 0 50%,#fbbc05 0 75%,#ea4335 0);color:#fff;font-size:13px;font-weight:950;box-shadow:inset 0 0 0 5px #fff}
.auth-card{width:min(920px,calc(100% - 28px));margin:clamp(45px,9vh,100px) auto;padding:clamp(28px,5vw,58px);border:1px solid var(--auth-line);border-radius:24px;background:#fff;box-shadow:0 18px 50px rgba(8,39,91,.09)}.auth-card-narrow{max-width:590px}.auth-icon,.challenge-icon{width:72px;height:72px;display:grid;place-items:center;margin-bottom:18px;border-radius:20px;background:#fff0dd;font-size:34px}
.auth-login-page #authMain{min-height:calc(100vh - 68px);display:grid;place-items:center;padding:20px}
.auth-login-page .auth-messages{position:fixed}
.auth-login-page .auth-card-narrow{width:min(590px,100%);margin:0;padding:clamp(26px,4vh,42px)}
.auth-login-page .auth-card-narrow h1{font-size:clamp(30px,3.4vw,42px)}
.auth-login-page .auth-card-narrow .auth-subtitle{margin-bottom:16px}
.auth-login-page .auth-card-narrow .auth-form{gap:12px}
.auth-login-page .auth-card-narrow .auth-form input{min-height:50px}
.auth-login-page .auth-card-narrow .auth-switch{margin:15px 0 0}
.onboarding-card{width:min(1120px,calc(100% - 28px));min-height:610px;margin:clamp(38px,7vh,78px) auto;padding:clamp(28px,5vw,58px);display:flex;flex-direction:column;border:1px solid var(--auth-line);border-radius:24px;background:#fff;box-shadow:0 18px 50px rgba(8,39,91,.07)}.onboarding-step{display:none}.onboarding-step.active{display:block}.choice-grid{display:grid;gap:16px;margin-top:28px}.journey-grid{grid-template-columns:repeat(2,1fr)}.exam-grid,.time-grid{grid-template-columns:repeat(4,1fr)}.choice-card{position:relative;min-height:150px;padding:24px 22px;display:flex;flex-direction:column;justify-content:center;gap:8px;border:1px solid #cad6e5;border-radius:18px;background:#fff;cursor:pointer;transition:.16s}.choice-card:hover{border-color:#8da9ca;transform:translateY(-2px)}.choice-card input{position:absolute;opacity:0;pointer-events:none}.choice-card:has(input:checked){border:2px solid var(--auth-orange);background:#fff9f2;box-shadow:0 8px 20px rgba(255,107,0,.08)}.choice-card:has(input:checked):after{content:"✓";position:absolute;right:14px;top:14px;width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:var(--auth-orange);color:#fff;font-weight:900}.choice-icon{font-size:27px}.choice-card strong{color:var(--auth-navy);font-size:17px}.choice-card small{color:var(--auth-muted);font-size:12px}.time-choice{text-align:center;align-items:center}.time-choice strong{font-size:32px}.starting-plan{margin-top:28px;padding:18px 20px;display:grid;grid-template-columns:1fr auto;gap:3px 20px;border:1px solid var(--auth-line);border-radius:16px;background:#f8faff}.starting-plan strong{color:var(--auth-navy)}.starting-plan span{grid-row:2;color:var(--auth-muted);font-size:12px}.starting-plan em{grid-column:2;grid-row:1/3;align-self:center;padding:8px 13px;border-radius:99px;background:#fff0df;color:#a54d00;font-size:11px;font-style:normal;font-weight:850}.onboarding-actions{margin-top:auto;padding-top:34px;display:flex;justify-content:space-between}.onboarding-actions .auth-primary{margin-left:auto}.onboarding-step.needs-answer .choice-grid{border-radius:20px;box-shadow:0 0 0 3px rgba(180,35,24,.14)}
.auth-onboarding-page{overflow:hidden}
.auth-onboarding-page #authMain{height:calc(100vh - 68px);padding:14px;display:grid;place-items:center;overflow:hidden}
.auth-onboarding-page .onboarding-card{width:min(1120px,100%);height:100%;max-height:620px;min-height:0;margin:0;padding:clamp(24px,3.5vh,36px)}
.auth-onboarding-page .onboarding-card h1{font-size:clamp(30px,3.2vw,42px)}
.auth-onboarding-page .auth-subtitle{margin-bottom:14px}
.auth-onboarding-page .choice-grid{gap:12px;margin-top:18px}
.auth-onboarding-page .choice-card{min-height:116px;padding:17px 20px;gap:5px}
.auth-onboarding-page .choice-icon{font-size:23px}
.auth-onboarding-page .starting-plan{margin-top:18px;padding:14px 17px}
.auth-onboarding-page .onboarding-actions{padding-top:20px}
.challenge-card{text-align:center;max-width:910px}.challenge-icon{margin:0 auto 17px}.xp-badge{display:inline-block;padding:7px 13px;border-radius:99px;background:#fff1dc;color:#995000;font-size:11px;font-weight:900}.challenge-card h1{margin-top:30px}.challenge-card>p{max-width:700px;margin:14px auto;color:var(--auth-muted);font-size:17px}.challenge-pills{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:26px 0}.challenge-pills span{padding:8px 13px;border:1px solid var(--auth-line);border-radius:99px;color:#52627c;font-size:12px}.challenge-card>.auth-primary{margin:0 auto}.challenge-card>small{display:block;margin-top:15px;color:var(--auth-muted)}
@media(max-width:900px){.auth-split{grid-template-columns:1fr}.auth-story{min-height:470px}.auth-story h1{font-size:clamp(38px,10vw,58px)}.exam-grid,.time-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:901px) and (max-height:760px){.auth-signup-page .auth-story{padding:24px clamp(30px,5vw,58px)}.auth-signup-page .auth-mark img{width:64px;height:58px}.auth-signup-page .auth-story h1{font-size:clamp(38px,4.5vw,52px);margin:10px 0}.auth-signup-page .auth-story p{font-size:16px;margin-block:8px}.auth-signup-page .auth-story ul{margin-top:18px}.auth-signup-page .auth-story li{margin:10px 0}.auth-signup-page .auth-form-panel{padding:22px 32px}.auth-signup-page .auth-form-wrap h1{font-size:38px}.auth-signup-page .auth-subtitle{margin-bottom:14px}.auth-signup-page .auth-form{gap:10px}.auth-signup-page .auth-form input{min-height:48px}.auth-signup-page .auth-form .auth-primary{min-height:48px;margin-top:4px}.auth-signup-page .auth-switch{margin:12px 0 6px}.auth-signup-page .auth-terms{margin:0}}
@media(max-width:900px){.auth-signup-page{overflow:auto}.auth-signup-page #authMain,.auth-signup-page .auth-split{height:auto;min-height:100vh}}
@media(max-width:760px){.auth-onboarding-page{overflow:auto}.auth-onboarding-page #authMain{height:auto;min-height:calc(100vh - 66px);padding:0;display:block;overflow:visible}.auth-onboarding-page .onboarding-card{width:calc(100% - 20px);height:auto;max-height:none;min-height:calc(100vh - 106px);margin:20px auto;padding:24px 18px}}
@media(max-width:620px){.auth-topbar{height:auto;min-height:66px;padding:9px 14px;gap:10px}.auth-progress span{display:none}.auth-progress i{width:22px}.auth-messages{top:76px;right:10px;width:calc(100% - 20px)}.auth-form-panel{padding:28px 18px}.auth-story{padding:28px 22px}.journey-grid,.exam-grid,.time-grid{grid-template-columns:1fr}.onboarding-card{margin:20px auto;padding:24px 18px;min-height:calc(100vh - 110px)}.choice-card{min-height:120px}.starting-plan{grid-template-columns:1fr}.starting-plan em{grid-column:1;grid-row:auto;justify-self:start;margin-top:7px}.auth-card{margin:24px auto;padding:30px 20px}}
