.auth-container{--ab:#f4f3ef;--ab2:#eeede8;--ab3:#e7e6e1;--aw:#fff;--ai:#0f0f0d;--ai2:#3a3a35;--ai3:#7a7a72;--aa:#1a3cff;--aa2:#0026cc;--aamb:#c86400;--ar:#e8321a;--ar-bg:#e8321a0f;--ar-bd:#e8321a33;--bd:#0f0f0d1a;--bd2:#0f0f0d0f;--bd-str:#0f0f0d2e;--aa-bg:#1a3cff0f;--aa-bd:#1a3cff2e;--mono:"JetBrains Mono","Fira Mono",monospace;--body:"Inter",system-ui,sans-serif;--ease:cubic-bezier(.16,1,.3,1);--t:.18s cubic-bezier(.16,1,.3,1);min-height:100dvh;font-family:var(--body);-webkit-font-smoothing:antialiased;color:var(--ai);background-color:var(--ab);background-image:linear-gradient(var(--bd2)1px,transparent 1px),linear-gradient(90deg,var(--bd2)1px,transparent 1px);background-size:64px 64px;flex-direction:column;justify-content:center;align-items:center;padding:5rem 2rem 6rem;display:flex}.auth-header{text-align:left;width:100%;max-width:820px;margin-bottom:2rem}.auth-header h1{font-family:var(--body);color:var(--ai);letter-spacing:-.035em;margin:0 0 .55rem;font-size:2rem;font-weight:800;line-height:1.1}.auth-header p{font-family:var(--body);color:var(--ai3);margin:0;font-size:.86rem;line-height:1.65}.auth-cards-grid{align-items:start;gap:1.25rem;width:100%;max-width:820px;display:grid}.auth-card-wrapper{flex-direction:column;display:flex}.auth-form{background:var(--aw);border:1px solid var(--bd);border-top:3px solid var(--aa);width:100%;transition:box-shadow var(--t),border-color var(--t);border-radius:4px;flex-direction:column;gap:1rem;padding:1.75rem 1.75rem 1.6rem;display:flex;box-shadow:0 2px 10px #0f0f0d0f}.auth-form:focus-within{box-shadow:0 4px 20px #0f0f0d1a}.auth-form--signup{border-top-color:var(--aamb)}.auth-title{font-family:var(--body);color:var(--ai);letter-spacing:-.02em;align-items:center;gap:.5rem;margin:0 0 .1rem;font-size:.95rem;font-weight:800;display:flex}.auth-title:before{content:"";background:var(--aa);border-radius:50%;flex-shrink:0;width:6px;height:6px}.auth-form--signup .auth-title:before{background:var(--aamb)}.auth-error{background:var(--ar-bg);border:1px solid var(--ar-bd);border-left:3px solid var(--ar);font-family:var(--body);color:var(--ar);animation:authShake .3s var(--ease);border-radius:4px;align-items:flex-start;gap:.5rem;padding:.6rem .75rem;font-size:.78rem;line-height:1.55;display:flex}@keyframes authShake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.auth-error:before{content:"!";font-family:var(--mono);border:1.5px solid var(--ar);text-align:center;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:15px;min-width:15px;height:15px;margin-top:.06rem;font-size:.62rem;font-weight:800;line-height:1;display:flex}.auth-label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ai3);flex-direction:column;gap:.35rem;font-size:.58rem;font-weight:700;display:flex}.auth-input{background:var(--ab);border:1px solid var(--bd);width:100%;font-family:var(--body);color:var(--ai);box-sizing:border-box;transition:border-color var(--t),box-shadow var(--t),background var(--t);-webkit-font-smoothing:antialiased;border-radius:4px;outline:none;margin:0;padding:.55rem .72rem;font-size:.875rem}.auth-input::placeholder{color:var(--ai3)}.auth-input:hover{border-color:var(--bd-str)}.auth-input:focus{border-color:var(--aa);background:var(--aw);box-shadow:0 0 0 3px #1a3cff12}.auth-form--signup .auth-input:focus{border-color:var(--aamb);box-shadow:0 0 0 3px #c8640014}.auth-input[type=password]{letter-spacing:.18em}.auth-input[type=password]::placeholder{letter-spacing:.04em}.auth-actions{justify-content:flex-end;align-items:center;margin-top:.25rem;display:flex}.btn-outline-cta,.auth-btn{background:var(--ai);color:var(--ab);font-family:var(--body);cursor:pointer;letter-spacing:.01em;transition:background var(--t),transform var(--t);white-space:nowrap;border:none;border-radius:4px;justify-content:center;align-items:center;gap:.4rem;padding:.52rem 1.15rem;font-size:.82rem;font-weight:700;display:inline-flex;position:relative;overflow:hidden}.btn-outline-cta:hover:not(:disabled),.auth-btn:hover:not(:disabled){background:var(--aa);transform:translateY(-1px)}.btn-outline-cta:active:not(:disabled),.auth-btn:active:not(:disabled){transform:translateY(0)}.btn-outline-cta:disabled,.auth-btn:disabled{opacity:.35;cursor:not-allowed;transform:none!important}.auth-form--signup .btn-outline-cta,.auth-form--signup .auth-btn{background:var(--aamb);color:var(--aw)}.auth-form--signup .btn-outline-cta:hover:not(:disabled),.auth-form--signup .auth-btn:hover:not(:disabled){background:#a35200}.btn-outline-cta.loading,.auth-btn.loading{color:#0000!important}.btn-outline-cta.loading:after,.auth-btn.loading:after{content:"";border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:14px;height:14px;margin:auto;animation:.65s linear infinite authSpin;position:absolute;inset:0}@keyframes authSpin{to{transform:rotate(360deg)}}.auth-divider{align-items:center;gap:.75rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--bd);flex:1;height:1px}.auth-divider span{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--ai3);white-space:nowrap;font-size:.55rem;font-weight:700}.auth-footnote{font-family:var(--mono);color:var(--ai3);text-transform:uppercase;letter-spacing:.08em;text-align:center;font-size:.56rem}.auth-strength{gap:4px;margin-top:-.4rem;display:flex}.auth-strength-bar{background:var(--ab3);height:3px;transition:background var(--t);border-radius:2px;flex:1}.auth-strength-bar.weak{background:var(--ar)}.auth-strength-bar.medium{background:var(--aamb)}.auth-strength-bar.strong{background:#0a7c4e}@media (max-width:860px){.auth-cards-grid{gap:1rem;max-width:680px}.auth-header{max-width:680px}}@media (max-width:640px){.auth-container{background-size:40px 40px;justify-content:flex-start;padding:2.5rem 1.1rem 4rem}.auth-header{max-width:100%;margin-bottom:1.5rem}.auth-header h1{font-size:1.6rem}.auth-header p{font-size:.82rem}.auth-cards-grid{grid-template-columns:1fr;gap:1rem;max-width:100%}.auth-form{padding:1.4rem 1.25rem 1.3rem}.auth-actions{justify-content:stretch}.btn-outline-cta,.auth-btn{width:100%;padding:.65rem 1rem}}.auth-input:focus-visible,.btn-outline-cta:focus-visible,.auth-btn:focus-visible{outline:2px solid var(--aa);outline-offset:2px}@media (prefers-reduced-motion:reduce){.auth-input,.btn-outline-cta,.auth-btn{transition:none!important}.auth-error{animation:none!important}}
