.auth-body{min-height:100vh;display:flex;align-items:center;justify-content:center;overflow-y:auto}.auth-body:after{content:"";position:fixed;top:-200px;right:-200px;width:600px;height:600px;background:radial-gradient(circle,rgba(108,99,255,.08) 0%,transparent 70%);pointer-events:none}.auth-container{width:100%;max-width:420px;padding:20px;position:relative;z-index:1}.auth-logo{text-align:center;margin-bottom:40px}.auth-logo-icon{width:48px;height:48px;margin:0 auto 16px;background:var(--accent-glow);border:1px solid rgba(108,99,255,.3);border-radius:14px;display:flex;align-items:center;justify-content:center;font-family:Space Mono,monospace;font-size:22px;font-weight:700;color:var(--accent)}.auth-logo-image{display:block;width:160px;height:160px;margin:0 auto 4px;object-fit:cover;object-position:center 35%;border-radius:18px}.auth-logo h1{font-family:Space Mono,monospace;font-size:20px;font-weight:700;letter-spacing:2px;text-transform:uppercase}.auth-logo p{color:var(--text-muted);font-size:13px;margin-top:6px}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:32px;animation:fadeUp .5s ease-out}.auth-card h2{font-size:16px;font-weight:600;margin-bottom:6px}.auth-card .subtitle{color:var(--text-muted);font-size:13px;margin-bottom:24px;line-height:1.5}.auth-card code{font-family:Space Mono,monospace;font-size:12px;background:var(--bg);padding:1px 6px;border-radius:4px;color:var(--text)}.oauth-button{width:100%;padding:12px 16px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-family:DM Sans,sans-serif;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:12px;transition:all .15s ease;margin-bottom:10px}.oauth-button:hover{background:var(--surface-hover);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.oauth-button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;border-color:var(--border);background:var(--surface)}.oauth-button svg{width:20px;height:20px;flex-shrink:0}.auth-divider{display:flex;align-items:center;gap:12px;margin:20px 0;color:var(--text-muted);font-size:12px}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border)}.input-group{margin-bottom:12px}.input-group label{display:block;font-size:12px;color:var(--text-muted);margin-bottom:6px;font-weight:500}.input-group input{width:100%;padding:10px 14px;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-family:DM Sans,sans-serif;font-size:14px;outline:none;transition:border-color .15s ease}.input-group input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.input-group input:disabled{opacity:.6;cursor:not-allowed}.auth-submit{width:100%;padding:12px;border-radius:8px;border:none;background:var(--accent);color:#fff;font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s ease;margin-top:4px}.auth-submit:hover{background:var(--accent-hover)}.auth-submit:disabled{opacity:.5;cursor:not-allowed}.auth-submit.is-loading{position:relative;color:transparent}.auth-submit.is-loading:after{content:"";position:absolute;inset:0;margin:auto;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.auth-mode-toggle{margin-top:20px;text-align:center;font-size:13px;color:var(--text-muted)}.auth-mode-toggle a{color:var(--accent);text-decoration:none;font-weight:500;margin-left:4px}.auth-mode-toggle a:hover{color:var(--accent-hover);text-decoration:underline}.password-strength{display:none;margin-top:8px}.auth-card[data-mode=signup] .password-strength{display:block}.auth-card[data-mode=signup] .password-strength[data-empty=true]{display:none}.password-strength-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-bottom:6px}.password-strength-segment{height:4px;background:var(--border);border-radius:2px;transition:background-color .18s ease}.password-strength[data-bucket="0"] .password-strength-segment.is-filled{background:var(--danger)}.password-strength[data-bucket="1"] .password-strength-segment.is-filled{background:#fbbf24}.password-strength[data-bucket="2"] .password-strength-segment.is-filled{background:var(--accent)}.password-strength[data-bucket="3"] .password-strength-segment.is-filled{background:var(--success)}.password-strength-label{font-size:11px;color:var(--text-muted);line-height:1.4}#auth-confirm-view{text-align:center}#auth-confirm-view h2{font-size:22px;margin-bottom:16px;color:var(--text)}#auth-confirm-view p{color:var(--text-muted);font-size:14px;line-height:1.6}#auth-confirm-view strong{color:var(--text);font-weight:600;word-break:break-all}#auth-confirm-view .result-icon{font-size:56px;margin-bottom:24px}#auth-confirm-view a{color:var(--accent);text-decoration:none}#auth-confirm-view a:hover{color:var(--accent-hover);text-decoration:underline}.result-view{text-align:center}.result-icon{font-size:48px;margin-bottom:16px}.result-view h2{margin-bottom:8px}.result-view p{color:var(--text-muted);font-size:14px;line-height:1.6}.success-support-note{margin-top:20px;font-size:12px;color:var(--text-dim);line-height:1.5}.success-support-note a{color:var(--accent);text-decoration:none;border-bottom:1px dashed rgba(108,99,255,.3);padding-bottom:1px;transition:color .15s ease,border-color .15s ease}.success-support-note a:hover{color:var(--accent-hover);border-bottom-color:var(--accent-hover)}.spinner{width:24px;height:24px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .6s linear infinite;margin:20px auto}@keyframes spin{to{transform:rotate(360deg)}}.auth-footer{text-align:center;margin-top:24px;font-size:12px;color:var(--text-muted)}.auth-footer a{color:var(--accent);text-decoration:none}.auth-footer a:hover{color:var(--accent-hover)}
