/* 积分充值页（pay.html，2026-10-28）：沿用 site.css（和 AI 教练同一套颜色）的按钮和卡片 */
[hidden]{display:none!important}
.pay{padding:36px 0 64px}
.pay-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}
@media(max-width:900px){.pay-grid{grid-template-columns:minmax(0,1fr)}}
.pay-main,.pay-side{display:grid;gap:20px;min-width:0}
.pay-h{margin:0 0 14px;font-size:16px}
.pay-hint{margin:10px 0 0;color:var(--ink-3);font-size:13.5px}
.pay-label{color:var(--ink-3);font-size:13px}

/* 账号 */
.pay-acc{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.pay-acc-name{font-size:19px;font-weight:700;color:var(--ink);line-height:1.4;overflow-wrap:anywhere}
.pay-acc-meta{color:var(--ink-3);font-size:13.5px}
.pay-acc-meta b{color:var(--ink);font-variant-numeric:tabular-nums}
.pay-acc-act{display:flex;align-items:center;gap:12px}
.pay-textbtn{background:none;border:0;padding:6px 2px;color:var(--ink-3);font:inherit;font-size:14px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.pay-textbtn:hover{color:var(--ink)}

/* 金额 */
.pack-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
@media(max-width:620px){.pack-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
.pack-opt{position:relative;display:flex;flex-direction:column;gap:2px;border:1.5px solid var(--line);border-radius:10px;padding:14px 14px 12px;cursor:pointer;background:#fff;transition:border-color .15s,box-shadow .15s}
.pack-opt input{position:absolute;opacity:0;pointer-events:none}
.pack-pts{font-weight:700;font-size:16px;font-variant-numeric:tabular-nums}
.pack-yuan{color:var(--ink-3);font-size:14px;font-variant-numeric:tabular-nums}
.pack-opt:hover{border-color:#D5D9DE}
.pack-opt:has(input:checked){border-color:var(--red);box-shadow:0 0 0 3px var(--red-soft)}
.pack-opt:has(input:checked) .pack-yuan{color:var(--red)}
.pack-opt:has(input:focus-visible){outline:2px solid var(--red);outline-offset:2px}
.pack-opt.on{border-color:var(--red);box-shadow:0 0 0 3px var(--red-soft)}
.pack-custom{grid-column:1/-1;flex-direction:row;align-items:center;flex-wrap:wrap;gap:6px 14px}
.pack-custom-row{display:flex;align-items:center;gap:6px;color:var(--ink-2);font-size:14px}
.pack-custom #custom-amt{position:static;opacity:1;pointer-events:auto;width:110px;border:1px solid var(--line);border-radius:8px;padding:6px 10px;font:inherit;font-size:16px;color:var(--ink);background:#fff}
.pack-custom #custom-amt:focus-visible{outline:2px solid var(--red);outline-offset:1px}
.pack-custom-pts{color:var(--red);font-weight:600;font-variant-numeric:tabular-nums}

/* 支付方式 */
.ch-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media(max-width:420px){.ch-list{grid-template-columns:minmax(0,1fr)}}
.ch-opt{position:relative;display:flex;align-items:center;gap:10px;border:1.5px solid var(--line);border-radius:10px;padding:12px 14px;cursor:pointer;background:#fff;flex-wrap:wrap}
.ch-opt input{position:absolute;opacity:0;pointer-events:none}
.ch-opt:has(input:checked){border-color:var(--red);box-shadow:0 0 0 3px var(--red-soft)}
.ch-opt:has(input:focus-visible){outline:2px solid var(--red);outline-offset:2px}
.ch-opt.on{border-color:var(--red);box-shadow:0 0 0 3px var(--red-soft)}
.ch-opt.off{opacity:.55;cursor:not-allowed}
.ch-ico{width:26px;height:26px;border-radius:7px;display:grid;place-items:center;color:#fff;font-size:13px;font-weight:700;flex:none}
.ch-wx{background:#1aad19}
.ch-ali{background:#1677ff}
.ch-note{flex-basis:100%;color:var(--ink-3);font-size:12.5px;margin-left:36px}
.ch-note:empty{display:none}

.pay-agree{display:flex;align-items:flex-start;gap:8px;margin:20px 0 14px;font-size:14px;color:var(--ink-2);cursor:pointer}
.pay-agree input{margin-top:5px;width:16px;height:16px;flex:none}
.pay-go{display:block;width:100%;font-size:17px;padding:14px 20px}
.pay-go:disabled{opacity:.6;cursor:default}
.pay-err{margin:12px 0 0;color:var(--red-dark);font-size:14px}
.pay-fine{margin:14px 0 0;color:var(--ink-3);font-size:12.5px}

/* 订单 */
.ord{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;padding:10px 0;border-top:1px solid var(--line);font-size:14px}
.ord:first-child{border-top:0;padding-top:0}
.ord b{font-variant-numeric:tabular-nums}
.ord small{color:var(--ink-3);font-size:12.5px;font-variant-numeric:tabular-nums}
.ord .st{text-align:right;font-size:13px;white-space:nowrap}
.st-ok{color:var(--ok)}.st-wait{color:#DD7424}.st-bad{color:var(--red-dark)}.st-off{color:var(--ink-3)}
.pay-notes{margin:0;padding-left:18px;font-size:14px;color:var(--ink-2)}
.pay-notes li{margin-bottom:8px}

/* 弹窗 */
.pay-mask{position:fixed;inset:0;z-index:50;background:rgba(0,0,0,.45);display:grid;place-items:center;padding:16px}
.pay-dialog{position:relative;width:min(360px,100%);background:#fff;border-radius:14px;padding:28px 24px 24px;text-align:center;box-shadow:0 12px 40px rgba(0,0,0,.25)}
.pay-dialog h3{margin:0 0 4px;font-size:18px}
.pay-x{position:absolute;top:8px;right:10px;width:36px;height:36px;border:0;background:none;font-size:24px;line-height:1;color:var(--ink-3);cursor:pointer;border-radius:8px}
.pay-x:hover{background:var(--hover)}
.pay-amt{font-size:30px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums;margin:6px 0 12px}
.pay-dialog img{display:block;margin:0 auto;width:220px;height:220px;max-width:100%;border:1px solid var(--line);border-radius:10px;image-rendering:pixelated}
.pay-state{margin:12px 0 0;font-weight:600;color:var(--red)}
.pay-dialog .btn{margin-top:14px}
.pay-ok{width:56px;height:56px;border-radius:50%;background:var(--ok-soft);color:var(--ok);display:grid;place-items:center;font-size:30px;font-weight:700;margin:0 auto 12px}
.pay-done-text{color:var(--ink-2);margin:6px 0 4px}
.pay-done-act{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.pay-x:focus-visible,.pay-textbtn:focus-visible,.pay-agree input:focus-visible{outline:2px solid var(--red);outline-offset:2px}
@media(prefers-reduced-motion:reduce){.pack-opt,.ch-opt{transition:none}}
