.auth-page{position:relative;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;background:var(--bg-body);overflow-x:hidden;overflow-y:auto;padding:0 var(--space-5);padding-left:calc(20px + env(safe-area-inset-left, 0px));padding-right:calc(20px + env(safe-area-inset-right, 0px))}.auth-page:before{top:-20%;left:50%;transform:translateX(-50%);width:720px;background:radial-gradient(ellipse,rgba(var(--brand-cyan-rgb),.05) 0,transparent 65%)}.auth-page:after,.auth-page:before{content:"";position:fixed;height:480px;pointer-events:none;z-index:0;filter:blur(24px)}.auth-page:after{bottom:-10%;right:-10%;width:480px;background:radial-gradient(ellipse,rgba(var(--brand-green-rgb),.04) 0,transparent 65%)}.auth-logo{display:flex;justify-content:center;padding-top:calc(28px + env(safe-area-inset-top, 0px));padding-bottom:0;flex-shrink:0;position:relative;z-index:1;width:100%;text-decoration:none}@media (hover:hover){.auth-logo:hover{opacity:.8}}.auth-logo-img{height:24px;width:auto}.auth-spacer{flex:1;min-height:20px}.auth-container{position:relative;width:100%;max-width:420px;display:flex;flex-direction:column;gap:var(--space-4-5);flex-shrink:0;z-index:1;padding:var(--space-8) var(--space-7);border-radius:var(--radius-xl);background:radial-gradient(circle at 0 100%,rgba(var(--brand-green-rgb),.1) 0,transparent 58%),radial-gradient(circle at 100% 0,rgba(var(--brand-cyan-rgb),.08) 0,transparent 58%),rgba(var(--white-rgb),.04);border:1px solid rgba(var(--brand-cyan-rgb),.18);box-shadow:inset 0 1px 1px rgba(var(--white-rgb),.05),inset 0 24px 48px rgba(var(--text-muted-cool-rgb),.02),0 0 0 1px rgba(var(--brand-cyan-rgb),.04),0 24px 48px rgba(var(--black-rgb),.42);animation:authFadeIn .35s ease-out}.auth-push{flex:1;min-height:16px}.auth-header{display:flex;flex-direction:column;gap:var(--space-2);text-align:center}.auth-title{font-size:var(--text-h3-md);font-weight:var(--font-bold);letter-spacing:-.025em;color:var(--text-primary);margin:0;line-height:1.2}.auth-subtitle{font-size:var(--text-sm);line-height:1.5;color:var(--text-secondary);margin:0}.auth-divider{display:flex;align-items:center;gap:var(--space-3);margin:6px 0 4px}.auth-divider:after,.auth-divider:before{content:"";flex:1;height:1px;background:var(--border-subtle)}.auth-divider span{font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap;flex-shrink:0;text-transform:lowercase;letter-spacing:.02em}.auth-actions{display:flex;flex-direction:column;gap:var(--space-2-5)}.auth-white-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;padding:0 var(--space-5);height:44px;border-radius:var(--radius-md);background:radial-gradient(circle at 0 100%,rgba(var(--brand-green-rgb),.16) 0,transparent 55%),radial-gradient(circle at 100% 0,rgba(var(--brand-cyan-rgb),.2) 0,transparent 55%),rgba(var(--white-rgb),.04);border:1px solid rgba(var(--brand-cyan-rgb),.35);color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--font-semibold);font-family:inherit;cursor:pointer;transition:border-color var(--transition-normal),transform .12s ease,box-shadow var(--transition-normal),background var(--transition-normal);outline:none;letter-spacing:-.01em;box-shadow:inset 0 1px 0 rgba(var(--white-rgb),.08),var(--glow-cyan)}@media (hover:hover){.auth-white-btn:hover{border-color:rgba(var(--brand-cyan-rgb),.45);transform:translateY(-1px);box-shadow:inset 0 1px 0 rgba(var(--white-rgb),.1),var(--glow-cyan-strong)}}.auth-white-btn:active{transform:translateY(0) scale(.99);box-shadow:inset 0 1px 0 rgba(var(--white-rgb),.05),var(--glow-cyan)}.auth-white-btn:focus-visible{border-color:rgba(var(--brand-cyan-rgb),.65);box-shadow:0 0 0 3px rgba(var(--brand-cyan-rgb),.18),inset 0 1px 0 rgba(var(--white-rgb),.08),var(--glow-cyan-strong)}.auth-white-btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.auth-white-btn svg{width:18px;height:18px;flex-shrink:0;color:var(--brand-cyan)}.auth-btn-spinner{width:18px;height:18px;border:2px solid rgba(var(--brand-cyan-rgb),.22);border-top-color:var(--brand-cyan);border-radius:var(--radius-circle);animation:authSpin .65s linear infinite;flex-shrink:0}.auth-oauth-button{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;padding:0 var(--space-5);height:44px;border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--bg-glass);color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--font-medium);font-family:inherit;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),transform .1s ease;outline:none;letter-spacing:-.01em}@media (hover:hover){.auth-oauth-button--google-native:hover .auth-oauth-button__placeholder,.auth-oauth-button:hover{background:var(--bg-glass-hover);border-color:var(--border-hover)}}.auth-oauth-button:active{transform:scale(.985)}.auth-oauth-button--google-native:active .auth-oauth-button__placeholder,.auth-oauth-button:active{background:var(--bg-glass-active)}.auth-oauth-button:focus-visible{border-color:rgba(var(--brand-cyan-rgb),.45);box-shadow:0 0 0 3px rgba(var(--brand-cyan-rgb),.18)}.auth-oauth-button:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.auth-oauth-icon{width:18px;height:18px;flex-shrink:0}.auth-oauth-button .auth-btn-spinner{width:18px;height:18px;border-color:rgba(var(--brand-cyan-rgb),.22);border-top-color:var(--brand-cyan)}.auth-oauth-button--google-native{position:relative;padding:0;height:44px;background:transparent;border:none;box-shadow:none;overflow:visible}.auth-oauth-button--google-native:active,.auth-oauth-button--google-native:hover{background:transparent;border:none;box-shadow:none;transform:none}.auth-oauth-button--google-native.is-disabled{opacity:.45;pointer-events:none}.auth-oauth-button__placeholder{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;height:100%;padding:0 var(--space-5);border-radius:inherit;border:1px solid var(--border-strong);background:var(--bg-glass);color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--font-medium);letter-spacing:-.01em;pointer-events:none;transition:background var(--transition-fast),border-color var(--transition-fast)}.auth-google-native-slot{position:absolute;inset:0;width:100%;height:100%;opacity:0;z-index:1;cursor:pointer;overflow:hidden}.auth-google-native-slot iframe,.auth-google-native-slot>div{width:100%!important;height:100%!important}.auth-secondary-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;padding:0 var(--space-5);height:44px;border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--bg-glass);color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--font-medium);font-family:inherit;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),transform .1s ease;outline:none;letter-spacing:-.01em}@media (hover:hover){.auth-secondary-btn:hover{background:var(--bg-glass-hover);border-color:var(--border-hover)}}.auth-secondary-btn:active{transform:scale(.985);background:var(--bg-glass-active)}.auth-secondary-btn:focus-visible{border-color:rgba(var(--brand-cyan-rgb),.45);box-shadow:0 0 0 3px rgba(var(--brand-cyan-rgb),.18)}.auth-secondary-btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.auth-secondary-btn svg{width:16px;height:16px;flex-shrink:0;color:var(--text-secondary)}.auth-form{display:flex;flex-direction:column;gap:var(--space-2-5)}.auth-form>.auth-white-btn{margin-top:var(--space-1)}.auth-form-group{display:flex;flex-direction:column;gap:var(--space-1-5)}.auth-input{padding:0 var(--space-4);border-radius:var(--radius-md);border:1px solid var(--input-border);background:var(--input-bg);color:var(--input-text);font-size:var(--text-base);font-weight:var(--font-normal);height:44px;width:100%;transition:border-color var(--transition-normal),box-shadow var(--transition-normal),background var(--transition-normal);outline:none;font-family:inherit}.auth-input::placeholder{color:var(--input-placeholder);font-size:var(--text-sm)}.auth-input:focus{border-color:rgba(var(--brand-cyan-rgb),.55);background:var(--input-bg-focus);box-shadow:0 0 0 1px rgba(var(--brand-cyan-rgb),.22),0 8px 28px -14px rgba(var(--brand-cyan-rgb),.4);outline:none;-webkit-appearance:none}@media (hover:hover){.auth-input:hover:not(:focus){border-color:var(--input-border-hover);background:var(--input-bg-hover)}}.auth-input-wrapper{position:relative;width:100%}.auth-input-wrapper .auth-input{padding-right:var(--space-12)}.auth-password-toggle{position:absolute;right:var(--space-1);top:50%;transform:translateY(-50%);background:none;border:none;padding:0;cursor:pointer;color:var(--text-muted);transition:color var(--transition-fast);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);width:44px;height:44px}@media (hover:hover){.auth-password-toggle:hover{color:var(--text-secondary)}}.auth-password-toggle:focus-visible{outline:none;color:var(--text-primary);box-shadow:0 0 0 2px rgba(var(--brand-cyan-rgb),.35)}.auth-password-toggle svg{width:16px;height:16px}.auth-forgot-row{text-align:right;margin:2px 0 4px}.auth-forgot-row a{display:inline-flex;align-items:center;min-height:var(--tap-target-min);font-size:var(--text-xs);color:var(--text-muted);text-decoration:none;transition:color var(--transition-fast)}@media (hover:hover){.auth-forgot-row a:hover{color:var(--text-accent)}}.auth-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.auth-username-status{display:flex;align-items:center;gap:var(--space-1-5);font-size:var(--text-xs);line-height:1.4;transition:opacity var(--transition-fast)}.auth-username-status--checking{color:var(--text-muted)}.auth-username-status--available{color:var(--brand-green)}.auth-username-status--taken{color:var(--brand-red)}.auth-username-status--invalid{color:var(--color-warning)}.auth-username-spinner,.auth-username-status svg{width:14px;height:14px;flex-shrink:0}.auth-username-spinner{border:2px solid var(--border-subtle);border-top-color:var(--text-muted);border-radius:var(--radius-circle);animation:authSpin .6s linear infinite}.auth-input--available{border-color:var(--input-border-success)!important}.auth-input--available:focus{box-shadow:0 0 0 1px rgba(var(--brand-green-rgb),.25),0 8px 28px -14px rgba(var(--brand-green-rgb),.4)!important}.auth-input--taken{border-color:var(--input-border-error)!important}.auth-input--taken:focus{box-shadow:0 0 0 1px rgba(var(--brand-red-rgb),.22),0 8px 28px -14px rgba(var(--brand-red-rgb),.4)!important}.auth-hint{font-size:var(--text-xs);color:var(--text-muted);line-height:1.4}.auth-checkbox-label{display:flex;align-items:flex-start;gap:var(--space-2-5);cursor:pointer;padding:var(--space-1) 0}.auth-checkbox{appearance:none;-webkit-appearance:none;width:18px;height:18px;min-width:18px;border:1.5px solid var(--border-strong);border-radius:var(--radius-xs);background:transparent;cursor:pointer;position:relative;margin-top:1px;transition:border-color var(--transition-fast),background var(--transition-fast)}.auth-checkbox:checked{background:var(--brand-cyan);border-color:var(--brand-cyan)}.auth-checkbox:checked:after{content:"";position:absolute;top:2px;left:5px;width:5px;height:9px;border:solid var(--bg-body);border-width:0 2px 2px 0;transform:rotate(45deg)}.auth-checkbox:focus-visible{border-color:rgba(var(--brand-cyan-rgb),.55);box-shadow:0 0 0 3px rgba(var(--brand-cyan-rgb),.22)}.auth-checkbox-text{font-size:var(--text-ms);color:var(--text-secondary);line-height:1.4}.auth-error{border-radius:var(--radius-md);background:var(--bg-error-subtle);border:1px solid var(--border-error);color:var(--text-error)}.auth-error,.auth-success{padding:var(--space-2-5) var(--space-3-5);font-size:var(--text-ms);line-height:1.5}.auth-success{border-radius:var(--radius-md);background:var(--bg-success-subtle);border:1px solid var(--border-success);color:var(--text-success)}.auth-links{text-align:center}.auth-link{font-size:var(--text-sm);color:var(--text-secondary);margin:0}.auth-link a{color:var(--brand-cyan);text-decoration:none;font-weight:var(--font-medium);transition:opacity var(--transition-fast),color var(--transition-fast)}@media (hover:hover){.auth-link a:hover{color:var(--brand-green)}}.auth-resend-btn{background:none;border:none;color:var(--brand-cyan);font-weight:var(--font-semibold);cursor:pointer;text-decoration:none;font-size:var(--text-sm);padding:0;transition:color var(--transition-fast)}@media (hover:hover){.auth-resend-btn:hover{color:var(--brand-green)}}.auth-resend-btn:disabled{opacity:.5;cursor:not-allowed}.auth-footer{text-align:center;flex-shrink:0;padding:var(--space-5) var(--space-5);padding-bottom:calc(20px + env(safe-area-inset-bottom, 0px));width:100%;max-width:480px;position:relative;z-index:1}.auth-footer p{font-size:var(--text-xs);color:var(--text-disabled);line-height:1.6;margin:0}.auth-footer a{color:var(--text-muted);text-decoration:underline;text-underline-offset:2px;transition:color var(--transition-fast)}@media (hover:hover){.auth-footer a:hover{color:var(--text-accent)}}.auth-demo-section{display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-4);margin-top:var(--space-1);border-top:1px solid rgba(var(--brand-cyan-rgb),.08)}.auth-demo-label{font-size:var(--text-xxs);color:var(--text-disabled);text-align:center;text-transform:uppercase;letter-spacing:.1em}.auth-button-demo{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;padding:0 var(--space-5);height:40px;border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:transparent;color:var(--text-muted);font-size:var(--text-ms);font-weight:var(--font-medium);font-family:inherit;cursor:pointer;transition:all var(--transition-fast)}@media (hover:hover){.auth-button-demo:hover{border-color:var(--border-strong);color:var(--text-secondary);background:var(--bg-glass)}}.auth-button-demo:active{transform:scale(.985)}.auth-button-demo:disabled{opacity:.4;cursor:not-allowed}.auth-button-demo svg{width:16px;height:16px}@keyframes authFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes authSpin{to{transform:rotate(1turn)}}.auth-form-reveal{animation:authFadeIn .25s ease-out}.auth-otp-row{display:flex;justify-content:center;gap:var(--space-2);width:100%}.auth-otp-input{flex:1 1 0;min-width:0;width:48px;max-width:48px;height:56px;text-align:center;font-size:var(--text-h4);font-weight:var(--font-semibold);font-family:inherit;background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-md);color:var(--text-primary);outline:none;caret-color:var(--brand-cyan);transition:border-color var(--transition-normal),box-shadow var(--transition-normal),background var(--transition-normal)}.auth-otp-input:focus{border-color:rgba(var(--brand-cyan-rgb),.55);background:var(--input-bg-focus);box-shadow:0 0 0 1px rgba(var(--brand-cyan-rgb),.22),0 8px 28px -14px rgba(var(--brand-cyan-rgb),.4)}.auth-otp-input:disabled{opacity:.5;cursor:not-allowed}@media (max-width:380px){.auth-otp-row{gap:var(--space-1-5)}.auth-otp-input{max-width:44px;height:52px;font-size:var(--text-xl)}}a.auth-white-btn{text-decoration:none}.auth-hint-center{text-align:center;display:block}.auth-promo-toggle{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;background:transparent;border:none;padding:var(--space-1-5) 0;font-size:var(--text-ms);font-family:inherit;color:var(--text-secondary);cursor:pointer;text-decoration:underline;text-decoration-color:var(--border-default);text-underline-offset:3px;transition:color var(--transition-fast),text-decoration-color var(--transition-fast)}@media (hover:hover){.auth-promo-toggle:hover{color:var(--brand-cyan);text-decoration-color:var(--brand-cyan)}}.auth-promo-toggle:focus-visible{outline:none;color:var(--brand-cyan);box-shadow:0 0 0 2px rgba(var(--brand-cyan-rgb),.22);border-radius:var(--radius-xs)}.auth-promo-toggle:disabled{opacity:.5;cursor:not-allowed}.auth-checking-banner{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-1);background:var(--bg-glass);border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-size:var(--text-xs);color:var(--text-secondary);animation:authFadeIn .2s ease-out}.auth-checking-banner:before{content:"";width:12px;height:12px;border-radius:50%;border:1.5px solid var(--border-default);border-top-color:var(--brand-cyan);animation:authSpin .7s linear infinite;flex-shrink:0}@media (min-width:480px){.auth-logo{padding-top:calc(32px + env(safe-area-inset-top, 0px))}.auth-logo-img{height:24px}.auth-spacer{flex:1;min-height:20px}.auth-container{gap:var(--space-5);padding:var(--space-8) 28px}.auth-title{font-size:var(--text-h3)}}@media (min-width:640px){.auth-logo{padding-top:calc(40px + env(safe-area-inset-top, 0px))}.auth-logo-img{height:24px}.auth-spacer{flex:1;min-height:20px}.auth-container{gap:var(--space-6);max-width:420px;padding:var(--space-9) var(--space-8)}.auth-title{font-size:var(--text-h2-sm)}.auth-oauth-button,.auth-secondary-btn,.auth-white-btn{height:46px;font-size:var(--text-sm)}.auth-input{height:46px}}@media (max-height:600px){.auth-logo{padding-top:var(--space-3);padding-bottom:0}.auth-spacer{min-height:12px;max-height:24px;flex:0.3}.auth-container{gap:var(--space-3-5);padding:var(--space-5) var(--space-5)}.auth-title{font-size:var(--text-title-md)}.auth-subtitle{font-size:var(--text-ms)}.auth-footer{display:none}.auth-input,.auth-oauth-button,.auth-secondary-btn,.auth-white-btn{height:40px}}@media (max-height:500px) and (orientation:landscape){.auth-page{padding:0 var(--space-4)}.auth-logo{padding:var(--space-2) 0}.auth-spacer{display:none}.auth-container{gap:var(--space-2-5);padding:var(--space-4-5) var(--space-4-5)}.auth-title{font-size:var(--text-xl)}.auth-subtitle{display:none}.auth-actions,.auth-form{gap:var(--space-2)}.auth-input,.auth-oauth-button,.auth-secondary-btn,.auth-white-btn{height:40px;padding:0 var(--space-4)}.auth-footer{display:none}}@media (hover:none) and (pointer:coarse){.auth-white-btn:hover{transform:none;box-shadow:inset 0 1px 0 rgba(var(--white-rgb),.08),var(--glow-cyan)}.auth-oauth-button:hover{transform:none}.auth-oauth-button--google-native:hover .auth-oauth-button__placeholder,.auth-oauth-button:hover{background:var(--bg-glass);border-color:var(--border-strong)}.auth-white-btn:active{transform:scale(.985)}.auth-oauth-button--google-native:active .auth-oauth-button__placeholder,.auth-oauth-button:active{background:var(--bg-glass-active)}}@media (prefers-reduced-motion:reduce){.auth-container,.auth-form-reveal{animation:none}.auth-page:after,.auth-page:before{display:none}.auth-input,.auth-oauth-button,.auth-secondary-btn,.auth-white-btn{transition:none}.auth-white-btn:hover{transform:none}}