/* Shared login composition: email first, password second; auth routes are unchanged. */
html[data-auth-mode=login]{--login-bg:#101111;--login-ink:#f5f5f4;--login-muted:#b2b3b8;--login-line:#3a3c40;--login-accent:#ffdf26}
html[data-auth-mode=login] body.account-page{background:#090a09!important;color:var(--login-ink);font-family:ui-rounded,"SF Pro Rounded","Avenir Next",system-ui,sans-serif;-webkit-font-smoothing:antialiased}
html[data-auth-mode=login] body.account-page:before{display:none!important}
html[data-auth-mode=login] body.account-page .account-main{flex:1 0 auto!important;width:100%;max-width:640px!important;margin:auto!important;padding:40px 24px 56px!important;box-sizing:border-box}
.login-shell{width:100%;border:1px solid var(--login-line);border-radius:18px;background:linear-gradient(140deg,#121313,#0e0f0f);box-shadow:0 28px 90px -40px #0007;overflow:hidden}
.login-shell-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px 28px 20px 34px}
.login-shell-brand{display:flex;align-items:center;gap:17px;min-width:0;font-size:18px;font-weight:800;letter-spacing:-.025em;color:var(--login-ink)}
.login-shell-brand img{display:block;flex:none;width:29px;height:auto}
.login-shell-brand>span{display:grid;gap:4px;min-width:0}.login-shell-brand small{font-size:13px;font-weight:450;letter-spacing:0;color:var(--login-muted)}
.login-shell-close{display:grid;place-items:center;flex:none;width:44px;height:44px;border:0;border-radius:10px;background:transparent;color:var(--login-muted)}
.login-shell-close svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}.login-shell-close:hover{background:#ffffff06;color:var(--login-ink)}
html[data-auth-mode=login] body.account-page #auth{width:100%;max-width:none;margin:0!important;padding:8px 34px 28px!important;box-sizing:border-box;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;animation:none!important}
html[data-auth-mode=login] body.account-page #auth h2{font-size:clamp(27px,5.6vw,34px)!important;font-weight:850;line-height:1.14!important;letter-spacing:-.045em;margin:0 0 8px!important;text-align:left;text-wrap:balance}
html[data-auth-mode=login] body.account-page #auth .auth-description{font-size:16px!important;line-height:1.5!important;color:var(--login-muted);margin:0 0 25px!important;text-align:left}
html[data-auth-mode=login] body.account-page #auth .auth-step-track,html[data-auth-mode=login] body.account-page #auth .auth-step-label{display:none!important}
html[data-auth-mode=login] body.account-page #auth .account-switch[hidden],html[data-auth-mode=login] body.account-page #auth [hidden]{display:none!important}
html[data-auth-mode=login] body.account-page #auth-form{display:block!important;margin:0}
html[data-auth-mode=login] body.account-page #auth.auth-alternative-active #auth-form,html[data-auth-mode=login] body.account-page #auth-form[hidden]{display:none!important}
html[data-auth-mode=login] body.account-page #auth form label,html[data-auth-mode=login] body.account-page #auth .auth-alternative-pane label{font-size:13px!important;font-weight:700;line-height:1.45;letter-spacing:0!important;text-transform:none!important;color:var(--login-ink)!important}
html[data-auth-mode=login] body.account-page #auth input:not([type=checkbox]){width:100%;min-width:0;min-height:54px!important;margin:8px 0 0!important;padding:13px 17px!important;box-sizing:border-box;border:1px solid var(--login-line)!important;border-radius:10px!important;background:#ffffff02!important;color:var(--login-ink)!important;font:inherit;font-size:16px!important;font-weight:450;box-shadow:none!important;transition:border-color .16s,outline-color .16s}
html[data-auth-mode=login] body.account-page #auth input::placeholder{color:var(--login-muted);opacity:1}
html[data-auth-mode=login] body.account-page #auth input:focus{border-color:#ffdf2690!important;outline:2px solid #ffdf2620!important;outline-offset:2px}
html[data-auth-mode=login] body.account-page #auth input[aria-invalid=true]{border-color:#ffa3a3!important}
html[data-auth-mode=login] body.account-page #auth #submit,html[data-auth-mode=login] body.account-page #auth .auth-alternative-pane .primary{display:flex;align-items:center;justify-content:center;gap:14px;width:100%;min-height:54px!important;margin:20px 0 0!important;padding:13px 18px!important;border:1px solid #ffeb70!important;border-radius:11px!important;background:linear-gradient(110deg,#ffe83d,#ffde19)!important;color:#0d0e0b!important;box-shadow:inset 0 1px #fff4,0 2px 8px #0002!important;font-size:16px!important;font-weight:850;letter-spacing:-.015em;cursor:pointer;transition:filter .16s,transform .16s}
html[data-auth-mode=login] body.account-page #auth #submit:after{content:'→';font-family:system-ui,sans-serif;font-size:24px;line-height:1;font-weight:550}
html[data-auth-mode=login] body.account-page #auth .primary:hover{filter:brightness(1.05);transform:none!important}
html[data-auth-mode=login] body.account-page #auth .primary:active{transform:scale(.993)!important}
html[data-auth-mode=login] body.account-page #auth .password-label{display:block;margin:0}
html[data-auth-mode=login] body.account-page #auth .password-row{position:relative;margin-top:8px}
html[data-auth-mode=login] body.account-page #auth .password-row input{margin-top:0!important;padding-right:58px!important}
html[data-auth-mode=login] body.account-page #auth #show-password{position:absolute;right:6px;top:5px;bottom:auto;display:grid;place-items:center;width:44px;height:44px;min-height:44px;margin:0!important;padding:10px!important;border:0;border-radius:8px;background:transparent;color:var(--login-muted)}
html[data-auth-mode=login] body.account-page #auth #show-password:hover{background:#ffffff05;color:var(--login-ink)}
html[data-auth-mode=login] body.account-page #auth #show-password svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
html[data-auth-mode=login] body.account-page #auth #forgot{display:block;min-height:38px;margin:2px 0 0 auto;padding:8px 0;border:0;background:none;color:var(--login-muted);font-size:12px;font-weight:500;text-decoration:none;border-radius:6px;text-align:right}
html[data-auth-mode=login] body.account-page #auth #forgot:hover{color:var(--login-ink);text-decoration:underline;text-underline-offset:3px}
html[data-auth-mode=login] body.account-page #auth-form.password-step #submit{margin-top:10px!important}
html[data-auth-mode=login] body.account-page #auth .auth-email-locked{display:block;margin:0 0 22px;padding:0!important;min-height:0;border:0;border-radius:0;background:none}
html[data-auth-mode=login] body.account-page #auth .locked-identity-label{display:block;margin:0 0 8px;font-size:13px;font-weight:700;line-height:1.45;color:var(--login-ink)}
.locked-identity-field{display:flex;align-items:center;gap:14px;min-height:54px;padding:5px 9px 5px 17px;border:1px solid var(--login-line);border-radius:10px;background:#ffffff02}
html[data-auth-mode=login] body.account-page #auth #auth-email-display{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:450;color:var(--login-muted)}
html[data-auth-mode=login] body.account-page #auth #auth-email-edit{flex:none;min-height:42px;padding:8px;border:0;border-radius:7px;background:none;color:var(--login-muted);font-size:11px;font-weight:550}
html[data-auth-mode=login] body.account-page #auth #auth-email-edit:hover{color:var(--login-accent)}
html[data-auth-mode=login] body.account-page .account-login-options{margin:24px 0 0!important}
html[data-auth-mode=login] body.account-page .auth-method-divider{display:flex;align-items:center;gap:14px;margin:0 0 14px;padding:0;color:var(--login-muted);font-size:11px;line-height:1.5;text-align:center;white-space:nowrap;font-weight:450}
html[data-auth-mode=login] body.account-page .auth-method-divider:before,html[data-auth-mode=login] body.account-page .auth-method-divider:after{content:'';height:1px;flex:1;background:#5b5d62;opacity:.65}
html[data-auth-mode=login] body.account-page .auth-method-grid{display:grid;grid-template-columns:1fr;gap:10px}
html[data-auth-mode=login] body.account-page .auth-method-grid.has-passkey{grid-template-columns:repeat(2,minmax(0,1fr))}
html[data-auth-mode=login] body.account-page .auth-method{display:flex;align-items:center;justify-content:center;gap:12px;min-width:0;min-height:54px!important;padding:12px!important;border:1px solid var(--login-line);border-radius:10px;background:transparent;color:var(--login-ink);box-shadow:none;cursor:pointer;transition:background .16s,border-color .16s}
html[data-auth-mode=login] body.account-page .auth-method:hover{background:#ffffff05;border-color:#686a6f;transform:none!important}
html[data-auth-mode=login] body.account-page .auth-method-copy{min-width:0;flex:none}
html[data-auth-mode=login] body.account-page .auth-method-copy strong{font-size:14px;font-weight:800;letter-spacing:-.02em;line-height:1.3}
html[data-auth-mode=login] body.account-page .auth-method-copy small{display:none}
html[data-auth-mode=login] body.account-page .auth-method-icon{display:grid;place-items:center;flex:0 0 23px;width:23px;height:25px;margin:0;padding:0;border:0;border-radius:0;background:none;color:var(--login-muted)}
html[data-auth-mode=login] body.account-page .auth-method-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
html[data-auth-mode=login] body.account-page .auth-method.is-loading{padding-right:30px!important}
html[data-auth-mode=login] body.account-page .auth-method-back{display:block;min-height:44px;margin:10px 0 0;padding:10px 0;width:100%;border:0;border-radius:8px;background:none;color:var(--login-muted);font-size:12px;font-weight:550;cursor:pointer}
html[data-auth-mode=login] body.account-page .auth-method-back:hover{color:var(--login-accent)}
html[data-auth-mode=login] body.account-page .auth-alternative-pane{display:grid;gap:12px;margin:0}
html[data-auth-mode=login] body.account-page #auth .auth-alternative-pane .primary{margin-top:2px!important}
html[data-auth-mode=login] body.account-page .auth-method-hint{margin:0;color:var(--login-muted);font-size:11px;line-height:1.6}
html[data-auth-mode=login] body.account-page .auth-method-feedback{margin:14px 0 0;padding:11px 13px;border:1px solid #ffffff0c;border-radius:10px;background:#ffffff03;color:#c9c9cb;font-size:12px;line-height:1.6;overflow-wrap:anywhere}
html[data-auth-mode=login] body.account-page .auth-method-feedback[data-error=true]{color:#ffb4ab;border-color:#ffb4ab25;background:#ffb4ab06}
html[data-auth-mode=login] body.account-page .auth-method-feedback:empty{display:none}
html[data-auth-mode=login] body.account-page #auth #guard-entry:not([hidden]){display:block!important;margin:24px 0 0!important;padding:19px 0 0!important;border-top:1px solid #ffffff14;text-align:center}
html[data-auth-mode=login] body.account-page #auth.auth-alternative-active #guard-entry{display:none!important}
html[data-auth-mode=login] body.account-page #auth .guard-divider{display:block;font-size:9px;font-weight:650;line-height:1.4;letter-spacing:.17em;color:var(--login-muted)}
html[data-auth-mode=login] body.account-page #auth #guard-entry .guard-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;width:auto;max-width:100%;min-height:50px!important;margin:11px auto 0!important;padding:10px 20px!important;border:1px solid var(--login-line);border-radius:10px!important;background:none;box-shadow:none}
html[data-auth-mode=login] body.account-page #auth .guard-button svg{flex:none;width:24px;height:24px;fill:none;stroke:var(--login-accent);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
html[data-auth-mode=login] body.account-page #auth .guard-button strong{font-size:13px;font-weight:800;color:var(--login-ink)}
html[data-auth-mode=login] body.account-page #auth .guard-button small,html[data-auth-mode=login] body.account-page #auth .guard-entry>p{display:none}
.login-shell-foot{border-top:1px solid #ffffff16;padding:19px 24px 22px;text-align:center}
html[data-auth-mode=login] body.account-page .login-shell-foot .auth-route-link{margin:0;padding:0;border:0;font-size:13px;line-height:1.65;color:var(--login-muted)}
html[data-auth-mode=login] body.account-page .auth-route-link a{color:var(--login-accent);font-weight:800}
html[data-auth-mode=login] body.account-page :focus-visible{outline:2px solid var(--login-accent);outline-offset:3px}
html[data-auth-mode=login] body.account-page .primary:disabled,html[data-auth-mode=login] body.account-page .auth-method:disabled{opacity:.6;cursor:wait}
/* The outer popup (or native page) already owns brand, close control and footer. */
html.popup-mode,html.popup-mode body.account-page{min-height:0!important;height:auto!important;background:var(--login-bg)!important}
html.popup-mode body.account-page .account-main{flex:none!important;width:100%;max-width:none!important;min-height:0!important;margin:0!important;padding:0!important}
html.popup-mode .login-shell{border:0;border-radius:0;background:none;box-shadow:none;overflow:visible}
html.popup-mode .login-shell-head,html.popup-mode .login-shell-foot{display:none!important}
html.popup-mode body.account-page #auth{padding:0!important;max-width:none;animation:none!important}
html.popup-mode body.account-page #auth h2{font-size:clamp(27px,5.6vw,34px)!important}
html.app-embedded-mode body.account-page #auth h2,html.app-embedded-mode body.account-page #auth .auth-description,html.app-embedded-mode body.account-page #auth #guard-entry{display:none!important}
html.app-embedded-mode body.account-page .account-login-options{margin-top:22px!important}
@media(max-width:560px){html[data-auth-mode=login] body.account-page .account-main{padding:24px 16px 36px!important}.login-shell{border-radius:16px}.login-shell-head{padding:22px 18px 20px 22px}.login-shell-brand{font-size:16px;gap:13px}.login-shell-brand small{font-size:12px}.login-shell-brand img{width:26px}html[data-auth-mode=login] body.account-page #auth{padding:4px 22px 24px!important}html[data-auth-mode=login] body.account-page #auth .auth-description{font-size:14px!important;margin-bottom:22px!important}.login-shell-foot{padding:17px 18px 20px}html.popup-mode body.account-page .account-main{padding:0!important}html.popup-mode body.account-page #auth{padding:0!important}}
@media(max-width:359px){html[data-auth-mode=login] body.account-page .auth-method{gap:8px;padding:11px 7px!important}html[data-auth-mode=login] body.account-page .auth-method-copy strong{font-size:12px}html[data-auth-mode=login] body.account-page .auth-method-divider{gap:9px;font-size:10px}html[data-auth-mode=login] body.account-page #auth h2{font-size:26px!important}}
@media(prefers-reduced-motion:reduce){html[data-auth-mode=login] body.account-page #auth *,html[data-auth-mode=login] body.account-page #auth *:before{animation:none!important;transition:none!important}}
