.auth-wrap{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s-5);padding:var(--s-6);background:var(--bg)}.auth-top{width:100%;max-width:400px;display:flex;align-items:center;justify-content:space-between}.auth-wrap.loading .auth-card{visibility:hidden}.auth-top .nav-brand{display:inline-flex;align-items:center;gap:9px}.auth-top .nav-brand .wordmark{font-size:23px}.auth-card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--shadow-md);padding:var(--s-7)}.auth-tabs{display:flex;gap:4px;background:var(--ink-100);border-radius:var(--r-pill);padding:4px;margin-bottom:var(--s-6)}[data-theme=dark] .auth-tabs{background:var(--surface-2)}.auth-tab{flex:1;border:0;background:transparent;cursor:pointer;padding:9px 12px;border-radius:var(--r-pill);font-family:var(--font-display);font-weight:600;font-size:14px;color:var(--text-3);transition:color var(--dur-2) var(--ease),background var(--dur-2) var(--ease)}.auth-tab.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow-xs)}.auth-head{margin-bottom:var(--s-1)}.auth-card h1{font-size:22px;line-height:1.2;margin:0;letter-spacing:-.01em}.auth-sub{color:var(--text-3);font-size:14px;line-height:1.45;margin:6px 0 0}.auth-form{display:flex;flex-direction:column;gap:var(--s-4)}.auth-form[hidden]{display:none}.auth-form .btn{margin-top:var(--s-2)}.auth-error{display:none;font-size:13px;line-height:1.4;color:var(--red-600);background:var(--red-50);border-radius:var(--r-sm);padding:10px 12px;margin-bottom:var(--s-4)}.auth-error.show{display:block}[data-theme=dark] .auth-error{background:#e5484d1f;color:#f2787c}.auth-foot{text-align:center;font-size:13px;line-height:1.45;color:var(--text-3);margin-top:var(--s-4)}.auth-foot:empty{display:none;margin:0}.field-error{color:var(--red-600);font-size:12px;line-height:1.35;margin:6px 0 0}.field-error:empty{display:none}[data-theme=dark] .field-error{color:#f2787c}.input.invalid{border-color:var(--red-600)}.input.invalid:focus{box-shadow:0 0 0 3px var(--red-50)}[data-theme=dark] .input.invalid:focus{box-shadow:0 0 0 3px #e5484d2e}.pw-meter{display:flex;gap:4px;margin-top:8px}.pw-meter i{flex:1;height:4px;border-radius:2px;background:var(--ink-200);transition:background var(--dur-2) var(--ease)}[data-theme=dark] .pw-meter i{background:var(--surface-2)}.pw-meter[data-score="1"] i:nth-child(-n+1){background:var(--red-600)}.pw-meter[data-score="2"] i:nth-child(-n+2){background:#e8950c}.pw-meter[data-score="3"] i:nth-child(-n+3){background:#e8b30c}.pw-meter[data-score="4"] i:nth-child(-n+4){background:#2e8b57}.pw-strength{display:block;margin-top:6px}.pw-strength:empty{display:none}.auth-oauth[hidden]{display:none}.btn-google{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-3)}.btn-google .g-icon{flex:0 0 auto}.auth-or{display:flex;align-items:center;gap:var(--s-3);margin:var(--s-5) 0;color:var(--text-3);font-size:12px}.auth-or:before,.auth-or:after{content:"";flex:1;height:1px;background:var(--line)}.auth-oauth-note{margin:var(--s-4) 0 0;font-size:12px;line-height:1.45;color:var(--text-3);text-align:center}.auth-oauth-note[hidden]{display:none}.auth-oauth-note a{color:var(--accent);text-decoration:none}.auth-oauth-note a:hover{text-decoration:underline}.auth-captcha{margin:var(--s-4) 0}.auth-captcha:empty{margin:0}.field-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-3)}.field-link{font-size:12px;font-weight:600;color:var(--accent);text-decoration:none}.field-link:hover{text-decoration:underline}button.field-link{background:none;border:none;padding:0;font-family:inherit;cursor:pointer;display:block;margin:var(--s-3) auto 0}.auth-confirm{text-align:center;display:flex;flex-direction:column;gap:var(--s-3)}.auth-confirm[hidden]{display:none}.auth-confirm-icon{font-size:34px;line-height:1}.auth-confirm h1{font-size:22px;line-height:1.2;margin:0;letter-spacing:-.01em}.auth-confirm .auth-sub{margin:0}.auth-confirm .btn{margin-top:var(--s-2)}.auth-confirm-note{font-size:12px;color:var(--text-3);margin:0;min-height:16px}.auth-confirm-note:empty{min-height:0}.auth-confirm-hint{font-size:13px;color:var(--text-2);line-height:1.5;margin:0}.auth-confirm-hint[hidden]{display:none}
