:root{--bg: #e8f0eb;--card: #ffffff;--ink: #12281f;--muted: #5b7268;--brand: #0a3327;--accent: #187a56;--danger: #b42318;--ok: #1f7a5c;--radius: 18px;font-family:Source Han Sans SC,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{margin:0;background:radial-gradient(900px 420px at 80% -20%,#bfe3d1 0%,transparent 55%),linear-gradient(165deg,#f3faf6 0%,var(--bg) 45%,#e3ece7 100%);color:var(--ink);min-height:100vh}.app-shell{min-height:100vh;display:flex;flex-direction:column}.top{padding:22px 20px 10px;color:var(--brand)}.brand{font-size:1.35rem;font-weight:800;letter-spacing:.04em}.brand-sub{margin-top:4px;color:var(--muted);font-size:.9rem}.main{flex:1;padding:0 16px 28px;max-width:480px;margin:0 auto;width:100%}.panel,.card{background:var(--card);border-radius:var(--radius);padding:22px 20px;box-shadow:0 12px 36px #0a332714;border:1px solid rgba(24,122,86,.08)}h1{font-size:1.35rem;margin:0 0 8px}.sub{color:var(--muted);font-size:.92rem;margin-bottom:18px}label{display:block;font-size:.85rem;color:var(--muted);margin-bottom:6px}input{width:100%;border:1px solid #d5e3dc;border-radius:12px;padding:14px;font-size:1.1rem;letter-spacing:.08em;text-transform:uppercase}.btn{display:inline-flex;align-items:center;justify-content:center;width:100%;margin-top:16px;border:0;border-radius:12px;padding:14px;background:var(--accent);color:#fff;font-size:1rem;font-weight:600}.btn:disabled{opacity:.5}.btn.ghost{background:transparent;color:var(--brand);border:1px solid #c7dbd1}.err{color:var(--danger);margin-top:12px;font-size:.9rem}.ok-msg{color:var(--ok);margin:16px 0 8px;font-weight:600}.row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #eef3f0}.row:last-child{border-bottom:0}.k{color:var(--muted)}.v{font-weight:600;text-align:right;word-break:break-all}.fee{font-size:2.15rem;font-weight:800;color:var(--brand);margin:8px 0 4px}.list-item{display:block;text-decoration:none;color:inherit;padding:14px 0;border-bottom:1px solid #eef3f0}.list-item:last-child{border-bottom:0}.muted{color:var(--muted);font-size:.85rem}.qr-box{text-align:center;margin-top:18px}.qr-box img{border-radius:12px;border:1px solid var(--line, #dce8e1);background:#fff}
