:root{--bg:#fff;--fg:#14181b;--muted:#5f6b72;--line:#e3e8ea;--soft:#f4f7f6;--brand:#0f5a43;--brand-fg:#fff;--warn:#8a5a00;--warn-bg:#fff7e6;--ok:#0f6b3f;--ok-bg:#eaf6ef;--bad:#a12a2a}
@media (prefers-color-scheme:dark){:root{--bg:#101415;--fg:#e8eeee;--muted:#9aa7ab;--line:#263033;--soft:#172022;--brand:#3fb68b;--brand-fg:#06130e;--warn:#f0c46b;--warn-bg:#2a2210;--ok:#7fd8a8;--ok-bg:#132a1f;--bad:#ff8a8a}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.6 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}
.wrap{max-width:560px;margin:0 auto;padding:0 16px}
.top{border-bottom:1px solid var(--line);padding:14px 0;margin-bottom:20px}.top .wrap{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap}
.muted{color:var(--muted)}.small{font-size:13px}.mono{font-family:ui-monospace,Menlo,Consolas,monospace;word-break:break-all}
h1{font-size:22px;margin:0 0 6px}h2{font-size:17px;margin:22px 0 10px}
.card{border:1px solid var(--line);border-radius:12px;padding:16px;margin:12px 0;background:var(--bg)}
.soft{background:var(--soft);border-color:transparent}
label{display:block;font-size:14px;color:var(--muted);margin:14px 0 6px}
input,select{width:100%;font:inherit;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--fg)}
.opts{display:grid;gap:8px}.opt{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:10px 12px;cursor:pointer}
.opt input{width:auto}.opt.on{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}
.opt .price{margin-left:auto;font-weight:600}
button{font:inherit;border:0;border-radius:10px;padding:12px 16px;cursor:pointer;background:var(--soft);color:var(--fg)}
button.primary{background:var(--brand);color:var(--brand-fg);width:100%;font-weight:600;margin-top:18px}
button.sm{padding:6px 10px;font-size:13px}
button:disabled{opacity:.6;cursor:default}
.amt{font-size:30px;font-weight:700;letter-spacing:.5px}
.row{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.qr{width:168px;height:168px;margin:10px auto}.qr svg{width:100%;height:100%;background:#fff;padding:6px;border-radius:6px}
.addr b{color:var(--brand)}
.warn{background:var(--warn-bg);color:var(--warn);border-radius:10px;padding:10px 12px;font-size:14px;margin-top:10px}
.ok{background:var(--ok-bg);color:var(--ok);border-radius:10px;padding:12px;font-weight:600}
.err{color:var(--bad);font-size:14px;margin-top:10px}
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.tabs button{padding:6px 10px;font-size:13px}.tabs button.on{background:var(--brand);color:var(--brand-fg)}
pre{white-space:pre-wrap;word-break:break-word;background:var(--soft);padding:12px;border-radius:10px;font-size:14px;margin:8px 0}
.foot{padding:24px 16px 40px;font-size:13px}
