/* KeepEye token page (/token/<address>).
   Header (identity, price, links), a sticky section bar, then two columns: chart, activity, insights and token
   facts on the left; stats, trade, Eye Score, security and the project cards on the right. On narrower screens
   both columns dissolve into one ordered stack. Uses ke.css tokens only. */

.tp{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;min-width:0}
.tp>*{min-width:0}
.tp .card{padding:16px}
.tp h3{font:700 16px/1.3 var(--disp);letter-spacing:-.02em}
.tp .upd{font-size:12px;font-weight:500;color:var(--muted);min-width:0;text-align:right}
.tp-box>h4,.tp-trade>h4{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:0 0 12px;font-size:14px;font-weight:650}
.tp-box>h4 .upd{margin-left:auto}
.tp-h5{margin:16px 0 8px;font-size:12.5px;font-weight:650;color:var(--muted)}
.tp-foot{margin:12px 0 0;font-size:12px}
.chart-msg{display:grid;place-items:center;min-height:160px;color:var(--muted);font-size:13px;text-align:center;padding:16px}
.ext{display:inline-block;width:10px;height:10px;margin-left:3px;vertical-align:0;opacity:.6}
.tp a:not(.pill):not(.soc):not(.mcard):not(.tp-ext) .ext{opacity:.55}

/* breadcrumbs */
.tp-crumbs{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);min-width:0}
.tp-crumbs a{color:var(--text2);font-weight:550}
.tp-crumbs a:hover{color:var(--fg)}
.tp-crumbs .sl{color:var(--faint)}
.tp-back{display:grid;place-items:center;width:30px;height:30px;margin-right:2px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--panel);color:var(--text2)}
.tp-back:hover{color:var(--fg);border-color:var(--line2)}
.tp-back svg{width:16px;height:16px}

/* ---------- header ---------- */
.tp-top{display:grid;gap:14px;padding-bottom:4px}
.tp-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center}
.lg.xl{width:56px;height:56px;font-size:17px}
.tp-title{min-width:0}
.tp-title h1{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px;font-size:28px;line-height:1.1;font-weight:700}
.tp-title h1>span:first-child{overflow-wrap:anywhere}
.tp-title h1 .vbw .vb{width:19px;height:19px}
.tp-quote{font:500 18px var(--sans);color:var(--faint);letter-spacing:0}
.tp-sub{display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px;margin-top:5px;font-size:13.5px;color:var(--muted);min-width:0}
.tp-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:36ch}
.tp-copy{display:inline-flex;align-items:center;gap:5px;border:0;background:none;padding:2px 0;color:var(--muted);font-size:12.5px;cursor:pointer}
.tp-copy:hover{color:var(--fg)}
.tp-copy svg{width:13px;height:13px;flex:none}
.tp-addr{height:24px;padding:0 8px;border-radius:var(--r-xs);background:var(--panel);border:1px solid var(--line)}
.tp-addr:hover{border-color:var(--line2)}
.tp-acts{display:flex;gap:6px;align-self:start}
.tp-act{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 12px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--panel);color:var(--text2);font-weight:600;font-size:13px;white-space:nowrap}
.tp-act:hover{color:var(--fg);border-color:var(--line2)}
.tp-act svg{width:16px;height:16px;flex:none}
.tp-act.on{color:var(--fg);border-color:var(--accent-line);background:var(--accent-soft)}
.tp-act.on svg{color:var(--accent-2)}

.tp-pricerow{display:flex;align-items:flex-end;flex-wrap:wrap;gap:8px 28px}
.tp-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 12px}
.tp-big{font:700 40px/1 var(--disp);letter-spacing:-.035em;color:var(--fg);font-variant-numeric:tabular-nums}
.tp-big sub{font-size:.5em;vertical-align:-.1em}
.tp-chg{display:inline-flex;align-items:center;height:26px;padding:0 9px;border-radius:var(--r-xs);font-weight:700;font-size:14px;font-variant-numeric:tabular-nums;align-self:center}
.tp-chg.pos{background:var(--up-soft)}
.tp-chg.neg{background:var(--down-soft)}
.tp-chg:has(.flat){background:var(--panel3)}
.tp-native{font-size:13.5px;color:var(--muted)}
.tp-cap{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;font-size:13.5px;color:var(--muted);padding-bottom:3px}
.tp-cap b{color:var(--fg);font-weight:650;margin-left:4px}
.tp-cap #tpCexChip:empty{display:none}
.cexchip{display:inline-flex;align-items:center;gap:7px;height:26px;padding:0 9px 0 4px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--panel);font-size:12.5px;font-weight:600;color:var(--text2);font-variant-numeric:tabular-nums}
.cexchip span{font-size:9.5px;font-weight:700;letter-spacing:.04em;color:var(--info);background:var(--info-soft);border-radius:var(--r-xs);padding:2px 5px}
.cexchip:hover{border-color:var(--line2);color:var(--fg)}

.tp-socials{display:flex;gap:6px;flex-wrap:wrap}
.soc{display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 11px 0 9px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--panel);color:var(--text2);font-size:13px;font-weight:600}
.soc:hover{color:var(--fg);border-color:var(--line2)}
.soc svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
.tp-desc{max-width:78ch;color:var(--text2);font-size:14px;line-height:1.6}
.nudge{display:flex;align-items:center;flex-wrap:wrap;gap:6px 14px;padding:10px 14px;border-radius:var(--r-md);border:1px dashed var(--line2);color:var(--muted);font-size:13px}

/* ---------- sticky section bar ---------- */
.tp-bar{position:sticky;top:calc(var(--hdrh,95px) - 1px);z-index:20;display:flex;align-items:center;gap:16px;margin:0 calc(var(--gut) * -1);padding:0 var(--gut);
  background:var(--hdr);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);border-bottom:1px solid var(--line)}
.tp-mini{display:none;align-items:center;gap:8px;flex:none;font-size:13.5px;white-space:nowrap}
.tp-mini>b{font-weight:700}
.tp-mini #tpMiniP{font-weight:600}
.tp-bar.stuck .tp-mini{display:flex}
.tp-nav{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;min-width:0;flex:1}
.tp-nav::-webkit-scrollbar{display:none}
.tp-nav button{flex:none;height:44px;padding:0 10px;border:0;background:none;color:var(--muted);font-weight:600;font-size:13.5px;white-space:nowrap}
.tp-nav button:hover{color:var(--fg)}
.tp-nav button[aria-current="true"]{color:var(--fg)}
.tp-nav:not(.thumbed) button[aria-current="true"]{box-shadow:inset 0 -2px 0 var(--fg)}

/* ---------- two columns ---------- */
.tp-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}
.tp-col,.tp-side{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;min-width:0}
.tp-col>*,.tp-side>*,.tp-right>*{min-width:0}
.tp-side{grid-column:2;grid-row:1}
.tp-lcol{grid-column:1;grid-row:1}
.tp-right{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
.tp-right>.card:first-child{border-radius:var(--r) var(--r) 0 0}
.tp-right>.card+.card{border-top:0;border-radius:0 0 var(--r) var(--r)}

/* stats */
.tp-stats{padding:0!important}
.st-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.st-grid .st{padding:11px 14px;border-top:1px solid var(--line);min-width:0}
.st-grid .st:nth-child(-n+2){border-top:0}
.st-grid .st:nth-child(even){border-left:1px solid var(--line)}
.st>span{display:block;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.st>b{display:block;margin-top:2px;font-size:15px;font-weight:650;color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.st>b small{font-size:11px;font-weight:500;color:var(--faint);margin-left:1px}

/* price change by period */
.tp-change{padding:12px 14px 14px!important}
.ch-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;padding:3px;border-radius:var(--r-md);background:var(--well);border:1px solid var(--line)}
.ch-tabs button{display:grid;justify-items:center;gap:1px;padding:5px 2px;border:0;border-radius:var(--r-sm);background:none;font-size:11.5px;font-weight:600;color:var(--muted)}
.ch-tabs button>.tl{display:grid;justify-items:center;gap:1px}
.ch-tabs button span:not(.up):not(.down):not(.flat){color:var(--muted)}
.ch-tabs button .up,.ch-tabs button .down,.ch-tabs button .flat{font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}
.ch-tabs button[aria-pressed="true"]{background:var(--panel);box-shadow:0 0 0 1px var(--line2)}
.ch-body{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 10px;margin-top:12px}
.ch-body .st b{font-size:14px}
.ch-bs{grid-column:1/-1;display:grid;gap:6px}
.ch-bsn{display:flex;justify-content:space-between;font-size:12.5px;font-weight:650;font-variant-numeric:tabular-nums}
.ch-bar{height:6px;border-radius:3px;background:var(--down);overflow:hidden}
.ch-bar i{display:block;height:100%;background:var(--up);border-right:2px solid var(--panel);transition:width .5s var(--ke-move,ease)}

/* chart */
.tp-chart{padding:0!important;overflow:hidden}
.tp-ctool{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:12px 14px 0}
.tp-legend{display:flex;flex-wrap:wrap;gap:4px 14px;min-height:20px;padding:10px 14px 4px;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.tp-legend b{font-weight:600}
.tp-legend .lg-t{color:var(--fg);font-weight:650}
.tp-chartbox{position:relative;height:440px;margin:0 6px}
.tp-chartbox .chart-msg{height:100%}
.tp-chartbox canvas{display:block;width:100%}
.tp-csrc{padding:6px 14px 10px;font-size:11.5px;color:var(--faint)}
.tp-csrc:empty{display:none}

/* activity */
.tp-activity{padding:0 0 4px!important;overflow:hidden}
.tp-tabs{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;padding:0 8px;border-bottom:1px solid var(--line)}
.tp-tabs::-webkit-scrollbar{display:none}
.tp-tabs button{flex:none;height:46px;padding:0 10px;border:0;background:none;color:var(--muted);font-weight:650;font-size:14px;white-space:nowrap}
.tp-tabs button:hover{color:var(--fg)}
.tp-tabs button[aria-pressed="true"]{color:var(--fg)}
.tp-tabs:not(.thumbed) button[aria-pressed="true"]{box-shadow:inset 0 -2px 0 var(--fg)}
#tpAct{min-width:0}
#tpAct>.chart-msg{min-height:200px}
#tpAct>.tp-foot,#tpAct>.note{padding:0 14px 10px}
.txf{display:flex;gap:8px;flex-wrap:wrap;padding:12px 14px}
.txf .seg button{height:26px}
.tscroll{overflow-x:auto;overscroll-behavior-x:contain}
@media (min-width:761px){#tpAct .tscroll{max-height:560px;overflow-y:auto;overscroll-behavior-y:contain}#tpAct .tscroll thead th{position:sticky;top:0;z-index:1}}
table.tx{min-width:540px;width:100%;border-collapse:separate;border-spacing:0}
table.tx th{height:34px;padding:0 14px;font-size:11.5px;font-weight:600;color:var(--muted);background:var(--panel2);border-bottom:1px solid var(--line);border-top:1px solid var(--line);cursor:default;text-align:right}
table.tx td{height:40px;padding:0 14px;font-size:13px;color:var(--text2);border-bottom:1px solid var(--line);text-align:right}
table.tx th:first-child,table.tx td:first-child{text-align:left}
table.tx tbody tr{cursor:default}
table.tx tbody tr:hover td{background:var(--panel2)}
table.tx tbody tr:last-child td{border-bottom:0}
table.tx a{color:var(--fg)}
table.tx a:hover{color:var(--accent-txt)}
table.tx a.mono{font-size:12.5px}
table.tx tr.buy td:nth-child(2) b,table.tx tr.buy td:nth-child(3){color:var(--up)}
table.tx tr.sell td:nth-child(2) b,table.tx tr.sell td:nth-child(3){color:var(--down)}
table.tx td:nth-child(2) b{font-weight:650}
table.tx td[data-ago]{color:var(--muted);font-size:12.5px}
table.tx tr.fresh td{animation:keTxIn 1.6s ease-out}
@keyframes keTxIn{0%{background:var(--accent-soft)}}
.txl2{display:inline-grid;place-items:center;width:20px;height:20px;margin-left:2px;border-radius:var(--r-xs);vertical-align:-5px;color:var(--muted)!important}
.txl2:hover{background:var(--panel3);color:var(--fg)!important}
.txl2 .ext{margin:0;opacity:1}
.hold-t td.r,.hold-t th.r{text-align:right}
.hold-t td:first-child{width:40px;color:var(--faint)}
.hold-t td:nth-child(2){text-align:left}
.hold-t th:nth-child(2){text-align:left}
.share{display:inline-block;width:64px;height:4px;margin-right:10px;vertical-align:middle;border-radius:2px;background:var(--panel3);overflow:hidden}
.share span{display:block;height:100%;background:var(--fg);opacity:.55;border-radius:2px}
.hdist{padding:14px}
.hbar{display:flex;gap:2px;height:8px;border-radius:4px;overflow:hidden}
.hbar span{display:block;height:100%}
.hleg{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:10px;font-size:12.5px;color:var(--muted)}
.hleg span{display:inline-flex;align-items:center;gap:6px}
.hleg i{width:8px;height:8px;border-radius:2px}
.hleg b{color:var(--fg);font-weight:650;font-variant-numeric:tabular-nums}
.hm{}
.tp-ext{display:inline-flex;align-items:center;font-weight:600}
.mkt-sum{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--line)}
.mkt-sum div{padding:12px 14px;border-left:1px solid var(--line)}
.mkt-sum div:first-child{border-left:0}
.mkt-sum span{display:block;font-size:12px;color:var(--muted)}
.mkt-sum b{font-weight:650;font-size:15px;font-variant-numeric:tabular-nums}
.mkt-none{padding:14px 14px 0}
.mkt-tag{display:inline-block;margin-left:6px;font-size:9.5px;font-weight:700;letter-spacing:.04em;color:var(--muted);background:var(--panel3);border-radius:var(--r-xs);padding:1px 5px;vertical-align:1px}
.mkt-tag.cex{color:var(--info);background:var(--info-soft)}
table.mkt td:nth-child(2){text-align:left;color:var(--muted)}
table.mkt th:nth-child(2){text-align:left}

/* insights: one board split into cells */
.ti-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}
.ins-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}
.ins{box-shadow:1px 0 0 var(--line),0 1px 0 var(--line);margin:0 1px 1px 0;padding:13px 14px;min-width:0;display:grid;gap:7px;align-content:start}
.ins h4{display:flex;align-items:center;gap:6px;margin:0 0 2px;font-size:13px;font-weight:650}
.ins-r{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;font-size:12.5px;color:var(--muted)}
.ins-r>span:first-child{display:flex;align-items:center;gap:6px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ins-r b{color:var(--fg);font-weight:600;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}
.ins-r b.up{color:var(--up)}.ins-r b.down{color:var(--down)}.ins-r b.warn{color:var(--warn)}
.ins-r:not(:has(.ins-meter)){grid-template-columns:minmax(0,1fr) auto}
.ins-meter{display:block;width:56px;height:4px;border-radius:2px;background:var(--panel3);overflow:hidden}
.ins-meter i{display:block;height:100%;border-radius:2px;background:var(--muted)}
.ins-meter i.ok{background:var(--up)}.ins-meter i.warn{background:var(--warn)}.ins-meter i.bad{background:var(--down)}
.ins-split{display:flex;height:6px;border-radius:3px;background:var(--info);overflow:hidden}
.ins-split i{display:block;height:100%;background:var(--accent-2)}
.dot{display:inline-block;width:7px;height:7px;border-radius:2px;flex:none}
.dot.cx{background:var(--accent-2)}.dot.dx{background:var(--info)}
.ins-note{margin:2px 0 0;font-size:12px;color:var(--muted);line-height:1.5}
.ins-big{font:700 24px/1.1 var(--disp);letter-spacing:-.02em}

/* token info */
.ti-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}
.ti-col{min-width:0}
.ti-col h4{margin:14px 0 4px;font-size:12.5px;font-weight:650;color:var(--muted)}
.ti-col h4:first-child{margin-top:0}
.ti-r{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:38px;padding:7px 0;border-bottom:1px solid var(--line);font-size:13px}
.ti-r>span{display:flex;align-items:center;gap:6px;color:var(--muted);flex:none}
.ti-r>b{display:flex;align-items:center;justify-content:flex-end;gap:6px;min-width:0;font-weight:600;text-align:right;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.ti-r a{color:var(--fg);text-decoration:underline;text-decoration-color:var(--line2);text-underline-offset:3px}
.ti-r a:hover{text-decoration-color:currentColor}
.ti-r .tp-copy{padding:0}
.ti-tok{display:inline-flex;align-items:center;gap:7px}
.ti-tok .lg{width:20px;height:20px;font-size:8px}
.ti-bar{display:inline-block;width:64px;height:4px;border-radius:2px;background:var(--panel3);overflow:hidden;margin-right:4px}
.ti-bar i{display:block;height:100%;border-radius:2px;background:var(--fg);opacity:.6}
.ti-hist{border-bottom:1px solid var(--line);padding-bottom:8px}
.ti-spark{display:block;width:100%;height:38px}
.tp-info>.ti-grid .note{margin:12px 0 0}

/* trade */
.conv{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:6px}
.conv-row{position:relative;display:flex;align-items:center;gap:10px;min-height:56px;padding:18px 8px 6px 12px;border-radius:var(--r-md);background:var(--well);border:1px solid var(--line)}
.conv-row:focus-within{border-color:var(--fg)}
.conv-k{position:absolute;left:12px;top:7px;font-size:11px;font-weight:600;color:var(--muted)}
.conv-row input{flex:1;width:0;min-width:0;border:0;background:none;outline:0;padding:0;font:650 20px var(--disp);letter-spacing:-.02em;color:var(--fg);font-variant-numeric:tabular-nums}
.conv-row select{flex:none;height:30px;background-color:var(--panel)}
.conv-row.out b{flex:1;min-width:0;font:650 20px var(--disp);letter-spacing:-.02em;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.conv-row.out #cvOutC{flex:none;font-weight:650;font-size:13px;color:var(--text2);padding-right:6px}
.conv-swap{position:absolute;left:50%;top:50%;z-index:1;transform:translate(-50%,-50%);display:grid;place-items:center;width:32px;height:32px;border-radius:var(--r-sm);border:3px solid var(--panel);background:var(--panel3);color:var(--fg)}
.conv-swap:hover{background:var(--accent);color:var(--accent-ink)}
.conv-note{margin:8px 0 0;font-size:12px}
.conv-note:empty{display:none}
.swapgo{display:flex;width:100%;height:42px;margin-top:12px;font-size:14px}
.lg-mini{margin:10px 0 0;font-size:11.5px}
.lg-mini a{color:var(--text2);text-decoration:underline;text-underline-offset:2px}

/* Eye Score */
.eye-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:center}
.eye-ring{--s:0;--c:var(--up);position:relative;width:76px;height:76px;border-radius:50%;display:grid;place-items:center;
  background:conic-gradient(var(--c) calc(var(--s) * 1%),var(--panel3) 0)}
.eye-ring::before{content:"";position:absolute;inset:7px;border-radius:50%;background:var(--panel)}
.eye-ring b{position:relative;font:700 24px/1 var(--disp);letter-spacing:-.03em;color:var(--fg);font-variant-numeric:tabular-nums}
.eye-row p{font-size:12.5px;color:var(--muted);line-height:1.5}
.eye-row p>b{display:block;color:var(--fg);font-size:14px;font-weight:650;margin-bottom:2px}
.tp-eye .pools{display:grid;margin-top:14px;border-top:1px solid var(--line)}
.tp-eye .pools div{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid var(--line);font-size:12.5px;color:var(--text2)}
.tp-eye .pools b{font-weight:650;font-variant-numeric:tabular-nums;flex:none}
.flags{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.flags li{display:grid;grid-template-columns:8px minmax(0,1fr);gap:10px;font-size:13px;line-height:1.45;color:var(--text2)}
.flags i{width:8px;height:8px;border-radius:2px;margin-top:5px}

/* security */
.tp-secb .kvl{gap:0}
.tp-secb .kvl div{padding:8px 0;border-bottom:1px solid var(--line);align-items:center}
.tp-secb .kvl div:last-child{border-bottom:0;padding-bottom:0}
.tp-secb .kvl div:first-child{padding-top:0}
.tp-secb .kvl b{text-align:right}
.tp-secb .kvl a{color:var(--fg);font-family:var(--mono);font-size:12px;font-weight:500}
.tp-secb .kvl a:hover{color:var(--accent-txt)}

/* visitor mood */
.tp-vote>h4{justify-content:flex-start}
.tp-vote>h4 .ii{margin-left:-4px}
.vt{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}
.vt button{display:grid;justify-items:center;gap:2px;padding:7px 0 6px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--panel)}
.vt button>.tl{display:grid;justify-items:center;gap:2px}
.vt button span{font-size:17px;line-height:1.1}
.vt button b{font-size:12px;font-weight:650;color:var(--muted);font-variant-numeric:tabular-nums}
.vt button:hover{border-color:var(--line2)}
.vt button[aria-pressed="true"]{border-color:var(--accent-line);background:var(--accent-soft)}
.vt button[aria-pressed="true"] b{color:var(--fg)}
.vt-bar{height:4px;margin-top:12px;border-radius:2px;background:var(--down);overflow:hidden}
.vt-bar i{display:block;height:100%;background:var(--up)}
.vt-n{margin:8px 0 0;font-size:12px}
.vt-n:empty{display:none}
.vt-boost{display:flex;align-items:center;gap:10px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.vt-boost .bi{display:grid;place-items:center;width:30px;height:30px;border-radius:var(--r-sm);background:var(--accent-soft);color:var(--accent-txt);flex:none}
.vt-boost .bi svg{width:10px;height:13px}
.vt-boost div{flex:1;min-width:0;display:flex;align-items:baseline;gap:8px}
.vt-boost small{font-size:12.5px;color:var(--muted)}
.vt-boost b{font-weight:700;font-size:15px;font-variant-numeric:tabular-nums}
.vt-boost .pill{height:32px;padding:0 14px}

/* project owner card */
.tp-owner{display:grid;gap:2px}
.tp-owner .ow-h{margin-bottom:6px}
.ow-i{display:flex;align-items:center;gap:11px;width:100%;padding:8px 6px;margin:0 -6px;width:calc(100% + 12px);border:0;border-radius:var(--r-sm);background:none;text-align:left;color:var(--fg)}
.ow-i:hover{background:var(--panel2)}
.ow-ic{display:grid;place-items:center;width:32px;height:32px;border-radius:var(--r-sm);background:var(--panel3);color:var(--text2);flex:none}
.ow-ic svg{width:16px;height:16px}
.ow-t{flex:1;min-width:0;display:grid}
.ow-t b{font-size:13.5px;font-weight:600}
.ow-t small{font-size:12px;color:var(--muted)}
.ow-i .chev{width:15px;height:15px;color:var(--faint);flex:none}
.ow-ok{margin:8px 0 0!important}
.pp-more{justify-self:start;margin-top:8px;font-size:13px;font-weight:600;color:var(--text2);text-decoration:underline;text-decoration-color:var(--line2);text-underline-offset:3px}
.pp-more:hover{color:var(--fg)}

/* also on */
.links{display:flex;flex-wrap:wrap;gap:6px}
.links a{display:inline-flex;align-items:center;height:28px;padding:0 10px;border-radius:var(--r-sm);border:1px solid var(--line);font-size:12.5px;font-weight:600;color:var(--text2)}
.links a:hover{color:var(--fg);border-color:var(--line2)}
#tpCexLinks{display:contents}
.tp-side .adcard .pill{justify-self:start}

/* summary + currencies */
.tp-overview{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:28px}
.ov-text{display:grid;gap:8px;align-content:start}
.ov-text h3+p{font-size:14.5px;line-height:1.65;color:var(--text2)}
.ov-text p+h3{margin-top:10px}
.ov-text .muted{font-size:13.5px;line-height:1.6}
.ov-fx h3{margin-bottom:10px}
.fx{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}
.fxc{display:grid;gap:1px;padding:8px 10px;min-width:0;box-shadow:1px 0 0 var(--line),0 1px 0 var(--line);margin:0 1px 1px 0}
.fxc .code{font-size:11px;font-weight:650;color:var(--muted);letter-spacing:.02em}
.fxc b{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fxc.mine{background:var(--accent-soft)}

/* similar tokens */
.tp-more{display:grid;gap:18px;min-width:0}
.tp-more:empty{display:none}
.more-row{display:grid;gap:10px;min-width:0}
.more-row h3{font-size:15px}
.more-scroll{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px;scroll-snap-type:x proximity}
.more-scroll::-webkit-scrollbar{display:none}
.mcard{flex:0 0 220px;display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 12px;border-radius:var(--r);border:1px solid var(--line);background:var(--panel);scroll-snap-align:start}
.mc-n{display:grid;min-width:0}
.mc-n b{display:flex;align-items:center;gap:4px;font-weight:650;font-size:13.5px;white-space:nowrap;overflow:hidden}
.mc-n span{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mc-p{display:grid;justify-items:end;font-size:12.5px;font-variant-numeric:tabular-nums}
.mc-p b{font-weight:600}

/* price alert modal */
.al-body{display:grid;gap:14px}
.al-go{height:44px;width:100%}

/* ---------- tablet and below: one ordered column ---------- */
@media (max-width:1279px){
  .tp-grid{grid-template-columns:minmax(0,1fr) 300px}
}
@media (max-width:1100px){
  .tp-grid{grid-template-columns:minmax(0,1fr)}
  .tp-lcol,.tp-side{display:contents}
  #tpRight{order:1}
  #tpChartSec{order:2}
  #tpTrade{order:3}
  #tpActSec{order:4}
  #tpEye{order:5}
  #tpSec{order:6}
  #tpInsights{order:7}
  #tpInfo{order:8}
  #tpVote{order:9}
  .tp-side>.adcard{order:10}
  .tp-owner{order:11}
  .tp-else{order:12}
  #tpRight{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}
  .tp-right>.card:first-child{border-radius:var(--r) 0 0 var(--r)}
  .tp-right>.card+.card{border-top:1px solid var(--line);border-left:0;border-radius:0 var(--r) var(--r) 0}
  .st-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .st-grid .st:nth-child(-n+4){border-top:0}
  .st-grid .st:nth-child(even){border-left:0}
  .st-grid .st:not(:nth-child(4n+1)){border-left:1px solid var(--line)}
  .tp-overview{grid-template-columns:minmax(0,1fr)}
}
@media (min-width:761px) and (max-width:1100px){
  /* tablets: full-width sections, small cards in pairs */
  .tp-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
  #tpRight,#tpChartSec,#tpActSec,#tpInsights,#tpInfo,.tp-else{grid-column:1/-1}
  #tpTrade{order:3}#tpEye{order:4}#tpActSec{order:5}#tpSec{order:6}#tpVote{order:7}#tpInsights{order:8}#tpInfo{order:9}
  #tpEye,#tpSec{display:grid}
  #tpEye:empty{display:none}
}
@media (max-width:860px){
  #tpRight{grid-template-columns:minmax(0,1fr)}
  .tp-right>.card:first-child{border-radius:var(--r) var(--r) 0 0}
  .tp-right>.card+.card{border-top:0;border-left:1px solid var(--line);border-radius:0 0 var(--r) var(--r)}
}
@media (max-width:760px){
  .tp{gap:14px}
  .tp .card{padding:14px}
  .tp-head{grid-template-columns:auto minmax(0,1fr);gap:12px}
  .lg.xl{width:46px;height:46px;font-size:14px}
  .tp-title h1{font-size:22px}
  .tp-quote{font-size:15px}
  .tp-acts{grid-column:1/-1;grid-row:2}
  .tp-act{flex:1;justify-content:center}
  .tp-big{font-size:32px}
  .tp-pricerow{gap:8px 18px}
  .st-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .st-grid .st:nth-child(-n+4){border-top:1px solid var(--line)}
  .st-grid .st:nth-child(-n+2){border-top:0}
  .st-grid .st:not(:nth-child(4n+1)){border-left:0}
  .st-grid .st:nth-child(even){border-left:1px solid var(--line)}
  .tp-chart{margin-inline:calc(var(--gut) * -1);border-radius:0;border-inline:0}
  .tp-chartbox{height:320px;margin:0}
  .tp-activity{margin-inline:calc(var(--gut) * -1);border-radius:0!important;border-inline:0!important}
  .ins-grid{grid-template-columns:minmax(0,1fr)}
  .ti-grid{grid-template-columns:minmax(0,1fr)}
  .ti-col+.ti-col{margin-top:14px}
  .mkt-sum{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mkt-sum div:nth-child(3){border-left:0}
  .mkt-sum div:nth-child(n+3){border-top:1px solid var(--line)}
  table.tx .hm{display:none}
  table.tx{min-width:0}
  table.tx th,table.tx td{padding:0 10px}
  .txf{padding:12px 10px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
  .txf .seg{flex:none}
  .tp-bar{gap:10px}
  .tp-mini{font-size:12.5px}
  .tp-mini #tpMiniC{display:none}
  .mcard{flex-basis:200px}
  .fx{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}
}

/* app surface (Telegram Mini App host): Telegram has its own Back button, and the bar sits under the app header */
html[data-surface="app"] .tp-back,html.tg .tp-back{display:none}
@media (min-width:761px) and (max-width:1100px){html[data-surface="app"] .tp-grid{grid-template-columns:minmax(0,1fr)}}

/* the KeepEye wordmark inside running text keeps its inline look */
.tp .kw b{display:inline;margin:0;font-size:inherit;font-weight:inherit}

/* chart style: Line / Candles beside Price / Market cap (candles off when only a price line exists) */
.tp-cr{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ch-style button[disabled]{opacity:.4;cursor:not-allowed}
@media (max-width:760px){.tp-cr{flex:1 1 100%;justify-content:space-between}}
