:root{
  --bg:#0b1020;
  --card:rgba(255,255,255,.08);
  --card2:rgba(255,255,255,.12);
  --text:rgba(255,255,255,.92);
  --muted:rgba(255,255,255,.70);
  --accent:#7cf7d4;
  --accent2:#ff67c7;
  --shadow: 0 12px 40px rgba(0,0,0,.45);
  --radius: 22px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  color:var(--text);
  background: radial-gradient(1200px 700px at 20% 20%, rgba(124,247,212,.18), transparent 60%),
              radial-gradient(1200px 700px at 80% 30%, rgba(255,103,199,.14), transparent 60%),
              radial-gradient(900px 600px at 50% 90%, rgba(120,140,255,.12), transparent 60%),
              linear-gradient(180deg, #070a14, #0b1020 30%, #070a14);
  overflow-x:hidden;
}

/* Fun background blobs */
.blob{
  position:fixed; inset:auto;
  width:480px; height:480px;
  filter: blur(22px);
  opacity:.55;
  border-radius: 999px;
  mix-blend-mode: screen;
  pointer-events:none;
  animation: floaty 9s ease-in-out infinite;
}
.blob.b1{left:-140px; top:-120px; background: radial-gradient(circle at 30% 30%, var(--accent), transparent 55%);}
.blob.b2{right:-180px; top:40px; background: radial-gradient(circle at 40% 40%, var(--accent2), transparent 55%); animation-delay:-2.2s;}
.blob.b3{left:20%; bottom:-240px; background: radial-gradient(circle at 40% 40%, #6da8ff, transparent 55%); animation-delay:-4.1s;}

@keyframes floaty{
  0%,100%{ transform: translate3d(0,0,0) scale(1);}
  50%{ transform: translate3d(0,-18px,0) scale(1.03);}
}

header{
  position:sticky; top:0;
  backdrop-filter: blur(10px);
  background: linear-gradient(180deg, rgba(11,16,32,.88), rgba(11,16,32,.60));
  border-bottom:1px solid rgba(255,255,255,.08);
  z-index:20;
}
.wrap{max-width:1100px; margin:0 auto; padding:20px;}
.topbar{display:flex; align-items:center; justify-content:space-between; gap:14px;}
.brand{display:flex; align-items:center; gap:12px; font-weight:800; letter-spacing:.2px;}

.logo{
  width:38px;height:38px;border-radius:14px;
  background: linear-gradient(135deg, var(--accent), var(--accent2));
  box-shadow: 0 12px 35px rgba(255,103,199,.18);
  position:relative;
  overflow:hidden;
}
.logo::after{
  content:"";
  position:absolute; inset:-40%;
  background: conic-gradient(from 120deg, rgba(255,255,255,.65), transparent 40%, rgba(255,255,255,.35));
  animation: spin 2.8s linear infinite;
}
@keyframes spin{to{transform:rotate(360deg)}}

.hint{color:var(--muted); font-size:13px}

main{padding:40px 0 70px;}
.hero{
  display:grid;
  grid-template-columns: 1.25fr .75fr;
  gap:22px;
  align-items:stretch;
}
@media (max-width:900px){ .hero{grid-template-columns:1fr} }

.card{
  background: linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.06));
  border:1px solid rgba(255,255,255,.10);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
.hero .left{padding:28px; position:relative; overflow:hidden;}
h1{
  margin:0 0 10px;
  font-size: clamp(28px, 4vw, 44px);
  line-height:1.05;
  letter-spacing:-.6px;
}
.subtitle{color:var(--muted); font-size:16px; margin:0 0 16px; max-width:62ch;}

.searchWrap{margin-top:18px; display:grid; gap:12px;}
.search{
  display:flex; gap:10px; align-items:center;
  padding:14px 14px;
  border-radius:18px;
  background: rgba(0,0,0,.18);
  border:1px solid rgba(255,255,255,.12);
}
.search input{
  width:100%;
  background:transparent;
  border:none;
  outline:none;
  color:var(--text);
  font-size:16px;
}
.kbd{
  font-size:12px;
  padding:6px 9px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  color: var(--muted);
  white-space:nowrap;
}

.chips{display:flex; flex-wrap:wrap; gap:8px; align-items:center;}
.chip{
  cursor:pointer;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  color: var(--muted);
  padding:8px 10px;
  border-radius:999px;
  font-weight:800;
  font-size:12px;
  transition: transform .15s ease, background .15s ease, color .15s ease;
  user-select:none;
}
.chip:hover{transform: translateY(-1px); background: rgba(255,255,255,.10); color: var(--text);}
.chip.active{
  background: linear-gradient(135deg, rgba(124,247,212,.22), rgba(255,103,199,.18));
  border-color: rgba(255,255,255,.20);
  color: var(--text);
}

.ctaRow{display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-top:12px;}
.btn{
  cursor:pointer;
  border:1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.08);
  color:var(--text);
  padding:12px 14px;
  border-radius:16px;
  font-weight:800;
  transition: transform .15s ease, background .15s ease;
  user-select:none;
}
.btn:hover{transform: translateY(-1px); background: rgba(255,255,255,.12);}
.btn.primary{
  border:none;
  background: linear-gradient(135deg, var(--accent), var(--accent2));
  color:#0b1020;
}

.hero .right{padding:18px; display:grid; gap:12px;}
.stat{
  padding:14px;
  border-radius:18px;
  background: rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
  position:relative;
  overflow:hidden;
}
.stat strong{display:block; font-size:18px}
.stat span{color:var(--muted); font-size:13px}
.spark{
  position:absolute; right:-40px; top:-40px;
  width:160px;height:160px;border-radius:999px;
  background: radial-gradient(circle at 30% 30%, rgba(124,247,212,.35), transparent 60%);
  transform: rotate(20deg);
}

.grid{
  margin-top:20px;
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:14px;
}
@media (max-width:980px){ .grid{grid-template-columns: repeat(2, 1fr);} }
@media (max-width:620px){ .grid{grid-template-columns: 1fr;} }

.term{
  padding:16px;
  border-radius:18px;
  background: rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
  position:relative;
  overflow:hidden;
  transform: translateY(8px);
  opacity:0;
}
.term.show{
  transform: translateY(0);
  opacity:1;
  transition: transform .5s cubic-bezier(.2,.9,.2,1), opacity .5s ease;
}
.term h3{
  margin:0;
  font-size:16px;
  letter-spacing:-.2px;
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
}
.badge{
  font-size:11px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  color:var(--muted);
}
.term p{margin:10px 0 0; color:var(--muted); line-height:1.45}
.term button{
  margin-top:10px;
  width:100%;
  border:none;
  background: rgba(255,255,255,.08);
  color:var(--text);
  padding:10px 12px;
  border-radius:14px;
  cursor:pointer;
  font-weight:900;
  display:flex; justify-content:space-between; align-items:center;
}
.term .details{
  max-height:0;
  overflow:hidden;
  transition:max-height .35s ease;
}
.term.open .details{max-height:420px;}
.arrow{transition: transform .2s ease;}
.term.open .arrow{transform: rotate(180deg);}

.toast{
  position:fixed;
  left:50%;
  bottom:20px;
  transform:translateX(-50%) translateY(20px);
  background: rgba(0,0,0,.55);
  border:1px solid rgba(255,255,255,.14);
  padding:10px 12px;
  border-radius: 14px;
  color:var(--text);
  opacity:0;
  pointer-events:none;
  backdrop-filter: blur(8px);
  transition: opacity .25s ease, transform .25s ease;
  z-index:40;
}
.toast.show{opacity:1; transform:translateX(-50%) translateY(0);}

footer{color:var(--muted); padding:24px 0 40px; font-size:13px}
.small{opacity:.9}

@media (prefers-reduced-motion: reduce){
  .blob, .logo::after{animation:none!important}
  .term, .term.show{transition:none!important}
}
.statLink{
  display:inline-flex;
  margin-left:10px;
  padding:6px 10px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.08);
  color: var(--text);
  text-decoration:none;
  font-weight:900;
}
.statLink:hover{ background: rgba(255,255,255,.12); }
