:root{
  --berry:#7c3aed; --berry-dk:#5b21b6; --magenta:#db2777; --blue:#2563eb;
  --berry-soft:#f1ebfd; --ink:#241b3a; --text:#36304a; --muted:#8b82a6;
  --bg:#faf7ff; --paper:#ffffff; --line:#ece6f7;
  --pos:#10b981; --pos-dk:#059669; --neg:#ef4444; --amber:#f59e0b;
  --grad:linear-gradient(105deg,#7c3aed 0%,#db2777 55%,#2563eb 110%);
  --head:'Fredoka',system-ui,sans-serif; --body:'Nunito Sans',system-ui,sans-serif;
  --r:22px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.65 var(--body);overflow-x:hidden;position:relative}
/* playful blurred color blobs in the background */
body::before,body::after{content:"";position:fixed;z-index:-1;border-radius:50%;filter:blur(90px);opacity:.28;pointer-events:none}
body::before{width:520px;height:520px;background:var(--berry);top:-160px;right:-120px}
body::after{width:460px;height:460px;background:var(--magenta);bottom:-180px;left:-140px}
a{color:var(--berry);text-decoration:none;font-weight:700}
a:hover{color:var(--magenta)}
h1,h2,h3{font-family:var(--head);color:var(--ink);line-height:1.1;letter-spacing:-.01em}
h1{font-size:3rem;font-weight:700;margin:.1em 0 .3em}
h2{font-size:1.55rem;font-weight:600;margin:0 0 .55em}
h3{font-size:1.1rem;font-weight:600;margin:0 0 6px}
.lead{font-size:1.18rem;color:#5b5275;margin-top:0;font-weight:600}
.muted{color:var(--muted);font-size:.92rem;font-weight:600}

/* header — glassy */
.topbar{display:flex;align-items:center;justify-content:space-between;padding:12px 28px;
  background:rgba(255,255,255,.72);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);
  position:sticky;top:0;z-index:10}
.brand{display:flex;align-items:center;gap:11px}
.brand-img{display:block;height:86px;width:auto}
.topbar nav a{margin-left:20px;color:#6a6086;font-weight:700;font-size:.95rem}
.topbar nav a:hover{color:var(--berry)}
.topbar nav a.nav-tg{color:#229ED9}

/* freshbar — gradient */
.freshbar{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;align-items:center;
  background:var(--grad);color:#fff;font-size:.84rem;padding:8px 18px;font-weight:700}
.freshbar strong{color:#fff;text-decoration:underline;text-decoration-color:rgba(255,255,255,.5)}
.freshbar .sep{opacity:.6}
.freshbar .live{display:inline-flex;align-items:center;gap:6px}
.freshbar .dot{width:8px;height:8px;border-radius:50%;background:#a7f3d0;
  box-shadow:0 0 0 0 rgba(255,255,255,.7);animation:pulse 2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(255,255,255,.6)}70%{box-shadow:0 0 0 7px rgba(255,255,255,0)}100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}}

/* layout */
.wrap{display:grid;grid-template-columns:1fr 320px;gap:30px;max-width:1180px;margin:0 auto;padding:34px 28px}
@media(max-width:900px){.wrap{grid-template-columns:1fr}}
.crumbs{color:var(--muted);font-size:.86rem;margin-bottom:8px;font-weight:700}
.crumbs a{color:var(--muted)}

/* cards — soft, rounded, colored shadow */
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);
  padding:24px 26px;margin:0 0 24px;box-shadow:0 12px 30px -12px rgba(124,58,237,.18)}

/* hero */
.hero{margin-bottom:26px;position:relative}
.hero h1{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;position:relative;z-index:1}
.hero .lead,.hero .statband{position:relative;z-index:1}
.mascot{position:absolute;right:4%;top:-14px;width:168px;z-index:0;
  filter:drop-shadow(0 16px 30px rgba(124,58,237,.35));animation:bob 4.5s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-14px) rotate(3deg)}}
@media(max-width:760px){.mascot{width:92px;right:-4px;top:-8px;opacity:.9}}
.statband{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:22px}
.statband .stat{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:18px 14px;text-align:center;
  box-shadow:0 12px 28px -14px rgba(219,39,119,.22);transition:transform .18s,box-shadow .18s}
.statband .stat:hover{transform:translateY(-4px);box-shadow:0 18px 34px -14px rgba(124,58,237,.3)}
.statband .num{display:block;font-family:var(--head);font-weight:700;font-size:1.75rem;line-height:1;
  background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.statband .lbl{display:block;color:var(--muted);font-size:.74rem;margin-top:5px;text-transform:uppercase;letter-spacing:.05em;font-weight:700}

/* tables */
table.rates{width:100%;border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums}
table.rates th{text-align:left;color:var(--berry-dk);font-weight:700;font-size:.74rem;
  text-transform:uppercase;letter-spacing:.05em;padding:10px 12px}
table.rates td{padding:13px 12px;border-top:1px solid var(--line)}
table.rates tbody tr:hover td{background:var(--berry-soft)}
table.rates tbody tr:hover td:first-child{border-top-left-radius:12px;border-bottom-left-radius:12px}
table.rates tbody tr:hover td:last-child{border-top-right-radius:12px;border-bottom-right-radius:12px}
.pos{color:var(--pos-dk);font-weight:800}.neg{color:var(--neg);font-weight:800}
.mini{font-size:.85rem;color:var(--berry);font-weight:800}.mini:hover{color:var(--magenta)}

/* peg tags */
.tag{display:inline-block;padding:3px 12px;border-radius:999px;font-size:.76rem;font-weight:800}
.tag.stable{background:#d1fae5;color:var(--pos-dk)}
.tag.watch{background:#fef3c7;color:#b45309}
.tag.depegged{background:#fee2e2;color:#b91c1c}

/* kpis */
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.kpi{background:linear-gradient(150deg,var(--berry-soft),#fff);border:1px solid var(--line);border-radius:16px;padding:16px 18px}
.kpi .k{display:block;color:var(--muted);font-size:.74rem;text-transform:uppercase;letter-spacing:.04em;font-weight:700}
.kpi .v{display:block;font-family:var(--head);font-weight:700;font-size:1.4rem;color:var(--ink);margin-top:3px}
.kpi .v.small{font-size:1rem;text-transform:capitalize}
@media(max-width:600px){.kpis{grid-template-columns:repeat(2,1fr)}}

/* share-of-supply bar */
.bar{display:inline-block;width:120px;height:10px;background:var(--berry-soft);border-radius:6px;vertical-align:middle;margin-right:8px;overflow:hidden}
.bar span{display:block;height:100%;background:var(--grad);border-radius:6px}

/* chips */
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{display:inline-block;padding:7px 15px;border:1px solid var(--line);border-radius:999px;
  background:var(--paper);color:var(--berry);font-size:.86rem;font-weight:800;transition:transform .15s}
.chip:hover{border-color:transparent;color:#fff;background:var(--grad);transform:translateY(-2px)}

/* CTA */
.cta{display:block;background:var(--grad);color:#fff;text-align:center;padding:13px 16px;
  border-radius:999px;margin:10px 0;font-weight:800;box-shadow:0 10px 22px -10px rgba(124,58,237,.6);transition:transform .15s,filter .15s}
.cta:hover{color:#fff;transform:translateY(-2px);filter:brightness(1.06)}
.cta .perk{display:block;font-weight:700;font-size:.76rem;opacity:.92;margin-top:2px}
.cta.tg{background:#229ED9;box-shadow:0 10px 22px -10px rgba(34,158,217,.6)}
.cta-row{display:flex;flex-wrap:wrap;gap:11px;margin-top:10px}.cta-row .cta{flex:1;min-width:170px}

/* sidebar */
.sidebar .card{position:sticky;top:96px}
.cta-card{background:linear-gradient(160deg,#fff,var(--berry-soft))}
.tg-card{border:1px solid #bfe6f7}
.tg-card .tg-note{color:var(--muted);font-size:.74rem;text-align:center;margin:8px 0 0}
.disclaimer{color:var(--muted);font-size:.78rem;margin-top:12px}
@media(max-width:900px){.sidebar .card{position:static}}

/* tg banner */
.tg-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;
  background:var(--grad);border-radius:var(--r);padding:22px 26px;margin:0 0 24px;box-shadow:0 16px 34px -16px rgba(124,58,237,.5)}
.tg-banner h2{color:#fff;margin:0 0 4px}.tg-banner p{color:rgba(255,255,255,.92);margin:0;font-size:.96rem;font-weight:600}
.tg-banner .cta{background:#fff;color:var(--berry-dk);margin:0;min-width:200px;box-shadow:none}
.tg-banner .cta:hover{color:var(--magenta)}
.tg-banner.compact{padding:18px 22px}

/* share */
.sharebar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 20px}
.share-lbl{color:var(--muted);font-size:.85rem;font-weight:800}
.share{display:inline-block;padding:7px 16px;border-radius:999px;font-size:.84rem;font-weight:800;
  border:1px solid var(--line);background:var(--paper);color:var(--berry);cursor:pointer;font-family:var(--body)}
.share:hover{border-color:transparent;color:#fff;background:var(--grad)}
.share.x:hover{background:#000}
.share.tg:hover{background:#229ED9}
.share.copy.copied{background:var(--pos);color:#fff;border-color:var(--pos)}

.depeg-card{background:linear-gradient(160deg,#fff,#fff7ed)}

/* search */
.searchbar{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:14px}
#coin-search{flex:1;min-width:200px;padding:12px 16px;font-size:1rem;font-family:var(--body);font-weight:600;
  border:2px solid var(--line);border-radius:999px;background:var(--paper);color:var(--text)}
#coin-search:focus{outline:none;border-color:var(--berry);box-shadow:0 0 0 4px rgba(124,58,237,.15)}
#search-count{color:var(--muted);font-size:.85rem;white-space:nowrap;font-weight:700}

/* footer */
.footer{background:var(--ink);color:#c9bfe0;padding:30px;text-align:center;margin-top:14px;position:relative;overflow:hidden}
.footer::after{content:"";position:absolute;right:24px;bottom:-34px;width:150px;height:150px;
  background:url(berry.png) center/contain no-repeat;opacity:.13;transform:rotate(-8deg)}
.footer p{margin:5px 0;position:relative}.footer .muted{color:#8b7fb0}
#to-top{display:none;position:fixed;right:18px;bottom:18px;z-index:20;width:48px;height:48px;border-radius:50%;
  border:none;background:var(--grad);color:#fff;font-size:1.2rem;cursor:pointer;box-shadow:0 8px 20px -6px rgba(124,58,237,.7)}

/* mobile sticky */
.mobilebar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:30;gap:8px;padding:8px 10px;
  background:rgba(36,27,58,.96);backdrop-filter:blur(8px)}
.mobilebar .mb{flex:1;text-align:center;padding:13px 8px;border-radius:999px;font-weight:800;font-size:.92rem}
.mobilebar .mb.berry{background:var(--grad);color:#fff}
.mobilebar .mb.tg{background:#229ED9;color:#fff}

ul{padding-left:1.15em}li{margin:.32em 0}
code{background:var(--berry-soft);padding:1px 6px;border-radius:6px;font-size:.9em}

@media(max-width:600px){
  .topbar{flex-wrap:wrap;gap:10px;padding:10px 16px}
  .brand-img{height:58px}
  .topbar nav{width:100%;display:flex;justify-content:space-between;margin:0}
  .topbar nav a{margin-left:0;font-size:.85rem}
  .wrap{padding:20px 14px;gap:16px}
  h1{font-size:2.1rem}h2{font-size:1.3rem}
  .card{padding:18px 16px}
  table.rates{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}
  .statband{grid-template-columns:repeat(2,1fr)}
  .tg-banner .cta{min-width:100%}
  .freshbar{font-size:.74rem}.freshbar .sep{display:none}
  .mobilebar{display:flex}body{padding-bottom:66px}#to-top{bottom:76px}
}
