:root{--auth-bg-card:#09090beb;--auth-border-card:#ffffff0e;--auth-text-primary:#f4f4f5;--auth-text-secondary:#a1a1aa;--auth-text-muted:#71717a;--auth-accent:#6366f1;--auth-accent-hover:#4f46e5;--auth-accent-gradient:linear-gradient(135deg, #6366f1 0%, #4f46e5 100%);--auth-accent-gradient-hover:linear-gradient(135deg, #818cf8 0%, #4f46e5 100%);--auth-focus-ring:#6366f126;--auth-input-bg:#ffffff05;--auth-input-border:#ffffff0f;--auth-input-border-hover:#ffffff1f;--auth-font-sans:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--auth-font-display:"Outfit", sans-serif}.auth-modal{z-index:9999;opacity:0;pointer-events:none;justify-content:center;align-items:center;padding:1.5rem;transition:opacity .18s ease-out;display:flex;position:fixed;inset:0}.auth-modal.active{opacity:1;pointer-events:auto}.auth-backdrop{-webkit-backdrop-filter:blur(8px);z-index:-1;background:#09090bb8;position:absolute;inset:0}.auth-card{background:var(--auth-bg-card);-webkit-backdrop-filter:blur(10px);border:1px solid var(--auth-border-card);width:100%;max-width:410px;font-family:var(--auth-font-sans);color:var(--auth-text-primary);box-sizing:border-box;border-radius:12px;padding:2.25rem;transition:transform .18s ease-out,border-color .18s ease-out;position:relative;overflow:hidden;transform:translateY(6px);box-shadow:0 20px 40px -15px #00000080,inset 0 1px #ffffff0d}.auth-modal.active .auth-card{transform:translateY(0)}.auth-card:before{content:"";background:linear-gradient(90deg,#0000,#6366f166,#0000);height:2px;position:absolute;top:0;left:25%;right:25%}.auth-close{cursor:pointer;color:var(--auth-text-secondary);z-index:10;padding:4px;font-size:1.15rem;transition:color .15s ease-out,transform .15s ease-out;position:absolute;top:1.15rem;right:1.15rem}.auth-header{text-align:center;margin-bottom:1.75rem}.auth-header h2{font-family:var(--auth-font-display);letter-spacing:-.025em;color:var(--auth-text-primary);margin-bottom:.35rem;font-size:1.6rem;font-weight:600}.auth-header p{color:var(--auth-text-secondary);font-size:.85rem;font-weight:400}.auth-form{flex-direction:column;gap:1.1rem;display:flex}.auth-form-group{flex-direction:column;gap:.4rem;display:flex}.auth-form-group label{text-transform:uppercase;letter-spacing:.05em;color:var(--auth-text-secondary);font-size:.72rem;font-weight:600}.auth-input-wrapper{align-items:center;display:flex;position:relative}.auth-input-icon{color:var(--auth-text-muted);pointer-events:none;align-items:center;font-size:1.1rem;display:flex;position:absolute;left:.85rem}.auth-input{background:var(--auth-input-bg);border:1px solid var(--auth-input-border);width:100%;color:var(--auth-text-primary);font-size:.88rem;font-family:var(--auth-font-sans);box-sizing:border-box;border-radius:8px;padding:.7rem .85rem .7rem 2.5rem;transition:all .18s ease-out}.auth-input::placeholder{color:#4b5563}.auth-input:focus{border-color:var(--auth-accent);box-shadow:0 0 0 2px var(--auth-focus-ring);background:#ffffff0a;outline:none}.auth-password-toggle{cursor:pointer;color:var(--auth-text-secondary);background:0 0;border:none;align-items:center;padding:4px;transition:color .15s ease-out;display:flex;position:absolute;right:.85rem}.auth-label-row{justify-content:space-between;align-items:center;display:flex}.auth-forgot-link{color:var(--auth-text-secondary);font-size:.72rem;font-weight:500;text-decoration:none;transition:color .15s ease-out}.auth-checkbox-group{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.45rem;display:flex}.auth-checkbox{border:1px solid var(--auth-input-border);cursor:pointer;width:.95rem;height:.95rem;accent-color:var(--auth-accent);background:#0006;border-radius:4px}.auth-checkbox-label{color:var(--auth-text-secondary);font-size:.72rem}.auth-error-box{color:#f87171;box-sizing:border-box;background:#ef44440f;border:1px solid #ef444426;border-radius:8px;align-items:center;gap:.65rem;padding:.65rem .85rem;font-size:.75rem;animation:.2s ease-out auth-shake;display:none}.auth-error-box.active{display:flex}@keyframes auth-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.auth-btn-submit{background:var(--auth-accent-gradient);color:#fff;cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;font-size:.88rem;font-weight:600;transition:all .15s ease-out;display:flex;box-shadow:0 4px 12px #6366f126}.auth-btn-submit:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.auth-divider{justify-content:center;align-items:center;width:100%;margin:.4rem 0;display:flex}.auth-divider-line{background:#ffffff0d;flex-grow:1;height:1px}.auth-divider-text{text-transform:uppercase;letter-spacing:.05em;color:var(--auth-text-muted);margin:0 1rem;font-size:.68rem;font-weight:600}.auth-btn-google,.auth-btn-guest{border:1px solid var(--auth-input-border);color:var(--auth-text-primary);cursor:pointer;background:#ffffff05;border-radius:8px;justify-content:center;align-items:center;gap:.65rem;width:100%;padding:.7rem 1rem;font-size:.88rem;font-weight:500;transition:all .15s ease-out;display:flex}.auth-btn-google svg{width:.95rem;height:.95rem;transition:transform .15s ease-out}.auth-footer{text-align:center;color:var(--auth-text-secondary);border-top:1px solid #ffffff0d;margin-top:1.5rem;padding-top:1rem;font-size:.82rem}.auth-toggle-btn{color:#818cf8;cursor:pointer;background:0 0;border:none;margin-left:.25rem;padding:0;font-weight:600;transition:color .15s ease-out}@keyframes auth-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin-loader{border:2px solid #ffffff1a;border-top-color:#fff;border-radius:50%;width:1rem;height:1rem;animation:.8s linear infinite auth-spin;display:inline-block}@media (width<=480px){.auth-card{border-radius:12px;padding:1.75rem 1.15rem}}@media (height<=680px) or (width<=480px){.auth-modal{align-items:flex-start;padding:1rem .75rem;overflow-y:auto}.auth-card{margin:auto 0}.auth-close{padding:8px;top:.85rem;right:.85rem}}.auth-btn-submit:active{opacity:.9;transform:translateY(1px)}.auth-btn-google:active,.auth-btn-guest:active{background:#ffffff14;transform:translateY(1px)}.auth-close:active{opacity:.8;transform:scale(.95)}.auth-toggle-btn:active,.auth-forgot-link:active{opacity:.8}@media (hover:hover){.auth-card:hover{border-color:#6366f126}.auth-close:hover{color:var(--auth-text-primary)}.auth-input:hover{border-color:var(--auth-input-border-hover)}.auth-password-toggle:hover,.auth-forgot-link:hover{color:var(--auth-text-primary)}.auth-btn-submit:hover{background:var(--auth-accent-gradient-hover);transform:translateY(-2px);box-shadow:0 4px 16px #6366f140}.auth-btn-google:hover,.auth-btn-guest:hover{background:#ffffff0d;border-color:#ffffff26;transform:translateY(-2px)}.auth-btn-google:hover svg{transform:scale(1.05)}.auth-toggle-btn:hover{color:#a5b4fc}}.google-sync-prompt{-webkit-backdrop-filter:blur(20px);text-align:center;background:#0d0c1199;border:1px solid #ffffff0d;border-radius:16px;flex-direction:column;align-items:center;gap:1.5rem;max-width:580px;margin:4rem auto;padding:3rem 2rem;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 40px -15px #00000080,inset 0 1px 1px #ffffff05}.google-sync-prompt:before{content:"";background:linear-gradient(90deg,#0000,#7c3aed66,#0000);height:2px;position:absolute;top:0;left:25%;right:25%}.prompt-icon-group{justify-content:center;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.prompt-icon-avatar{background:#ffffff08;border:1px solid #ffffff14;border-radius:12px;justify-content:center;align-items:center;width:3.2rem;height:3.2rem;font-size:1.5rem;display:flex}.google-logo-wrapper svg{width:1.5rem;height:1.5rem}.classroom-logo-wrapper{color:#10b981;background:#10b9811a;border-color:#10b98133}.gmail-logo-wrapper{color:#ea4335;background:#ea43351a;border-color:#ea433533}.prompt-title{font-family:var(--auth-font-display,"Outfit", sans-serif);color:#fff;margin:0;font-size:1.35rem;font-weight:600;line-height:1.4}.prompt-subtitle{color:#94a3b8;max-width:460px;font-size:.9rem;line-height:1.6;text-align:center!important;margin:0 auto!important}.prompt-actions{flex-direction:row;justify-content:center;align-items:center;gap:1rem;width:100%;margin-top:1rem;display:flex}.btn-google-upgrade{color:#fff;border-radius:var(--radius-full,9999px);cursor:pointer;background:linear-gradient(135deg,#7c3aed 0%,#4f46e5 100%);border:none;justify-content:center;align-items:center;gap:.6rem;width:auto;padding:.75rem 1.75rem;font-size:.85rem;font-weight:600;transition:all .3s cubic-bezier(.16,1,.3,1);display:inline-flex;box-shadow:0 4px 15px #7c3aed33}.btn-google-upgrade svg{width:1.1rem;height:1.1rem}.btn-account-login{border-radius:var(--radius-full,9999px);color:#fff;cursor:pointer;background:#ffffff08;border:1px solid #ffffff14;justify-content:center;align-items:center;gap:.5rem;width:auto;padding:.75rem 1.75rem;font-size:.85rem;font-weight:600;transition:all .3s cubic-bezier(.16,1,.3,1);display:inline-flex}@media (hover:hover){.btn-google-upgrade:hover{background:linear-gradient(135deg,#8b5cf6 0%,#6366f1 100%);transform:translateY(-2px);box-shadow:0 6px 20px #7c3aed73}.btn-account-login:hover{background:#ffffff12;border-color:#ffffff2e;transform:translateY(-2px)}}.btn-google-upgrade:active,.btn-account-login:active{transform:translateY(0)}@media (width<=640px){.prompt-actions{flex-direction:column;align-items:stretch;gap:.75rem;max-width:320px;margin-left:auto;margin-right:auto}.btn-google-upgrade,.btn-account-login{justify-content:center;width:100%}}
