.recharge-overlay { position:fixed; inset:0; z-index:2147483647; display:flex; align-items:center; justify-content:center; padding:20px; box-sizing:border-box; background:rgba(15,20,32,.8); font:15px/1.5 system-ui,-apple-system,"Microsoft YaHei",sans-serif; color:#283344; touch-action:manipulation; }
.recharge-overlay * { box-sizing:border-box; }
.recharge-card { position:relative; width:100%; max-width:420px; max-height:calc(100dvh - 40px); overflow:auto; padding:30px 26px 26px; border-radius:20px; background:#fffaf1; box-shadow:0 20px 80px #0006; text-align:left; }
.recharge-eyebrow { margin:0 0 4px; color:#927047; font-size:12px; letter-spacing:2px; }
.recharge-card h2 { margin:0 0 22px; font-size:26px; color:#392c20; }
.recharge-close { position:absolute; right:20px; top:22px; border:0; background:transparent; color:#685b4b; padding:8px; cursor:pointer; font:inherit; }
.recharge-details { margin:0 0 22px; padding:14px; border:1px solid #e8dfcf; border-radius:12px; background:#fff; }
.recharge-details div { display:flex; gap:18px; justify-content:space-between; padding:5px 0; }
.recharge-details dt { flex-shrink:0; color:#7b7267; }
.recharge-details dd { margin:0; text-align:right; overflow-wrap:anywhere; }
.recharge-details [data-field="price"] { font-size:20px; font-weight:700; color:#b57522; }
.recharge-label { display:block; margin-bottom:8px; font-weight:600; }
#recharge-amount { width:100%; min-height:48px; border:1px solid #cfc5b5; border-radius:10px; padding:12px; background:white; color:#283344; font:16px system-ui,sans-serif; }
.recharge-hint { margin:8px 0 20px; font-size:12px; color:#80715f; }
.recharge-method { display:flex; align-items:center; gap:12px; padding:13px; border:1px solid #3b99dd; border-radius:12px; background:#f1f9ff; cursor:pointer; }
.recharge-alipay { display:grid; place-items:center; width:32px; height:32px; border-radius:8px; color:white; background:#1677ff; font-size:23px; }
.recharge-method input { margin-left:auto; width:18px; height:18px; accent-color:#1677ff; }
.recharge-error { min-height:20px; margin:12px 0; color:#b33529; font-size:13px; }
.recharge-submit { width:100%; min-height:48px; border:0; border-radius:12px; background:#1677ff; color:white; font:600 16px system-ui,sans-serif; cursor:pointer; }
.recharge-submit:disabled { opacity:.65; cursor:wait; }
.recharge-overlay :focus-visible { outline:3px solid #e0ab4b; outline-offset:3px; }
@media(max-height:650px) { .recharge-card { padding:20px; } .recharge-card h2 { margin-bottom:12px; } .recharge-details { margin-bottom:12px; } .recharge-hint { margin-bottom:12px; } }
