:root,[data-theme=B]{--bg: #f6f7fa;--bg-elev: #ffffff;--bg-soft: #f0f2f7;--border: #e5e8ef;--border-strong: #d4d9e3;--text: #1f2430;--text-soft: #5a6275;--text-mute: #98a0b3;--brand: #2e6cff;--brand-soft: #e6efff;--pos: #2e7d4f;--pos-soft: #e6f4ec;--neg: #c0392b;--neg-soft: #fbeae7;--warn: #b07b00;--warn-soft: #fff3d6;--shadow: 0 1px 2px rgba(31,36,48,.05), 0 6px 16px rgba(31,36,48,.04);--radius: 12px;--radius-sm: 8px;--fw-num: 600;--hairline: 1px solid var(--border)}[data-theme=A]{--bg: #0a0e16;--bg-elev: #121826;--bg-soft: #0f1422;--border: #1f2738;--border-strong: #2b3548;--text: #e6ecf5;--text-soft: #a8b3c7;--text-mute: #6b7588;--brand: #4d8dff;--brand-soft: #1a2a4a;--pos: #2ee896;--pos-soft: #0f2a1f;--neg: #ff5c5c;--neg-soft: #2a1212;--warn: #ffc857;--warn-soft: #2a2210;--shadow: 0 0 0 1px rgba(77,141,255,.08), 0 8px 24px rgba(0,0,0,.35);--fw-num: 700}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5;min-height:100vh}[data-theme=A] body{font-feature-settings:"tnum" 1}a{color:var(--brand);text-decoration:none}#app{max-width:420px;margin:0 auto;min-height:100vh;background:var(--bg);display:flex;flex-direction:column;position:relative;padding-bottom:56px}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--bg-elev);border-bottom:var(--hairline)}.topbar .logo{font-weight:700;font-size:15px;letter-spacing:.3px;display:flex;align-items:center;gap:6px;cursor:pointer}.topbar .logo .dot{width:8px;height:8px;border-radius:50%;background:var(--brand)}.topbar .spacer{flex:1}.topbar .icon-btn{border:var(--hairline);background:var(--bg-soft);color:var(--text-soft);border-radius:999px;padding:4px 10px;font-size:12px;cursor:pointer}.topbar .icon-btn.brand{color:var(--brand);border-color:var(--brand-soft);background:var(--brand-soft)}.compliance-banner{font-size:11px;color:var(--text-mute);padding:6px 14px;background:var(--bg-soft);border-bottom:var(--hairline);text-align:center}.page{padding:12px 12px 16px;flex:1}.tabbar{position:fixed;left:0;right:0;bottom:0;max-width:420px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);background:var(--bg-elev);border-top:var(--hairline);z-index:30}.tabbar .tab{padding:8px 0 10px;text-align:center;color:var(--text-mute);font-size:11px;cursor:pointer}.tabbar .tab .ic{display:block;font-size:18px;line-height:1;margin-bottom:2px}.tabbar .tab.active{color:var(--brand)}.seg{display:flex;gap:4px;padding:4px;background:var(--bg-soft);border-radius:999px;border:var(--hairline);margin-bottom:12px}.seg-item{flex:1;text-align:center;padding:6px 8px;font-size:13px;color:var(--text-soft);border-radius:999px;cursor:pointer}.seg-item.active{background:var(--bg-elev);color:var(--text);box-shadow:var(--shadow)}.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:10px}.toolbar .spacer{flex:1}.chip{font-size:12px;padding:4px 10px;border-radius:999px;background:var(--bg-soft);color:var(--text-soft);border:var(--hairline);cursor:pointer}.chip.active{background:var(--brand-soft);color:var(--brand);border-color:var(--brand-soft)}.card{background:var(--bg-elev);border-radius:var(--radius);border:var(--hairline);box-shadow:var(--shadow);padding:12px;margin-bottom:10px}.row{display:flex;align-items:center;justify-content:space-between;padding:12px;background:var(--bg-elev);border-radius:var(--radius);border:var(--hairline);margin-bottom:8px;box-shadow:var(--shadow);cursor:pointer}.row:active{transform:scale(.997)}.row .left{min-width:0;flex:1}.row .name{font-size:14px;font-weight:600;color:var(--text)}.row .sub{font-size:11px;color:var(--text-mute);margin-top:2px;display:flex;gap:6px}.row .right{text-align:right}.row .num{font-variant-numeric:tabular-nums;font-weight:var(--fw-num);font-size:16px}.row .num.pos{color:var(--pos)}.row .num.neg{color:var(--neg)}.row .num.warn{color:var(--warn)}.row .right .sub{justify-content:flex-end}.badge{display:inline-block;font-size:10px;padding:1px 6px;border-radius:4px;background:var(--bg-soft);color:var(--text-soft);border:var(--hairline)}.badge.pos{background:var(--pos-soft);color:var(--pos);border-color:transparent}.badge.neg{background:var(--neg-soft);color:var(--neg);border-color:transparent}.badge.warn{background:var(--warn-soft);color:var(--warn);border-color:transparent}.badge.brand{background:var(--brand-soft);color:var(--brand);border-color:transparent}.btn{display:inline-block;padding:10px 16px;border-radius:10px;font-size:14px;font-weight:600;border:none;cursor:pointer;background:var(--brand);color:#fff}.btn.block{display:block;width:100%;text-align:center}.btn.ghost{background:var(--bg-soft);color:var(--text);border:var(--hairline)}.btn.ghost.brand{color:var(--brand)}.btn.sm{padding:6px 12px;font-size:12px;border-radius:999px}.feed-item{background:var(--bg-elev);border:var(--hairline);border-radius:var(--radius);padding:12px;margin-bottom:8px;box-shadow:var(--shadow);cursor:pointer}.feed-item .head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.feed-item .time{font-size:11px;color:var(--text-mute)}.feed-item .body{font-size:13px;color:var(--text)}.feed-item .body strong,.feed-item .body .delta{font-weight:var(--fw-num);font-variant-numeric:tabular-nums;color:var(--brand)}.feed-item .source{font-size:11px;color:var(--text-mute);margin-top:6px}.sheet-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:50}.sheet{position:fixed;left:0;right:0;bottom:0;max-width:420px;margin:0 auto;background:var(--bg-elev);border-radius:16px 16px 0 0;z-index:60;max-height:88vh;overflow:auto;border-top:var(--hairline)}.sheet-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 8px}.sheet-head h3{margin:0;font-size:16px}.sheet-head .close{color:var(--text-mute);cursor:pointer;font-size:22px;line-height:1}.sheet-body{padding:0 16px 24px}.kv{display:flex;justify-content:space-between;padding:10px 0;border-bottom:var(--hairline);font-size:13px}.kv:last-child{border-bottom:none}.kv .k{color:var(--text-soft)}.kv .v{color:var(--text);font-variant-numeric:tabular-nums}.section-title{font-size:13px;color:var(--text-soft);margin:14px 4px 8px;display:flex;align-items:center;justify-content:space-between}.section-title .more{color:var(--brand);font-size:12px;cursor:pointer}.quant{position:relative;height:8px;background:var(--bg-soft);border-radius:999px;margin:12px 0 4px}.quant .fill{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,var(--pos),var(--warn),var(--neg));border-radius:999px;width:100%}.quant .pin{position:absolute;top:-6px;width:4px;height:20px;background:var(--text);border-radius:2px}.input{width:100%;padding:12px;border:var(--hairline);border-radius:10px;background:var(--bg-soft);color:var(--text);font-size:14px;outline:none}.input:focus{border-color:var(--brand)}.account-head{background:linear-gradient(135deg,var(--brand-soft),var(--bg-elev));border:var(--hairline);border-radius:var(--radius);padding:16px;margin-bottom:12px;display:flex;align-items:center;gap:12px}.account-head .avatar{width:48px;height:48px;border-radius:50%;background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px}.account-head .info .name{font-weight:700;font-size:16px}.account-head .info .meta{font-size:11px;color:var(--text-soft);margin-top:4px}.account-head .pro-badge{margin-left:auto;padding:4px 8px;font-size:11px;border-radius:6px;background:var(--warn-soft);color:var(--warn);font-weight:600}.list-item{display:flex;align-items:center;justify-content:space-between;padding:14px 12px;background:var(--bg-elev);border:var(--hairline);border-radius:var(--radius);margin-bottom:8px;cursor:pointer}.list-item .l{display:flex;align-items:center;gap:10px}.list-item .ic{width:28px;height:28px;border-radius:8px;background:var(--brand-soft);color:var(--brand);display:flex;align-items:center;justify-content:center;font-size:14px}.list-item .arrow{color:var(--text-mute);font-size:18px}.plan-table{width:100%;border-collapse:collapse;font-size:12px;margin:8px 0 12px;border:var(--hairline);border-radius:var(--radius-sm);overflow:hidden}.plan-table th,.plan-table td{padding:8px 10px;text-align:left;border-bottom:var(--hairline)}.plan-table th{background:var(--bg-soft);color:var(--text-soft);font-weight:600}.plan-table td.pro{color:var(--brand);font-weight:600}.price-card{border:var(--hairline);border-radius:var(--radius);padding:14px;margin-bottom:8px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;background:var(--bg-elev)}.price-card.active{border-color:var(--brand);background:var(--brand-soft)}.price-card .title{font-weight:600}.price-card .price{color:var(--brand);font-weight:700;font-variant-numeric:tabular-nums}.price-card .save{font-size:11px;color:var(--pos);margin-left:6px}.radio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:8px 0 12px}.radio-grid .opt{text-align:center;padding:10px 0;border-radius:var(--radius-sm);border:var(--hairline);background:var(--bg-soft);cursor:pointer;font-size:13px}.radio-grid .opt.active{border-color:var(--brand);color:var(--brand);background:var(--brand-soft)}.toast{position:fixed;left:50%;bottom:80px;transform:translate(-50%);background:#000000c7;color:#fff;padding:10px 16px;border-radius:8px;font-size:13px;z-index:100;pointer-events:none;opacity:0;transition:opacity .2s;max-width:80vw}.toast.show{opacity:1}.empty{text-align:center;padding:40px 20px;color:var(--text-mute);font-size:13px}.error{color:var(--neg);font-size:13px;margin-top:8px}.success{color:var(--pos);font-size:13px;margin-top:6px}.retry-btn{background:var(--brand);color:#fff;border:none;padding:4px 12px;border-radius:6px;cursor:pointer;margin-left:8px;font-size:12px}.star{font-size:18px;color:var(--text-mute);cursor:pointer;padding:4px}.star.active{color:gold}.switch{position:relative;width:40px;height:22px;background:var(--bg-soft);border-radius:999px;cursor:pointer;border:var(--hairline);display:inline-block}.switch:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background:#fff;border-radius:50%;transition:left .15s}.switch.on{background:var(--brand);border-color:var(--brand)}.switch.on:after{left:20px}.footer-note{text-align:center;color:var(--text-mute);font-size:11px;margin-top:16px}.trend{display:block;width:100%;height:140px;background:var(--bg-soft);border-radius:var(--radius-sm)}
