:root{--c-brand:#fe2c55;--c-accent:#ff6a88;--c-ink:#f7f8fa;--c-dim:#aab0b6;--c-bg:#0b0b0d;--c-panel:#141418;--c-line:#23232a;--r:12px}
html,body{height:100%}
body{margin:0;background:var(--c-bg);color:var(--c-ink);font-family:"PingFang SC","Microsoft YaHei",system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,"Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.wrap{max-width:1200px;margin:0 auto;padding:16px}
.breadcrumb{color:var(--c-dim);font-size:14px;margin:4px 0 10px}
.breadcrumb a{color:#ffd1d6;text-decoration:none}
.breadcrumb a:hover{text-decoration:underline}
.hero{position:relative;border-radius:0 0 28px 28px;padding:24px 16px;overflow:hidden;background:radial-gradient(1000px 300px at 10% -10%,rgba(254,44,85,.35),transparent 60%),linear-gradient(135deg,var(--c-brand),var(--c-panel) 55%,var(--c-bg) 100%)}
.hero-inner{display:flex;align-items:center;justify-content:center;gap:14px;flex-direction:column}
.brand-mark{width:72px;height:72px;border-radius:14px;object-fit:cover;box-shadow:0 6px 24px rgba(0,0,0,.35)}
.hero-title{font-weight:800;font-size:22px;letter-spacing:.3px;text-shadow:0 2px 8px rgba(0,0,0,.35)}
.hero-sub{color:#ffd1d6;font-size:13px}
.card{background:var(--c-panel);border:1px solid var(--c-line);border-radius:var(--r);padding:14px}
.h2{position:relative;font-weight:700;margin:0 0 12px 0;font-size:18px;padding-left:10px}
.h2::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:18px;border-radius:2px;background:var(--c-brand)}
.finput{background:#1c1c22;border:1px solid #2a2a33;color:var(--c-ink);border-radius:999px;padding:12px 14px;width:100%}
.finput::placeholder{color:#8c9096}
.actions-row{display:flex;gap:10px;justify-content:flex-end}
.grid-tier{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.tier{border:1px solid #30303a;background:#15151a;border-radius:12px;padding:10px;text-align:center;user-select:none;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.tier:hover{transform:translateY(-1px);box-shadow:0 8px 26px rgba(0,0,0,.35)}
.tier.is-on{border-color:var(--c-brand);box-shadow:0 0 0 1px rgba(254,44,85,.25) inset,0 0 0 3px rgba(254,44,85,.08)}
.t1{font-size:15px;font-weight:700}
.t2{font-size:12px;color:#cfd3da;line-height:1.2}
.t3{font-size:11px;color:#ff98ab;min-height:1.1em}
.badge{position:absolute;top:-8px;right:6px;background:var(--c-brand);color:#fff;font-size:10px;font-weight:800;border-radius:999px;padding:3px 7px}
.custom-row{display:grid;grid-template-columns:1fr 110px;gap:10px;margin-bottom:12px}
.summary{font-size:12px;color:#cfd3da;display:flex;gap:10px;flex-wrap:wrap}
.summary b{color:#fff}
.paylist{display:flex;gap:12px;flex-wrap:wrap}
.payitem{display:flex;align-items:center;gap:8px;border:1px solid #30303a;background:#16161b;border-radius:12px;padding:10px 12px;cursor:pointer;transition:all .15s ease}
.payitem i{font-size:18px;width:18px;text-align:center}
.payitem.active{border-color:var(--c-brand);background:rgba(254,44,85,.08)}
.btn{width:100%;border:0;border-radius:999px;padding:12px 0;font-weight:800;letter-spacing:.3px;cursor:pointer;background:linear-gradient(135deg,var(--c-brand),var(--c-accent));color:#fff;transition:opacity .15s ease}
.btn:disabled{opacity:.5;cursor:not-allowed}
.tape{height:96px;overflow:hidden;border-radius:12px;background:#141419;border:1px solid #292934;padding:12px}
.tape .flow{animation:flowUp 48s linear infinite}
.log{font-size:13px;color:#ffd1d6;margin-bottom:8px;white-space:nowrap}
@keyframes flowUp{0%{transform:translateY(0)}100%{transform:translateY(-100%)}}
.mask{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.45);z-index:50}
.modal{width:min(92vw,420px);background:#141418;border:1px solid var(--c-brand);border-radius:14px;padding:14px}
.modal h3{font-weight:800;margin:2px 0 8px}
.meta{font-size:13px;color:#dfe3ea}
.row-center{display:flex;justify-content:center;align-items:center}
.qrbox{width:340px;height:340px;background:#0e0e12;border-radius:10px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.qrtip{margin-top:10px;font-size:13px;color:#ffd1d6;display:none}
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:18px;background:#2ea44f;color:#fff;border-radius:999px;padding:10px 16px;font-size:13px;display:none;z-index:60}
.footer{margin-top:36px;padding:18px 12px;border-top:1px solid var(--c-line);background:#0a0a0d;text-align:center}
.f-links{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;color:#cfd3da;font-size:13px}
.f-links a{color:#cfd3da;text-decoration:none}
.beian{margin-top:8px;color:#8a8f96;font-size:12px}
.copy{margin-top:4px;color:#6c7178;font-size:12px}
@media (max-width:768px){.hero{padding:18px 12px}.brand-mark{width:54px;height:54px}.grid-tier{gap:10px}.qrbox{width:300px;height:300px}}
