:root{color-scheme:light}body{margin:0;background:#f5f7fa;color:#182333;font-family:"Microsoft YaHei",system-ui,sans-serif}.membership-shell{max-width:1060px;margin:auto;padding:28px 24px 64px}.member-nav{display:flex;justify-content:space-between;align-items:center;padding:8px 0 32px}.member-nav a:first-child{font-weight:700;color:#172b48}.membership-shell a{color:#245daa;text-decoration:none}.member-intro{margin:24px 0 34px}.eyebrow{color:#476a8b;font-size:13px;letter-spacing:2px}.member-intro h1{font-size:38px;line-height:1.3;margin:12px 0}.member-intro>p:last-child{color:#58687b;line-height:1.9}.member-layout{display:grid;grid-template-columns:1.25fr 1fr;gap:24px}.member-plan,.member-account,.member-orders{border:1px solid #dfe6ef;background:white;border-radius:18px;padding:30px}.member-plan{border-top:4px solid #2463ab}.plan-label{font-size:16px;font-weight:600;color:#345675}.member-price{font-size:64px;font-weight:750;margin:20px 0 6px;line-height:1.1}.member-price>span{font-size:28px;margin-right:8px}.member-price small{font-size:15px;color:#697787;font-weight:400;margin-left:12px}.member-plan h2{font-size:22px}.member-plan ul{padding-left:20px;font-size:14px;line-height:2;color:#49586c}.member-plan button,dialog button:not(.dialog-close){border:0;border-radius:9px;background:#2463ab;color:white;padding:14px 22px;font-size:16px;cursor:pointer}.member-plan button{width:100%;margin-top:20px}button:disabled{opacity:.55;cursor:not-allowed!important}.member-note{font-size:12px;color:#6c7886;line-height:1.8}.member-account h2,.member-orders h2{margin-top:0;font-size:20px}.member-account p{line-height:1.8}.member-rules{border-top:1px solid #e4e9f0;margin-top:28px;padding-top:12px;font-size:14px;color:#5c6c7f}.member-rules h3{font-size:15px;color:#26394f}.member-balance{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid #edf0f4}.member-balance strong{color:#194e89}.member-account>a{display:inline-block;margin-top:20px;font-size:14px}.member-orders{margin-top:24px}.order-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:14px 0;border-top:1px solid #edf0f4;font-size:13px}.order-row button{margin-left:auto;color:#245daa;background:white;border:1px solid #cfdaea;border-radius:6px;padding:7px 12px;cursor:pointer}#member-message{color:#9c4427;font-size:14px;line-height:1.7}dialog{border:0;border-radius:18px;padding:30px;max-width:380px;width:calc(100vw - 80px);text-align:center;box-shadow:0 24px 80px #0004}dialog::backdrop{background:#17233399}.dialog-close{position:absolute;top:12px;right:14px;background:none;border:0;font-size:28px;cursor:pointer;color:#637083}.dialog-price{font-size:26px;font-weight:700}#payment-qr{max-width:100%;height:auto}#payment-status{line-height:1.7;color:#225f3e}#payment-expiry{font-size:13px;color:#687587}@media(max-width:650px){.member-layout{grid-template-columns:1fr}.membership-shell{padding:18px 16px 40px}.member-intro h1{font-size:28px}.member-plan,.member-account,.member-orders{padding:24px}.member-price{font-size:54px}}
:root .wechat-pay-brand { display:flex; align-items:center; justify-content:center; gap:8px; font-size:20px; font-weight:600; margin:4px 0 18px; color:#242e2a; }
#payment-dialog { max-height:calc(100dvh - 64px); overflow-y:auto; }
#payment-dialog h2 { margin:12px 0; }
#payment-dialog .dialog-price { margin:16px 0 20px; }
.payment-guide { display:flex; align-items:center; justify-content:center; gap:8px; color:#138441; font-size:14px; background:#effaf3; border-radius:8px; padding:10px 14px; margin:0 auto 14px; width:fit-content; }
.payment-guide[hidden], .payment-benefits[hidden] { display:none; }
.payment-benefits { background:#f0f8f3; border:1px solid #d8ebdf; border-radius:12px; padding:6px 16px; margin:20px 0; text-align:left; }
.payment-benefits p { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; font-size:13px; line-height:1.7; }
.payment-benefits span { color:#65796b; }
.payment-benefits strong { color:#215c38; }
#member-account:focus { outline:3px solid #90b8e4; outline-offset:4px; }
#payment-refresh { min-width:220px; max-width:100%; }
