.auth-modal-overlay{z-index:var(--z-critical);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.auth-modal{background:var(--color-background);width:100%;max-width:400px;animation:modalSlideIn var(--duration-normal)ease-out;border-radius:12px;padding:32px;position:relative;box-shadow:0 20px 60px #0000004d}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.auth-modal-close{color:var(--color-text-secondary);cursor:pointer;width:32px;height:32px;transition:background var(--transition-normal);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:24px;display:flex;position:absolute;top:16px;right:16px}.auth-modal-close:hover{background:var(--color-background-muted)}.auth-modal h2{color:var(--color-text-primary);margin:0 0 8px;font-size:24px}.auth-subtitle{color:var(--color-text-secondary);margin:0 0 24px;font-size:14px}.auth-btn-google{border:1px solid var(--color-border-medium);background:var(--color-background);width:100%;color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-normal);border-radius:8px;justify-content:center;align-items:center;gap:12px;padding:12px 16px;font-size:15px;font-weight:500;display:flex}.auth-btn-google:hover:not(:disabled){background:var(--color-background-subtle);border-color:#ccc}.auth-btn-google:disabled{opacity:.6;cursor:not-allowed}.auth-btn-apple{border:1px solid var(--color-border-medium);color:#fff;cursor:pointer;width:100%;transition:all var(--transition-normal);background:#000;border-radius:8px;justify-content:center;align-items:center;gap:12px;margin-top:8px;padding:12px 16px;font-size:15px;font-weight:500;display:flex}.auth-btn-apple:hover:not(:disabled){background:#222}.auth-btn-apple:disabled{opacity:.6;cursor:not-allowed}.auth-divider{align-items:center;margin:24px 0;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--color-background-muted);flex:1;height:1px}.auth-divider span{color:var(--color-text-muted);padding:0 16px;font-size:13px}.auth-field{margin-bottom:16px}.auth-field label{color:var(--color-text-primary);margin-bottom:6px;font-size:14px;font-weight:500;display:block}.auth-field input{border:1px solid var(--color-border-medium);width:100%;transition:border-color var(--transition-normal),box-shadow var(--transition-normal);box-sizing:border-box;border-radius:8px;padding:12px 14px;font-size:15px}.auth-field input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #2d50161a}.auth-field input::placeholder{color:var(--color-text-muted)}.auth-error{color:var(--color-error);background:#fee;border-radius:6px;margin-bottom:16px;padding:10px 14px;font-size:14px}.auth-btn{cursor:pointer;width:100%;transition:all var(--transition-normal);border:none;border-radius:8px;padding:12px 16px;font-size:15px;font-weight:600}.auth-btn-primary{background:var(--color-primary);color:#fff}.auth-btn-primary:hover:not(:disabled){background:var(--color-primary-light)}.auth-btn-primary:disabled{opacity:.6;cursor:not-allowed}.auth-btn-secondary{background:var(--color-background-muted);color:var(--color-text-primary)}.auth-btn-secondary:hover:not(:disabled){background:var(--color-background-muted)}.auth-switch{text-align:center;color:var(--color-text-secondary);margin-top:24px;font-size:14px}.auth-switch-btn{color:var(--color-primary);cursor:pointer;background:0 0;border:none;margin-left:4px;font-weight:600}.auth-switch-btn:hover{text-decoration:underline}.auth-hp{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.auth-confirmation{text-align:center;padding:20px 0}.auth-confirmation-icon{margin-bottom:16px;font-size:48px}.auth-confirmation h2{margin-bottom:12px}.auth-confirmation p{color:var(--color-text-secondary);margin:0 0 8px;line-height:1.5}.auth-confirmation p strong{color:var(--color-text-primary)}.auth-confirmation .auth-btn{margin-top:24px}.auth-tos-step{text-align:center;padding:20px 0}.auth-tos-step h2{margin-bottom:16px}.auth-tos-step p{color:var(--color-text-secondary);margin:0 0 20px;font-size:14px;line-height:1.5}.auth-tos-links{justify-content:center;gap:24px;margin-bottom:24px;display:flex}.auth-tos-links a{color:var(--color-primary);font-size:14px;font-weight:500;text-decoration:none}.auth-tos-links a:hover{text-decoration:underline}.auth-tos-agreement{color:var(--color-text-muted);text-align:center;margin:0 0 16px;font-size:12px;line-height:1.4}.auth-tos-agreement a{color:var(--color-primary);text-decoration:none}.auth-tos-agreement a:hover{text-decoration:underline}.auth-confirmation-step{text-align:center;padding:20px 0}.auth-confirmation-step h2{margin-bottom:16px}.auth-confirmation-step p{color:var(--color-text-secondary);margin:0 0 20px;font-size:14px;line-height:1.5}.auth-confirmation-links{justify-content:center;gap:16px;margin-top:16px;display:flex}.auth-forgot-link{text-align:right;margin:-8px 0 8px}.auth-btn-secondary{cursor:pointer;border:1px solid var(--color-border);width:100%;color:var(--color-text);background:0 0;border-radius:8px;padding:12px;font-size:14px;font-weight:500;transition:background .15s,border-color .15s}.auth-btn-secondary:hover:not(:disabled){background:var(--color-surface-hover);border-color:var(--color-text-secondary)}.auth-btn-secondary:disabled{opacity:.5;cursor:not-allowed}
