.auth-wrap{z-index:1;place-items:center;min-height:100dvh;padding:32px 20px;display:grid;position:relative}.auth-card{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--r-lg);width:100%;max-width:408px;box-shadow:var(--shadow-l);padding:34px 34px 30px;animation:.4s cubic-bezier(.2,.8,.2,1) both auth-rise}.auth-brand{align-items:center;gap:11px;margin-bottom:22px;display:flex}.auth-brand img{flex-shrink:0;width:40px;height:40px}.auth-brand .auth-wordmark{font-family:var(--display);letter-spacing:.08em;color:var(--ink);font-size:27px;line-height:.92}.auth-brand .auth-wordmark small{font-family:var(--body);letter-spacing:.26em;text-transform:uppercase;color:var(--papi-olive);margin-top:3px;font-size:9px;font-weight:600;display:block}.auth-head{margin-bottom:22px}.auth-head h1{font-family:var(--display);letter-spacing:.03em;color:var(--ink);font-size:32px;line-height:1}.auth-head .auth-sub{font-family:var(--serif);color:var(--ink-3);margin-top:7px;font-size:14px;font-style:italic}.auth-form{flex-direction:column;gap:15px;display:flex}.auth-field{flex-direction:column;gap:6px;display:flex}.auth-field>label{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-size:10.5px;font-weight:700}.auth-card input{border-radius:var(--r-md);width:100%;padding:11px 13px;font-size:16px}.auth-card input::placeholder{font-size:15px}.auth-pw{position:relative}.auth-pw input{padding-right:58px}.auth-pw .auth-pw-toggle{letter-spacing:.1em;text-transform:uppercase;height:30px;color:var(--ink-3);border-radius:var(--r-sm);padding:0 10px;font-size:10.5px;font-weight:700;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.auth-pw .auth-pw-toggle:hover{color:var(--ink);background:var(--bg-soft)}.auth-pw .auth-pw-toggle:focus-visible{box-shadow:var(--focus-ring);outline:none}.auth-hint{color:var(--ink-mute);margin-top:-2px;font-size:11.5px}.auth-alert{border-radius:var(--r-md);align-items:flex-start;gap:9px;padding:10px 12px;font-size:12.5px;line-height:1.45;display:flex}.auth-alert.err{background:var(--bad-bg);color:var(--bad-fg);border:1px solid #f0c6cd}.auth-alert.ok{background:var(--ok-bg);color:var(--ok-fg);border:1px solid #c3e2cf}.auth-alert svg{flex-shrink:0;margin-top:1px}.auth-card .btn.auth-submit{letter-spacing:.01em;background:var(--papi-bright);width:100%;color:var(--papi-darker);border:1px solid var(--papi-bright);justify-content:center;margin-top:4px;padding:12px 16px;font-size:14px}.auth-card .btn.auth-submit:hover{background:var(--papi-bright-2);border-color:var(--papi-bright-2)}.auth-links{border-top:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:12px;margin-top:18px;padding-top:16px;display:flex}.auth-link{color:var(--papi-olive);background:0 0;font-size:12.5px;font-weight:600;text-decoration:none}.auth-link:hover{color:var(--papi-dark);text-decoration:underline}.auth-link:focus-visible{box-shadow:var(--focus-ring);border-radius:3px;outline:none}.auth-spinner{border:2px solid #1d201040;border-top-color:var(--papi-darker);border-radius:50%;width:15px;height:15px;animation:.6s linear infinite auth-spin}@keyframes auth-spin{to{transform:rotate(360deg)}}@keyframes auth-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.auth-card{animation:none}.auth-spinner{animation-duration:1.2s}}@media (max-width:480px){.auth-card{box-shadow:var(--shadow-m);padding:26px 22px 24px}.auth-head h1{font-size:28px}}
