/* Ollo terminal (/app). Builds on css/site.css tokens (design-v2.md §4). Desktop 3 columns, mobile tabs. */
body.app{overflow:hidden;height:100vh;height:100dvh}
.app .haze .h1{top:40px}.app .haze .h2{top:120px}.app .haze .h3{top:420px}
.term{position:relative;z-index:2;display:flex;flex-direction:column;height:100vh;height:100dvh}

/* top bar */
.tbar{flex:none;height:60px;display:flex;align-items:center;gap:14px;padding:0 16px;border-bottom:1px solid var(--hair);background:rgba(16,16,18,.6);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);position:relative;z-index:10}
.tbar .brand .pipbox{width:30px;height:30px}
.blkpill{font-size:12px;color:var(--mut)}
.blkpill b{font-weight:500;color:var(--tx);display:inline-block;min-width:8ch}
.search{position:relative;flex:0 1 520px;margin-left:12px;height:38px;display:flex;align-items:center;gap:8px;padding:0 12px;border-radius:10px;background:rgba(0,0,0,.35);border:1px solid var(--hair);border-top-color:rgba(255,255,255,.1);transition:border-color .2s,box-shadow .2s}
.search:focus-within{border-color:rgba(245,217,7,.28);box-shadow:0 0 0 3px rgba(245,217,7,.06)}
.search svg{width:16px;height:16px;color:var(--mut);flex:none}
.search input{flex:1;min-width:0;background:none;border:0;outline:0;font-size:14px;font-weight:300;height:100%}
.search input::placeholder{color:var(--mut)}
.search input::-webkit-search-cancel-button{display:none}
.sres{position:absolute;left:0;right:0;top:44px;background:var(--card);border:1px solid var(--hair);border-radius:12px;padding:6px;box-shadow:0 30px 60px -15px rgba(0,0,0,.7);max-height:420px;overflow-y:auto;animation:pop .2s var(--ease) both}
.sres .none{padding:14px;font-size:13px;color:var(--mut)}

/* columns */
.cols{flex:1;min-height:0;display:grid;grid-template-columns:320px minmax(0,1fr) 400px;gap:12px;padding:12px}
.col{min-height:0;overflow:hidden;display:flex;flex-direction:column}
.col.mid{overflow-y:auto;padding:4px 4px 24px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) transparent;gap:12px}
.col.mid>section{display:flex;flex-direction:column;gap:12px}

/* left lists */
.ltabs{display:flex;gap:4px;padding:10px 10px 6px;overflow-x:auto;scrollbar-width:none;flex:none;-webkit-mask:linear-gradient(90deg,#000 calc(100% - 24px),transparent);mask:linear-gradient(90deg,#000 calc(100% - 24px),transparent)}
.ltabs::-webkit-scrollbar{display:none}
.ltabs button{flex:none;font-size:12.5px;padding:6px 11px;border-radius:999px;color:var(--mut);background:rgba(255,255,255,.04);white-space:nowrap;transition:background .2s,color .2s,transform .15s var(--ease)}
.ltabs button:hover{color:var(--tx)}
.ltabs button.on{background:var(--tx);color:#101012;font-weight:500}
.ltabs button:active{transform:scale(.95)}
.lhead{display:flex;align-items:center;gap:8px;padding:4px 14px 8px;min-height:36px;flex:none}
.seg-xs button{font-size:12px;padding:4px 10px;min-height:26px}
.list{flex:1;overflow-y:auto;padding:0 6px 8px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) transparent}
.li{display:grid;grid-template-columns:20px 34px minmax(0,1fr) auto;align-items:center;gap:10px;height:58px;padding:0 8px;border-radius:10px;cursor:pointer;position:relative;transition:background .25s}
.li:hover{background:rgba(255,255,255,.04)}
.li.sel{background:rgba(245,217,7,.07);box-shadow:inset 2px 0 0 var(--yel)}
.li.in{animation:rowin .5s var(--ease) both}
.li.flash{background:rgba(245,217,7,.08)}
.li .rk{font-size:11.5px;color:var(--dim);text-align:right;font-variant-numeric:tabular-nums}
.li .coin{width:34px;height:34px;font-size:11.5px}
.li .nm2{min-width:0}
.li .nm2 b{display:block;font-weight:500;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.li .nm2 small{display:block;font-size:11.5px;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.li .rv{text-align:right;font-size:13.5px;font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap}
.li .rv small{display:block;font-size:11.5px;font-weight:400}
.li .mini-curve{position:absolute;left:72px;right:8px;bottom:6px;height:2px;border-radius:2px;background:rgba(255,255,255,.06);overflow:hidden}
.li .mini-curve i{display:block;height:100%;background:var(--grad)}
.li.sk{cursor:default}.li.sk::after{content:"";position:absolute;inset:10px 8px;border-radius:8px;background:rgba(255,255,255,.035)}
.lempty{padding:40px 16px;text-align:center;color:var(--mut);font-size:13.5px}

/* centre: overview */
.ovh{display:flex;align-items:flex-end;gap:16px;padding:10px 6px 2px}
.th1{font-size:34px;font-weight:500;letter-spacing:-.9px;line-height:1.1}
.th1 em{font-family:var(--serif);font-weight:400;font-size:.92em}
.card{padding:16px}
.card h3{font-size:15px;font-weight:500;margin-bottom:12px}
.ch{display:flex;align-items:center;gap:10px;margin-bottom:12px;min-height:28px}
.ch h3{margin:0}
.ch .note{margin:0}
.tot5 .tot{min-height:128px}
.tot5 .tot .v{font-size:44px}
.tot5 .tot .v.sm{font-size:30px}
.ovgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fatebar{display:flex;height:14px;border-radius:999px;overflow:hidden;gap:2px;background:rgba(255,255,255,.04)}
.fatebar i{display:block;height:100%;transition:flex-grow .9s var(--ease);min-width:2px}
.legend{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;margin-top:14px}
.legend div{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--mut)}
.legend b{margin-left:auto;color:var(--tx);font-weight:500;font-variant-numeric:tabular-nums}
.legend i{width:8px;height:8px;border-radius:2px;flex:none}
.flags{display:flex;flex-direction:column;gap:10px}
.flag{display:grid;grid-template-columns:120px minmax(0,1fr) 54px;align-items:center;gap:10px;font-size:12.5px;color:var(--mut)}
.flag .fb{height:6px;border-radius:999px;background:rgba(255,255,255,.06);overflow:hidden}
.flag .fb i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,rgba(253,66,156,.8),rgba(245,217,7,.8));transform-origin:left;transition:width .9s var(--ease)}
.flag b{text-align:right;color:var(--tx);font-weight:500;font-variant-numeric:tabular-nums}
.heat{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:4px}
.hc{position:relative;border-radius:6px;padding:8px 8px 7px;min-height:58px;text-align:left;overflow:hidden;transition:transform .15s var(--ease),filter .2s}
.hc:hover{filter:brightness(1.25);z-index:1}
.hc:active{transform:scale(.96)}
.hc b{display:block;font-size:12.5px;font-weight:500}
.hc span{display:block;font-size:11.5px;font-variant-numeric:tabular-nums;opacity:.9}
.hc small{position:absolute;right:6px;top:7px;font-size:10px;opacity:.6;font-variant-numeric:tabular-nums}
.recs{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rec{background:rgba(16,16,18,.6);border-radius:10px;padding:12px}
.rec span{display:block;font-size:11.5px;color:var(--mut)}
.rec b{display:block;font-size:24px;font-weight:500;letter-spacing:-.6px;margin-top:6px;font-variant-numeric:tabular-nums}
.deps{display:flex;flex-direction:column}
.dep{display:grid;grid-template-columns:24px minmax(0,1fr) 70px 70px;gap:8px;align-items:center;height:38px;font-size:13px;border-bottom:1px solid rgba(255,255,255,.04);font-variant-numeric:tabular-nums}
.dep:last-child{border-bottom:0}
.dep.h{height:28px;font-size:11.5px;color:var(--dim)}
.dep .r{text-align:right}
.dep code{font-family:var(--sans);color:var(--mut)}
.disc{font-size:11.5px;color:var(--dim);line-height:1.5;padding:0 6px}
.fine{font-size:11.5px;color:var(--dim);line-height:1.5;padding:4px 6px 0}

/* centre: token view */
.tkh{display:flex;align-items:center;gap:12px;padding:6px 4px 2px}
.back{width:34px;height:34px;border-radius:8px;display:grid;place-items:center;color:var(--mut);background:rgba(255,255,255,.05);flex:none}
.back:hover{color:var(--tx);background:rgba(255,255,255,.1)}
.back svg{width:16px;height:16px}
.tkav .coin{width:52px;height:52px;font-size:16px}
.tkn2{min-width:0}
.tks{display:flex;align-items:center;gap:8px}
.tks b{font-size:26px;font-weight:500;letter-spacing:-.6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tkn2 small{display:block;font-size:13px;color:var(--mut);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chip2{font-size:11.5px;color:var(--mut);background:rgba(255,255,255,.06);border-radius:999px;padding:3px 9px;white-space:nowrap}
.gradchip{color:#101012;background:var(--grad);font-weight:500}
.tkpx{text-align:right}
.tkpx b{display:block;font-size:26px;font-weight:500;letter-spacing:-.6px}
.tkpx small{display:block;font-size:13px;margin-top:2px}
.tkpx b.tick-up{animation:tickU 1.4s ease-out}.tkpx b.tick-dn{animation:tickD 1.4s ease-out}
.chartc{padding:12px 12px 8px}
.chart{position:relative;height:360px}
.chempty{position:absolute;inset:0;display:grid;place-items:center;color:var(--mut);font-size:13.5px}
.metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.met{background:var(--glass);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--hair);border-radius:10px;padding:12px;min-height:72px}
.met span{display:block;font-size:11.5px;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.met b{display:block;font-size:20px;font-weight:500;letter-spacing:-.4px;margin-top:8px;font-variant-numeric:tabular-nums;white-space:nowrap}
.met b.flash{animation:tickU 1.2s ease-out}
.met.warn b{color:#ffb38a}
.cv.big{height:8px;margin-top:0}
.curvec .ch{margin-bottom:10px;font-size:13px;color:var(--mut)}
.cac{display:flex;align-items:center;gap:10px;padding:12px 14px}
.cac code{flex:1;min-width:0;font-family:var(--sans);font-size:13px;color:var(--tx);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cac .note{margin:0}

/* right: analyst */
.ahead{flex:none;display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--hair)}
.apip{width:38px;height:38px}
.an b{display:block;font-weight:500;font-size:15px}
.astatus{display:block;font-size:11.5px;color:var(--mut);white-space:nowrap}
.astatus b{display:inline;font-size:11.5px;color:var(--tx);font-weight:500}
.ahead .cnt{font-size:12px}
.ring.off{background:rgba(255,255,255,.14)}
.right .thread{flex:1;max-height:none;padding:14px;gap:14px}
.right .msg.u{max-width:88%;font-size:14px}
.right .msg.a{max-width:100%;grid-template-columns:28px minmax(0,1fr);gap:10px}
.right .msg.a .pipbox{width:28px;height:28px}
.right .msg.a .md p,.right .msg.a .md ul{font-size:14px}
.right .cards2{grid-template-columns:1fr}
.msg.u .tokref{display:inline-flex;align-items:center;gap:5px;margin-top:6px;font-size:11.5px;color:var(--mut);background:rgba(0,0,0,.25);border-radius:999px;padding:2px 8px 2px 3px}
.msg.u .tokref .coin{width:16px;height:16px;font-size:6px}
.acomp{flex:none;padding:10px 12px 12px;border-top:1px solid var(--hair);display:flex;flex-direction:column;gap:8px}
.ctx{display:inline-flex;align-self:flex-start;align-items:center;gap:6px;font-size:12px;color:var(--mut);background:rgba(245,217,7,.07);border:1px solid rgba(245,217,7,.16);border-radius:999px;padding:3px 4px 3px 4px;max-width:100%}
.ctx .coin{width:18px;height:18px;font-size:7px}
.ctx b{font-weight:500;color:var(--tx);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ctxx{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;color:var(--mut)}
.ctxx:hover{background:rgba(255,255,255,.08);color:var(--tx)}
.ctxx svg{width:12px;height:12px}
.qchips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;-webkit-mask:linear-gradient(90deg,#000 calc(100% - 20px),transparent);mask:linear-gradient(90deg,#000 calc(100% - 20px),transparent)}
.qchips::-webkit-scrollbar{display:none}
.qchips .chip{font-size:12.5px;padding:6px 11px;flex:none}
.qchips .chip::before{content:none}
.chip.ai{background:linear-gradient(rgba(23,23,26,.9),rgba(23,23,26,.9)) padding-box,var(--grad) border-box;border:1px solid transparent}
.aprompt{margin:0;max-width:none;padding:6px 6px 6px 12px;align-items:flex-end;background:rgba(0,0,0,.4);box-shadow:none}
.aprompt .f{resize:none;height:auto;min-height:36px;max-height:120px;padding:8px 0;line-height:1.4;font-size:14.5px;overflow-y:auto}
.aprompt .ask{height:36px;padding:0 14px;font-size:14px}
.amodel{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--dim)}
.amodel .mlogo{width:14px;height:14px}

/* hover mini card on list rows */
.hovercard{position:fixed;z-index:40;width:300px;pointer-events:none;animation:pop .18s var(--ease) both;box-shadow:0 30px 60px -15px rgba(0,0,0,.75);border-radius:10px}
.hovercard .dc{background:var(--card);border:1px solid var(--hair);border-radius:10px}

/* mobile tabs */
.mtabs{display:none}

@media (max-width:1280px){
  .cols{grid-template-columns:290px minmax(0,1fr) 360px}
  .metrics{grid-template-columns:repeat(4,minmax(0,1fr))}
  .tot5 .tot .v{font-size:36px}.tot5 .tot .v.sm{font-size:24px}
}
@media (max-width:1024px){
  .cols{grid-template-columns:minmax(0,1fr) 360px}
  .col.left{display:none}
  /* 761–1024: two columns. Left slot swaps between the token list and the centre (Tokens / Chart tabs); Ollo stays right */
  .cols[data-tab="list"] .col.left{display:flex;grid-column:1;grid-row:1}
  .cols[data-tab="list"] .col.mid{display:none}
  .col.right{grid-column:2;grid-row:1}
  .metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ovgrid{grid-template-columns:1fr}
  .totals.tot5{grid-template-columns:1fr 1fr}
  .mtabs{display:flex}
  .mtabs button[data-t="ollo"]{display:none}
}
@media (max-width:1024px){
  .term{padding-bottom:0}
  .mtabs{flex:none;height:60px;border-top:1px solid var(--hair);background:rgba(16,16,18,.82);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:0 8px env(safe-area-inset-bottom);align-items:stretch}
  .mtabs button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:11px;color:var(--mut)}
  .mtabs button svg,.mtabs .pipbox{width:20px;height:20px}
  .mtabs button.on{color:var(--tx)}
  .mtabs button.on svg{color:var(--yel)}
  .cols{position:relative}
}
@media (max-width:760px){
  .tbar{height:56px;gap:10px;padding:0 12px}
  .tbar .bn,.hide-m,.tbar .who-label{display:none}
  .search{margin-left:0;flex:1}
  .signin{font-size:13.5px;padding:6px 12px;min-height:34px}
  .cols{display:block;padding:8px;height:100%;min-height:0}
  .cols>.col{display:none;height:100%}
  .cols[data-tab="list"] .col.left,.cols[data-tab="token"] .col.mid,.cols[data-tab="ollo"] .col.right{display:flex}
  .mtabs button[data-t="ollo"]{display:flex}
  .th1{font-size:26px}
  .ovh{flex-wrap:wrap;gap:10px}
  .tot5 .tot{min-height:104px;padding:14px}
  .tot5 .tot .v{font-size:30px}.tot5 .tot .v.sm{font-size:20px}
  .metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .chart{height:280px}
  .tks b,.tkpx b{font-size:21px}
  .tkav .coin{width:42px;height:42px}
  .flag{grid-template-columns:96px minmax(0,1fr) 48px}
  .heat{grid-template-columns:repeat(auto-fill,minmax(76px,1fr))}
  .legend{grid-template-columns:1fr}
  .aprompt .f{font-size:16px}
  .hovercard{display:none!important}
}

/* search: ask row (Raycast d907406e) */
.sask{display:flex;align-items:center;gap:10px;width:100%;height:46px;padding:0 10px;border-radius:8px;font-size:13.5px;text-align:left;color:var(--tx);background:rgba(245,217,7,.06)}
.sask:hover{background:rgba(245,217,7,.1)}
.sask .pipbox{width:22px;height:22px}
.sask span:nth-child(2){flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sask kbd{font:500 11px var(--sans);color:var(--mut);border:1px solid var(--hair);border-radius:4px;padding:1px 6px}
/* thinking steps */
.steps{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}
.step{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--dim);line-height:1.35}
.step i{width:6px;height:6px;border-radius:50%;background:rgba(2,217,92,.7);flex:none}
.step.cur{color:var(--mut)}
.step.cur i{background:var(--yel);animation:tp 1s infinite}
.step .typing i{width:4px;height:4px}

/* ---------- v2: flat terminal (refero-board §0c; Kraken Pro 69751349 panel grid, Coinbase Advanced, Linear hairlines) ---------- */
textarea{font:inherit;color:inherit}
body.app{background:#0c0c0e}
.app .glass,.app .met{background:#131315;-webkit-backdrop-filter:none;backdrop-filter:none;border:1px solid rgba(255,255,255,.06);border-radius:10px}
.app .tot::after{content:none}
.tbar{background:#0f0f11}
.htag{font-size:12px;color:var(--mut);white-space:nowrap;padding-left:12px;margin-left:2px;border-left:1px solid var(--hair);letter-spacing:.01em}
.show-n{display:none}
.th1{font-size:24px;letter-spacing:-.5px}
.ovh .note{margin-top:4px}
.tot5 .tot{container-type:inline-size;min-height:118px;padding:16px}
.tot5 .tot .l{font-size:12px;letter-spacing:.02em}
.tot5 .tot .v{font-size:clamp(22px,22cqw,44px);margin-top:16px;letter-spacing:-.04em}
.tot5 .tot .v.sm{font-size:clamp(18px,14cqw,30px);margin-top:20px;letter-spacing:-.03em}
.card h3,.ch h3{font-size:13.5px;font-weight:500;letter-spacing:.005em}
.flag .fb i{background:rgba(247,244,239,.55)}
.li .mini-curve i,.cv i{background:var(--tx)}
.li .mini-curve i{background:rgba(247,244,239,.5)}
.cv.big i{background:linear-gradient(90deg,rgba(247,244,239,.7),#f7f4ef)}
.li.sel{box-shadow:inset 2px 0 0 var(--tx);background:rgba(255,255,255,.05)}
.an>b{display:flex;align-items:baseline;gap:6px}
.an .role{font-size:11.5px;font-weight:400;color:var(--mut)}
.lbls{gap:6px}
.lbl{font-size:11.5px;color:var(--mut);background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.06);border-radius:999px;padding:3px 9px;cursor:default}
.lbl.good{color:#7ff0b0;border-color:rgba(2,217,92,.25);background:rgba(2,217,92,.07)}
.lbl.warn{color:#ffb0b2;border-color:rgba(255,90,95,.25);background:rgba(255,90,95,.07)}
.ctx.none{background:rgba(255,255,255,.04);border-color:var(--hair);padding-left:10px}
.ctx.none .ctxav{display:none}
.ask.gate{background:var(--tx);color:#101012}
.amodel{font-size:11.5px}
.amodel .cnt{font-size:11.5px;gap:6px}
.amodel .ring{width:14px;height:14px;-webkit-mask:radial-gradient(circle,transparent 4px,#000 5px);mask:radial-gradient(circle,transparent 4px,#000 5px)}
.netbrief .nbh{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--mut)}
.netbrief .nbh b{font-weight:500;color:var(--tx)}
.netbrief .nbh .dot{animation:none}
.nbl{display:flex;flex-direction:column;margin-top:10px;border-top:1px solid var(--hair)}
.nbr{display:flex;align-items:center;gap:8px;height:40px;font-size:13px;border-bottom:1px solid rgba(255,255,255,.04);text-align:left;width:100%}
.nbr:last-child{border-bottom:0}
.nbr .coin{width:22px;height:22px;font-size:8px}
.nbr b{font-weight:500}
.nbr .num{font-size:12.5px;min-width:52px;text-align:right}
.nbr:hover b{text-decoration:underline;text-underline-offset:3px}
.hc{border:1px solid rgba(255,255,255,.04)}
.hc small{position:static;display:block;margin-top:2px;font-size:11px;opacity:.85}
.hc.pulse-up{animation:hcU 1.2s ease-out}.hc.pulse-dn{animation:hcD 1.2s ease-out}
@keyframes hcU{0%{box-shadow:inset 0 0 0 1px rgba(2,217,92,.9)}100%{box-shadow:inset 0 0 0 1px rgba(2,217,92,0)}}
@keyframes hcD{0%{box-shadow:inset 0 0 0 1px rgba(255,90,95,.9)}100%{box-shadow:inset 0 0 0 1px rgba(255,90,95,0)}}
.met b.up{color:var(--up)}.met b.dn{color:var(--dn)}
.metrics{grid-template-columns:repeat(6,minmax(0,1fr))}
.met{min-height:66px;padding:11px 12px}
.met b{font-size:18px;margin-top:6px}
.sres,.hovercard .dc{background:rgba(23,23,26,.92);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
.right .msg.a .md p{color:var(--tx)}
@media (max-width:1280px){.metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.htag .hide-n{display:none}.htag .show-n{display:inline}}
@media (max-width:760px){.htag{display:none}.metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.met b{font-size:16px}}
.legend{grid-template-columns:1fr;gap:8px}
.tot5 .tot .v{font-size:clamp(26px,26cqw,48px)}
.ctx.none{display:none}
.cchart{position:absolute;inset:0;display:block;cursor:crosshair;touch-action:pan-y}
.ctip{position:absolute;left:10px;top:4px;display:flex;gap:10px;font-size:11.5px;color:var(--mut);font-variant-numeric:tabular-nums;pointer-events:none;background:rgba(19,19,21,.85);padding:2px 6px;border-radius:6px}
.ctip b{color:var(--tx);font-weight:500}.ctip b.up{color:var(--up)}.ctip b.dn{color:var(--dn)}
.chempty{z-index:1}
.tks{flex-wrap:wrap;row-gap:4px}
.tks b{max-width:100%}

/* particle face at the top of the analyst panel */
.ofield{height:132px;margin:-6px -6px 0;flex:none;position:relative}
.ofield canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
/* inline AI read under the token header */
.aread{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 14px;border-radius:10px;border:1px solid rgba(255,255,255,.06);background:linear-gradient(#131315,#131315) padding-box,linear-gradient(90deg,rgba(253,66,156,.35),rgba(245,217,7,.35)) border-box;border-color:transparent}
.aread .pipbox{width:28px;height:28px;align-self:start}
.aread .art b{display:block;font-size:12px;font-weight:500;color:var(--mut);letter-spacing:.01em}
.aread .art p{font-size:13.5px;line-height:1.5;margin-top:3px;color:var(--tx);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.aread .art p.mut{color:var(--mut)}
.aread .chip{font-size:12.5px;padding:7px 12px}
.aread.done .chip{display:none}
@media (max-width:760px){.aread{grid-template-columns:24px minmax(0,1fr)}.aread .chip{grid-column:2;justify-self:start}}
.aread .chip::before{content:none}
.met{container-type:inline-size}
.met b{font-size:clamp(14px,15cqw,18px)}

/* the header's big number is market cap, labelled as such (09.10) */
.tkpx-l{display:block;font:400 11.5px/1 var(--sans);letter-spacing:.01em;color:var(--mut,#a3a3a3);text-align:right;margin-bottom:4px}

/* ---------- audit v1 fixes ---------- */
/* С1: fixed sizes before data */
.hc.sk{display:block;min-height:58px;background:rgba(255,255,255,.035);border-radius:6px}
.rec.sk b{color:var(--dim)}
.legend .skl,.flag .skl{height:10px}
.legend>div{min-height:18px}
.flag{min-height:18px}
.dep .skl{height:10px}
.curvec{min-height:96px}
.curvec .ch{min-height:20px}
.ahead{min-height:63px}
.an .astatus{min-height:15px}
/* С2 / С3 states */
.lerr{font-size:11.5px;color:#ffb0b2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.operr{font-size:12.5px;color:#ffb0b2;background:rgba(255,90,95,.06);border:1px solid rgba(255,90,95,.2);border-radius:8px;padding:8px 12px;margin:0 2px}
.tkmiss{padding:12px 14px;min-height:66px;display:flex;align-items:center;color:var(--mut);font-size:13.5px}
.anote{font-size:12.5px;line-height:1.45;color:#ffd9a8;background:rgba(245,217,7,.06);border:1px solid rgba(245,217,7,.18);border-radius:8px;padding:8px 10px}
/* С11 */
.gradnote{font-size:11.5px;color:var(--mut);margin-top:10px;letter-spacing:.01em}
.tkpx small.mut{color:var(--mut)}
/* search rows */
.sres .li{height:56px}
.sres .li .nm2 small{font-variant-numeric:tabular-nums}
.aread .chip:disabled{opacity:.6;cursor:default}
.tbar .bn{width:52px;height:19px;display:inline-flex;align-items:center;overflow:hidden}
@media (max-width:760px){.tbar .bn{display:none}}
/* token header: one fixed height whatever the name length (no shift when data lands) */
.tkh{height:70px;padding-top:2px;padding-bottom:2px}
.tks{flex-wrap:nowrap;min-width:0}
.tks b{min-width:0;overflow:hidden;text-overflow:ellipsis}
.tkn2{flex:1 1 auto}
.tkpx{flex:none}
@media (min-width:761px) and (max-width:1024px){.tks b{font-size:21px;letter-spacing:-.4px}.tkpx b{font-size:22px}.tkav .coin{width:44px;height:44px}.tkh{gap:10px}}

/* ---------- full lists (owner: «нужны десятки или сотни»; «это mcap или что?») ---------- */
.lname{font-size:12.5px;font-weight:500;color:var(--tx);white-space:nowrap}
.lhead .lcount{margin-left:2px}
.lcols{flex:none;display:grid;grid-template-columns:minmax(0,1fr) 68px 64px;gap:8px;padding:6px 14px 6px 78px;font-size:11px;color:var(--dim);border-bottom:1px solid var(--hair);letter-spacing:.01em}
.lcols .c1,.lcols .c2{text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.list{position:relative;contain:strict}
.vl{position:relative}
.li.lr{position:absolute;left:0;right:0;height:58px;grid-template-columns:20px 34px minmax(0,1fr) 68px 64px;gap:8px}
.li.lr .c1,.li.lr .c2{text-align:right;font-size:13px;white-space:nowrap;font-variant-numeric:tabular-nums}
.li.lr .c1{font-weight:500}
.li.lr .c2{font-size:12.5px}
.li.lr .mini-curve{left:62px;right:8px}
@media (max-width:760px){.lcols{grid-template-columns:minmax(0,1fr) 72px 68px}.li.lr{grid-template-columns:20px 34px minmax(0,1fr) 72px 68px}}
.flat{color:var(--mut)}
@media (min-width:1281px){.cols{grid-template-columns:344px minmax(0,1fr) 400px}}
.lcols{grid-template-columns:minmax(0,1fr) 62px 58px}
.li.lr{grid-template-columns:20px 34px minmax(0,1fr) 62px 58px}

/* window-labelled first column never truncates (volume · 24h, new buyers · 1h, change · 24h) */
.lw .lcols{grid-template-columns:minmax(0,1fr) 104px 58px}
.lw .li.lr{grid-template-columns:20px 34px minmax(0,1fr) 104px 58px}
.lcols .c1,.lcols .c2{overflow:visible;text-overflow:clip}
@media (max-width:760px){.lw .lcols{grid-template-columns:minmax(0,1fr) 112px 72px}.lw .li.lr{grid-template-columns:20px 34px minmax(0,1fr) 112px 72px}}
.cherr{display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center}
.cherr[hidden]{display:none!important}
.lw .lcols{grid-template-columns:minmax(0,1fr) 96px 56px;gap:6px}
.lw .li.lr{grid-template-columns:18px 34px minmax(0,1fr) 96px 56px;gap:6px}

/* ---------- plans (owner 10.10): chip in the top bar + popover; glass only on this floating layer (§0c) ---------- */
.planw{position:relative;flex:none}
.planchip{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px 0 12px;border-radius:999px;border:1px solid var(--hair);background:rgba(255,255,255,.04);font-size:13px;font-weight:500;color:var(--tx)}
.planchip:hover,.planchip[aria-expanded="true"]{background:rgba(255,255,255,.08)}
.planchip svg{width:12px;height:12px;color:var(--mut)}
.planpop{position:absolute;right:0;top:42px;z-index:30;width:520px;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:rgba(23,23,26,.94);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 30px 60px -15px rgba(0,0,0,.75);animation:pop .2s var(--ease) both}
.planpop[hidden]{display:none!important}
.pp-col{border-radius:10px;border:1px solid rgba(255,255,255,.06);background:#131315;padding:14px;display:flex;flex-direction:column}
.pp-col.pro{border-color:transparent;background:linear-gradient(#131315,#131315) padding-box,linear-gradient(135deg,rgba(253,66,156,.45),rgba(245,217,7,.45)) border-box}
.pp-h{display:flex;align-items:center;gap:8px}
.pp-h b{font-size:15px;font-weight:500}
.pp-badge{margin-left:auto;font-size:11px;color:var(--mut);border:1px solid var(--hair);border-radius:999px;padding:2px 8px}
.pp-badge.on{color:#7ff0b0;border-color:rgba(2,217,92,.25);background:rgba(2,217,92,.07)}
.pp-price{font-size:22px;font-weight:500;letter-spacing:-.4px;margin-top:10px;min-height:28px;line-height:1.25}
.pro .pp-price{font-size:15px;letter-spacing:0;color:var(--tx)}
.pp-col ul{list-style:none;margin-top:10px;display:flex;flex-direction:column;gap:6px;font-size:12.5px;color:var(--mut)}
.pp-col li{display:flex;gap:7px;align-items:baseline}
.pp-col li::before{content:"";width:5px;height:5px;border-radius:50%;background:rgba(247,244,239,.35);flex:none;transform:translateY(-1px)}
.pro li::before{background:var(--yel)}
.pp-cta{margin-top:auto;padding-top:0;height:34px;border-radius:6px;background:var(--grad);color:#101012;font-size:13px;font-weight:500;margin-top:14px}
.pp-cta:disabled{background:rgba(255,255,255,.06);color:var(--mut);cursor:default}
.pp-how{grid-column:1/-1;font-size:11.5px;color:var(--dim);line-height:1.45;padding:2px 2px 0}
.pp-how a{color:var(--tx);text-decoration:underline;text-underline-offset:3px}
.proline{margin-top:8px;font-size:13px;color:var(--mut);display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.prolink{font-size:12.5px;color:var(--tx);border:1px solid var(--hair);border-radius:999px;padding:3px 10px;background:rgba(255,255,255,.04)}
.prolink:hover{background:rgba(255,255,255,.08)}
.mplans{margin-top:6px;font-size:13px}
@media (max-width:760px){
  .planchip{height:30px;padding:0 8px 0 10px;font-size:12.5px}
  .planpop{position:fixed;left:12px;right:12px;top:62px;width:auto;grid-template-columns:1fr}
}
@media (max-width:760px){
  .tbar{gap:8px;padding:0 10px}
  .search{min-width:0;flex:1 1 0;padding:0 10px}
  .search input{min-width:0}
  .signin{padding:6px 10px;font-size:13px}
}
.pp-col li{display:block;position:relative;padding-left:13px}
.pp-col li::before{position:absolute;left:0;top:.55em;transform:none}
