html{scroll-behavior:smooth}
body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.logo-img{width:54px;height:54px;object-fit:contain;filter:drop-shadow(0 0 14px rgba(99,102,241,.8)) drop-shadow(0 0 24px rgba(236,72,153,.35))}
.game-card{border:1px solid rgba(148,163,184,.20);background:#0f172a;box-shadow:0 18px 70px rgba(0,0,0,.26)}
.btn-primary{display:inline-flex;align-items:center;justify-content:center;border-radius:1rem;background:linear-gradient(135deg,#6366f1,#d946ef);padding:.85rem 1.15rem;font-size:.9rem;font-weight:900;color:#fff;box-shadow:0 0 28px rgba(99,102,241,.25)}
.btn-primary:hover{filter:brightness(1.12)}
.btn-soft{display:inline-flex;align-items:center;justify-content:center;border-radius:1rem;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.08);padding:.85rem 1.15rem;font-size:.9rem;font-weight:900;color:#fff}
.btn-soft:hover{background:rgba(255,255,255,.14)}
.btn-danger{display:inline-flex;align-items:center;justify-content:center;border-radius:1rem;background:rgba(239,68,68,.16);border:1px solid rgba(248,113,113,.35);padding:.75rem 1rem;color:rgb(254,202,202);font-weight:900}
.btn-gold{display:inline-flex;align-items:center;justify-content:center;border-radius:1rem;border:1px solid rgba(252,211,77,.32);background:linear-gradient(135deg,rgba(251,191,36,.22),rgba(245,158,11,.10));padding:.85rem 1.15rem;font-size:.9rem;font-weight:900;color:rgb(253 230 138)}
.forum-row{display:grid;gap:1rem;border-bottom:1px solid rgba(148,163,184,.16);padding:1.15rem;background:#0f172a}.forum-row:last-child{border-bottom:0}@media(min-width:768px){.forum-row{grid-template-columns:1fr 128px}}.forum-row:hover{background:#131c2f}
.forum-icon{display:grid;width:3.6rem;height:3.6rem;flex-shrink:0;place-items:center;border-radius:1.1rem;background:#1e293b;font-size:1.65rem;border:1px solid rgba(148,163,184,.24)}
.topic-card{display:flex;gap:1rem;align-items:center;justify-content:space-between;border-radius:1.15rem;background:#111827;padding:1rem;border:1px solid rgba(148,163,184,.18)}.topic-card:hover{background:#172033;border-color:rgba(148,163,184,.28)}
.resource-card{border-radius:1.25rem;border:1px solid rgba(148,163,184,.18);background:#111827;padding:1rem}
.stat-card{border-radius:1rem;background:#111827;padding:.8rem;border:1px solid rgba(148,163,184,.18)}.stat-num{font-size:1.25rem;line-height:1.3;font-weight:900;color:#fff}.stat-label{margin-top:.15rem;font-size:.72rem;color:rgb(148 163 184)}
.avatar-xl{display:grid;height:5rem;width:5rem;place-items:center;border-radius:1.5rem;background:linear-gradient(135deg,rgb(99 102 241),rgb(217 70 239),rgb(251 191 36));font-size:2rem;font-weight:900;color:white;border:1px solid rgba(255,255,255,.18)}
.modal{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:1rem;background:rgba(2,6,23,.78);backdrop-filter:blur(12px)}.modal.hidden{display:none}
.modal-box{width:100%;max-width:32rem;border-radius:1.75rem;border:1px solid rgba(148,163,184,.22);background:#0f172a;padding:1.25rem;box-shadow:0 24px 80px rgba(0,0,0,.45)}
.close-btn{display:grid;width:2.4rem;height:2.4rem;place-items:center;border-radius:.9rem;background:#1e293b;font-size:1.4rem;line-height:1}.close-btn:hover{background:#263449}
.input{width:100%;border-radius:1rem;border:1px solid rgba(148,163,184,.22);background:#020617;padding:.85rem 1rem;color:white;outline:none}.input::placeholder{color:rgb(100 116 139)}.input:focus{box-shadow:0 0 0 4px rgba(99,102,241,.25);border-color:rgba(129,140,248,.7)}
.mobile-link{border-radius:1rem;background:#111827;padding:.9rem 1rem;font-weight:900;border:1px solid rgba(148,163,184,.18)}.mobile-link:hover{background:#172033}
.reg-badge{position:relative;display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;background:rgba(239,68,68,.18);border:1px solid rgba(248,113,113,.45);color:rgb(254,202,202);padding:.42rem .7rem;font-size:.75rem;font-weight:950;animation:pulseBadge 1.6s ease-in-out infinite}
.reg-dot{width:.55rem;height:.55rem;border-radius:999px;background:#ef4444;box-shadow:0 0 0 4px rgba(239,68,68,.18)}@keyframes pulseBadge{50%{box-shadow:0 0 24px rgba(239,68,68,.35)}}
.notice{border-radius:1rem;border:1px solid rgba(255,255,255,.12);padding:.9rem 1rem}.notice-ok{background:rgba(16,185,129,.12);color:rgb(167,243,208);border-color:rgba(52,211,153,.25)}.notice-bad{background:rgba(239,68,68,.12);color:rgb(254,202,202);border-color:rgba(248,113,113,.25)}.notice-info{background:rgba(99,102,241,.12);color:rgb(199,210,254);border-color:rgba(129,140,248,.25)}
.prose-lite{color:rgb(203 213 225);line-height:1.75}.prose-lite strong{color:white}.prose-lite pre{white-space:pre-wrap}


/* v4.1: solid UI panels — no glass/transparent cards */
.solid-panel,
[class*="bg-white/["],
.bg-white\/5,
.bg-white\/10 {
  background-color: #0f172a !important;
}

.hover\:bg-white\/10:hover,
.hover\:bg-white\/15:hover,
.hover\:bg-white\/\[\.07\]:hover {
  background-color: #172033 !important;
}

.border-white\/10,
.border-white\/\[\.04\],
.border-white\/\[\.07\] {
  border-color: rgba(148,163,184,.18) !important;
}

/* keep small action badges colored, but never paint whole private panels */
.private-badge,
.vip-badge {
  display:inline-flex;
  align-items:center;
  gap:.3rem;
  border-radius:999px;
  padding:.28rem .6rem;
  font-size:.72rem;
  font-weight:900;
  border:1px solid rgba(250,204,21,.30);
  background:#1e293b;
  color:#fde68a;
}

.admin-side-panel,
.admin-content-panel,
.page-panel {
  background:#0f172a !important;
  border:1px solid rgba(148,163,184,.18) !important;
}
