:root {
  --hw-orange: #ff7518;
  --hw-orange-soft: #ffa14a;
  --hw-purple: #8b5cf6;
  --hw-purple-deep: #5b21b6;
  --hw-green: #7dd957;
}

.hw-sky {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}

.hw-sky::before {
  content: '';
  position: absolute;
  top: -20vh;
  left: 50%;
  transform: translateX(-50%);
  width: 140vw;
  height: 70vh;
  background:
    radial-gradient(ellipse at 50% 0%, rgba(139, 92, 246, .16), transparent 62%),
    radial-gradient(ellipse at 18% 8%, rgba(255, 117, 24, .10), transparent 58%);
  filter: blur(8px);
}

.hw-moon {
  position: absolute;
  top: 72px;
  right: 6%;
  width: 92px;
  height: 92px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 36% 32%, #fffaf0 0%, #ffe9b8 48%, #f3cf86 100%);
  box-shadow:
    0 0 50px 14px rgba(255, 225, 160, .22),
    0 0 130px 44px rgba(255, 180, 90, .12);
  opacity: .9;
}

.hw-moon::before,
.hw-moon::after {
  content: '';
  position: absolute;
  border-radius: 50%;
  background: rgba(190, 155, 95, .22);
}
.hw-moon::before { width: 18px; height: 18px; top: 26%; left: 54%; }
.hw-moon::after  { width: 11px; height: 11px; top: 58%; left: 30%; }

@media (max-width: 760px) {
  .hw-moon { width: 58px; height: 58px; top: 62px; right: 5%; }
}

.hw-web {
  position: fixed;
  width: 180px;
  height: 180px;
  z-index: 3;
  pointer-events: none;
  opacity: .22;
}
.hw-web svg { width: 100%; height: 100%; display: block; }
.hw-web-tl { top: 56px; left: 0; }
.hw-web-tr { top: 56px; right: 0; transform: scaleX(-1); }

@media (max-width: 900px) {
  .hw-web { width: 110px; height: 110px; opacity: .16; }
}

.hw-bats {
  position: fixed;
  inset: 0;
  z-index: 4;
  pointer-events: none;
  overflow: hidden;
}

.hw-bat {
  position: absolute;
  width: 34px;
  height: 20px;
  color: #463d5e;
  filter: drop-shadow(0 0 7px rgba(139, 92, 246, .35));
  will-change: transform;
  animation: hw-fly linear infinite;
}
.hw-bat svg { width: 100%; height: 100%; display: block; }

.hw-bat-wing {
  display: block;
  transform-origin: 50% 40%;
  animation: hw-flap .34s ease-in-out infinite alternate;
}

@keyframes hw-fly {
  0%   { transform: translate(-12vw, 0) scale(.85); }
  25%  { transform: translate(24vw, -7vh) scale(1); }
  50%  { transform: translate(55vw, 4vh) scale(.92); }
  75%  { transform: translate(84vw, -6vh) scale(1.04); }
  100% { transform: translate(114vw, 2vh) scale(.88); }
}

@keyframes hw-flap {
  from { transform: scaleY(1) scaleX(1); }
  to   { transform: scaleY(.45) scaleX(1.06); }
}

.hw-bat:nth-child(1) { top: 16%; animation-duration: 26s; animation-delay: 0s;    opacity: .85; }
.hw-bat:nth-child(2) { top: 34%; animation-duration: 34s; animation-delay: -6s;   opacity: .55; width: 24px; height: 14px; }
.hw-bat:nth-child(3) { top: 58%; animation-duration: 30s; animation-delay: -14s;  opacity: .7;  width: 40px; height: 24px; }
.hw-bat:nth-child(4) { top: 72%; animation-duration: 40s; animation-delay: -22s;  opacity: .45; width: 20px; height: 12px; }
.hw-bat:nth-child(5) { top: 26%; animation-duration: 22s; animation-delay: -18s;  opacity: .6;  width: 28px; height: 17px; }

@media (max-width: 760px) {
  .hw-bat:nth-child(3),
  .hw-bat:nth-child(4) { display: none; }
}

.nav-logo,
.logo,
.brand {
  position: relative;
}

@keyframes hw-bob {
  0%, 100% { transform: translateY(0) rotate(-5deg); }
  50%      { transform: translateY(-3px) rotate(5deg); }
}

.hw-glow {
  animation: hw-glow-pulse 3.6s ease-in-out infinite;
}

@keyframes hw-glow-pulse {
  0%, 100% { filter: drop-shadow(0 0 4px rgba(246, 201, 14, .35)); }
  50%      { filter: drop-shadow(0 0 13px rgba(255, 117, 24, .65)); }
}

.hero h1 .hw-flame,
.hw-flame {
  background: linear-gradient(100deg, #f6c90e 0%, #ffa14a 42%, #ff7518 72%, #f6c90e 100%);
  background-size: 220% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  animation: hw-shift 7s ease-in-out infinite;
}

@keyframes hw-shift {
  0%, 100% { background-position: 0% 50%; }
  50%      { background-position: 100% 50%; }
}

.podium-card::after,
.podium-item::after {
  content: '';
  position: absolute;
  left: 8%;
  right: 8%;
  bottom: -2px;
  height: 2px;
  border-radius: 2px;
  background: linear-gradient(90deg, transparent, var(--hw-orange), var(--hw-purple), transparent);
  opacity: .55;
  pointer-events: none;
}

.row:hover,
.server-row:hover {
  box-shadow: 0 0 0 1px rgba(255, 117, 24, .35), 0 10px 30px rgba(139, 92, 246, .12);
}

.btn-vote:hover,
.vote-btn:hover,
.btn-primary:hover {
  box-shadow: 0 0 18px rgba(255, 117, 24, .4);
}

.stat-num,
.stat-value {
  text-shadow: 0 0 16px rgba(255, 117, 24, .28);
}

.points-pill,
.pts-pill,
.badge-pts {
  box-shadow: inset 0 0 0 1px rgba(139, 92, 246, .35);
}

.modal-box,
.modal-card,
.m-box {
  box-shadow: 0 0 0 1px rgba(139, 92, 246, .22), 0 30px 80px rgba(0, 0, 0, .6);
}

body > nav,
body > header,
body > main,
body > section,
body > footer,
.nav,
.navbar,
.wrap,
.container {
  position: relative;
  z-index: 5;
}

@media (prefers-reduced-motion: reduce) {
  .hw-bat,
  .hw-bat-wing,
  .hw-pumpkin,
  .hw-glow,
  .hw-flame,
  .hw-footer span {
    animation: none !important;
  }
  .hw-bats { display: none; }
}

:root {
  --gold: #ff7518;
  --gold-2: #ffa14a;
  --accent: #ff7518;
  --primary: #ff7518;
}

.nav-pts {
  --gold: #f6c90e;
  --gold-2: #ffdf6b;
  --accent: #f6c90e;
  --primary: #f6c90e;
  color: #f6c90e;
}
.nav-pts i { color: #f6c90e; }

.logo-text span { color: #ff7518; }

.hero h1.hw-flame,
.hero h1 {
  background: linear-gradient(100deg, #ffb347 0%, #ff7518 50%, #ffa14a 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

.hbtn.gold {
  background: linear-gradient(180deg, #ffa14a 0%, #ff7518 100%);
  color: #16100a;
  box-shadow: 0 0 22px rgba(255, 117, 24, .35);
}
.hbtn.gold:hover {
  box-shadow: 0 0 30px rgba(255, 117, 24, .55);
}

.stat-icon { color: #ff7518; }

.sh-ic {
  background: linear-gradient(145deg, #ffa14a, #ff7518);
  color: #16100a;
}

.live-badge { color: #ffa14a; }
.live-dot { background: #ff7518; }

.partner-card {
  --gold: #f18e32;
  --gold-2: #ffdf6b;
  --accent: #f6c90e;
  --primary: #f6c90e;
}

.partner-card,
.partners-head .sh-link {
  --gold: #f18e32;
  --gold-2: #ffa16b;
  --accent: #f67e0e;
  --primary: #f6920e;
}

.pg-btn.on { background: #ff7518; color: #16100a; }

.btn-add-server { border-color: rgba(255, 117, 24, .45); color: #ffa14a; }
.btn-add-server:hover { background: rgba(255, 117, 24, .12); }

.bal {
  background: linear-gradient(135deg, rgba(255,117,24,.14), rgba(255,117,24,.03));
  border-color: rgba(255,117,24,.35);
}
.bal::after { color: rgba(255,117,24,.12); }

.tab.on {
  background: rgba(255,117,24,.08);
  border-color: rgba(255,117,24,.25);
}

.me-lvl { border-color: rgba(255,117,24,.3); }

.lc-ic {
  background: rgba(255,117,24,.12);
  border-color: rgba(255,117,24,.3);
}

.streak span.t { box-shadow: 0 0 0 2px rgba(255,117,24,.35); }
.streak span.t:not(.d) {
  background: rgba(255,117,24,.1);
  border-color: rgba(255,117,24,.45);
}

.go-vote:hover { box-shadow: 0 8px 22px rgba(255,117,24,.3); }

.chip.act {
  border-color: rgba(255,117,24,.4);
  background: rgba(255,117,24,.08);
}

.rw:hover { border-color: rgba(255,117,24,.3); }
.soon-note {
  background: rgba(255,117,24,.06);
  border-color: rgba(255,117,24,.35);
}

.hi .ic.v { background: rgba(255,117,24,.12); }