.auth-page{--auth-bg-page:var(--color-canvas);--auth-bg-doodles:var(--ink-a04);--auth-card-bg:var(--color-surface-card);--auth-card-border:var(--color-hairline);--auth-card-shadow:0 24px 60px var(--ink-a10);--auth-icon-chip-bg:var(--color-surface-strong);--auth-icon-chip-border:var(--color-hairline-strong);--auth-icon-chip-shadow:0 8px 24px var(--ink-a08);--auth-text-primary:var(--color-ink);--auth-text-secondary:var(--color-body);--auth-text-muted:var(--color-muted);--auth-text-link:var(--color-primary);--auth-text-link-hover:var(--color-primary-active);--auth-input-bg:var(--color-surface-card);--auth-input-border:var(--color-hairline-strong);--auth-input-border-focus:var(--color-primary);--auth-input-text:var(--color-ink);--auth-input-placeholder:var(--color-muted-soft);--auth-input-icon:var(--color-muted);--auth-btn-primary-bg:var(--color-primary);--auth-btn-primary-text:var(--color-on-primary);--auth-btn-primary-hover-bg:var(--color-primary-active);--auth-btn-google-bg:var(--color-surface-card);--auth-btn-google-text:var(--color-ink);--auth-btn-google-hover-bg:var(--color-surface-strong);--auth-divider-color:var(--color-hairline);--auth-footer-text:var(--color-muted);--auth-avatar-bg:var(--color-surface-strong);--auth-avatar-border:var(--color-hairline-strong);--auth-star-color:var(--color-primary);--auth-error-border:var(--color-error);--auth-error-text:var(--color-error);--auth-error-bg:#dc262614;--auth-font-sans:"Inter","SF Pro Display",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}[data-theme=dark] .auth-page{--auth-bg-page:#1a1a1a;--auth-bg-doodles:#ffffff0a;--auth-card-bg:#262626eb;--auth-card-border:#ffffff14;--auth-card-shadow:0 24px 60px #0000008c;--auth-icon-chip-bg:#323232f2;--auth-icon-chip-border:#ffffff1a;--auth-icon-chip-shadow:0 8px 24px #0006;--auth-text-primary:#fff;--auth-text-secondary:#ffffff8c;--auth-text-muted:#ffffff59;--auth-text-link:#fff;--auth-text-link-hover:#ffffffbf;--auth-input-bg:#323232cc;--auth-input-border:#ffffff1a;--auth-input-border-focus:#ffffff4d;--auth-input-text:#ffffffd9;--auth-input-placeholder:#ffffff4d;--auth-input-icon:#ffffff59;--auth-btn-primary-bg:#444444e6;--auth-btn-primary-text:#fff;--auth-btn-primary-hover-bg:#555555f2;--auth-btn-google-bg:#373737d9;--auth-btn-google-text:#fff;--auth-btn-google-hover-bg:#464646f2;--auth-divider-color:#ffffff1f;--auth-footer-text:#fff6;--auth-avatar-bg:#323232cc;--auth-avatar-border:#ffffff1f;--auth-star-color:#ffffffd9;--auth-error-border:#ff6b6b;--auth-error-text:#ff6b6b;--auth-error-bg:#ff6b6b14}.auth-page{background:var(--auth-bg-page);min-height:calc(100dvh - 48px);font-family:var(--auth-font-sans);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.auth-bg-illustrations{pointer-events:none;z-index:0;position:absolute;inset:0;overflow:hidden}.auth-bg-illustrations svg{opacity:.04;stroke:#fff;fill:none;stroke-width:1.5px;position:absolute}.auth-bg-illustrations .orb{filter:blur(100px);opacity:.035;border-radius:50%;position:absolute}.auth-bg-illustrations .orb-1{background:#6366f1;width:400px;height:400px;top:-10%;left:-5%}.auth-bg-illustrations .orb-2{background:#a855f7;width:350px;height:350px;bottom:-10%;right:-5%}.auth-card-container{z-index:1;width:460px;max-width:calc(100vw - 32px);margin-top:44px;animation:.6s cubic-bezier(.16,1,.3,1) both authFadeInUp;position:relative}@keyframes authFadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.auth-icon-chip{background:var(--auth-icon-chip-bg);border:1px solid var(--auth-icon-chip-border);width:72px;height:72px;box-shadow:var(--auth-icon-chip-shadow);z-index:2;border-radius:20px;justify-content:center;align-items:center;display:flex;position:absolute;top:-44px;left:50%;transform:translate(-50%)}.auth-icon-chip svg{color:#fff;stroke-width:1.8px;width:28px;height:28px}.auth-card{background:var(--auth-card-bg);border:1px solid var(--auth-card-border);box-shadow:var(--auth-card-shadow);-webkit-backdrop-filter:blur(20px);border-radius:20px;padding:48px 40px 36px;position:relative}.auth-card-header{text-align:center;margin-bottom:32px}.auth-card-header h1{color:var(--auth-text-primary);letter-spacing:-.5px;margin:0 0 8px;font-size:clamp(28px,4vw,36px);font-weight:700;line-height:1.2}.auth-card-header p{color:var(--auth-text-secondary);margin:0;font-size:15px;font-weight:400}.auth-card-header p em{color:var(--auth-text-secondary);font-style:italic}.auth-field-group{margin-bottom:20px}.auth-field-group label{color:var(--auth-text-secondary);margin-bottom:8px;font-size:13px;font-weight:500;display:block}.auth-field-label-row{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.auth-field-label-row label{margin-bottom:0}.auth-field-label-row a{color:var(--auth-text-link);font-size:13px;font-weight:600;text-decoration:none;transition:color .2s}.auth-field-label-row a:hover{color:var(--auth-text-link-hover)}.auth-input-wrapper{background:var(--auth-input-bg);border:1px solid var(--auth-input-border);border-radius:10px;align-items:center;gap:10px;height:48px;padding:0 14px;transition:border-color .2s;display:flex}.auth-input-wrapper:focus-within{border-color:var(--auth-input-border-focus)}.auth-input-wrapper.error{border-color:var(--auth-error-border)}.auth-input-wrapper input{color:var(--auth-input-text);font-size:15px;font-family:var(--auth-font-sans);background:0 0;border:none;outline:none;flex:1;min-width:0}.auth-input-wrapper input::placeholder{color:var(--auth-input-placeholder)}.auth-input-icon,.auth-input-suffix{color:var(--auth-input-icon);flex-shrink:0;align-items:center;display:flex}.auth-input-icon svg,.auth-input-suffix svg{width:18px;height:18px}.auth-password-toggle{color:var(--auth-input-icon);cursor:pointer;background:0 0;border:none;align-items:center;padding:0;transition:color .2s;display:flex}.auth-password-toggle:hover{color:var(--auth-text-secondary)}.auth-password-toggle svg{width:18px;height:18px}.auth-btn-primary{background:var(--auth-btn-primary-bg);width:100%;height:50px;color:var(--auth-btn-primary-text);font-size:15px;font-weight:500;font-family:var(--auth-font-sans);cursor:pointer;border:1px solid #ffffff14;border-radius:10px;justify-content:center;align-items:center;gap:8px;margin-top:8px;margin-bottom:20px;transition:background .2s,transform .1s;display:flex}.auth-btn-primary:hover{background:var(--auth-btn-primary-hover-bg)}.auth-btn-primary:active{transform:scale(.98)}.auth-btn-primary:focus-visible{outline-offset:2px;outline:2px solid #fff6}.auth-btn-primary:disabled{opacity:.6;cursor:not-allowed}.auth-btn-primary svg{width:18px;height:18px}.auth-divider-row{color:var(--auth-text-muted);letter-spacing:1.5px;align-items:center;gap:12px;margin-bottom:16px;font-size:11px;font-weight:500;display:flex}.auth-divider-row hr{border:none;border-top:1px solid var(--auth-divider-color);flex:1}.auth-btn-google{background:var(--auth-btn-google-bg);width:100%;height:50px;color:var(--auth-btn-google-text);font-size:15px;font-weight:500;font-family:var(--auth-font-sans);cursor:pointer;border:1px solid #ffffff14;border-radius:10px;justify-content:center;align-items:center;gap:10px;margin-bottom:24px;transition:background .2s,transform .1s;display:flex}.auth-btn-google:hover{background:var(--auth-btn-google-hover-bg)}.auth-btn-google:active{transform:scale(.98)}.auth-btn-google:focus-visible{outline-offset:2px;outline:2px solid #fff6}.auth-btn-google .google-icon-wrapper{background:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.auth-btn-google .google-icon-wrapper svg{width:16px;height:16px}.auth-signup-link{color:var(--auth-text-secondary);text-align:center;margin:0;font-size:13px}.auth-signup-link a{color:var(--auth-text-link);font-weight:600;text-decoration:none;transition:color .2s}.auth-signup-link a:hover{color:var(--auth-text-link-hover)}.auth-footer{text-align:center;margin-top:24px}.auth-footer-link{letter-spacing:1.2px;text-transform:uppercase;color:var(--auth-footer-text);font-size:12px;font-weight:500;text-decoration:none;transition:color .2s}.auth-footer-link:hover{color:#fff9}.auth-avatar-chip{background:var(--auth-avatar-bg);border:1px solid var(--auth-avatar-border);width:36px;height:36px;color:var(--auth-text-primary);z-index:10;border-radius:50%;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex;position:fixed;bottom:20px;left:20px}.auth-star-icon{color:var(--auth-star-color);z-index:10;font-size:28px;line-height:1;position:fixed;bottom:20px;right:20px}.auth-error-message{background:var(--auth-error-bg);color:var(--auth-error-text);border:1px solid #ff6b6b33;border-radius:10px;margin-bottom:16px;padding:12px 14px;font-size:13px;animation:.3s ease-in-out authShake}@keyframes authShake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.auth-success-icon{background:#22c55e1a;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 24px;display:flex}.auth-success-icon svg{color:#22c55e;width:32px;height:32px}.auth-role-selector{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:20px;display:grid}.auth-role-option{border:1px solid var(--auth-input-border);background:var(--auth-input-bg);color:var(--auth-text-secondary);cursor:pointer;font-family:var(--auth-font-sans);border-radius:10px;flex-direction:column;align-items:center;gap:6px;padding:12px 8px;transition:all .2s;display:flex}.auth-role-option:hover{border-color:#fff3}.auth-role-option.active{color:var(--auth-text-primary);background:#ffffff14;border-color:#ffffff59}.auth-role-option svg{width:20px;height:20px}.auth-role-option span{font-size:12px;font-weight:600}.auth-role-description{color:var(--auth-text-muted);text-align:center;margin-top:-12px;margin-bottom:20px;font-size:11px}.auth-spinner{animation:.8s linear infinite authSpin}@keyframes authSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width:480px){.auth-card{border-radius:16px;padding:36px 18px 24px}.auth-card-container{width:auto;max-width:calc(100vw - 24px);margin:40px 12px 0}.auth-card-header h1{font-size:26px}.auth-icon-chip{border-radius:16px;width:64px;height:64px;top:-36px}.auth-icon-chip svg{width:24px;height:24px}}body:has(.auth-page) .topbar{display:none!important}body:has(.auth-page) .gradpath-main{flex-direction:column;display:flex}body:has(.auth-page) .auth-page{flex:1;min-height:100dvh}