/* launch, coin, admin and docs pages */
.good{color:var(--up)!important}
.bad{color:var(--down)!important}
.small{font-size:13px}
.fine{font-size:12.5px;color:var(--t3);margin-top:12px;text-align:center}
.sticky{position:sticky;top:88px}
.err-t{color:var(--down)}

/* ---------- launch ---------- */
.launch-grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:24px;align-items:start;margin-top:-40px;position:relative}
.lf-top{display:grid;grid-template-columns:220px minmax(0,1fr);gap:20px;margin-bottom:4px}
.drop.invalid{border-color:var(--down)}
.site-box{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:14px;background:var(--paper-2);border:1px solid var(--line)}
.site-box svg{width:18px;height:18px;flex:none;margin-top:2px;color:var(--t3)}
.site-box b{display:block;font:700 14px var(--mono);color:var(--t1);word-break:break-all}
.site-box small{display:block;color:var(--t3);font-size:12.5px;margin-top:2px}
.fb{border-top:1px solid var(--line);margin-top:8px;padding-top:20px}
.fb-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:12px;flex-wrap:wrap}
.fb-head h3{font:800 18px var(--display);letter-spacing:-.025em}
.fb-head h3 em{font:600 12px var(--body);font-style:normal;color:var(--t3);margin-left:6px}
.fb-head p{color:var(--t2);font-size:14px;max-width:48ch;margin-top:4px}
.fb-quote{margin-top:12px;font-size:14px;color:var(--t2)}
.fb-quote b{color:var(--t1)}
.preview{display:flex;align-items:center;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--line);margin-bottom:14px}
.preview>div:nth-child(2){flex:1;min-width:0}
.preview b{display:block;font:800 17px var(--display);letter-spacing:-.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.preview small{color:var(--t3);font-weight:600}
.pv-art{width:56px;height:56px;border-radius:14px;overflow:hidden;background:radial-gradient(circle at 50% 40%,#fff,var(--paper-2) 75%);border:1px solid var(--line);flex:none}
.pv-art img{width:100%;height:100%;object-fit:cover}
.curve-line{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:16px;background:var(--paper-2);margin-bottom:6px}
.curve-line svg{flex:1;height:22px;min-width:30px}
.curve-line small{display:block;font:700 10.5px var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--t3)}
.curve-line b{font:800 15px var(--display);white-space:nowrap}
.curve-line b small{display:block;font:600 12px var(--body);letter-spacing:0;text-transform:none;color:var(--t3)}

/* ---------- coin page ---------- */
.coin-head{padding-bottom:84px}
.ch{display:flex;gap:24px;align-items:center}
.ch-img{width:112px;height:112px;border-radius:26px;overflow:hidden;flex:none;background:#ffffff10;box-shadow:0 30px 60px -30px #000,inset 0 0 0 1px #ffffff1c}
.ch-img img{width:100%;height:100%;object-fit:cover}
.skel-box{background:linear-gradient(90deg,#ffffff0a,#ffffff18,#ffffff0a);background-size:200% 100%;animation:skel 1.4s linear infinite}
.ch-text{min-width:0}
.ch-text .eyebrow{margin-bottom:10px;flex-wrap:wrap}
.ch-text .eyebrow .lc{text-transform:none;letter-spacing:.02em;font-weight:600}
.ch-text h1{font:800 clamp(34px,5vw,62px)/1.02 var(--display);letter-spacing:-.05em;word-break:break-word}
.ch-text h1 span{color:var(--d3)}
.ch-text>p{color:var(--d2);margin-top:12px}
.ch-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.ca,.pill-link{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 13px;border-radius:999px;border:1px solid #ffffff22;font:700 13px var(--display);color:var(--d1);transition:background .2s,border-color .2s}
.ca:hover,.pill-link:hover{background:#ffffff12;border-color:#ffffff40}
.ca svg,.pill-link svg{width:13px;height:13px}
.badge.on-dark.clean{background:#2f9e6633;color:#7ee0ad}
.badge.on-dark.sniped{background:#d4a24c33;color:#f0c674}
.badge.on-dark.bundled{background:#d4574e33;color:#ff9b93}
.badge.on-dark.wait{background:#8b7cf633;color:#c4bbff}
.page-head .badge.grad{background:#fff;color:var(--ink)}
.coin-grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:24px;align-items:start;margin-top:-64px;position:relative}
.coin-main{display:flex;flex-direction:column;gap:16px;min-width:0}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.stat{background:#fff;border:1px solid var(--line);border-radius:20px;padding:16px 18px;min-width:0}
.stat small{display:block;font:700 11px var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--t3);margin-bottom:6px}
.stat b{display:block;font:800 22px var(--display);letter-spacing:-.035em;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stat b sub{font-size:.6em;vertical-align:-.15em}
.stat b .unit{font-size:13px;color:var(--t3);letter-spacing:0}
.stat em{display:block;font-style:normal;font-size:13px;color:var(--t3);font-weight:600;margin-top:2px}
.gc-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.gc-top h3{margin-bottom:2px}
.gc-top p{font-size:14px}
.gc-pct{font:800 30px var(--display);letter-spacing:-.04em}
.bar.big{height:10px;margin:14px 0 0}
.gc-l{display:flex;justify-content:space-between;gap:12px;margin-top:10px;font-size:13px;color:var(--t3)}
.gc-l b{color:var(--t1)}
.cc-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}
.cc-head h3,.cc-head h2{margin:0}
.chart-card{padding:18px}
.chart-frame{border-radius:16px;overflow:hidden;border:1px solid var(--line);background:var(--paper-2);height:420px}
.chart-frame iframe{width:100%;height:100%;border:0;display:block}
.check-line{color:var(--t2);margin-bottom:16px}
.facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px}
.facts>div{border:1px solid var(--line);border-radius:16px;padding:12px 14px;background:var(--paper)}
.facts small{display:block;font:700 10.5px var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--t3)}
.facts b{display:block;font:800 22px var(--display);letter-spacing:-.03em;margin-top:4px}
.facts em{display:block;font-style:normal;font-size:12.5px;color:var(--t3)}
table.t tr.linked td{background:#d4574e08}
table.t .why{font-size:12.5px;color:var(--t2)}
.explain{margin-top:16px;border-top:1px solid var(--line);padding-top:14px;font-size:14px;color:var(--t2)}
.explain summary{cursor:pointer;font:700 14px var(--display);color:var(--t1);list-style:none;display:flex;align-items:center;gap:8px}
.explain summary::-webkit-details-marker{display:none}
.explain summary::before{content:"+";display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--paper-2);font-weight:800}
.explain[open] summary::before{content:"–"}
.explain p{margin:10px 0}
.desc{color:var(--t2);white-space:pre-wrap;word-break:break-word;margin-bottom:14px}
.lines.kv div b{font-weight:600}
.lines.kv button.link{font-weight:600}
.slip{display:inline-flex;align-items:center;gap:2px}
.slip input{width:48px;height:28px;border:1px solid var(--line);border-radius:8px;text-align:right;padding:0 6px;font-weight:700;outline:0}
.slip input:focus{border-color:var(--t3)}
#trade h3{font:800 20px var(--display);letter-spacing:-.03em;margin-bottom:6px}

/* ---------- admin ---------- */
.login{max-width:420px;margin:-40px auto 0;position:relative}
.admin-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:-40px 0 16px;position:relative;flex-wrap:wrap}
.admin-bar .stats{grid-template-columns:repeat(5,minmax(0,1fr));flex:1}
.admin-bar .stat b{font-size:20px}
.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start;margin-bottom:16px}
.preview-box{border-radius:16px;background:var(--paper-2);padding:14px;margin:-4px 0 16px}
.pv-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.pv-grid small{display:block;font:700 10.5px var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--t3)}
.pv-grid b{font:800 16px var(--display);letter-spacing:-.02em;display:block}
.pv-grid b+small{letter-spacing:0;text-transform:none;font:600 12px var(--body)}
.p-logo{display:inline-block;width:20px;height:20px;border-radius:6px;vertical-align:-4px;margin-right:6px}
.coins-card .cc-head .search{margin-left:auto}
table.t td.acts{white-space:nowrap;text-align:right}
table.t td.acts .btn+.btn{margin-left:6px}
table.t tr.is-hidden td{opacity:.55}
.img-ph{display:inline-block;width:32px;height:32px;border-radius:9px;background:var(--paper-2)}

/* ---------- docs ---------- */
.prose pre{position:relative}
.code-copy{position:absolute;top:8px;right:8px;height:26px;padding:0 10px;border-radius:999px;background:#ffffff1a;color:var(--d1);font:700 11px var(--display);opacity:0;transition:opacity .2s}
.prose pre:hover .code-copy,.code-copy:focus-visible{opacity:1}
.prose [data-copy]{cursor:pointer}

@media (max-width:1000px){
  .launch-grid,.coin-grid{grid-template-columns:1fr}
  /* on one column the trade box goes right under the numbers */
  .coin-grid{display:flex;flex-direction:column;gap:16px}
  .coin-main{display:contents}
  #stats{order:1}#gradCard{order:2}.coin-side{order:3}.chart-card{order:4}#checkCard{order:5}#about{order:6}
  .sticky{position:static}
  .admin-grid{grid-template-columns:1fr}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .admin-bar .stats{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:640px){
  .lf-top{grid-template-columns:1fr}
  .lf-top .drop{max-width:240px;margin:0 auto}
  .ch{flex-direction:column;align-items:flex-start;gap:16px}
  .ch-img{width:84px;height:84px;border-radius:20px}
  .facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pv-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stat b{font-size:18px}
  .chart-frame{height:340px}
  .admin-bar .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .coins-card .cc-head .search{margin-left:0;flex:1 1 100%}
}
