.auth-page{box-sizing:border-box;background:radial-gradient(circle at 50% 25%,#35d07f12,#0000 45%),#080b10;justify-content:center;align-items:center;width:100%;min-height:calc(100vh - 72px);padding:110px 24px 70px;display:flex}.auth-page-loading{background:#080b10;width:100%;min-height:80vh}.auth-card{box-sizing:border-box;background:#0d1219;border:1px solid #1e2935;border-radius:18px;flex-direction:column;align-items:stretch;width:100%;max-width:440px;margin:0 auto;padding:42px 36px;animation:.35s cubic-bezier(.16,1,.3,1) authCardEnter;display:flex;box-shadow:0 25px 60px #00000073,0 0 1px #35d07f33}@keyframes authCardEnter{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.auth-card-header{text-align:center;flex-direction:column;align-items:center;margin-bottom:28px;display:flex}.auth-logo-badge{color:#35d07f;background:#35d07f14;border:1px solid #35d07f4d;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:18px;font-size:25px;display:flex;box-shadow:0 0 18px #35d07f1f}.auth-title{color:#f1f5f9;letter-spacing:-.5px;margin:0 0 8px;font-size:27px;font-weight:700;line-height:1.25}.auth-subtitle{color:#8d99a8;max-width:340px;margin:0;font-size:14.5px;line-height:1.55}.auth-error-banner{color:#fca5a5;word-break:break-word;box-sizing:border-box;background:#ef44441a;border:1px solid #ef444459;border-radius:10px;align-items:flex-start;gap:10px;margin-bottom:20px;padding:12px 15px;font-size:14px;line-height:1.5;animation:.2s ease-out authFadeIn;display:flex}@keyframes authFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.auth-error-icon{flex-shrink:0;font-size:17px;line-height:1.3}.oauth-container{box-sizing:border-box;width:100%}.social-login{flex-direction:column;gap:14px;width:100%;display:flex}.social-btn{color:#f1f5f9;cursor:pointer;box-sizing:border-box;-webkit-user-select:none;user-select:none;background:#111822;border:1px solid #253342;border-radius:10px;outline:none;justify-content:center;align-items:center;gap:12px;width:100%;height:50px;font-size:15px;font-weight:600;text-decoration:none;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex}.social-btn:hover:not(:disabled){color:#fff;background:#16202c;border-color:#3b4e63;transform:translateY(-1px);box-shadow:0 6px 18px #00000059}.social-btn:focus-visible{outline-offset:2px;border-color:#35d07f;outline:2px solid #35d07f}.social-btn:active:not(:disabled){transform:translateY(0)}.social-btn:disabled{opacity:.7;cursor:not-allowed;box-shadow:none;transform:none}.google-btn:hover:not(:disabled){background:#4285f414;border-color:#4285f499}.github-btn:hover:not(:disabled){background:#35d07f0f;border-color:#35d07f80}.google-icon-svg,.github-icon-svg{flex-shrink:0;width:20px;height:20px}.auth-spinner{border:2.5px solid #ffffff26;border-top-color:#35d07f;border-radius:50%;flex-shrink:0;width:18px;height:18px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.auth-card-footer{text-align:center;border-top:1px solid #1a2430;flex-direction:column;gap:14px;margin-top:28px;padding-top:22px;display:flex}.auth-card-footer p{color:#8d99a8;margin:0;font-size:14.5px;line-height:1.5}.auth-toggle-link{color:#35d07f;margin-left:5px;font-weight:600;text-decoration:none;transition:color .15s}.auth-toggle-link:hover{color:#4fe899;text-decoration:underline}.auth-terms-note{color:#667384!important;font-size:13px!important;line-height:1.55!important}.auth-terms-note a{color:#8d99a8;text-underline-offset:2px;text-decoration:underline;transition:color .15s}.auth-terms-note a:hover{color:#f1f5f9}@media (max-width:600px){.auth-page{min-height:calc(100vh - 64px);padding:85px 16px 45px}.auth-card{border-radius:16px;padding:32px 22px}.auth-logo-badge{width:44px;height:44px;margin-bottom:14px;font-size:23px}.auth-title{font-size:24px}.auth-subtitle{font-size:14px}.social-btn{height:48px;font-size:14.5px}.auth-card-footer{gap:12px;margin-top:24px;padding-top:18px}}@media (max-width:360px){.auth-page{padding:75px 12px 35px}.auth-card{border-radius:14px;padding:26px 16px}.auth-logo-badge{width:40px;height:40px;margin-bottom:12px;font-size:21px}.auth-title{font-size:22px}.auth-subtitle{font-size:13px}.social-btn{gap:10px;height:44px;font-size:14px}.auth-card-footer p{font-size:13.5px}.auth-terms-note{font-size:12px!important}}.auth-course-access-banner{color:#f1f5f9;box-sizing:border-box;background:#35d07f14;border:1px solid #35d07f4d;border-radius:12px;align-items:center;gap:12px;margin-bottom:22px;padding:13px 16px;font-size:14px;line-height:1.45;animation:.25s ease-out authFadeIn;display:flex;box-shadow:0 0 15px #35d07f0f}.course-access-icon{flex-shrink:0;font-size:21px}.course-access-text{flex-direction:column;gap:2px;display:flex}.course-access-text strong{color:#35d07f;letter-spacing:.05em;text-transform:uppercase;font-size:12px;font-weight:700}.course-access-text span{color:#e2e8f0;font-weight:500}@media (max-width:600px){.auth-course-access-banner{gap:10px;margin-bottom:18px;padding:11px 13px}.course-access-icon{font-size:19px}.course-access-text strong{font-size:11.5px}.course-access-text span{font-size:13px}}@media (max-width:360px){.auth-course-access-banner{padding:10px 12px}.course-access-text span{font-size:12.5px}}
