.recharge-grid{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:24px;align-items:stretch;max-width:none!important}
.recharge-grid>.panel{--choice-accent:#e0a273;--choice-price:#ffc190;--choice-muted:#bba999;--choice-fill:#b87b4d14;--choice-surface:#181b1b;display:flex;flex-direction:column;min-width:0;margin:0;padding:clamp(24px,3vw,40px);border-radius:18px}
.recharge-grid .membership-panel{box-shadow:none}
.recharge-grid .membership-panel-head{gap:14px;min-height:100px}
.recharge-grid .membership-panel-head h2{font-size:26px;margin:10px 0}
.recharge-grid .member-mark{min-width:76px;height:76px}
.recharge-grid .benefit-row{margin-top:16px}
.recharge-grid .payment-actions{margin-top:auto;flex-shrink:0;display:flex;flex-direction:column;gap:10px}
.recharge-grid .payment-actions button{margin:0;min-height:46px}
.recharge-grid .payment-actions .secondary-action{color:var(--choice-price)!important;border-color:var(--choice-accent);font-size:13px}
.recharge-grid .payment-actions [hidden]{display:none}
.recharge-grid .module-payment-state{margin:0;font-size:12px;line-height:1.7;color:var(--choice-muted)}
.recharge-grid .membership-panel>.badge{align-self:flex-start}
.recharge-grid .points-panel{--choice-accent:#a9c7b1;--choice-price:#d5e8dc;--choice-muted:#9fb8a8;--choice-fill:#8eb09813;--choice-surface:#151c19;background:radial-gradient(ellipse at top right,#56857515,transparent 60%),#1b2120}
.points-mark{width:76px;height:76px;display:grid;place-items:center;background:#9bc4ae0a;border:1px solid #84b29925;border-radius:14px;color:#a3c9b2;font-size:42px}
.points-rate{display:flex;align-items:baseline;flex-wrap:wrap;gap:16px;padding:25px 0 26px;border-bottom:1px solid #ffffff13}
.points-rate>strong{font-size:38px;letter-spacing:-1px;color:#d5e8dc}
.points-rate strong span{font-weight:300;color:#789b87}
.points-rate>span{font-size:12px;color:#96aea0}
.recharge-grid .choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0 12px}
.recharge-grid .points-options{grid-template-columns:repeat(3,minmax(0,1fr))}
.recharge-grid .choice-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0;min-height:152px;margin:0;padding:19px 14px;border:1px solid #ffffff20;border-radius:12px;background:var(--choice-surface);color:var(--text);cursor:pointer;transition:border-color .2s,background .2s,box-shadow .2s;transform:none}
.recharge-grid .choice-card:hover{border-color:var(--choice-accent)}
.recharge-grid .choice-card:has(>input:checked){border-color:var(--choice-accent);background:var(--choice-fill);box-shadow:inset 0 0 0 1px var(--choice-accent)}
.recharge-grid .choice-card>input[type=radio],.recharge-grid .payment-method>input[type=radio]{appearance:none;width:17px;height:17px;min-width:17px;margin:0;border:1px solid #79827c;border-radius:50%;background:transparent;cursor:inherit}
.recharge-grid .choice-card>input[type=radio]{position:absolute;top:19px;right:14px}
.recharge-grid .choice-card>input:checked,.recharge-grid .payment-method>input:checked{border-color:var(--choice-accent);background:var(--choice-accent);box-shadow:inset 0 0 0 4px var(--choice-surface)}
.recharge-grid input:focus-visible{outline:2px solid var(--choice-accent);outline-offset:4px}
.recharge-grid .choice-title{font-size:13px;font-weight:600;padding-right:24px;line-height:1.6}
.recharge-grid .choice-price{display:block;font-size:30px;font-weight:700;line-height:1.3;color:var(--choice-price);letter-spacing:-.8px}
.recharge-grid .choice-detail{display:block;font-size:11px;line-height:1.7;color:var(--choice-muted)}
.recharge-grid .points-custom{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(110px,160px);align-items:center;column-gap:16px;min-height:89px;padding-right:43px}
.recharge-grid .points-custom .choice-title{padding-right:0}
.recharge-grid .points-custom .choice-detail{grid-column:1/-1}
.custom-amount-field{display:flex;align-items:center;gap:7px;color:var(--choice-price);font-size:18px}
.custom-amount-field input{min-width:0;width:100%;padding:7px 9px;border:1px solid #ffffff28;border-radius:6px;background:#111815;color:#edf1ed;font:inherit;font-size:16px}
.recharge-grid .methods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}
.recharge-grid .payment-method{display:grid;grid-template-columns:17px 26px minmax(0,1fr);align-items:center;column-gap:10px;row-gap:1px;min-height:76px;padding:13px 12px;border:1px solid #ffffff20;border-radius:10px;background:var(--choice-surface);cursor:pointer;transition:border-color .2s,background .2s}
.recharge-grid .payment-method:has(input:checked){border-color:var(--choice-accent);background:var(--choice-fill)}
.recharge-grid .payment-method:hover:has(input:enabled){border-color:var(--choice-accent)}
.recharge-grid .payment-method:has(input:disabled){opacity:.5;cursor:not-allowed}
.recharge-grid .payment-method>input,.recharge-grid .payment-logo{grid-row:1/3}
.recharge-grid .payment-method strong{font-size:12px;line-height:1.6}
.recharge-grid .payment-method small{grid-column:3;font-size:10px;line-height:1.6;color:var(--choice-muted)}
#points-quote{font-size:14px;color:#c0dbca;min-height:24px;margin:8px 0 0}
#points-error:empty{display:none}
#points-price-note{font-size:12px;color:#c6a689;margin:0 0 24px}
.points-panel #pay-points{background:#b0cfb9;border-color:#b0cfb9;color:#15271d}
.points-panel #pay-points:enabled:hover{background:#c9e3d1}
.recharge-grid #notice:empty{display:none}
.recharge-grid #checkout{--payment-size:240px;--cashier-scale:.9375;display:none;box-sizing:border-box;width:min(440px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:24px!important;overflow:visible;flex-direction:column;align-items:stretch;font-size:14px}
.recharge-grid #checkout[open]{display:flex}
.recharge-grid #cashier-instruction{font-size:13px;line-height:1.7;margin:0 0 14px;color:#dce2e0;min-height:23px;flex-shrink:0}
#payment-code{box-sizing:content-box;width:var(--payment-size);height:var(--payment-size);margin:0 auto;border:8px solid #fff;border-radius:10px;background:#fff;flex:none}
#payment-code #qr{display:block;width:var(--payment-size);max-width:none;height:var(--payment-size);margin:0;border:0;border-radius:0;background:#fff;object-fit:contain}
/* The 240px canvas starts at (0,0) in a 256px viewport. Split its 16px spare space equally; the full 244px line box remains visible. */
#cashier-frame{display:block;width:256px;max-width:none;height:256px;margin:0;border:0;border-radius:0;background:#fff;color-scheme:light;transform:scale(var(--cashier-scale)) translate(8px,8px);transform-origin:top left}
#alipay-cashier{width:var(--payment-size);height:var(--payment-size);margin:0;overflow:hidden}
#payment-details{min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable both-edges;margin:12px -8px 0;padding:0 8px}
#payment-details:focus-visible{outline:1px solid #9babaa;outline-offset:2px}
#payment-code[hidden],#alipay-cashier[hidden],#payment-help[hidden],#open-cashier[hidden]{display:none}
#payment-help{display:flex;flex-wrap:wrap;align-items:center;align-content:center;justify-content:center;gap:0 5px;min-height:42px;margin:0 0 12px;color:#a3afa9;font-size:12px;line-height:1.7}
#open-cashier{display:inline-block;color:#c6d7e8;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
#open-cashier:hover{color:#edf4ff}
#open-cashier:focus-visible{outline:2px solid #b0d2ff;outline-offset:3px}
.recharge-grid .hh-dialog #order-summary,.recharge-grid .hh-dialog #order-status{font-size:12px;line-height:1.8;margin:0 0 12px;overflow-wrap:anywhere}
.recharge-grid .hh-dialog #payment-notice{font-size:12px;line-height:1.7;margin:0 0 12px}
.recharge-grid .hh-dialog #payment-notice:empty{display:none}
.recharge-grid .hh-dialog #check-payment{margin:12px 0 0;min-height:46px;flex-shrink:0}
.recharge-grid #checkout #close-payment{top:8px;right:8px;flex:none}
.recharge-grid #member-summary{font-size:13px}
@media(max-width:1000px){.recharge-grid{grid-template-columns:1fr!important}.recharge-grid>.panel{min-height:0}}
@media(max-height:650px){.recharge-grid #checkout{--payment-size:208px;--cashier-scale:.8125;padding:20px!important}.recharge-grid #cashier-instruction{margin-bottom:10px}#payment-details{margin-top:10px}.recharge-grid .hh-dialog #check-payment{min-height:42px;margin-top:10px}}
@media(max-height:520px){.recharge-grid #checkout{--payment-size:176px;--cashier-scale:.6875;padding:12px 20px!important}.recharge-grid #cashier-instruction{font-size:12px;margin-bottom:8px}.recharge-grid .hh-dialog #check-payment{min-height:40px;margin-top:8px}#payment-details{margin-top:8px}}
@media(max-height:380px){.recharge-grid #checkout{--payment-size:128px;--cashier-scale:.5;padding:8px 16px!important}.recharge-grid #cashier-instruction{margin-bottom:4px}#payment-details{margin-top:4px}.recharge-grid .hh-dialog #check-payment{min-height:36px;margin-top:4px}}
@media(max-width:450px){.recharge-grid>.panel{padding:22px 18px}.recharge-grid .points-options{grid-template-columns:repeat(2,minmax(0,1fr))}.recharge-grid .points-custom{grid-column:auto;display:flex;min-height:152px;padding:19px 14px}.recharge-grid .points-custom .choice-title{padding-right:24px}.recharge-grid .methods{gap:8px}.recharge-grid .payment-method{grid-template-columns:17px 22px minmax(0,1fr);column-gap:6px;padding:12px 8px}.recharge-grid .payment-logo{width:22px;height:22px}.recharge-grid .payment-method strong{font-size:11px}.recharge-grid .membership-panel-head h2{font-size:23px}}
@media(prefers-reduced-motion:reduce){.recharge-grid .choice-card,.recharge-grid .payment-method{transition:none}}
