.auth-body { background:#fff; }
.auth-body .site-header { position:relative;top:auto;left:auto;transform:none;margin:22px auto 0; }
.auth-body #app { min-height:100svh;display:flex;flex-direction:column; }
.auth-body .site-header,.auth-body .catalog-footer { flex-shrink:0; }
.auth-page { padding-top:24px;padding-bottom:32px;flex:1;display:flex;flex-direction:column; }
.auth-back { display:inline-flex;align-items:center;gap:9px;font-size:12px;color:var(--muted);margin-bottom:12px;align-self:start; }
.auth-back:hover { color:var(--ink); }
.auth-layout { display:grid;grid-template-columns:1.14fr 1fr;gap:76px;align-items:center;flex:1; }
.auth-visual { --auth-color:#237ed3;position:relative;min-height:620px;align-self:center;width:100%;background:transparent;border:0;border-radius:0;box-shadow:none; }
.auth-visual--signup { --auth-color:#8564b4; }
.auth-visual--forgot-password,.auth-visual--reset-password { --auth-color:#68886c; }
.auth-visual-copy { position:absolute;top:18px;left:0;z-index:2;width:51%;max-width:290px; }
.auth-visual h2 { font-family:Fredoka,var(--font);font-weight:500;font-size:clamp(34px,3.5vw,46px);line-height:1.13;letter-spacing:-.025em;margin:0 0 16px;color:#111; }
.auth-visual-copy p { max-width:245px;min-height:64px;font-size:14px;line-height:1.7;color:#627381; }
.auth-art { position:absolute;inset:0 0 36px;isolation:isolate;pointer-events:none; }
.auth-world { position:absolute;width:114%;max-width:none;height:auto;left:-8%;bottom:14px;z-index:0;transform-origin:50% 85%;animation:auth-world-drift 9s ease-in-out infinite; }
.auth-persona { position:absolute;z-index:1;height:465px;aspect-ratio:667/1000;bottom:22px;left:60%;transform:translateX(-50%);transform-origin:50% 95%;animation:auth-persona-breathe 6s ease-in-out infinite; }
.auth-persona img { width:100%;height:100%;object-fit:contain;position:absolute;inset:0;transition:opacity .2s ease,transform .3s ease; }
.auth-persona-private { opacity:0;transform:translateY(5px) scale(.985); }
.auth-visual[data-persona-state="privacy"] .auth-persona-idle { opacity:0;transform:translateY(3px) scale(.985); }
.auth-visual[data-persona-state="privacy"] .auth-persona-private { opacity:1;transform:translateY(0) scale(1); }
.auth-visual[data-persona-state="privacy"] .auth-persona { animation:none; }
.auth-visual[data-persona-state="writing"] .auth-persona { animation:auth-persona-listen 2.8s ease-in-out infinite; }
.auth-visual--signup[data-persona-state="writing"] .auth-world { animation:auth-world-drift 4s ease-in-out infinite; }
.auth-visual--forgot-password[data-persona-state="writing"] .auth-persona { animation:auth-persona-reassure 3.5s ease-in-out infinite; }
.auth-visual[data-persona-state="thinking"] .auth-persona { animation:auth-persona-think 1.8s ease-in-out infinite; }
.auth-visual[data-persona-state="thinking"] .auth-world { animation:auth-world-drift 3.5s ease-in-out infinite; }
.auth-visual[data-persona-state="success"] .auth-persona { animation:auth-persona-celebrate .8s ease-in-out 2; }
.auth-visual[data-persona-state="error"] .auth-persona { animation:auth-persona-reassure 3.5s ease-in-out infinite; }
.auth-visual[data-persona-state="privacy"] .auth-visual-copy p { color:var(--auth-color); }
.auth-agent { position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:center;align-items:center;gap:8px;font-size:12px;color:#677581;background:none;border:0;border-radius:0;padding:0; }
.auth-agent strong { color:#18252a;font-size:13px;font-weight:700; }
.auth-panel { max-width:430px;width:100%;padding:16px 0;justify-self:center; }
.auth-panel h1 { font-family:Fredoka,var(--font);font-weight:500;font-size:clamp(34px,3.6vw,46px);letter-spacing:-.03em; }
.auth-intro { font-size:14px;margin:14px 0 28px; }
.auth-google { background:#fff;border:1px solid #d5dfe7;border-radius:13px;width:100%;display:flex;gap:11px;justify-content:center;align-items:center;min-height:50px;font-size:14px;font-weight:600;transition:background .2s; }
.auth-google:hover { background:#f6f9fc; }.auth-google svg { width:19px;height:19px; }
.auth-divider { display:flex;align-items:center;gap:14px;margin:23px 0;color:#75808b;font-size:11px; }.auth-divider::before,.auth-divider::after { content:'';flex:1;height:1px;background:var(--line); }
.auth-form { display:grid;gap:17px; }.auth-field { display:grid;gap:7px; }.auth-field label { font-size:13px;font-weight:600; }
.auth-field input { width:100%;min-width:0;border:1px solid #d5dfe7;background:#fff;color:var(--ink);border-radius:12px;padding:12px 14px;min-height:49px;font-size:14px;transition:border-color .2s,box-shadow .2s; }.auth-field input::placeholder { color:#89939d; }.auth-field input:focus { outline:none;border-color:#668bb2;box-shadow:0 0 0 3px #d9eaf8; }
.auth-password { position:relative; }.auth-password input { padding-right:52px; }.auth-password button { border:0;border-radius:9px;background:none;padding:0;width:44px;min-height:44px;position:absolute;top:3px;right:4px;color:#6e7c89;display:grid;place-items:center; }.auth-password button[aria-pressed="true"] { color:#2367ac;background:#eff6fc; }
.auth-hint { font-size:11px;color:#697581;line-height:1.6; }.auth-forgot { font-size:12px;font-weight:600;justify-self:end;margin-top:-6px; }.auth-forgot:hover,.auth-switch a:hover,.auth-help:hover { text-decoration:underline;text-underline-offset:4px; }
.auth-submit { width:100%;display:flex;justify-content:center;gap:12px;min-height:50px;font-size:14px;border-radius:13px;margin-top:3px;background:#237ed3;border-color:#237ed3;color:#fff; }.auth-submit:hover { background:#1d6bb5; }.auth-submit span { font-size:19px; }
[data-auth-mode="signup"] .auth-submit { background:#d6c3f2;border-color:#d6c3f2;color:#251d33; }[data-auth-mode="signup"] .auth-submit:hover { background:#c9afea; }
[data-auth-mode="forgot-password"] .auth-submit,[data-auth-mode="reset-password"] .auth-submit { background:#68886c;border-color:#68886c; }[data-auth-mode="forgot-password"] .auth-submit:hover,[data-auth-mode="reset-password"] .auth-submit:hover { background:#547458; }
.auth-form button:disabled,.auth-google:disabled { opacity:.55;cursor:wait; }.auth-form input[type="checkbox"] { accent-color:#18252a;width:16px;height:16px;margin:4px 0 0;flex:0 0 16px; }
.auth-consent { display:flex;gap:9px;font-size:11px;line-height:1.8;color:#677582; }.auth-consent a,.auth-google-note a { text-decoration:underline;text-underline-offset:3px;color:var(--ink); }.auth-google-note { font-size:10px;margin-top:13px;line-height:1.7; }
.auth-switch { font-size:13px;text-align:center;margin-top:24px; }.auth-switch a { color:var(--ink);font-weight:700;margin-left:4px; }.auth-help { display:block;text-align:center;color:#6c7883;font-size:11px;margin-top:26px; }
.auth-status { padding:13px 16px;background:#f0f6fc;border:1px solid #d8e6f4;border-radius:12px;font-size:12px;line-height:1.7;overflow-wrap:anywhere; }.auth-status.is-error { background:#fff4ed;border-color:#efcfbe;color:#874123; }.auth-status:focus,.auth-success:focus { outline:none; }
.auth-success { display:grid;gap:18px; }.auth-success-mark { width:48px;height:48px;display:grid;place-items:center;background:#e6f3df;border-radius:50%;color:#386330;font-size:24px; }.auth-success h2 { font-family:Fredoka,var(--font);font-weight:500;font-size:27px; }.auth-success p,.auth-account p { font-size:13px;overflow-wrap:anywhere; }.auth-success .button,.auth-account .button { justify-content:center;gap:16px; }.auth-account { display:grid;gap:22px; }.auth-signout { justify-self:start;background:none;border:0;text-decoration:underline;font-size:12px;padding:5px 0; }
.auth-page+.catalog-footer { border-top:1px solid var(--line); }.auth-body .catalog-footer { padding-block:18px; }
@keyframes auth-persona-breathe { 0%,100%{transform:translateX(-50%) translateY(0) rotate(-.3deg)}50%{transform:translateX(-50%) translateY(-4px) rotate(.3deg)} }
@keyframes auth-world-drift { 0%,100%{transform:translateY(0) rotate(-.4deg)}50%{transform:translateY(-5px) rotate(.4deg)} }
@keyframes auth-persona-listen { 0%,100%{transform:translateX(-50%) rotate(0)}50%{transform:translateX(-49%) rotate(2deg)} }
@keyframes auth-persona-reassure { 0%,100%{transform:translateX(-50%) rotate(-.7deg)}50%{transform:translateX(-50%) rotate(.7deg) translateY(-2px)} }
@keyframes auth-persona-think { 0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-3px) rotate(-1.2deg)} }
@keyframes auth-persona-celebrate { 0%,100%{transform:translateX(-50%) translateY(0)}40%{transform:translateX(-50%) translateY(-8px) rotate(1.5deg)} }
@media(max-width:1050px){.auth-layout{gap:40px;grid-template-columns:1.1fr 1fr}.auth-visual{min-height:570px}.auth-visual h2{font-size:38px}.auth-visual-copy{width:57%}.auth-persona{height:405px;left:62%}.auth-agent{font-size:11px}}
@media(min-width:761px) and (max-height:900px){.auth-body .site-header{margin-top:14px}.auth-page{padding-top:14px;padding-bottom:24px}.auth-back{margin-bottom:4px}.auth-visual{min-height:570px}.auth-persona{height:420px}.auth-panel{padding-block:0}.auth-panel h1{font-size:38px}.auth-intro{margin:10px 0 18px}.auth-divider{margin-block:16px}.auth-form{gap:13px}.auth-google-note{margin-top:10px}.auth-switch,.auth-help{margin-top:18px}}
@media(min-width:761px) and (max-height:740px){.auth-back{display:none}.auth-visual{min-height:500px}.auth-persona{height:370px}.auth-visual h2{font-size:36px}.auth-visual-copy p{font-size:13px}.auth-form{gap:10px}.auth-field{gap:5px}.auth-field input{min-height:44px;padding-block:10px}.auth-google,.auth-submit{min-height:44px}.auth-divider{margin-block:12px}.auth-intro{margin-bottom:14px}.auth-switch,.auth-help{margin-top:12px}.auth-body .catalog-footer{padding-block:12px}}
@media(max-width:760px){.auth-body .site-header{margin-top:16px}.auth-page{padding-top:18px;padding-bottom:35px}.auth-back{margin-bottom:6px}.auth-layout{grid-template-columns:1fr;gap:22px;align-content:start}.auth-visual{min-height:245px;max-width:460px;justify-self:center}.auth-visual-copy{top:32px;width:45%;max-width:205px}.auth-visual h2{font-size:30px;margin-bottom:12px}.auth-visual-copy p{font-size:12px;min-height:62px;max-width:180px}.auth-art{inset:0 0 28px}.auth-persona{height:190px;left:74%;bottom:8px}.auth-world{width:52%;left:46%;bottom:0}.auth-agent{font-size:10px;justify-content:flex-end;gap:6px}.auth-agent strong{font-size:11px}.auth-panel{max-width:460px;padding:0;grid-row:2}.auth-panel h1{font-size:36px}.auth-intro{margin:12px 0 22px}.auth-field input{font-size:16px}.auth-help{margin-top:21px}}
@media(max-width:390px){.auth-visual{min-height:225px}.auth-persona{height:175px;left:78%}.auth-visual h2{font-size:26px}.auth-visual-copy{width:45%}.auth-visual-copy p{max-width:150px}.auth-agent{font-size:9px}.auth-panel h1{font-size:32px}}
@media(prefers-reduced-motion:reduce){.auth-persona,.auth-world{animation:none!important}.auth-persona img,.auth-google,.auth-field input{transition:none!important}}
.auth-consent small,.auth-google-note small{display:block;margin-top:5px;font-size:11px;line-height:1.7;color:#526575}
.auth-divider>span{color:#596b7a}.auth-submit.button-dark{background:#216db8;border-color:#216db8;color:#fff}.auth-submit.button-dark:hover{background:#195a99}
