:root{color:#10231f;background:#f3f7f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--wechat-green: #07c160;--ink: #10231f;--muted: #68756f;--line: #d9e4df;--panel: #ffffff;--danger: #d14343;--warning: #b87503}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button{font:inherit}.page-shell{min-height:100vh;padding:max(28px,env(safe-area-inset-top)) 16px max(24px,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#07c16014,#f3f7f500 240px),#f3f7f5}.payment-panel{width:min(100%,420px);padding:28px 22px 20px;border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:0 18px 48px #10231f14}.panel-head{display:flex;align-items:center;justify-content:center;gap:8px;min-height:24px;color:var(--muted);font-size:14px}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--wechat-green)}.status-dot--loading,.status-dot--paying{background:var(--warning)}.status-dot--failed{background:var(--danger)}.merchant-title{margin-top:22px;color:var(--muted);font-size:14px;text-align:center}h1{margin:10px auto 0;max-width:100%;color:var(--ink);font-size:20px;line-height:1.35;font-weight:650;text-align:center;word-break:break-word}.amount-row{display:flex;align-items:baseline;justify-content:center;gap:4px;margin-top:26px;color:var(--ink)}.amount-row span{font-size:22px;font-weight:600}.amount-row strong{font-size:42px;line-height:1;font-weight:750}.message-text{min-height:44px;margin:24px 0 18px;color:var(--muted);font-size:14px;line-height:1.55;text-align:center;word-break:break-word}.primary-button,.text-button{width:100%;min-height:48px;border:0;border-radius:8px;cursor:pointer}.primary-button{background:var(--wechat-green);color:#fff;font-size:16px;font-weight:650;transition:transform .16s ease,opacity .16s ease,background .16s ease}.primary-button:active:not(:disabled){transform:translateY(1px)}.primary-button:disabled{cursor:not-allowed;opacity:.58}.text-button{margin-top:10px;background:transparent;color:var(--muted);font-size:15px}.primary-button:focus-visible,.text-button:focus-visible{outline:2px solid rgba(7,193,96,.35);outline-offset:2px}@media (max-width: 360px){.payment-panel{padding:24px 18px 18px}.amount-row strong{font-size:38px}}
