:root{--green:#07c160;--ink:#111;--muted:#8d9691;--page:#f5f6f5;--white:#fff}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{min-height:100%;margin:0}
body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;background:var(--page);color:var(--ink)}
.page{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(36px,8vw,80px) 18px;background:radial-gradient(circle at 50% 25%,#fff 0,#f7f8f7 42%,#f1f3f2 100%)}
.hero{text-align:center;margin-bottom:34px}
.accent{display:block;width:18px;height:18px;margin:0 auto 25px;border-radius:50%;background:var(--green);box-shadow:0 0 0 12px rgba(7,193,96,.11)}
.hero h1,.hero p{width:clamp(184px,35vw,250px);text-align:justify;text-align-last:justify}
.hero h1{margin:0 auto;color:#52605a;font-size:clamp(36px,7vw,50px);line-height:1.15;font-weight:700;letter-spacing:0}
.hero p{margin:17px auto 0;color:#49554f;font-size:clamp(18px,4vw,25px);font-weight:450}
.card{width:min(600px,100%);background:var(--white);border-radius:28px;padding:clamp(36px,6vw,52px) clamp(22px,7vw,56px) 34px;box-shadow:0 16px 50px rgba(23,45,34,.10);border:1px solid rgba(0,0,0,.035)}
.card-intro{text-align:center;margin:0 0 28px;color:#7b8780;font-size:17px}
.wechat-id-box{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:16px;padding:20px 14px;border-radius:16px;background:#f5f7f6}
.wechat-id-label{font-size:15px;color:var(--muted)}
.wechat-id-box strong{font-size:26px;letter-spacing:.055em;color:#1f2a24}
.copy-button{display:flex;width:100%;height:58px;align-items:center;justify-content:center;border:0;border-radius:14px;color:#fff;background:var(--green);box-shadow:0 9px 22px rgba(7,193,96,.22);font:inherit;font-size:18px;font-weight:600;cursor:pointer}
.copy-button:active{transform:scale(.985)}
.tip{text-align:center;margin:18px 0 0;color:var(--muted);font-size:14px;letter-spacing:.01em}
.divider{position:relative;display:flex;align-items:center;justify-content:center;margin:30px 0 26px;color:#4f5d56;font-size:14px;font-weight:600}
.divider::before{content:"";position:absolute;inset:auto 0;height:1px;background:#e5eae7}
.divider span{position:relative;padding:0 18px;background:#fff}
.qr-section{text-align:center}
.qr-image{display:block;width:min(250px,72%);height:auto;margin:0 auto;padding:14px;border:1px solid #e1e7e3;border-radius:18px;background:#fff;user-select:none;-webkit-user-select:none}
.qr-title{margin:20px 0 0;color:#46524c;font-size:16px;font-weight:600}
.qr-tip{margin:8px 0 0;color:#7e8983;font-size:15px}
.toast{position:fixed;left:50%;bottom:42px;z-index:20;transform:translate(-50%,16px);padding:12px 20px;border-radius:10px;background:rgba(22,29,25,.92);color:#fff;font-size:14px;opacity:0;pointer-events:none;transition:.22s ease}
.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:520px){.page{justify-content:flex-start;padding-top:max(56px,env(safe-area-inset-top));padding-bottom:max(24px,env(safe-area-inset-bottom))}.hero{margin-bottom:30px}.hero h1{font-size:36px}.hero p{font-size:18px}.card{border-radius:22px;padding:34px 22px 28px}.card-intro{font-size:16px;margin-bottom:24px}.copy-button{height:52px;font-size:16px}.tip{margin-top:14px}.divider{margin:26px 0 22px}.qr-image{width:min(230px,76%)}.qr-title{font-size:15px}.qr-tip{font-size:14px}}
