@import url("https://fonts.googleapis.com/css2?family=Nunito:wght@800;900&display=swap");.auth-page{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:var(--space-5);background:var(--color-bg-base);background-image:var(--texture-dots);background-size:20px 20px}.auth-card{width:100%;max-width:420px;background:var(--color-bg-elevated);border:var(--width-border-thick) solid var(--color-black);border-radius:var(--radius-xl);box-shadow:6px 6px 0 var(--color-black);padding:var(--space-8) var(--space-6);position:relative;overflow:hidden}.auth-card:before{content:"";position:absolute;top:0;right:0;width:80px;height:80px;background:var(--color-primary-10);border-bottom-left-radius:var(--radius-xl)}.auth-card__content{position:relative;z-index:1}.auth-brand{text-align:center;margin-bottom:var(--space-8)}.auth-brand__icon{width:64px;height:64px;border-radius:20px;background:var(--color-primary);border:var(--width-border-thick) solid var(--color-black);box-shadow:4px 4px 0 var(--color-black);margin:0 auto var(--space-4);color:var(--color-white)}.auth-brand__icon,.auth-brand__mascot{display:flex;align-items:center;justify-content:center}.auth-brand__mascot{margin:0 auto var(--space-3);animation:authMascotEntrance .6s cubic-bezier(.175,.885,.32,1.275)}@keyframes authMascotEntrance{0%{opacity:0;transform:scale(.5) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.auth-brand__title{font-family:Nunito,Outfit,sans-serif;font-size:28px;font-weight:900;color:var(--color-text-primary);margin:0 0 var(--space-2) 0;letter-spacing:-.01em}.auth-brand__subtitle{font-size:14px;color:var(--color-text-secondary);margin:0;font-weight:var(--weight-medium)}.auth-form{gap:var(--space-5)}.auth-field,.auth-form{display:flex;flex-direction:column}.auth-field{gap:var(--space-1)}.auth-field__label{font-size:13px;font-weight:var(--weight-bold);color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.04em}.auth-field__input{width:100%;padding:14px 16px;font-size:16px;font-weight:var(--weight-medium);font-family:var(--font-sans);color:var(--color-text-primary);background:var(--color-bg-base);border:var(--width-border) solid var(--color-border);border-radius:var(--radius-sm);box-shadow:3px 3px 0 var(--color-border);outline:none;transition:all .2s ease}.auth-field__input::-moz-placeholder{color:var(--color-text-muted);font-weight:var(--weight-normal)}.auth-field__input::placeholder{color:var(--color-text-muted);font-weight:var(--weight-normal)}.auth-field__input:focus{border-color:var(--color-primary);box-shadow:3px 3px 0 var(--color-primary)}.auth-field__input:disabled{opacity:.6;cursor:not-allowed}.auth-field__hint{font-size:12px;color:var(--color-text-muted);margin:2px 0 0}.auth-field__input-wrapper{position:relative}.auth-field__input-wrapper .auth-field__input{padding-right:48px}.auth-field__toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--color-text-secondary);padding:4px}.auth-btn,.auth-field__toggle{cursor:pointer;display:flex;align-items:center;justify-content:center}.auth-btn{width:100%;padding:16px;font-size:16px;font-weight:var(--weight-black);font-family:var(--font-sans);border-radius:var(--radius-sm);transition:all .15s ease;text-align:center;gap:var(--space-2)}.auth-btn--primary{background:var(--color-primary);color:var(--color-black);border:var(--width-border-thick) solid var(--color-black);box-shadow:4px 4px 0 var(--color-black)}.auth-btn--primary:hover:not(:disabled){transform:translate(-1px,-1px);box-shadow:5px 5px 0 var(--color-black)}.auth-btn--primary:active:not(:disabled){transform:translate(2px,2px);box-shadow:2px 2px 0 var(--color-black)}.auth-btn--primary:disabled{opacity:.6;cursor:not-allowed}.auth-btn--secondary{background:var(--color-bg-elevated);color:var(--color-text-primary);border:var(--width-border) solid var(--color-border);box-shadow:3px 3px 0 var(--color-border)}.auth-btn--secondary:hover:not(:disabled){transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--color-border)}.auth-btn--secondary:active:not(:disabled){transform:translate(2px,2px);box-shadow:1px 1px 0 var(--color-border)}.auth-btn__spinner{width:20px;height:20px;border:3px solid rgba(0,0,0,.2);border-top:3px solid var(--color-black);border-radius:50%;animation:authSpin .6s linear infinite}@keyframes authSpin{to{transform:rotate(1turn)}}.auth-divider{display:flex;align-items:center;gap:var(--space-3)}.auth-divider__line{flex:1;height:2px;background:var(--color-border)}.auth-divider__text{font-size:12px;font-weight:var(--weight-bold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.auth-error{padding:var(--space-3) var(--space-4);background:var(--color-error-bg);border:var(--width-border) solid var(--color-accent-red);border-radius:var(--radius-sm);box-shadow:2px 2px 0 var(--color-accent-red)}.auth-error__text{font-size:14px;font-weight:var(--weight-bold);color:var(--color-accent-red);margin:0}.auth-success{padding:var(--space-5) var(--space-4);background:var(--color-success-bg);border:var(--width-border) solid var(--color-success);border-radius:var(--radius-sm);box-shadow:3px 3px 0 var(--color-success);text-align:center}.auth-success__title{font-size:18px;font-weight:var(--weight-black);color:var(--color-success);margin:0 0 var(--space-2) 0}.auth-success__text{font-size:14px;color:var(--color-text-secondary);margin:0;line-height:1.5}.auth-link{font-size:14px;font-weight:var(--weight-bold);color:var(--color-primary);text-decoration:none;transition:color .15s ease}.auth-link:hover{color:var(--color-primary-dark)}.auth-footer{text-align:center;margin-top:var(--space-6)}.auth-footer__text{font-size:14px;color:var(--color-text-secondary);margin:0}.auth-forgot-link{display:flex;justify-content:flex-end;margin-top:calc(-1 * var(--space-2))}.auth-terms{font-size:12px;color:var(--color-text-muted);text-align:center;line-height:1.5;margin:0}.auth-google-icon{width:20px;height:20px;flex-shrink:0}.auth-error-page__icon{width:72px;height:72px;border-radius:20px;background:var(--color-error-bg);border:var(--width-border-thick) solid var(--color-accent-red);box-shadow:4px 4px 0 var(--color-accent-red);display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-5);color:var(--color-accent-red)}.auth-error-page__title{font-size:24px;font-weight:var(--weight-black);color:var(--color-accent-red);margin:0 0 var(--space-3) 0;text-align:center}.auth-error-page__desc{font-size:15px;color:var(--color-text-secondary);margin:0 0 var(--space-8) 0;text-align:center;line-height:1.5}