.credit-shop{background:#fff;border:1px solid var(--line);border-radius:24px;padding:32px;margin-bottom:30px;scroll-margin-top:24px}
.credit-shop-heading{display:flex;justify-content:space-between;align-items:center;gap:32px}
.credit-shop-heading h2{font-size:32px;letter-spacing:-1px;margin:8px 0 12px}
.credit-shop-heading p{color:var(--muted);font-size:14px;line-height:1.7;max-width:430px;margin:0}
.credit-balance{flex:0 0 248px;padding:20px 24px;border-radius:18px;background:#f1f6ff;display:grid;gap:8px}
.credit-balance>span,.credit-balance small{font-size:12px;color:#536885}
.credit-balance strong{font-size:24px;letter-spacing:-.5px;color:#075cf2}
.credit-balance small{font-size:11px}
.credit-purchase{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:32px;align-items:center;padding:30px 0 22px;margin-top:25px;border-top:1px solid var(--line)}
.quantity-controls{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:15px}
.quantity-presets{display:flex;gap:10px}
.quantity-presets button{font:inherit;font-size:17px;font-weight:600;min-width:62px;min-height:52px;border-radius:13px;border:1px solid #d8e2f0;background:white;color:#23354e;cursor:pointer;transition:background .15s,border-color .15s}
.quantity-presets button[aria-pressed=true]{background:#edf4ff;border:2px solid #1266ff;color:#0759f0}
.quantity-presets button:hover{background:#f2f6fc}
.quantity-custom{display:flex;align-items:center;gap:10px;font-size:12px;color:#526582}
.quantity-custom input{font:inherit;font-size:16px;color:#182947;width:76px;height:52px;padding:10px 12px;border:1px solid #d8e2f0;border-radius:13px;background:#fff}
.credit-shop :is(button,input,a):focus-visible{outline:3px solid #8ab5ff;outline-offset:4px}
.credit-checkout .button{width:100%;margin-top:13px}
.credit-checkout .form-note{text-align:center;margin-bottom:0}
.license-consent{display:flex;align-items:flex-start;gap:10px;margin:16px 0 4px;color:#425775;font-size:13px;line-height:1.6;cursor:pointer}
.license-consent input{flex:none;width:18px;height:18px;margin:0;accent-color:#245cff;cursor:pointer}
.license-consent a{color:#174ad1;text-decoration:underline;text-underline-offset:2px}
.credit-total{display:flex;justify-content:space-between;align-items:center;color:#526582;font-size:13px}
.credit-total strong{font-size:29px;letter-spacing:-.8px;color:#10233d}
.credit-instruction{margin:0;padding-top:19px;border-top:1px solid var(--line);font-size:12px;line-height:1.8;color:#526582;max-width:100%}
.profile-device-section{margin-top:28px}
.purchase-history{margin-top:21px;padding-top:18px;border-top:1px solid var(--line)}
.purchase-history summary{font-size:13px;font-weight:600;cursor:pointer;color:#285eaf}
.purchase-row{display:flex;align-items:center;gap:20px;justify-content:space-between;padding:16px 0;border-bottom:1px solid #eef1f6;font-size:13px}
.purchase-row:last-child{border-bottom:0;padding-bottom:0}
.purchase-row p{font-size:11px;color:#62738c;margin:7px 0 0}
.purchase-row a{font-size:12px;white-space:nowrap}
.purchase-state{font-size:11px;color:#536885;text-align:right}
.purchase-state.paid{color:#16724a}
@media(max-width:800px){.credit-shop-heading{gap:24px}.credit-balance{flex-basis:220px;padding:20px}.credit-purchase{grid-template-columns:minmax(0,1fr) 230px;gap:20px}.quantity-controls{gap:12px}.quantity-presets button{min-width:52px}.quantity-custom{gap:8px}}
@media(max-width:600px){.credit-shop{padding:24px 20px;border-radius:20px}.credit-shop-heading{display:block}.credit-shop-heading h2{font-size:28px}.credit-shop-heading p{font-size:13px}.credit-balance{margin-top:22px;grid-template-columns:1fr auto;align-items:center;padding:16px}.credit-balance strong{font-size:20px;grid-row:1 / 3;grid-column:2}.credit-balance small{grid-column:1;max-width:130px;line-height:1.6}.credit-purchase{grid-template-columns:1fr;gap:22px;margin-top:22px;padding:24px 0}.credit-quantity>.form-label{font-size:12px}.quantity-controls{gap:12px;flex-wrap:nowrap}.quantity-presets{gap:7px}.quantity-presets button{min-width:47px;min-height:48px}.quantity-custom{gap:6px;font-size:11px}.quantity-custom input{width:63px;height:48px}.credit-checkout .button{min-height:50px}.credit-total strong{font-size:28px}.purchase-row{gap:10px;flex-wrap:wrap}.credit-instruction{font-size:11px}.credit-purchase .form-note{font-size:11px}}
/* First-visit compatibility acknowledgment, before starting the login flow. */
.compatibility-open,.compatibility-open body{overflow:hidden}
.compatibility-notice{box-sizing:border-box;width:min(580px,calc(100% - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:38px;border:1px solid #dce5f3;border-radius:26px;background:#fff;color:var(--ink,#101c42);box-shadow:0 24px 96px #162c5b26;overscroll-behavior:contain}
.compatibility-notice:not([open]){display:none}
.compatibility-notice::backdrop{background:#142b4f66;backdrop-filter:blur(5px)}
.compatibility-notice .eyebrow{margin-bottom:14px}
.compatibility-notice h2{font-size:34px;line-height:1.13;font-weight:580;letter-spacing:-.035em;margin:0 0 25px;outline:none}
.compatibility-copy{font-size:14px;line-height:1.75;color:#4f6384}
.compatibility-copy p{margin:0 0 16px}
.compatibility-copy .compatibility-models{background:#f0f5ff;border:1px solid #dce7ff;color:#263e69;border-radius:14px;padding:16px 18px;margin:22px 0}
.compatibility-consent{display:flex;align-items:flex-start;gap:12px;min-height:44px;padding:15px 0;cursor:pointer;font-size:13px;line-height:1.6;color:#263e69}
.compatibility-consent input{flex:none;width:20px;height:20px;margin:1px 0 0;accent-color:#245cff;cursor:pointer}
.compatibility-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:20px}
.compatibility-actions .button{min-width:180px;min-height:50px;border-radius:13px;transition:transform 140ms ease-out,background-color 140ms ease}
.compatibility-actions .button:disabled{opacity:1;background:#e5ebf5;color:#667895;border-color:transparent;box-shadow:none;cursor:not-allowed}
.compatibility-actions .button:active:not(:disabled){transform:scale(.97)}
.compatibility-notice :focus-visible{outline:3px solid #245cff;outline-offset:4px}
.compatibility-notice h2:focus-visible{outline:none}
@media(max-width:600px){.compatibility-notice{padding:26px 22px;border-radius:22px}.compatibility-notice h2{font-size:29px;margin-bottom:22px}.compatibility-copy{font-size:13px;line-height:1.7}.compatibility-copy .compatibility-models{padding:14px;margin:18px 0}.compatibility-consent{font-size:12px}.compatibility-actions{gap:12px;margin-top:15px}.compatibility-actions .button{min-width:150px}.compatibility-actions .text-link{font-size:12px}}
@media(prefers-reduced-motion:reduce){.compatibility-actions .button{transition:none;transform:none!important}}
