#w-account{width:480px;max-width:calc(100% - 16px)}
#w-account [hidden]{display:none!important}
#w-account .account-body{padding:24px;color:#242424;background:linear-gradient(#fbfaf7ee,#f0ede7ee)}
.account-heading{display:flex;gap:16px;align-items:center;padding-bottom:20px;border-bottom:1px solid #d5d0c7;margin-bottom:20px}
.account-heading>svg{flex:none;width:54px;height:54px;stroke:#333;stroke-width:1.7;stroke-linejoin:round}
.account-heading h2{font-size:21px;line-height:1.2;margin:0 0 7px}
.account-heading p,.account-note{font-size:13px;line-height:1.5;color:#585858;margin:0}
.account-tabs{display:flex;padding:3px;border:1px solid #aaa;border-radius:7px;background:#ddd8;margin-bottom:20px;gap:3px}
.account-tabs button{flex:1;border:0;padding:8px 10px;background:transparent;border-radius:4px;font:inherit;color:#444}
.account-tabs button[aria-pressed=true]{background:linear-gradient(#fff,#ededed);color:#173d60;box-shadow:0 1px 3px #0003;font-weight:bold}
#w-account label{display:block;font-size:13px;font-weight:600;margin:0 0 14px}
#w-account label>span{display:block;margin-bottom:5px}
#w-account input{box-sizing:border-box;min-height:42px;font-size:16px;max-width:100%;font-weight:normal;border-radius:5px}
#w-account input:focus{outline:2px solid #386e9f;outline-offset:1px}
.account-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.account-primary{width:100%;box-sizing:border-box;min-height:42px;margin:8px 0 10px}
.account-link{border:0;background:none;padding:6px 0;color:#285d8c;text-decoration:underline;font:inherit;font-size:13px;cursor:pointer}
.account-link:focus-visible,.account-tabs button:focus-visible{outline:2px solid #386e9f;outline-offset:3px}
.account-access-note{border-top:1px solid #d5d0c7;margin-top:15px;padding-top:15px;font-size:12px}
#account-password-hint{margin:-6px 0 8px}
.account-captcha{margin:16px 0 8px;min-width:0}
.account-captcha>.account-note{margin:0 0 10px}
#account-captcha-widget{min-height:78px;max-width:100%}
#account-captcha-status:empty{display:none}
#account-captcha-status{margin:8px 0 0}
#account-profile h3,#account-verify h3,#account-pending h3{font-size:16px;margin:0 0 13px}
#account-auth h3{font-size:18px;margin:0 0 10px}
#account-auth .account-primary{margin-top:20px}
#account-verify .account-note{margin-bottom:16px}
.account-identity{display:flex;gap:12px;align-items:center;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid #d5d0c7;overflow-wrap:anywhere}
#account-avatar{display:grid;place-items:center;width:46px;height:46px;flex:none;border-radius:50%;background:#dce7ee;border:1px solid #8fa8bb;font-size:22px;font-weight:bold;color:#345b7e}
#account-name{margin:0 0 3px!important}
#account-email{margin:0;font-size:13px;color:#555}
.account-actions{display:flex;justify-content:space-between;gap:15px;border-top:1px solid #d5d0c7;margin-top:14px;padding-top:8px}
#account-message,#account-error{font-size:13px;line-height:1.5;margin:16px 0 0;padding:10px 12px;border-radius:5px;overflow-wrap:anywhere}
#account-message{color:#24513d;background:#e2eee4;border:1px solid #adc7b2}
#account-error{color:#8c2525;background:#f8e9e7;border:1px solid #d4aaaa}
#account-loading{padding:20px 0}
#w-account button:disabled{opacity:.6;cursor:wait}
@media(max-width:700px){#w-account .account-body{padding:20px}.account-heading h2{font-size:20px}}
@media(max-width:360px){.account-grid{grid-template-columns:1fr;gap:0}}

/* Motion stays inside the account card: scan, blink, then a confirmation tick. */
svg[data-cx-icon=account] .account-icon-scan{opacity:0;transform-box:view-box}
svg[data-cx-icon=account] .account-icon-eyes{transform-origin:24px 22px;transform-box:view-box}
svg[data-cx-icon=account] .account-icon-check{opacity:0;transform-origin:38px 38px;transform-box:view-box}
@media(prefers-reduced-motion:no-preference){
 .ico[data-open=w-account] .account-icon-scan{animation:cxAccountScan 6s ease-in-out infinite!important}
 .ico[data-open=w-account] .account-icon-eyes{animation:cxAccountBlink 6s ease-in-out infinite!important}
 .ico[data-open=w-account] .account-icon-check{animation:cxAccountCheck 6s ease-in-out infinite!important}
 .ico[data-open=w-account]:is(:hover,:focus-visible) :is(.account-icon-scan,.account-icon-eyes,.account-icon-check){animation-duration:2.8s!important}
}
@keyframes cxAccountScan{0%,8%{opacity:0;transform:translateY(0)}15%{opacity:.9}43%{opacity:.9;transform:translateY(21px)}50%,100%{opacity:0;transform:translateY(21px)}}
@keyframes cxAccountBlink{0%,27%,33%,100%{transform:scaleY(1)}30%{transform:scaleY(.05)}}
@keyframes cxAccountCheck{0%,46%{opacity:0;transform:scale(.6)}53%,75%{opacity:1;transform:scale(1)}83%,100%{opacity:0;transform:scale(.8)}}
/* Decorative motion runs only while the account window is visible. */
@media(prefers-reduced-motion:no-preference){
#w-account.open .account-heading .account-icon-scan{animation:cxAccountScan 4.8s ease-in-out infinite!important}
#w-account.open .account-heading .account-icon-eyes{animation:cxAccountBlink 4.8s ease-in-out infinite!important}
}
