.auth-page{font-size:16px;--auth-border:#b4bac5;--auth-error:#8d3f42;--auth-round:14px}
.auth-header{height:96px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.auth-header-actions{display:flex;align-items:center;gap:26px}.auth-header-actions>a{display:flex;align-items:center;min-height:44px;color:var(--muted)}
.auth-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:clamp(32px,6vw,100px);align-items:center;max-width:1120px;padding:22px 0 38px}
.auth-world{position:relative;min-width:0;align-self:center}.auth-intro{position:relative;z-index:2;padding-left:28px}.auth-kicker{display:block;color:var(--muted);font-size:16px;letter-spacing:.06em}.auth-intro h2{font-size:clamp(30px,3vw,42px);line-height:1.5;letter-spacing:-.04em;margin-top:16px}
.auth-companion .bear-world{height:380px;margin-top:-16px}.auth-companion .bear-puddle{width:88%;height:78%;left:6%;bottom:6%;background:#e5e7ec}.auth-companion .mascot-picker{display:none}.auth-companion .rotation-controls{bottom:0}.auth-companion .star-one{left:4%;top:44px;width:34px}.auth-companion .star-two{right:1%;bottom:76px}.auth-companion-note{text-align:center;color:var(--muted);margin:16px 0 0;font-size:16px}
.auth-card{min-width:0;background:var(--white);border:1px solid #dedfd9;border-radius:28px;padding:32px 36px;box-shadow:0 10px 0 #e9e9e1;animation:account-arrive .45s ease-out both}
.auth-tabs{display:flex;width:max-content;gap:4px;background:#eeeee9;padding:4px;border-radius:var(--auth-round);margin-bottom:26px}.auth-tabs a{min-height:44px;min-width:90px;justify-content:center;font-size:16px;border-radius:10px;color:var(--muted)}.auth-tabs a[aria-current]{background:var(--blue);color:var(--white)}
.auth-card h1{font-size:28px;letter-spacing:-.04em;margin:0 0 8px;overflow-wrap:anywhere}.auth-subtitle{font-size:16px;color:var(--muted);margin-bottom:26px}.auth-field{margin-bottom:18px}.auth-field label{display:block;margin-bottom:7px;font-weight:500}.auth-field input{display:block;width:100%;height:50px;border:1px solid var(--auth-border);border-radius:var(--auth-round);padding:10px 14px;background:#fcfbf7;color:var(--ink);font-size:16px;transition:background .2s,border-color .2s}.auth-field input::placeholder{color:#6c7280}.auth-field input:focus{border-color:var(--blue);background:var(--white);outline:2px solid #71839e;outline-offset:3px}.auth-field input[aria-invalid=true]{border-color:var(--auth-error)}.auth-hint,.auth-error{font-size:16px;margin-top:7px;line-height:1.5}.auth-hint{color:var(--muted)}.auth-error{color:var(--auth-error)}
.auth-password{position:relative}.auth-password input{padding-right:70px}.password-toggle{position:absolute;top:3px;right:4px;min-height:44px;min-width:58px;padding:6px 10px;background:transparent;color:var(--blue);border:0;border-radius:10px;font-size:16px}.password-toggle:hover{background:#e8ecf3}
.auth-companion .rotation-controls button{min-width:52px;white-space:nowrap;border-radius:18px;padding:6px;background:var(--paper);border-color:#d7dce6}
@media(max-width:700px){.auth-companion .mascot-stage{inset:0;display:flex;align-items:center;justify-content:center}.auth-companion .mascot-mover{width:80px;height:80px;max-width:none;flex:none}.auth-companion .mascot-rotator,.auth-companion .bear-button,.auth-companion .bear-body{width:80px;height:80px;min-width:0;min-height:0}.auth-companion .bear-body>img{width:80px;height:80px}}
.auth-feedback{font-size:16px;color:var(--auth-error);margin:10px 0 18px;overflow-wrap:anywhere}.auth-service{display:flex;align-items:flex-start;gap:10px;margin:20px 0;padding:14px;background:#eeeee6;border-radius:var(--auth-round);color:#555e4e;font-size:16px;line-height:1.6}.service-dot{width:8px;height:8px;margin-top:9px;background:#8b986e;border-radius:50%;flex:none}.auth-service button{border:0;background:transparent;color:var(--blue);min-width:44px;min-height:44px;align-self:center;flex:none;padding:0;font-size:16px;text-decoration:underline;text-underline-offset:4px}
.auth-submit{width:100%;font-size:16px;min-height:52px;border-radius:var(--auth-round);margin-top:4px}.auth-submit:disabled{opacity:1;background:#e1e4e9;border-color:#d2d6dd;color:#596274;transform:none}.auth-switch{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;font-size:16px;margin-top:22px;color:var(--muted);align-items:center}.auth-switch a{display:inline-flex;align-items:center;min-height:44px;color:var(--blue);text-decoration:underline;text-underline-offset:4px}.auth-footer{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:28px 0;color:var(--muted);font-size:16px}
.auth-welcome{text-align:center;display:flex;flex-direction:column;align-items:center;padding:30px 0;gap:20px}.auth-welcome h1{margin:0}.account-flower{display:grid;place-items:center;width:100px;height:100px;background:var(--lavender);border-radius:45% 55% 52% 48%;animation:account-bob 5s ease-in-out infinite}.account-flower .logo{width:48px;height:48px;color:var(--blue)}.account-handle{color:var(--muted);overflow-wrap:anywhere;max-width:100%}.auth-welcome .primary-button{font-size:16px;border-radius:var(--auth-round)}.auth-text-link,.auth-logout{min-height:44px;display:inline-flex;align-items:center;color:var(--blue);font-size:16px}.auth-logout{border:0;background:transparent;text-decoration:underline;text-underline-offset:5px}
@keyframes account-arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes account-bob{50%{transform:translateY(-7px) rotate(7deg)}}.motion-paused .account-flower{animation:none}
@media(max-width:900px){.auth-layout{gap:28px}.auth-card{padding:28px 24px}.auth-intro{padding-left:0}.auth-intro h2{font-size:30px}.auth-companion .bear-world{height:310px}.auth-companion-note{max-width:260px;margin:14px auto 0}}
@media(max-width:700px){.auth-header{height:82px}.auth-header-actions{gap:12px}.auth-header .brand{font-size:20px}.auth-layout{display:flex;flex-direction:column;gap:22px;padding-top:0}.auth-world{width:100%;display:grid;grid-template-columns:1fr 140px;align-items:center;gap:8px}.auth-intro h2{font-size:25px;margin-top:8px}.auth-kicker{letter-spacing:0}.auth-companion .bear-world{height:150px;margin:0}.auth-companion .rotation-controls,.auth-companion .floating-star{display:none}.auth-companion-note{display:none}.auth-card{width:100%;max-width:480px;padding:26px 24px;border-radius:22px}.auth-tabs{margin-bottom:22px}.auth-card h1{font-size:26px}.auth-footer{padding-top:8px;gap:8px}.auth-footer span:last-child{display:none}}
@media(max-width:380px){.auth-world{grid-template-columns:1fr 110px}.auth-intro h2{font-size:23px}.auth-header-actions{gap:6px}.auth-card{padding:24px 18px}.auth-switch{gap:4px}.auth-service{flex-wrap:wrap}.auth-service p{flex:1}}
@media(prefers-reduced-motion:reduce){.auth-card,.account-flower{animation:none}.auth-field input{transition:none}}

/* Compact account form: headings, labels and actions only. */
.auth-layout{min-height:calc(100svh - 96px)}
.auth-card h1{margin-bottom:28px}
@media(max-width:700px){.auth-layout{min-height:0;padding-bottom:40px}.auth-card h1{margin-bottom:24px}}
