.account-page{min-height:100vh;background:radial-gradient(ellipse at 50% 18%,#eaf1fc,transparent 60%),#fafafa}
.account-main{max-width:480px;margin:0 auto;padding:150px 24px 64px;text-align:center;min-height:80vh}
.account-main .app-icon{width:76px;height:76px;margin:0 auto 26px}
.account-main h1{font-size:38px;letter-spacing:-1.3px;line-height:1.12;margin:0 0 18px}
.account-lead{font-size:17px;line-height:1.5;color:#65676c;margin:0 0 28px}
.account-card{padding:28px;background:rgba(255,255,255,.66);border:1px solid rgba(255,255,255,.9);border-radius:24px;box-shadow:0 12px 36px #14233c0a;backdrop-filter:blur(24px)}
.account-card label{display:block;text-align:left;font-size:14px;color:#65676c;margin:0 0 8px}
.account-card input{display:block;box-sizing:border-box;width:100%;height:48px;font:inherit;background:#f1f3f7;border:1px solid #dce0e8;border-radius:12px;padding:0 14px;color:#202124;margin-bottom:18px}
.account-card input:focus{outline:3px solid #007aff30;border-color:#007aff}
.account-card .button{display:block;width:100%;box-sizing:border-box;font-size:16px;min-height:46px;padding:12px 18px;border-radius:12px}
.account-card .text-link{display:inline-block;font-size:14px;margin-top:20px}
.account-card button:disabled{opacity:.55;cursor:wait}
.account-card [hidden]{display:none!important}
#account-code{font-size:26px;letter-spacing:7px;text-align:center}
#account-identity{font-size:17px;overflow-wrap:anywhere;margin:0 0 16px}
#account-entitlement{font-size:17px;line-height:1.45;margin:0 0 24px}
.account-controls{display:flex;justify-content:center;gap:18px;flex-wrap:wrap}
#account-download{margin-top:14px;background:#e9edf5;color:#202124}
#account-message{font-size:14px;line-height:1.5;color:#65676c;min-height:22px;margin:18px 0 0}
.account-fine{font-size:13px;color:#73767b;line-height:1.5;margin:24px 0 0}
.account-fine a{color:inherit;text-decoration:underline}
@media(max-width:640px){.account-main{padding-top:122px}.account-main h1{font-size:32px}.account-card{padding:24px}}
@media(prefers-reduced-transparency:reduce){.account-card{background:#fff;backdrop-filter:none}}

.account-card .text-link{margin:0;font-size:14px;min-height:42px}
#account-change{display:block;width:100%;margin:0 0 14px}
.account-controls{align-items:center;gap:10px;margin-top:8px}
#account-signout{background:transparent;color:#737a86;padding:10px 12px}
#account-signout:hover{background:#edf0f5;color:#343c48}
#account-message:empty{min-height:0;margin:0}
.account-main h1{font-size:clamp(30px,3vw,36px);letter-spacing:-.035em;text-wrap:balance}
@media(max-width:380px){.account-controls{flex-direction:column}.account-controls #account-refresh{width:100%}}

/* Server-confirmed purchase: a quiet, finite blue/green celebration. */
.purchase-success-art[hidden],.account-fine[hidden]{display:none!important}
.purchase-success-art{position:relative;width:76px;height:76px;margin:0 auto 26px}
.purchase-check{position:relative;display:grid;place-items:center;width:76px;height:76px;border-radius:50%;background:linear-gradient(145deg,#23bf78,#007aff);box-shadow:0 8px 28px #159cc326,inset 0 1px 0 #ffffff50}
.purchase-check svg{width:38px;height:38px;stroke:white;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.purchase-check path{stroke-dasharray:30;stroke-dashoffset:0}
.purchase-particles{position:absolute;inset:0;pointer-events:none}
.purchase-particles i{position:absolute;left:50%;top:50%;width:5px;height:9px;border-radius:3px;background:#007aff;opacity:0}
.purchase-particles i:nth-child(3n){background:#22bf78}
.purchase-particles i:nth-child(3n + 1){background:#57bed7}
.account-purchased .app-icon{display:none}
.account-purchased .account-main h1{font-size:clamp(44px,6vw,60px);letter-spacing:-.04em;margin-bottom:14px}
.account-purchased .account-lead{color:#4e5967;font-size:18px;text-wrap:balance}
.account-purchased #account-entitlement{display:inline-flex;align-items:center;justify-content:center;background:#e4f5ec;color:#22744b;border-radius:100px;padding:7px 14px;font-size:14px;font-weight:600;margin-bottom:22px}
.celebrating .purchase-check{animation:purchase-arrive .65s cubic-bezier(.2,.8,.2,1) both}
.celebrating .purchase-check path{animation:purchase-draw .55s .25s ease both}
.celebrating .purchase-particles i{animation:purchase-spark 1.7s var(--delay,0s) cubic-bezier(.15,.65,.25,1) both}
@keyframes purchase-arrive{0%{opacity:0;transform:scale(.7)}65%{opacity:1;transform:scale(1.06)}100%{opacity:1;transform:scale(1)}}
@keyframes purchase-draw{from{stroke-dashoffset:30}to{stroke-dashoffset:0}}
@keyframes purchase-spark{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}15%{opacity:1}75%{opacity:.65}100%{opacity:0;transform:translate(var(--x),var(--y)) rotate(var(--turn)) scale(.7)}}
@media(prefers-reduced-motion:reduce){.purchase-success-art *{animation:none!important}.purchase-particles{display:none}}
@media(max-width:640px){.account-purchased .account-main h1{font-size:44px}.account-purchased .account-lead{font-size:17px}}
.purchase-particles i:nth-child(1){--x:88px;--y:12px;--turn:0deg;--delay:0.000s}
.purchase-particles i:nth-child(2){--x:98px;--y:48px;--turn:47deg;--delay:0.045s}
.purchase-particles i:nth-child(3){--x:92px;--y:89px;--turn:94deg;--delay:0.090s}
.purchase-particles i:nth-child(4){--x:44px;--y:88px;--turn:141deg;--delay:0.135s}
.purchase-particles i:nth-child(5){--x:18px;--y:114px;--turn:188deg;--delay:0.000s}
.purchase-particles i:nth-child(6){--x:-21px;--y:130px;--turn:235deg;--delay:0.045s}
.purchase-particles i:nth-child(7){--x:-44px;--y:88px;--turn:282deg;--delay:0.090s}
.purchase-particles i:nth-child(8){--x:-80px;--y:79px;--turn:329deg;--delay:0.135s}
.purchase-particles i:nth-child(9){--x:-113px;--y:53px;--turn:376deg;--delay:0.000s}
.purchase-particles i:nth-child(10){--x:-88px;--y:12px;--turn:423deg;--delay:0.045s}
.purchase-particles i:nth-child(11){--x:-98px;--y:-24px;--turn:470deg;--delay:0.090s}
.purchase-particles i:nth-child(12){--x:-92px;--y:-65px;--turn:517deg;--delay:0.135s}
.purchase-particles i:nth-child(13){--x:-44px;--y:-64px;--turn:564deg;--delay:0.000s}
.purchase-particles i:nth-child(14){--x:-18px;--y:-90px;--turn:611deg;--delay:0.045s}
.purchase-particles i:nth-child(15){--x:21px;--y:-106px;--turn:658deg;--delay:0.090s}
.purchase-particles i:nth-child(16){--x:44px;--y:-64px;--turn:705deg;--delay:0.135s}
.purchase-particles i:nth-child(17){--x:80px;--y:-55px;--turn:752deg;--delay:0.000s}
.purchase-particles i:nth-child(18){--x:113px;--y:-29px;--turn:799deg;--delay:0.045s}
