.google-auth-button{border:1px solid var(--glass-border,#ffffff1a);border-radius:var(--radius-md,8px);background:var(--bg-secondary,#1a1a24);width:100%;height:40px;color:var(--text-primary,#fff);cursor:pointer;transition:all var(--transition-normal,.25s ease);justify-content:center;align-items:center;padding:0 1rem;font-size:.9rem;font-weight:500;display:flex;position:relative}.google-auth-button:hover{background:var(--glass-bg,#ffffff0d);border-color:var(--accent-primary,#6366f1);transform:translateY(-1px)}.google-auth-button:active{transform:translateY(0)}.google-auth-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.google-auth-button__content{align-items:center;gap:var(--spacing-md,.75rem);display:flex;position:relative}.google-auth-button__icon{flex-shrink:0;width:20px;height:20px}.google-auth-button__text{text-align:center;flex:1}.google-auth-button__spinner{justify-content:center;align-items:center;display:flex;position:absolute;right:0}.google-auth-button__spinner .spinner{border:2px solid var(--glass-border,#fff3);border-top-color:var(--accent-primary,#6366f1);border-radius:50%;width:16px;height:16px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}
.login-modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:var(--z-modal,1000);padding:var(--spacing-lg,1.5rem);background:#000000bf;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0;overflow-y:auto}.login-modal{background:var(--bg-primary,#0f0f13);border:1px solid var(--glass-border,#ffffff1a);border-radius:var(--radius-xl,16px);scrollbar-width:thin;scrollbar-color:#ffffff26 #0000;flex-shrink:0;width:100%;max-width:400px;max-height:calc(100vh - 2rem);margin:auto;animation:.3s cubic-bezier(.4,0,.2,1) slideUp;overflow-y:auto;box-shadow:0 20px 40px #00000080}.login-modal::-webkit-scrollbar{width:6px}.login-modal::-webkit-scrollbar-track{background:0 0}.login-modal::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.login-modal__header{border-bottom:1px solid var(--glass-border,#ffffff1a);justify-content:space-between;align-items:center;padding:.9rem 1.25rem;display:flex}.login-modal__title{color:var(--text-primary,#fff);white-space:nowrap;margin:0;font-size:1.15rem;font-weight:600;line-height:1.25}@media (max-width:440px){.login-modal__title{font-size:1.05rem}}.login-modal__close{border-radius:var(--radius-md,8px);cursor:pointer;width:32px;height:32px;color:var(--text-secondary,#ffffffb3);transition:all var(--transition-normal,.2s ease);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.login-modal__close svg{width:20px;height:20px}.login-modal__close:hover{background:var(--glass-bg,#ffffff0d);color:var(--text-primary,#fff)}.login-modal__content{padding:1.1rem 1.25rem 1.25rem}.error-message{align-items:center;gap:var(--spacing-sm,.5rem);border-radius:var(--radius-md,8px);color:#ef4444;background:#ef44441a;border:1px solid #ef44444d;margin-bottom:.75rem;padding:.5rem .75rem;font-size:.85rem;display:flex}.error-message .error-icon{flex-shrink:0;width:18px;height:18px}.divider{align-items:center;margin:.75rem 0;display:flex}.divider:before,.divider:after{content:"";background:var(--glass-border,#ffffff1a);flex:1;height:1px}.divider span{padding:0 var(--spacing-md,.75rem);color:var(--text-muted,#fff6);font-size:.825rem}.auth-form{flex-direction:column;gap:.75rem;display:flex}.form-group{margin-bottom:0}.form-group input{border:1px solid var(--glass-border,#ffffff1a);border-radius:var(--radius-md,8px);background:var(--bg-secondary,#1a1a24);width:100%;color:var(--text-primary,#fff);transition:all var(--transition-normal,.2s ease);box-sizing:border-box;padding:.65rem .85rem;font-size:.92rem}.form-group input::placeholder{color:var(--text-muted,#fff6);font-weight:500}.form-group input:focus{border-color:var(--accent-primary,#6366f1);outline:none;box-shadow:0 0 0 3px #6366f133}.form-group input.error{background:#ef44440d;border-color:#ef4444}.form-group input:disabled{opacity:.6;cursor:not-allowed}.form-group .field-error{color:#ef4444;margin-top:.2rem;font-size:.78rem;display:block}.password-input{align-items:center;display:flex;position:relative}.password-input input{flex:1;padding-right:40px}.password-input .password-toggle{border-radius:var(--radius-sm,4px);cursor:pointer;width:28px;height:28px;color:var(--text-muted,#fff6);transition:all var(--transition-normal,.2s ease);background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:absolute;right:.4rem}.password-input .password-toggle svg{width:18px;height:18px}.password-input .password-toggle:hover{background:var(--glass-bg,#ffffff0d);color:var(--text-primary,#fff)}.checkbox-group{margin-top:-.1rem;margin-bottom:.15rem}.checkbox-group .checkbox-label{cursor:pointer;align-items:center;gap:.5rem;font-size:.825rem;display:flex}.checkbox-group .checkbox-label input[type=checkbox]{width:15px;height:15px;accent-color:var(--accent-primary,#6366f1);margin:0}.checkbox-group .checkbox-label .checkbox-text{color:var(--text-secondary,#ffffffb3)}.checkbox-group .checkbox-label .checkbox-text a{color:var(--accent-primary,#6366f1);text-decoration:none}.checkbox-group .checkbox-label .checkbox-text a:hover{text-decoration:underline}.login-options-row{justify-content:space-between;align-items:center;gap:.5rem;margin-top:-.1rem;margin-bottom:.25rem;display:flex}.login-options-row .checkbox-label{cursor:pointer;align-items:center;gap:.4rem;font-size:.8rem;display:flex}.login-options-row .checkbox-label input[type=checkbox]{width:14px;height:14px;accent-color:var(--accent-primary,#6366f1);margin:0}.login-options-row .checkbox-label .checkbox-text{color:var(--text-secondary,#ffffffb3)}.login-options-row .forgot-password-link{color:#818cf8;cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:0;font-size:.8rem;font-weight:500;transition:color .2s}.login-options-row .forgot-password-link:hover{color:#a5b4fc;text-decoration:underline}.login-options-row .forgot-password-link:disabled{opacity:.5;cursor:not-allowed}.forgot-password-desc{color:var(--text-secondary,#ffffffbf);margin-bottom:1rem;font-size:.85rem;line-height:1.45}.back-to-login-row{text-align:center;margin-top:1rem}.back-to-login-row .link-button{color:#818cf8;cursor:pointer;background:0 0;border:none;font-size:.85rem;font-weight:500;transition:color .2s}.back-to-login-row .link-button:hover{color:#a5b4fc;text-decoration:underline}.auth-button{border-radius:var(--radius-md,8px);cursor:pointer;justify-content:center;align-items:center;height:40px;padding:0 1rem;font-size:.9rem;font-weight:600;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex}.auth-button.primary{color:#818cf8;-webkit-backdrop-filter:blur(12px);background:#6366f12e;border:1px solid #818cf873;box-shadow:0 4px 16px #0000004d,inset 0 1px 1px #ffffff26}.auth-button.primary:hover:not(:disabled){color:#a5b4fc;background:#6366f152;border-color:#818cf8b3;transform:translateY(-1px);box-shadow:0 6px 20px #6366f140,inset 0 1px 1px #ffffff40}.auth-button.primary:active:not(:disabled){transform:translateY(0)}.auth-button.primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.mode-switch{text-align:center;border-top:1px solid var(--glass-border,#ffffff1a);margin-top:.75rem;padding-top:.75rem}.mode-switch p{color:var(--text-secondary,#ffffffb3);margin:0;font-size:.825rem}.mode-switch .link-button{color:var(--accent-primary,#6366f1);cursor:pointer;font-size:inherit;background:0 0;border:none;text-decoration:underline}.mode-switch .link-button:hover:not(:disabled){color:var(--accent-glow,#4f46e5)}.mode-switch .link-button:disabled{opacity:.6;cursor:not-allowed}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:480px){.login-modal-overlay{padding:var(--spacing-sm,.5rem);align-items:flex-start;padding-top:10vh}.login-modal{max-width:none;max-height:85vh;margin:0 auto}.login-modal__header,.login-modal__content{padding:var(--spacing-md,1rem)}.login-modal__title{font-size:1.25rem}.auth-form{gap:var(--spacing-md,1rem)}}@media (max-height:600px){.login-modal{max-height:95vh}.login-modal-overlay{align-items:flex-start;padding-top:2vh}}
.username-setup-overlay{z-index:1300;-webkit-backdrop-filter:blur(12px);background:#000000c7;justify-content:center;align-items:center;padding:1.5rem;animation:.2s ease-out fadeInUsername;display:flex;position:fixed;inset:0}@keyframes fadeInUsername{0%{opacity:0}to{opacity:1}}@keyframes slideUpUsername{0%{opacity:0;transform:translateY(18px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.username-setup-card{color:#f8fafc;background:linear-gradient(165deg,#141622fa 0%,#0c0e16fa 100%);border:1px solid #ffffff1a;border-radius:16px;width:100%;max-width:440px;padding:1.75rem;animation:.25s cubic-bezier(.16,1,.3,1) slideUpUsername;position:relative;box-shadow:0 20px 50px #000000a6,0 0 30px #6366f114}.username-setup-card .username-setup-close{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex;position:absolute;top:1rem;right:1rem}.username-setup-card .username-setup-close:hover{color:#fff;background:#ffffff14}.username-setup-card .username-setup-close svg{width:18px;height:18px}.username-setup-card .username-setup-header{text-align:left;margin-bottom:1.25rem}.username-setup-card .username-setup-header .welcome-badge{color:#a5b4fc;letter-spacing:.01em;background:#6366f124;border:1px solid #818cf84d;border-radius:8px;align-items:center;margin-bottom:.85rem;padding:.35rem .85rem;font-size:.82rem;font-weight:600;display:inline-flex}.username-setup-card .username-setup-header .setup-title{color:#fff;letter-spacing:-.01em;margin:0 0 .35rem;font-size:1.25rem;font-weight:700}.username-setup-card .username-setup-header .setup-subtitle{color:#94a3b8;margin:0;font-size:.84rem;line-height:1.45}.username-setup-card .user-preview-chip{background:#ffffff08;border:1px solid #ffffff14;border-radius:10px;align-items:center;gap:.75rem;margin-bottom:1.25rem;padding:.6rem .85rem;display:flex}.username-setup-card .user-preview-chip .preview-avatar{object-fit:cover;border:1.5px solid #6366f159;border-radius:50%;width:34px;height:34px}.username-setup-card .user-preview-chip .preview-meta{flex-direction:column;min-width:0;display:flex}.username-setup-card .user-preview-chip .preview-meta .preview-email{color:#e2e8f0;white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;font-weight:600;overflow:hidden}.username-setup-card .user-preview-chip .preview-meta .preview-status{color:#818cf8;font-size:.7rem}.username-setup-card .username-setup-form{flex-direction:column;gap:1.15rem;display:flex}.username-setup-card .username-setup-form .input-field-group{flex-direction:column;gap:.4rem;display:flex}.username-setup-card .username-setup-form .input-field-group .field-label{color:#cbd5e1;font-size:.8rem;font-weight:600}.username-setup-card .username-setup-form .input-field-group .handle-input-wrap{background:#161824;border:1px solid #ffffff1f;border-radius:10px;align-items:center;transition:all .2s;display:flex;position:relative}.username-setup-card .username-setup-form .input-field-group .handle-input-wrap:focus-within{border-color:#6366f1;box-shadow:0 0 0 3px #6366f12e}.username-setup-card .username-setup-form .input-field-group .handle-input-wrap.is-valid{border-color:#10b981;box-shadow:0 0 0 3px #10b9811f}.username-setup-card .username-setup-form .input-field-group .handle-input-wrap.is-invalid{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441f}.username-setup-card .username-setup-form .input-field-group .handle-input-wrap .prefix-wrap{color:#818cf8;align-items:center;padding-left:.85rem;display:flex}.username-setup-card .username-setup-form .input-field-group .handle-input-wrap .prefix-wrap .at-icon{width:17px;height:17px}.username-setup-card .username-setup-form .input-field-group .handle-input-wrap .handle-input{color:#fff;letter-spacing:.01em;background:0 0;border:none;outline:none;flex:1;padding:.75rem .5rem;font-size:.98rem;font-weight:600}.username-setup-card .username-setup-form .input-field-group .handle-input-wrap .handle-input::placeholder{color:#475569;font-weight:400}.username-setup-card .username-setup-form .input-field-group .handle-input-wrap .status-indicator{align-items:center;padding-right:.8rem;display:flex}.username-setup-card .username-setup-form .input-field-group .handle-input-wrap .status-indicator .check-spinner{border:2px solid #fff3;border-top-color:#818cf8;border-radius:50%;width:15px;height:15px;animation:.8s linear infinite spinUsername}.username-setup-card .username-setup-form .input-field-group .handle-input-wrap .status-indicator .status-icon{width:18px;height:18px}.username-setup-card .username-setup-form .input-field-group .handle-input-wrap .status-indicator .status-icon.icon-valid{color:#10b981}.username-setup-card .username-setup-form .input-field-group .handle-input-wrap .status-indicator .status-icon.icon-invalid{color:#ef4444}.username-setup-card .username-setup-form .input-field-group .field-footer-info{min-height:1rem;font-size:.73rem;line-height:1.35}.username-setup-card .username-setup-form .input-field-group .field-footer-info .hint-text{color:#64748b}.username-setup-card .username-setup-form .input-field-group .field-footer-info .success-text{color:#10b981;font-weight:600}.username-setup-card .username-setup-form .input-field-group .field-footer-info .error-text{color:#f87171;font-weight:600}.username-setup-card .username-setup-form .setup-actions{justify-content:flex-end;align-items:center;gap:.75rem;margin-top:.4rem;display:flex}.username-setup-card .username-setup-form .setup-actions .btn-skip-setup{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:.5rem .75rem;font-size:.82rem;font-weight:500;transition:all .15s}.username-setup-card .username-setup-form .setup-actions .btn-skip-setup:hover{color:#fff;background:#ffffff0f}.username-setup-card .username-setup-form .setup-actions .btn-confirm-handle{color:#818cf8;cursor:pointer;-webkit-backdrop-filter:blur(12px);background:#6366f12e;border:1px solid #818cf873;border-radius:8px;justify-content:center;align-items:center;gap:.45rem;height:38px;padding:0 1.25rem;font-size:.88rem;font-weight:600;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex;box-shadow:0 4px 16px #0000004d,inset 0 1px 1px #ffffff26}.username-setup-card .username-setup-form .setup-actions .btn-confirm-handle .btn-arrow-icon{width:14px;height:14px;color:inherit}.username-setup-card .username-setup-form .setup-actions .btn-confirm-handle:hover:not(:disabled){color:#c7d2fe;background:#6366f152;border-color:#a5b4fc;transform:translateY(-1px);box-shadow:0 6px 20px #6366f159,inset 0 1px 2px #ffffff40}.username-setup-card .username-setup-form .setup-actions .btn-confirm-handle:active:not(:disabled){transform:translateY(0)}.username-setup-card .username-setup-form .setup-actions .btn-confirm-handle:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.username-setup-card .username-setup-form .setup-actions .btn-confirm-handle .btn-spinner{border:2px solid #ffffff40;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spinUsername}@keyframes spinUsername{to{transform:rotate(360deg)}}
