:root{--bg:#0b1220;--card:#121a2b;--text:#e5e7eb;--muted:#93a4c6;--border:#24304a;--accent:#60a5fa;--cold-1:#06b6d4;--cold-2:#3b82f6;--warm-1:#f59e0b;--warm-2:#f97316;--hot-1:#ef4444;--hot-2:#db2777}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;margin:0;padding:16px;padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));padding-bottom:max(16px,env(safe-area-inset-bottom));background:radial-gradient(circle at 5% 0,color-mix(in srgb,var(--accent) 5%,transparent),transparent 36%),radial-gradient(circle at 95% 8%,color-mix(in srgb,var(--accent) 4%,transparent),transparent 40%),var(--bg);color:var(--text);line-height:1.45;min-height:100dvh}#app{max-width:1120px;margin:0 auto}h1{margin:0;font-size:clamp(1.2rem,4vw,1.65rem);font-weight:700;word-break:break-word;letter-spacing:.01em}.sub{font-size:.82rem;margin-top:4px}.meta,.sub{color:var(--muted)}.meta{margin-top:10px;margin-bottom:14px;font-size:.8125rem;display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}.hero{border:1px solid color-mix(in srgb,var(--border) 80%,transparent);background:color-mix(in srgb,var(--card) 97%,transparent);border-radius:14px;padding:14px;margin-bottom:12px;box-shadow:0 8px 24px rgba(0,0,0,.06)}.hero-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap;margin-bottom:10px}.chain-switch{display:inline-flex;align-items:center;gap:8px;padding:4px;border:1px solid color-mix(in srgb,var(--border) 75%,transparent);border-radius:10px;background:color-mix(in srgb,var(--card) 95%,transparent)}.chain-switch label{font-size:.72rem;color:var(--muted);padding-left:4px}.chain-select{border:1px solid color-mix(in srgb,var(--border) 75%,transparent);border-radius:8px;background:color-mix(in srgb,var(--card) 98%,transparent);color:var(--text);font-size:.76rem;padding:5px 8px;outline:none}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}.stat-card{border:1px solid color-mix(in srgb,var(--border) 75%,transparent);background:color-mix(in srgb,var(--card) 95%,transparent);border-radius:10px;padding:8px 10px;min-height:56px}.stat-label{font-size:.7rem;color:var(--muted);margin-bottom:4px}.stat-value{font-size:1rem;font-weight:700;font-variant-numeric:tabular-nums}.legend{display:flex;flex-wrap:wrap;gap:8px}.legend-item{display:inline-flex;align-items:center;gap:6px;font-size:.72rem;color:var(--muted);border:1px solid color-mix(in srgb,var(--border) 75%,transparent);border-radius:999px;padding:4px 8px;background:color-mix(in srgb,var(--card) 96%,transparent)}.legend-dot{width:8px;height:8px;border-radius:999px;display:inline-block}.legend-dot.cold{background:var(--cold-1)}.legend-dot.warm{background:var(--warm-1)}.legend-dot.hot{background:var(--hot-1)}.chart-board{border:1px solid var(--border);background:var(--card);border-radius:12px;padding:12px;min-height:260px;box-shadow:0 6px 22px rgba(0,0,0,.05)}.chart-row{display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px;align-items:start;padding:10px 8px;border:1px solid color-mix(in srgb,var(--border) 80%,transparent);border-radius:12px;background:color-mix(in srgb,var(--card) 96%,transparent);margin-bottom:8px;transition:background .14s ease,border-color .14s ease}.chart-main{min-width:0;display:flex;flex-direction:column;gap:6px}.chart-trade-line{font-size:.72rem;color:var(--muted);display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;padding-left:2px;line-height:1.35}.chart-trade-line strong{font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}.trade-sep{opacity:.45;-webkit-user-select:none;-moz-user-select:none;user-select:none}.trade-net.net-in-pos strong{color:#4ade80}.trade-net.net-in-neg strong{color:#f87171}.chart-trade-line strong.buy-count{color:#4ade80}.chart-trade-line strong.sell-count{color:#f87171}.mcap-val{color:#e2e8f0}.row-move{transition:transform .28s cubic-bezier(.22,1,.36,1)}.row-enter-active{transition:opacity .18s ease,transform .18s ease}.row-enter-from{opacity:0;transform:translateY(4px)}.chart-row:hover{background:color-mix(in srgb,var(--accent) 5%,transparent);border-color:color-mix(in srgb,var(--accent) 28%,var(--border))}.chart-row:last-child{margin-bottom:0}.chart-rank{color:var(--muted);font-size:.78rem;text-align:right;font-variant-numeric:tabular-nums;align-self:center}.rank-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:999px;font-size:.72rem;font-weight:700;border:1px solid transparent;background:color-mix(in srgb,var(--border) 70%,transparent);color:var(--muted)}.rank-badge svg{width:18px;height:18px;display:block}.rank-badge .medal-num{font-size:8px;font-weight:800;fill:#1f2937;text-anchor:middle;dominant-baseline:middle}.rank-badge.top1{background:linear-gradient(135deg,#fde68a,#f59e0b);color:#5b3a00;border-color:#f59e0b}.rank-badge.top1 .medal-num{fill:#fff}.rank-badge.top2{background:linear-gradient(135deg,#e5e7eb,#9ca3af);color:#1f2937;border-color:#9ca3af}.rank-badge.top2 .medal-num{fill:#fff}.rank-badge.top3{background:linear-gradient(135deg,#fdba74,#c2410c);color:#fff;border-color:#c2410c}.rank-badge.top3 .medal-num{fill:#fff}.chart-bar-wrap{position:relative;background:color-mix(in srgb,var(--border) 55%,transparent);border-radius:10px;height:44px;overflow:hidden;border:1px solid color-mix(in srgb,var(--border) 75%,transparent)}.chart-bar{position:absolute;left:0;top:0;bottom:0;border-radius:10px;background:linear-gradient(90deg,var(--cold-1) 0,var(--cold-2) 100%);transition:width .36s ease;min-width:2px}.chart-row.heat-warm .chart-bar{background:linear-gradient(90deg,var(--warm-1) 0,var(--warm-2) 100%)}.chart-row.heat-hot .chart-bar{background:linear-gradient(90deg,var(--hot-1) 0,var(--hot-2) 100%)}.chart-row.flash-high .chart-bar{animation:pulseBar .8s ease-in-out 4;box-shadow:0 0 0 1px rgba(16,185,129,.35),0 0 12px rgba(16,185,129,.45)}@keyframes pulseBar{0%,to{filter:saturate(1)}50%{filter:saturate(1.45) brightness(1.08)}}.chart-bar-text{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;padding:0 12px 0 52px;gap:10px;font-size:.86rem;color:#f8fafc;text-shadow:0 1px 1px rgba(0,0,0,.35);pointer-events:none}.chart-id,.chart-meta{display:inline-flex;gap:8px;align-items:center;min-width:0}.chart-id{max-width:190px}.token-avatar{width:44px;height:100%;border-radius:10px 8px 8px 10px;overflow:hidden;flex-shrink:0;position:absolute;left:0;top:0;bottom:0;border-right:1px solid hsla(0,0%,100%,.28);border-left:none;background:linear-gradient(135deg,hsla(0,0%,100%,.18),hsla(0,0%,100%,.02) 52%,hsla(0,0%,100%,.14)),rgba(8,8,8,.24);display:inline-flex;align-items:center;justify-content:center;padding:0;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.24),inset 0 -1px 0 hsla(0,0%,100%,.06),0 2px 8px rgba(0,0,0,.25);backdrop-filter:blur(4px) saturate(1.08)}.token-avatar:before{left:5px;right:5px;top:4px;height:38%;border-radius:999px;background:linear-gradient(180deg,hsla(0,0%,100%,.28),hsla(0,0%,100%,.02));z-index:2}.token-avatar:after,.token-avatar:before{content:"";position:absolute;pointer-events:none}.token-avatar:after{inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.08);z-index:3}.token-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center center;object-position:center center;display:block;position:relative;z-index:1;filter:saturate(1.06) contrast(1.04);transform:scale(1.12);transform-origin:center center}.token-avatar__fallback{font-size:1rem;color:hsla(0,0%,100%,.95);line-height:1;pointer-events:none;position:relative;z-index:1}.heat-tag,.token-avatar__fallback{font-weight:700;text-transform:uppercase}.heat-tag{font-size:.66rem;padding:3px 7px;border-radius:999px;border:1px solid transparent;background:hsla(0,0%,100%,.22);letter-spacing:.02em}.heat-tag.cold{border-color:hsla(0,0%,100%,.35)}.heat-tag.warm{border-color:hsla(0,0%,100%,.42)}.heat-tag.hot{border-color:hsla(0,0%,100%,.5)}.chart-symbol{font-weight:700;max-width:128px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chart-created{opacity:.9;font-size:.74rem;white-space:nowrap}.chart-value{font-weight:700;font-variant-numeric:tabular-nums;font-size:.95rem}.chart-empty{color:var(--muted);font-size:.85rem;padding:12px 4px}@media (max-width:640px){body{padding:12px;padding-top:max(12px,env(safe-area-inset-top))}.meta{font-size:.75rem}.hero{padding:10px}.hero-head{margin-bottom:8px}.stats-grid{grid-template-columns:1fr;gap:6px}.stat-card{min-height:0}.chart-board{padding:8px;min-height:180px}.chart-row{grid-template-columns:26px minmax(0,1fr);gap:8px;padding:8px 4px}.chart-bar-wrap{height:40px}.chart-bar-text{padding:0 10px 0 46px;font-size:.82rem}.chart-trade-line{font-size:.68rem;gap:3px 6px}.chart-id{max-width:130px;gap:6px}.chart-symbol{max-width:80px}.chart-created,.heat-tag{display:none}.token-avatar{width:40px;height:100%;border-radius:9px 7px 7px 9px}.token-avatar__fallback{font-size:.92rem}}