:root{--brand: #014db2;--brand-deep: #001745;--text: #0a1628;--text-2: #6b7280;--text-3: #9ca3af;--line: #efefef;--bg: #f7f8fa;--card: #ffffff;--danger: #f53f3f;--danger-soft: #ef4444;--ok: #00b42a}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;background:#e6e8ec;color:var(--text);font-family:PingFang SC,Noto Sans SC,Microsoft YaHei,sans-serif;font-size:18px;line-height:1.5}#app{max-width:455px;margin:0 auto;min-height:100vh;background:var(--bg);position:relative;padding-bottom:0}button{font-family:inherit;cursor:pointer}.nav{position:sticky;top:0;z-index:20;height:49px;display:flex;align-items:center;background:#fff;box-shadow:0 1px #0f172a0a}.nav h1{flex:1;margin:0;text-align:center;font-size:20px;font-weight:600}.nav .back{width:49px;height:49px;border:none;background:none;display:flex;align-items:center;justify-content:center}.nav .spacer{width:49px}.nav .right{width:44px;text-align:center;font-size:16px;color:var(--text-2)}.page{padding:12px 14px 24px}.card{background:var(--card);border-radius:12px;padding:14px;margin-bottom:12px;box-shadow:0 1px 2px #1d21290a}.card-title{font-size:19px;font-weight:600;margin:0 0 10px}.row{min-height:48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #f2f3f5;gap:12px}.row:last-child{border-bottom:none}.row .k{font-size:18px}.row .v{font-size:17px;color:var(--text-2);text-align:right}.row .v.link{color:var(--brand)}.field{margin-bottom:14px}.field label{display:block;font-size:17px;color:var(--text-2);margin-bottom:6px}.input{width:100%;height:46px;border-radius:10px;border:1px solid #ebebed;background:#f9f9f9;padding:0 14px;font-size:19px;color:var(--text);outline:none}.input:focus{border-color:var(--brand);background:#fff}.input.err{border-color:var(--danger)}.hint{font-size:16px;color:var(--text-3);margin-top:6px}.hint.error{color:var(--danger)}.code-row{display:flex;gap:10px}.code-row .input{flex:1}.code-btn{flex:none;width:112px;border-radius:10px;border:1px solid var(--brand);color:var(--brand);background:#fff;font-size:17px}.code-btn:disabled{border-color:#d9d9d9;color:var(--text-3);background:#f5f5f5}.btn{width:100%;height:46px;border:none;border-radius:10px;font-size:20px;font-weight:500;color:#fff;background:linear-gradient(135deg,#014cb3,#001745)}.btn:disabled{opacity:.5}.btn.ghost{background:#fff;color:var(--brand);border:1px solid var(--brand)}.btn.danger{background:#fff;color:var(--danger);border:1px solid var(--danger-soft)}.btn.small{width:auto;height:34px;padding:0 16px;font-size:17px;border-radius:8px}.toast{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);max-width:280px;padding:14px 18px;border-radius:12px;background:#0a1628db;color:#fff;font-size:18px;text-align:center;z-index:100}.banner{padding:10px 12px;border-radius:10px;font-size:16px;line-height:1.6;margin-bottom:10px;background:#f5f6f8;color:var(--text-2)}.banner.warn{background:#fff7e8;color:#b76e00}.tabbar{position:fixed;bottom:0;left:0;right:0;display:flex;background:#fff;border-top:1px solid var(--line);z-index:20;box-shadow:0 -1px 4px #0000000a;padding-bottom:env(safe-area-inset-bottom)}.tabbar button{flex:1;border:none;background:none;padding:12px 0 13px;font-size:18px;color:var(--text-3)}.tabbar button.on{color:var(--brand);font-weight:600}.tabbar-spacer{height:calc(50px + env(safe-area-inset-bottom))}.auth-page{min-height:100vh;display:flex;flex-direction:column}.auth-page .site-footer{margin-top:auto;text-align:center;font-size:15px;line-height:2;color:var(--text-3);background:var(--bg);border-top:1px solid var(--line);padding:12px 16px calc(12px + env(safe-area-inset-bottom))}.footer-spacer{display:none}.hero{background:linear-gradient(160deg,#014db2,#001745);color:#fff;padding:22px 16px 26px}.hero .site{font-size:20px;opacity:.9}.hero .state{font-size:20px;font-weight:600;margin:10px 0 4px}.hero .sub{font-size:16px;opacity:.75}.hero .balance{margin-top:16px;display:flex;gap:26px;text-align:center}.hero .balance b{display:block;font-size:24px}.hero .balance span{font-size:16px;opacity:.75;display:block}.quick{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;background:#fff;border-radius:12px;margin:-14px 14px 12px;padding:14px 8px;position:relative;z-index:2;box-shadow:0 2px 10px #0a16280f}.quick button{border:none;background:none;font-size:15px;color:var(--text-2)}.quick .num{display:block;font-size:21px;font-weight:600;color:var(--text);margin-bottom:2px}.task{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #f2f3f5}.task:last-child{border-bottom:none}.task .icon{width:40px;height:40px;border-radius:10px;background:#eef4ff;display:flex;align-items:center;justify-content:center;font-size:22px;flex:none}.task .main{flex:1;min-width:0}.task .name{font-size:18px;font-weight:500}.task .desc{font-size:16px;color:var(--text-3);margin-top:2px}.task .act{flex:none}.tabs{display:flex;gap:8px;margin-bottom:12px}.tabs button{flex:1;height:34px;border-radius:999px;border:1px solid #e5e6eb;background:#fff;color:var(--text-2);font-size:17px}.tabs button.on{background:var(--brand);border-color:var(--brand);color:#fff}.rec{padding:12px 0;border-bottom:1px solid #f2f3f5}.rec:last-child{border-bottom:none}.rec .t1{display:flex;justify-content:space-between;font-size:18px}.rec .t2{font-size:16px;color:var(--text-3);margin-top:4px}.empty{text-align:center;color:var(--text-3);font-size:17px;padding:36px 0}.mask{position:fixed;inset:0;background:#0a162873;display:flex;align-items:center;justify-content:center;z-index:50;padding:24px}.dialog{width:100%;max-width:320px;background:#fff;border-radius:14px;padding:20px 18px 16px}.dialog h3{margin:0 0 10px;font-size:20px;text-align:center}.dialog p{margin:0 0 16px;font-size:17px;color:var(--text-2);line-height:1.7;text-align:center}.dialog .acts{display:flex;gap:10px}.dialog .acts .btn{flex:1}.doc{font-size:18px;line-height:1.85;color:#333}.doc h1{font-size:24px;margin:0 0 6px}.doc h2{font-size:21px;margin:20px 0 8px}.doc h3{font-size:18px;margin:16px 0 6px}.doc p{margin:0 0 10px}.doc table{width:100%;border-collapse:collapse;margin:10px 0}.doc th,.doc td{border:1px solid #e5e6eb;padding:6px 8px;font-size:17px;text-align:left}.doc .ver{font-size:16px;color:var(--text-3);margin-bottom:14px}.deal-quota{background:#eef4ff;border-radius:12px;padding:14px 16px;margin-bottom:12px}.deal-quota.is-done{background:#f5f6f8}.deal-quota-main{font-size:18px;font-weight:500;color:var(--brand)}.deal-quota.is-done .deal-quota-main{color:var(--text)}.deal-quota-sub{font-size:15px;color:var(--text-2);margin-top:4px;line-height:1.5}.deal-filters{display:flex;gap:10px;margin-bottom:12px}.deal-chip{flex:1;min-height:48px;border:1px solid #e5e6eb;border-radius:999px;background:#fff;color:var(--text-2);font-size:17px;font-family:inherit;cursor:pointer}.deal-chip.on{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:500}.deal-card{background:#fff;border:1px solid #eef0f3;border-radius:14px;overflow:hidden;margin-bottom:12px}.deal-top{display:flex;gap:12px;padding:12px;cursor:pointer}.deal-thumb{position:relative;width:104px;height:104px;flex:none;border-radius:10px;overflow:hidden;background:#f5f6f8}.deal-thumb img{width:100%;height:100%;object-fit:cover;display:block}.deal-thumb-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:34px;font-weight:500}.deal-thumb-fallback.taobao{background:#faece7;color:#993c1d}.deal-thumb-fallback.duoduo{background:#fcebeb;color:#a32d2d}.deal-thumb-tag{position:absolute;top:0;left:0;font-size:12px;color:#fff;padding:2px 7px;border-bottom-right-radius:8px;line-height:1.6}.deal-thumb-tag.taobao{background:#d85a30}.deal-thumb-tag.duoduo{background:#a32d2d}.deal-info{flex:1;min-width:0;display:flex;flex-direction:column}.deal-title{font-size:17px;font-weight:500;line-height:1.4;color:var(--text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.deal-badges{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap}.deal-badge{font-size:12px;color:#a32d2d;background:#fcebeb;border-radius:4px;padding:2px 6px}.deal-price-row{display:flex;align-items:baseline;gap:6px;margin-top:auto;padding-top:8px;flex-wrap:wrap}.deal-price-label{font-size:14px;color:var(--danger)}.deal-price{font-size:24px;font-weight:500;color:var(--danger);letter-spacing:-.5px;font-variant-numeric:tabular-nums}.deal-price-origin{font-size:14px;color:var(--text-3);text-decoration:line-through}.deal-price-none{font-size:15px;color:var(--text-3)}.deal-sales{font-size:13px;color:var(--text-3);margin-left:auto}.deal-foot{display:flex;align-items:center;gap:10px;padding:10px 12px;border-top:1px solid #f2f3f5}.deal-foot-hint{flex:1;font-size:14px;color:var(--text-3);line-height:1.4}.deal-cta{flex:none;min-height:48px;padding:0 18px;border:none;border-radius:999px;color:#fff;font-size:17px;font-weight:500;font-family:inherit;cursor:pointer;background:#d85a30}.deal-cta[data-channel=duoduo]{background:#a32d2d}.deal-cta:disabled{background:#c9cdd4;cursor:not-allowed}.deal-note{text-align:center;font-size:14px;color:var(--text-3);line-height:1.7;padding:14px 10px 20px}.deal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.deal-head-title{font-size:20px;font-weight:500;color:var(--text)}.deal-signin{min-height:44px;padding:0 16px;border:1px solid var(--brand);border-radius:999px;background:#fff;color:var(--brand);font-size:16px;font-weight:500;font-family:inherit;cursor:pointer}.deal-signin:disabled{border-color:#e5e6eb;color:var(--text-3);background:#f7f8fa;cursor:default}.deal-ad{border:1px solid #e8e0d2;border-radius:14px;background:#fdfcfa;margin-bottom:12px;overflow:hidden}.deal-ad.is-pending{height:0;min-height:0;border:0;margin:0;overflow:hidden;pointer-events:none}.deal-ad-head{display:flex;align-items:center;justify-content:space-between;padding:8px 12px 0}.deal-ad-tag{font-size:12px;color:#8a7a5c;border:1px solid #d8cbb4;border-radius:3px;padding:1px 5px;line-height:1.5}.deal-ad-from{font-size:12px;color:var(--text-3)}.deal-ad-body{padding:8px 12px 12px}.row-stack{padding:10px 0;border-bottom:1px solid #f2f3f5}.row-stack:last-child{border-bottom:none}.row-stack .k{display:block;font-size:18px;color:var(--text)}.row-stack .v{display:block;margin-top:4px;font-size:17px;line-height:1.65;color:var(--text-2)}.deal-card.is-ad{background:#fbfcff;border-color:#e1e9f7}.deal-card.is-ad .deal-foot{border-top-color:#eef3fb}.deal-sub{font-size:15px;line-height:1.5;color:var(--text-2);margin-top:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.deal-cta.is-ad{background:var(--brand)}.deal-ad-badge{font-size:12px;color:#3f5c8a;background:#e8f0ff;border-radius:4px;padding:2px 6px}.browse-card{background:#f2f8f4;border:1px solid #d9ebdf;border-radius:12px;padding:14px 16px;margin-bottom:12px}.browse-card.is-done{background:#f5f6f8;border-color:#e8eaee}.browse-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.browse-title{font-size:18px;font-weight:500;color:#1a6b3c}.browse-card.is-done .browse-title{color:var(--text)}.browse-meta{font-size:15px;color:var(--text-2);text-align:right}.browse-bar{height:10px;margin-top:10px;background:#dfe8e2;border-radius:5px;overflow:hidden}.browse-bar-fill{height:100%;background:#16a34a;border-radius:5px;transition:width .35s ease}.browse-hint{margin-top:8px;font-size:15px;line-height:1.6;color:var(--text-2)}.browse-start,.browse-again{margin-top:10px;min-height:48px;padding:0 20px;border:none;border-radius:999px;background:#16a34a;color:#fff;font-size:17px;font-weight:500;font-family:inherit;cursor:pointer}.browse-start:disabled,.browse-again:disabled{background:#c9cdd4;cursor:not-allowed}.browse-done{margin-top:8px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:16px;line-height:1.5;color:var(--text)}
