:root{--bg:#f7f6f3;--paper:#fff;--ink:#17181b;--muted:#77787d;--line:#e7e6e4;--accent:#df2341;--soft:#fff0f1}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;background:var(--bg);color:var(--ink);
  font:15px/1.7 -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;
  display:grid;place-items:center;padding:32px}
.card{width:100%;max-width:400px;background:var(--paper);border:1px solid var(--line);border-radius:20px;
  padding:34px 32px;box-shadow:0 18px 50px rgba(17,18,22,.06)}
.brand{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:800;margin-bottom:22px}
.brand .mark{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:var(--accent);color:#fff;font-size:13px}
h1{font-family:"Songti SC",Georgia,serif;font-size:30px;margin:0 0 6px;letter-spacing:-.02em}
.sub{margin:0 0 24px;color:var(--muted);font-size:13px}
label{display:block;font-size:11.5px;color:var(--muted);margin:14px 0 6px;letter-spacing:.04em}
input{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:10px;font:inherit;background:#fff}
input:focus{outline:2px solid #f3c2c9;border-color:#eab6be}
button{width:100%;height:46px;margin-top:20px;border:0;border-radius:10px;background:var(--accent);color:#fff;
  font:inherit;font-weight:700;cursor:pointer}
button:hover{filter:brightness(1.05)}
button[disabled]{opacity:.6;cursor:default}
.alt{margin-top:16px;text-align:center;font-size:12.5px;color:var(--muted)}
.alt a{color:var(--accent);text-decoration:none}
.msg{margin-top:14px;font-size:13px;color:var(--accent);min-height:20px}
.pay-qr{width:180px;height:180px;margin:18px auto;border:1px solid var(--line);border-radius:12px;
  display:grid;place-items:center;color:var(--muted);font-size:12px;text-align:center;padding:10px;background:#faf9f7}
.pay-qr img{width:100%;height:100%;object-fit:contain}
.price{font-size:34px;font-weight:800;letter-spacing:-.03em;text-align:center;margin:6px 0}
.price small{font-size:14px;font-weight:600;color:var(--muted)}
.hidden{display:none}

.about-box{background:#faf9f7;border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin-bottom:20px}
.about-box p{margin:0 0 8px;font-size:13px;line-height:1.8;color:#3c3d42}
.about-box ul{margin:0;padding-left:18px;color:var(--muted);font-size:12.5px;line-height:1.9}

.ghost-btn{display:block;text-align:center;height:44px;line-height:44px;margin-top:10px;border:1px solid var(--line);
  border-radius:10px;color:var(--ink);text-decoration:none;font-weight:600;font-size:13.5px}
.ghost-btn:hover{border-color:#d8d5cf}
