:root{font:15px/1.65 "Microsoft YaHei",system-ui,sans-serif;color:#24313c;background:#f7f8fa}*{box-sizing:border-box}body{margin:0}main{max-width:700px;margin:36px auto;padding:0 20px}header{display:flex;gap:15px;align-items:center;background:linear-gradient(115deg,#fc5974,#ff8950);color:white;padding:25px;border-radius:20px}h1{font-size:25px;margin:0}header p{margin:3px 0 0}.logo{font-size:30px;background:#ffffff30;border-radius:12px;padding:5px 15px}section{background:white;border:1px solid #e7ebef;border-radius:16px;padding:23px;margin-top:18px}h2{font-size:19px;margin:0 0 16px}p{margin:10px 0}button,a.primary{cursor:pointer;border:0;border-radius:9px;padding:10px 16px;font:inherit;background:#eef2f5;color:#263c42}a{color:#b72d4a}button:disabled{opacity:.5;cursor:not-allowed}.primary{background:linear-gradient(115deg,#fc5974,#ff8950)!important;color:white!important;display:inline-block;text-decoration:none}#purchase{width:100%;margin-top:8px}.plans{display:grid;grid-template-columns:1fr 1fr;gap:12px}.plan{text-align:left;background:white;border:1px solid #dfe5ea;padding:17px}.plan.selected{border:2px solid #fc5974;background:#fff5f5;padding:16px}.plan b{display:block;font-size:18px}.plan small{display:block;color:#667783}.price{font-size:23px;display:block;margin:8px 0}.muted,footer{color:#74818d;font-size:12px}footer{text-align:center;margin:20px 0}input{padding:10px;border:1px solid #ccd5dd;border-radius:8px;max-width:100%;font:inherit}.device{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #eee;padding:9px 0}#message,#pairStatus,#orderStatus{color:#b02a47}[hidden]{display:none!important}@media(max-width:480px){main{margin:12px auto;padding:0 12px}section{padding:16px}h1{font-size:21px}}

.pair-confirm-code{display:flex;flex-direction:column;gap:5px;background:#fff5f5;border:1px solid #ffd3da;border-radius:10px;padding:14px 16px;margin:12px 0 16px}.pair-confirm-code span{color:#667783;font-size:13px}.pair-confirm-code output{color:#b72d4a;font:700 30px/1.4 ui-monospace,Consolas,monospace;letter-spacing:.18em;overflow-wrap:anywhere}.pair-confirm-code small{font-size:12px;color:#667783}

/* Dedicated same-origin checkout. The provider QR stays inside its own iframe. */
#payment{--pay-green:#06996d;--pay-ink:#203540;--pay-muted:#7b8995;text-align:center;color:var(--pay-ink);border:1px solid #bde7d6;border-radius:18px;padding:28px;box-shadow:0 12px 35px #163e2810}
.payment-brand{display:flex;align-items:center;justify-content:center;gap:12px;font-size:21px;font-weight:700}.payment-brand span{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:linear-gradient(140deg,#30d69a,#08a674);color:#fff;font-size:23px}
#payment h2{font-size:30px;line-height:1.4;margin:15px 0 4px}.payment-subtitle{color:#657581;font-size:15px;margin:0 0 23px}.payment-plan{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;background:#e9f7f0;border-radius:10px;text-align:left;color:#126448}.payment-plan b{font-size:20px;overflow-wrap:anywhere}.payment-plan span{font-size:14px;flex-shrink:0;border-left:1px solid #cde3d9;padding-left:18px}.payment-amount-label{font-size:14px;color:#637381;margin:20px 0 0}.payment-amount{font-size:46px;font-weight:750;line-height:1.35;color:#086b51;margin-bottom:16px}.payment-amount small{font-size:29px;margin-right:8px}
.payment-qr{position:relative;width:244px;height:244px;border:1px solid #d9e1e5;border-radius:10px;background:white;margin:0 auto;overflow:hidden;padding:1px}#paymentFrame{width:240px;height:240px;overflow:hidden;background:white}#paymentFrame iframe{display:block;border:0;width:320px;height:320px;transform:scale(.75);transform-origin:top left;background:white}#paymentQrMessage{position:absolute;inset:0;display:grid;place-items:center;margin:0;padding:22px;background:white;color:#72808b;font-size:14px;line-height:1.8}.payment-scan-hint{font-size:15px;margin:8px 0}
#payment .payment-state{display:table;margin:12px auto 8px;padding:5px 15px;border-radius:999px;background:#fff4e2;color:#ac700d;font-size:14px;font-weight:600}#payment .payment-state::before{content:'●';font-size:10px;margin-right:8px}#payment .payment-state[data-state="fulfilled"]{background:#e7f6ed;color:#14794e}#payment .payment-state[data-state="error"],#payment .payment-state[data-state="expired"],#payment .payment-state[data-state="closed"],#payment .payment-state[data-state="failed"],#payment .payment-state[data-state="refunded"]{background:#fff0f0;color:#aa3a40}.payment-result-hint{font-size:13px;color:var(--pay-muted);margin:8px 0}.payment-fallback{font-size:12px;margin:8px 0 16px}.payment-fallback a{color:#487c6b;text-underline-offset:3px}.payment-actions{display:flex;gap:14px;margin-top:16px}.payment-actions a,.payment-actions button{flex:1;display:flex;align-items:center;justify-content:center;min-height:48px;padding:10px;border-radius:9px;font:600 15px/1.5 "Microsoft YaHei",system-ui,sans-serif;text-decoration:none}#backToPlans{background:#fff;border:1px solid var(--pay-green);color:#078465}#checkOrder{background:var(--pay-green);color:#fff}.payment-actions :focus-visible,.payment-fallback a:focus-visible{outline:3px solid #188767;outline-offset:4px}
.material-checkout{background:#f3f8f5;color-scheme:light}.material-checkout body{background:radial-gradient(ellipse at 50% 35%,#fbfdfc,#f0f7f3);min-height:100vh}.material-checkout main{max-width:none;width:100%;min-height:100vh;margin:0;padding:32px 20px;display:flex;align-items:center;justify-content:center}.material-checkout main> :not(#payment){display:none!important}.material-checkout #payment{width:540px;max-width:100%;margin:0;background:#fff;flex:none}.material-checkout .payment-actions{margin-top:18px}@media(max-height:800px){.material-checkout main{padding-top:20px;padding-bottom:20px;align-items:flex-start}}@media(max-width:520px){#payment{padding:23px 18px}.payment-plan{padding:14px 12px;gap:10px}.payment-plan b{font-size:17px}.payment-plan span{font-size:12px;padding-left:10px}.material-checkout main{padding:16px 12px}.payment-brand{font-size:19px}#payment h2{font-size:27px}}
