.brand[data-v-c328a695]{text-align:center;padding:40px 0 28px}.brand .logo[data-v-c328a695]{font-size:30px;font-weight:700;color:var(--brand);letter-spacing:2px}.brand .sub[data-v-c328a695]{color:var(--muted);font-size:13px;margin-top:8px}.code-row[data-v-c328a695]{display:flex;gap:10px}.code-row input[data-v-c328a695]{flex:1}.code-btn[data-v-c328a695]{flex:0 0 auto;border:1px solid var(--brand);background:#fff;color:var(--brand);border-radius:10px;padding:0 14px;font-size:14px;white-space:nowrap}.code-btn[data-v-c328a695]:disabled{border-color:var(--line);color:var(--muted)}.err[data-v-c328a695]{color:#e0392b;font-size:13px;margin-bottom:10px}.agree[data-v-c328a695]{display:flex;align-items:flex-start;gap:6px;margin-top:14px;font-size:13px;color:var(--muted)}.agree input[data-v-c328a695]{margin-top:3px}.link[data-v-c328a695]{color:var(--brand)}.tip[data-v-c328a695]{margin-top:16px;line-height:1.5}.mask[data-v-c328a695]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:flex-end;z-index:50}.sheet[data-v-c328a695]{background:#fff;width:100%;max-width:var(--maxw);margin:0 auto;border-radius:16px 16px 0 0;padding:18px 18px 24px;max-height:80vh;display:flex;flex-direction:column}.sheet-title[data-v-c328a695]{font-size:17px;font-weight:600;text-align:center;margin-bottom:12px}.sheet-body[data-v-c328a695]{flex:1;overflow-y:auto;white-space:pre-wrap;font-size:14px;line-height:1.7;color:#33415c;padding:0 2px}.sheet .btn[data-v-c328a695]{margin-top:16px}.home[data-v-d1333e9c]{padding-bottom:72px}.sec[data-v-d1333e9c]{margin-bottom:18px}.sec-h[data-v-d1333e9c]{display:flex;align-items:center;justify-content:space-between;padding:4px 2px 10px}.sec-t[data-v-d1333e9c]{font-size:16px;font-weight:700;color:var(--text);position:relative;padding-left:11px}.sec-t[data-v-d1333e9c]:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:15px;background:var(--brand);border-radius:2px}.sec-hint[data-v-d1333e9c]{font-size:12px;color:var(--muted)}.row[data-v-d1333e9c]{display:flex;gap:12px;overflow-x:auto;padding:2px 2px 8px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none;cursor:grab}.row[data-v-d1333e9c]::-webkit-scrollbar{display:none}.row[data-v-d1333e9c]:active{cursor:grabbing}.ccard[data-v-d1333e9c]{flex:0 0 auto;width:132px;scroll-snap-align:start;background:#fff;border-radius:12px;padding:8px;box-shadow:0 1px 4px #141e320d;cursor:pointer}.thumb[data-v-d1333e9c]{position:relative;width:100%;height:86px;border-radius:9px;overflow:hidden;background:#eef1f5;display:flex;align-items:center;justify-content:center}.thumb img[data-v-d1333e9c]{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}.thumb .ph[data-v-d1333e9c]{font-size:30px;opacity:.35}.thumb .badge[data-v-d1333e9c]{position:absolute;left:6px;top:6px;font-size:11px;line-height:1;color:#fff;background:#00000073;border-radius:6px;padding:3px 6px}.c-title[data-v-d1333e9c]{font-size:14px;font-weight:600;margin:8px 2px 4px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.c-price[data-v-d1333e9c]{font-size:13px;color:var(--brand);font-weight:700;padding:0 2px}.c-price.muted[data-v-d1333e9c]{color:var(--muted);font-weight:500}.row-empty[data-v-d1333e9c]{padding:14px 4px;font-size:13px}.grid[data-v-9dc02635]{display:grid;grid-template-columns:repeat(3,1fr);gap:20px 8px;padding:16px 12px}.t-item[data-v-9dc02635]{display:flex;flex-direction:column;align-items:center;cursor:pointer}.ava[data-v-9dc02635]{width:64px;height:64px;border-radius:50%;object-fit:cover;background:#eef1f5}.ava.ph[data-v-9dc02635]{display:flex;align-items:center;justify-content:center;color:#9aa4b0;font-size:24px;font-weight:600}.t-name[data-v-9dc02635]{margin-top:8px;font-size:14px;color:#333;text-align:center}.tabs[data-v-24d4ed9d]{display:flex;gap:20px;padding:12px 16px;background:#fff;margin-bottom:12px;border-radius:12px}.tabs span[data-v-24d4ed9d]{font-size:15px;color:#9aa4b0;cursor:pointer}.tabs span.on[data-v-24d4ed9d]{color:var(--brand);font-weight:600;border-bottom:2px solid var(--brand)}.card[data-v-24d4ed9d]{background:#fff;border-radius:12px;padding:14px;margin-bottom:12px;box-shadow:0 1px 4px #0000000a;position:relative}.g-title[data-v-24d4ed9d]{font-size:16px;font-weight:600}.g-sub[data-v-24d4ed9d]{margin:4px 0 10px}.lesson[data-v-24d4ed9d]{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-top:1px solid #f0f2f5}.l-actions[data-v-24d4ed9d]{display:flex;gap:8px}.mini[data-v-24d4ed9d]{font-size:12px;padding:5px 12px;border-radius:14px;border:1px solid var(--brand);color:var(--brand);background:#fff}.r-title[data-v-24d4ed9d]{font-size:15px;font-weight:600;margin-bottom:4px}.tag-cancel[data-v-24d4ed9d],.tag-done[data-v-24d4ed9d]{position:absolute;right:14px;top:14px;font-size:12px;padding:2px 8px;border-radius:6px}.tag-cancel[data-v-24d4ed9d]{background:#f3f5f8;color:#9aa4b0}.tag-done[data-v-24d4ed9d]{background:#eaf4ec;color:#2f8a4e}.small[data-v-24d4ed9d]{font-size:12px}.mask[data-v-24d4ed9d]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:50}.pop[data-v-24d4ed9d]{background:#fff;width:90%;max-width:420px;border-radius:14px;padding:18px;max-height:70vh;overflow:auto}.pop-t[data-v-24d4ed9d]{font-size:15px;font-weight:600;margin-bottom:12px}.rslot[data-v-24d4ed9d]{padding:11px 8px;border-radius:8px;font-size:14px;cursor:pointer;border:1px solid #eee;margin-bottom:8px}.rslot.on[data-v-24d4ed9d]{background:var(--brand);color:#fff;border-color:var(--brand)}.pop-actions[data-v-24d4ed9d]{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.btn.sm[data-v-24d4ed9d]{height:36px;font-size:14px;padding:0 18px;border:none;border-radius:18px}.btn.sm.primary[data-v-24d4ed9d]{background:var(--brand);color:#fff}.card[data-v-499d4e65]{background:#fff;border-radius:12px;padding:16px;margin-bottom:12px;box-shadow:0 1px 4px #0000000a}.profile[data-v-499d4e65]{display:flex;gap:14px;align-items:center}.ava[data-v-499d4e65]{width:60px;height:60px;border-radius:50%;object-fit:cover;flex:0 0 auto;background:#eef1f5}.p-name[data-v-499d4e65]{font-size:18px;font-weight:600;margin-bottom:4px}.menu .mi[data-v-499d4e65]{display:flex;justify-content:space-between;padding:14px 2px;border-top:1px solid #f0f2f5;font-size:15px;cursor:pointer}.menu .mi[data-v-499d4e65]:first-child{border-top:none}.ar[data-v-499d4e65]{color:#c2c8d0}.logout[data-v-499d4e65]{width:100%;height:46px;border:none;border-radius:12px;background:#fff;color:#e8462c;font-size:15px;box-shadow:0 1px 4px #0000000a}.mask[data-v-499d4e65]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:50}.pop[data-v-499d4e65]{background:#fff;width:90%;max-width:420px;border-radius:14px;padding:18px}.pop-t[data-v-499d4e65]{font-size:15px;font-weight:600;margin-bottom:12px}.pa[data-v-499d4e65]{width:72px;height:72px;border-radius:50%;object-fit:cover;display:block;margin:0 auto 12px;background:#eef1f5}.up-btn[data-v-499d4e65]{display:block;text-align:center;font-size:14px;color:var(--brand);padding:10px;border:1px dashed var(--brand);border-radius:10px;margin-bottom:12px;cursor:pointer}.inp[data-v-499d4e65]{width:100%;box-sizing:border-box;height:44px;border:1px solid #e3e7ed;border-radius:10px;padding:0 14px;font-size:15px;margin-bottom:12px}.pop-actions[data-v-499d4e65]{display:flex;justify-content:flex-end;gap:10px}.btn.sm[data-v-499d4e65]{height:36px;font-size:14px;padding:0 18px;border:none;border-radius:18px}.btn.sm.primary[data-v-499d4e65]{background:var(--brand);color:#fff}.small[data-v-499d4e65]{font-size:12px}.sched[data-v-3dde86da]{padding:4px 0}.block[data-v-3dde86da]{background:#fff;border-radius:12px;padding:14px;margin-bottom:12px;box-shadow:0 1px 4px #0000000a}.block-t[data-v-3dde86da]{font-size:14px;font-weight:600;margin-bottom:10px}.stu-row[data-v-3dde86da]{display:flex;flex-wrap:wrap;gap:8px}.stu[data-v-3dde86da]{font-size:13px;padding:7px 14px;border-radius:18px;background:#f3f5f8;color:#333;cursor:pointer}.stu.on[data-v-3dde86da]{background:var(--brand);color:#fff}.grid-head[data-v-3dde86da]{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:12px}.wk[data-v-3dde86da]{width:30px;height:30px;border-radius:50%;border:1px solid #e3e7ed;background:#fff;font-size:18px;line-height:1}.wk[data-v-3dde86da]:disabled{opacity:.35}.mt[data-v-3dde86da]{font-size:15px;font-weight:600}.wk-cols[data-v-3dde86da]{display:flex;gap:6px}.wk-col[data-v-3dde86da]{flex:1;display:flex;flex-direction:column;align-items:center;min-width:0}.wk-col.dim[data-v-3dde86da]{opacity:.35}.wk-day[data-v-3dde86da]{display:flex;flex-direction:column;align-items:center;margin-bottom:10px}.wk-day b[data-v-3dde86da]{font-size:13px;color:#333;font-weight:600}.wk-day i[data-v-3dde86da]{font-style:normal;font-size:11px;color:#9aa4b0;margin-top:2px}.wk-col.today .wk-day b[data-v-3dde86da]{color:var(--brand)}.slots[data-v-3dde86da]{display:flex;flex-direction:column;gap:6px;width:100%}.slot[data-v-3dde86da]{border:1px solid #e3e7ed;border-radius:8px;padding:7px 2px;text-align:center;background:#fff;cursor:pointer}.slot .s1[data-v-3dde86da]{display:block;font-size:12px;font-weight:600;color:#333;line-height:1.2}.slot .s2[data-v-3dde86da]{display:block;font-size:11px;color:#9aa4b0;line-height:1.2;margin-top:1px}.slot.on[data-v-3dde86da]{background:var(--brand);border-color:var(--brand)}.slot.on .s1[data-v-3dde86da],.slot.on .s2[data-v-3dde86da]{color:#fff}.slot.off[data-v-3dde86da]{color:#c2c8d0;border-style:dashed;cursor:not-allowed;text-decoration:line-through}.slot.off .s1[data-v-3dde86da],.slot.off .s2[data-v-3dde86da]{color:#c2c8d0}.slot.empty[data-v-3dde86da]{border:none;background:transparent;color:#d6dbe1;cursor:default}.summary[data-v-3dde86da]{background:#fff;border-radius:12px;padding:12px 14px;margin-bottom:12px}.sm-line[data-v-3dde86da]{font-size:14px;color:#444}.sm-line.total[data-v-3dde86da]{font-size:16px;font-weight:600;margin-top:4px}.err[data-v-3dde86da]{color:#e8462c;font-size:13px;margin:0 4px 10px}.actions[data-v-3dde86da]{display:flex;gap:10px}.btn[data-v-3dde86da]{flex:1;height:46px;border:none;border-radius:24px;background:var(--brand);color:#fff;font-size:16px}.btn[data-v-3dde86da]:disabled{background:#d8dde4}.btn.ghost[data-v-3dde86da]{background:#fff;color:var(--brand);border:1px solid var(--brand)}.btn.sm[data-v-3dde86da]{height:36px;font-size:14px;flex:0 0 auto;padding:0 18px}.btn.primary[data-v-3dde86da]{background:var(--brand);color:#fff;border:none}.mask[data-v-3dde86da]{position:fixed;top:0;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:430px;background:#00000073;display:flex;align-items:flex-end;justify-content:center;z-index:50}.pop[data-v-3dde86da]{background:#fff;width:100%;max-width:100%;border-radius:14px 14px 0 0;padding:18px}.pop-t[data-v-3dde86da]{font-size:15px;font-weight:600;margin-bottom:12px}.cap-opt[data-v-3dde86da]{display:block;font-size:15px;padding:10px 0}.pop-actions[data-v-3dde86da]{display:flex;gap:10px;margin-top:14px}.pop-actions .btn.sm[data-v-3dde86da]{flex:1 1 0;min-width:0;padding:0 8px;border-radius:22px}.small[data-v-3dde86da]{font-size:12px}.center[data-v-3dde86da]{text-align:center;padding:14px 0}.hero[data-v-cd251c9d]{width:100%;height:200px;object-fit:cover;display:block;background:#eef1f5}.card[data-v-cd251c9d]{background:#fff;border-radius:12px;padding:16px;margin-bottom:12px;box-shadow:0 1px 4px #0000000a}.ct[data-v-cd251c9d]{font-size:19px;font-weight:700;margin:0 0 8px}.meta[data-v-cd251c9d]{display:flex;align-items:center;gap:10px;margin-bottom:12px}.tag[data-v-cd251c9d]{font-size:12px;color:var(--brand);background:#fdeee9;border-radius:6px;padding:2px 8px}.intro[data-v-cd251c9d]{font-size:14px;color:#555;line-height:1.7;white-space:pre-wrap}.intro-html[data-v-cd251c9d]{font-size:14px;color:#555;line-height:1.7}.intro-html[data-v-cd251c9d] img{max-width:100%;border-radius:8px}.sec-t[data-v-cd251c9d]{font-size:15px;font-weight:600;margin-bottom:4px}.card[data-v-bbc7e09c]{background:#fff;border-radius:12px;padding:16px;margin-bottom:12px;box-shadow:0 1px 4px #0000000a}.teacher[data-v-bbc7e09c]{display:flex;gap:14px;align-items:center}.ava[data-v-bbc7e09c]{width:60px;height:60px;border-radius:50%;object-fit:cover;flex:0 0 auto;background:#eef1f5}.t-name[data-v-bbc7e09c]{font-size:17px;font-weight:600;margin-bottom:4px}.sec-t[data-v-bbc7e09c]{font-size:15px;font-weight:600;margin-bottom:10px}.cat-row[data-v-bbc7e09c]{display:flex;flex-wrap:wrap;gap:8px}.cat[data-v-bbc7e09c]{font-size:13px;color:#555;background:#f3f5f8;border-radius:16px;padding:6px 14px;cursor:pointer}.cat.active[data-v-bbc7e09c]{background:var(--brand);color:#fff}.cat .cnt[data-v-bbc7e09c]{font-style:normal;opacity:.7}.course-list[data-v-bbc7e09c]{margin-top:10px}.co[data-v-bbc7e09c]{display:flex;justify-content:space-between;padding:12px 4px;border-top:1px solid #f0f2f5;font-size:15px;cursor:pointer}.back[data-v-bbc7e09c]{float:right;font-size:13px;color:var(--brand);cursor:pointer;font-weight:400}.small[data-v-bbc7e09c]{font-size:12px}.warn[data-v-84438e4b]{background:#fff7e6;color:#ad6800;font-size:13px;padding:10px 14px;border-radius:10px;margin-bottom:12px}.link[data-v-84438e4b]{color:var(--brand);cursor:pointer}.card[data-v-84438e4b]{background:#fff;border-radius:12px;padding:14px;margin-bottom:12px;box-shadow:0 1px 4px #0000000a}.sec-t[data-v-84438e4b]{font-size:15px;font-weight:600;margin-bottom:10px}.stu[data-v-84438e4b]{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-top:1px solid #f0f2f5}.stu[data-v-84438e4b]:first-of-type{border-top:none}.s-name[data-v-84438e4b]{font-size:15px;font-weight:500}.mini[data-v-84438e4b]{font-size:12px;padding:5px 12px;border-radius:14px;border:1px solid #e3e7ed;background:#fff;color:#666}.inp[data-v-84438e4b]{width:100%;box-sizing:border-box;height:44px;border:1px solid #e3e7ed;border-radius:10px;padding:0 14px;font-size:15px;margin-bottom:10px}.code-row[data-v-84438e4b]{display:flex;gap:10px}.code-row .inp[data-v-84438e4b]{flex:1}.code-btn[data-v-84438e4b]{flex:0 0 auto;padding:0 16px;border:1px solid var(--brand);color:var(--brand);background:#fff;border-radius:10px;font-size:14px}.btn[data-v-84438e4b]{width:100%;height:46px;border:none;border-radius:24px;background:var(--brand);color:#fff;font-size:16px}.btn[data-v-84438e4b]:disabled{background:#d8dde4}.mask[data-v-84438e4b]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:50}.pop[data-v-84438e4b]{background:#fff;width:90%;max-width:420px;border-radius:14px;padding:18px}.pop-t[data-v-84438e4b]{font-size:15px;font-weight:600;margin-bottom:12px}.pa[data-v-84438e4b]{width:72px;height:72px;border-radius:50%;object-fit:cover;display:block;margin:0 auto 12px;background:#eef1f5}.up-btn[data-v-84438e4b]{display:block;text-align:center;font-size:14px;color:var(--brand);padding:10px;border:1px dashed var(--brand);border-radius:10px;margin-bottom:12px;cursor:pointer}.pop-actions[data-v-84438e4b]{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}.btn.sm[data-v-84438e4b]{height:36px;font-size:14px;padding:0 18px;border:none;border-radius:18px}.btn.sm.primary[data-v-84438e4b]{background:var(--brand);color:#fff}.small[data-v-84438e4b]{font-size:12px}.card[data-v-edf1685d]{background:#fff;border-radius:12px;padding:16px;margin-bottom:12px;box-shadow:0 1px 4px #0000000a}.bal[data-v-edf1685d]{display:flex}.b-item[data-v-edf1685d]{flex:1;text-align:center}.b-num[data-v-edf1685d]{font-size:26px;font-weight:700;color:var(--brand)}.sec-t[data-v-edf1685d]{font-size:15px;font-weight:600;margin-bottom:10px}.ex-row[data-v-edf1685d]{display:flex;gap:10px;margin-bottom:8px}.inp[data-v-edf1685d]{flex:1;height:42px;border:1px solid #e3e7ed;border-radius:10px;padding:0 12px;font-size:15px;box-sizing:border-box}.ex-msg[data-v-edf1685d]{color:#2f8a4e;font-size:13px;margin-top:6px}.tx[data-v-edf1685d]{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-top:1px solid #f0f2f5}.tx[data-v-edf1685d]:first-of-type{border-top:none}.amt[data-v-edf1685d]{font-size:16px;font-weight:600}.amt.plus[data-v-edf1685d]{color:#2f8a4e}.btn.sm[data-v-edf1685d]{height:42px;padding:0 18px;border:none;border-radius:10px;font-size:14px}.btn.sm.primary[data-v-edf1685d]{background:var(--brand);color:#fff}.small[data-v-edf1685d]{font-size:12px}.tabs[data-v-44cda933]{display:flex;gap:18px;padding:12px 16px;background:#fff;margin-bottom:12px;border-radius:12px}.tabs span[data-v-44cda933]{font-size:15px;color:#9aa4b0;cursor:pointer}.tabs span.on[data-v-44cda933]{color:var(--brand);font-weight:600;border-bottom:2px solid var(--brand)}.card[data-v-44cda933]{background:#fff;border-radius:12px;padding:14px;margin-bottom:12px;box-shadow:0 1px 4px #0000000a;cursor:pointer}.g-title[data-v-44cda933]{font-size:16px;font-weight:600;margin-bottom:4px}.g-foot[data-v-44cda933]{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.tag[data-v-44cda933]{font-size:12px;color:var(--brand);background:#fdeee9;border-radius:6px;padding:2px 8px}.small[data-v-44cda933]{font-size:12px}.card[data-v-18b1eacf]{background:#fff;border-radius:12px;padding:16px;margin-bottom:12px;box-shadow:0 1px 4px #0000000a}.g-title[data-v-18b1eacf]{font-size:18px;font-weight:700;margin-bottom:4px}.sec-t[data-v-18b1eacf]{font-size:15px;font-weight:600;margin-bottom:10px}.slot[data-v-18b1eacf]{padding:9px 0;border-top:1px solid #f0f2f5;font-size:14px}.slot[data-v-18b1eacf]:first-of-type{border-top:none}.mem[data-v-18b1eacf]{padding:8px 0;border-top:1px solid #f0f2f5;font-size:14px}.mem[data-v-18b1eacf]:first-of-type{border-top:none}.me[data-v-18b1eacf]{color:var(--brand);font-size:12px}.actions[data-v-18b1eacf]{display:flex;gap:10px;margin-bottom:12px}.sel[data-v-18b1eacf]{height:46px;border:1px solid #e3e7ed;border-radius:10px;padding:0 12px;font-size:15px;background:#fff;flex:1}.btn[data-v-18b1eacf]{flex:1;height:46px;border:none;border-radius:24px;background:var(--brand);color:#fff;font-size:16px}.btn.ghost[data-v-18b1eacf]{background:#fff;color:var(--brand);border:1px solid var(--brand)}.btn.danger[data-v-18b1eacf]{background:#fff;color:#e8462c;border:1px solid #e8462c}.small[data-v-18b1eacf]{font-size:12px}.card[data-v-d0cb0a11]{background:#fff;border-radius:12px;padding:16px;margin-bottom:12px;box-shadow:0 1px 4px #0000000a}.sec-t[data-v-d0cb0a11]{font-size:15px;font-weight:600;margin-bottom:10px}.code[data-v-d0cb0a11]{font-size:22px;font-weight:700;color:var(--brand);letter-spacing:2px;margin-bottom:10px}.bal[data-v-d0cb0a11]{display:flex}.b-item[data-v-d0cb0a11]{flex:1;text-align:center}.b-num[data-v-d0cb0a11]{font-size:20px;font-weight:700;color:#333}.rf[data-v-d0cb0a11]{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-top:1px solid #f0f2f5}.rf[data-v-d0cb0a11]:first-of-type{border-top:none}.tag[data-v-d0cb0a11]{font-size:12px;color:#9aa4b0;background:#f3f5f8;border-radius:6px;padding:2px 8px}.tag.ok[data-v-d0cb0a11]{color:#2f8a4e;background:#eaf4ec}.btn.sm[data-v-d0cb0a11]{height:38px;padding:0 18px;border:none;border-radius:10px;font-size:14px;background:var(--brand);color:#fff}.small[data-v-d0cb0a11]{font-size:12px}:root{--brand: #e8462c;--brand-dark: #c93b22;--bg: #f5f7fa;--card: #ffffff;--text: #1f2a3a;--muted: #8a94a6;--line: #eceff3;--ok: #2fa36b;--maxw: 430px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,Helvetica Neue,Arial,sans-serif;background:var(--bg);color:var(--text);font-size:15px;line-height:1.5}#app{max-width:var(--maxw);margin:0 auto;min-height:100vh;background:var(--card);box-shadow:0 0 24px #141e320f}a{color:inherit;text-decoration:none}button{font-family:inherit}.app-header{position:sticky;top:0;z-index:20;background:var(--brand);color:#fff;height:48px;display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:600}.app-header .back{position:absolute;left:12px;font-size:20px;cursor:pointer;line-height:1}.page{padding:12px 14px 72px}.page-nobar{padding:12px 14px}.card{background:var(--card);border-radius:12px;padding:14px;margin-bottom:12px;box-shadow:0 1px 3px #141e320a}.btn{display:block;width:100%;border:none;border-radius:24px;background:var(--brand);color:#fff;font-size:16px;font-weight:600;padding:13px 0;cursor:pointer;transition:opacity .15s}.btn:active{opacity:.85}.btn:disabled{background:#f0c4ba;cursor:not-allowed}.btn.ghost{background:#fff;color:var(--brand);border:1px solid var(--brand)}.muted{color:var(--muted);font-size:13px}.tabbar{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:var(--maxw);display:flex;background:#fff;border-top:1px solid var(--line);z-index:30;padding-bottom:env(safe-area-inset-bottom,0)}.tabbar .tab{flex:1;text-align:center;padding:7px 0 6px;color:var(--muted);font-size:11px;cursor:pointer}.tabbar .tab.active{color:var(--brand)}.tabbar .tab .ico{font-size:22px;display:block;line-height:1.1}.field{margin-bottom:14px}.field label{display:block;font-size:13px;color:var(--muted);margin-bottom:6px}.field input{width:100%;border:1px solid var(--line);border-radius:10px;padding:12px;font-size:16px;outline:none;background:#fff}.field input:focus{border-color:var(--brand)}.center-tip{text-align:center;color:var(--muted);padding:60px 20px}
