/* =========================================================
   AFORUM HALLOWEEN — SPARK PROMOTION EDITION
   Forum/category cards preserved
   ========================================================= */

body.afx.afx-halloween{
  --af-orange:#ff7a14;
  --af-orange2:#ffad39;
  --af-orange3:#ffd274;
  --af-purple:#7e3aa3;
  --af-purple2:#4e1d67;
  --af-blood:#7f1f0a;
  --af-ink:#f7eff8;
  --af-muted:#bdaec4;
  --af-line:#3a2740;
  --af-card:#17101b;
  --af-card2:#1d1421;
  --af-soft:#120d16;
  --af-bg:#09060b;
  --af-green:#74d99a;
  --af-shadow:0 18px 48px -28px rgba(0,0,0,.88);
  --af-glow:0 0 28px rgba(255,122,20,.18);

  color:var(--af-ink)!important;
  background:
    radial-gradient(circle at 12% -5%,rgba(126,58,163,.23),transparent 430px),
    radial-gradient(circle at 88% 3%,rgba(255,122,20,.15),transparent 420px),
    linear-gradient(180deg,#09060b 0,#0d0810 44%,#080609 100%)!important;
  min-height:100vh;
}

body.afx.afx-halloween::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-3;
  pointer-events:none;
  background:
    repeating-linear-gradient(
      115deg,
      rgba(255,255,255,.012) 0,
      rgba(255,255,255,.012) 1px,
      transparent 1px,
      transparent 24px
    );
}

body.afx *{box-sizing:border-box}

/* ===== AMBIENT HALLOWEEN EFFECTS ===== */

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

.afx-moon{
  position:absolute;
  top:86px;
  right:7vw;
  width:170px;
  height:170px;
  border-radius:50%;
  background:
    radial-gradient(circle at 36% 32%,#fff6d4 0,#ffd979 45%,#e69b36 72%,#b65a13 100%);
  box-shadow:
    0 0 28px rgba(255,196,89,.34),
    0 0 85px rgba(255,122,20,.16);
  opacity:.14;
}

.afx-moon::after{
  content:"";
  position:absolute;
  width:45px;
  height:45px;
  left:42px;
  top:31px;
  border-radius:50%;
  box-shadow:
    38px 32px 0 -6px rgba(99,46,23,.20),
    7px 65px 0 -10px rgba(99,46,23,.18),
    73px 79px 0 -12px rgba(99,46,23,.16);
}

.afx-bat{
  position:absolute;
  opacity:.23;
  filter:grayscale(1);
  animation:afxBatFly 14s linear infinite;
}

.afx-bat--1{top:120px;left:-80px;font-size:27px}
.afx-bat--2{top:245px;left:-130px;font-size:20px;animation-duration:19s;animation-delay:-7s}
.afx-bat--3{top:60px;left:-180px;font-size:18px;animation-duration:22s;animation-delay:-12s}

@keyframes afxBatFly{
  0%{transform:translateX(-10vw) translateY(0) rotate(-8deg)}
  30%{transform:translateX(38vw) translateY(-25px) rotate(8deg)}
  65%{transform:translateX(72vw) translateY(18px) rotate(-5deg)}
  100%{transform:translateX(118vw) translateY(-12px) rotate(8deg)}
}

.afx-ember{
  position:absolute;
  bottom:-20px;
  width:4px;
  height:4px;
  border-radius:50%;
  background:var(--af-orange2);
  box-shadow:0 0 12px rgba(255,122,20,.75);
  opacity:.55;
  animation:afxEmberRise 8s linear infinite;
}

.afx-ember--1{left:12%;animation-delay:-2s}
.afx-ember--2{left:41%;animation-delay:-6s;animation-duration:11s}
.afx-ember--3{left:72%;animation-delay:-4s;animation-duration:9s}
.afx-ember--4{left:91%;animation-delay:-1s;animation-duration:13s}

@keyframes afxEmberRise{
  from{transform:translateY(0) translateX(0);opacity:0}
  12%{opacity:.55}
  to{transform:translateY(-110vh) translateX(50px);opacity:0}
}

/* ===== PAGE ===== */

.afx-page{
  position:relative;
  z-index:1;
  width:min(1460px,calc(100% - 30px));
  margin:0 auto;
  padding:18px 0 34px;
}

/* ===== HEADER ===== */

.afx-header{position:relative;z-index:40;margin-bottom:15px}

.afx-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  min-height:68px;
  padding:0 8px;
}

.afx-brand{
  display:flex;
  align-items:center;
  gap:13px;
  color:#fff!important;
  text-decoration:none!important;
}

.afx-brand__mark{
  display:flex;
  align-items:center;
  justify-content:center;
  width:52px;
  height:52px;
  flex:none;
  border-radius:16px;
  color:#fff;
  background:
    radial-gradient(circle at 30% 18%,rgba(255,255,255,.3),transparent 34%),
    linear-gradient(145deg,var(--af-orange2),var(--af-orange) 46%,#7a2900);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.25),
    0 0 0 3px rgba(255,255,255,.88),
    0 0 0 5px rgba(126,58,163,.55),
    0 14px 28px -12px rgba(0,0,0,.78);
  font-size:17px;
  font-weight:950;
  letter-spacing:-.07em;
}

.afx-brand__copy strong{
  display:block;
  color:#fff;
  font-size:25px;
  line-height:1;
  letter-spacing:-.04em;
}

.afx-brand__copy small{
  display:block;
  margin-top:5px;
  color:#d7c9dc;
  font-size:11px;
}

/* native ForumSpark header pieces */
body.afx .b2-topbar,
body.afx.dark .b2-topbar{
  background:none!important;
  border:0!important;
  box-shadow:none!important;
}

body.afx .b2-topbar .container{padding:0!important}
body.afx .b2-topbar__logo{display:none!important}

body.afx .user-menu__guest{
  display:flex;
  align-items:center;
  gap:8px;
}

body.afx .user-menu__guest a{
  padding:9px 13px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  color:#fff!important;
  background:rgba(255,255,255,.07);
  text-decoration:none!important;
  font-weight:750;
}

body.afx .user-menu__guest a.b2-cta{
  border-color:var(--af-orange)!important;
  background:var(--af-orange)!important;
  color:#1b0b03!important;
}

/* ===== NAV ===== */

.afx-nav{margin-top:6px}

body.afx .sub-menu,
body.afx.dark .sub-menu{
  margin:0!important;
  border:1px solid rgba(255,122,20,.20)!important;
  border-radius:16px!important;
  background:rgba(18,9,22,.88)!important;
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  box-shadow:var(--af-shadow)!important;
}

body.afx .sub-menu>.container{
  display:flex!important;
  align-items:center!important;
  min-height:52px;
  padding:6px 10px!important;
}

body.afx .sub-menu .b2-subnav__logo{display:none!important}

body.afx .nav-links{
  display:flex!important;
  flex-wrap:wrap;
  align-items:center!important;
  gap:5px!important;
}

body.afx .nav-links .nav-link,
body.afx .nav-links .fs-menu__link{
  display:inline-flex!important;
  align-items:center!important;
  min-height:36px;
  padding:0 13px!important;
  border:0!important;
  border-radius:10px!important;
  color:#cbbbd1!important;
  background:transparent!important;
  font-size:11px!important;
  font-weight:800!important;
  letter-spacing:.035em;
  text-transform:uppercase;
  text-decoration:none!important;
  box-shadow:none!important;
}

body.afx .nav-links .nav-link:hover,
body.afx .nav-links .fs-menu__link:hover{
  color:#fff!important;
  background:rgba(255,122,20,.09)!important;
}

body.afx .nav-links .nav-link-active{
  color:#180a04!important;
  background:linear-gradient(180deg,var(--af-orange2),var(--af-orange))!important;
  box-shadow:0 8px 24px -12px rgba(255,122,20,.55)!important;
}

body.afx .b2-subnav__user{margin-left:auto}

/* ===== HERO ===== */

.afx-halloween-hero{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(330px,.65fr);
  gap:30px;
  align-items:center;
  min-height:320px;
  margin:17px 0 15px;
  padding:40px 42px;
  overflow:hidden;
  border:1px solid rgba(255,138,36,.22);
  border-radius:26px;
  color:#fff;
  background:
    radial-gradient(circle at 88% 4%,rgba(126,58,163,.22),transparent 260px),
    radial-gradient(circle at 12% 118%,rgba(255,122,20,.11),transparent 280px),
    linear-gradient(135deg,#0b050d 0%,#1b0922 34%,#311029 58%,#642100 82%,#9d3500 100%);
  box-shadow:
    0 0 0 1px rgba(126,58,163,.10),
    0 28px 65px -34px rgba(0,0,0,.94),
    var(--af-glow);
}

.afx-halloween-hero::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.4;
  background:
    linear-gradient(110deg,transparent 0 55%,rgba(255,255,255,.025) 55% 56%,transparent 56%),
    repeating-radial-gradient(circle at 90% 40%,rgba(255,255,255,.04) 0 1px,transparent 2px 26px);
}

.afx-halloween-hero::after{
  content:"☠";
  position:absolute;
  right:-18px;
  bottom:-85px;
  color:rgba(255,255,255,.035);
  font-size:260px;
  line-height:1;
  font-weight:900;
  pointer-events:none;
}

.afx-hero__copy{position:relative;z-index:2}

.afx-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 11px;
  border:1px solid rgba(255,173,57,.24);
  border-radius:999px;
  color:#ffd9a4;
  background:rgba(255,122,20,.07);
  font-size:10px;
  font-weight:850;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.afx-kicker i{color:var(--af-orange2)}

.afx-hero h1{
  margin:15px 0 13px;
  color:#fff;
  font-size:clamp(38px,4vw,58px);
  line-height:.99;
  font-weight:900;
  letter-spacing:-.055em;
}

.afx-hero h1 em{
  color:#ffb85b;
  font-style:normal;
  text-shadow:0 0 24px rgba(255,122,20,.18);
}

.afx-hero p{
  max-width:730px;
  margin:0;
  color:#cdbed1;
  font-size:14px;
  line-height:1.75;
}

.afx-hero__actions{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:23px;
}

.afx-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:42px;
  padding:0 15px;
  border-radius:11px;
  font-size:11px;
  font-weight:850;
  text-decoration:none!important;
}

.afx-btn:hover{transform:translateY(-2px)}

.afx-btn--light{
  color:#261006!important;
  background:linear-gradient(180deg,#ffd478,#ff982d);
  box-shadow:0 8px 26px -12px rgba(255,122,20,.68);
}

.afx-btn--glass{
  color:#f8eff9!important;
  border:1px solid rgba(255,255,255,.13);
  background:rgba(255,255,255,.055);
}

.afx-btn--glass:hover{
  border-color:rgba(255,122,20,.28);
  background:rgba(255,122,20,.08);
}

/* Pulse */
.afx-hero__pulse{
  position:relative;
  z-index:2;
  padding:17px;
  border:1px solid rgba(255,156,58,.18);
  border-radius:18px;
  background:rgba(12,6,15,.42);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}

.afx-hero__pulse-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:11px;
}

.afx-hero__pulse-head span{
  color:#fff2e1;
  font-size:11px;
  font-weight:850;
}

.afx-hero__pulse-head i{color:var(--af-orange2)}
.afx-hero__pulse-head small{color:#a994af;font-size:9px}

.afx-hero__stats{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}

.afx-hero__stats>div{
  padding:13px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:12px;
  background:rgba(255,255,255,.035);
}

.afx-hero__stats>div:hover{
  border-color:rgba(255,122,20,.18);
  background:rgba(255,122,20,.055);
}

.afx-hero__stats b{
  display:block;
  color:#fff6e8;
  font-size:24px;
  line-height:1;
  font-weight:900;
}

.afx-hero__stats span{
  display:block;
  margin-top:6px;
  color:#a994af;
  font-size:9px;
  font-weight:750;
  letter-spacing:.055em;
  text-transform:uppercase;
}

.afx-hw-pumpkins{
  position:absolute;
  left:32px;
  bottom:-10px;
  z-index:1;
  display:flex;
  align-items:flex-end;
  gap:2px;
  opacity:.13;
  filter:grayscale(.15);
  transform:rotate(-4deg);
}

.afx-hw-pumpkins span:nth-child(1){font-size:42px}
.afx-hw-pumpkins span:nth-child(2){font-size:58px}
.afx-hw-pumpkins span:nth-child(3){font-size:35px}

/* ===== SPARK PROMOTION BANNER ===== */

.afx-spark-banner{
  position:relative;
  z-index:4;
  display:grid;
  grid-template-columns:180px minmax(0,1fr) auto;
  gap:20px;
  align-items:center;
  margin:0 0 18px;
  padding:15px 18px;
  overflow:hidden;
  border:1px solid rgba(255,122,20,.22);
  border-radius:20px;
  color:var(--af-ink)!important;
  background:
    radial-gradient(circle at 86% -30%,rgba(126,58,163,.20),transparent 270px),
    linear-gradient(110deg,#130b17,#1c1021 55%,#341309);
  box-shadow:var(--af-shadow);
  text-decoration:none!important;
}

.afx-spark-banner::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(255,122,20,.05),transparent 40%,rgba(126,58,163,.05));
}

.afx-spark-banner:hover{
  transform:translateY(-3px);
  border-color:rgba(255,154,61,.38);
  box-shadow:
    0 24px 54px -30px rgba(0,0,0,.95),
    0 0 28px rgba(255,122,20,.08);
}

.afx-spark-banner__art{
  position:relative;
  z-index:2;
  height:96px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.afx-spark-banner__art img{
  display:block;
  width:100%;
  max-width:170px;
  max-height:100px;
  object-fit:contain;
  filter:drop-shadow(0 8px 12px rgba(0,0,0,.4));
}

.afx-spark-banner__copy{
  position:relative;
  z-index:2;
  min-width:0;
}

.afx-spark-banner__eyebrow{
  display:block;
  margin-bottom:4px;
  color:var(--af-orange2);
  font-size:8.5px;
  font-weight:900;
  letter-spacing:.08em;
}

.afx-spark-banner__copy strong{
  display:block;
  color:#fff5e8;
  font-size:22px;
  line-height:1.05;
  font-weight:900;
  letter-spacing:-.03em;
}

.afx-spark-banner__copy p{
  max-width:680px;
  margin:6px 0 0;
  color:#bcaec2;
  font-size:11px;
  line-height:1.55;
}

.afx-spark-banner__button{
  position:relative;
  z-index:2;
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:40px;
  padding:0 13px;
  border-radius:10px;
  color:#241006;
  background:linear-gradient(180deg,#ffd16e,#ff8b22);
  font-size:10px;
  font-weight:900;
  white-space:nowrap;
}

/* ===== BOARD SHELL ===== */

.afx-body{
  position:relative;
  z-index:3;
  padding:17px;
  border:1px solid var(--af-line);
  border-radius:25px;
  background:rgba(15,10,18,.90);
  box-shadow:var(--af-shadow);
}

body.afx .board-layout{gap:18px!important}
body.afx .board-layout__main{min-width:0}

/* ===== CATEGORY CARDS ===== */

body.afx .forumlist{
  display:grid;
  gap:20px;
}

body.afx .forumlist>.panel.category{
  overflow:hidden;
  margin:0!important;
  border:1px solid var(--af-line)!important;
  border-radius:22px!important;
  background:var(--af-card)!important;
  box-shadow:var(--af-shadow)!important;
}

body.afx .forumlist>.panel.category>.panel__title{
  position:relative;
  min-height:69px;
  padding:15px 18px 15px 22px!important;
  border:0!important;
  background:
    radial-gradient(circle at 100% 0%,rgba(255,122,20,.12),transparent 180px),
    linear-gradient(120deg,#100914,#1b0e20 60%,#541900)!important;
  color:#fff!important;
}

body.afx .forumlist>.panel.category>.panel__title::before{
  content:"";
  position:absolute;
  left:0;
  top:14px;
  bottom:14px;
  width:5px;
  border-radius:0 5px 5px 0;
  background:linear-gradient(180deg,var(--af-orange2),var(--af-orange),#a93b00);
  box-shadow:0 0 20px rgba(255,122,20,.36);
}

body.afx .forumlist>.panel.category>.panel__title::after{
  content:"🎃";
  position:absolute;
  right:57px;
  top:50%;
  transform:translateY(-50%);
  opacity:.13;
  font-size:27px;
}

body.afx .forumlist>.panel.category>.panel__title h2,
body.afx .forumlist>.panel.category>.panel__title h2 a{
  margin:0!important;
  color:#fff3e5!important;
  font-size:16px!important;
  font-weight:850!important;
  letter-spacing:-.02em;
  text-decoration:none!important;
}

body.afx .panel__expander{
  border-color:rgba(255,122,20,.18)!important;
  background:rgba(255,122,20,.08)!important;
  color:#ffc46c!important;
}

body.afx .forumlist>.panel.category .panel__content{
  padding:15px!important;
  background:transparent!important;
}

body.afx .forumlist>.panel.category .item-list{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:13px!important;
}

/* ===== FORUM CARDS ===== */

body.afx .forumlist>.panel.category .item-list>.forum{
  position:relative;
  display:grid!important;
  grid-template-columns:55px minmax(0,1fr)!important;
  grid-template-areas:"icon detail" "foot foot"!important;
  gap:0 14px!important;
  align-items:start!important;
  min-width:0;
  min-height:190px;
  margin:0!important;
  padding:17px!important;
  overflow:hidden;
  border:1px solid #35243b!important;
  border-radius:17px!important;
  background:
    radial-gradient(circle at 100% 0%,rgba(126,58,163,.07),transparent 150px),
    linear-gradient(180deg,#1b1220,#161019)!important;
  box-shadow:0 10px 24px -22px rgba(0,0,0,.9)!important;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}

body.afx .forumlist>.panel.category .item-list>.forum::before{
  content:"";
  position:absolute;
  left:0;
  top:16px;
  bottom:16px;
  width:3px;
  border-radius:0 3px 3px 0;
  background:transparent;
}

body.afx .forumlist>.panel.category .item-list>.forum:hover{
  transform:translateY(-4px);
  border-color:rgba(255,122,20,.32)!important;
  box-shadow:
    0 24px 46px -28px rgba(0,0,0,.96),
    0 0 20px rgba(255,122,20,.06)!important;
}

body.afx .forumlist>.panel.category .item-list>.forum:hover::before{
  background:linear-gradient(180deg,var(--af-orange2),var(--af-orange));
}

body.afx .forumlist>.panel.category .forum__marker{
  grid-area:icon;
  display:flex!important;
  align-items:center;
  justify-content:center;
  width:55px!important;
  height:55px!important;
  min-width:55px!important;
  margin:0!important;
  border:1px solid rgba(255,122,20,.16)!important;
  border-radius:15px!important;
  background:
    radial-gradient(circle at 32% 20%,rgba(255,255,255,.08),transparent 34%),
    linear-gradient(145deg,#2b1832,#211127)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}

body.afx .forumlist>.panel.category .forum__marker-badge{
  color:#ff9b3c!important;
  background:transparent!important;
}

body.afx .forumlist>.panel.category .forum__marker img{
  width:31px!important;
  height:31px!important;
  object-fit:contain;
}

body.afx .forumlist>.panel.category .forum__detail{
  grid-area:detail;
  min-width:0;
  width:auto!important;
  padding:0!important;
}

body.afx .forumlist>.panel.category .forum__name>a{
  color:#fff4ea!important;
  font-size:16px!important;
  line-height:1.25!important;
  font-weight:850!important;
  letter-spacing:-.02em;
  text-decoration:none!important;
}

body.afx .forumlist>.panel.category .forum__name>a:hover{
  color:#ffb251!important;
}

body.afx .forumlist>.panel.category .forum__description{
  margin-top:6px!important;
  color:#aa9ab1!important;
  font-size:12px!important;
  line-height:1.55!important;
}

body.afx .forumlist>.panel.category .forum__subforums{
  display:flex!important;
  flex-wrap:wrap;
  gap:5px;
  margin-top:9px!important;
  color:#a796af!important;
  font-size:10px!important;
}

body.afx .forumlist>.panel.category .forum__subforums strong{display:none}

body.afx .forumlist>.panel.category .forum__subforums a{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:0 8px;
  border:1px solid #3b2941;
  border-radius:999px;
  color:#c4b4ca!important;
  background:#120d16;
  font-weight:750;
  text-decoration:none!important;
}

body.afx .forumlist>.panel.category .forum__subforums a:hover{
  color:#ffad49!important;
  border-color:rgba(255,122,20,.25);
  background:rgba(255,122,20,.06);
}

body.afx .forumlist>.panel.category .forum__info{
  grid-area:foot;
  width:auto!important;
  min-width:0;
  margin:15px -17px -17px!important;
  padding:11px 14px!important;
  border-top:1px solid #322037;
  background:#110c14!important;
}

body.afx .forumlist>.panel.category .last-post{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  min-width:0;
  padding:0!important;
  background:transparent!important;
}

body.afx .forumlist>.panel.category .last-post__avatar img,
body.afx .forumlist>.panel.category .avatar img{
  width:32px!important;
  height:32px!important;
  border-radius:10px!important;
  object-fit:cover;
  box-shadow:0 0 0 1px #3c2741;
}

body.afx .forumlist>.panel.category .last-post__title{
  color:#f3e9f5!important;
  font-size:10.5px!important;
  font-weight:800!important;
}

body.afx .forumlist>.panel.category .last-post__meta{
  color:#8f8096!important;
  font-size:9.5px!important;
}

body.afx .forumlist>.panel.category .forum__stats{
  display:flex!important;
  flex-wrap:wrap;
  gap:5px;
  margin-top:7px!important;
}

body.afx .forumlist>.panel.category .forum__stats>div{
  padding:4px 7px!important;
  border:1px solid #2f2034;
  border-radius:7px;
  color:#94849b!important;
  background:#171019;
  font-size:9px!important;
}

body.afx .forumlist>.panel.category .forum__stats>div span:last-child{
  color:#ffb252!important;
  font-weight:850;
}

/* redirects */
body.afx .forumlist>.panel.category .forum--redirect{
  background:
    radial-gradient(circle at 100% 0%,rgba(255,122,20,.08),transparent 150px),
    linear-gradient(180deg,#1b1220,#161019)!important;
}

body.afx .forumlist>.panel.category .forum--redirect::after{
  content:"EXTERNAL";
  position:absolute;
  top:12px;
  right:12px;
  padding:4px 7px;
  border-radius:999px;
  color:#ffab48;
  background:rgba(255,122,20,.09);
  border:1px solid rgba(255,122,20,.15);
  font-size:8px;
  font-weight:900;
  letter-spacing:.06em;
}

body.afx .forumlist>.panel.category .forum--redirect .forum__name{padding-right:56px}

/* ===== BOARD STATISTICS ===== */

body.afx .panel--board-stats{
  overflow:hidden!important;
  margin-top:20px!important;
  border:1px solid var(--af-line)!important;
  border-radius:22px!important;
  background:var(--af-card)!important;
  box-shadow:var(--af-shadow)!important;
}

body.afx .panel--board-stats>.panel__title{
  min-height:66px;
  padding:15px 18px!important;
  border:0!important;
  background:
    radial-gradient(circle at 100% 0%,rgba(255,122,20,.10),transparent 170px),
    linear-gradient(120deg,#100914,#1c0e20 66%,#541900)!important;
  color:#fff!important;
}

body.afx .panel--board-stats>.panel__title h2{
  color:#fff2e4!important;
  font-weight:850!important;
}

body.afx .panel--board-stats .panel__sub-header{
  color:#a996b0!important;
  background:#110c14!important;
  border-color:#302035!important;
}

body.afx .panel--board-stats .forum{
  border-color:#342239!important;
  background:#17101b!important;
}

body.afx .panel--board-stats .stats,
body.afx .panel--board-stats .stats-users{
  color:#a998b0!important;
}

body.afx .panel--board-stats strong{
  color:#fff2e4!important;
}

/* ===== WIDGETS ===== */

body.afx .widget,
body.afx .afx-widget-card{
  position:relative;
  overflow:hidden;
  margin-bottom:16px!important;
  border:1px solid #38263e!important;
  border-radius:17px!important;
  background:
    radial-gradient(circle at 100% 0%,rgba(126,58,163,.08),transparent 150px),
    #17101b!important;
  box-shadow:var(--af-shadow)!important;
}

body.afx .widget::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:3px;
  background:linear-gradient(90deg,var(--af-orange),var(--af-purple),var(--af-orange));
  opacity:.78;
}

body.afx .widget .panel__title,
body.afx .widget__title{
  color:#fff0df!important;
  background:#120d16!important;
  border-color:#35223a!important;
}

body.afx .widget a{
  color:#ff9c3d!important;
}

body.afx .widget a:hover{
  color:#ffd06a!important;
}

/* ===== GENERAL PANELS / DROPDOWNS / BUTTONS ===== */

body.afx .panel:not(.category),
body.afx .dropdown__content,
body.afx .dropdown__content-wrapper,
body.afx .fs-theme__menu{
  color:var(--af-ink)!important;
  border-color:#39263f!important;
  background:#17101b!important;
}

body.afx .dropdown__link,
body.afx .fs-theme__opt{
  color:#d8cbdc!important;
}

body.afx .dropdown__link:hover,
body.afx .fs-theme__opt:hover{
  color:#fff!important;
  background:rgba(255,122,20,.07)!important;
}

body.afx .btn-primary,
body.afx .b2-cta{
  border-color:#7b2d00!important;
  background:linear-gradient(180deg,var(--af-orange2),var(--af-orange))!important;
  color:#221005!important;
}

body.afx input,
body.afx textarea,
body.afx select{
  color:#f1e9f4!important;
  border-color:#39273f!important;
  background:#100b13!important;
}

body.afx input:focus,
body.afx textarea:focus,
body.afx select:focus{
  border-color:rgba(255,122,20,.58)!important;
  box-shadow:0 0 0 3px rgba(255,122,20,.08)!important;
}

/* ===== FOOTER ===== */

.afx-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-top:18px;
  padding:20px 22px;
  border:1px solid var(--af-line);
  border-radius:18px;
  color:#9f90a5;
  background:#120d16;
  box-shadow:var(--af-shadow);
}

.afx-footer>div strong{
  display:block;
  color:#fff1df;
  font-size:16px;
}

.afx-footer>div span{
  display:block;
  margin-top:4px;
  font-size:10px;
}

.afx-footer nav{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

.afx-footer nav a{
  color:#a998af!important;
  font-size:10px;
  font-weight:750;
  text-decoration:none!important;
}

.afx-footer nav a:hover{color:#ffad4d!important}

/* ===== RESPONSIVE ===== */

@media(max-width:1150px){
  .afx-halloween-hero{grid-template-columns:1fr}
  .afx-spark-banner{grid-template-columns:150px minmax(0,1fr)}
  .afx-spark-banner__button{grid-column:1/-1;justify-self:start}
}

@media(max-width:980px){
  .afx-page{width:min(100% - 18px,1460px)}
  .afx-top{align-items:flex-start}
  .afx-brand__copy small{display:none}
  body.afx .forumlist>.panel.category .item-list{
    grid-template-columns:1fr!important;
  }
}

@media(max-width:680px){
  .afx-page{width:100%;padding-top:8px}
  .afx-header{padding:0 9px}

  .afx-brand__mark{
    width:44px;
    height:44px;
    border-radius:13px;
  }

  .afx-brand__copy strong{font-size:21px}

  .afx-halloween-hero{
    margin:10px 9px 14px;
    padding:28px 21px;
    min-height:0;
    border-radius:20px;
  }

  .afx-hero h1{font-size:36px}
  .afx-hero__stats{grid-template-columns:1fr 1fr}

  .afx-spark-banner{
    grid-template-columns:1fr;
    margin:0 9px 14px;
    padding:15px;
  }

  .afx-spark-banner__art{
    height:100px;
    justify-content:flex-start;
  }

  .afx-spark-banner__art img{max-width:190px}
  .afx-spark-banner__button{grid-column:auto}

  .afx-body{
    margin:0 9px;
    padding:9px;
    border-radius:18px;
  }

  body.afx .forumlist>.panel.category{
    border-radius:17px!important;
  }

  body.afx .forumlist>.panel.category .panel__content{
    padding:9px!important;
  }

  body.afx .forumlist>.panel.category .item-list{
    gap:9px!important;
  }

  body.afx .forumlist>.panel.category .item-list>.forum{
    grid-template-columns:44px minmax(0,1fr)!important;
    min-height:0;
    padding:13px!important;
    gap:0 11px!important;
    border-radius:13px!important;
  }

  body.afx .forumlist>.panel.category .forum__marker{
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    border-radius:12px!important;
  }

  body.afx .forumlist>.panel.category .forum__marker img{
    width:25px!important;
    height:25px!important;
  }

  body.afx .forumlist>.panel.category .forum__info{
    margin:12px -13px -13px!important;
  }

  .afx-footer{
    margin:14px 9px 0;
    align-items:flex-start;
    flex-direction:column;
  }

  .afx-moon{width:110px;height:110px;right:-25px}
}

@media(prefers-reduced-motion:reduce){
  .afx-bat,
  .afx-ember{
    animation:none!important;
    display:none!important;
  }

  body.afx *{
    scroll-behavior:auto!important;
  }
}


/* =========================================================
   AFORUM HALLOWEEN COMMUNITY PULSE
   Restores the full Board Statistics dashboard
   ========================================================= */

body.afx .panel--board-stats.af-pulse-ready > .panel__content,
body.afx .panel--board-stats.af-pulse-ready > .panel__footer {
    display:none !important;
}

body.afx .panel--board-stats {
    --pulse-orange:#ff7a14;
    --pulse-orange2:#ffb347;
    --pulse-purple:#7d3aa0;
    --pulse-ink:#fff3e8;
    --pulse-muted:#ae9ab5;
    --pulse-card:#17101b;
    --pulse-card2:#120d16;
    --pulse-line:#39263f;

    overflow:hidden !important;

    border:
        1px solid
        var(--pulse-line) !important;

    border-radius:
        22px !important;

    background:
        var(--pulse-card) !important;

    box-shadow:
        0 20px 48px -30px
        rgba(0,0,0,.92) !important;
}


body.afx .panel--board-stats > .panel__title {
    position:relative;

    min-height:74px;

    padding:
        16px 20px 16px 24px !important;

    border:0 !important;

    background:
        radial-gradient(
            circle at 92% -20%,
            rgba(125,58,160,.20),
            transparent 220px
        ),
        linear-gradient(
            120deg,
            #100914 0%,
            #1c0d21 62%,
            #541900 100%
        ) !important;

    color:#fff !important;
}


body.afx .panel--board-stats > .panel__title::before {
    content:"";

    position:absolute;

    left:0;
    top:16px;
    bottom:16px;

    width:5px;

    border-radius:
        0 5px 5px 0;

    background:
        linear-gradient(
            180deg,
            var(--pulse-orange2),
            var(--pulse-orange)
        );

    box-shadow:
        0 0 18px
        rgba(255,122,20,.35);
}


body.afx .panel--board-stats > .panel__title h2 {
    color:#fff4e9 !important;

    font-weight:900 !important;

    letter-spacing:-.02em;
}


body.afx .panel--board-stats > .panel__title h2::after {
    content:"Live community activity and growth";

    display:block;

    margin-top:4px;

    color:
        rgba(255,255,255,.50);

    font-size:9px;

    font-weight:650;

    letter-spacing:.02em;
}


/* ---------------------------------------------------------
   Dashboard shell
   --------------------------------------------------------- */

body.afx .af-pulse {
    position:relative;

    padding:18px;

    background:
        radial-gradient(
            circle at 100% 0%,
            rgba(125,58,160,.07),
            transparent 240px
        ),
        var(--pulse-card);
}


body.afx .af-pulse * {
    box-sizing:border-box;
}


body.afx .af-pulse__topline {
    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:14px;

    margin-bottom:14px;
}


body.afx .af-pulse__status {
    display:inline-flex;

    align-items:center;

    gap:8px;

    color:
        var(--pulse-muted);

    font-size:10px;

    font-weight:800;
}


body.afx .af-pulse__dot {
    position:relative;

    width:9px;
    height:9px;

    border-radius:50%;

    background:#68d391;

    box-shadow:
        0 0 0 4px
        rgba(104,211,145,.09);
}


body.afx .af-pulse__dot::after {
    content:"";

    position:absolute;

    inset:-4px;

    border:
        1px solid
        rgba(104,211,145,.30);

    border-radius:50%;

    animation:
        afHalloweenPulse
        2.2s ease-out infinite;
}


@keyframes afHalloweenPulse {

    0% {
        transform:scale(.65);
        opacity:.75;
    }

    100% {
        transform:scale(1.8);
        opacity:0;
    }

}


body.afx .af-pulse__online-link {
    display:inline-flex;

    align-items:center;

    gap:7px;

    min-height:31px;

    padding:0 10px;

    border:
        1px solid
        var(--pulse-line);

    border-radius:999px;

    background:
        var(--pulse-card2);

    color:
        #ffad49 !important;

    font-size:9.5px;

    font-weight:850;

    text-decoration:none !important;
}


body.afx .af-pulse__online-link:hover {
    border-color:
        rgba(255,122,20,.30);

    background:
        rgba(255,122,20,.07);
}


/* ---------------------------------------------------------
   Six primary statistic cards
   --------------------------------------------------------- */

body.afx .af-pulse__metrics {
    display:grid;

    grid-template-columns:
        repeat(6,minmax(0,1fr));

    gap:10px;
}


body.afx .af-pulse-stat {
    position:relative;

    min-width:0;
    min-height:118px;

    padding:
        15px 13px 13px;

    overflow:hidden;

    border:
        1px solid
        var(--pulse-line);

    border-radius:16px;

    background:
        radial-gradient(
            circle at 100% 0%,
            rgba(125,58,160,.065),
            transparent 95px
        ),
        linear-gradient(
            180deg,
            #1c1320,
            #151018
        );

    box-shadow:
        0 9px 24px -21px
        rgba(0,0,0,.95);

    transition:
        transform .18s ease,
        border-color .18s ease,
        box-shadow .18s ease;
}


body.afx .af-pulse-stat:hover {
    transform:
        translateY(-3px);

    border-color:
        rgba(255,122,20,.30);

    box-shadow:
        0 18px 32px -24px
        rgba(0,0,0,.95),
        0 0 18px
        rgba(255,122,20,.05);
}


body.afx .af-pulse-stat::after {
    content:"🎃";

    position:absolute;

    right:-7px;
    bottom:-15px;

    font-size:52px;

    opacity:.025;

    pointer-events:none;
}


body.afx .af-pulse-stat__icon {
    position:relative;

    z-index:1;

    display:inline-flex;

    align-items:center;

    justify-content:center;

    width:31px;
    height:31px;

    margin-bottom:13px;

    border-radius:10px;

    background:
        rgba(255,122,20,.08);

    color:
        #ff9c3b;

    font-size:12px;
}


body.afx .af-pulse-stat--live
.af-pulse-stat__icon {
    color:#72d89a;

    background:
        rgba(104,211,145,.08);
}


body.afx .af-pulse-stat__value {
    position:relative;

    z-index:1;

    display:block;

    overflow:hidden;

    color:
        var(--pulse-ink);

    font-size:22px;

    font-weight:950;

    letter-spacing:-.045em;

    line-height:1;

    text-overflow:ellipsis;

    white-space:nowrap;
}


body.afx .af-pulse-stat__label {
    position:relative;

    z-index:1;

    display:block;

    margin-top:6px;

    color:
        var(--pulse-muted);

    font-size:9px;

    font-weight:800;

    letter-spacing:.04em;

    text-transform:uppercase;
}


/* ---------------------------------------------------------
   Lower dashboard
   --------------------------------------------------------- */

body.afx .af-pulse__lower {
    display:grid;

    grid-template-columns:
        minmax(0,1.25fr)
        minmax(280px,.75fr);

    gap:12px;

    margin-top:12px;
}


body.afx .af-pulse-panel {
    min-width:0;

    padding:16px;

    border:
        1px solid
        var(--pulse-line);

    border-radius:17px;

    background:
        var(--pulse-card2);
}


body.afx .af-pulse-panel__head {
    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:10px;

    margin-bottom:13px;
}


body.afx .af-pulse-panel__title {
    display:flex;

    align-items:center;

    gap:8px;

    color:
        var(--pulse-ink);

    font-size:11px;

    font-weight:900;
}


body.afx .af-pulse-panel__title i {
    color:
        #ff9f3e;
}


body.afx .af-pulse-panel__sub {
    color:
        var(--pulse-muted);

    font-size:9px;
}


/* Who's around */

body.afx .af-pulse__users {
    display:flex;

    flex-wrap:wrap;

    align-items:center;

    gap:8px;
}


body.afx .af-pulse__users
.stats-users__userlist {
    display:flex;

    flex-wrap:wrap;

    align-items:center;

    gap:7px;
}


body.afx .af-pulse__users
.stats-users__userlist > * {
    margin:0 !important;
}


body.afx .af-pulse__users
.user-tooltip a,

body.afx .af-pulse__users
.username {
    display:inline-flex;

    align-items:center;

    min-height:30px;

    padding:0 10px;

    border:
        1px solid
        var(--pulse-line);

    border-radius:999px;

    background:
        var(--pulse-card);

    color:
        #f4eaf5 !important;

    font-size:10px;

    font-weight:850;

    text-decoration:none !important;
}


body.afx .af-pulse__groups {
    display:flex;

    flex-wrap:wrap;

    gap:6px;

    margin-top:11px;
}


body.afx .af-pulse__groups
.username,

body.afx .af-pulse__groups > span {
    display:inline-flex;

    align-items:center;

    min-height:25px;

    padding:0 8px;

    border-radius:7px;

    background:
        rgba(255,122,20,.07);

    color:
        #ffad49 !important;

    font-size:8.5px;

    font-weight:850;
}


/* Member / guest split */

body.afx .af-pulse__split {
    display:flex;

    flex-wrap:wrap;

    gap:7px;

    margin-top:13px;
}


body.afx .af-pulse-chip {
    display:inline-flex;

    align-items:center;

    gap:6px;

    min-height:28px;

    padding:0 9px;

    border:
        1px solid
        var(--pulse-line);

    border-radius:8px;

    background:
        var(--pulse-card);

    color:
        var(--pulse-muted);

    font-size:9px;

    font-weight:750;
}


body.afx .af-pulse-chip b {
    color:
        #fff1e5;

    font-weight:900;
}


/* Milestones */

body.afx .af-pulse-milestones {
    display:grid;

    gap:9px;
}


body.afx .af-pulse-milestone {
    display:grid;

    grid-template-columns:
        34px minmax(0,1fr);

    gap:10px;

    align-items:center;

    min-width:0;

    padding:10px;

    border:
        1px solid
        var(--pulse-line);

    border-radius:12px;

    background:
        var(--pulse-card);
}


body.afx .af-pulse-milestone__icon {
    display:flex;

    align-items:center;

    justify-content:center;

    width:34px;
    height:34px;

    border-radius:10px;

    background:
        rgba(255,122,20,.08);

    color:
        #ff9e3d;
}


body.afx .af-pulse-milestone__label {
    display:block;

    color:
        var(--pulse-muted);

    font-size:8px;

    font-weight:800;

    text-transform:uppercase;

    letter-spacing:.04em;
}


body.afx .af-pulse-milestone__value {
    display:block;

    min-width:0;

    margin-top:2px;

    overflow:hidden;

    color:
        #fff0e4;

    font-size:10px;

    font-weight:900;

    text-overflow:ellipsis;
}


body.afx .af-pulse-milestone__value a {
    color:
        #ffad49 !important;

    text-decoration:none !important;
}


/* dashboard footer */

body.afx .af-pulse__foot {
    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:10px;

    margin-top:12px;

    padding:0 2px;

    color:
        var(--pulse-muted);

    font-size:8.5px;
}


body.afx .af-pulse__foot strong {
    color:#fff0e5;
}


/* responsive */

@media (max-width:1180px) {

    body.afx .af-pulse__metrics {
        grid-template-columns:
            repeat(3,minmax(0,1fr));
    }

}


@media (max-width:820px) {

    body.afx .af-pulse__lower {
        grid-template-columns:1fr;
    }

}


@media (max-width:620px) {

    body.afx .af-pulse {
        padding:12px;
    }


    body.afx .af-pulse__metrics {
        grid-template-columns:
            repeat(2,minmax(0,1fr));

        gap:8px;
    }


    body.afx .af-pulse-stat {
        min-height:105px;

        padding:
            13px 11px 11px;

        border-radius:13px;
    }


    body.afx .af-pulse-stat__value {
        font-size:19px;
    }


    body.afx .af-pulse__topline {
        align-items:flex-start;
    }


    body.afx .af-pulse__online-link {
        white-space:nowrap;
    }

}


@media (prefers-reduced-motion:reduce) {

    body.afx .af-pulse__dot::after {
        animation:none;
    }

}

