:root{
  --bg:#070A12; --panel:#0B1020; --line:#192447;
  --txt:#EAF0FF; --muted:#9FB0D0;
  --neon1:#00E5FF; --neon2:#A100FF; --neon3:#00FF85;
  --r:16px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:radial-gradient(1200px 800px at 20% 10%, rgba(161,0,255,.18), transparent 60%),
radial-gradient(1000px 700px at 80% 30%, rgba(0,229,255,.14), transparent 60%),
var(--bg); color:var(--txt); font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial}

/* Per-user backgrounds (applied to html + body via class) */
html.bg-default, body.bg-default {
  background:
    radial-gradient(1200px 800px at 20% 10%, rgba(161,0,255,.18), transparent 60%),
    radial-gradient(1000px 700px at 80% 30%, rgba(0,229,255,.14), transparent 60%),
    var(--bg);
  background-attachment: fixed;
}

html.bg-grid, body.bg-grid {
  background:
    radial-gradient(1100px 760px at 22% 12%, rgba(0,229,255,.14), transparent 60%),
    radial-gradient(980px 680px at 82% 26%, rgba(161,0,255,.16), transparent 60%),
    linear-gradient(rgba(0,229,255,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,229,255,.08) 1px, transparent 1px),
    var(--bg);
  background-size: auto, auto, 48px 48px, 48px 48px, auto;
  background-attachment: fixed;
}

html.bg-stars, body.bg-stars {
  background:
    radial-gradient(1100px 760px at 22% 12%, rgba(161,0,255,.16), transparent 60%),
    radial-gradient(980px 680px at 82% 26%, rgba(0,229,255,.12), transparent 60%),
    radial-gradient(circle at 10% 20%, rgba(255,255,255,.12) 1px, transparent 1.5px),
    radial-gradient(circle at 60% 30%, rgba(255,255,255,.10) 1px, transparent 1.5px),
    radial-gradient(circle at 30% 70%, rgba(255,255,255,.10) 1px, transparent 1.5px),
    radial-gradient(circle at 85% 75%, rgba(255,255,255,.08) 1px, transparent 1.5px),
    var(--bg);
  background-size: auto, auto, 260px 260px, 320px 320px, 280px 280px, 360px 360px, auto;
  background-attachment: fixed;
}

html.bg-sunset, body.bg-sunset {
  background:
    radial-gradient(1200px 820px at 20% 18%, rgba(255,120,64,.18), transparent 60%),
    radial-gradient(1050px 740px at 80% 22%, rgba(255,43,214,.14), transparent 60%),
    radial-gradient(900px 760px at 35% 92%, rgba(0,229,255,.10), transparent 62%),
    #06040a;
  background-attachment: fixed;
}

html.bg-midnight, body.bg-midnight {
  background:
    radial-gradient(1200px 820px at 25% 15%, rgba(0,229,255,.10), transparent 62%),
    radial-gradient(1050px 740px at 80% 20%, rgba(161,0,255,.14), transparent 64%),
    linear-gradient(180deg, rgba(10,12,22,.92), rgba(4,5,10,.96)),
    #04050a;
  background-attachment: fixed;
}
a{color:var(--neon1);text-decoration:none}
.container{max-width:1100px;margin:0 auto;padding:18px}
.nav{display:flex;gap:14px;align-items:center;justify-content:space-between;margin-bottom:14px}
.brand{font-weight:800;letter-spacing:.6px}
.card{background:linear-gradient(180deg, rgba(11,16,32,.92), rgba(11,16,32,.78));
border:1px solid rgba(25,36,71,.8); border-radius:var(--r); padding:16px}
.hdr{border:1px solid rgba(0,229,255,.22); box-shadow:0 0 18px rgba(0,229,255,.12)}

/* Home hero */
.hero{position:relative; overflow:hidden; padding:18px 18px 16px}
.hero:before{content:""; position:absolute; inset:-2px; background:linear-gradient(90deg, rgba(0,229,255,.22), rgba(255,43,214,.20), rgba(124,58,237,.22)); filter:blur(18px); opacity:.35; pointer-events:none}
.hero > *{position:relative}
.hero-kicker{font-weight:900; letter-spacing:.6px; text-transform:uppercase; font-size:12px; color:rgba(234,240,255,.92)}
.hero-title{margin:8px 0 10px; font-weight:1000; line-height:1.12; font-size:26px}
.hero-accent{color:var(--neon1); text-shadow:0 0 18px rgba(0,229,255,.18)}
.hero-lines{display:grid; gap:8px; margin-top:10px}
.hero-line{padding:10px 12px; border-radius:14px; border:1px solid rgba(255,255,255,.10); background:rgba(0,0,0,.18); font-weight:800}
.hero-actions{display:flex; flex-wrap:wrap; gap:10px; margin-top:12px}
@media(min-width:900px){.hero-title{font-size:32px}}
.grid{display:grid;gap:14px}
@media(min-width:900px){.grid-2{grid-template-columns:1.2fr .8fr}}
@media(min-width:900px){.col-2{grid-column:2}}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:10px 14px;border-radius:14px;border:1px solid rgba(0,229,255,.35);
  background:linear-gradient(180deg, rgba(0,229,255,.10), rgba(161,0,255,.10));
  color:var(--txt); font-weight:700; cursor:pointer
}
.btn:hover{filter:brightness(1.08)}
.input{
  width:100%;padding:10px 12px;border-radius:14px;
  background:rgba(7,10,18,.55); border:1px solid rgba(25,36,71,.9); color:var(--txt)
}
.small{color:var(--muted);font-size:13px}
.badge{display:inline-block;padding:6px 10px;border-radius:999px;border:1px solid rgba(0,255,133,.35);color:#B8FFE0}
hr{border:0;border-top:1px solid rgba(25,36,71,.9);margin:14px 0}
.table{width:100%;border-collapse:collapse}
.table td,.table th{padding:10px;border-bottom:1px solid rgba(25,36,71,.75);text-align:left;vertical-align:top}
code{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}
ul{margin:10px 0 0 18px}




/* Banner ad slots */
.ad-slot{margin:14px auto;padding:12px;border-radius:18px;border:1px solid rgba(255,255,255,.10);background:rgba(0,0,0,.25);max-width:980px;width:100%;display:flex;justify-content:center;align-items:center}
.ad-slot > *{max-width:100%}


/* Activity amount colors */
.amt-green{color:#42ff9f;text-shadow:0 0 12px rgba(66,255,159,.25)}
.amt-red{color:#ff4a6e;text-shadow:0 0 12px rgba(255,74,110,.25)}


/* Smaller top menu buttons */
.nav .btn{
  padding:8px 12px;
  font-size:13px;
  border-radius:12px;
}
.nav .btn:hover{ transform: translateY(-1px); }




/* Lucky Wheel */
.wheel-actions{ display:flex; justify-content:flex-start; }
.wheel-wrap{ display:flex; justify-content:flex-start; }
.wheel { position: relative; width: 320px; height: 320px; margin: 0; }
.wheel canvas { width: 320px; height: 320px; border-radius: 999px; box-shadow: 0 0 24px rgba(0,229,255,.16); border:1px solid rgba(0,229,255,.25); background: rgba(0,0,0,.35); display:block; }
.wheel-pointer{
  position:absolute; left:50%; top:-18px; transform:translateX(-50%);
  width:0;height:0;
  border-left:16px solid transparent;
  border-right:16px solid transparent;
  border-top:26px solid rgba(255,255,255,.95);
  z-index:3;
  filter: drop-shadow(0 0 12px rgba(255,43,214,.45));
}
.wheel-pointer:after{
  content:'';
  position:absolute; left:-2px; top:-30px;
  width:4px; height:14px;
  background: rgba(255,255,255,.9);
  border-radius: 6px;
  box-shadow: 0 0 12px rgba(0,229,255,.25);
}
.countdown{ font-size:28px; font-weight:900; text-align:center; margin-top:6px; }

/* Center the wheel on small screens */
@media (max-width: 860px){
  .wheel-actions{ justify-content:center; }
  .wheel-wrap{ justify-content:center; }
  .wheel{ margin: 0 auto; }
}


/* Adblock detector overlay (cyberpunk) */
.abk-overlay{
  position:fixed; inset:0; z-index:999999;
  background: radial-gradient(1200px 600px at 50% 20%, rgba(0,229,255,.14), transparent 60%),
              radial-gradient(900px 500px at 20% 70%, rgba(255,43,214,.12), transparent 55%),
              rgba(0,0,0,.82);
  backdrop-filter: blur(6px);
}
.abk-modal{
  width:min(620px, calc(100% - 24px));
  margin: 12vh auto 0;
  padding: 18px 18px 16px;
  border-radius: 22px;
  border:1px solid rgba(255,255,255,.14);
  background:
    linear-gradient(180deg, rgba(13,18,38,.92), rgba(6,8,18,.92));
  box-shadow:
    0 30px 90px rgba(0,0,0,.65),
    0 0 0 1px rgba(0,229,255,.12) inset,
    0 0 34px rgba(255,43,214,.10);
  position:relative;
  overflow:hidden;
}
.abk-modal:before{
  content:"";
  position:absolute; inset:-2px;
  background: linear-gradient(90deg, rgba(0,229,255,.18), rgba(255,43,214,.18), rgba(124,58,237,.18));
  filter: blur(18px);
  opacity:.45;
  pointer-events:none;
}
.abk-top{ position:relative; display:flex; gap:14px; align-items:flex-start; }
.abk-icon{
  width:44px; height:44px; border-radius:14px;
  display:flex; align-items:center; justify-content:center;
  background: rgba(0,0,0,.35);
  border:1px solid rgba(0,229,255,.25);
  box-shadow: 0 0 22px rgba(0,229,255,.10);
  font-size:22px;
}
.abk-head{ position:relative; flex:1; }
.abk-title{ font-weight:1000; letter-spacing:.2px; font-size:20px; margin:0 0 8px; }
.abk-sub{ opacity:.96; line-height:1.45; margin-top:6px; }
.abk-actions{ position:relative; display:flex; flex-wrap:wrap; gap:10px; margin-top:16px; }
.abk-btn{
  cursor:pointer;
  border-radius:14px;
  padding:10px 14px;
  font-weight:900;
  border:1px solid rgba(255,255,255,.16);
  background: rgba(0,0,0,.30);
  color: rgba(234,242,255,.95);
  transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}
.abk-btn:hover{ transform: translateY(-1px); border-color: rgba(0,229,255,.25); box-shadow: 0 0 18px rgba(0,229,255,.10); }
.abk-btn-primary{
  border: 1px solid rgba(34,197,94,.55);
  background: linear-gradient(180deg, rgba(34,197,94,.98), rgba(34,197,94,.78));
  color: rgba(4,25,12,.95);
  box-shadow: 0 0 22px rgba(34,197,94,.20);
}
.abk-btn-primary:hover{ border-color: rgba(0,229,255,.28); box-shadow: 0 0 26px rgba(0,229,255,.14); }
.abk-help{ position:relative; margin-top:14px; font-size:14px; opacity:.95; }
.abk-help ol{ margin:0; padding-left:18px; line-height:1.5; }
.abk-tip{ margin-top:10px; opacity:.85; }

@media (max-width: 520px){
  .abk-modal{ margin-top: 9vh; }
  .abk-title{ font-size:18px; }
}


/* Top-nav notification dot */
.navbtn{ position:relative; }
.navbtn.has-dot{ padding-right:18px; }
.navdot{
  position:absolute;
  top:6px;
  right:8px;
  width:9px;
  height:9px;
  border-radius:999px;
  background:#ff3b3b;
  box-shadow:0 0 10px rgba(255,59,59,.65);
}
