:root{
  --bg0:#070712;
  --bg1:#0b1020;
  --card:rgba(13,15,24,.86);
  --border:rgba(255,255,255,.08);
  --text:#e9e9f2;
  --muted:#b9bfd6;
  --accent:#8b5cf6;
  --accent2:#3b82f6;
  --accent3:#ec4899;
  --radius:16px;
  --shadow:0 18px 44px rgba(0,0,0,.38);
}

*,
*::before,
*::after{ box-sizing:border-box; }

html{
  color-scheme:dark;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}

body{
  margin:0;
  min-height:100svh;
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,"Noto Sans","Liberation Sans",sans-serif;
  line-height:1.6;
  color:var(--text);
  background:
    radial-gradient(1200px circle at 18% 12%, rgba(139,92,246,.35), transparent 55%),
    radial-gradient(900px circle at 85% 0%, rgba(59,130,246,.28), transparent 52%),
    radial-gradient(1000px circle at 80% 92%, rgba(236,72,153,.22), transparent 55%),
    linear-gradient(180deg, var(--bg0), var(--bg1) 55%, var(--bg0));
}

body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(900px circle at 30% 40%, rgba(255,255,255,.05), transparent 60%),
    repeating-linear-gradient(135deg, rgba(255,255,255,.04) 0 1px, transparent 1px 10px);
  opacity:.22;
  mix-blend-mode:overlay;
}

article,
footer{
  max-width:980px;
  margin:16px auto;
  padding:16px;
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}

@media (min-width: 768px){
  article,
  footer{
    margin:24px auto;
    padding:24px;
  }
}

h1{
  font-size:clamp(1.45rem, 1.05rem + 2vw, 2.25rem);
  line-height:1.15;
  margin:0 0 12px;
}

h2{
  font-size:clamp(1.15rem, .95rem + 1.25vw, 1.65rem);
  line-height:1.2;
  margin:18px 0 10px;
}

h3{
  font-size:clamp(1.05rem, .95rem + .7vw, 1.25rem);
  line-height:1.25;
  margin:14px 0 8px;
  color:#dfe5ff;
}

p,
ul,
ol{ margin:0 0 12px; }

ul,
ol{ padding-left:1.15rem; }

small{ color:var(--muted); }

a{
  color:#a5b4fc;
  text-decoration:underline;
  text-underline-offset:.18em;
}

a:hover{ color:#c7d2fe; }

img{
  display:block;
  max-width:100%;
  height:auto;
  border-radius:12px;
}

table{
  width:100%;
  border-collapse:collapse;
  display:block;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  border:1px solid var(--border);
  border-radius:12px;
  background:rgba(255,255,255,.03);
}

td,
th{
  padding:10px 12px;
  border-bottom:1px solid rgba(255,255,255,.07);
  vertical-align:top;
}

tr:last-child td{ border-bottom:0; }

/* Primary CTA button */
.blob{
  position:relative;
  display:block;
  width:100%;
  margin:14px 0 18px;
  padding:14px 16px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.22);
  background:linear-gradient(135deg, rgba(139,92,246,1), rgba(59,130,246,1));
  color:#fff;
  text-decoration:none;
  font-weight:800;
  letter-spacing:.2px;
  text-align:center;
  cursor:pointer;
  user-select:none;
  -webkit-tap-highlight-color:transparent;
  box-shadow:
    0 14px 34px rgba(59,130,246,.24),
    0 12px 26px rgba(139,92,246,.22);
  overflow:hidden;
  transform:translateZ(0);
  animation:blobGlow 2.8s ease-in-out infinite;
}

.blob::before{
  content:"";
  position:absolute;
  inset:-40% -60%;
  background:linear-gradient(120deg, transparent, rgba(255,255,255,.6), transparent);
  transform:translateX(-55%) rotate(12deg);
  opacity:.0;
  pointer-events:none;
  animation:blobShimmer 2.6s ease-in-out infinite;
}

.blob:hover{
  filter:saturate(1.08);
  text-decoration:none;
}

.blob:active{
  transform:translateY(1px);
}

@keyframes blobShimmer{
  0%{ transform:translateX(-65%) rotate(12deg); opacity:0; }
  18%{ opacity:.9; }
  45%{ transform:translateX(65%) rotate(12deg); opacity:0; }
  100%{ transform:translateX(65%) rotate(12deg); opacity:0; }
}

@keyframes blobGlow{
  0%,100%{
    box-shadow:
      0 14px 34px rgba(59,130,246,.22),
      0 12px 26px rgba(139,92,246,.2),
      0 0 0 0 rgba(236,72,153,0);
  }
  50%{
    box-shadow:
      0 18px 44px rgba(59,130,246,.28),
      0 18px 36px rgba(139,92,246,.26),
      0 0 24px 2px rgba(236,72,153,.18);
  }
}

@media (prefers-reduced-motion: reduce){
  *{ scroll-behavior:auto !important; }
  .blob,
  .blob::before{ animation:none !important; }
}

.promocode{
  border:1px dashed rgba(255,255,255,.35);
  border-radius:12px;
  font-size:clamp(1.15rem, 1rem + 1vw, 1.65rem);
  margin:16px auto;
  width:min(520px, 100%);
  padding:12px 14px;
  text-align:center;
  display:block;
  color:#f3f4ff;
  background:rgba(255,255,255,.03);
}

.cta-button{
  display:inline-block;
  padding:.65rem 1.05rem;
  background:linear-gradient(135deg, rgba(139,92,246,1), rgba(236,72,153,1));
  color:#fff;
  text-align:center;
  font-size:14px;
  font-weight:700;
  text-decoration:none;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 10px 26px rgba(236,72,153,.16);
}

.cta-button:hover{
  filter:saturate(1.1);
  text-decoration:none;
}

@media (max-width: 767px){
  .hide-on-mobile{ display:none !important; }
  article,
  footer{
    margin:12px;
    padding:14px;
  }
}