.auth-overlay{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:var(--space-24);background:rgba(0,0,0,.4);backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2)}.auth-dialog{position:relative;width:100%;max-width:24rem;border-radius:var(--radius-xl);border:1px solid var(--glass-10);background:var(--app-bg);color:var(--app-text);padding:var(--space-32);box-shadow:0 32px 80px rgba(0,0,0,.45),0 0 0 1px var(--glass-3),inset 0 1px 0 var(--glass-8);overflow:hidden}.auth-dialog:before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(ellipse 60% 50% at 20% 0,color-mix(in srgb,var(--accent) 8%,transparent),transparent 70%),radial-gradient(ellipse 50% 60% at 80% 100%,color-mix(in srgb,var(--accent) 5%,transparent),transparent 70%);pointer-events:none}.auth-dialog-close{position:absolute;top:var(--space-20);right:var(--space-20)}.auth-header{margin-bottom:var(--space-24)}.auth-title{font-size:var(--font-size-20);font-weight:600;line-height:1.3;color:var(--app-ink)}.auth-body{display:flex;flex-direction:column;gap:var(--space-12)}.auth-error{padding:var(--space-10) var(--space-14);border-radius:var(--radius-md);border:1px solid color-mix(in srgb,#ef4444 25%,transparent);background:color-mix(in srgb,#ef4444 8%,transparent);color:#fca5a5}.auth-button,.auth-error{font-size:var(--font-size-13)}.auth-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-8);width:100%;padding:var(--space-10) var(--space-16);border-radius:var(--radius-md);border:1px solid var(--app-line);background:var(--glass-5);color:var(--app-text);font-weight:500;cursor:pointer;transition:background .15s,border-color .15s}.auth-button:hover:not(:disabled){background:var(--glass-10);border-color:var(--glass-20)}.auth-button:disabled{opacity:.5;cursor:not-allowed}.auth-button--google{background:var(--glass-8);border-color:var(--glass-14);font-weight:600}.auth-button--google:hover:not(:disabled){background:var(--glass-15)}.auth-button--submit{background:var(--accent);border-color:var(--accent);color:var(--app-bg);font-weight:600}.auth-button--submit:hover:not(:disabled){opacity:.9}.auth-google-icon{width:1rem;height:1rem;flex-shrink:0}.auth-divider{display:flex;align-items:center;gap:var(--space-12);font-size:var(--font-size-11);text-transform:uppercase;letter-spacing:.12em;color:var(--app-muted)}.auth-divider:after,.auth-divider:before{content:"";flex:1;height:1px;background:var(--app-line)}.auth-form{gap:var(--space-12)}.auth-field,.auth-form{display:flex;flex-direction:column}.auth-field{gap:var(--space-6)}.auth-field label{font-size:var(--font-size-12);font-weight:500;color:var(--app-muted)}.auth-field input{width:100%;padding:var(--space-8) var(--space-12);border-radius:var(--radius-md);border:1px solid var(--glass-8);background:var(--glass-4);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--app-text);font-size:var(--font-size-13);outline:none;transition:border-color .15s,background .15s}.auth-field input::placeholder{color:var(--app-muted);opacity:.6}.auth-field input:focus{border-color:var(--accent);background:var(--glass-6)}.auth-notice{padding:var(--space-10) var(--space-14);border-radius:var(--radius-md);border:1px solid var(--app-line);background:var(--glass-3);font-size:var(--font-size-12);color:var(--app-muted)}.auth-notice code{font-size:var(--font-size-11);color:var(--app-text)}.auth-footer{padding-top:var(--space-4);text-align:center}.auth-switch-link{font-size:var(--font-size-13);color:var(--app-muted);text-decoration:none;background:none;border:none;padding:0;cursor:pointer;transition:color .15s}.auth-switch-link strong{color:var(--accent);font-weight:600}.auth-switch-link:hover{color:var(--app-text)}.auth-switch-link:hover strong{color:var(--app-ink)}.join-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-24)}.join-dialog{box-shadow:none}.join-subtitle{font-size:var(--font-size-13);color:var(--app-muted);margin-bottom:var(--space-4)}