/* ============================================================
   霓虹夜城 · 形状语言层（金克丝主题）
   圆角面板 / 霓虹描边 / 粉青紫辉光 / 粗黑标题
   仅覆盖形状与质感，不改布局与类名
   ============================================================ */

:root {
  --nx-pink: linear-gradient(135deg, #ff5fb0 0%, #ff2d95 45%, #d6117a 100%);
  --nx-violet: linear-gradient(135deg, #b98bff 0%, #845df2 55%, #5d2fd1 100%);
  --nx-cyan: linear-gradient(135deg, #5fe9ff 0%, #00c8e8 100%);
  --nx-line-pink: linear-gradient(160deg, rgba(255, 95, 176, .75), rgba(132, 93, 242, .55));
  --nx-panel-grad: linear-gradient(165deg, rgba(36, 22, 66, .55) 0%, rgba(14, 8, 28, .94) 100%);
  /* 兼容旧变量：斜切废弃 */
  --gx-gold: var(--nx-pink);
  --gx-gold-line: var(--nx-line-pink);
  --gx-panel-grad: var(--nx-panel-grad);
  --gx-bevel: none;
  --gx-bevel-sm: none;
}

/* ---------- 按钮 ---------- */
.btn {
  letter-spacing: .06em;
  font-weight: 700;
  clip-path: none;
  border-radius: var(--radius);
}
.btn-primary {
  background: var(--nx-pink) padding-box;
  color: #1a0410;
  font-weight: 800;
  text-shadow: 0 1px 0 rgba(255, 255, 255, .22);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .3), 0 4px 20px rgba(255, 45, 149, .38), 0 0 2px rgba(255, 45, 149, .6);
}
.btn-primary:hover { background: linear-gradient(135deg, #ff7ec0, #ff3fa0 45%, #e31b88); box-shadow: inset 0 1px 0 rgba(255,255,255,.32), 0 6px 26px rgba(255,45,149,.5), 0 0 14px rgba(255,45,149,.45); }
.btn-primary:active { background: linear-gradient(135deg, #e0207f, #c8126d); }

.btn-secondary {
  background: linear-gradient(180deg, rgba(255, 45, 149, .08), rgba(132, 93, 242, .05)) padding-box,
              var(--nx-line-pink) border-box;
  border: 1px solid transparent;
  color: var(--accent-hover);
}
.btn-secondary:hover {
  background: linear-gradient(180deg, rgba(255, 45, 149, .18), rgba(132, 93, 242, .08)) padding-box,
              var(--nx-line-pink) border-box;
  border-color: transparent;
  box-shadow: 0 0 16px rgba(255, 45, 149, .22);
}
.btn-secondary:active { background: rgba(255, 45, 149, .22) padding-box; }

.btn-ghost { color: var(--text-2); }
.btn-ghost:hover { background: rgba(255, 45, 149, .1); color: var(--gold-bright); }

.btn-soft {
  background: rgba(160, 107, 255, .14) padding-box, var(--nx-line-pink) border-box;
  border: 1px solid transparent;
  color: #d9c6ff;
}
.btn-soft:hover { background: rgba(160, 107, 255, .24) padding-box; box-shadow: 0 0 14px rgba(160, 107, 255, .25); }

.btn-danger {
  background: linear-gradient(135deg, #ff6d86, #ff4d6d 55%, #d61f44);
  text-shadow: 0 1px 0 rgba(0, 0, 0, .22);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.22), 0 4px 18px rgba(255, 77, 109, .35);
}
.btn-danger:hover { filter: brightness(1.08); box-shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 6px 24px rgba(255,77,109,.5); }

.btn-gold { background: var(--nx-pink); color: #1a0410; font-weight: 800; text-shadow: 0 1px 0 rgba(255,255,255,.2); }

/* ---------- 面板 / 卡片 ---------- */
.card,
.side-card,
.filter-bar {
  border-radius: var(--radius-lg);
  clip-path: none;
  background: var(--nx-panel-grad) padding-box,
              linear-gradient(160deg, rgba(255, 45, 149, .32), rgba(69, 46, 117, .34)) border-box;
  border: 1px solid transparent;
  box-shadow: var(--shadow-sm), inset 0 1px 0 rgba(243, 236, 255, .06);
}
.side-card { padding: 16px; }
.filter-bar { box-shadow: var(--shadow-xs); }

.card.clickable:hover {
  background: linear-gradient(165deg, rgba(48, 26, 84, .7) 0%, rgba(18, 10, 36, .96) 100%) padding-box,
              linear-gradient(160deg, rgba(255, 45, 149, .7), rgba(0, 229, 255, .35)) border-box;
  filter: drop-shadow(0 10px 22px rgba(0, 0, 0, .55)) drop-shadow(0 0 14px rgba(255, 45, 149, .22));
  transform: translateY(-2px);
}

/* 卡片顶部受光 */
.card::after {
  content: ""; position: absolute; left: 12px; right: 12px; top: 0; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 95, 176, .45), transparent);
  pointer-events: none;
}
.card { position: relative; }

/* ---------- 表单 ---------- */
.input, .select, .textarea {
  border-radius: var(--radius-sm);
  clip-path: none;
  background: linear-gradient(180deg, #0d0719, #120b24) padding-box,
              linear-gradient(180deg, rgba(69, 46, 117, .9), rgba(44, 31, 77, .9)) border-box;
  border: 1px solid transparent;
  color: var(--text);
}
.input:focus, .select:focus, .textarea:focus {
  background: linear-gradient(180deg, #120a22, #170d2c) padding-box,
              var(--nx-line-pink) border-box;
  box-shadow: 0 0 0 1px rgba(255, 45, 149, .3), 0 0 18px rgba(255, 45, 149, .18);
}
.select-wrap::after { border-right-color: var(--accent); border-bottom-color: var(--accent); }

.choice {
  border-radius: 999px;
  clip-path: none;
  background: rgba(11, 7, 20, .65);
  border: 1px solid var(--border);
}
.choice:hover { border-color: rgba(255, 45, 149, .55); color: var(--gold-bright); }
.choice.on {
  background: rgba(255, 45, 149, .15);
  border-color: rgba(255, 45, 149, .65);
  color: #ffd6ea;
  text-shadow: 0 0 12px rgba(255, 45, 149, .5);
  box-shadow: 0 0 14px rgba(255, 45, 149, .2);
}
.choice.on.gold { border-color: rgba(160, 107, 255, .65); color: #e5d8ff; }

/* ---------- 侧栏 ---------- */
.sidebar {
  background:
    linear-gradient(180deg, rgba(24, 14, 44, .94), rgba(9, 4, 20, .97));
  border-right: 1px solid rgba(255, 45, 149, .22);
  box-shadow: inset -1px 0 0 rgba(0, 229, 255, .08), 6px 0 28px rgba(0, 0, 0, .45);
}
.brand-mark {
  border-radius: 12px;
  clip-path: none;
  background: linear-gradient(145deg, #3a1a5e, #180a30) padding-box,
              linear-gradient(145deg, #ff5fb0, #845df2) border-box;
  border: 1.5px solid transparent;
  color: #ff8ac4;
  box-shadow: 0 0 18px rgba(255, 45, 149, .4), inset 0 0 12px rgba(0, 229, 255, .18);
}
.brand-mark .icon { filter: drop-shadow(0 0 5px rgba(255, 95, 176, .7)); }
.brand-name { font-family: var(--font-display); font-weight: 800; letter-spacing: .08em; color: var(--gold-bright); }
.brand-sub { color: var(--hex); letter-spacing: .24em; font-size: 9.5px; text-shadow: 0 0 10px rgba(0, 229, 255, .5); }

.nav-caption { color: var(--accent); opacity: .7; letter-spacing: 2px; text-transform: uppercase; }
.nav-item {
  border-radius: var(--radius-sm);
  clip-path: none;
  letter-spacing: .05em;
}
.nav-item:hover { background: rgba(255, 45, 149, .09); color: var(--gold-bright); }
.nav-item.active {
  background: linear-gradient(90deg, rgba(255, 45, 149, .24), rgba(255, 45, 149, .04));
  color: #ffd6ea;
  text-shadow: 0 0 16px rgba(255, 45, 149, .55);
  box-shadow: inset 0 0 18px rgba(255, 45, 149, .12);
}
.nav-item.active::before {
  background: linear-gradient(180deg, #ff5fb0, #845df2);
  box-shadow: 0 0 12px rgba(255, 45, 149, .85);
  width: 3px; top: 7px; bottom: 7px; border-radius: 2px;
}
.nav-badge, .dot-badge {
  background: linear-gradient(180deg, #ff5d7d, #e01f46);
  box-shadow: 0 0 12px rgba(255, 77, 109, .65);
}

.side-user {
  border-radius: var(--radius-lg);
  clip-path: none;
  background: linear-gradient(180deg, rgba(255, 45, 149, .07), rgba(132, 93, 242, .03)) padding-box,
              linear-gradient(180deg, rgba(255, 45, 149, .4), rgba(69, 46, 117, .34)) border-box;
  border: 1px solid transparent;
}
.side-user:hover { border-color: transparent; filter: brightness(1.15); }
.icon-btn { border-radius: 10px; clip-path: none; color: var(--muted); }
.icon-btn:hover { background: rgba(255, 45, 149, .12); color: var(--gold-bright); }

/* ---------- 顶栏 ---------- */
.topbar {
  border-bottom: 1px solid rgba(255, 45, 149, .2);
  background: rgba(10, 5, 22, .8);
  backdrop-filter: blur(14px);
  box-shadow: 0 1px 0 rgba(0, 229, 255, .08), 0 8px 28px rgba(0, 0, 0, .4);
}
.tb-title h1 { font-size: 19px; letter-spacing: .06em; }
.tb-search {
  border-radius: 999px;
  clip-path: none;
  background: linear-gradient(180deg, #0d0719, #120b24) padding-box,
              linear-gradient(180deg, rgba(69, 46, 117, .85), rgba(44, 31, 77, .85)) border-box;
  border: 1px solid transparent;
}
.tb-search:focus-within {
  background: linear-gradient(180deg, #120a22, #170d2c) padding-box, var(--nx-line-pink) border-box;
  box-shadow: 0 0 18px rgba(255, 45, 149, .2);
}
.wallet-chip {
  border-radius: 999px;
  clip-path: none;
  background: linear-gradient(180deg, rgba(160, 107, 255, .14), rgba(160, 107, 255, .05)) padding-box,
              var(--nx-line-pink) border-box;
  border: 1px solid transparent;
  color: var(--gold-bright);
}
.wallet-chip .dot.rp { background: var(--accent); box-shadow: 0 0 8px rgba(255, 45, 149, .9); }
.wallet-chip .dot.be { background: var(--hex); box-shadow: 0 0 8px rgba(0, 229, 255, .8); }

.search-pop, .pop-panel {
  border-radius: var(--radius-lg);
  clip-path: none;
  background: linear-gradient(180deg, #1c1136, #0f0820) padding-box, var(--nx-line-pink) border-box;
  border: 1px solid transparent;
  box-shadow: var(--shadow-lg), 0 0 30px rgba(255, 45, 149, .14);
}
.search-row:hover { background: rgba(255, 45, 149, .1); }

/* ---------- 页面标题 ---------- */
.page-head h2 {
  font-size: 26px; letter-spacing: .08em;
  text-shadow: 0 0 28px rgba(255, 45, 149, .4);
}
.page-head h2::before {
  content: ""; display: inline-block;
  width: 5px; height: 18px; margin: 0 12px 0 0;
  border-radius: 3px;
  background: var(--nx-pink); vertical-align: -2px;
  box-shadow: 0 0 12px rgba(255, 45, 149, .8);
}
.section-title { letter-spacing: .06em; }
.section-title .icon, .side-card h4 .icon { color: var(--accent); filter: drop-shadow(0 0 6px rgba(255, 45, 149, .6)); }

/* 大厅英雄横幅（主视觉见 neon.css） */
.hall-hero {
  position: relative; overflow: hidden;
  clip-path: none;
  border-radius: var(--radius-xl);
  min-height: 178px; margin-bottom: 22px;
  padding: 26px 30px;
  display: flex; flex-direction: column; justify-content: center;
  border: 1px solid rgba(255, 45, 149, .35);
  filter: drop-shadow(0 14px 34px rgba(0, 0, 0, .55));
}
.hall-hero::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(560px 220px at 8% 112%, rgba(0, 229, 255, .18), transparent 70%);
}
.hall-hero .hh-kicker {
  font-size: 11px; letter-spacing: .36em; color: var(--hex);
  text-transform: uppercase; margin-bottom: 8px; position: relative;
  text-shadow: 0 0 14px rgba(0, 229, 255, .55);
}
.hall-hero h2 {
  font-size: 30px; letter-spacing: .06em;
  background: linear-gradient(92deg, #ffffff 10%, #ffd6ea 45%, #ff8ac4 75%, #c9a6ff 100%);
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 0 18px rgba(255, 45, 149, .35));
  position: relative;
}
.hall-hero p {
  margin-top: 8px; font-size: 13px; color: rgba(243, 236, 255, .78);
  letter-spacing: .04em; position: relative;
}
.hall-hero .hh-actions { display: flex; gap: 10px; margin-top: 18px; position: relative; }
.hall-hero .hh-rule {
  position: absolute; left: 30px; bottom: 0; width: 84px; height: 2px; border-radius: 2px;
  background: var(--nx-pink); box-shadow: 0 0 14px rgba(255, 45, 149, .8);
}

/* ---------- 公告横幅 ---------- */
.ann-banner {
  display: flex; align-items: center; gap: 10px;
  margin-bottom: 18px; padding: 10px 16px;
  border-radius: var(--radius);
  background: linear-gradient(90deg, rgba(0, 229, 255, .08), rgba(255, 45, 149, .06));
  border: 1px solid rgba(0, 229, 255, .22);
  font-size: 13px; line-height: 1.5;
  color: rgba(243, 236, 255, .88);
}
.ann-banner .ann-badge {
  flex-shrink: 0;
  font-size: 11px; font-weight: 700; letter-spacing: .12em;
  padding: 2px 8px; border-radius: 4px;
  background: rgba(0, 229, 255, .18); color: var(--hex);
  border: 1px solid rgba(0, 229, 255, .35);
}
.ann-banner .ann-title {
  font-weight: 600; color: #fff;
  min-width: 0; flex-shrink: 1;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.ann-banner .ann-sep {
  color: rgba(243, 236, 255, .35);
  flex: none;
}
.ann-banner .ann-content {
  color: rgba(243, 236, 255, .72);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  flex: 1; min-width: 0;
}

/* 我的房间横幅 */
.my-room-banner {
  border-radius: var(--radius-lg);
  clip-path: none;
  background:
    linear-gradient(90deg, rgba(30, 14, 60, .95), rgba(60, 20, 90, .55)),
    linear-gradient(135deg, #2a1450, #180b32);
  border: 1px solid rgba(0, 229, 255, .35);
  box-shadow: 0 8px 28px rgba(18, 8, 44, .5), inset 0 1px 0 rgba(243, 236, 255, .08);
}
.my-room-banner h5 { font-family: var(--font-display); font-weight: 800; letter-spacing: .06em; color: var(--gold-bright); }
.my-room-banner .btn {
  background: var(--nx-pink); color: #1a0410; font-weight: 800;
  clip-path: none; border-radius: var(--radius);
}
.my-room-banner .btn:hover { filter: brightness(1.08); }

.quick-mini {
  border-radius: var(--radius-lg);
  clip-path: none;
  background: var(--nx-panel-grad) padding-box,
              linear-gradient(160deg, rgba(255, 45, 149, .3), rgba(69, 46, 117, .28)) border-box;
  border: 1px solid transparent;
}
.quick-mini:hover {
  border-color: transparent;
  background: linear-gradient(165deg, rgba(255, 45, 149, .2), rgba(14, 8, 28, .92)) padding-box,
              var(--nx-line-pink) border-box;
  color: var(--gold-bright);
  box-shadow: 0 0 18px rgba(255, 45, 149, .25);
}
.quick-mini .icon { color: var(--accent); filter: drop-shadow(0 0 7px rgba(255, 45, 149, .55)); }

/* ---------- Tabs / 分段 ---------- */
.tabs { border-bottom: 1px solid rgba(255, 45, 149, .2); }
.tab { letter-spacing: .06em; }
.tab.active { color: var(--gold-bright); }
.tab.active::after {
  background: var(--nx-pink);
  box-shadow: 0 0 12px rgba(255, 45, 149, .85);
  border-radius: 2px;
}
.tab.active .count { color: var(--accent); }

.segmented {
  border-radius: 999px;
  clip-path: none;
  background: #0d0719;
  border: 1px solid var(--border);
}
.segmented button.active {
  background: linear-gradient(135deg, rgba(255, 45, 149, .28), rgba(132, 93, 242, .16));
  color: #ffd6ea;
  box-shadow: 0 0 14px rgba(255, 45, 149, .25);
  clip-path: none;
  text-shadow: 0 0 10px rgba(255, 45, 149, .45);
}

/* ---------- 标签 chip ---------- */
.tag {
  border-radius: 999px;
  clip-path: none;
  background: rgba(36, 24, 68, .8);
  border: 1px solid rgba(96, 62, 150, .55);
}
.tag.accent {
  background: rgba(255, 45, 149, .15);
  border-color: rgba(255, 45, 149, .5);
  color: #ffd6ea;
}
.tag.gold { color: #c9a6ff; border-color: rgba(160, 107, 255, .5); }
.tag.info { color: #8ef0ff; border-color: rgba(0, 229, 255, .45); }
.tag.success { color: #8cf0cc; border-color: rgba(46, 230, 168, .45); }
.tag.danger { color: #ffa4b5; border-color: rgba(255, 77, 109, .45); }

/* ---------- 弹窗 ---------- */
.modal {
  border-radius: var(--radius-xl);
  clip-path: none;
  background: linear-gradient(170deg, #211340, #0f0820 60%, #0b0617) padding-box,
              linear-gradient(180deg, rgba(255, 95, 176, .65), rgba(93, 47, 209, .6)) border-box;
  border: 1px solid transparent;
  filter: drop-shadow(0 26px 70px rgba(0, 0, 0, .75)) drop-shadow(0 0 36px rgba(255, 45, 149, .14));
}
.modal-head {
  border-bottom: 1px solid rgba(255, 45, 149, .22);
  background: linear-gradient(180deg, rgba(255, 45, 149, .08), transparent);
}
.modal-head h3 { font-size: 17px; letter-spacing: .06em; }
.modal-head h3::before {
  content: ""; display: inline-block;
  width: 8px; height: 8px; margin-right: 10px;
  background: var(--nx-pink); transform: rotate(45deg);
  box-shadow: 0 0 12px rgba(255, 45, 149, .9); vertical-align: 2px;
}
.modal-foot {
  border-top: 1px solid rgba(255, 45, 149, .18);
  background: rgba(9, 4, 20, .55);
}

/* ---------- 菜单 / Toast ---------- */
.menu {
  border-radius: var(--radius-lg);
  clip-path: none;
  background: linear-gradient(180deg, #1e1338, #0f0820) padding-box, var(--nx-line-pink) border-box;
  border: 1px solid transparent;
  box-shadow: var(--shadow-lg), 0 0 24px rgba(255, 45, 149, .14);
}
.menu-item { border-radius: var(--radius-sm); clip-path: none; letter-spacing: .03em; }
.menu-item:hover { background: rgba(255, 45, 149, .14); color: #ffd6ea; }
.menu-item:hover .icon { color: var(--accent); }
.menu-sep { background: rgba(255, 45, 149, .18); }

.toast {
  border-radius: var(--radius);
  clip-path: none;
  background: linear-gradient(180deg, #221344, #140c28) padding-box, var(--nx-line-pink) border-box;
  border: 1px solid transparent;
  color: var(--text);
  box-shadow: 0 12px 40px rgba(0, 0, 0, .6), 0 0 22px rgba(255, 45, 149, .18);
}

/* ---------- 开关 / 进度 / 其他 ---------- */
.switch input:checked + .sl {
  background: linear-gradient(90deg, #d6117a, #ff5fb0);
  box-shadow: 0 0 12px rgba(255, 45, 149, .6);
}
.progress { background: #0d0719; border: 1px solid rgba(69, 46, 117, .45); }
.progress > i {
  background: linear-gradient(90deg, #845df2, #ff2d95, #5fe9ff);
  box-shadow: 0 0 12px rgba(255, 45, 149, .6);
}
.progress.gold > i { background: linear-gradient(90deg, #845df2, #ff2d95, #ff8ac4); }

.noble-step.reached .noble-badge { color: #1a0410; }

.empty-state .es-icon {
  border-radius: var(--radius-lg);
  clip-path: none;
  background: linear-gradient(160deg, rgba(255, 45, 149, .12), rgba(132, 93, 242, .16));
  border: 1px solid rgba(255, 45, 149, .28);
  color: var(--accent);
}

hr.hr { border-top-color: rgba(255, 45, 149, .16); }
.hot-rank.top3 { color: var(--accent); text-shadow: 0 0 12px rgba(255, 45, 149, .6); }
.rc-seats b { color: var(--accent); }
.rc-dots i.on { background: var(--hex); box-shadow: 0 0 8px rgba(0, 229, 255, .8); }
.rc-lock { filter: drop-shadow(0 0 6px rgba(255, 45, 149, .6)); }
.comp-price .cp-num, .pkg .pk-price { color: #ff8ac4; }
.pkg.on { border-color: rgba(255, 45, 149, .55); background: rgba(255, 45, 149, .1); }

/* 语音波形/雷达 → 电光青 */
.voice-wave i { background: var(--hex); }
.comp-voice:hover { background: rgba(0, 229, 255, .12); color: var(--hex); }

/* 主题切换圆形层底色跟随 */
.theme-fx { background: #0b0714 !important; }

/* ---------- 钱包 / 公会 ---------- */
.wallet-hero {
  border-radius: var(--radius-xl);
  clip-path: none;
  border: 1px solid rgba(255, 45, 149, .32);
  background:
    radial-gradient(520px 220px at 100% -40%, rgba(0, 229, 255, .16), transparent 70%),
    linear-gradient(120deg, #1e0f3c 0%, #100824 62%, #261148 100%) !important;
  box-shadow: inset 0 1px 0 rgba(243, 236, 255, .08);
}
.wallet-hero .wh-bal:first-of-type .wb-num { color: #ff8ac4; text-shadow: 0 0 20px rgba(255, 45, 149, .45); }
.wallet-hero .wb-num[style] { color: #8ef0ff !important; text-shadow: 0 0 20px rgba(0, 229, 255, .4); }
.wh-sep { background: linear-gradient(180deg, transparent, rgba(255, 45, 149, .45), transparent) !important; }
.wh-actions .btn {
  background: rgba(255, 45, 149, .1) padding-box, var(--nx-line-pink) border-box;
  border: 1px solid transparent; color: var(--gold-bright);
}
.wh-actions .btn:hover { filter: brightness(1.15); }
.wh-actions .btn.light, .btn.light { background: var(--nx-pink) !important; color: #1a0410 !important; text-shadow: 0 1px 0 rgba(255,255,255,.2); }
.recharge-pkg .rp-amount { color: var(--gold-bright); }
.recharge-pkg:hover, .recharge-pkg.on { border-color: rgba(255, 45, 149, .55); }

.guild-hero { border-radius: var(--radius-xl); clip-path: none; }
.guild-hero .btn-gh {
  background: rgba(255, 45, 149, .12) padding-box, var(--nx-line-pink) border-box;
  border: 1px solid transparent; color: var(--gold-bright);
}
.guild-hero .btn-gh:hover { filter: brightness(1.15); }
.guild-hero .btn-gh-light { background: var(--nx-pink) !important; color: #1a0410 !important; }
.guild-hero .btn-gh-light:hover { filter: brightness(1.08); }
.team-card {
  border-radius: var(--radius-lg);
  clip-path: none;
  background: var(--nx-panel-grad) padding-box,
              linear-gradient(160deg, rgba(255, 45, 149, .32), rgba(69, 46, 117, .28)) border-box;
  border: 1px solid transparent;
}

/* 自己的气泡 / 录音按钮：粉紫渐变底配深字 */
.bubble-row.me .bubble {
  background: linear-gradient(135deg, #ff5fb0, #e0207f) !important;
  color: #1a0410 !important;
}
.voice-card .vc-btn {
  background: linear-gradient(135deg, #ff5fb0, #ff2d95) !important;
  color: #1a0410 !important;
  box-shadow: 0 0 16px rgba(255, 45, 149, .45);
}

/* ---------- 响应式 ---------- */
@media (max-width: 1100px) {
  .hall-hero h2 { font-size: 24px; }
}
@media (max-width: 860px) {
  .hall-hero { min-height: 150px; padding: 20px; }
  .hall-hero .hh-rule { left: 20px; }
}
