body{padding:0;min-height:100vh;min-height:100dvh}.page{width:100%;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;padding-bottom:max(1.25rem,env(safe-area-inset-bottom));padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right))}.auth-stack{flex:1;width:100%;max-width:26rem;margin-inline:auto;display:flex;flex-direction:column;justify-content:center;padding-top:max(1.5rem,env(safe-area-inset-top));padding-bottom:.5rem}header{margin-bottom:clamp(1.5rem,5vw,2.5rem);text-align:center;flex-shrink:0}.label{color:var(--muted);font-size:11px;letter-spacing:.15em;text-transform:uppercase;margin-bottom:8px}h1{font-family:var(--font-display),serif;font-size:clamp(1.85rem,6vw,2.35rem);font-weight:400;line-height:1.05;color:var(--text);letter-spacing:-.02em}h1 span{color:var(--accent)}.subtitle{margin-top:12px;color:var(--text-dim);font-size:12px}.auth-container{background:var(--surface-1);border:1px solid var(--border-muted);border-radius:var(--radius-md);padding:clamp(1.35rem,4vw,2.15rem);margin-bottom:clamp(1.25rem,4vw,2rem);flex-shrink:0}.auth-tabs{display:flex;gap:var(--space-3);margin-bottom:clamp(1.25rem,4vw,2rem);border-bottom:1px solid var(--border-muted);padding-bottom:var(--space-4)}.tab-btn{background:transparent;border:none;color:var(--text-dim);font-family:var(--font-ui);font-size:12px;font-weight:600;min-height:40px;padding:0 var(--space-4);cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast);border-bottom:2px solid transparent;margin-bottom:calc(-1 * var(--space-4))}.tab-btn:hover{color:var(--text)}.tab-btn.active{color:var(--accent);border-bottom-color:var(--accent)}.auth-form{display:none}.auth-form.active{display:block}.form-group{margin-bottom:24px}.form-group label{display:block;color:var(--text-dim);font-size:11px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px}.auth-input{width:100%;background:var(--surface-2);border:1px solid var(--border-muted);color:var(--text);font-family:var(--font-ui);font-size:13px;min-height:44px;padding:0 var(--space-4);border-radius:var(--radius-md);transition:border-color var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast)}.auth-input:hover:not(:focus){border-color:color-mix(in srgb,var(--border) 55%,var(--text-dim))}.auth-input:focus{outline:none;border-color:var(--accent);background:color-mix(in srgb,var(--surface-1) 25%,var(--surface-2));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}select.auth-input{cursor:pointer}.form-hint{margin-top:4px;color:var(--muted);font-size:10px;opacity:.9}.auth-btn{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 88%,var(--border-muted));color:var(--text-on-accent);font-family:var(--font-ui);font-size:12px;font-weight:600;min-height:46px;padding:0 var(--space-5);cursor:pointer;border-radius:var(--radius-md);transition:filter var(--transition-fast),transform .12s ease,opacity var(--transition-fast);text-transform:uppercase;letter-spacing:.08em;margin-top:var(--space-3)}.auth-btn:hover:not(:disabled){filter:brightness(1.06)}.auth-btn:active:not(:disabled){transform:scale(.99)}.auth-btn:disabled{opacity:.85;cursor:wait}.auth-btn-spinner{width:16px;height:16px;border:2px solid color-mix(in srgb,var(--text-on-accent) 35%,transparent);border-top-color:var(--text-on-accent);border-radius:50%;animation:auth-btn-spin .7s linear infinite;flex-shrink:0}@keyframes auth-btn-spin{to{transform:rotate(360deg)}}.tab-btn:disabled{opacity:.5;cursor:not-allowed}.error-message{margin-top:16px;color:var(--red);font-size:11px;text-align:center}.success-message{margin-top:16px;color:var(--accent);font-size:11px;text-align:center}footer{flex-shrink:0;color:var(--muted);font-size:11px;text-align:center;padding-top:clamp(1rem,3vw,1.5rem);border-top:1px solid var(--border-muted)}@media (min-width: 640px){.auth-stack{max-width:min(34rem,calc(100% - 2rem))}h1{font-size:clamp(2.1rem,2.8vw,2.75rem)}.subtitle{font-size:13px}.auth-container{padding:clamp(1.5rem,3vw,2.25rem)}.auth-input{font-size:14px;padding:14px}.auth-btn{font-size:13px;padding:14px}}@media (min-width: 1024px){.auth-stack{max-width:min(38rem,calc(100% - 2rem))}}
