*{margin:0;padding:0;box-sizing:border-box;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{font-family:PingFang SC,Microsoft YaHei,-apple-system,sans-serif;background:#f3ede4;color:#2b2118}.app{max-width:480px;height:100%;margin:0 auto;background:#fffaf4;display:flex;flex-direction:column;overflow:hidden;position:relative;box-shadow:0 0 60px #3c1e0a1f}@media(min-width:520px){.app{height:min(100%,920px);margin-top:auto;margin-bottom:auto;border-radius:34px;overflow:hidden}}@media(min-width:520px){html,body,#root{display:flex;align-items:center;justify-content:center}}.statusbar{height:40px;flex:0 0 auto;display:flex;justify-content:space-between;align-items:flex-end;padding:0 22px 2px;font-size:11px;font-weight:600;color:#2b2118;position:relative;z-index:20}.statusbar.on-hero{color:#fff}.view{flex:1;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;overscroll-behavior:contain}.view::-webkit-scrollbar{display:none}.nav{padding:6px 16px 10px;display:flex;align-items:center;gap:8px;position:relative;z-index:5;flex:0 0 auto}.nav .back{font-size:22px;color:#1c2b26;width:26px;cursor:pointer;line-height:1}.nav .title{font-size:15px;font-weight:600;color:#122720;flex:1;text-align:center;margin-right:26px}.nav.on-hero .back,.nav.on-hero .title{color:#fff}.tabbar{height:56px;flex:0 0 auto;background:#fff;border-top:1px solid #FFEEDC;box-shadow:0 -6px 18px #ff8a3d12;display:flex;padding-bottom:6px}.tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:10px;color:#98aaa1;cursor:pointer;font-weight:600}.tab .ico{font-size:20px;line-height:1}.tab.active{color:#ff6b35;font-weight:900}.tab .ico.plus{width:38px;height:38px;border-radius:50%;margin-top:-14px;background:linear-gradient(135deg,#ff7a45,#ffc93c);color:#fff;display:flex;align-items:center;justify-content:center;font-size:21px;box-shadow:0 10px 20px #ff7a4559}.home-hero,.rec-hero,.race-hero,.me-hero,.login-hero,.pass-hero{background:linear-gradient(135deg,#00c2a8,#2fe08f 48%,#c6f24e);padding:9px 16px 20px;color:#fff;position:relative;overflow:hidden;flex:0 0 auto}.home-hero h2{font-size:20px;font-weight:900;letter-spacing:.5px}.home-hero p{font-size:11.5px;opacity:.95;margin-top:5px;font-weight:500}.home-hero:after{content:"";position:absolute;width:130px;height:130px;border-radius:50%;background:#ffffff2e;right:-38px;top:-52px}.home-hero:before{content:"";position:absolute;width:56px;height:56px;border-radius:50%;background:#ffffff38;right:56px;bottom:26px}.rec-hero:after,.race-hero:after,.me-hero:after,.pass-hero:after{content:"";position:absolute;width:120px;height:120px;border-radius:50%;background:#ffffff29;right:-34px;top:-48px}.rec-hero{padding:0 16px 22px}.rec-hero h2{font-size:16.5px;font-weight:900;margin-top:2px}.rec-hero .sub{font-size:11.5px;opacity:.9;margin-top:4px}.race-hero{background:linear-gradient(135deg,#0b7285,#00c2a8);padding:0 16px 40px}.race-hero h2{font-size:18px;font-weight:900;margin-top:2px}.race-hero .sub{font-size:11.5px;opacity:.88;margin-top:6px;display:flex;gap:12px;flex-wrap:wrap}.pill{display:inline-block;font-size:10px;background:#ffffff2e;border:1px solid rgba(255,255,255,.55);padding:2px 9px;border-radius:999px;margin-top:8px;font-weight:700}.form-hero{background:linear-gradient(135deg,#5c7cfa,#7c5cff);padding:0 16px 38px;color:#fff}.form-hero h2{font-size:17px;font-weight:800;margin-top:2px}.form-hero .sub{font-size:11px;opacity:.9;margin-top:5px;line-height:1.6}.pend-hero{background:linear-gradient(135deg,#ff922b,#ffd43b);padding:0 16px 42px;color:#fff;text-align:center}.pend-hero .big-ico{font-size:44px;margin-top:10px}.pend-hero h2{font-size:18px;font-weight:900;margin-top:8px}.pend-hero .sub{font-size:11.5px;opacity:.9;margin-top:6px;line-height:1.6}.pass-hero{padding:0 16px 42px;color:#fff;text-align:center}.pass-hero .big-ico{width:64px;height:64px;border-radius:50%;background:#ffffff2e;border:2px solid rgba(255,255,255,.5);font-size:30px;display:flex;align-items:center;justify-content:center;margin:10px auto 0}.pass-hero h2{font-size:18px;font-weight:900;margin-top:10px}.pass-hero .sub{font-size:11.5px;opacity:.9;margin-top:5px}.rw-hero{background:linear-gradient(135deg,#f76b1c,#fad961);padding:0 16px 42px;color:#fff}.rw-hero h2{font-size:18px;font-weight:900;margin-top:2px}.rw-hero .coin{display:flex;align-items:baseline;gap:6px;margin-top:12px}.rw-hero .coin b{font-size:30px;font-weight:900}.rw-hero .coin span{font-size:11px;opacity:.9}.me-hero{padding:0 16px 46px;color:#fff;display:flex;align-items:center;gap:13px}.me-hero .avatar{width:52px;height:52px;font-size:18px;background:#ffffff40;border:2px solid rgba(255,255,255,.6)}.me-hero h2{font-size:17px;font-weight:900}.me-hero .sub{font-size:11px;opacity:.9;margin-top:4px;display:flex;gap:6px;align-items:center;flex-wrap:wrap}.me-hero .sub .pill{margin-top:0;font-size:9.5px}.login-hero{padding:56px 24px;color:#fff;text-align:center}.logo-badge-glass{width:76px;height:76px;border-radius:22px;background:#ffffff2e;border:2px solid rgba(255,255,255,.5);display:flex;align-items:center;justify-content:center;font-size:36px;margin:0 auto 16px}.login-hero h2{font-size:20px;font-weight:900}.login-hero p{font-size:11.5px;opacity:.92;margin-top:7px;line-height:1.7}.home-body,.rec-body,.race-body,.rw-body,.me-body,.form-body,.pend-body,.pass-body{padding:0 14px;margin-top:-15px;position:relative;z-index:2;flex:1;overflow-y:auto;overscroll-behavior:contain}.home-body::-webkit-scrollbar,.rec-body::-webkit-scrollbar,.race-body::-webkit-scrollbar,.rw-body::-webkit-scrollbar,.me-body::-webkit-scrollbar,.form-body::-webkit-scrollbar,.pend-body::-webkit-scrollbar,.pass-body::-webkit-scrollbar{display:none}.rec-body,.race-body,.rw-body{margin-top:-26px}.me-body{margin-top:-30px}.form-body{margin-top:-24px}.pend-body,.pass-body{margin-top:-26px}.sec-title{display:flex;justify-content:space-between;align-items:center;margin:10px 2px 7px;font-size:14px;font-weight:800;letter-spacing:.2px;color:#231a12}.sec-title em{font-style:normal;font-size:10.5px;color:#ff7a45;font-weight:700;cursor:pointer}.card,.event-card,.form-card,.rec-list,.menu,.notice,.steps-card,.rw-card,.moment,.feed-card,.team-row,.stat,.me-stats,.info-card{background:#fff;border-radius:18px;box-shadow:0 8px 22px #ff8a3d17,0 2px 6px #143c280a;border:1px solid #FFF0E0}.event-card{overflow:hidden;margin-bottom:9px;position:relative}.event-card:after{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,#ff7a45,#ffc93c,#00c2a8,#5c7cfa)}.notice{overflow:hidden}.nrow{display:flex;gap:8px;padding:6px 11px;border-bottom:1px solid #f2f6f3;align-items:flex-start}.nrow:last-child{border-bottom:none}.ntag{font-size:8.5px;padding:2px 6px;border-radius:8px;background:#e9f6ef;color:#00a88f;font-weight:800;flex:0 0 auto}.ntag.hot{background:#fff4de;color:#e8890c}.nrow .nt{flex:1;font-size:11px;color:#20362c;line-height:1.4}.nrow .nd{font-size:9px;color:#b0c0b7;flex:0 0 auto}.redeem-card{margin-top:9px;background:#fff;border-radius:15px;padding:7px 10px 6px;border:1px solid #FFE2B8;box-shadow:0 6px 16px #ff8a3d1a;position:relative;overflow:hidden}.redeem-card:after{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,#ff7a45,#ffc93c,#00c2a8)}.rc-head{display:flex;align-items:center;gap:6px}.rc-head b{font-size:12.5px;font-weight:900;color:#231a12}.rc-pt{font-size:9px;font-weight:800;color:#b4551f;background:#fff1df;padding:2px 7px;border-radius:9px}.rc-go{margin-left:auto;font-size:9.5px;font-weight:800;color:#ff7a45;cursor:pointer}.rc-items{display:flex;gap:7px;margin-top:4px}.rc-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;background:linear-gradient(180deg,#fffbf5,#fff6ec);border:1px solid #FFEEDD;border-radius:10px;padding:4px 2px 3px}.rc-item .th{width:22px;height:22px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:13px;color:#fff}.rc-item b{font-size:9.5px;color:#231a12;font-weight:700;white-space:nowrap}.rc-item i{font-style:normal;font-size:8.5px;color:#ff7a45;font-weight:800}.hero-coin{position:absolute;top:12px;right:14px;z-index:3;display:inline-flex;align-items:center;gap:4px;background:#ffffff3d;border:1px solid rgba(255,255,255,.55);padding:3.5px 10px;border-radius:20px;font-size:10px;font-weight:800;color:#fff;cursor:pointer}.media-carousel{position:relative;height:150px;border-radius:16px;overflow:hidden;box-shadow:0 6px 16px #0a3c2824}.mc-slide{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:10px 13px 18px;color:#fff;opacity:0;transition:opacity .7s ease;cursor:pointer}.mc-slide.on{opacity:1}.mc-slide b{font-size:15px;font-weight:800;line-height:1.25;text-shadow:0 1px 4px rgba(0,0,0,.3)}.mc-slide i{font-style:normal;font-size:10.5px;opacity:.95;margin-top:3px;text-shadow:0 1px 3px rgba(0,0,0,.3)}.mc-slide .vt{position:absolute;top:7px;left:8px;font-size:8.5px;font-weight:700;background:#ffffff3d;border:1px solid rgba(255,255,255,.45);padding:2px 7px;border-radius:10px}.mc-slide .dur{position:absolute;top:6px;right:9px;font-size:8px;font-weight:700;background:#00000073;padding:1px 5px;border-radius:8px}.mc-dots{position:absolute;right:9px;bottom:7px;display:flex;align-items:center;gap:3px;z-index:3}.mc-dots i{display:block;width:4px;height:4px;border-radius:3px;background:#ffffff8c;transition:all .4s}.mc-dots i.on{width:11px;background:#fff}.moments{display:flex;gap:8px}.moment-track{overflow:hidden}.moment-strip{display:flex;gap:8px;transition:transform .6s ease;width:max-content}.moment-pages{position:relative}.moment-page{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;opacity:0;transition:opacity .7s ease;pointer-events:none;position:absolute;inset:0}.moment-page.on{opacity:1;pointer-events:auto;position:relative}.moment-pages{min-height:1px}.moment{flex:0 0 auto;min-width:0;border-radius:12px;overflow:hidden;background:linear-gradient(180deg,#fff,#fffbf5)}.moment .mph{height:70px;display:flex;align-items:center;justify-content:center;font-size:24px;color:#fff;position:relative}.moment .mph .tag-auto{position:absolute;left:5px;top:5px;font-size:7.5px;font-weight:800;background:#ffffff47;border:1px solid rgba(255,255,255,.5);padding:1px 5px;border-radius:8px;text-shadow:0 1px 3px rgba(0,0,0,.4)}.moment .mm{padding:3px 8px 0}.moment .mm b{font-size:9.5px;color:#20362c;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.moment .mm i{font-style:normal;font-size:8.5px;color:#98aaa1;display:block;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.moment .ma{display:flex;align-items:center;gap:5px;padding:3px 8px 5px;font-size:8.5px;color:#8aa096}.moment .ma .lk{margin-left:auto;color:#ff5a5f;font-weight:800;cursor:pointer;flex:0 0 auto}.login-body{padding:26px 30px 0;flex:1;overflow-y:auto}.btn-wx{width:100%;padding:13px 0;border-radius:26px;color:#fff;font-size:14px;font-weight:700;background:linear-gradient(135deg,#07c160,#2fd97c);text-align:center;box-shadow:0 10px 22px #07c16047;cursor:pointer}.btn-dingtalk{background:linear-gradient(135deg,#0089ff,#3ba6ff)!important;box-shadow:0 10px 22px #0089ff4d!important}.btn-dingtalk:before{content:"📌 "}.btn-phone{margin-top:12px;width:100%;padding:12px 0;border-radius:26px;font-size:14px;font-weight:700;background:#fff;color:#00a88f;border:1.5px solid #00A88F;text-align:center;cursor:pointer}.login-tip{text-align:center;font-size:10.5px;color:#8aa096;margin-top:22px;line-height:1.8}.login-tip b{color:#43584e}.agree{font-size:10px;color:#98aaa1;margin-top:16px;line-height:1.7;text-align:center}.agree u{color:#00a88f}.form-card{padding:4px 14px}.field{display:flex;align-items:center;gap:10px;padding:13px 0;border-bottom:1px solid #f0f4f2}.field:last-child{border-bottom:none}.field label{font-size:12px;color:#5f4a3a;width:72px;flex:0 0 auto;font-weight:700}.field label em{color:#e8533d;font-style:normal;margin-right:2px}.field .v{flex:1;font-size:12.5px;color:#231a12;font-weight:600}.field .v.dim{color:#b6c4bd;font-weight:400}.field .v .wx-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#07c160,#2fd97c);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:14px;vertical-align:middle}.field .v .wx-name{vertical-align:middle;margin-left:8px}.field .arrow{color:#c3d0c9;font-size:15px}.brand-pick{display:flex;flex-wrap:wrap;gap:7px}.brand-pick span{font-size:11px;padding:4px 10px;border-radius:999px;background:#f4f7f5;color:#5d7787;cursor:pointer;font-weight:700}.brand-pick span.on{background:linear-gradient(135deg,#e9fbf4,#f3ffe6);color:#00a88f;border:1.5px solid #00C2A8;font-weight:800}.btn-submit{margin:16px 0 0;width:100%;padding:13px 0;border-radius:26px;color:#fff;font-size:14px;font-weight:800;background:linear-gradient(135deg,#ff7a45,#ffc93c);text-align:center;box-shadow:0 10px 22px #ff7a454d;letter-spacing:.4px;cursor:pointer;border:none}.form-note{font-size:10px;color:#98aaa1;margin-top:10px;text-align:center;line-height:1.7}.steps-card{padding:13px 16px}.vstep{display:flex;gap:12px}.vstep .rail{display:flex;flex-direction:column;align-items:center;width:22px;flex:0 0 auto}.vstep .dot{width:22px;height:22px;border-radius:50%;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;color:#fff;background:#c8d6de}.vstep .dot.done{background:linear-gradient(135deg,#00c2a8,#37d67a)}.vstep .dot.doing{background:linear-gradient(135deg,#ff7a45,#ffc93c);box-shadow:0 0 0 4px #fed}.vstep .line{width:2px;flex:1;background:#e6ede9;margin:3px 0}.vstep .line.done{background:#00a88f}.vstep .txt{padding-bottom:12px}.vstep .txt b{font-size:12.5px;color:#20362c}.vstep .txt i{display:block;font-style:normal;font-size:10.5px;color:#8aa096;margin-top:3px;line-height:1.6}.vstep .txt .pill-doing{display:inline-block;font-size:9.5px;background:#fdeee0;color:#ff8a3d;padding:2px 8px;border-radius:12px;font-weight:700;margin-top:5px}.info-card{padding:4px 14px;margin-top:9px}.info-card .field label{width:86px}.pend-tip{margin-top:9px;border:1.5px dashed #e8c9a5;border-radius:12px;background:#fffaf4;padding:8px 12px;font-size:10px;color:#8a6a44;line-height:1.65}.pend-tip b{color:#ff8a3d}.wxtpl{background:#fff;border-radius:14px;padding:12px 14px;margin-top:12px;border:1px solid #FFF0E0;box-shadow:0 3px 10px #ff8a3d14}.wxtpl .hd{display:flex;align-items:center;gap:7px;font-size:11px;color:#8aa096;padding-bottom:8px;border-bottom:1px solid #f0f4f2}.wxtpl .bd{font-size:11.5px;color:#43584e;line-height:2;margin-top:6px}.wxtpl .bd b{color:#20362c}.btn-home{margin-top:14px;width:100%;padding:13px 0;border-radius:26px;color:#fff;font-size:14px;font-weight:800;background:linear-gradient(135deg,#ff7a45,#ffc93c);text-align:center;cursor:pointer}.avatar{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;color:#fff;flex:0 0 auto;box-shadow:0 3px 8px #0000001f}.me-stats{display:flex;padding:13px 0}.me-stats .st{flex:1;text-align:center}.me-stats .st+.st{border-left:1px solid #f0f4f2}.me-stats b{font-size:16px;color:#231a12;font-weight:900}.me-stats span{display:block;font-size:10px;color:#8aa096;margin-top:3px}.menu{margin-top:12px;overflow:hidden}.mi{display:flex;align-items:center;gap:11px;padding:13px 14px;border-bottom:1px solid #f3f6f4;font-size:12.5px;color:#20362c;cursor:pointer}.mi:last-child{border-bottom:none}.mi .ico{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:14px}.mi .arrow{margin-left:auto;color:#c3d0c9;font-size:13px}.mi .badge{margin-left:auto;background:#fdeee0;color:#ff8a3d;font-size:9.5px;padding:2px 8px;border-radius:12px;font-weight:700}.mi .badge+.arrow{margin-left:6px}.checkin-card{background:linear-gradient(135deg,#fffdf9,#fff6ec);border-radius:18px;padding:14px;border:1px solid #FFEFDD;box-shadow:0 8px 20px #ff8a3d14;display:flex;align-items:center;gap:12px}.checkin-card .big{flex:1}.checkin-card .big b{font-size:15px;color:#122720}.checkin-card .big .days{display:flex;gap:5px;margin-top:9px}.checkin-card .days span{width:26px;height:26px;border-radius:50%;font-size:9.5px;display:flex;align-items:center;justify-content:center;background:#eef5f1;color:#8aa096;font-weight:700}.checkin-card .days span.done{background:linear-gradient(135deg,#00c2a8,#37d67a);color:#fff}.btn-checkin{background:linear-gradient(135deg,#ff7a45,#ffc93c);color:#fff;font-size:12px;font-weight:800;padding:11px 20px;border-radius:24px;box-shadow:0 10px 20px #ff7a4557;white-space:nowrap;cursor:pointer;letter-spacing:.5px}.btn-checkin.done{background:#eef2f0;color:#98aaa1;box-shadow:none}.rec-stats{display:flex;gap:8px;margin-top:9px}.stat{flex:1;padding:9px 6px;text-align:center}.stat b{font-size:15px;color:#ff7a45;font-weight:900}.stat span{display:block;font-size:10px;color:#9a8677;margin-top:2px}.pt-bar{display:flex;align-items:center;gap:6px;margin-top:9px;background:linear-gradient(135deg,#fff6e5,#fffbf3);border:1px solid #FFE2B8;border-radius:11px;padding:7px 11px;font-size:10.5px;color:#8a5a1e}.pt-bar b{font-size:13.5px;color:#ff7a45;font-weight:900}.pt-bar i{font-style:normal;color:#b08a5c;font-size:9.5px}.pt-bar span{margin-left:auto;background:linear-gradient(135deg,#ff7a45,#ffc93c);color:#fff;font-weight:800;font-size:10px;padding:4px 10px;border-radius:12px;white-space:nowrap;cursor:pointer}.rec-list{overflow:hidden}.rec-row{display:flex;align-items:center;gap:10px;padding:5px 12px;border-bottom:1px solid #f0f4f2;font-size:12px}.rec-row:last-child{border-bottom:none}.rec-row .ic{width:30px;height:30px;border-radius:9px;background:#e9f6ef;display:flex;align-items:center;justify-content:center;font-size:15px;flex:0 0 auto}.rec-row .tx{flex:1;min-width:0}.rec-row .tx b{color:#20362c;font-size:12px}.rec-row .tx i{display:block;font-style:normal;font-size:10px;color:#8aa096;margin-top:2px}.rec-row .pt2{font-weight:800;color:#ff7a45;font-size:12px;flex:0 0 auto}.rec-row .pt2 i{display:block;font-style:normal;font-size:9.5px;color:#8aa096;font-weight:400;text-align:right}.rec-row .rk{width:20px;text-align:center;flex:0 0 auto;font-weight:800;color:#98aaa1}.challenge-card{background:linear-gradient(135deg,#fffdf9,#fff4e8);border:1px solid #FFE2B8;border-radius:16px;padding:8px 12px 7px;margin-top:9px;box-shadow:0 6px 16px #ff8a3d1a;position:relative;overflow:hidden}.challenge-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,#ff7a45,#ffc93c)}.ch-top{display:flex;align-items:center;gap:6px}.ch-tag{font-size:8.5px;font-weight:800;color:#fff;padding:2px 6px;border-radius:7px;background:linear-gradient(135deg,#ff7a45,#ffc93c)}.ch-top b{font-size:12.5px;color:#231a12;font-weight:800}.ch-go{margin-left:auto;font-size:9.5px;font-weight:800;color:#ff7a45;background:#fff;border:1px solid #FFD3A8;padding:3px 8px;border-radius:11px;cursor:pointer}.ch-main{display:flex;align-items:center;gap:8px;margin-top:6px}.ch-num{font-size:11px;color:#8a5a1e;font-weight:700;white-space:nowrap}.ch-num b{font-size:17px;color:#ff7a45;font-weight:900}.ch-num i{font-style:normal;font-size:9px;color:#b08a5c}.ch-bar{flex:1;height:8px;border-radius:999px;background:#ffebd6;overflow:hidden}.ch-bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#ff7a45,#ffc93c)}.ch-pct{font-size:10px;font-weight:800;color:#ff7a45}.ch-foot{display:flex;align-items:center;gap:8px;margin-top:6px;padding-top:4px;border-top:1px dashed #FFDCC0;font-size:9.5px;color:#9a7a56}.ch-foot .ch-more{margin-left:auto;color:#00a88f;font-weight:800;background:#eafbf4;padding:3px 8px;border-radius:10px;cursor:pointer}.upload-box{border:1.5px dashed #FFD3A8;border-radius:18px;background:linear-gradient(135deg,#fff9f1,#f4fdf9);padding:14px;text-align:center;font-size:11px;color:#6d8479;line-height:1.7}.upload-box b{color:#00a88f}.photo-grid{display:flex;gap:6px;margin-top:10px}.photo-grid .ph{flex:1;aspect-ratio:1;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;color:#fff}.photo-grid .ph.run{background:linear-gradient(135deg,#00c2a8,#8ce99a)}.photo-grid .ph.sky{background:linear-gradient(135deg,#5c7cfa,#8ab4f2)}.photo-grid .ph.gold{background:linear-gradient(135deg,#ff922b,#ffd43b)}.photo-grid .ph.add{background:#f0f5f2;color:#b6c4bd;font-size:24px;border:1.5px dashed #c3d0c9}.bar{height:8px;border-radius:999px;background:#ffeddd;overflow:hidden}.bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#ff7a45,#ffc93c)}.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal span{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:9.5px;border-radius:9px;background:#f4f7f5;color:#a5b6ad}.cal span.done{background:linear-gradient(135deg,#00c2a8,#37d67a);color:#fff;font-weight:800}.cal span.miss{background:#ffe9e9;color:#e8533d}.cal span.today{outline:2.5px solid #FF7A45;outline-offset:-2px;color:#ff7a45;font-weight:800}.event-card .banner{height:56px;display:flex;align-items:center;padding:0 14px;color:#fff;position:relative}.event-card .banner h3{font-size:15px;font-weight:800;text-shadow:0 1px 3px rgba(0,0,0,.15)}.event-card .banner .tag{position:absolute;top:10px;right:12px;font-size:10px;padding:3px 9px;border-radius:20px;background:#ffffffeb;color:#231a12;font-weight:800;box-shadow:0 4px 10px #0000001a}.event-card .banner.run{background:linear-gradient(120deg,#00c2a8,#8ce99a)}.event-card .banner.bad{background:linear-gradient(120deg,#ff922b,#ffd43b)}.event-card .meta{padding:10px 14px 12px}.event-card .row{display:flex;justify-content:space-between;align-items:center;margin-top:2px;gap:6px}.event-card .row .l{font-size:11px;color:#6d8479}.event-card .row .l b{color:#20362c}.btn-mini{font-size:11.5px;font-weight:800;padding:6px 16px;border-radius:18px;color:#fff;background:linear-gradient(135deg,#00c2a8,#37d67a);cursor:pointer;flex:0 0 auto}.btn-mini.ghost{color:#00a88f;background:#fff;border:1.5px solid #00C2A8}.reg-list{margin-top:9px;border-top:1px dashed #e8f1ec;padding-top:7px}.reg-row{display:flex;align-items:center;gap:6px;padding:2px 0}.reg-row .rlogo{width:17px;height:17px;border-radius:5px;flex:0 0 auto;color:#fff;font-size:9px;font-weight:800;display:flex;align-items:center;justify-content:center}.reg-row .rn{flex:1;font-size:10.5px;color:#2a4336;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reg-row .rc{font-size:9.5px;color:#8aa096;flex:0 0 auto}.reg-row .rc b{color:#00a88f}.reg-row .rc.full,.reg-row .rc.full b{color:#ff8a3d}.reg-more{text-align:right;font-size:9px;color:#ff7a45;font-weight:800;margin-top:3px;cursor:pointer}.rule-box{background:#fff;border-radius:18px;padding:11px 13px;font-size:11px;color:#43584e;line-height:1.75;border:1px solid #FFF0E0;box-shadow:0 4px 12px #ff8a3d14}.rule-box b{color:#00a88f}.team-row{display:flex;align-items:center;gap:10px;background:linear-gradient(120deg,#fff,#fff9f2);border-radius:14px;padding:10px 13px;margin-bottom:8px;border:1px solid #FFF0E0;box-shadow:0 4px 12px #ff8a3d14}.team-row .rk{width:24px;text-align:center;font-size:15px;flex:0 0 auto}.team-row .rk.n{font-size:11px;color:#98aaa1;font-weight:800}.team-row .nm{flex:1;min-width:0;font-size:12px;font-weight:700;color:#20362c}.team-row .nm i{display:block;font-style:normal;font-weight:400;font-size:10px;color:#98aaa1;margin-top:1px}.team-row .score{font-size:12px;font-weight:900;color:#ff7a45;flex:0 0 auto}.brand-chip{display:inline-block;font-size:9px;padding:1.5px 7px;border-radius:999px;margin-left:5px;vertical-align:1px;font-weight:800}.bc1{background:#e9f6ef;color:#00a88f}.bc2{background:#fdeee0;color:#ff8a3d}.bc3{background:#e8f0fc;color:#5c7cfa}.bc4{background:#f4ecfa;color:#845ef7}.rw-card{padding:12px;margin-bottom:11px;display:flex;align-items:center;gap:12px}.rw-card .gi{width:44px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;background:#f6f1e6;flex:0 0 auto}.rw-card .tx{flex:1;min-width:0}.rw-card .tx b{font-size:12.5px;color:#20362c}.rw-card .tx i{display:block;font-style:normal;font-size:10px;color:#98aaa1;margin-top:2px}.btn-rw{font-size:11px;font-weight:800;padding:6px 14px;border-radius:16px;color:#fff;background:linear-gradient(135deg,#f76b1c,#fad961);cursor:pointer;flex:0 0 auto;border:none}.btn-rw.gray{background:#eef2f0;color:#98aaa1}.hero-tabs{display:flex;gap:8px;margin-top:8px}.hero-tab{flex:1;text-align:center;font-size:11.5px;font-weight:800;padding:6px 0;border-radius:999px;color:#ffffffe6;background:#ffffff24;border:1px solid rgba(255,255,255,.32);cursor:pointer}.hero-tab.on{background:linear-gradient(135deg,#ff7a45,#ffc93c);color:#fff;font-weight:900;border-color:transparent;box-shadow:0 8px 16px #ff7a454d}.org-strip{display:flex;gap:7px;margin-top:9px}.org-card{flex:1;background:#ffffff29;border:1px solid rgba(255,255,255,.38);border-radius:14px;padding:8px 4px 7px;text-align:center;color:#fff}.org-card .ologo{width:30px;height:30px;border-radius:9px;background:#ffffffe6;color:#00a88f;font-weight:900;font-size:13px;display:flex;align-items:center;justify-content:center;margin:0 auto 5px}.org-card .oname{display:block;font-size:9px;opacity:.92;white-space:nowrap}.org-card b{display:block;font-size:13px;font-weight:900;margin-top:2px}.org-card b i{font-style:normal;font-size:9px;font-weight:400;opacity:.85}.team-link{text-align:right;font-size:9.5px;color:#ffffffe6;font-weight:700;margin-top:6px;cursor:pointer}.rank-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 7px}.rank-item{display:flex;align-items:center;gap:6px;background:#fff8f0;border-radius:12px;padding:6px 8px}.rank-item .r{font-size:10px;font-weight:900;color:#98aaa1;width:13px;flex:0 0 auto;text-align:center}.rank-item .r.g1{color:#ffc93c}.rank-item .r.g2{color:#b08d6a}.rank-item .r.g3{color:#c98a4b}.rank-item .an{flex:1;font-size:9.5px;color:#20362c;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rank-item .dv{font-size:9px;color:#ff7a45;font-weight:800;flex:0 0 auto}.rank-more{text-align:center;font-size:10.5px;color:#ff7a45;font-weight:800;padding-top:6px;margin-top:6px;border-top:1px dashed #FFE0C4;cursor:pointer}.mybar{display:flex;gap:8px;align-items:center;background:#fff;border-top:1px solid #FFEEDC;padding:9px 12px 11px;flex:0 0 auto}.mybar .box{flex:1;background:#fff4e8;border-radius:18px;padding:8px 14px;font-size:11px;color:#20362c;font-weight:700}.mybar .send{font-size:11.5px;font-weight:800;color:#fff;background:linear-gradient(135deg,#ff7a45,#ffc93c);padding:8px 16px;border-radius:16px;cursor:pointer;flex:0 0 auto}.pillrow{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.pillrow .pill{margin-top:0;cursor:pointer}.pill.on{background:#fff;color:#00a88f;font-weight:900;border-color:#fff}.progress-ring{display:flex;align-items:center;gap:14px;padding:14px}.progress-ring .txt{flex:1}.progress-ring .txt b{font-size:13px;color:#122720;display:block}.progress-ring .txt .sub{font-size:10.5px;color:#8aa096;line-height:1.9;margin-top:5px}.seg{display:flex;background:#f1f6f3;border-radius:999px;padding:3px}.seg b{font-size:9.5px;font-weight:700;color:#8aa096;padding:4px 9px;border-radius:999px;white-space:nowrap;cursor:pointer}.seg b.on{background:linear-gradient(135deg,#ff7a45,#ffc93c);color:#fff;box-shadow:0 4px 10px #ff7a4547;font-weight:800}.ring-card{display:flex;align-items:center;gap:14px;padding:14px}.ring-card b{font-size:13px;color:#122720}.ring-card .sub{font-size:10.5px;color:#8aa096;line-height:1.9;margin-top:5px}.ring-card .sub em{font-style:normal;color:#00a88f;font-weight:700}.admin-page{min-height:100%;background:#f2f5f3;display:flex;flex-direction:column}.admin-frame{flex:1;display:flex;flex-direction:column;margin:0 auto;width:100%;max-width:1100px;background:#f2f5f3;border:2px solid #E6D8C8;border-radius:16px;overflow:hidden;box-shadow:0 28px 56px #ff8a3d24}.dtitlebar{height:38px;background:#e8eeea;display:flex;align-items:center;gap:6px;padding:0 12px;border-bottom:1px solid #d8e2db}.dtitlebar i{width:10px;height:10px;border-radius:50%;display:inline-block}.dtitlebar .url{margin-left:10px;flex:1;background:#fff;border-radius:8px;font-size:10px;color:#8aa096;padding:5px 12px}.admin-topbar{display:flex;justify-content:space-between;align-items:center;padding:10px 16px 0}.admin-topbar .tip{font-size:11px;color:#8aa096}.admin-topbar .backlink{font-size:11px;color:#ff7a45;font-weight:800;cursor:pointer;background:#fff;border:1px solid #FFD3A8;padding:4px 10px;border-radius:12px}.dmain{flex:1;display:flex;overflow:hidden}.dside{width:150px;background:linear-gradient(180deg,#0f3d3a,#0b2f2d);color:#cfe0d6;padding:12px 0;flex:0 0 auto}.dside .logo{font-size:13px;font-weight:800;color:#fff;padding:6px 16px 14px}.dside .si{font-size:11.5px;padding:9px 16px;cursor:pointer}.dside .si.on{background:linear-gradient(135deg,#ff7a45,#ffc93c);color:#2b1a0c;font-weight:800;border-radius:8px;margin:0 8px;padding:9px 8px}.dcontent{flex:1;padding:14px 16px;overflow-y:auto}.dcontent h3{font-size:15px;color:#122720}.dcontent .dsub{font-size:10.5px;color:#8aa096;margin-top:3px}.dstats{display:flex;gap:8px;margin:12px 0;flex-wrap:wrap}.dstat{flex:1;min-width:110px;background:#fff;border-radius:10px;padding:10px 12px}.dstat b{font-size:16px;color:#122720}.dstat span{display:block;font-size:9.5px;color:#8aa096;margin-top:2px}.dstat b.o{color:#ff7a45}.dstat b.g{color:#00a88f}.dstat b.r{color:#e8533d}.dtable{background:#fff;border-radius:10px;overflow:hidden}.dtable table{width:100%;border-collapse:collapse;font-size:11px}.dtable th{background:#f4f7f5;color:#5d7787;font-weight:700;text-align:left;padding:9px 10px;white-space:nowrap}.dtable td{padding:9px 10px;border-top:1px solid #f0f4f2;color:#2a4336;white-space:nowrap}.tag{display:inline-block;font-size:9px;padding:2px 8px;border-radius:999px;font-weight:800}.tag-wait{background:#fff4de;color:#e8890c}.tag-ok{background:#e6fbf1;color:#00a88f}.tag-no{background:#ffe9e9;color:#e8533d}.bc{font-size:9px;padding:1.5px 7px;border-radius:999px;font-weight:800;margin-right:4px}.op{font-size:9.5px;padding:3px 10px;border-radius:12px;font-weight:800;margin-right:5px;cursor:pointer;border:none}.op.ok{background:linear-gradient(135deg,#00c2a8,#37d67a);color:#fff}.op.no{background:#fff;color:#e8533d;border:1px solid #e8533d}.fade-in{animation:fadeIn .28s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.ipt{width:100%;border:none;outline:none;background:transparent;font-size:12.5px;color:#2b2118;font-weight:600}.ipt::placeholder{color:#b0c0b7;font-weight:400}.empty-box{background:#fff;border-radius:14px;padding:26px 16px;text-align:center;color:#98aaa1;font-size:11.5px}.empty-box span{font-size:26px;display:block;margin-bottom:6px}.act-mini{display:flex;align-items:center;gap:10px;background:#fff;border-radius:14px;padding:10px 12px;margin-bottom:8px;cursor:pointer;box-shadow:0 6px 16px #3c1e0a08}.act-mini .am-icon{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,#0b7285,#00c2a8);display:flex;align-items:center;justify-content:center;font-size:19px;flex:0 0 auto}.act-mini .am-tx{flex:1;min-width:0}.act-mini .am-tx b{display:block;font-size:12.5px;color:#122720;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.act-mini .am-tx i{display:block;font-size:10px;color:#98aaa1;margin-top:3px;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.act-mini .am-tag{font-size:9px;font-weight:800;color:#ff7a45;background:#fff4de;padding:2px 8px;border-radius:999px;flex:0 0 auto}.sport-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:6px}.sport-cell{background:#fff;border-radius:12px;padding:9px 4px;text-align:center;cursor:pointer;border:2px solid transparent}.sport-cell span{font-size:20px;display:block}.sport-cell i{font-size:10px;color:#98aaa1;font-style:normal;font-weight:600}.sport-cell.on{border-color:#ff7a45;background:#fff8f3}.sport-cell.on i{color:#ff7a45;font-weight:800}.public-toggle{display:flex;align-items:center;gap:8px;font-size:10.5px;color:#43584e;cursor:pointer;background:#fff;border-radius:14px;padding:10px 12px}.public-toggle input{width:15px;height:15px;accent-color:#00A88F}.qr-wrap{display:flex;flex-direction:column;align-items:center;gap:10px;padding:8px 0 4px}.qr-wrap #dingtalk-qr{min-height:220px;display:flex;align-items:center;justify-content:center}.qr-fallback{margin-top:2px}.moment .mph{background:linear-gradient(135deg,#00c2a8,#2fe08f)}.photo-grid .ph.done{background:linear-gradient(135deg,#0ca678,#37d67a);color:#fff;font-size:18px}.redeem-card{cursor:pointer}.aipt{border:1px solid #d8e2db;border-radius:8px;padding:7px 10px;font-size:11.5px;color:#2a4336;outline:none;width:150px;background:#fff}.aipt:focus{border-color:#ff7a45}.sel{border:1px solid #d8e2db;border-radius:8px;padding:7px 8px;font-size:11.5px;background:#fff;outline:none}.form-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.brand-chip{display:inline-block;font-size:9px;padding:1.5px 8px;border-radius:999px;font-weight:800;background:#e9f6ef;color:#00a88f}.dcontent h3{margin-top:18px}.dcontent h3:first-child{margin-top:0}.btn-disabled{opacity:.45;pointer-events:none}
