/* MemeLaunch — shared theme (black & purple) */
:root{
  --bg:#0a0710; --bg2:#0e0a16; --card:#16111f; --card2:#1c1529; --line:#2a2140; --line2:#3a2f57;
  --tx:#ece9f5; --mut:#9b91b3; --dim:#6b6285;
  --pri:#7c5cff; --pri2:#a855f7; --priSoft:rgba(124,92,255,.15); --priLine:rgba(124,92,255,.4); --priGlow:rgba(124,92,255,.4);
  --good:#34d399; --warn:#f5b453; --bad:#ff7a7a; --r:14px;
}
*{box-sizing:border-box;} html{scroll-behavior:smooth;}
/* Inter, self-hosted (the Google Fonts request was render-blocking for ~0.9s). One variable file covers 400–900. */
@font-face{font-family:'Inter';font-style:normal;font-weight:400 900;font-display:swap;src:url("/fonts/inter-latin.woff2") format("woff2");}
body{margin:0;background:var(--bg);color:var(--tx);font-family:'Inter',system-ui,Arial,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.5;overflow-x:clip;}
a{color:inherit;text-decoration:none;}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px;}
.grow{flex:1;}

/* header — CENTERED nav */
.hdr{position:sticky;top:0;z-index:50;backdrop-filter:blur(12px);background:rgba(10,7,16,.75);border-bottom:1px solid var(--line);}
.hdr-in{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:66px;gap:12px;}
.logo{display:flex;align-items:center;gap:9px;font-weight:800;font-size:18px;justify-self:start;}
.logo .mk{width:27px;height:27px;border-radius:8px;background:linear-gradient(135deg,var(--pri),var(--pri2));display:grid;place-items:center;color:#fff;font-weight:900;font-size:15px;}
.logo b{color:var(--pri);}
.nav{display:flex;gap:8px;justify-self:center;background:rgba(28,21,41,.6);border:1px solid var(--line);border-radius:999px;padding:5px;}
.nav a{font-size:13.5px;color:var(--mut);font-weight:600;padding:8px 15px;border-radius:999px;white-space:nowrap;transition:color .15s,background .15s;}
.nav a:hover{color:var(--tx);} .nav a.active{color:#fff;background:linear-gradient(135deg,var(--pri),var(--pri2));}
.hdr-r{display:flex;align-items:center;gap:10px;justify-self:end;}
.pill{font-size:10px;font-weight:800;letter-spacing:.4px;color:var(--pri);background:var(--priSoft);border:1px solid var(--priLine);padding:4px 9px;border-radius:999px;}

/* buttons */
.btn{display:inline-block;cursor:pointer;font-family:inherit;font-weight:700;border:1px solid transparent;border-radius:11px;color:#fff;background:linear-gradient(135deg,var(--pri),var(--pri2));padding:11px 16px;font-size:14px;line-height:1.25;text-align:center;vertical-align:middle;white-space:nowrap;transition:transform .15s,box-shadow .15s,opacity .15s;}
.btn:hover{transform:translateY(-1px);box-shadow:0 6px 20px var(--priGlow);}
.btn:disabled{opacity:.55;cursor:default;transform:none;box-shadow:none;}
.btn.ghost{background:transparent;color:var(--tx);border:1px solid var(--line2);} .btn.ghost:hover{border-color:var(--pri);box-shadow:none;}
.btn.sm{padding:8px 14px;font-size:13px;border-radius:999px;}
.btn.buy{background:linear-gradient(135deg,#22c55e,#16a34a);} .btn.sell{background:linear-gradient(135deg,#ef4444,#b91c1c);}
.btn.full{width:100%;margin-top:18px;padding:13px;font-size:15px;}

/* Pills & small controls never wrap — a 999px pill that wraps to two lines renders as a tall oval */
.chip,.pill,.page-head .tag,.center-h .tag,.hero-eyebrow,.st-tab,.st-live,.ts-chip,.pctbtn,.slipbtn,.cat-chip,.toggle,.logo-remove,.coin-socials .soc,.sf,.feed-badge,.hl-tag,.la-buy{white-space:nowrap;}
.st-tab{flex:0 0 auto;}
.ts-chip{max-width:100%;overflow:hidden;text-overflow:ellipsis;}
.btn,.menuBtn,.nav a,.cat-chip,.faq-q,.hfaq summary,.st-tab,.toggle,.pctbtn,.slipbtn{-webkit-tap-highlight-color:transparent;}
@media(hover:none){
  .btn:hover{transform:none;box-shadow:none;} .btn.ghost:hover{border-color:var(--line2);}
  .btn:active{transform:translateY(1px);}
  .ts-chip:hover,.why-c:hover,.step:hover,.tmpl:hover,.wopt:hover{transform:none;}
  .faq-q:active{background:var(--card2);}
}

/* page intro */
.page-head{padding:44px 20px 8px;text-align:center;}
.page-head .tag{font-size:11px;font-weight:800;letter-spacing:.6px;color:var(--pri);background:var(--priSoft);border:1px solid var(--priLine);padding:5px 12px;border-radius:999px;}
.page-head h1{font-size:38px;font-weight:900;letter-spacing:-1px;margin:16px 0 8px;}
.page-head h1 .g{background:linear-gradient(135deg,var(--pri),var(--pri2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.page-head p{color:var(--mut);font-size:16px;max-width:560px;margin:0 auto;}

/* hero (home) */
.hero{position:relative;text-align:center;padding:28px 0;overflow:hidden;min-height:calc(100dvh - 62px);display:flex;flex-direction:column;justify-content:center;box-sizing:border-box;}
.hero::before{content:"";position:absolute;inset:0;background:url("/assets/bg1-DWJ0RCfe.webp") center 28%/cover no-repeat;opacity:.42;z-index:-2;}
.hero::after{content:"";position:absolute;inset:0;background:radial-gradient(900px 500px at 50% -120px,rgba(124,92,255,.22),transparent 60%),linear-gradient(180deg,rgba(10,7,16,.5),var(--bg) 92%);z-index:-1;}
.hero h1{font-size:clamp(40px,6.6vw,62px);font-weight:900;letter-spacing:-1.6px;margin:0 0 16px;line-height:1.04;}
.hero h1 .g{background:linear-gradient(135deg,var(--pri),var(--pri2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.hero p{color:#d6d0e6;font-size:18.5px;max-width:600px;margin:0 auto 24px;line-height:1.55;}
.stat-n.good{background:linear-gradient(135deg,#fff,var(--good));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.main-col{min-width:0;}
.chips{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:26px;}
.chip{font-size:12.5px;font-weight:600;color:var(--tx);background:rgba(22,17,31,.75);border:1px solid var(--line);padding:8px 13px;border-radius:999px;backdrop-filter:blur(6px);} .chip b{color:var(--pri);}
.cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}

/* two-column: side stats + content (home) */
.home-main{max-width:1600px;margin:0 auto;padding:0 clamp(16px,2.5vw,44px);}
.split{display:grid;grid-template-columns:290px minmax(0,1fr);gap:52px;align-items:start;margin-top:6px;}
.main-col .hero{border-radius:22px;}
.hero-in{max-width:720px;margin:0 auto;}
.hero-stats{display:flex;gap:28px;justify-content:center;flex-wrap:wrap;margin-top:32px;}
.hero-stats .hs{text-align:center;min-width:76px;}
.hero-stats .hs b{display:block;font-size:24px;font-weight:900;color:var(--tx);letter-spacing:-.5px;}
.hero-stats .hs span{font-size:12.5px;color:var(--mut);}
.hero-scroll{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line2);border-radius:50%;color:var(--mut);font-size:18px;text-decoration:none;animation:heroBob 1.9s ease-in-out infinite;}
.hero-scroll:hover{color:var(--pri);border-color:var(--pri);}
@keyframes heroBob{0%,100%{transform:translateX(-50%) translateY(0);}50%{transform:translateX(-50%) translateY(5px);}}
.side{position:sticky;top:84px;display:flex;flex-direction:column;gap:12px;}
.stat-card{background:linear-gradient(180deg,var(--card2),var(--card));border:1px solid var(--line);border-radius:16px;padding:16px 18px;}
.stat-n{font-size:26px;font-weight:900;letter-spacing:-.6px;background:linear-gradient(135deg,#fff,var(--pri2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.stat-l{font-size:12px;color:var(--mut);margin-top:2px;}
.side-h{display:flex;align-items:center;gap:8px;font-weight:700;font-size:14px;margin:6px 0 2px;} .side-h .dot{width:9px;height:9px;border-radius:50%;background:var(--good);box-shadow:0 0 8px var(--good);}

section{scroll-margin-top:82px;} .sec{padding:30px 0;}
.sec-h{display:flex;align-items:baseline;gap:12px;margin-bottom:16px;}
.sec-h h2{font-size:22px;font-weight:800;margin:0;letter-spacing:-.4px;} .sec-h .sub{color:var(--mut);font-size:13.5px;}
.center-h{text-align:center;margin:6px auto 26px;}
.center-h .tag{font-size:11px;font-weight:800;letter-spacing:.6px;color:var(--pri);background:var(--priSoft);border:1px solid var(--priLine);padding:5px 12px;border-radius:999px;}
.center-h h2{font-size:28px;font-weight:900;letter-spacing:-.7px;margin:14px 0 8px;} .center-h p{color:var(--mut);max-width:560px;margin:0 auto;}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px;}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
label{display:block;font-size:12.5px;color:var(--mut);font-weight:500;margin:14px 0 6px;}
.card>label:first-child{margin-top:0;}
input{width:100%;padding:12px 13px;background:var(--bg2);border:1px solid var(--line);border-radius:11px;color:var(--tx);font-size:14px;font-family:inherit;}
/* iOS zooms the page in when you focus an input smaller than 16px — bump inputs on phones so tapping
   a field never yanks the layout around. Also grow the small quick-amount buttons to a real tap size. */
@media(max-width:560px){
  input,textarea,select{font-size:16px;}
  .pctbtn,.slipbtn{padding:9px 12px;min-height:38px;}
}
input:focus{outline:none;border-color:var(--pri);box-shadow:0 0 0 3px var(--priSoft);}
.hint{font-size:11.5px;color:var(--dim);margin-top:6px;}
.divider{display:flex;align-items:center;gap:10px;color:var(--dim);font-size:11px;text-transform:uppercase;letter-spacing:1px;margin:16px 0 12px;}
.divider::before,.divider::after{content:"";flex:1;height:1px;background:var(--line);}

.nv-msg{font-size:13px;margin-top:12px;min-height:16px;line-height:1.55;}
.nv-msg.error{color:var(--bad);} .nv-msg.done{color:var(--good);} .nv-msg.busy{color:#cabfff;} .nv-msg a{color:var(--pri);}
.nv-msg a.btn{color:#fff;} .nv-msg a.btn.ghost{color:var(--tx);}
.nv-spin{display:inline-block;width:12px;height:12px;border:2px solid rgba(255,255,255,.25);border-top-color:#fff;border-radius:50%;animation:sp .8s linear infinite;vertical-align:-1px;} @keyframes sp{to{transform:rotate(360deg);}}

/* why cards */
.why{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.why-c{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px;transition:border-color .15s,transform .15s;}
.why-c:hover{border-color:var(--priLine);transform:translateY(-2px);}
.why-c .ic{font-size:24px;} .why-c h3{margin:10px 0 6px;font-size:16px;} .why-c p{margin:0;color:var(--mut);font-size:13px;}

/* phone + memes */
.showcase{position:relative;text-align:center;padding:10px 0 20px;min-height:420px;}
.showcase .phone{height:400px;position:relative;z-index:2;filter:drop-shadow(0 30px 60px rgba(0,0,0,.6));}
.showcase .memes{position:absolute;top:0;height:100%;width:100%;left:0;pointer-events:none;}
.showcase .memes img{position:absolute;height:44%;top:26%;}
.showcase .memes .l{left:4%;} .showcase .memes .r{right:4%;}

/* live activity */
.la-row{display:flex;gap:11px;align-items:center;padding:10px;border-radius:11px;background:var(--bg2);border:1px solid var(--line);margin-bottom:8px;}
.la-dot{width:30px;height:30px;border-radius:9px;background:var(--priSoft);border:1px solid var(--priLine);display:grid;place-items:center;font-size:15px;}
.la-t{font-size:13px;} .la-t b{color:var(--pri);} .la-s{font-size:10.5px;color:var(--mut);}
.la-txt{flex:1;min-width:0;}
.la-buy{flex:0 0 auto;text-decoration:none;}
.ticker .la-buy{display:none;}

/* feed */
.feed-controls{display:flex;gap:10px;margin-bottom:14px;} .feed-controls input{flex:1;min-width:0;}
.toggle{flex:0 0 auto;padding:0 16px;font-size:13px;border-radius:11px;background:var(--bg2);border:1px solid var(--line);color:var(--mut);cursor:pointer;font-family:inherit;font-weight:600;}
.toggle.active{background:var(--priSoft);border-color:var(--priLine);color:var(--pri);}
.feed-row{display:flex;align-items:center;gap:13px;padding:13px;border:1px solid var(--line);border-radius:12px;margin-bottom:10px;transition:border-color .15s,background .15s;}
.feed-row:hover{border-color:var(--line2);background:var(--card2);}
.feed-av{flex:0 0 auto;width:40px;height:40px;border-radius:11px;background:linear-gradient(135deg,var(--priSoft),rgba(168,85,247,.12));border:1px solid var(--priLine);display:grid;place-items:center;font-weight:800;color:var(--pri2);font-size:16px;}
.feed-info{flex:1;min-width:0;}
.feed-name{font-size:14.5px;font-weight:700;display:flex;align-items:center;gap:7px;flex-wrap:wrap;}
.feed-sym{color:var(--mut);font-size:12px;font-weight:600;}
.feed-badge{font-size:9.5px;font-weight:800;letter-spacing:.3px;color:var(--good);background:rgba(52,211,153,.1);border:1px solid rgba(52,211,153,.3);padding:2px 7px;border-radius:999px;}
.feed-badge.grad{color:#c7b3ff;background:rgba(168,85,247,.14);border-color:rgba(168,85,247,.4);}
.feed-badge.warn{color:var(--warn);background:rgba(245,180,83,.12);border-color:rgba(245,180,83,.35);}
.feed-sub{font-size:11px;color:var(--dim);margin:4px 0 6px;} .feed-trade{flex:0 0 auto;}
.prog{height:6px;background:var(--bg2);border-radius:999px;overflow:hidden;border:1px solid var(--line);} .prog.small{height:5px;}
.prog-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--pri),var(--pri2));transition:width .4s;}

/* trade panel */
.stat{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 12px;font-size:12.5px;color:var(--mut);margin:9px 0;} .stat a{color:var(--pri);} .stat>span{white-space:nowrap;} .stat>.hint{flex:1 1 100%;white-space:normal;margin-top:3px;}
.badges{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0;}
.badge{font-size:10.5px;font-weight:700;padding:4px 9px;border-radius:12px;line-height:1.35;border:1px solid var(--line);}
.badge.good{color:var(--good);background:rgba(52,211,153,.1);border-color:rgba(52,211,153,.3);}
.badge.warn{color:var(--warn);background:rgba(245,180,83,.12);border-color:rgba(245,180,83,.35);}
.badge.bad{color:var(--bad);background:rgba(255,122,122,.12);border-color:rgba(255,122,122,.4);}
.badge.muted{color:var(--mut);background:var(--bg2);}
.quote{font-size:12px;color:var(--pri);min-height:15px;margin-top:6px;}
/* F16: multi-line quote (fee / price impact / min received / slippage) */
.quote .q-head{display:block;font-weight:700;color:var(--pri);margin-bottom:3px;}
.quote .q-line{display:block;font-size:12px;color:var(--mut);font-weight:600;line-height:1.7;}
.quote .q-line b{color:var(--tx);}
.quote .q-line.warn{color:var(--warn);}
.quote .q-line.dim{color:var(--dim);font-weight:500;}
/* F25: slippage chips */
.slip-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:12px 0 2px;}
.slip-lbl{font-size:12px;color:var(--mut);font-weight:600;margin-right:2px;}
.slipbtn{padding:5px 11px;font-size:12.5px;font-weight:700;font-family:inherit;color:var(--mut);background:var(--bg2);border:1px solid var(--line2);border-radius:999px;cursor:pointer;transition:color .12s,border-color .12s,background .12s;}
.slipbtn:hover{color:var(--tx);border-color:var(--pri);}
.slipbtn.active{color:#fff;background:var(--pri);border-color:var(--pri);}
/* F27: top-holder list */
.hl-row{display:flex;align-items:center;gap:8px;padding:5px 0;border-top:1px solid var(--line);font-size:12.5px;}
.hl-row:first-of-type{border-top:none;}
.hl-rank{color:var(--dim);font-weight:700;width:26px;flex:0 0 auto;}
.hl-addr{color:var(--pri);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;text-decoration:none;}
.hl-addr:hover{text-decoration:underline;}
.hl-tag{font-size:9.5px;font-weight:800;letter-spacing:.3px;text-transform:uppercase;color:var(--warn);background:rgba(245,180,83,.12);border:1px solid rgba(245,180,83,.35);padding:1px 6px;border-radius:999px;}
.hl-pct{margin-left:auto;font-weight:800;color:var(--tx);font-variant-numeric:tabular-nums;}
.hl-pct.warm{color:var(--warn);} .hl-pct.hot{color:var(--bad);}
.refresh{background:transparent;border:1px solid var(--line2);color:var(--mut);width:auto;padding:5px 11px;font-size:13px;border-radius:9px;box-shadow:none;white-space:nowrap;flex:0 0 auto;} .refresh:hover{color:var(--tx);transform:none;box-shadow:none;}

/* results page big stats */
.big-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin:14px 0;}
.big-stat{background:linear-gradient(180deg,var(--card2),var(--card));border:1px solid var(--line);border-radius:18px;padding:28px;text-align:center;}
.big-stat .n{font-size:44px;font-weight:900;letter-spacing:-1.5px;background:linear-gradient(135deg,#fff,var(--pri2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.big-stat .l{color:var(--mut);font-size:14px;margin-top:4px;}

/* faq / support */
.faq{border:1px solid var(--line);border-radius:12px;padding:16px 18px;margin-bottom:10px;background:var(--card);}
.faq h3{margin:0 0 6px;font-size:15px;} .faq p{margin:0;color:var(--mut);font-size:13.5px;}

footer{border-top:1px solid var(--line);margin-top:36px;padding:26px 0 40px;color:var(--dim);font-size:12.5px;text-align:center;} footer b{color:var(--mut);}

/* Mobile menu: the nav collapses behind a ☰ button instead of vanishing (it used to just disappear,
   leaving every page but the homepage with no way to navigate). */
.menuBtn{display:none;background:var(--bg2);border:1px solid var(--line2);color:var(--tx);border-radius:10px;padding:8px 11px;font-size:16px;line-height:1;cursor:pointer;}
.menuBtn:hover{border-color:var(--pri);}
@media(max-width:1080px){
  .nav{display:none;}
  .menuBtn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:34px;padding:0;border-radius:999px;font-size:15px;order:2;}
  .hdr.open .nav{display:flex;flex-direction:column;align-items:stretch;position:absolute;top:100%;left:0;right:0;background:var(--card);border-width:0 0 1px;border-radius:0 0 16px 16px;padding:10px;gap:4px;box-shadow:0 18px 40px rgba(0,0,0,.45);z-index:60;}
  .hdr.open .nav a{padding:12px 14px;border-radius:10px;}
  .hdr-in{position:static;grid-template-columns:auto minmax(0,1fr) auto;}
}
@media(max-width:820px){
  .split{grid-template-columns:1fr;gap:24px;} .side{position:static;flex-direction:row;flex-wrap:wrap;}
  .side .stat-card{flex:1;min-width:130px;} .side-h,#liveActivity,.side .hint{flex-basis:100%;}
  .main-col{order:1;} .side{order:2;} .main-col .hero{min-height:calc(100svh - 64px);border-radius:16px;padding:clamp(40px,9vh,90px) 0 60px;justify-content:flex-start;}
  .hero h1{font-size:34px;} .grid2{grid-template-columns:1fr;gap:0;} .grid2>div+div label{margin-top:14px!important;}
  .why{grid-template-columns:1fr 1fr;gap:12px;} .why-c{padding:18px;}
  .big-stats{gap:12px;} .big-stat{padding:22px 18px;} .big-stat .n{font-size:36px;}
  .page-head{padding:36px 20px 8px;} .page-head h1{font-size:28px;line-height:1.15;text-wrap:balance;} .page-head .btn{margin:6px 0 14px;}
  .center-h h2{font-size:23px;} .showcase .memes img{height:26%;top:34%;}
  .hdr-in{grid-template-columns:auto 1fr;} .hdr-r .pill{display:none;}
  /* section headers: title + button on row 1, subtitle on its own row */
  .sec-h{flex-wrap:wrap;align-items:center;gap:4px 10px;}
  .sec-h h2{flex:1 1 auto;min-width:0;}
  .sec-h .grow{display:none;}
  .sec-h>.btn{flex:0 0 auto;margin-left:auto;}
  .sec-h .sub{flex:1 1 100%;order:3;}
  /* action rows in trend / feed cards: whole pills, never squeezed */
  .st-actions{flex-direction:column;} .st-actions>*{flex:0 0 auto;width:100%;}
  #feed.grid .feed-actions>*{flex:1 1 auto;}
  #feed.grid .feed-actions>[aria-label="Share on X"]{flex:0 0 auto;min-width:44px;padding-left:14px;padding-right:14px;}
  /* readable helper text + tappable links */
  .hint a{text-decoration:underline;text-underline-offset:2px;}
  #report .hint{color:var(--mut);font-size:13.5px;line-height:1.65;}
  #report .mini-note a{color:var(--pri);text-decoration:underline;}
  .card .setfor-h+.hint{font-size:13px;color:var(--mut);}
  #feed>.hint{font-size:13px;color:var(--mut);text-align:center;padding:14px 0;margin:0;}
  #smList>.hint{margin:0;padding:18px 16px;font-size:13px;color:var(--mut);text-align:center;border:1px dashed var(--line2);border-radius:12px;background:var(--card);}
  #chatRefresh{width:34px;height:34px;padding:0;display:inline-grid;place-items:center;font-size:16px;line-height:1;border-radius:50%;}
  .faq-cats{gap:6px;} .cat-chip{padding:8px 12px;font-size:12px;}
}

/* FAQ accordion (support) */
.faq-search{position:relative;max-width:640px;margin:18px auto 16px;}
.faq-search input{padding-left:40px;} .faq-search input::placeholder{text-overflow:ellipsis;}
.faq-search .mag{position:absolute;left:14px;top:50%;transform:translateY(-50%);opacity:.6;font-size:14px;}
.faq-cats{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-bottom:22px;}
.cat-chip{font-size:12.5px;font-weight:600;color:var(--mut);background:var(--card);border:1px solid var(--line);padding:8px 15px;border-radius:999px;cursor:pointer;}
.cat-chip:hover{color:var(--tx);} .cat-chip.active{color:#fff;background:linear-gradient(135deg,var(--pri),var(--pri2));border-color:transparent;}
.faq-group-h{display:flex;align-items:center;gap:8px;font-weight:700;font-size:15px;margin:22px 0 10px;} .faq-group-h .ic{color:var(--pri);}
.faq-item{border:1px solid var(--line);border-radius:12px;margin-bottom:10px;background:var(--card);overflow:hidden;}
.faq-q{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;cursor:pointer;font-weight:600;font-size:14.5px;user-select:none;}
.faq-q .plus{color:var(--pri);font-size:20px;transition:transform .2s;flex:0 0 auto;}
.faq-item.open .faq-q .plus{transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .25s ease;color:var(--mut);font-size:13.5px;line-height:1.6;}
.faq-a div{padding:0 18px 16px;} .faq-item.open .faq-a{max-height:400px;}
.faq-empty{text-align:center;color:var(--dim);padding:20px;}

/* feed CARD GRID (trending) */
#feed.grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
#feed.grid .feed-row{flex-direction:column;align-items:stretch;gap:10px;}
#feed.grid .feed-top{display:flex;align-items:center;gap:11px;}
#feed.grid .feed-actions{display:flex;gap:8px;} #feed.grid .feed-actions>*{flex:1;text-align:center;}

/* create form extras */
.info-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:6px;}
.info-box{background:var(--bg2);border:1px solid var(--line);border-radius:11px;padding:10px 13px;}
.info-box .k{font-size:11px;color:var(--dim);} .info-box .v{font-size:14px;font-weight:700;color:var(--tx);margin-top:1px;} .info-box .v.ok{color:var(--good);}
.dropzone{border:1.5px dashed var(--line2);border-radius:12px;padding:22px;text-align:center;color:var(--mut);cursor:pointer;font-size:13px;background:var(--bg2);}
.dropzone:hover{border-color:var(--pri);} .dropzone img{max-height:70px;border-radius:8px;margin-bottom:6px;display:block;margin-left:auto;margin-right:auto;}
.dropzone.drag{border-color:var(--pri);background:var(--priSoft);color:var(--tx);}
.logo-cap{font-size:12px;color:var(--mut);margin-top:2px;}
.logo-remove{margin-top:9px;background:transparent;border:1px solid var(--line2);color:var(--mut);border-radius:999px;padding:4px 13px;font:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:border-color .15s,color .15s;}
.logo-remove:hover{border-color:var(--bad);color:var(--bad);}

/* Floating social bar (right edge, desktop) */
.social-bar{position:fixed;right:14px;top:50%;transform:translateY(-50%);z-index:900;display:flex;flex-direction:column;align-items:center;gap:10px;}
.social-bar .sb-label{writing-mode:vertical-rl;transform:rotate(180deg);font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--dim);margin-bottom:4px;}
.social-bar a{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--card2,#161226);border:1px solid var(--line2,#3a3055);color:var(--mut,#9b91b3);transition:color .15s,border-color .15s,transform .15s,box-shadow .15s;}
.social-bar a:hover{color:#fff;border-color:var(--pri);box-shadow:0 0 16px var(--priGlow,rgba(124,92,255,.45));transform:translateY(-2px);}
@media (max-width:900px){.social-bar{display:none;}}
.mini-note{font-size:11px;color:var(--warn);margin-top:6px;}

/* ---- earnings (My Coins) ---- */
#earnSummary:empty{display:none;}
#earnSummary{margin:0 0 18px;}
.earn-card{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px;background:linear-gradient(135deg,rgba(52,211,153,.13),rgba(124,92,255,.10));border:1px solid var(--priLine);border-radius:16px;padding:20px 22px;}
.earn-main{display:flex;flex-direction:column;gap:3px;}
.earn-label{font-size:11px;font-weight:800;letter-spacing:.5px;color:var(--mut);text-transform:uppercase;}
.earn-big{font-size:34px;font-weight:900;letter-spacing:-1px;line-height:1.02;background:linear-gradient(135deg,#fff,var(--good));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.earn-big span{font-size:17px;-webkit-text-fill-color:var(--good);}
.earn-note{flex:1;min-width:230px;font-size:12.5px;color:var(--mut);line-height:1.55;} .earn-note b{color:var(--tx);}
.feed-earn{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;background:rgba(52,211,153,.08);border:1px solid rgba(52,211,153,.22);border-radius:10px;}
.earn-amt{font-size:13.5px;color:var(--mut);} .earn-amt b{color:var(--good);font-weight:800;font-size:15px;}
.btn.claim{background:linear-gradient(135deg,var(--good),#0ea472);}
.btn.claim:disabled{background:var(--card2);color:var(--dim);border:1px solid var(--line);}

/* ---- coin logos in feed + name links ---- */
.feed-av img{width:100%;height:100%;object-fit:cover;border-radius:10px;display:block;}
.feed-av.has-img{background:none;padding:0;overflow:hidden;}
.cn-link{transition:color .15s;} .cn-link:hover{color:var(--pri);}
.feed-links{font-size:12.5px;color:var(--muted,#8b86a0);line-height:1.9;}
.feed-links a{color:var(--pri);text-decoration:none;white-space:nowrap;}
.feed-links a:hover{text-decoration:underline;}

/* ---- shareable coin page ---- */
.coin-id{display:flex;align-items:center;gap:15px;}
.coin-logo-wrap{flex:0 0 auto;width:60px;height:60px;}
.coin-logo{width:60px;height:60px;border-radius:15px;object-fit:cover;border:1px solid var(--priLine);}
.coin-logo.fb{display:grid;place-items:center;font-weight:900;font-size:26px;color:var(--pri2);background:linear-gradient(135deg,var(--priSoft),rgba(168,85,247,.12));}
.coin-id-txt{flex:1;min-width:0;}
.coin-title{font-size:22px;font-weight:900;letter-spacing:-.5px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.coin-sym{font-size:15px;font-weight:800;color:var(--pri);}
.coin-mint{font-size:12.5px;color:var(--mut);} .coin-mint:hover{color:var(--pri);}
.coin-hero-actions{flex:0 0 auto;}
.coin-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-top:16px;}
.cstat{background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:11px 13px;}
.cs-l{font-size:11px;color:var(--dim);text-transform:uppercase;letter-spacing:.4px;}
.cs-v{font-size:16px;font-weight:800;margin-top:3px;color:var(--tx);}
@media(max-width:560px){ .coin-stats:not(.coin-market){grid-template-columns:1fr 1fr;gap:8px;} .coin-stats:not(.coin-market) .cstat:first-child{grid-column:1/-1;} .coin-stats .cs-v{font-size:15px;} }
/* F08/F09: coin description, social links + live market row */
.coin-desc{margin-top:8px;font-size:13.5px;line-height:1.5;color:var(--tx);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.coin-socials{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;}
.coin-socials .soc{font-size:12.5px;font-weight:700;color:var(--tx);background:var(--bg2);border:1px solid var(--line2);border-radius:999px;padding:5px 11px;text-decoration:none;transition:border-color .15s,color .15s;}
.coin-socials .soc:hover{border-color:var(--pri);color:var(--pri);}
.coin-market{grid-template-columns:1fr 1fr 1fr;margin-top:10px;}
.cs-v .up,.cs-v.up{color:var(--good);} .cs-v .down,.cs-v.down{color:var(--bad);}
.cs-v.flash{animation:csflash .6s ease;border-radius:6px;}
@keyframes csflash{0%{box-shadow:0 0 0 6px rgba(52,211,153,.22);}100%{box-shadow:0 0 0 6px rgba(52,211,153,0);}}
@media(max-width:560px){ .coin-market{grid-template-columns:1fr 1fr 1fr;gap:6px;} .coin-market .cstat{padding:8px 7px;} .coin-market .cs-l{font-size:9.5px;} .coin-market .cs-v{font-size:13px;} }

/* ======== HOMEPAGE v5 (professional rebuild) ======== */
.hero-eyebrow{display:inline-block;font-size:12px;font-weight:700;color:var(--pri);background:var(--priSoft);border:1px solid var(--priLine);padding:6px 14px;border-radius:999px;margin-bottom:20px;}
.btn.lg{padding:14px 24px;font-size:15px;}
.price-note{margin-top:20px;font-size:13.5px;color:var(--mut);} .price-note b{color:var(--tx);}
.sec-tight{padding:16px 0;}

/* stats bar (full width, no more lopsided gap) */
.stat-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.sb{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px 14px;text-align:center;}
.sb-n{font-size:27px;font-weight:900;letter-spacing:-.6px;background:linear-gradient(135deg,#fff,var(--pri2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-variant-numeric:tabular-nums;}
.sb-n.good{background:linear-gradient(135deg,#fff,var(--good));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.sb-l{font-size:12px;color:var(--mut);margin-top:4px;}
.ticker-wrap{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:18px;}
.ticker-h{font-size:11px;font-weight:800;letter-spacing:.5px;color:var(--good);text-transform:uppercase;display:flex;align-items:center;gap:6px;}
.ticker-h .dot{width:8px;height:8px;border-radius:50%;background:var(--good);box-shadow:0 0 8px var(--good);}
.ticker{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;}
.ticker .la-row{margin:0;padding:7px 13px;border-radius:999px;background:var(--bg2);}
.ticker .la-dot{width:22px;height:22px;border-radius:7px;font-size:12px;}
.ticker .la-t{font-size:12px;} .ticker .la-s{font-size:9.5px;}

/* how it works */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.step{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px;transition:border-color .15s,transform .15s;}
.step:hover{border-color:var(--priLine);transform:translateY(-2px);}
.step-n{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,var(--pri),var(--pri2));color:#fff;font-weight:800;display:grid;place-items:center;font-size:16px;margin-bottom:13px;}
.step h3{margin:0 0 6px;font-size:15px;} .step p{margin:0;color:var(--mut);font-size:12.5px;line-height:1.5;}

/* product preview (techy browser mock) */
.preview{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center;}
.preview-txt h2{font-size:26px;font-weight:900;letter-spacing:-.6px;margin:14px 0 10px;} .preview-txt p{color:var(--mut);margin:0 0 18px;font-size:14.5px;line-height:1.6;}
.mock{background:var(--card);border:1px solid var(--line2);border-radius:16px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.45);}
.mock-bar{display:flex;align-items:center;gap:7px;padding:11px 14px;background:var(--bg2);border-bottom:1px solid var(--line);}
.mock-bar i{width:11px;height:11px;border-radius:50%;background:var(--line2);}
.mock-bar i:nth-child(1){background:#ff5f57;} .mock-bar i:nth-child(2){background:#febc2e;} .mock-bar i:nth-child(3){background:#28c840;}
.mock-url{margin-left:10px;font-size:11px;color:var(--dim);background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:4px 11px;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.mock-body{padding:20px;}
.mock-title{font-weight:800;font-size:17px;margin-bottom:15px;}
.mock-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.mock-field{margin-bottom:11px;} .mock-field label{font-size:11px;color:var(--mut);display:block;margin-bottom:5px;}
.mock-input{background:var(--bg2);border:1px solid var(--line);border-radius:9px;padding:9px 11px;font-size:13px;color:var(--tx);}
.mock-drop{background:var(--bg2);border:1px solid var(--line);border-radius:9px;padding:9px 11px;font-size:13px;color:var(--mut);display:flex;align-items:center;gap:9px;}
.mock-logo{width:26px;height:26px;border-radius:7px;background:var(--priSoft);border:1px solid var(--priLine);display:grid;place-items:center;font-size:15px;}
.mock-badges{display:flex;gap:6px;flex-wrap:wrap;margin:13px 0;}
.mock-badges span{font-size:10.5px;color:var(--good);background:rgba(52,211,153,.1);border:1px solid rgba(52,211,153,.25);border-radius:999px;padding:3px 9px;}
.mock-btn{background:linear-gradient(135deg,var(--pri),var(--pri2));color:#fff;text-align:center;font-weight:700;padding:12px;border-radius:10px;font-size:14px;}

/* honest big stats */
.bigstats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:24px;}
.bigstat{background:linear-gradient(150deg,var(--card2),var(--card));border:1px solid var(--priLine);border-radius:16px;padding:24px;text-align:center;}
.bs-n{font-size:40px;font-weight:900;letter-spacing:-1.2px;line-height:1;background:linear-gradient(135deg,#fff,var(--pri2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.bs-l{font-size:13px;color:var(--mut);margin-top:8px;}

/* homepage FAQ (CSS-only accordion) */
.hfaq{max-width:680px;margin:0 auto;display:flex;flex-direction:column;gap:10px;}
.hfaq details{background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden;transition:border-color .15s;}
.hfaq details[open]{border-color:var(--priLine);}
.hfaq summary{list-style:none;cursor:pointer;padding:15px 18px;font-weight:600;font-size:14.5px;display:flex;align-items:center;justify-content:space-between;gap:12px;}
.hfaq summary::-webkit-details-marker{display:none;}
.hfaq details[open] summary{color:var(--pri);}
.hfaq summary i{width:11px;height:11px;position:relative;flex:0 0 auto;}
.hfaq summary i::before,.hfaq summary i::after{content:"";position:absolute;background:var(--pri);border-radius:2px;}
.hfaq summary i::before{top:5px;left:0;width:11px;height:2px;}
.hfaq summary i::after{top:0;left:5px;width:2px;height:11px;transition:transform .2s,opacity .2s;}
.hfaq details[open] summary i::after{transform:rotate(90deg);opacity:0;}
.hfaq details > div{padding:0 18px 16px;color:var(--mut);font-size:13.5px;line-height:1.65;}
.hfaq details > div b{color:var(--tx);}

@media(max-width:820px){
  .stat-bar{grid-template-columns:1fr 1fr;} .steps{grid-template-columns:1fr 1fr;}
  .preview{grid-template-columns:1fr;} .mock{max-width:440px;margin:0 auto;} .bigstats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;} .bigstat{padding:18px 12px;} .bs-n{font-size:32px;}
}
@media(max-width:520px){ .steps{grid-template-columns:1fr;} .mock-grid{grid-template-columns:1fr;} }

/* ---- create form v2 (collapsible options + done-for-you panel) ---- */
.opt{border:1px solid var(--line);border-radius:11px;margin-top:14px;background:var(--bg2);overflow:hidden;transition:border-color .15s;}
.opt[open]{border-color:var(--priLine);}
.opt summary{list-style:none;cursor:pointer;padding:12px 15px;font-weight:600;font-size:13.5px;color:var(--tx);display:flex;align-items:center;gap:8px;}
.opt summary::-webkit-details-marker{display:none;}
.opt summary span{font-size:10.5px;color:var(--dim);background:var(--card);border:1px solid var(--line);border-radius:999px;padding:2px 9px;margin-left:auto;font-weight:600;}
.opt[open] summary{color:var(--pri);border-bottom:1px solid var(--line);}
.opt-body{padding:12px 15px 14px;}
.setfor{margin-top:16px;background:linear-gradient(135deg,rgba(52,211,153,.08),rgba(124,92,255,.06));border:1px solid var(--priLine);border-radius:14px;padding:16px 17px;}
.setfor-h{font-weight:700;font-size:14px;margin-bottom:12px;}
.setfor-grid{display:flex;flex-wrap:wrap;gap:8px;}
.sf{font-size:12px;color:var(--mut);background:var(--bg2);border:1px solid var(--line);border-radius:999px;padding:6px 12px;}
.sf.ok{color:var(--good);background:rgba(52,211,153,.08);border-color:rgba(52,211,153,.22);font-weight:600;}
.sf.warn{color:var(--warn);background:rgba(251,191,36,.08);border-color:rgba(251,191,36,.28);font-weight:600;}

/* ---- quick-launch template chips ---- */
.tmpl-row{display:flex;flex-wrap:wrap;gap:10px;}
.tmpl{display:flex;flex-direction:column;align-items:center;gap:5px;background:var(--bg2);border:1px solid var(--line);border-radius:13px;padding:14px 18px;font-size:24px;min-width:76px;transition:border-color .15s,transform .15s;}
.tmpl:hover{border-color:var(--pri);transform:translateY(-2px);}
.tmpl span{font-size:12px;color:var(--mut);font-weight:600;}

/* ---- Trending on Solana (external, read-only) ---- */
.st-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.st-card{background:var(--bg2);border:1px solid var(--line);border-radius:13px;padding:13px;display:flex;flex-direction:column;gap:11px;transition:border-color .15s;}
.st-card:hover{border-color:var(--line2);}
.st-top{display:flex;align-items:center;gap:11px;min-width:0;}
.st-av{position:relative;flex:0 0 auto;width:40px;height:40px;border-radius:11px;overflow:hidden;background:linear-gradient(135deg,var(--priSoft),rgba(168,85,247,.12));border:1px solid var(--priLine);display:grid;place-items:center;}
.st-fb{font-weight:800;color:var(--pri2);font-size:16px;}
.st-av img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.st-info{min-width:0;} .st-name{font-weight:700;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;} .st-sym{font-size:11.5px;color:var(--mut);}
.st-actions{display:flex;gap:8px;} .st-actions>*{flex:1;text-align:center;}
@media(max-width:560px){ .st-grid{grid-template-columns:1fr;} }

/* ---- smart money tracker ---- */
.sm-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px;margin-bottom:12px;}
.sm-head{display:flex;align-items:center;gap:10px;margin-bottom:12px;}
.sm-addr{font-weight:700;font-size:14px;} .sm-addr a{color:inherit;} .sm-addr a:hover{color:var(--pri);}
.sm-rm{margin:-6px -10px -6px auto;padding:6px 10px;border-radius:8px;min-height:32px;background:none;border:none;color:var(--dim);cursor:pointer;font-size:13px;font-family:inherit;} .sm-rm:hover,.sm-rm:active{color:var(--bad);background:rgba(255,122,122,.1);}
.sm-trades{display:flex;flex-direction:column;gap:7px;}
.sm-trade{display:flex;align-items:center;gap:10px;padding:8px 11px;background:var(--bg2);border:1px solid var(--line);border-radius:9px;font-size:13px;}
.sm-act{font-weight:800;font-size:10.5px;padding:3px 8px;border-radius:6px;text-transform:uppercase;letter-spacing:.03em;flex:0 0 auto;}
.sm-act.buy{color:var(--good);background:rgba(52,211,153,.12);} .sm-act.sell{color:var(--bad);background:rgba(255,122,122,.12);} .sm-act.swap{color:var(--mut);background:var(--card2);}
.sm-tok{font-weight:600;color:var(--tx);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.sm-amt{color:var(--mut);flex:0 0 auto;} .sm-time{margin-left:auto;color:var(--dim);font-size:11px;flex:0 0 auto;} .sm-trade a{color:var(--pri);flex:0 0 auto;}

/* ---- copyable contract address (feed + coin page) ---- */
.ca{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--mut);background:var(--bg2);border:1px solid var(--line);border-radius:7px;padding:3px 9px;cursor:pointer;font-family:inherit;transition:border-color .15s,color .15s;max-width:100%;}
.ca:hover{border-color:var(--pri);color:var(--tx);} .ca b{color:var(--tx);font-weight:600;} .ca .cc{opacity:.6;}
.ca.copied{color:var(--good);border-color:rgba(52,211,153,.4);}

/* ---- wallet picker modal ---- */
.wpick-back{position:fixed;inset:0;background:rgba(6,4,12,.7);backdrop-filter:blur(4px);z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;}
.wpick{background:var(--card);border:1px solid var(--line2);border-radius:18px;padding:20px;width:100%;max-width:360px;box-shadow:0 30px 80px rgba(0,0,0,.5);}
.wpick-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
.wpick-h b{font-size:16px;} .wpick-x{cursor:pointer;color:var(--mut);background:none;border:none;font-size:20px;line-height:1;}
.wopt{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:13px 15px;margin-bottom:9px;cursor:pointer;color:var(--tx);font-family:inherit;font-size:14.5px;font-weight:600;transition:border-color .15s,transform .15s;}
.wopt:hover{border-color:var(--pri);transform:translateY(-1px);}
.wopt .wi{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;font-size:18px;background:var(--priSoft);border:1px solid var(--priLine);overflow:hidden;}
.wopt .wi img{width:22px;height:22px;border-radius:5px;display:block;}
.wopt .wtag{margin-left:auto;font-size:11px;font-weight:600;color:var(--good);}
.wopt.miss{opacity:.55;} .wopt.miss .wtag{color:var(--dim);}
.wpick-note{font-size:11.5px;color:var(--dim);text-align:center;margin-top:6px;}
.wpick-conn{font-size:12.5px;color:var(--mut);background:var(--bg2);border:1px solid var(--line);border-radius:10px;padding:8px 12px;margin-bottom:12px;text-align:center;}
.wpick-conn b{color:var(--good);}
.wopt.active{border-color:var(--good);background:var(--priSoft);}
.wopt.active .wtag{color:var(--good);}
.wpick-dc{display:block;width:100%;text-align:center;background:none;border:1px solid var(--line2);color:var(--mut);border-radius:12px;padding:11px;margin:4px 0 10px;cursor:pointer;font-family:inherit;font-size:13.5px;font-weight:600;transition:border-color .15s,color .15s;}
.wpick-dc:hover{border-color:#e0556a;color:#ff7085;}
.st-tabs{display:flex;align-items:center;gap:8px;margin-bottom:14px;}
.st-tab{background:var(--bg2);border:1px solid var(--line);color:var(--mut);border-radius:999px;padding:7px 15px;font-family:inherit;font-size:13px;font-weight:700;cursor:pointer;transition:.15s;}
.st-tab:hover{border-color:var(--pri);color:var(--tx);}
.st-tab.active{background:var(--pri);border-color:var(--pri);color:#fff;}
.st-live{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--dim);}
.st-dot{width:7px;height:7px;border-radius:50%;background:var(--good);box-shadow:0 0 0 0 rgba(52,211,153,.6);animation:stpulse 1.6s infinite;}
@keyframes stpulse{0%{box-shadow:0 0 0 0 rgba(52,211,153,.5);}70%{box-shadow:0 0 0 6px rgba(52,211,153,0);}100%{box-shadow:0 0 0 0 rgba(52,211,153,0);}}
@media (prefers-reduced-motion: reduce){.st-dot{animation:none;}}
.st-why{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0 2px;font-size:12px;}
.st-chg{font-weight:700;} .st-chg.up{color:var(--good);} .st-chg.dn{color:#ff6b81;}
.st-vol{color:var(--dim);}
.trend-suggest{background:linear-gradient(180deg,var(--priSoft),transparent);border:1px solid var(--priLine);border-radius:14px;padding:14px 15px;margin-bottom:16px;}
.ts-h{font-size:13.5px;line-height:1.55;color:var(--tx);}
.ts-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:11px;}
.ts-chip{background:var(--bg2);border:1px solid var(--line2);color:var(--tx);border-radius:999px;padding:7px 14px;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:.15s;}
.ts-chip:hover{border-color:var(--pri);transform:translateY(-1px);}
.ts-chip.picked{background:var(--pri);border-color:var(--pri);color:#fff;}
.pf-row{display:flex;align-items:center;gap:12px;background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-bottom:9px;}
.pf-mint{font-size:13.5px;font-weight:600;min-width:0;flex:1;}
.pf-amt{font-size:13.5px;color:var(--good);white-space:nowrap;}
.pf-amt b{font-size:15px;}
/* Legal pages (terms / privacy / risk) */
.legal .card{line-height:1.7;}
.legal h2{font-size:17px;font-weight:800;margin:26px 0 8px;letter-spacing:-.2px;}
.legal h2:first-of-type{margin-top:6px;}
.legal p{color:var(--mut);font-size:14px;margin:0 0 10px;}
.legal ul,.legal ol{color:var(--mut);font-size:14px;margin:0 0 12px;padding-left:22px;}
.legal li{margin-bottom:7px;}
.legal b{color:var(--tx);}
.legal a{color:var(--pri);}
.legal-callout{background:var(--priSoft);border:1px solid var(--priLine);border-radius:13px;padding:15px 16px;margin-bottom:20px;font-size:14px;line-height:1.65;color:var(--tx);}
.legal-callout.danger{background:rgba(239,68,68,.09);border-color:rgba(239,68,68,.35);}
.legal-note{margin-top:26px;padding-top:16px;border-top:1px solid var(--line);font-size:12.5px;color:var(--dim);line-height:1.6;}
footer a{color:var(--mut);text-decoration:none;} footer a:hover{color:var(--pri);}
/* FEATURES section (phone + stats) */
.feat{border:1px solid var(--priLine);border-radius:26px;padding:38px 30px;background:radial-gradient(900px 420px at 50% -60px,rgba(124,92,255,.14),transparent 62%),var(--card);position:relative;overflow:hidden;}
.feat::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(124,92,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(124,92,255,.05) 1px,transparent 1px);background-size:44px 44px;pointer-events:none;}
.feat>*{position:relative;}
.feat .center-h h2{font-size:clamp(24px,3.4vw,34px);}
.feat-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:34px;align-items:center;margin-top:30px;}
.feat-phone{display:flex;justify-content:center;}
.feat-right{display:flex;flex-direction:column;gap:16px;min-width:0;}
.feat-stats{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.fstat{background:var(--bg2);border:1px solid var(--line);border-radius:20px;padding:26px 22px;}
.fstat.hi{background:linear-gradient(135deg,var(--pri),var(--pri2));border-color:transparent;}
.fs-n{font-size:clamp(30px,4.4vw,46px);font-weight:900;letter-spacing:-1.6px;line-height:1;}
.fstat.hi .fs-n{color:#fff;} .fstat.hi .fs-l{color:rgba(255,255,255,.85);}
.fs-l{font-size:13px;color:var(--mut);margin-top:8px;}
.feat-card{background:var(--bg2);border:1px solid var(--line);border-radius:20px;padding:26px 24px;}
.feat-card h3{font-size:21px;font-weight:800;margin:0 0 10px;letter-spacing:-.4px;}
.feat-card p{color:var(--mut);font-size:14px;margin:0 0 18px;line-height:1.6;}
.feat-cta{letter-spacing:.06em;font-size:13px;}
@media(max-width:860px){ .feat-grid{grid-template-columns:1fr;} .feat{padding:28px 18px;} }
@media(max-width:420px){ .feat-stats{grid-template-columns:1fr;} }

/* "Generate my coin" box on the create form */
.genbox{display:flex;gap:16px;align-items:center;flex-wrap:wrap;background:linear-gradient(120deg,var(--priSoft),transparent 70%);border:1px solid var(--priLine);border-radius:15px;padding:15px 16px;margin-bottom:16px;}
.gen-l{flex:1;min-width:220px;}
.gen-h{font-weight:800;font-size:15px;margin-bottom:4px;}
.gen-s{font-size:12.5px;color:var(--mut);line-height:1.55;}
.gen-btn{flex:0 0 auto;white-space:nowrap;}
.gen-btn:disabled{opacity:.6;}

/* Risk acknowledgement on the create form */
.ack{display:flex;gap:11px;align-items:flex-start;background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:13px 14px;margin-top:18px;cursor:pointer;transition:border-color .2s;}
.ack:hover{border-color:var(--line2);}
.ack input{flex:0 0 auto;width:19px;height:19px;margin:1px 0 0;accent-color:var(--pri);cursor:pointer;}
.ack span{font-size:12.5px;color:var(--mut);line-height:1.55;}
.ack b{color:var(--tx);} .ack a{color:var(--pri);}
.ack.shake{border-color:var(--bad);animation:ackshake .5s;}
@keyframes ackshake{10%,90%{transform:translateX(-2px);}30%,70%{transform:translateX(3px);}50%{transform:translateX(-3px);}}
@media (prefers-reduced-motion: reduce){.ack.shake{animation:none;}}

@media(max-width:820px){ #feed.grid{grid-template-columns:1fr;} .info-row{grid-template-columns:1fr;} }

/* ✨ AI concept generator (create page) */
.ai-box{background:linear-gradient(135deg,rgba(124,92,255,.14),rgba(168,85,247,.07));border:1px solid var(--priLine);border-radius:14px;padding:15px 16px;margin-bottom:16px;}
.ai-head{display:flex;gap:14px;align-items:center;flex-wrap:wrap;}
.ai-head>div:first-child{flex:1;min-width:200px;}
.ai-t{font-weight:800;font-size:15px;}
.ai-s{font-size:12.5px;color:var(--mut);margin-top:4px;line-height:1.5;}
.ai-btn{flex:0 0 auto;position:relative;overflow:hidden;}
.ai-btn::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.28),transparent 70%);transform:translateX(-100%);animation:aishine 3.2s ease-in-out infinite;}
@keyframes aishine{0%,60%{transform:translateX(-100%);}100%{transform:translateX(100%);}}
@media (prefers-reduced-motion: reduce){.ai-btn::after{animation:none;}}
.ai-out{margin-top:12px;background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:12px;}
.ai-row{display:flex;gap:13px;align-items:flex-start;}
.ai-row img{width:52px;height:52px;border-radius:12px;flex:0 0 auto;}
.ai-name{font-weight:800;font-size:15px;} .ai-name span{color:var(--pri);font-weight:700;}
.ai-desc{font-size:13px;color:var(--mut);margin-top:3px;line-height:1.5;}
.ai-meta{font-size:11.5px;color:var(--dim);margin-top:6px;} .ai-meta b{color:var(--pri);}

/* create-form label helper */
.lbl-note{color:var(--dim);font-weight:400;}
/* live-activity avatars: letter fallback, real logo when metadata resolves */
.la-dot.has-img{padding:0;background:none;border:none;overflow:hidden;}
.la-dot.has-img img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block;}

/* ---- feature screenshot: a REAL capture of the Create page, not a fabricated mock ---- */
.feat-shot{width:100%;max-width:420px;height:auto;display:block;border-radius:20px;
  box-shadow:0 30px 70px rgba(0,0,0,.55),0 0 0 1px var(--priLine);}

/* Fullscreen live chart — chart fills the screen, the trade panel (buy/sell) moves in below it */
#chartCard.chart-full{position:fixed;inset:0;z-index:9998;margin:0;border-radius:0;max-width:none;overflow:auto;background:var(--bg,#0b0912);padding:16px;}
#chartCard.chart-full #chartWrap{height:70vh;}
#chartCard.chart-full #tradePanel{display:block;margin:16px auto 0;max-width:820px;}

/* Per-coin chat */
.chat-list{display:flex;flex-direction:column;gap:10px;max-height:340px;overflow-y:auto;padding:4px 2px;}
.chat-msg{background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:9px 11px;}
.chat-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:3px;}
.chat-who{font-size:12px;font-weight:700;color:var(--pri);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;}
.chat-who .me{color:var(--good);}
.chat-when{font-size:11px;color:var(--mut);white-space:nowrap;}
.chat-body{font-size:14px;line-height:1.5;color:var(--tx);word-break:break-word;white-space:pre-wrap;}
.chat-actions{margin-top:5px;display:flex;gap:14px;}
.chat-report{background:none;border:0;color:var(--dim);font-size:11px;cursor:pointer;padding:0;font:inherit;}
.chat-report:hover{color:var(--bad);text-decoration:underline;}
#chatInput{width:100%;box-sizing:border-box;background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:10px 12px;color:var(--tx);font:inherit;font-size:14px;resize:vertical;min-height:44px;}
#chatInput:focus{outline:2px solid var(--pri);outline-offset:1px;border-color:transparent;}

/* Quick-amount % buttons (dev-buy + buy/sell) and the live USD/AUD readout */
.pctrow{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px;}
.pctbtn{flex:1 1 auto;min-width:52px;cursor:pointer;font:inherit;font-size:12.5px;font-weight:700;color:var(--pri2);background:var(--priSoft);border:1px solid var(--priLine);border-radius:999px;padding:7px 10px;transition:background .15s,border-color .15s,transform .1s;}
.pctbtn:hover{background:rgba(124,92,255,.28);border-color:var(--pri);}
.pctbtn:active{transform:translateY(1px);}
.fiat{display:block;font-size:12px;color:var(--good);font-variant-numeric:tabular-nums;min-height:14px;margin-top:5px;}
.stat .fiat{display:inline;margin:0 0 0 4px;}

/* "Chart is warming up" overlay while Dexscreener indexes a brand-new pool */
.chart-warm{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:left;padding:22px;background:var(--bg2,#100d1a);}
.chart-warm .cw-in{display:flex;align-items:flex-start;gap:12px;max-width:440px;}
.chart-warm .cw-in b{color:var(--tx);font-size:14px;}
.chart-warm .nv-spin{width:16px;height:16px;margin-top:2px;border-color:rgba(124,92,255,.3);border-top-color:var(--pri);}

/* ---- P0 audit fixes: coin-page mobile header, chart height, launch-mix pill, sticky mobile buy bar ---- */
.coin-title{overflow-wrap:anywhere;}
.feed-badge.muted{background:var(--bg2,#100d1a);color:var(--dim);border:1px solid var(--line2);}
@media(max-width:820px){
  .coin-id{flex-wrap:wrap;}
  .coin-id-txt{flex:1 1 0;min-width:0;}
  .coin-hero-actions{flex:1 1 100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px;}
  .coin-hero-actions .btn{width:100%;white-space:nowrap;padding:8px 10px;}
}
@media(max-width:560px){ #chartWrap{height:300px!important;} }
/* Sticky mobile Buy/Sell bar — hidden by default; shown on phones once a coin is loaded (not graduated) */
#mobileTradeBar{display:none;}
@media(max-width:820px){
  #mobileTradeBar.on{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:800;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:var(--bg,#0b0912);border-top:1px solid var(--line2);box-shadow:0 -8px 24px rgba(0,0,0,.35);}
  #mobileTradeBar.on .btn{flex:1;height:46px;padding:0 16px;display:inline-grid;place-items:center;border:0;}
  #mobileTradeBar.on .btn.sell.ghost{background:transparent;border:1px solid rgba(239,68,68,.55);color:#ff7a7a;}
  #mobileTradeBar.on.hide{display:none;}
  body:has(#mobileTradeBar.on:not(.hide)){padding-bottom:calc(74px + env(safe-area-inset-bottom));}
}

/* ======== PHONES (<=560px): one 16px gutter, compact header, single-line pills, stacked rows ======== */
@media(max-width:560px){
  /* gutters + cards */
  .wrap{padding:0 16px;}
  .card{padding:16px 14px;}
  .st-card,.feed-row{padding:12px;} #feed.grid{gap:10px;}
  .la-row{padding:9px;gap:9px;} .la-buy{padding:7px 12px;font-size:12.5px;} .la-t{font-size:13.5px;} .la-s{font-size:11.5px;}
  .earn-card{padding:16px;gap:10px 18px;}
  .opt summary{padding:11px 13px;font-size:13px;} .opt summary span{flex:0 0 auto;font-size:11px;} .opt-body{padding:10px 12px 12px;}
  .setfor{padding:14px 13px;} .genbox{padding:13px 14px;gap:12px;} .trend-suggest{padding:12px 13px;} .sm-card{padding:14px;}
  #chartCard{padding:12px!important;}
  .nv-msg:empty{margin-top:0;min-height:0;}

  /* header: 58px bar, 34px controls, Connect Wallet always one line */
  .hdr-in{height:58px;gap:8px;}
  .logo{font-size:16px;gap:7px;}
  .logo .mk{width:24px;height:24px;font-size:13px;border-radius:7px;}
  .hdr-r{gap:8px;}
  .hdr-r .btn.sm{height:34px;padding:0 12px;font-size:12.5px;display:inline-flex;align-items:center;}

  /* small controls: one ~34px height everywhere */
  .btn.sm{padding:8px 12px;font-size:12.5px;}
  .refresh{padding:8px 11px;font-size:12.5px;min-width:108px;}
  .st-tab{padding:8px 13px;}
  .toggle{padding:9px 12px;}
  .ca{padding:6px 10px;font-size:12px;}
  .badge{font-size:11px;padding:4px 8px;} .badges{gap:5px;}
  .feed-badge{font-size:10.5px;padding:3px 8px;}
  .coin-socials .soc{min-height:32px;display:inline-flex;align-items:center;padding:6px 12px;}
  .logo-remove{padding:8px 16px;font-size:13px;min-height:36px;margin-top:10px;}
  .hl-row{padding:7px 0;} .chat-actions{gap:18px;} .chat-report{font-size:12px;padding:6px 0;}

  /* page intro */
  .page-head{padding:28px 20px 6px;}
  .page-head h1{font-size:26px;letter-spacing:-.6px;margin:12px 0 8px;}
  .page-head p{font-size:15px;}

  /* section headers */
  .sec-h h2{font-size:19px;}
  .sec-h .sub{font-size:12.5px;}

  /* trend tabs + live label */
  .st-tabs{flex-wrap:wrap;gap:6px 8px;}
  .st-live{flex:1 1 100%;margin-left:0;justify-content:flex-end;}

  /* feed controls: search full width, toggles share row 2 */
  .feed-controls{flex-wrap:wrap;gap:8px;}
  .feed-controls input{flex:1 1 100%;}
  .feed-controls .toggle{flex:1 1 0;}
  #smAdd{flex:1 1 100%!important;}
  #feed.grid .feed-actions{gap:6px;}
  #feed.grid .feed-actions>*{padding:8px 10px;font-size:12.5px;}
  #leaderboard>div:first-child{flex-wrap:wrap;} #leaderboard>div:first-child>span:first-child{white-space:nowrap;}
  .feed-earn{padding:8px 10px;gap:8px;} .earn-amt{font-size:12.5px;line-height:1.35;min-width:0;} .earn-amt b{font-size:14px;} .feed-earn .btn{flex:0 0 auto;}
  .feed-links{font-size:12px;line-height:1.75;margin-top:2px;} .feed-links a{display:inline-block;padding:1px 0;}

  /* quick-amount + slippage rows: equal cells, never a lone stretched pill */
  .pctrow{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:6px;}
  .pctbtn{min-width:0;padding:9px 4px;font-size:12px;text-align:center;}
  .slip-lbl{flex:0 0 100%;margin:0 0 2px;}
  .slipbtn{flex:1 1 0;text-align:center;padding:9px 6px;}

  /* coin page */
  .coin-hero-actions{grid-template-columns:1fr 1fr;}
  main>.hint{font-size:12.5px;line-height:1.6;color:var(--mut);} main>.hint a{display:inline-block;padding:4px 0;} #chatCard>.hint{color:var(--mut);}

  /* create page */
  .gen-l{flex:1 1 100%;min-width:0;}
  .gen-btn{flex:1 1 100%;width:100%;padding:12px 16px;}
  .setfor-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;}
  .sf{white-space:normal;border-radius:9px;padding:6px 10px;font-size:11.5px;line-height:1.35;display:flex;align-items:center;}
  #earnCalc>div:nth-of-type(2){flex-direction:column;gap:2px;} #earnCalc>div:nth-of-type(2)>span:last-child{font-size:15px;}
  #launchMsg .btn{flex:1 1 auto;}
  .ts-chip{padding:6px 12px;font-size:12.5px;}
  .hint{font-size:12.5px;line-height:1.5;} .gen-s,.ack span{font-size:13px;} .mini-note{font-size:12.5px;line-height:1.6;}

  /* smart money */
  .sm-trade{gap:8px;padding:8px 10px;font-size:12.5px;} .sm-tok{flex:1 1 auto;} .sm-amt{font-size:12px;} .sm-time{font-size:10.5px;}

  /* support FAQ */
  .faq-q{padding:14px 16px;font-size:14px;gap:10px;} .faq-q .plus{font-size:18px;} .faq-a div{padding:0 16px 14px;} .faq-item{margin-bottom:8px;}

  /* homepage */
  .main-col .hero{padding-left:14px;padding-right:14px;padding-bottom:36px;}
  .hero-scroll{display:none;}
  .chips{gap:6px 8px;margin-bottom:22px;} .chip{font-size:12px;padding:6px 11px;}
  .cta{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:360px;margin:0 auto;}
  .cta .btn.lg{padding:13px 10px;font-size:14px;}
  .hero-stats{gap:14px 18px;margin-top:26px;} .hero-stats .hs{min-width:0;} .hero-stats .hs b{font-size:22px;}
  .side{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
  .side .stat-card{min-width:0;padding:12px 10px;text-align:center;}
  .stat-n{font-size:20px;letter-spacing:-.4px;} .stat-l{font-size:11px;}
  .side-h,#liveActivity,.side .hint{grid-column:1/-1;}
  .bigstat{padding:14px 8px;border-radius:12px;} .bs-n{font-size:26px;letter-spacing:-.8px;} .bs-l{font-size:11.5px;margin-top:6px;}
  .why{grid-template-columns:1fr;}
  .big-stats{grid-template-columns:1fr;gap:10px;margin:12px 0;} .big-stat{padding:18px 16px;border-radius:14px;} .big-stat .n{font-size:34px;letter-spacing:-1px;} .big-stat .l{font-size:13px;}
  .feat{padding:22px 14px;border-radius:20px;} .feat-grid{gap:22px;margin-top:22px;} .fstat{padding:20px 18px;border-radius:16px;} .feat-card{padding:20px 18px;border-radius:16px;} .feat-card h3{font-size:18px;}

  /* footer */
  footer{font-size:12px;line-height:1.7;padding:22px 0 34px;} footer a{display:inline-block;padding:4px 3px;}
}
@media(max-width:340px){
  .cta{grid-template-columns:1fr;}
}
/* Narrow phones: logo + menu + Claim + Connect must fit 375px without the page scrolling sideways */
@media(max-width:400px){
  .logo .mk{display:none;}
  .hdr-r{gap:6px;}
  .hdr-r .btn.sm{padding:0 10px;}
}

/* Review fixes: keep controls visually compact but never under a ~40px tap target on phones */
@media(max-width:820px){
  .menuBtn{width:40px;height:40px;}
  .hdr-r .btn.sm{min-height:40px;}
  #chatRefresh{width:40px;height:40px;}
  .st-tab,.cat-chip,.la-buy,.coin-socials .soc,.ts-chip,#feed.grid .feed-actions>*{min-height:40px;}
}
/* :has() fallback (Safari <15.4 / old WebViews): JS mirrors the sticky trade bar state onto <body> */
body.has-mtb{padding-bottom:calc(74px + env(safe-area-inset-bottom));}
@media(max-width:560px){
  /* a 3-button CTA (404 page) must not leave an orphan in a 2-column grid */
  .page-head .cta>:nth-child(3):last-child{grid-column:1/-1;}
}

/* Contrast fixes (Lighthouse a11y): section tag pills, footer text and side-rail hints were under 4.5:1 */
.center-h .tag,.page-head .tag{color:#c4b5fd;}
footer{color:var(--mut);}
.side .hint{color:var(--mut);}

/* ======== v6 — brighter, more alive (Sep 2026) ========
   Solana's own brand runs purple → green, so a green accent alongside our purple isn't just
   "brighter for the sake of it" — it reads as authentically built-on-Solana. Used for live/success
   signals (already partly true via --good) and now pulled into glows, borders and the hero. */
:root{
  --pri3:#20e3a2; --pri3Glow:rgba(32,227,162,.45); --pri3Soft:rgba(32,227,162,.13);
}

/* animated aurora wash behind the hero — slow, soft, never distracting.
   Deliberately NOT using filter:blur() here: an animated blur over a large area is one of the
   most expensive things a browser can composite and it visibly glitched in testing (page painted
   blank on some scroll/paint passes). radial-gradient already fades out softly on its own, so we
   get the same "glow" look for a fraction of the GPU cost — and no glitch. */
.hero-aurora{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden;opacity:.65;}
.hero-aurora i{position:absolute;border-radius:50%;}
.hero-aurora i:nth-child(1){width:44vw;height:44vw;max-width:560px;max-height:560px;left:-10%;top:-16%;background:radial-gradient(circle,var(--pri),transparent 68%);animation:auroraDrift1 24s ease-in-out infinite;}
.hero-aurora i:nth-child(2){width:36vw;height:36vw;max-width:460px;max-height:460px;right:-8%;top:0%;background:radial-gradient(circle,var(--pri3),transparent 68%);animation:auroraDrift2 28s ease-in-out infinite;}
.hero-aurora i:nth-child(3){width:28vw;height:28vw;max-width:380px;max-height:380px;left:26%;bottom:-20%;background:radial-gradient(circle,var(--pri2),transparent 68%);animation:auroraDrift3 20s ease-in-out infinite;}
@keyframes auroraDrift1{0%,100%{transform:translate(0,0);}50%{transform:translate(3%,4%);}}
@keyframes auroraDrift2{0%,100%{transform:translate(0,0);}50%{transform:translate(-4%,3%);}}
@keyframes auroraDrift3{0%,100%{transform:translate(0,0);}50%{transform:translate(2%,-4%);}}

/* live/pulse dots — was a static glow, now actually pulses like a heartbeat */
.side-h .dot,.ticker-h .dot{animation:livePulse 2s ease-in-out infinite;}
@keyframes livePulse{0%,100%{box-shadow:0 0 0 0 rgba(52,211,153,.55);}50%{box-shadow:0 0 0 6px rgba(52,211,153,0);}}

/* primary buttons get a light sweep on hover — a small "this is a polished product" cue */
.btn{position:relative;overflow:hidden;}
.btn::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.32) 48%,transparent 66%);transform:translateX(-120%);}
.btn:hover::after{transform:translateX(120%);transition:transform .65s ease;}
.btn.ghost::after{display:none;}

/* stat + step cards: a thin gradient top edge (purple→green) instead of flat borders, brighter hover */
.stat-card,.sb,.step,.why-c,.bigstat{position:relative;}
.stat-card::before,.sb::before,.step::before,.why-c::before{content:"";position:absolute;left:14px;right:14px;top:0;height:2px;border-radius:0 0 3px 3px;background:linear-gradient(90deg,var(--pri),var(--pri3));opacity:.7;}
.stat-card:hover,.sb:hover{border-color:var(--priLine);transform:translateY(-2px);box-shadow:0 10px 26px rgba(124,92,255,.16);}
.stat-card,.sb{transition:transform .18s,box-shadow .18s,border-color .18s;}
.bigstat .bs-n{background:linear-gradient(135deg,#fff,var(--pri3));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}

/* scroll-reveal: fade+rise in as sections enter view (see enhance.js). No JS/no support = fully visible. */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease;}
.reveal.in{opacity:1;transform:none;}

/* count-up target — purely a hook for enhance.js, holds layout width while animating */
[data-countup]{font-variant-numeric:tabular-nums;}

/* feature "live" phone mockup: gentle idle float instead of sitting dead-still */
.feat-phone{animation:phoneFloat 5.5s ease-in-out infinite;}
@keyframes phoneFloat{0%,100%{transform:translateY(0);}50%{transform:translateY(-8px);}}

@media (prefers-reduced-motion: reduce){
  .hero-aurora i,.side-h .dot,.ticker-h .dot,.feat-phone,.reveal{animation:none!important;transition:none!important;}
  .reveal{opacity:1;transform:none;}
  .btn::after{display:none;}
}
@media (max-width:820px){ .feat-phone{animation:none;} }

/* Auto-sell card (coin page) */
.as-grid{display:grid;gap:10px;margin:12px 0 4px;}
.as-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:14px;color:var(--tx);margin:0;}
.as-line input[type=checkbox]{width:18px;height:18px;padding:0;accent-color:var(--pri);}
.as-line .as-num{width:72px;padding:7px 9px;}
.as-line select{padding:7px 9px;background:var(--bg2);border:1px solid var(--line);border-radius:9px;color:var(--tx);font:inherit;}
.as-group{border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-top:8px;display:grid;gap:8px;justify-items:start;}
.as-order{font-size:13px;line-height:1.45;color:var(--tx);}

/* Hot on MemeLaunch (home) */
.hot-list{max-width:640px;margin:0 auto;}
.hot-row .hot-rank{flex:0 0 auto;width:26px;font-weight:800;color:var(--pri);font-variant-numeric:tabular-nums;}
/* Launch countdown (soon.html) + planner (create.html) */
.soon-card{text-align:center;padding:26px 18px;}
.soon-clock{font-size:clamp(34px,10vw,56px);font-weight:800;letter-spacing:1px;margin:16px 0 6px;font-variant-numeric:tabular-nums;}
.soon-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:16px;}
.plan-box{margin-top:14px;border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:var(--bg2);}
.plan-box summary{cursor:pointer;font-weight:600;}
/* Your position (profit / loss) on the coin page */
.pos-h{font-weight:800;font-size:14px;margin-bottom:10px;}
.pos-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;}
.pos-val{font-size:22px;font-weight:900;letter-spacing:-.4px;}
.pos-sub{font-size:12px;color:var(--mut);margin-top:2px;}
.pos-pnl{text-align:right;font-weight:800;font-size:16px;}
.pos-pnl .pos-pct{font-size:12.5px;font-weight:700;margin-top:2px;}
.pos-pnl.up{color:var(--good,#3ddc97);} .pos-pnl.down{color:var(--bad,#ff5c7a);}
.pos-row{display:flex;justify-content:space-between;font-size:13px;color:var(--mut);padding:5px 0;border-top:1px solid var(--line);}
.pos-row b{color:var(--tx);}
/* Admin: investors' profit / loss per coin */
.inv-select{width:100%;appearance:none;-webkit-appearance:none;background:var(--bg2) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8'><path d='M1 1l5 5 5-5' fill='none' stroke='%239a9ab0' stroke-width='2'/></svg>") no-repeat right 14px center;color:var(--tx);border:1px solid var(--line);border-radius:12px;padding:12px 40px 12px 14px;font:inherit;font-size:14px;font-weight:600;cursor:pointer;}
.inv-select:focus{outline:2px solid var(--pri);outline-offset:1px;}
.inv-loading{display:flex;align-items:center;gap:8px;color:var(--mut);font-size:13px;padding:18px 2px;}
.inv-sum{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden;margin:14px 0;}
.inv-st{background:var(--card);padding:12px 14px;}
.inv-st b{display:block;font-size:18px;font-weight:800;letter-spacing:-.3px;font-variant-numeric:tabular-nums;} .inv-st b i{font-style:normal;color:var(--mut);margin:0 3px;}
.inv-st>span{display:block;font-size:11px;color:var(--mut);margin-top:3px;text-transform:uppercase;letter-spacing:.04em;}
.inv-hl{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px;}
.inv-hl-c{background:var(--bg2);border:1px solid var(--line);border-radius:14px;padding:12px 14px;min-width:0;}
.inv-hl-l{font-size:11.5px;color:var(--mut);font-weight:600;}
.inv-hl-v{font-size:17px;font-weight:800;margin:4px 0 3px;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.inv-hl-s{font-size:12px;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.inv-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:14px;}
.inv-table{width:100%;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums;}
.inv-table th{text-align:left;font-size:11px;color:var(--mut);font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:10px 12px;background:var(--bg2);white-space:nowrap;}
.inv-table td{padding:11px 12px;border-top:1px solid var(--line);vertical-align:middle;white-space:nowrap;}
.inv-table tbody tr:hover td{background:rgba(255,255,255,.02);}
.inv-table .r{text-align:right;} .inv-table .mut,.inv-table .mut *{color:var(--mut);}
.inv-who{color:var(--tx);font-weight:600;text-decoration:none;} .inv-who:hover{color:var(--pri);}
.inv-sub{font-size:11px;color:var(--mut);margin-top:3px;}
.inv-pnl{display:inline-block;font-weight:800;padding:4px 9px;border-radius:8px;} .inv-pnl small{font-weight:700;opacity:.85;margin-left:3px;}
.inv-pnl.up{background:rgba(61,220,151,.12);} .inv-pnl.down{background:rgba(255,92,122,.12);}
.inv-sum .up,.inv-hl .up,.inv-pnl.up{color:var(--good,#3ddc97);} .inv-sum .down,.inv-hl .down,.inv-pnl.down{color:var(--bad,#ff5c7a);}
.inv-tag{display:inline-block;font-size:9.5px;font-weight:800;padding:2px 6px;border-radius:6px;margin-left:4px;vertical-align:1px;letter-spacing:.03em;}
.inv-tag.cr{background:rgba(255,184,77,.15);color:#ffb84d;} .inv-tag.bot{background:rgba(255,92,122,.15);color:var(--bad,#ff5c7a);}
.inv-note{font-size:11.5px;color:var(--mut);margin-top:8px;line-height:1.5;}
@media (max-width:640px){.inv-sum{grid-template-columns:repeat(2,1fr);} .inv-sum .inv-st:last-child{grid-column:1/-1;} .inv-hl{grid-template-columns:repeat(2,1fr);}}

/* ---- discovery board (discover.js) ---- */
.dsc-tabs{flex-wrap:wrap;row-gap:8px;}
.dsc-n{display:inline-block;min-width:18px;padding:0 5px;margin-left:3px;border-radius:999px;background:rgba(255,255,255,.08);font-size:11px;font-variant-numeric:tabular-nums;}
.st-tab.active .dsc-n{background:rgba(255,255,255,.22);}
.dsc-fresh{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--mut);white-space:nowrap;}
.dsc-fresh i{width:7px;height:7px;border-radius:50%;background:var(--good);box-shadow:0 0 0 3px rgba(52,211,153,.15);}
.dsc-fresh.stale{color:var(--warn);} .dsc-fresh.stale i{background:var(--warn);box-shadow:0 0 0 3px rgba(245,180,83,.15);}
.dsc-controls{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 14px;}
.dsc-controls input{flex:1 1 220px;min-width:0;}
.dsc-controls select{flex:0 0 auto;background:var(--bg2);border:1px solid var(--line);color:var(--tx);border-radius:11px;padding:0 10px;height:42px;font-family:inherit;font-size:13px;}
.dsc-controls .toggle{height:42px;}
.dsc-list{display:grid;gap:10px;}
.dsc-row{background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:grid;gap:10px;}
.dsc-row:hover{border-color:var(--line2);}
.dsc-main{display:flex;align-items:center;gap:11px;min-width:0;}
.dsc-rank{font-weight:800;color:var(--dim);font-size:13px;width:26px;text-align:right;font-variant-numeric:tabular-nums;flex:0 0 auto;}
.dsc-logo{position:relative;width:42px;height:42px;border-radius:11px;flex:0 0 auto;background:linear-gradient(135deg,var(--pri),var(--pri2));display:grid;place-items:center;font-weight:900;color:#fff;overflow:hidden;}
.dsc-logo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;}
.dsc-name{flex:1;min-width:0;}
.dsc-name a{font-weight:800;font-size:15px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.dsc-name a:hover{color:var(--pri2);}
.dsc-sym{color:var(--mut);font-weight:600;font-size:13px;}
.dsc-meta{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--mut);margin-top:3px;}
.dsc-prog{width:90px;height:6px;border-radius:99px;background:var(--line);overflow:hidden;}
.dsc-prog i{display:block;height:100%;background:linear-gradient(90deg,var(--pri),var(--pri2));}
.dsc-score{flex:0 0 auto;display:grid;place-items:center;min-width:52px;padding:5px 8px;border-radius:10px;border:1px solid var(--priLine);background:var(--priSoft);color:var(--tx);font:inherit;font-weight:900;font-size:17px;line-height:1.05;cursor:pointer;font-variant-numeric:tabular-nums;}
.dsc-score small{font-size:9.5px;font-weight:700;color:var(--mut);letter-spacing:.04em;text-transform:uppercase;}
.dsc-score:focus-visible,.dsc-star:focus-visible{outline:2px solid var(--pri2);outline-offset:2px;}
.dsc-star{flex:0 0 auto;width:38px;height:38px;border-radius:10px;border:1px solid var(--line);background:transparent;color:var(--mut);font-size:19px;cursor:pointer;}
.dsc-star.on{color:#ffd166;border-color:rgba(255,209,102,.45);background:rgba(255,209,102,.08);}
.dsc-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;}
.dsc-stats div{min-width:0;} .dsc-stats span{display:block;font-size:10.5px;color:var(--dim);text-transform:uppercase;letter-spacing:.04em;}
.dsc-stats b{display:block;font-size:13.5px;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.dsc-flags{display:flex;flex-wrap:wrap;gap:6px;}
.dsc-why{display:grid;gap:6px;padding:10px;border-radius:10px;background:var(--card);border:1px solid var(--line);}
.dsc-why-r{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:10px;align-items:center;font-size:12.5px;}
.dsc-why-r em{color:var(--dim);font-style:normal;}
.dsc-bar{height:6px;border-radius:99px;background:var(--line);overflow:hidden;} .dsc-bar i{display:block;height:100%;background:var(--pri);}
.dsc-act{display:flex;gap:8px;flex-wrap:wrap;}
.dsc-empty{padding:26px 14px;text-align:center;color:var(--mut);font-size:14px;border:1px dashed var(--line2);border-radius:12px;}
.dsc-skel{height:118px;border-radius:12px;background:linear-gradient(90deg,var(--bg2),var(--card2),var(--bg2));background-size:200% 100%;animation:dscSk 1.3s linear infinite;margin-bottom:10px;}
@keyframes dscSk{to{background-position:-200% 0;}}
@media (prefers-reduced-motion:reduce){.dsc-skel{animation:none;}}
.dsc-how{margin-top:16px;font-size:13.5px;color:var(--mut);}
.dsc-how summary{cursor:pointer;color:var(--tx);font-weight:700;}
.dsc-how ul{padding-left:18px;margin:8px 0;} .dsc-how b{color:var(--tx);}
@media (max-width:640px){
  .dsc-stats{grid-template-columns:repeat(2,minmax(0,1fr));}
  .dsc-stats div:last-child{grid-column:span 2;}
  .dsc-rank{display:none;}
  .dsc-controls select{flex:1 1 40%;}
  .dsc-why-r{grid-template-columns:minmax(0,1fr) 70px;}
}
.vis-r{display:flex;justify-content:space-between;gap:10px;font-size:13px;padding:3px 0;border-top:1px solid var(--line);min-width:0;}
.vis-r:first-of-type{border-top:0;} .vis-r span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--tx);} .vis-r b{font-variant-numeric:tabular-nums;}

/* coin page: discovery box (coin-extra.js) */
.coin-dsc:empty{display:none;}
.coin-dsc{margin-top:14px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--bg2);display:grid;gap:8px;}
.cdsc-top{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.dsc-whybtn{cursor:pointer;font-family:inherit;}
.cdsc-line{font-size:13px;color:var(--mut);} .cdsc-line b{color:var(--tx);font-variant-numeric:tabular-nums;} .cdsc-line a{color:var(--pri2);text-decoration:underline;}
.cdsc-ms{display:grid;gap:4px;padding:8px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.cdsc-ms div{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:8px;align-items:baseline;font-size:13px;}
.cdsc-ms b{font-weight:600;} .cdsc-ms em{font-style:normal;color:var(--mut);font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap;}
@media (max-width:640px){.cdsc-ms div{grid-template-columns:22px minmax(0,1fr);} .cdsc-ms em{grid-column:2;}}

/* creator profile (creator.js) */
.cr-addr{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.cr-addr code{font-size:12.5px;color:var(--mut);overflow-wrap:anywhere;flex:1 1 260px;min-width:0;}
.cr-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px;}
.dsc-changes{position:relative;margin:0 0 12px;padding:10px 38px 10px 12px;border-radius:12px;border:1px solid rgba(255,209,102,.35);background:rgba(255,209,102,.07);font-size:13.5px;display:grid;gap:3px;}
.dsc-changes b{color:#ffd166;} .dsc-changes a{font-weight:700;text-decoration:underline;}
.dsc-x{position:absolute;top:8px;right:8px;background:none;border:0;color:var(--mut);cursor:pointer;font-size:14px;}
.dsc-meta a.dsc-by{color:var(--mut);text-decoration:underline;font-size:12px;display:inline;font-weight:500;}
.hh-dot{position:relative;overflow:hidden;} .hh-dot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}

/* ---- trading terminal (terminal.html / terminal.js) ---- */
.term{max-width:1500px;margin:0 auto;padding:16px 16px 40px;display:grid;grid-template-columns:280px minmax(0,1fr) 390px;gap:12px;align-items:start;}
.term .card{padding:14px;}
.term-tabs{display:none;}
.term-rail{position:sticky;top:78px;max-height:calc(100vh - 92px);display:flex;flex-direction:column;gap:8px;padding:12px;}
.term-rail input{width:100%;}
.term-rtabs{display:flex;flex-wrap:wrap;gap:4px;}
.term-rtab{flex:1 0 auto;background:var(--bg2);border:1px solid var(--line);color:var(--mut);border-radius:8px;padding:5px 7px;font:inherit;font-size:11.5px;font-weight:700;cursor:pointer;white-space:nowrap;}
.term-rtab.on{background:var(--priSoft);border-color:var(--priLine);color:var(--tx);}
.term-list{overflow-y:auto;display:grid;gap:4px;align-content:start;min-height:120px;margin:0 -4px;padding:0 4px;}
.term-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:8px;align-items:center;text-align:left;width:100%;background:transparent;border:1px solid transparent;border-radius:10px;padding:7px 8px;color:var(--tx);font:inherit;cursor:pointer;}
.term-row:hover{background:var(--bg2);border-color:var(--line);}
.term-row.on{background:var(--priSoft);border-color:var(--priLine);}
.term-row:focus-visible{outline:2px solid var(--pri2);outline-offset:1px;}
.term-row .dsc-logo{width:34px;height:34px;border-radius:9px;font-size:13px;}
.term-row-main{min-width:0;font-size:13px;line-height:1.35;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
.term-row-main small,.term-row-num small{color:var(--dim);font-size:10.5px;}
.term-row-num{font-size:11.5px;text-align:right;line-height:1.35;font-variant-numeric:tabular-nums;white-space:nowrap;}
.term-chip{display:inline-block;font-size:9.5px;font-weight:800;letter-spacing:.04em;padding:1px 5px;border-radius:5px;background:rgba(52,211,153,.12);color:var(--good);vertical-align:1px;}
.term-h{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:14px;}
.term-ov-h{display:flex;align-items:center;gap:12px;}
.term-ov-h .dsc-logo{width:52px;height:52px;border-radius:13px;font-size:20px;}
.term-ov-name{flex:1;min-width:0;font-size:17px;}
.term-ca{display:flex;align-items:center;gap:8px;margin-top:4px;min-width:0;}
.term-ca code{font-size:11.5px;color:var(--mut);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;}
.term-stats{grid-template-columns:repeat(6,minmax(0,1fr));margin:14px 0 10px;}
.term-ov-foot{margin-top:10px;line-height:1.6;} .term-ov-foot a{color:var(--pri2);text-decoration:underline;}
.term-table td a{color:var(--pri2);}
.term-chart-box{position:relative;height:360px;border-radius:10px;overflow:hidden;background:var(--bg2);}
.term-chart-box iframe{width:100%;height:100%;border:0;display:block;}
.term-chart-empty{position:absolute;inset:0;display:grid;place-items:center;color:var(--mut);font-size:13px;background:var(--bg2);}
.term-chart-empty[hidden]{display:none;}
.term-ticket{margin-top:12px;}
.term-ticket .btn.full{margin-top:12px;}
.term-side{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:12px 0 4px;padding:4px;background:var(--bg2);border:1px solid var(--line);border-radius:12px;}
.term-side-b{border:0;border-radius:9px;padding:9px;font:inherit;font-weight:800;font-size:14px;cursor:pointer;background:transparent;color:var(--mut);}
.term-side-b.on[data-side="buy"]{background:rgba(34,197,94,.18);color:#4ade80;}
.term-side-b.on[data-side="sell"]{background:rgba(239,68,68,.18);color:#f87171;}
.term-side-b:focus-visible{outline:2px solid var(--pri2);outline-offset:1px;}
.term-wallet-msg{grid-column:1/-1;text-align:center;}
@media (max-width:1180px){
  .term{grid-template-columns:260px minmax(0,1fr);}
  .term-right{grid-column:2;}
  .term-stats{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (max-width:899px){
  .term{grid-template-columns:minmax(0,1fr);padding:10px 12px 90px;}
  .term-right{grid-column:auto;}
  .term-tabs{display:flex;gap:6px;position:sticky;top:66px;z-index:20;background:var(--bg);padding:8px 0;overflow-x:auto;}
  .term-tabs .st-tab{flex:1 0 auto;}
  .term-rail{position:static;max-height:none;}
  .term > [data-pane],.term-right > [data-pane]{display:none;}
  .term[data-show="chart"] [data-pane="chart"],.term[data-show="trade"] [data-pane="trade"],.term[data-show="activity"] > [data-pane="activity"]{display:block;}
  .term[data-show="coins"] > .term-rail{display:flex;}
  .term:not([data-show="trade"]) #posBox{display:none !important;}
  .term-ticket{margin-top:0;}
  .term-chart-box{height:58vh;}
  .term-stats{grid-template-columns:repeat(2,minmax(0,1fr));}
}
.term-table .up{color:var(--good);font-weight:700;} .term-table .down{color:var(--bad);font-weight:700;}
.cdsc-acts{display:flex;align-items:center;gap:8px;}
.upd-compose textarea{width:100%;resize:vertical;}
.upd-row{display:flex;align-items:center;gap:8px;margin:6px 0;}
.upd-list{display:grid;gap:8px;margin-top:8px;}
.upd-item{padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg2);}
.upd-t{font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere;}
.upd-meta{font-size:11.5px;color:var(--dim);margin-top:4px;}
.upd-rep{background:none;border:0;color:var(--dim);text-decoration:underline;cursor:pointer;font:inherit;padding:0;}
/* other chains (other-chains.js) */
.oc-list{display:grid;gap:6px;}
.oc-row{display:grid;grid-template-columns:40px minmax(0,1fr) 110px 110px auto;gap:10px;align-items:center;padding:8px 10px;border:1px solid var(--line);border-radius:11px;background:var(--bg2);}
.oc-row .dsc-logo{width:36px;height:36px;border-radius:9px;font-size:14px;}
.oc-name{min-width:0;font-size:13.5px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;} .oc-name small,.oc-num small{color:var(--dim);font-size:10.5px;}
.oc-num{font-size:12.5px;font-variant-numeric:tabular-nums;white-space:nowrap;}
.oc-act{display:flex;gap:6px;}
.oc-up{color:var(--good);font-weight:700;} .oc-down{color:var(--bad);font-weight:700;}
@media (max-width:700px){.oc-row{grid-template-columns:36px minmax(0,1fr) auto;}.oc-row .oc-num2{display:none;}.oc-act{grid-column:1/-1;}}
/* learn hub + guides */
.crumbs{font-size:12.5px;color:var(--mut);margin:0 0 12px;} .crumbs a{color:var(--pri2);}
.guide article p,.guide article li{font-size:15px;line-height:1.7;color:var(--tx);}
.guide article h3{font-size:15px;margin:16px 0 4px;}
.guide article a{color:var(--pri2);text-decoration:underline;}
.guide-cta{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0 10px;}
.guide-cta a{text-decoration:none !important;color:#fff !important;}
.guide-cta a.ghost{color:var(--tx) !important;}
.guide-rel{margin:8px 0 0;padding-left:18px;} .guide-rel a{color:var(--pri2);text-decoration:underline;}
.learn-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;}
.learn-card{display:grid;gap:6px;transition:border-color .15s,transform .15s;} .learn-card:hover{border-color:var(--pri);transform:translateY(-2px);}
.learn-card b{font-size:16px;} .learn-card span{color:var(--mut);font-size:13.5px;line-height:1.5;}

/* ---- trading terminal v2: fomo-style workspace (terminal.html / terminal.js) ---- */
.fx-page .fx-footer{display:none;}
.fx-page{padding-bottom:34px;}
.fx{display:grid;grid-template-columns:300px minmax(0,1fr) 340px;gap:10px;padding:10px 12px;height:calc(100vh - 66px - 34px);min-height:440px;}
.fx-rail,.fx-card,.fx-head,.fx-chart,.fx-bottom{background:var(--card);border:1px solid var(--line);border-radius:14px;}
.fx-rail{display:flex;flex-direction:column;gap:8px;padding:10px;min-height:0;}
.fx-mkts{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:3px;background:var(--bg2);border:1px solid var(--line);border-radius:11px;}
.fx-mkt{border:0;background:transparent;color:var(--mut);font:inherit;font-weight:800;font-size:12.5px;padding:7px 6px;border-radius:8px;cursor:pointer;}
.fx-mkt.on{background:var(--priSoft);color:var(--tx);box-shadow:inset 0 0 0 1px var(--priLine);}
.fx-rail input{width:100%;}
.fx-subtabs{display:flex;gap:4px;flex-wrap:wrap;}
.fx-list{overflow-y:auto;display:grid;gap:3px;align-content:start;min-height:0;flex:1;margin:0 -4px;padding:0 4px;}
.fx-list .term-row{grid-template-columns:36px minmax(0,1fr) auto;}
.term-chip.sol{background:rgba(124,92,255,.15);color:var(--pri2);}
.fx-center{display:grid;grid-template-rows:max-content minmax(740px,1fr) minmax(150px,18%);gap:10px;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;}
.fx-center > .fx-head{position:sticky;top:0;z-index:4;}
.fx-head{display:flex;align-items:center;gap:14px;padding:10px 14px;min-width:0;overflow-x:auto;}
.fx-id{display:flex;align-items:center;gap:10px;min-width:0;flex:0 1 auto;}
.fx-id .dsc-logo{width:42px;height:42px;border-radius:50%;}
.fx-idt{min-width:0;font-size:15px;white-space:nowrap;}
.fx-idt small{display:block;color:var(--mut);font-size:11.5px;overflow:hidden;text-overflow:ellipsis;}
.fx-idt code{font-size:11px;}
.fx-ic{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:7px;border:1px solid var(--line);background:var(--bg2);color:var(--mut);font-size:12px;cursor:pointer;vertical-align:middle;margin-left:2px;}
.fx-ic:hover{color:var(--tx);border-color:var(--line2);} .fx-ic.on{color:#ffd166;border-color:rgba(255,209,102,.45);}
.fx-stats{display:flex;gap:8px;margin-left:auto;flex:0 0 auto;}
.fx-stat{background:var(--bg2);border:1px solid var(--line);border-radius:10px;padding:6px 11px;min-width:86px;}
.fx-stat span{display:block;font-size:10.5px;color:var(--mut);white-space:nowrap;}
.fx-stat b{display:block;font-size:14.5px;font-variant-numeric:tabular-nums;white-space:nowrap;}
.fx-stat.big b{font-size:19px;}
.fx-chart{position:relative;overflow:hidden;min-height:0;}
.fx-chart iframe{width:100%;height:100%;border:0;display:block;}
.fx-bottom{display:flex;flex-direction:column;min-height:0;}
.fx-btabs{display:flex;align-items:center;gap:4px;padding:8px 10px;border-bottom:1px solid var(--line);}
.fx-btab{background:none;border:0;color:var(--mut);font:inherit;font-weight:700;font-size:13px;padding:5px 10px;border-radius:8px;cursor:pointer;}
.fx-btab.on{color:var(--tx);background:var(--bg2);}
.fx-bottom-body{overflow:auto;min-height:0;flex:1;padding:6px 10px;}
.fx-bottom-body .inv-table th{position:sticky;top:0;z-index:1;}
.fx-hbar{position:relative;height:18px;border-radius:5px;background:var(--bg2);min-width:110px;overflow:hidden;}
.fx-hbar i{position:absolute;inset:0 auto 0 0;background:var(--priSoft);}
.fx-hbar span{position:relative;font-size:11.5px;padding-left:6px;line-height:18px;}
.fx-side{display:flex;flex-direction:column;gap:10px;min-height:0;overflow-y:auto;}
.fx-card{padding:12px;}
.fx-side-tabs{display:grid;grid-template-columns:1fr 1fr auto;gap:6px;margin-bottom:10px;}
.fx-sideb{border:1px solid var(--line);background:var(--bg2);color:var(--mut);font:inherit;font-weight:800;font-size:15px;padding:10px;border-radius:11px;cursor:pointer;}
.fx-sideb.on[data-side="buy"]{background:rgba(34,197,94,.16);border-color:rgba(34,197,94,.45);color:#4ade80;}
.fx-sideb.on[data-side="sell"]{background:rgba(239,68,68,.16);border-color:rgba(239,68,68,.45);color:#f87171;}
.fx-gear{width:42px;border:1px solid var(--line);background:var(--bg2);color:var(--mut);border-radius:11px;font-size:16px;cursor:pointer;}
.fx-sideb:focus-visible,.fx-gear:focus-visible,.fx-mkt:focus-visible,.fx-btab:focus-visible,.fx-win:focus-visible,.fx-ic:focus-visible{outline:2px solid var(--pri2);outline-offset:1px;}
.fx-amt{display:flex;align-items:center;background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:4px 12px;}
.fx-amt input{flex:1;min-width:0;border:0 !important;background:transparent !important;font-size:24px;font-weight:800;padding:8px 0 !important;box-shadow:none !important;}
.fx-amt span{color:var(--mut);font-weight:700;font-size:13px;}
.fx-presets{margin-top:8px;}
.fx-ticket .btn.full{margin-top:10px;}
.fx-sellall{margin-top:6px !important;padding:9px !important;font-size:13px !important;}
.fx-bal{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--mut);margin-top:10px;}
.fx-bal b{color:var(--tx);font-variant-numeric:tabular-nums;}
.fx-trust{margin-top:8px;font-size:12.5px;color:var(--mut);} .fx-trust summary{cursor:pointer;}
.fx-slip{margin-bottom:8px;}
.fx-fine{margin-top:10px;}
.q-row{display:flex;justify-content:space-between;font-size:12px;color:var(--mut);} .q-row b{color:var(--tx);}
.fx-about-h{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:15px;}
.fx-about-h a{font-size:12px;color:var(--pri2);text-decoration:underline;}
.fx-desc{font-size:12.5px;color:var(--mut);margin:6px 0 10px;overflow-wrap:anywhere;}
.fx-wins{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-bottom:10px;}
.fx-win{display:grid;gap:2px;justify-items:center;border:1px solid var(--line);background:var(--bg2);border-radius:9px;padding:6px 2px;font:inherit;font-size:11.5px;color:var(--mut);cursor:pointer;}
.fx-win.on{border-color:var(--priLine);background:var(--priSoft);color:var(--tx);}
.fx-ab{margin:8px 0;}
.fx-abl{display:flex;justify-content:space-between;font-size:13px;font-weight:700;margin-bottom:4px;font-variant-numeric:tabular-nums;}
.fx-abb{display:flex;gap:3px;height:6px;} .fx-abb i{display:block;height:100%;border-radius:3px;} .fx-abb .g{background:var(--good);} .fx-abb .r{background:var(--bad);}
.fx-vol{font-size:13px;color:var(--mut);margin-top:6px;} .fx-vol b{color:var(--tx);}
.fx-warn{margin-top:10px;padding:8px 10px;border-radius:10px;border:1px solid rgba(245,180,83,.35);background:rgba(245,180,83,.08);font-size:12.5px;display:grid;gap:3px;}
.fx-up{color:var(--good);font-weight:700;white-space:nowrap;} .fx-down{color:var(--bad);font-weight:700;white-space:nowrap;} .fx-dim{color:var(--dim);}
.fx-ticker{position:fixed;left:0;right:0;bottom:0;height:34px;z-index:40;display:flex;align-items:center;gap:18px;padding:0 14px;background:var(--bg2);border-top:1px solid var(--line);font-size:12.5px;overflow-x:auto;white-space:nowrap;}
.fx-tk b{margin-right:4px;}
@media (max-width:1250px){
  .fx{grid-template-columns:260px minmax(0,1fr) 310px;}
  .fx-stat{min-width:0;} .fx-stats .fx-stat:nth-child(n+5){display:none;}
}
@media (max-width:899px){
  .fx{display:block;height:auto;min-height:0;padding:8px 10px 60px;}
  .fx-center,.fx-side{display:block;overflow:visible;} .fx-center > .fx-head{position:static;}
  .fx > [data-pane],.fx-center > [data-pane],.fx-side > [data-pane]{display:none;}
  .fx[data-show="coins"] > .fx-rail{display:flex;height:calc(100vh - 66px - 34px - 70px);}
  .fx[data-show="chart"] .fx-head{display:flex;flex-wrap:wrap;}
  .fx[data-show="chart"] .fx-chart{display:block;height:78vh;min-height:520px;margin-top:8px;}
  .fx[data-show="trade"] .fx-ticket{display:block;}
  .fx[data-show="activity"] .fx-bottom{display:flex;height:60vh;}
  .fx[data-show="activity"] #fxAbout{display:block;margin-top:8px;}
  .fx:not([data-show="trade"]) #posBox{display:none !important;}
  .fx-stats{margin-left:0;width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;} .fx-stats .fx-stat:nth-child(n+5){display:block;}
  .fx-stat{min-width:0;padding:6px 8px;} .fx-stat b,.fx-stat.big b{font-size:14px;overflow:hidden;text-overflow:ellipsis;}
  .fx-idt{white-space:normal;} .fx-head{overflow:visible;}
  .fx .term-tabs{display:flex;gap:6px;position:sticky;top:66px;z-index:20;background:var(--bg);padding:6px 0 8px;}
  .fx .term-tabs .st-tab{flex:1 0 auto;}
}
/* terminal v3: settings panel, notes */
.fx #buyPctBtns{display:none;}
.fx-note:empty{display:none;} .fx-note{margin:0;}
.fx-settings{border:1px solid var(--line);background:var(--bg2);border-radius:12px;padding:10px 12px;margin-bottom:10px;display:grid;gap:6px;}
.fx-settings[hidden]{display:none;}
.fx-set-h{font-size:12.5px;font-weight:800;margin-top:4px;} .fx-set-h .hint{display:block;font-weight:500;margin-top:1px;}
.fx-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;}
.fx-chip{border:1px solid var(--line);background:var(--card);color:var(--mut);border-radius:9px;padding:6px 10px;font:inherit;font-size:12.5px;font-weight:700;cursor:pointer;}
.fx-chip.on{border-color:var(--priLine);background:var(--priSoft);color:var(--tx);}
.fx-chip:focus-visible{outline:2px solid var(--pri2);outline-offset:1px;}
.fx-custom{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;color:var(--mut);}
.fx-custom input{width:64px;padding:5px 7px !important;font-size:12.5px;}
.fx-presets-edit{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;}
.fx-presets-edit input{padding:6px 8px !important;font-size:13px;text-align:center;}
/* terminal workspace (workspace.js) — desktop only */
.fx-layout-btn{display:none;}
.fx-layout-menu{position:fixed;top:72px;right:16px;z-index:60;width:280px;background:var(--card2);border:1px solid var(--line2);border-radius:14px;padding:12px;box-shadow:0 18px 40px rgba(0,0,0,.45);display:grid;gap:6px;}
.fx-layout-menu[hidden]{display:none;}
.fx-lm-h{font-size:12px;font-weight:800;color:var(--mut);text-transform:uppercase;letter-spacing:.05em;margin-top:4px;}
.fx-lm-row{display:flex;align-items:center;gap:8px;font-size:13.5px;cursor:pointer;}
.fx-resizer{display:none;}
@media (min-width:900px){
  .fx-page .fx-layout-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line2);background:var(--bg2);color:var(--tx);border-radius:999px;padding:7px 12px;font:inherit;font-size:13px;font-weight:700;cursor:pointer;}
  .fx-layout-btn:focus-visible{outline:2px solid var(--pri2);outline-offset:2px;}
  .fx{grid-template-columns:var(--fx-rail-w,300px) minmax(0,1fr) var(--fx-side-w,340px);}
  .fx.fx-no-rail{grid-template-columns:minmax(0,1fr) var(--fx-side-w,340px);}
  .fx.fx-ticket-left{grid-template-columns:var(--fx-side-w,340px) var(--fx-rail-w,300px) minmax(0,1fr);}
  .fx.fx-ticket-left.fx-no-rail{grid-template-columns:var(--fx-side-w,340px) minmax(0,1fr);}
  .fx.fx-ticket-left .fx-side{order:-1;}
  .fx.fx-no-rail > .fx-rail{display:none;}
  .fx-center{grid-template-rows:max-content minmax(740px,1fr) minmax(150px,var(--fx-bottom-h,18%));}
  .fx.fx-no-bottom .fx-center{grid-template-rows:max-content minmax(740px,1fr);}
  .fx.fx-no-bottom .fx-bottom{display:none;}
  .fx.fx-no-about #fxAbout{display:none;}
  body.fx-no-ticker .fx-ticker{display:none;}
  body.fx-no-ticker.fx-page{padding-bottom:0;}
  body.fx-no-ticker .fx{height:calc(100vh - 66px);}
  .fx-rail,.fx-side,.fx-bottom{position:relative;}
  .fx-resizer{display:block;position:absolute;z-index:5;background:transparent;transition:background .15s;}
  .fx-resizer:hover,.fx-resizer:focus-visible,.fx-resizing .fx-resizer{background:var(--priLine);outline:none;}
  .fx-rz-rail{top:12px;bottom:12px;right:0;width:6px;cursor:col-resize;border-radius:3px;}
  .fx-rz-side{top:12px;bottom:12px;left:0;width:6px;cursor:col-resize;border-radius:3px;}
  .fx.fx-ticket-left .fx-rz-side{left:auto;right:0;}
  .fx-rz-bottom{left:12px;right:12px;top:0;height:6px;cursor:row-resize;border-radius:3px;}
  .fx-resizing iframe{pointer-events:none;}
  .fx-resizing{user-select:none;}
}
/* terminal watchlists + list tools */
.fx-tools{display:flex;gap:6px;align-items:center;flex-wrap:wrap;}
.fx-tools:empty{display:none;}
.fx-tools select{flex:1 1 0;min-width:0;background:var(--bg2);border:1px solid var(--line);color:var(--tx);border-radius:9px;padding:5px 8px;font:inherit;font-size:12.5px;height:32px;}
.fx-tbtn{flex:0 0 auto;width:32px;height:32px;border:1px solid var(--line);background:var(--bg2);color:var(--mut);border-radius:9px;cursor:pointer;font-size:14px;}
.fx-tbtn:hover{color:var(--tx);} .fx-tbtn:focus-visible{outline:2px solid var(--pri2);outline-offset:1px;}
.fx-starmenu{position:fixed;z-index:70;width:230px;background:var(--card2);border:1px solid var(--line2);border-radius:12px;padding:10px;box-shadow:0 18px 40px rgba(0,0,0,.45);display:grid;gap:2px;}
.fx-starmenu .fx-lm-row{background:none;border:0;color:var(--tx);font:inherit;font-size:13.5px;text-align:left;padding:7px 8px;border-radius:8px;cursor:pointer;}
.fx-starmenu .fx-lm-row:hover,.fx-starmenu .fx-lm-row:focus-visible{background:var(--bg2);outline:none;}
.fx-layout-menu .fx-lm-row{justify-content:flex-start;text-align:left;margin:0;padding:4px 2px;font-weight:600;color:var(--tx);font-size:13.5px;}
.fx-layout-menu .fx-lm-row input[type=checkbox]{width:16px;height:16px;flex:0 0 16px;margin:0;padding:0;accent-color:var(--pri);}
/* terminal alerts window */
.fx-modal-back{position:fixed;inset:0;z-index:90;background:rgba(5,3,10,.6);display:grid;place-items:center;padding:16px;}
.fx-modal{width:min(480px,100%);max-height:calc(100vh - 32px);overflow:auto;background:var(--card2);border:1px solid var(--line2);border-radius:16px;padding:16px;box-shadow:0 24px 60px rgba(0,0,0,.5);}
.fx-modal-h{display:flex;justify-content:space-between;align-items:center;font-size:16px;margin-bottom:10px;}
.fx-x{background:none;border:0;color:var(--mut);font-size:16px;cursor:pointer;}
.fx-al-form{display:grid;gap:8px;}
.fx-al-form label{display:grid;gap:4px;font-size:12.5px;color:var(--mut);margin:0;}
.fx-al-form label[hidden]{display:none;}
.fx-al-form select{background:var(--bg2);border:1px solid var(--line);color:var(--tx);border-radius:10px;padding:9px;font:inherit;font-size:14px;}
.fx-al-form .btn.full{margin-top:4px;}
.fx-al-list{display:grid;gap:8px;margin-top:6px;}
.fx-al-item{display:flex;gap:10px;justify-content:space-between;align-items:flex-start;padding:10px;border:1px solid var(--line);border-radius:11px;background:var(--bg2);font-size:13px;}
.fx-al-item a{color:inherit;text-decoration:underline;}
.fx-al-acts{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end;}
/* terminal portfolio */
.fx-port-sum{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:8px;margin:4px 0 10px;align-items:stretch;}
.fx-port-sum > div{background:var(--bg2);border:1px solid var(--line);border-radius:10px;padding:8px 10px;min-width:0;}
.fx-port-sum span{display:block;font-size:10.5px;color:var(--mut);text-transform:uppercase;letter-spacing:.04em;}
.fx-port-sum b{display:block;font-size:16px;font-variant-numeric:tabular-nums;} .fx-port-sum b.up{color:var(--good);} .fx-port-sum b.down{color:var(--bad);}
.fx-port-sum small{display:block;font-size:11px;color:var(--dim);}
.fx-port-acts{display:flex;flex-direction:column;gap:4px;justify-content:center;}
.term-table td.up{color:var(--good);} .term-table td.down{color:var(--bad);}
.fx-link{background:none;border:0;color:var(--pri2);font:inherit;font-weight:700;cursor:pointer;padding:0;text-decoration:underline;}
@media (max-width:899px){.fx-port-sum{grid-template-columns:1fr 1fr;}}
.cr-ref{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px;} .cr-ref select{background:var(--bg2);border:1px solid var(--line);color:var(--tx);border-radius:10px;padding:8px;font:inherit;} .cr-ref input{flex:1 1 160px;min-width:0;}

/* terminal: MemeLaunch-only rail tabs in one row; stats wrap instead of being cut off; the floating social bar
   would cover the trade ticket, so the terminal footer links are enough there */
.fx-subtabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;} .fx-subtabs .term-rtab{justify-content:center;white-space:nowrap;padding-left:4px;padding-right:4px;}
.fx-head{flex-wrap:wrap;row-gap:8px;overflow:visible;} .fx-idt{white-space:normal;} .fx-idr{white-space:nowrap;}
.fx-stats{flex-wrap:wrap;justify-content:flex-end;}
.fx-page .social-bar{display:none;}
/* when the middle column is narrow (laptops), compact stat boxes so the coin header stays one line;
   'In curve' goes (the ticket on the right already shows the curve progress) */
@media (min-width: 900px){
  .fx-center{container-type:inline-size;}
  @container (max-width: 1000px){
    .fx-head{gap:10px;padding:8px 12px;} .fx-stats{gap:6px;}
    .fx-stat{min-width:0;padding:5px 9px;} .fx-stat.big b{font-size:16px;} .fx-stat b{font-size:13.5px;}
    .fx-stats .fx-stat:nth-child(5){display:none;}
  }
}
/* Trending page: the Solana tabs (Trending / Graduated) only need search; their source note replaces the score explainer */
.dsc[data-kind="sol"] #dscAge,.dsc[data-kind="sol"] #dscLiq,.dsc[data-kind="sol"] #dscActive,.dsc[data-kind="sol"] #dscRandom,.dsc[data-kind="sol"] .dsc-how{display:none;}
.dsc-solsrc{margin:10px 2px 0;} .dsc-solsrc:empty{display:none;}
/* page headings: the coin name is the coin page's h1 (keeps its old look); visually hidden headings */
h1.coin-title{margin:0;line-height:1.2;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
/* a tap held by early-clicks.js until the page is ready */
.is-waiting{cursor:progress;opacity:.8;}
/* home hero: moving chart background (hero-chart.js), faded so the headline stays readable */
.hero-chart{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:.55;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.35) 30%,#000 62%,#000 82%,transparent 100%),linear-gradient(to right,transparent,#000 12%,#000 88%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.35) 30%,#000 62%,#000 82%,transparent 100%),linear-gradient(to right,transparent,#000 12%,#000 88%,transparent);mask-composite:intersect;}
.hero-in{position:relative;z-index:1;}
/* 💰 Claim in the header + its message */
.hdr-claim{white-space:nowrap;border-color:rgba(52,211,153,.45)!important;color:#6ee7b7!important;}
.hdr-claim:hover{background:rgba(52,211,153,.12)!important;}
@media (max-width:640px){.hdr-claim .hc-l{display:none;}.hdr-claim{padding-left:10px;padding-right:10px;}}
.hdr-toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:90;max-width:min(560px,calc(100vw - 32px));padding:12px 40px 12px 16px!important;border-radius:12px;box-shadow:0 14px 34px rgba(0,0,0,.45);background:var(--card2,#1a1626);font-size:14px;}
.hdr-toast-x{position:absolute;right:8px;top:8px;background:none;border:0;color:var(--mut);cursor:pointer;font-size:14px;}
@media (max-width:640px){.hero-chart{opacity:.38;}}

/* LP transparency panel — built on nova.css tokens so it drops into the coin page unchanged. */
.lp-root,.lp-stack{display:flex;flex-direction:column;gap:16px;}
.lp-root>:empty,.lp-stack:empty{display:none;}

.lp-warn{background:rgba(255,122,122,.10);border:1px solid rgba(255,122,122,.4);color:#ffd9d9;border-radius:var(--r);padding:14px 16px;font-size:13.5px;line-height:1.6;}
.lp-warn b{color:#fff;} .lp-warn.sm{font-size:12.5px;padding:11px 13px;margin:12px 0;}
.lp-ok{background:rgba(52,211,153,.10);border:1px solid rgba(52,211,153,.3);color:#d3f7e8;border-radius:var(--r);padding:14px 16px;font-size:13.5px;}

.lp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:6px 0 14px;}
.lp-grid .cs-v{font-variant-numeric:tabular-nums;}
.lp-sub{font-size:11.5px;color:var(--mut);margin-top:3px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;}
.cstat.lp-w{border-color:rgba(245,180,83,.4);} .cstat.lp-w .cs-v{color:var(--warn);}
.cstat.lp-l{border-color:rgba(52,211,153,.35);} .cstat.lp-l .cs-v{color:var(--good);}

.lp-bar{display:flex;height:10px;border-radius:999px;overflow:hidden;background:var(--bg2);border:1px solid var(--line);}
.lp-bar-l{background:var(--good);} .lp-bar-w{background:var(--warn);}
.lp-legend{display:flex;gap:16px;font-size:12px;color:var(--mut);margin:7px 0 12px;}
.lp-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;} .lp-dot.l{background:var(--good);} .lp-dot.w{background:var(--warn);}

.lp-addr{color:var(--pri);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;}
.lp-addr:hover{text-decoration:underline;}
.lp-copy{margin-left:6px;background:transparent;border:1px solid var(--line2);color:var(--mut);border-radius:999px;padding:1px 8px;font:inherit;font-size:10.5px;cursor:pointer;}
.lp-copy:hover{color:var(--tx);border-color:var(--pri);}
.lp-pos{border-top:1px solid var(--line);padding:12px 0 4px;} .lp-pos:first-of-type{border-top:none;padding-top:0;}
.lp-pos-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:14px;margin-bottom:2px;}

.lp-tabs{display:flex;gap:8px;margin:14px 0 4px;} .lp-tabs .toggle{padding:9px 16px;}
.lp-pcts{display:flex;gap:8px;margin:12px 0 6px;flex-wrap:wrap;}
.lp-review{border:1px solid var(--line2);border-radius:12px;padding:16px;margin-top:12px;background:var(--bg2);}
.lp-review h3{margin:0 0 8px;font-size:15px;}
.lp-ack{display:flex;gap:9px;align-items:flex-start;font-size:13px;color:var(--tx);margin:0 0 4px;cursor:pointer;}
.lp-ack input{width:auto;margin-top:3px;}
.lp-actions{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap;}

.lp-status{border-radius:12px;padding:12px 14px;font-size:13.5px;line-height:1.55;border:1px solid var(--line);background:var(--card);}
.lp-status[hidden]{display:none;}
.lp-status.busy{color:#cabfff;border-color:var(--priLine);}
.lp-status.done{color:var(--good);border-color:rgba(52,211,153,.35);background:rgba(52,211,153,.07);}
.lp-status.error{color:#ffc2c2;border-color:rgba(255,122,122,.4);background:rgba(255,122,122,.07);}
.lp-status a{color:var(--pri);text-decoration:underline;} .lp-status .hint{display:block;margin-top:4px;}

.lp-tablewrap{overflow-x:auto;}
.lp-table{width:100%;border-collapse:collapse;font-size:12.5px;min-width:640px;}
.lp-table th{text-align:left;font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--dim);padding:6px 8px;border-bottom:1px solid var(--line);}
.lp-table td{padding:9px 8px;border-bottom:1px solid var(--line);vertical-align:middle;white-space:nowrap;}
.lp-table td.num{font-variant-numeric:tabular-nums;} .lp-table a{color:var(--pri);}
.lp-k{font-weight:700;} .k-remove .lp-k{color:var(--warn);} .k-add .lp-k{color:var(--good);}
.lp-stack[aria-busy="true"]{opacity:.6;transition:opacity .15s;}
@media(max-width:640px){ .lp-grid{grid-template-columns:1fr;} }

