:root{--blue:#039;--blue-mid:#0055b8;--blue-light:#4a7cf7;--yellow:#fc0;--bg:#f5f7fa;--surface:#fff;--text:#1a2332;--text2:#5a6a7e;--text3:#8a96a6;--border:#e8ecf1;--green:#ef4444;--red:#10b981;--radius:12px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;overscroll-behavior-x:none;-webkit-overflow-scrolling:touch;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}.header{background:linear-gradient(135deg, var(--blue) 0%, var(--blue-mid) 100%);color:#fff;z-index:100;padding:14px 16px 0;position:sticky;top:0}.header-back{color:#fff;background:#ffffff1f;border-radius:8px;align-items:center;gap:4px;margin-bottom:8px;padding:6px 10px;font-size:13px;font-weight:500;text-decoration:none;transition:background .2s;display:inline-flex}.header-back:active{background:#ffffff38}.header-back svg{flex-shrink:0;width:14px;height:14px}.header-title{letter-spacing:-.3px;font-size:18px;font-weight:700}.header-sub{opacity:.7;margin-top:2px;padding-bottom:12px;font-size:12px}.tabs{background:#ffffff1f;border-radius:10px 10px 0 0;gap:0;margin:0 -16px;padding:3px 3px 0;display:flex}.tab{color:#ffffffa6;cursor:pointer;background:0 0;border:none;border-radius:8px 8px 0 0;flex:1;padding:9px 4px;font-size:13px;font-weight:500;transition:all .2s}.tab.active{background:var(--bg);color:var(--blue-mid);font-weight:600}.page{padding:8px 10px 80px}.card{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);margin-bottom:10px;padding:12px;box-shadow:0 1px 3px #0000000a}.card-title{color:var(--text);align-items:center;gap:6px;margin-bottom:12px;font-size:15px;font-weight:600;display:flex}.card-title:before{content:"";background:var(--blue-mid);border-radius:2px;flex-shrink:0;width:3px;height:14px}.stat-row{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px;display:grid}.stat-item{text-align:center;background:var(--bg);border-radius:10px;padding:12px 4px}.stat-value{color:var(--blue);font-size:22px;font-weight:700;line-height:1.2}.stat-label{color:var(--text3);margin-top:2px;font-size:11px}.sub-tabs{background:#edf0f5;border-radius:8px;gap:0;margin-bottom:12px;padding:2px;display:flex}.sub-tab{color:var(--text2);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;flex:1;padding:7px 6px;font-size:12px;font-weight:500;transition:all .2s}.sub-tab.active{color:var(--blue-mid);background:#fff;font-weight:600;box-shadow:0 1px 3px #00000014}.rank-list{width:100%}.rank-row{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:10px 0;display:flex}.rank-row:last-child{border-bottom:none}.rank-num{background:var(--bg);width:26px;height:26px;color:var(--text2);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.rank-num.top1{color:#d97706;background:#fef3c7}.rank-num.top2{color:#64748b;background:#f1f5f9}.rank-num.top3{color:#c2410c;background:#fff7ed}.rank-name{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;font-weight:500;overflow:hidden}.rank-value{color:var(--blue);font-variant-numeric:tabular-nums;text-align:right;min-width:56px;font-size:14px;font-weight:700}.rank-change{text-align:right;font-variant-numeric:tabular-nums;min-width:40px;font-size:11px;font-weight:600}.rank-change.up{color:var(--green)}.rank-change.down{color:var(--red)}.rank-change.flat{color:var(--text3)}.rank-badge{font-variant-numeric:tabular-nums;border-radius:4px;padding:1px 6px;font-size:11px;font-weight:600}.rank-badge.up{color:var(--green);background:#ecfdf5}.rank-badge.down{color:var(--red);background:#fef2f2}.rank-badge.flat{background:var(--bg);color:var(--text3)}.detail-header{background:linear-gradient(135deg, var(--blue) 0%, var(--blue-mid) 100%);color:#fff;padding:12px 16px 48px;position:relative}.detail-nav{z-index:101;background:linear-gradient(135deg, var(--blue) 0%, var(--blue-mid) 100%);justify-content:space-between;align-items:center;min-height:44px;margin:-12px -16px 0;padding:8px 16px;display:flex;position:sticky;top:0}.detail-back{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(8px);background:#ffffff1f;border:none;border-radius:8px;flex-shrink:0;align-items:center;gap:4px;padding:6px 10px;font-size:13px;font-weight:500;transition:background .2s;display:inline-flex}.detail-back:hover,.detail-back:active{background:#ffffff38}.detail-back svg{flex-shrink:0;width:16px;height:16px}.detail-name{text-align:right;font-size:18px;font-weight:700;line-height:1.2}.detail-rank{opacity:.75;text-align:right;margin-top:2px;font-size:12px}.data-table-wrap{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;margin:0 -12px;padding:0 12px;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:12px}.data-table th{background:var(--bg);color:var(--text2);text-align:right;white-space:nowrap;border-bottom:1px solid var(--border);z-index:2;padding:8px 6px;font-weight:600;position:sticky;top:0}.data-table th:first-child{text-align:left}.data-table th.freeze-col,.data-table td.freeze-col{z-index:3;background:var(--bg);position:sticky;border-right:none!important}.data-table th.freeze-col{z-index:4}.data-table th.freeze-edge,.data-table td.freeze-edge{box-shadow:4px 0 8px -2px #00000014;border-right:1px solid var(--border)!important}.data-table td{text-align:right;border-bottom:1px solid var(--border);white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--text);padding:8px 6px}.data-table td:first-child{text-align:left;color:var(--text2);font-weight:500}.data-table .positive{color:var(--green)}.data-table .negative{color:var(--red)}.collapse-btn{background:var(--bg);width:100%;color:var(--text2);cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:4px;margin-top:8px;padding:10px;font-size:12px;transition:all .2s;display:flex}.collapse-btn:hover{background:#e8ecf1}.collapse-btn svg{width:14px;height:14px;transition:transform .2s}.collapse-btn.open svg{transform:rotate(180deg)}.filter-row{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.chip{border:1px solid var(--border);background:var(--surface);color:var(--text2);cursor:pointer;white-space:nowrap;border-radius:16px;padding:5px 10px;font-size:12px;transition:all .2s}.chip.active{background:var(--blue-mid);color:#fff;border-color:var(--blue-mid)}.mb8{margin-bottom:8px}.mb12{margin-bottom:12px}.text-sm{font-size:12px}.text-muted{color:var(--text3)}
