:root{
  --bg:#05020a;
  --bg2:#070214;
  --card:rgba(255,255,255,.06);
  --line:rgba(139,92,246,.22);
  --text:rgba(229,231,235,.92);
  --muted:rgba(156,163,175,.85);
  --purple:#7c3aed;
  --fuchsia:#a855f7;
  --white:#ffffff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
  color:var(--text);
  background:
    radial-gradient(circle at 20% 10%, rgba(124,58,237,.28), transparent 35%),
    radial-gradient(circle at 80% 20%, rgba(168,85,247,.22), transparent 40%),
    linear-gradient(to bottom,var(--bg),var(--bg2),var(--bg));
}
a{color:inherit;text-decoration:none}
.container{max-width:1180px;margin:0 auto;padding:0 22px}
.glass{
  background:var(--card);
  backdrop-filter: blur(12px);
  border:1px solid var(--line);
  border-radius:22px;
}
.shadow-soft{box-shadow:0 26px 70px rgba(0,0,0,.55)}
.pill{
  display:inline-flex;gap:.5rem;align-items:center;
  border:1px solid var(--line);
  background:rgba(0,0,0,.25);
  padding:.42rem .7rem;border-radius:999px;
  color:var(--muted);font-size:.82rem;
}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  padding:.85rem 1.05rem;border-radius:16px;
  background:rgba(124,58,237,.18);
  border:1px solid rgba(124,58,237,.35);
  color:#efeaff;
  font-weight:700;font-size:.93rem;
}
.btn:hover{background:rgba(124,58,237,.26)}
.btn-solid{
  background:linear-gradient(135deg, rgba(124,58,237,.95), rgba(168,85,247,.9));
  border:1px solid rgba(255,255,255,.1);
}
.btn-solid:hover{filter:brightness(1.03)}
.topbar{
  position:sticky;top:0;z-index:50;
  background:rgba(5,2,10,.72);
  backdrop-filter: blur(12px);
  border-bottom:1px solid var(--line);
}
.nav{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 0;
}
.brand{
  display:flex;align-items:center;gap:12px;
}
.logo{
  width:40px;height:40px;border-radius:14px;
  background:linear-gradient(135deg, rgba(124,58,237,1), rgba(168,85,247,1));
  box-shadow:0 20px 60px rgba(0,0,0,.5);
}
.brand h1{margin:0;font-size:1.05rem;font-weight:900;color:#fff;letter-spacing:.2px;text-transform:lowercase}
.brand p{margin:0;font-size:.72rem;color:rgba(156,163,175,.9)}
.menu{display:flex;align-items:center;gap:18px}
.menu a{font-size:.9rem;color:rgba(209,213,219,.86)}
.menu a:hover{color:rgba(196,181,253,.95)}
.right{display:flex;align-items:center;gap:10px}
.search{
  width:280px;max-width:38vw;
  background:rgba(0,0,0,.26);
  border:1px solid var(--line);
  border-radius:16px;
  padding:10px 12px;
  color:rgba(229,231,235,.92);
  outline:none;
}
.search::placeholder{color:rgba(156,163,175,.7)}
.hamburger{display:none}
@media (max-width: 940px){
  .menu{display:none}
  .search{display:none}
  .hamburger{display:inline-flex}
}
.drawer{
  display:none;
  position:fixed;inset:0;z-index:60;
  background:rgba(0,0,0,.55);
}
.drawer .panel{
  width:min(420px,92vw);height:100%;
  background:rgba(7,2,20,.92);
  border-right:1px solid var(--line);
  padding:18px;
}
.drawer a{
  display:block;padding:12px 10px;border-radius:14px;
  border:1px solid transparent;
  color:rgba(229,231,235,.92)
}
.drawer a:hover{border-color:rgba(124,58,237,.35);background:rgba(124,58,237,.10)}
.grid{display:grid;gap:16px}
.hero{padding:26px 0 8px}
.hero-card{padding:22px}
.hero-title{
  font-size:2.2rem;line-height:1.07;margin:10px 0 0;
  font-weight:950;color:#fff;
}
.hero-sub{color:rgba(209,213,219,.82);max-width:64ch;margin:10px 0 0;line-height:1.6}
.kicker{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.section-title{
  display:flex;align-items:end;justify-content:space-between;
  gap:12px;margin:24px 0 12px;
}
.section-title h2{margin:0;font-size:1.2rem;color:#fff}
.section-title p{margin:0;color:rgba(156,163,175,.85);font-size:.9rem}
.card{
  padding:16px;border-radius:18px;
  border:1px solid var(--line);
  background:rgba(0,0,0,.22);
}
.card:hover{background:rgba(0,0,0,.28)}
.thumb{
  width:100%;aspect-ratio:16/9;border-radius:14px;
  background:linear-gradient(135deg, rgba(124,58,237,.35), rgba(168,85,247,.18));
  border:1px solid rgba(255,255,255,.08);
}
.meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px;color:rgba(156,163,175,.9);font-size:.8rem}
.headline{margin:10px 0 0;font-weight:900;color:#fff;line-height:1.25}
.excerpt{margin:8px 0 0;color:rgba(209,213,219,.82);line-height:1.55}
.badge{
  display:inline-flex;align-items:center;gap:.4rem;
  padding:.3rem .55rem;border-radius:999px;
  background:rgba(124,58,237,.14);
  border:1px solid rgba(124,58,237,.28);
  color:rgba(233,213,255,.92);
  font-size:.78rem;font-weight:700;
}
.cols-3{grid-template-columns:repeat(3, minmax(0,1fr))}
.cols-4{grid-template-columns:repeat(4, minmax(0,1fr))}
.cols-2{grid-template-columns:repeat(2, minmax(0,1fr))}
@media (max-width: 980px){.cols-4{grid-template-columns:repeat(2, minmax(0,1fr))}}
@media (max-width: 820px){.cols-3{grid-template-columns:repeat(1, minmax(0,1fr))}.cols-2{grid-template-columns:repeat(1, minmax(0,1fr))}}
.layout{display:grid;gap:16px;grid-template-columns: 2fr 1fr}
@media (max-width: 980px){.layout{grid-template-columns:1fr}}
.ticker{
  display:flex;gap:10px;align-items:center;flex-wrap:wrap;
  padding:10px 12px;border-radius:18px;
  border:1px solid var(--line);
  background:rgba(0,0,0,.22);
}
.ticker strong{color:#fff}
.tag{
  display:inline-flex;align-items:center;
  padding:.35rem .6rem;border-radius:999px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.04);
  color:rgba(209,213,219,.86);
  font-size:.8rem;
}
.tag:hover{border-color:rgba(124,58,237,.35)}
.footer{
  margin-top:34px;border-top:1px solid var(--line);
  padding:22px 0 40px;
  color:rgba(156,163,175,.82);font-size:.86rem;
}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px}
@media (max-width: 880px){.footer-grid{grid-template-columns:1fr}}
.small{font-size:.78rem;color:rgba(156,163,175,.85)}
.hr{height:1px;background:rgba(139,92,246,.18);margin:18px 0}
.article{padding:18px 0}
.article h1{margin:0;color:#fff;font-weight:950;font-size:2.0rem;line-height:1.15}
.article h2{color:#fff;margin:26px 0 10px;font-size:1.25rem}
.article p{color:rgba(209,213,219,.86);line-height:1.75;margin:10px 0}
.article ul{color:rgba(209,213,219,.86);line-height:1.75}
blockquote{
  margin:14px 0;padding:12px 14px;border-radius:16px;
  border:1px solid rgba(124,58,237,.28);
  background:rgba(124,58,237,.10);
  color:rgba(229,231,235,.9);
}
details{border:1px solid rgba(139,92,246,.22);background:rgba(0,0,0,.20);border-radius:16px;padding:12px 14px}
summary{cursor:pointer;color:#fff;font-weight:800}
details p{margin:10px 0 0}
.toast{
  position:fixed;left:16px;bottom:16px;z-index:80;
  width:min(420px,92vw);
  border:1px solid rgba(139,92,246,.22);
  background:rgba(0,0,0,.56);
  backdrop-filter: blur(12px);
  border-radius:18px;
  padding:12px 12px;
  display:none;
}
.toast .row{display:flex;align-items:flex-start;gap:10px}
.toast .dot{width:10px;height:10px;border-radius:999px;background:linear-gradient(135deg, rgba(124,58,237,1), rgba(168,85,247,1));margin-top:6px}
.toast b{color:#fff}