.auth-root{--cream:#f5f0e4;--ink:#141414;--orange:#e8621a;--teal:#1a9e75;--yellow:#f5c842;--muted:#6b6557;--card:#fdfaf2;--accent:var(--orange);--accent-alt:var(--teal);--card-max:440px;background:var(--cream);min-height:100vh;color:var(--ink);font-family:var(--font-jakarta),sans-serif;flex-direction:column;justify-content:center;align-items:center;padding:48px 20px;display:flex;position:relative;overflow-x:hidden}.auth-root.theme-signup{--accent:var(--teal);--accent-alt:var(--orange);--card-max:460px}.auth-root *,.auth-root :before,.auth-root :after{box-sizing:border-box}.auth-root .card{width:100%;max-width:var(--card-max);background:var(--card);border:2px solid var(--ink);box-shadow:5px 5px 0 var(--ink);z-index:1;border-radius:20px;padding:40px 36px}.auth-root h1{font-family:var(--font-instrument),serif;text-align:center;margin:0;font-size:38px;font-style:italic;font-weight:400;line-height:1.1}.auth-root .sub{text-align:center;color:var(--muted);margin:10px 0 30px;font-size:15px}.auth-root .sub .hl{color:var(--accent);font-weight:600}.auth-root label{letter-spacing:.2px;margin-bottom:7px;font-size:13.5px;font-weight:700;display:block}.auth-root .field{margin-bottom:18px}.auth-root .input-wrap{position:relative}.auth-root input[type=email],.auth-root input[type=password],.auth-root input[type=text]{width:100%;color:var(--ink);border:2px solid var(--ink);background:#fff;border-radius:12px;outline:none;padding:13px 16px;font-family:inherit;font-size:15px;transition:box-shadow .15s,transform .15s}.auth-root input[type=email]::placeholder,.auth-root input[type=password]::placeholder,.auth-root input[type=text]::placeholder{color:#a39b87}.auth-root input[type=email]:focus,.auth-root input[type=password]:focus,.auth-root input[type=text]:focus{box-shadow:3px 3px 0 var(--ink);transform:translate(-1px,-1px)}.auth-root input[type=email]:disabled,.auth-root input[type=password]:disabled,.auth-root input[type=text]:disabled{opacity:.6;cursor:not-allowed}.auth-root .toggle-pw{cursor:pointer;color:var(--muted);background:0 0;border:none;place-items:center;padding:4px;display:grid;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.auth-root .toggle-pw:hover{color:var(--ink)}.auth-root .toggle-pw svg{width:20px;height:20px}.auth-root .hint{color:var(--muted);margin-top:6px;font-size:12.5px}.auth-root .field-error{color:#b34608;margin-top:6px;font-size:12.5px;font-weight:600}.auth-root .row-between{justify-content:space-between;align-items:center;margin:-6px 0 22px;font-size:13.5px;display:flex}.auth-root .remember{cursor:pointer;color:var(--muted);align-items:center;gap:8px;font-weight:500;display:flex}.auth-root .remember input{width:17px;height:17px;accent-color:var(--accent);cursor:pointer}.auth-root .forgot{color:var(--accent);font-weight:700;text-decoration:none}.auth-root .forgot:hover{text-decoration:underline}.auth-root .btn{border:2px solid var(--ink);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:10px;width:100%;padding:14px;font-family:inherit;font-size:15.5px;font-weight:800;transition:transform .12s,box-shadow .12s;display:flex}.auth-root .btn:hover:not(:disabled){box-shadow:4px 4px 0 var(--ink);transform:translate(-2px,-2px)}.auth-root .btn:active:not(:disabled){box-shadow:0 0 0 var(--ink);transform:translate(0)}.auth-root .btn:disabled{opacity:.65;cursor:not-allowed}.auth-root .btn-primary{background:var(--accent);color:#fff}.auth-root .btn-google{color:var(--ink);background:#fff}.auth-root .btn-google svg{width:19px;height:19px}.auth-root .spin{animation:.8s linear infinite auth-spin}.auth-root .divider{color:var(--muted);letter-spacing:1.5px;align-items:center;gap:14px;margin:24px 0;font-size:11.5px;font-weight:700;display:flex}.auth-root .divider:before,.auth-root .divider:after{content:"";background:var(--ink);opacity:.15;border-radius:2px;flex:1;height:2px}.auth-root .switch{text-align:center;color:var(--muted);margin-top:26px;font-size:14px}.auth-root .switch button,.auth-root .switch a{color:var(--accent-alt);cursor:pointer;font-weight:800;font:inherit;background:0 0;border:none;padding:0;font-weight:800;text-decoration:none}.auth-root .switch button:hover,.auth-root .switch a:hover{text-decoration:underline}.auth-root .terms{color:var(--muted);text-align:center;margin-top:16px;font-size:12.5px;line-height:1.5}.auth-root .terms a{color:var(--ink);font-weight:700}.auth-root .error-msg{border:2px solid var(--orange);color:#b34608;background:#fde8de;border-radius:12px;margin-bottom:18px;padding:11px 14px;font-size:13.5px;font-weight:600}.auth-root .error-msg .retry-btn{border:2px solid var(--orange);color:#b34608;cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:6px;margin-top:8px;padding:6px 14px;font-size:12.5px;font-weight:700;display:inline-flex}.auth-root .error-msg .retry-btn:disabled{opacity:.65;cursor:not-allowed}.auth-root .error-msg .retry-btn svg{width:13px;height:13px}.auth-root .error-msg .rate-limit-note{opacity:.85;margin-top:6px;font-size:12px;font-weight:500}.auth-root .success-msg{border:2px solid var(--teal);color:#0f6b4f;background:#dff5ee;border-radius:12px;margin-bottom:18px;padding:11px 14px;font-size:13.5px;font-weight:600}.auth-root .success-card{text-align:center}.auth-root .success-card .success-icon{color:var(--teal);width:48px;height:48px;margin:0 auto 16px}.auth-root .success-card p{color:var(--muted);margin-bottom:24px}.auth-root footer{color:var(--muted);z-index:1;margin-top:32px;font-size:13px}.auth-root footer a{color:var(--ink);font-weight:700;text-decoration:none}.auth-root footer a:hover{text-decoration:underline}@media (max-width:520px){.auth-root .card{padding:32px 22px}.auth-root h1{font-size:32px}}@media (prefers-reduced-motion:reduce){.auth-root *{transition:none!important}.auth-root .spin{animation:none!important}}@keyframes auth-spin{to{transform:rotate(360deg)}}
