.auth-page{min-height:100vh;padding:calc(var(--nav-height) + 48px) var(--page-margin) 64px;background:radial-gradient(ellipse 80% 55% at 50% 0%, #3279f912, transparent 60%), var(--grey-10);justify-content:center;align-items:center;display:flex}.auth-card{background:var(--surface);border:1px solid var(--outline);border-radius:var(--corner-2xl);width:100%;max-width:420px;padding:40px;box-shadow:0 1px 2px #0000000a,0 4px 24px #0000000f}.auth-brand{color:var(--on-surface);align-items:center;gap:10px;margin-bottom:32px;text-decoration:none;transition:opacity .15s;display:inline-flex}.auth-brand:hover{opacity:.8}.auth-brand img{flex-shrink:0;width:auto;height:28px}.auth-title{letter-spacing:-.025em;color:var(--on-surface);margin:0 0 6px;font-size:26px;font-weight:600;line-height:1.2}.auth-subtitle{color:var(--on-surface-variant);margin:0 0 28px;font-size:15px;line-height:1.5}.auth-error{border-radius:var(--corner-md);color:#b42318;background:#fef3f2;border:1px solid #fecdca;align-items:center;gap:8px;margin-bottom:20px;padding:12px 14px;font-size:14px;line-height:1.45;display:flex}.auth-error .ms{color:#f97066;font-variation-settings:"FILL" 0, "wght" 300, "GRAD" 0, "opsz" 20;flex-shrink:0;font-size:18px}.auth-success{border-radius:var(--corner-md);color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;align-items:center;gap:8px;margin-bottom:20px;padding:12px 14px;font-size:14px;line-height:1.45;display:flex}.auth-success .ms{color:#4ade80;font-variation-settings:"FILL" 0, "wght" 300, "GRAD" 0, "opsz" 20;flex-shrink:0;font-size:18px}.auth-form{flex-direction:column;gap:18px;display:flex}.auth-field{flex-direction:column;gap:6px;display:flex}.auth-label-row{justify-content:space-between;align-items:center;display:flex}.auth-label{color:var(--on-surface);letter-spacing:-.005em;font-size:13.5px;font-weight:500}.auth-forgot{color:var(--blue-600);font-size:13px;font-weight:450;text-decoration:none;transition:opacity .15s}.auth-forgot:hover{opacity:.75;text-decoration:underline}.auth-input{border-radius:var(--corner-md);border:1px solid var(--outline);background:var(--surface);width:100%;height:42px;color:var(--on-surface);appearance:none;outline:none;padding:0 14px;font-family:inherit;font-size:15px;transition:border-color .15s,box-shadow .15s}.auth-input::placeholder{color:var(--grey-300)}.auth-input:hover:not(:focus){border-color:var(--grey-300)}.auth-input:focus{border-color:var(--blue-600);box-shadow:0 0 0 3px #3279f924}.auth-submit{border-radius:var(--corner-full);background:var(--on-surface);width:100%;height:44px;color:var(--surface);letter-spacing:.01em;cursor:pointer;border:none;margin-top:4px;padding:0 24px;font-family:inherit;font-size:15px;font-weight:500;transition:background .15s,transform .1s,box-shadow .15s}.auth-submit:hover{background:var(--grey-900);box-shadow:0 4px 12px #00000024}.auth-submit:active{transform:scale(.985)}.auth-switch{text-align:center;color:var(--on-surface-variant);margin-top:20px;font-size:14px}.auth-switch a{color:var(--on-surface);font-weight:500;text-decoration:none;transition:color .15s}.auth-switch a:hover{text-decoration:underline}.auth-terms{text-align:center;color:var(--grey-400);margin-top:14px;font-size:12.5px;line-height:1.6}.auth-terms a{color:var(--on-surface-variant);text-decoration:none;transition:color .15s}.auth-terms a:hover{color:var(--on-surface);text-decoration:underline}.auth-divider{align-items:center;gap:12px;margin:4px 0;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--outline);flex:1;height:1px}.auth-divider span{color:var(--grey-400);white-space:nowrap;font-size:12px;font-weight:450}.auth-oauth-stack{flex-direction:column;gap:10px;margin-bottom:4px;display:flex}.auth-oauth-form{margin:0}.auth-oauth-btn{border-radius:var(--corner-full);letter-spacing:.01em;cursor:pointer;border:1px solid var(--outline);background:var(--surface);width:100%;min-height:44px;color:var(--on-surface);justify-content:center;align-items:center;gap:10px;padding:10px 18px;font-family:inherit;font-size:15px;font-weight:500;transition:background .15s,border-color .15s,box-shadow .15s,transform .1s;display:inline-flex}.auth-oauth-btn:hover:not(:disabled){background:var(--surface-container);border-color:var(--grey-300)}.auth-oauth-btn:active:not(:disabled){transform:scale(.985)}.auth-oauth-btn:disabled{opacity:.72;cursor:wait}.auth-oauth-btn--google:hover:not(:disabled){box-shadow:0 2px 8px #4285f41f}.auth-oauth-btn--github{color:var(--on-surface)}.auth-oauth-btn--github:hover:not(:disabled){background:var(--grey-1000);border-color:var(--grey-1000);color:var(--surface)}.auth-oauth-icon{flex-shrink:0;width:18px;height:18px}.auth-oauth-btn--github .auth-oauth-icon{color:inherit}.auth-oauth-pending{color:var(--on-surface-variant);font-size:14px;font-weight:450}@media (max-width:480px){.auth-page{padding-top:calc(var(--nav-height) + 24px);align-items:flex-start;padding-bottom:40px}.auth-card{border-radius:var(--corner-xl);padding:28px 24px}.auth-title{font-size:22px}}
