/* ============================================================
   霓虹夜城 · 终饰层（金克丝主题）
   主视觉场景 / 登录页 / 各页残留暖色覆盖
   放在所有样式最后加载
   ============================================================ */

/* ---------- 大厅英雄横幅：霓虹夜城 ---------- */
.hall-hero {
  background:
    linear-gradient(90deg, rgba(11, 7, 20, .97) 0%, rgba(14, 7, 28, .86) 34%, rgba(22, 9, 42, .38) 62%, rgba(34, 10, 54, .12) 100%),
    linear-gradient(0deg, rgba(11, 7, 20, .55) 0%, transparent 38%),
    url("../img/neon-city.svg") right center / cover no-repeat,
    #0b0714;
}
.hall-hero::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: repeating-linear-gradient(0deg, rgba(255, 255, 255, .025) 0 1px, transparent 1px 4px);
  opacity: .5;
}

/* ---------- 登录 / 注册页 ---------- */
.auth-gate { background: #08040f; }
.auth-hero {
  border-radius: 0;
  background:
    linear-gradient(90deg, rgba(8, 4, 18, .9) 0%, rgba(14, 7, 28, .52) 48%, rgba(20, 8, 40, .1) 100%),
    linear-gradient(0deg, rgba(8, 4, 18, .92) 0%, transparent 46%),
    url("../img/neon-city.svg") center 38% / cover no-repeat,
    #08040f;
}
.auth-hero::before {
  background:
    radial-gradient(680px 320px at 12% -8%, rgba(255, 45, 149, .22), transparent 70%),
    radial-gradient(780px 400px at 88% 112%, rgba(0, 229, 255, .2), transparent 72%),
    radial-gradient(520px 300px at 60% 10%, rgba(132, 93, 242, .18), transparent 70%);
}
.auth-hero::after {
  border: 1px solid rgba(255, 45, 149, .28);
  border-right: 0; border-bottom: 0;
  clip-path: none;
  border-radius: 20px 0 0 0;
}
.auth-hero .brand-name { color: #f3ecff; }
.auth-hero .brand-sub { color: var(--hex); text-shadow: 0 0 10px rgba(0, 229, 255, .6); }
.auth-hero .ah-kicker {
  color: var(--hex);
  text-shadow: 0 0 16px rgba(0, 229, 255, .65);
}
.auth-hero h2 {
  color: #f3ecff; letter-spacing: .06em; font-weight: 800;
  text-shadow: 0 2px 22px rgba(0, 0, 0, .85), 0 0 40px rgba(255, 45, 149, .3);
}
.auth-hero h2 em {
  background: linear-gradient(100deg, #ff8ac4, #ff2d95 45%, #a06bff);
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 0 18px rgba(255, 45, 149, .4));
}
.auth-hero p { color: rgba(243, 236, 255, .72); }
.auth-point { color: rgba(243, 236, 255, .85); }
.auth-point .ap-ic {
  background: linear-gradient(160deg, rgba(255, 45, 149, .16), rgba(132, 93, 242, .22)) padding-box,
              linear-gradient(180deg, rgba(255, 95, 176, .6), rgba(93, 47, 209, .55)) border-box;
  border: 1px solid transparent;
  clip-path: none;
  border-radius: 12px;
  color: #ff8ac4;
  box-shadow: 0 0 14px rgba(255, 45, 149, .2);
}
.auth-hero-foot { color: rgba(243, 236, 255, .32); }

.auth-panel {
  background:
    radial-gradient(720px 440px at 50% -12%, rgba(255, 45, 149, .12), transparent 65%),
    radial-gradient(600px 400px at 100% 110%, rgba(132, 93, 242, .14), transparent 66%),
    linear-gradient(180deg, #100822, #08040f);
}
.auth-tabs { border-bottom: 1px solid rgba(255, 45, 149, .22); }
.auth-tab { letter-spacing: .1em; }
.auth-tab.active { color: var(--gold-bright); text-shadow: 0 0 18px rgba(255, 45, 149, .5); }
.auth-tab.active::after {
  background: var(--nx-pink); box-shadow: 0 0 12px rgba(255, 45, 149, .9);
  border-radius: 2px;
}
.auth-submit {
  clip-path: none;
  border-radius: var(--radius);
}
.sms-demo {
  clip-path: none;
  border-radius: var(--radius);
  background: rgba(0, 229, 255, .08) padding-box,
              linear-gradient(180deg, rgba(0, 229, 255, .45), rgba(18, 58, 94, .4)) border-box;
  color: #a8f3ff;
}
.sms-demo .sms-code { color: #d4fbff; text-shadow: 0 0 10px rgba(0, 229, 255, .5); }

.reg-steps-mini .rsm::before { clip-path: none; border-radius: 50%; }
.reg-steps-mini .rsm.cur::before {
  background: var(--nx-pink); color: #1a0410;
  box-shadow: 0 0 14px rgba(255, 45, 149, .7);
}
.reg-contact-banner {
  clip-path: none;
  border-radius: var(--radius);
  background: rgba(255, 45, 149, .1) padding-box,
              linear-gradient(180deg, rgba(255, 95, 176, .4), rgba(93, 47, 209, .4)) border-box;
  border: 1px solid transparent;
}
.reg-contact-banner .rcb-ic {
  clip-path: none;
  border-radius: 10px;
  background: rgba(255, 45, 149, .18); color: var(--accent);
}

/* ---------- 客服浮窗：用户气泡去金 ---------- */
.svc-bubble.user {
  background: linear-gradient(135deg, #ff5fb0, #e0207f);
  color: #1a0410;
}

/* ---------- 房间礼物抽屉：点券金 → 霓虹粉，精萃蓝 → 电光青 ---------- */
.gd-bal.rp, .gd-icon.rp, .gd-price.rp { color: #ff8ac4; }
.gd-bal.be, .gd-icon.be, .gd-price.be { color: #8ef0ff; }
.gd-cell.is-big .gd-icon { color: #ff5fb0; filter: drop-shadow(0 0 12px rgba(255, 45, 149, .55)); }

/* ---------- 钱包会员/贵族 ---------- */
.vip-hero {
  background:
    radial-gradient(420px 200px at 100% -40%, rgba(255, 45, 149, .25), transparent 70%),
    linear-gradient(135deg, #3a1660, #1a0c30 65%, #2a1148);
  border: 1px solid rgba(255, 45, 149, .3);
}
.noble-step.reached .noble-badge {
  background: linear-gradient(145deg, #ff5fb0, #a06bff);
  color: #1a0410;
  box-shadow: 0 4px 18px rgba(255, 45, 149, .45);
}

/* ---------- 新手引导 ---------- */
.onboarding {
  background:
    radial-gradient(1200px 700px at 72% -12%, rgba(255, 45, 149, .18), transparent 62%),
    radial-gradient(900px 600px at 10% 110%, rgba(132, 93, 242, .2), transparent 62%),
    #0b0714;
}

/* ---------- 个人主页主题横幅默认底 ---------- */
.theme-banner-default { background: linear-gradient(135deg, #2c1650 0%, #160c2c 55%, #3a1140 100%) !important; }
.theme-banner-hex { background: linear-gradient(135deg, #122f48, #0a1c30 60%, #0d3a46); }
.theme-banner-neon { background: linear-gradient(135deg, #3d1240, #230f30 55%, #4a0f3c); }
