.app{padding-top:40px;min-height:70vh}
.scanbox.wide{max-width:none;margin-top:0}
.stats{display:grid;grid-template-columns:repeat(4,1fr);margin-top:28px;border-top:1px solid var(--line2);border-bottom:1px solid var(--line2)}
.stats>div{padding:20px 0 20px 0;border-right:1px solid var(--line);padding-left:20px}
.stats>div:first-child{padding-left:0}.stats>div:last-child{border-right:0}
.stats span{display:block;font:12.5px var(--mono);color:var(--faint)}
.stats b{display:block;font:600 34px/1.2 var(--sans);letter-spacing:-.03em;margin-top:6px}
.progress{display:flex;align-items:center;gap:16px;margin-top:22px;font:13px var(--mono);color:var(--dim)}
.pbar{width:220px;height:4px;border-radius:4px;background:var(--line2);overflow:hidden;flex:none}
.pbar i{display:block;height:100%;width:0;background:var(--ink);transition:width .3s}
.progress.run .pbar i{background:linear-gradient(90deg,var(--ink),#8a8a8f,var(--ink));background-size:200% 100%;animation:shim 1.2s linear infinite}
@keyframes shim{to{background-position:-200% 0}}
.tools{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:34px;flex-wrap:wrap}
.chips{display:flex;gap:6px}
.chips button{height:34px;padding:0 14px;border-radius:8px;border:1px solid var(--line2);background:none;color:var(--dim);font-weight:600;font-size:13.5px}
.chips button.on{background:var(--ink);color:#0a0a0a;border-color:var(--ink)}
.tools .right{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.mini{display:flex;gap:6px}.mini input{height:32px;width:260px;border-radius:7px;border:1px solid var(--line2);background:var(--panel);padding:0 10px;font:12.5px var(--mono);outline:0}
.tablewrap{margin-top:18px}
table.list td{vertical-align:middle;padding:14px 16px 14px 0}
table.list td:first-child{width:auto}
.tok{display:flex;align-items:center;gap:12px}.tok .ic{width:32px;height:32px;border-radius:50%;background:#1b1b1d;display:grid;place-items:center;overflow:hidden;font:600 10px var(--mono);color:var(--dim);flex:none}
.tok .ic img{width:100%;height:100%;object-fit:cover}
.tok b{display:block;color:var(--ink);font-weight:600;line-height:1.2}.tok small{font:12px var(--mono);color:var(--faint)}
.sp b{display:block;color:var(--ink);font-weight:500;font-size:14.5px}.sp a{font:12px var(--mono);color:var(--faint)}.sp a:hover{color:var(--ink)}
.amt{font:14px var(--mono);color:var(--ink)}
tr.gone td{opacity:.35}
td.ac{text-align:right}
.empty{display:none;text-align:center;padding:70px 20px;border-bottom:1px solid var(--line)}
.empty.show{display:block}.empty b{display:block;font-size:18px}.empty span{display:block;color:var(--faint);margin-top:6px;font-size:14.5px}
@media (max-width:900px){.stats{grid-template-columns:1fr 1fr}.stats>div:nth-child(3){padding-left:0}.mini input{width:180px}table.list th:nth-child(4),table.list td:nth-child(4){display:none}}
