.auth-page{min-height:calc(100svh - 72px);display:grid;place-items:center;padding:22px 18px;background:radial-gradient(760px 420px at 10% -8%,color-mix(in srgb,var(--accent) 48%,transparent),transparent 70%),radial-gradient(620px 380px at 92% 4%,color-mix(in srgb,var(--accent3) 42%,transparent),transparent 72%),radial-gradient(520px 320px at 60% 110%,color-mix(in srgb,var(--accent2) 38%,transparent),transparent 72%),var(--paper)}.auth-shell{width:min(100%,1040px);max-height:calc(100svh - 86px);display:grid;grid-template-columns:1.02fr .98fr;background:var(--card);border:1px solid var(--ring,color-mix(in srgb,var(--ink) 12%,transparent));border-radius:28px;overflow:hidden;box-shadow:var(--soft-shadow,0 26px 52px -40px rgba(15,20,25,.65))}.auth-form,.auth-visual{min-height:0}.auth-visual{position:relative;display:flex;flex-direction:column;padding:20px 22px 0;border-right:1px solid var(--ring,rgba(15,20,25,.12));background:radial-gradient(520px 300px at 12% 0,color-mix(in srgb,var(--accent3) 42%,transparent),transparent 68%),color-mix(in srgb,var(--paper) 72%,var(--card));overflow:hidden}.auth-copy{position:relative;z-index:2}.auth-title{margin-top:10px;font-family:var(--font-display);font-weight:700;font-size:clamp(1.5rem,2.1vw,1.95rem);line-height:1.04;letter-spacing:-.03em}.auth-body{margin-top:6px;max-width:32ch;font-size:.86rem;line-height:1.5;color:color-mix(in srgb,var(--ink) 66%,transparent)}.auth-signals{display:grid;gap:5px;margin-top:12px;position:relative;z-index:2}.auth-signal{display:flex;align-items:center;gap:10px;padding:6px 10px;border:1px solid var(--ring,rgba(15,20,25,.12));border-radius:10px;background:color-mix(in srgb,var(--card) 72%,transparent);font-family:var(--font-mono);font-size:10.5px;font-weight:600;letter-spacing:.04em;color:color-mix(in srgb,var(--ink) 72%,transparent)}.auth-signal b{display:grid;place-items:center;min-width:20px;height:20px;border-radius:7px;background:var(--ink);color:var(--paper);font-size:10px}.auth-form{display:flex;align-items:center;justify-content:center;padding:18px 22px;overflow-y:auto}.auth-form .nb-input{padding:8px 11px;font-size:14.5px}.auth-form .nb-btn{min-height:44px}.auth-scene{position:relative;height:198px;margin-top:auto;cursor:pointer;overflow:hidden}.auth-bubble{bottom:156px;transform:translateX(-50%);z-index:5;padding:9px 15px;border-radius:15px;border:1px solid var(--ring,rgba(15,20,25,.12));box-shadow:0 18px 34px -26px rgba(15,20,25,.55);font-family:var(--font-mono);font-size:11.5px;font-weight:600;color:color-mix(in srgb,var(--ink) 76%,transparent);white-space:nowrap}.auth-bubble,.auth-bubble:after{position:absolute;left:50%;background:var(--card)}.auth-bubble:after{content:"";bottom:-5px;width:10px;height:10px;margin-left:-5px;border-right:1px solid var(--ring,rgba(15,20,25,.12));border-bottom:1px solid var(--ring,rgba(15,20,25,.12));transform:rotate(45deg)}.auth-bubble-line{display:block;animation:a-line-in .4s cubic-bezier(.2,.8,.2,1) both}@keyframes a-line-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.a-crew{position:absolute;left:50%;bottom:0;transform:translateX(-50%);display:flex;align-items:flex-end}.a-char{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;animation:a-bob 4.6s ease-in-out infinite}.a-orange{width:112px;height:78px;border-radius:999px 999px 0 0;background:#fb7a3c;padding-top:17px;z-index:4;animation-duration:5.4s;animation-delay:-1.8s}.a-orange,.a-purple{justify-content:flex-start}.a-purple{width:92px;height:150px;border-radius:26px;background:#7c3aed;padding-top:26px;margin-left:-26px;z-index:1;animation-duration:4.8s}.a-dark{width:74px;height:116px;border-radius:22px;background:#191b21;padding-top:24px;margin-left:-18px;z-index:2;animation-duration:5.2s;animation-delay:-1.2s}.a-dark,.a-yellow{justify-content:flex-start}.a-yellow{width:68px;height:140px;border-radius:999px;background:#facc15;padding-top:30px;margin-left:-20px;z-index:3;animation-duration:4.4s;animation-delay:-.6s}.a-eyes{display:flex;gap:9px;transform:translate(calc(var(--lx, 0) * 3px),calc(var(--ly, 0) * 3px));transition:transform .14s ease-out}.a-eye{display:grid;place-items:center;width:14px;height:14px;border-radius:999px;background:#ffffff;animation:a-blink 5.4s infinite}.a-dark .a-eye{animation-delay:.8s}.a-yellow .a-eye{animation-delay:1.9s}.a-orange .a-eye{animation-delay:3s}.a-eye-dark,.a-pupil{background:#14161b}.a-pupil{width:6px;height:6px;border-radius:999px}.a-pupil-light{background:#ffffff}.a-line-mouth{width:20px;height:4px;border-radius:999px;background:#14161b;opacity:.9}.a-smile{width:24px;height:12px;border:3px solid #14161b;border-top:0;border-radius:0 0 999px 999px}.auth-spark{position:absolute;width:9px;height:9px;border-radius:999px;animation:a-spark 3.6s ease-in-out infinite}.spark-a{left:16%;top:30%;background:#b8e1ff}.spark-b{right:18%;top:40%;background:#fff89c;animation-delay:-1.1s}.spark-c{right:32%;top:22%;background:#ffd1dc;animation-delay:-2.2s}.auth-scene.is-poked .a-char{animation:a-jump .6s cubic-bezier(.2,.8,.2,1)}@keyframes a-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes a-blink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}@keyframes a-jump{0%{transform:translateY(0) scale(1)}35%{transform:translateY(-24px) scale(1.05)}60%{transform:translateY(0) scale(.96)}80%{transform:translateY(-7px) scale(1.02)}to{transform:translateY(0) scale(1)}}@keyframes a-spark{0%,to{transform:translateY(0) scale(1);opacity:.75}50%{transform:translateY(-12px) scale(1.25);opacity:1}}@media (prefers-reduced-motion:reduce){.a-char,.a-eye,.auth-bubble-line,.auth-spark{animation:none}.a-eyes{transform:none;transition:none}}@media (max-width:1023px){.auth-page{padding:14px 12px 20px}.auth-shell{grid-template-columns:1fr;border-radius:22px;max-height:none}.auth-visual{border-right:0;border-bottom:1px solid var(--ring,rgba(15,20,25,.12));padding:16px 18px 0}.auth-copy,.auth-signals{display:none}.auth-scene{height:148px}.a-crew{transform:translateX(-50%) scale(.66);transform-origin:bottom center}.auth-bubble{bottom:106px;font-size:10.5px;padding:7px 12px}.auth-form{padding:20px 16px;overflow-y:visible}}