/* ASTRIXIUM — tinh van tim-hong, liquid glass. Nap SAU style.css (index + dashboard dung chung).
   Doi tong mau: sua cac bien --v1 / --v2 / --v3 / --hi ngay duoi day. */
:root{
  --v1:167,139,250;--v2:244,114,182;--v3:139,92,246;--hi:#c4b5fd;
  --bg:#07050f;--bg-2:#0d0818;--txt:#f5f0ff;--muted:#b9acd6;--dim:#7d7099;
  --line:rgba(255,255,255,.13);--line-soft:rgba(255,255,255,.07)
}
::selection{background:#c4b5fd;color:#10061f}
::-webkit-scrollbar-track{background:#07050f}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#8b5cf6,#db2777);border-color:#07050f}

/* nen */
.n1{background:radial-gradient(circle,rgba(124,58,237,.36),transparent 62%)}
.n2{background:radial-gradient(circle,rgba(219,39,119,.28),transparent 62%)}
.hero-glow{background:radial-gradient(circle,rgba(var(--v1),.22),rgba(219,39,119,.08) 42%,transparent 68%)}
.light-streak{background:linear-gradient(90deg,transparent,rgba(var(--v1),.9) 45%,#fff 55%,transparent);filter:blur(1px) drop-shadow(0 0 14px rgba(var(--v2),.8))}

/* chu chrome -> ngoc trai tim */
.chrome-live,.chrome-static{background:linear-gradient(180deg,#fff 0%,#f1eaff 28%,#b9a4f2 50%,#fbd9ec 54%,#c79ddb 78%,#f3e8ff 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.section-tag{color:var(--hi)}

/* emblem + preloader */
#ringGradH stop:nth-child(2),#ringGradP stop:nth-child(2){stop-color:#8b6fd6}
#ringGradH stop:nth-child(3),#ringGradP stop:nth-child(3){stop-color:#f6e9ff}
#ringGradH stop:nth-child(4),#ringGradP stop:nth-child(4){stop-color:#c0509b}
#aGradH stop:nth-child(2),#aGradP stop:nth-child(2){stop-color:#d9c8ff}
#aGradH stop:nth-child(4),#aGradP stop:nth-child(4){stop-color:#9b6fcf}
.orbit-dot,.orbit-halo{fill:#f9a8d4}
.pre-bar{background:rgba(255,255,255,.14)}
.pre-bar-fill{background:linear-gradient(90deg,#8b5cf6,#f472b6);box-shadow:0 0 14px rgba(var(--v2),.7)}

/* con tro */
.cursor-dot{background:#f9a8d4}
.cursor-ring{border-color:rgba(var(--v1),.6)}
body.cursor-hover .cursor-ring{border-color:rgba(var(--v2),.9);background:rgba(var(--v2),.1)}

/* hero */
.hero-badge{background:rgba(var(--v1),.12);border-color:rgba(var(--v1),.4);color:#e6dcff;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.pulse-dot{background:#f472b6;animation:pulsePink 2.2s infinite}
@keyframes pulsePink{0%{box-shadow:0 0 0 0 rgba(var(--v2),.6)}70%{box-shadow:0 0 0 9px rgba(var(--v2),0)}100%{box-shadow:0 0 0 0 rgba(var(--v2),0)}}
.mq-dot{background:rgba(var(--v2),.75)}
.marquee{background:rgba(var(--v1),.05)}
#nav.scrolled{background:rgba(14,6,32,.55);-webkit-backdrop-filter:blur(22px) saturate(180%);backdrop-filter:blur(22px) saturate(180%);border-bottom:1px solid rgba(255,255,255,.12)}

/* nut */
.btn-primary{background:linear-gradient(145deg,rgba(var(--v1),.85),rgba(var(--v3),.75) 55%,rgba(var(--v2),.75));color:#fff;border:1px solid rgba(255,255,255,.35);box-shadow:inset 0 1.5px 0 rgba(255,255,255,.6),inset 0 -8px 16px rgba(40,10,90,.35),0 10px 28px rgba(var(--v3),.42)}
.btn-primary:hover{box-shadow:inset 0 1.5px 0 rgba(255,255,255,.6),inset 0 -8px 16px rgba(40,10,90,.35),0 12px 40px rgba(var(--v2),.5)}
.btn-ghost{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.22);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:inset 0 1px 0 rgba(255,255,255,.35)}
.btn-ghost:hover{border-color:rgba(var(--v2),.7);background:rgba(var(--v2),.1)}
.btn:disabled{opacity:.6;cursor:wait}
.btn:focus-visible,.dash-tab:focus-visible,input:focus-visible{outline:2px solid var(--hi);outline-offset:2px}

/* the kinh */
.feature-card,.hwid-card,.dl-card,.hwid-step,.modlist-item{background:linear-gradient(135deg,rgba(255,255,255,.14),rgba(255,255,255,.04));-webkit-backdrop-filter:blur(26px) saturate(190%) brightness(1.06);backdrop-filter:blur(26px) saturate(190%) brightness(1.06);border:1px solid rgba(255,255,255,.16);border-radius:26px;box-shadow:inset 0 1.5px 0 rgba(255,255,255,.5),inset 0 -1.5px 0 rgba(255,255,255,.08),inset 0 0 36px rgba(var(--v1),.06),0 24px 60px rgba(20,5,50,.55)}
.feature-card:hover{border-color:rgba(var(--v1),.5)}
.feature-card::before,.hwid-card::before{background:radial-gradient(340px circle at var(--mx,50%) var(--my,50%),rgba(var(--v1),.22),transparent 62%)}
.hwid-step,.modlist-item{border-radius:18px}
.fc-icon{background:linear-gradient(145deg,rgba(var(--v1),.32),rgba(var(--v2),.18));border-color:rgba(255,255,255,.26);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.5)}
.feature-card:hover .fc-icon{box-shadow:0 0 26px rgba(var(--v2),.45)}
.hwid-step span{color:var(--hi)}

/* tab + o nhap + thong bao (dashboard) */
.dash-tabs,.dl-req{background:rgba(255,255,255,.07);-webkit-backdrop-filter:blur(22px) saturate(180%);backdrop-filter:blur(22px) saturate(180%);border:1px solid rgba(255,255,255,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.4),inset 0 -1px 0 rgba(255,255,255,.08),0 12px 36px rgba(20,5,50,.55)}
.dash-tab.active{background:linear-gradient(145deg,rgba(var(--v1),.6),rgba(var(--v2),.45));color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 6px 22px rgba(var(--v3),.45)}
.hwid-card input{background:rgba(15,5,35,.4);color:var(--txt);border:1px solid rgba(255,255,255,.16);border-radius:14px;box-shadow:inset 0 2px 8px rgba(0,0,0,.35),0 1px 0 rgba(255,255,255,.1)}
.hwid-card input:focus{outline:0;border-color:var(--hi);box-shadow:inset 0 2px 8px rgba(0,0,0,.35),0 0 0 4px rgba(var(--v1),.24)}
.toast{background:rgba(255,255,255,.12);-webkit-backdrop-filter:blur(22px) saturate(180%);backdrop-filter:blur(22px) saturate(180%);border-color:rgba(255,255,255,.28);box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 12px 44px rgba(20,5,50,.6)}
.toast-error{border-color:rgba(255,122,138,.6)}

/* cong tat module */
.sw.on{background:linear-gradient(145deg,rgb(var(--v1)),rgb(var(--v2)));border-color:transparent;box-shadow:0 0 16px rgba(var(--v2),.5)}
.sw.on::after{background:#fff}

/* danh sach module o Features */
.modlist{max-width:1100px;margin:70px auto 0;padding:0 6vw}
.modlist-cat{display:flex;align-items:center;gap:10px;margin:34px 0 14px;font-family:var(--font-display);font-size:13px;font-weight:700;letter-spacing:.22em;color:var(--hi)}
.modlist-cat span{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;padding:3px 10px;border-radius:999px;border:1px solid rgba(var(--v1),.4);color:var(--muted)}
.modlist-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.modlist-item{padding:12px 16px;font-size:14px;color:var(--txt)}