details.account-fold { border:1px solid #263c43; border-radius:12px; padding:12px; margin-bottom:12px; background:rgba(15,28,33,.45); }
details.invoice-fold { margin-top:16px; }
/* A single scrolling body prevents the items, form and payment buttons from
   competing for height on phones or when the keyboard shrinks the viewport. */
#cart-drawer { height:100dvh; overflow:hidden; }
#cart-drawer > .cart-header { flex:0 0 auto; }
.cart-scroll-body { flex:1 1 auto; min-height:0; overflow-y:auto; overflow-x:hidden; overscroll-behavior-y:contain; -webkit-overflow-scrolling:touch; scroll-padding-block:16px; }
.cart-scroll-body > .cart-items { flex:none; overflow:visible; }
.cart-scroll-body > .cart-form { max-height:none; overflow:visible; }
.cart-scroll-body > .cart-footer { padding-bottom:calc(16px + env(safe-area-inset-bottom,0px)); }
.cart-scroll-body:focus-visible { outline:2px solid #71e9c2; outline-offset:-2px; }
@media(max-width:600px) {
    .cart-scroll-body .cart-item { display:grid; grid-template-columns:1fr auto auto; gap:8px; padding:14px 0; }
    .cart-scroll-body .cart-item-info { grid-column:1 / -1; }
    .cart-scroll-body .cart-item-game { white-space:normal; overflow-wrap:anywhere; }
    .cart-scroll-body .cart-item-coins { overflow-wrap:anywhere; }
    .cart-scroll-body .cart-item-controls button,.cart-scroll-body .cart-item-remove { min-width:44px; min-height:44px; }
    body.cart-drawer-open .site-chat-launcher { display:none; }
}
.invoice-fold > summary:focus-visible { outline:2px solid #8ce8cb; outline-offset:4px; border-radius:6px; }
.account-fold > summary { cursor:pointer; min-height:44px; color:#b9f2ff; font-weight:700; line-height:1.5; }
.account-fold > summary::marker { color:#71e9c2; }
.account-fold > summary small { display:block; color:#94a3b8; font-size:.76rem; font-weight:400; margin:4px 0 0 18px; }
.account-fold[open] > summary { margin-bottom:12px; }
.member-cart-syncbar { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:12px 16px; padding:12px; border:1px solid rgba(113,233,194,.13); border-radius:14px; background:linear-gradient(115deg,rgba(27,61,54,.38),rgba(15,23,25,.65)); font-family:system-ui,-apple-system,"Microsoft JhengHei",sans-serif; }
.container-main > .member-cart-syncbar { margin:0; }
.member-cart-sync-copy { display:flex; flex-direction:column; gap:4px; min-width:0; }
.member-cart-sync-label { display:flex; align-items:center; gap:7px; color:#d3eee5; font-size:12px; font-weight:650; letter-spacing:.04em; }
.member-cart-sync-label::before { content:""; width:6px; height:6px; flex-shrink:0; border-radius:50%; background:#71e9c2; box-shadow:0 0 0 3px rgba(113,233,194,.08); }
.member-cart-syncbar[data-sync-state="error"] .member-cart-sync-label::before { background:#ffb486; box-shadow:0 0 0 3px rgba(255,180,134,.08); }
.member-cart-syncbar #memberCartStatus { font-size:11px; line-height:1.5; color:#94a3b8; overflow-wrap:anywhere; }
.member-cart-sync-button,.account-sync-actions button,button.account-sync-save { -webkit-appearance:none; appearance:none; display:inline-flex; justify-content:center; align-items:center; gap:7px; min-height:44px; box-sizing:border-box; padding:9px 13px; border:1px solid rgba(113,233,194,.25); border-radius:11px; color:#b6f2df; background:#142d29; font-family:system-ui,-apple-system,"Microsoft JhengHei",sans-serif; font-size:12px; font-weight:600; line-height:1.2; text-decoration:none; cursor:pointer; transition:background .18s,border-color .18s,box-shadow .18s,transform .18s; }
.member-cart-sync-button { flex-shrink:0; white-space:nowrap; box-shadow:inset 0 1px rgba(255,255,255,.04); }
.sync-button-icon { width:16px; height:16px; flex-shrink:0; }
.account-sync-actions { display:flex; flex-wrap:wrap; gap:7px; align-items:center; margin:12px 0; }
.account-sync-actions button { flex:1 1 auto; background:#141e21; border-color:#2b3b40; color:#adc5cd; padding:9px 10px; }
.account-sync-actions button::before { content:""; width:14px; height:14px; background:currentColor; flex-shrink:0; -webkit-mask:center/contain no-repeat; mask:center/contain no-repeat; }
.account-sync-actions button:nth-child(1)::before { -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m7 5 5 5 5-5M7 14l5 5 5-5' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m7 5 5 5 5-5M7 14l5 5 5-5' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.account-sync-actions button:nth-child(2)::before { -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m7 10 5-5 5 5M7 19l5-5 5 5' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m7 10 5-5 5 5M7 19l5-5 5 5' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.account-sync-actions button:nth-child(3)::before { border:1.5px solid currentColor; border-right-color:transparent; border-radius:50%; width:11px; height:11px; background:none; }
button.account-sync-save { width:100%; margin-top:8px; color:#a7f2d9; background:linear-gradient(135deg,#193e34,#12322e); border-color:#376b5b; box-shadow:inset 0 1px rgba(255,255,255,.04); }
.member-cart-sync-button:hover,.account-sync-actions button:hover,button.account-sync-save:hover { background:#204439; border-color:#589d87; box-shadow:0 3px 12px rgba(0,0,0,.18); }
.member-cart-sync-button:active,.account-sync-actions button:active,button.account-sync-save:active { transform:translateY(1px); }
.member-cart-sync-button:focus-visible,.account-sync-actions button:focus-visible,button.account-sync-save:focus-visible { outline:2px solid #8ce8cb; outline-offset:3px; }
.member-cart-sync-button:disabled,.account-sync-actions button:disabled,button.account-sync-save:disabled { opacity:.65; cursor:wait; transform:none; }
.member-cart-sync-button[aria-busy="true"] .sync-button-icon { animation:account-sync-spin 1s linear infinite; }
@keyframes account-sync-spin { to { transform:rotate(360deg); } }
@media(prefers-reduced-motion:reduce) { .member-cart-sync-button,.account-sync-actions button,button.account-sync-save { transition:none; } .member-cart-sync-button[aria-busy="true"] .sync-button-icon { animation:none; } }
.account-sync-hint { color:#94a3b8; font-size:.78rem; line-height:1.6; }
.account-sync-result { display:block; color:#71e9c2; margin-top:8px; font-size:.8rem; }
@media(max-width:600px) { .account-fold input,.account-fold select,.account-fold textarea { font-size:16px!important; } }
