/* Zorvu token view v2: liquidity plate, heat strip, holder heat bar, check grid, metric tiles */
.zv{--pl:#0a0b10;--hl:rgba(242,240,235,.08);--tl:#12d6a6;font-family:Inter,sans-serif}
.zv-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--ln)}
.zv-t{padding:14px 16px;border-right:1px solid var(--ln);min-width:0}.zv-t:last-child{border-right:0}
.zv-t .k{font:500 10px var(--m);letter-spacing:.09em;text-transform:uppercase;color:var(--mu)}
.zv-t .v{font:600 26px/1.15 "IBM Plex Serif",Georgia,serif;color:#f2f0eb;margin-top:6px;letter-spacing:-.01em;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.zv-t .s{font:11px var(--m);color:var(--dim);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.zv-t .s.up{color:var(--g)}.zv-t .s.dn{color:var(--r)}
.zv-plate{position:relative;background:radial-gradient(120% 90% at 50% 0%,#10141a 0%,var(--pl) 70%);border-bottom:1px solid var(--ln);padding:12px 14px 10px}
.zv-ph{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px}
.zv-ph h3{font:500 15px "IBM Plex Serif",Georgia,serif;color:#f2f0eb;letter-spacing:0}
.zv-ph span{font:10.5px var(--m);color:var(--mu);text-transform:uppercase;letter-spacing:.07em}
.zv-cv{position:relative;height:220px;touch-action:pan-y}.zv-cv canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.zv-strip{height:12px;margin-top:6px;border-radius:3px;overflow:hidden;position:relative}.zv-strip canvas{width:100%;height:100%;display:block}
.zv-leg{display:flex;justify-content:space-between;align-items:center;margin-top:6px;font:10px var(--m);color:var(--dim);text-transform:uppercase;letter-spacing:.06em;gap:8px;flex-wrap:wrap}
.zv-leg i{display:inline-block;width:80px;height:6px;border-radius:3px;vertical-align:middle;margin:0 6px;background:linear-gradient(90deg,#0d1b2a,#145a6b,#12d6a6,#d8f36a,#fff4c2)}
.zv-tip{position:absolute;pointer-events:none;background:rgba(12,14,17,.94);border:1px solid #2a3138;border-radius:6px;padding:6px 9px;font:11px var(--m);color:#e8ecee;white-space:nowrap;transform:translate(-50%,-100%);display:none;box-shadow:0 6px 20px rgba(0,0,0,.5);z-index:3}
.zv-tip b{display:block;font:600 13px var(--m);color:#f2f0eb}.zv-tip small{color:var(--mu)}
.zv-note{font:11px var(--m);color:var(--a);margin-top:8px}
.zv-empty{height:150px;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--mu);font:11.5px var(--m);border:1px dashed #22282e;border-radius:6px;padding:12px}
.zv-sec{padding:12px 14px;border-bottom:1px solid var(--ln)}
.zv-hb{display:flex;height:26px;border-radius:5px;overflow:hidden;background:#0f1216;border:1px solid #1c2127}
.zv-hb div{height:100%;display:flex;align-items:center;padding:0 8px;font:600 11px var(--m);white-space:nowrap;overflow:hidden}
.zv-hbl{display:flex;justify-content:space-between;margin-top:6px;font:10.5px var(--m);color:var(--mu);gap:10px;flex-wrap:wrap}
.zv-scale{position:relative;height:4px;margin-top:10px;border-radius:2px;background:linear-gradient(90deg,#3ddc97 0%,#3ddc97 40%,#f2b84b 40%,#f2b84b 50%,#ff5f5f 50%)}
.zv-scale b{position:absolute;top:-4px;width:2px;height:12px;background:#fff;box-shadow:0 0 6px #fff}
.zv-scl{display:flex;justify-content:space-between;font:9.5px var(--m);color:var(--dim);margin-top:4px}
.zv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px}
.zv-c{border-radius:6px;padding:9px 10px;border:1px solid;min-height:58px;position:relative;overflow:hidden}
.zv-c .n{font:500 10px var(--m);text-transform:uppercase;letter-spacing:.06em;opacity:.85}
.zv-c .r{font:600 14px var(--m);margin-top:5px}
.zv-c.P{color:var(--g);border-color:rgba(61,220,151,.28);background:linear-gradient(160deg,rgba(61,220,151,.14),rgba(61,220,151,.03))}
.zv-c.W{color:var(--a);border-color:rgba(242,184,75,.28);background:linear-gradient(160deg,rgba(242,184,75,.14),rgba(242,184,75,.03))}
.zv-c.F{color:var(--r);border-color:rgba(255,95,95,.32);background:linear-gradient(160deg,rgba(255,95,95,.16),rgba(255,95,95,.03))}
.zv-c.N{color:var(--n);border-color:#262c32;background:#0d0f12}
@media(max-width:760px){.zv-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.zv-t:nth-child(2n){border-right:0}.zv-t:nth-child(-n+2){border-bottom:1px solid var(--ln)}.zv-t .v{font-size:22px}.zv-cv{height:180px}.zv-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Market plate: Liquidity | Price */
.zv-seg{display:inline-flex;border:1px solid var(--ln);border-radius:999px;padding:2px;background:#0a0c10}
.zv-seg button{all:unset;cursor:pointer;font:11px var(--m);letter-spacing:.06em;text-transform:uppercase;color:var(--mu);padding:4px 11px;border-radius:999px}
.zv-seg button.on{background:#12d6a61f;color:#12d6a6;box-shadow:0 0 12px #12d6a633 inset}
.zv-mh{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:0 0 8px}
.zv-mh b{font:500 22px "IBM Plex Serif",Georgia,serif;color:#f2f0eb}
.zv-mh i{font:normal 12px var(--m)}.zv-mh i.up{color:#12d6a6}.zv-mh i.dn{color:#ff5f5f}
.zv-mh small{margin-left:auto;font:10.5px var(--m);color:var(--mu)}
.zv-spark{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--ln);border-radius:6px;padding:12px 14px;background:#0a0d11}
.zv-spark canvas{width:180px;height:48px}
.zv-sv{font:500 20px "IBM Plex Serif",Georgia,serif;color:#f2f0eb}.zv-ss{font:10.5px var(--m);color:var(--mu);margin-top:3px}
.zv-empty.sm{height:auto;margin-top:8px;border:0;padding:4px}
