
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:Arial,"Microsoft YaHei",sans-serif;background:#f8f1e8;color:#111}
.app{max-width:430px;margin:0 auto;min-height:100vh;padding-bottom:80px}
.page{display:none}.page.active{display:block}
.header,.simple-header{background:linear-gradient(135deg,#d62828,#8b1717);color:#fff;padding:28px 20px;border-radius:0 0 30px 30px}
.header h1,.simple-header h2{font-size:28px;margin:8px 0}.sub,.hello,.simple-header p{font-size:14px;opacity:.9}
.banner-wrap{margin:20px 16px;position:relative}
.banner{padding:28px;border-radius:24px;background:linear-gradient(135deg,#fff0a8,#ffe08a);background-size:cover;background-position:center;min-height:190px;position:relative;overflow:hidden;box-shadow:0 10px 24px rgba(0,0,0,.08)}
.banner:before{content:"";position:absolute;inset:0;background:rgba(255,255,255,.5);display:none}.banner.has-img:before{display:block}
.banner>*{position:relative;z-index:1}.banner h2{font-size:30px;color:#126b35;margin-bottom:10px}
.dots{display:flex;justify-content:center;gap:6px;margin-top:10px}.dots span{width:8px;height:8px;border-radius:50%;background:#d9c1a5}.dots span.active{background:#d62828;width:18px;border-radius:999px}
button{border:0;background:#d62828;color:#fff;border-radius:999px;padding:9px 18px;font-weight:bold;margin-top:10px;cursor:pointer}
.grid{margin:18px 16px;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.grid div{background:#fff;border-radius:18px;padding:16px 6px;text-align:center;font-size:24px;box-shadow:0 8px 18px rgba(0,0,0,.05)}
.grid span{display:block;font-size:13px;margin-top:6px}
.section{margin:18px 16px}.section h3{font-size:21px;margin-bottom:14px}
.card,.notice,.service,.rank-list{background:#fff;border-radius:22px;padding:16px;margin-bottom:14px;box-shadow:0 8px 18px rgba(0,0,0,.05)}
.card{display:flex;gap:14px;align-items:center}.cover{width:88px;height:76px;border-radius:18px;background:linear-gradient(135deg,#b9e09c,#3f8b48);color:#fff;font-weight:900;display:flex;align-items:center;justify-content:center;text-align:center;font-size:18px;flex-shrink:0;background-size:cover;background-position:center}
.card h4{font-size:20px;margin-bottom:6px}.card p{color:#8a6a4a;font-size:14px}.status{display:inline-block;background:#22a06b;color:#fff;border-radius:999px;padding:3px 10px;font-size:12px;margin-top:6px}
.detail-btn{background:#222;margin-left:8px}
.rank-top{display:flex;gap:10px;margin:24px 16px}.rank-top div{flex:1;background:#fff;border-radius:18px;padding:16px 8px;text-align:center}.rank-top .first{background:#ffe08a;transform:translateY(-10px)}
.wallet{margin:18px 16px;background:#111;color:#fff;border-radius:22px;padding:18px;display:flex;gap:12px}.wallet div{flex:1}.wallet b{display:block;color:#ffd36b;font-size:22px;margin-top:8px}
.nav{position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:100%;max-width:430px;height:66px;background:#fff;display:flex;justify-content:space-around;align-items:center;border-top:1px solid #eee;z-index:10}
.nav div{text-align:center;font-size:22px;color:#7b6a5a}.nav span{display:block;font-size:12px;margin-top:3px}.nav .active{color:#d62828;font-weight:bold}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:99;display:none;align-items:flex-end;justify-content:center}
.modal.active{display:flex}.modal-box{width:100%;max-width:430px;max-height:88vh;overflow:auto;background:#fff;border-radius:26px 26px 0 0;padding:20px}
.modal-cover{height:180px;border-radius:20px;background:linear-gradient(135deg,#ffe08a,#d62828);background-size:cover;background-position:center;margin-bottom:16px}
.modal h2{font-size:26px;margin-bottom:8px}.modal p{line-height:1.7;color:#6b4a35;margin:8px 0}
.close{width:100%;margin-top:18px}
