/* ============================================================
   Project: NOVA — 全游四大旗舰皮肤与统一分级爆奖/双模投注主题引擎 (css/skin-theme.css)
   1:1 材质对标《24灯鲜果跑马机》(css/fruit-machine.css) 与《奇点轮盘》V3 3D 精雕机柜：
     1. obsidian — 🏛️ 古陆星象 · 黑曜鎏金（全游默认 · 哑光黑曜石 + 24K香槟鎏金浮雕 + 红宝石按键）
     2. qianli   — ⛰️ 千里江山 · 青绿白玉（北宋王希孟公有领域名画 · 矿物石青石绿 + 温润羊脂白玉内板 + 朱砂青瓷按键 + 书法字效）
     3. royal    — 🕹️ 黑金皇冠 · 复古酒红（巴洛克 24K 金雕卷草 + 深酒红丝绒珐琅 + 红宝石/祖母绿按键）
     4. starry   — 🌌 星月苍穹 · 钴蓝流金（梵高 1889《星月夜》公有领域名画 · 旋涡钴蓝琉璃 + 流金边框 + 蓝宝石/琥珀金按键）
   ============================================================ */

@font-face {
  font-family: "NovaMonument";
  src: url("../assets/fonts/nova-monument-core.woff2") format("woff2");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "NovaMonumentI18n";
  src: url("../assets/fonts/nova-monument-i18n.woff2") format("woff2");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "NovaJadeCallig";
  src: url("../assets/fonts/nova-jade-core.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-56DD, U+56DF-63A1, U+63A3-6B20, U+6B22-10FFFF;
}
@font-face {
  font-family: "NovaJadeCalligI18n";
  src: url("../assets/fonts/nova-jade-i18n.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-56DD, U+56DF-63A1, U+63A3-6B20, U+6B22-10FFFF;
}
@font-face {
  font-family: "NovaKai";
  src: url("../assets/fonts/nova-kai-core.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "NovaNumeral";
  src: url("../assets/fonts/nova-numeral.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "NovaTitleSerif";
  src: url("../assets/fonts/nova-monument-core.woff2") format("woff2");
  font-weight: 900;
  font-display: swap;
}
@font-face {
  font-family: "NovaClassical";
  src: url("../assets/fonts/nova-jade-core.woff2") format("woff2");
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "NovaNumSerif";
  src: url("../assets/fonts/nova-numeral.woff2") format("woff2");
  font-weight: 700;
  font-display: swap;
}

/* ==================== 1. 四大旗舰皮肤统一变量表（同时提供 --nv-skin-* 与 --nova-skin-*） ==================== */
:root,
html[data-nova-skin="obsidian"],
body[data-nova-skin="obsidian"] {
  --nv-skin-font: "NovaMonument", "NovaMonumentI18n", "Noto Sans SC", "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", serif;
  --nv-skin-bg: #080b12;
  --nv-skin-bg-2: #151c2c;
  --nv-skin-bg-grad: radial-gradient(circle at 50% 18%, #1e2638 0%, #0d111a 58%, #05070c 100%);
  --nv-skin-surface: rgba(15, 20, 32, 0.95);
  --nv-skin-surface-2: rgba(24, 31, 48, 0.94);
  --nv-skin-card-bg: radial-gradient(120% 90% at 50% 0%, rgba(212, 175, 55, 0.12), transparent 62%), linear-gradient(180deg, #171d2b 0%, #0d111a 65%, #080b11 100%);
  --nv-skin-tile-bg: radial-gradient(circle at 50% 38%, #2d3748 0%, #161b26 65%, #0b0e14 100%);
  --nv-skin-tile-ink: #f8f3e6;
  --nv-skin-slot-bg: linear-gradient(180deg, #0b0e16 0%, #131926 100%);
  --nv-skin-border: #c59b27;
  --nv-skin-border-bright: #fde68a;
  --nv-skin-border-soft: rgba(197, 155, 39, 0.48);
  --nv-skin-gold: #fce394;
  --nv-skin-accent: #fbbf24;
  --nv-skin-ink: #f8f3e6;
  --nv-skin-ink-dim: #cbd5e1;
  --nv-skin-panel-img: url("../assets/ui/fruit_machine/panel_obsidian.jpg");
  --nv-skin-cabinet-img: url("../assets/ui/cabinet_v4/stage_obsidian.jpg");
  --nv-skin-btn-pri-img: url("../assets/ui/fruit_machine/btn_3d_ruby.png");
  --nv-skin-btn-sec-img: url("../assets/ui/fruit_machine/btn_3d_gold.png");
  --nv-skin-btn-alt-img: url("../assets/ui/fruit_machine/btn_3d_emerald.png");
  --nv-skin-btn-jpg-main: url("../assets/ui/jackpot_wheel/btn_obs_gold.jpg");
  --nv-skin-btn-jpg-alt: url("../assets/ui/jackpot_wheel/btn_obs_crimson.jpg");
  --nv-skin-btn-jpg-em: url("../assets/ui/jackpot_wheel/btn_obs_emerald.jpg");
  --nv-skin-title-shadow: 0 2px 0 #2e1d04, 0 4px 12px rgba(0, 0, 0, 0.88);
  --nv-skin-bevel: 0 8px 24px rgba(0, 0, 0, 0.78), inset 0 1px 1px rgba(254, 240, 138, 0.35), inset 0 -2px 5px rgba(0, 0, 0, 0.82);

  /* --nova-skin-* 全量双向同步别名（消除旧样式引用 undefined） */
  --nova-skin-bg: var(--nv-skin-bg);
  --nova-skin-bg-2: var(--nv-skin-bg-2);
  --nova-skin-bg-card: var(--nv-skin-card-bg);
  --nova-skin-border: var(--nv-skin-border);
  --nova-skin-accent: var(--nv-skin-accent);
  --nova-skin-ink: var(--nv-skin-ink);
}

html[data-nova-skin="qianli"],
body[data-nova-skin="qianli"] {
  --nv-skin-font: "NovaJadeCallig", "NovaJadeCalligI18n", "NovaKai", "STKaiti", "Noto Sans SC", "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", serif;
  --nv-skin-bg: #061c1a;
  --nv-skin-bg-2: #12423d;
  --nv-skin-bg-grad: radial-gradient(circle at 50% 18%, #1a564f 0%, #0b2d29 56%, #041514 100%);
  --nv-skin-surface: rgba(11, 44, 40, 0.96);
  --nv-skin-surface-2: rgba(247, 242, 228, 0.96);
  --nv-skin-card-bg: radial-gradient(120% 90% at 50% 0%, rgba(94, 234, 212, 0.2), rgba(253, 230, 138, 0.08) 48%, transparent 70%), linear-gradient(180deg, #134640 0%, #0b2c28 64%, #061918 100%);
  --nv-skin-tile-bg: radial-gradient(circle at 50% 38%, #ffffff 0%, #f5f0e1 62%, #d8ccb2 100%);
  --nv-skin-tile-ink: #12332b;
  --nv-skin-slot-bg: linear-gradient(180deg, #072623 0%, #0e3a35 100%);
  --nv-skin-border: #d4af37;
  --nv-skin-border-bright: #fef08a;
  --nv-skin-border-soft: rgba(212, 175, 55, 0.56);
  --nv-skin-gold: #fef08a;
  --nv-skin-accent: #fde68a;
  --nv-skin-ink: #f7f4ea;
  --nv-skin-ink-dim: #c6ece3;
  --nv-skin-panel-img: url("../assets/ui/fruit_machine/panel_qianli.jpg");
  --nv-skin-cabinet-img: url("../assets/ui/cabinet_v4/stage_qianli.jpg");
  --nv-skin-btn-pri-img: url("../assets/ui/jackpot_wheel/btn_qianli_cinnabar.jpg");
  --nv-skin-btn-sec-img: url("../assets/ui/jackpot_wheel/btn_qianli_cream.jpg");
  --nv-skin-btn-alt-img: url("../assets/ui/jackpot_wheel/btn_qianli_celadon.jpg");
  --nv-skin-btn-jpg-main: url("../assets/ui/jackpot_wheel/btn_qianli_cinnabar.jpg");
  --nv-skin-btn-jpg-alt: url("../assets/ui/jackpot_wheel/btn_qianli_celadon.jpg");
  --nv-skin-btn-jpg-em: url("../assets/ui/jackpot_wheel/btn_qianli_cream.jpg");
  --nv-skin-title-shadow: 0 2px 0 #092622, 0 4px 10px rgba(0, 0, 0, 0.72);
  --nv-skin-bevel: 0 8px 24px rgba(0, 0, 0, 0.75), inset 0 1px 2px rgba(254, 249, 195, 0.45), inset 0 -2px 5px rgba(3, 24, 22, 0.85);

  --nova-skin-bg: var(--nv-skin-bg);
  --nova-skin-bg-2: var(--nv-skin-bg-2);
  --nova-skin-bg-card: var(--nv-skin-card-bg);
  --nova-skin-border: var(--nv-skin-border);
  --nova-skin-accent: var(--nv-skin-accent);
  --nova-skin-ink: var(--nv-skin-ink);
}

html[data-nova-skin="royal"],
body[data-nova-skin="royal"] {
  --nv-skin-font: "NovaMonument", "NovaMonumentI18n", "Noto Sans SC", "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", serif;
  --nv-skin-bg: #120206;
  --nv-skin-bg-2: #4a0a16;
  --nv-skin-bg-grad: radial-gradient(circle at 50% 18%, #5c0d1c 0%, #2a050c 58%, #100205 100%);
  --nv-skin-surface: rgba(48, 7, 15, 0.96);
  --nv-skin-surface-2: rgba(72, 11, 23, 0.94);
  --nv-skin-card-bg: radial-gradient(120% 90% at 50% 0%, rgba(251, 191, 36, 0.22), rgba(225, 29, 72, 0.14) 48%, transparent 72%), linear-gradient(180deg, #470813 0%, #26040a 64%, #130205 100%);
  --nv-skin-tile-bg: radial-gradient(circle at 50% 42%, #fffef5 0%, #fde68a 64%, #d97706 100%);
  --nv-skin-tile-ink: #3b0d06;
  --nv-skin-slot-bg: linear-gradient(180deg, #1f0308 0%, #360710 100%);
  --nv-skin-border: #f59e0b;
  --nv-skin-border-bright: #fef08a;
  --nv-skin-border-soft: rgba(245, 158, 11, 0.56);
  --nv-skin-gold: #fde68a;
  --nv-skin-accent: #fbbf24;
  --nv-skin-ink: #fff7eb;
  --nv-skin-ink-dim: #f3cbd3;
  --nv-skin-panel-img: url("../assets/ui/fruit_machine/panel_royal.jpg");
  --nv-skin-cabinet-img: url("../assets/ui/cabinet_v4/stage_royal.jpg");
  --nv-skin-btn-pri-img: url("../assets/ui/fruit_machine/btn_3d_ruby.png");
  --nv-skin-btn-sec-img: url("../assets/ui/fruit_machine/btn_3d_gold.png");
  --nv-skin-btn-alt-img: url("../assets/ui/fruit_machine/btn_3d_emerald.png");
  --nv-skin-btn-jpg-main: url("../assets/ui/jackpot_wheel/btn_royal_ruby.jpg");
  --nv-skin-btn-jpg-alt: url("../assets/ui/jackpot_wheel/btn_royal_emerald.jpg");
  --nv-skin-btn-jpg-em: url("../assets/ui/jackpot_wheel/btn_royal_emerald.jpg");
  --nv-skin-title-shadow: 0 2px 0 #3d0610, 0 4px 12px rgba(0, 0, 0, 0.88);
  --nv-skin-bevel: 0 8px 24px rgba(0, 0, 0, 0.82), inset 0 1px 2px rgba(254, 240, 138, 0.45), inset 0 -2px 5px rgba(20, 2, 6, 0.88);

  --nova-skin-bg: var(--nv-skin-bg);
  --nova-skin-bg-2: var(--nv-skin-bg-2);
  --nova-skin-bg-card: var(--nv-skin-card-bg);
  --nova-skin-border: var(--nv-skin-border);
  --nova-skin-accent: var(--nv-skin-accent);
  --nova-skin-ink: var(--nv-skin-ink);
}

html[data-nova-skin="starry"],
body[data-nova-skin="starry"] {
  --nv-skin-font: "NovaMonument", "NovaMonumentI18n", "Noto Sans SC", "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", serif;
  --nv-skin-bg: #040a1a;
  --nv-skin-bg-2: #163372;
  --nv-skin-bg-grad: radial-gradient(circle at 50% 18%, #1e4294 0%, #0b1c47 56%, #040919 100%);
  --nv-skin-surface: rgba(10, 25, 62, 0.96);
  --nv-skin-surface-2: rgba(18, 42, 98, 0.94);
  --nv-skin-card-bg: radial-gradient(120% 90% at 50% 0%, rgba(96, 165, 250, 0.24), rgba(251, 191, 36, 0.12) 48%, transparent 72%), linear-gradient(180deg, #16316e 0%, #0b193d 64%, #050c20 100%);
  --nv-skin-tile-bg: radial-gradient(circle at 50% 40%, #1e3a8a 0%, #0f204b 66%, #071029 100%);
  --nv-skin-tile-ink: #fef9c3;
  --nv-skin-slot-bg: linear-gradient(180deg, #061029 0%, #0f2454 100%);
  --nv-skin-border: #fbbf24;
  --nv-skin-border-bright: #fef08a;
  --nv-skin-border-soft: rgba(251, 191, 36, 0.56);
  --nv-skin-gold: #fef08a;
  --nv-skin-accent: #fcd34d;
  --nv-skin-ink: #f4f8ff;
  --nv-skin-ink-dim: #bfdbfe;
  --nv-skin-panel-img: url("../assets/ui/fruit_machine/panel_starry.jpg");
  --nv-skin-cabinet-img: url("../assets/ui/cabinet_v4/stage_starry.jpg");
  --nv-skin-btn-pri-img: url("../assets/ui/fruit_machine/btn_3d_sapphire.png");
  --nv-skin-btn-sec-img: url("../assets/ui/fruit_machine/btn_3d_gold.png");
  --nv-skin-btn-alt-img: url("../assets/ui/fruit_machine/btn_3d_emerald.png");
  --nv-skin-btn-jpg-main: url("../assets/ui/jackpot_wheel/btn_starry_amber.jpg");
  --nv-skin-btn-jpg-alt: url("../assets/ui/jackpot_wheel/btn_starry_sapphire.jpg");
  --nv-skin-btn-jpg-em: url("../assets/ui/jackpot_wheel/btn_starry_amber.jpg");
  --nv-skin-title-shadow: 0 2px 0 #08183d, 0 4px 12px rgba(0, 0, 0, 0.88);
  --nv-skin-bevel: 0 8px 24px rgba(0, 0, 0, 0.82), inset 0 1px 2px rgba(254, 240, 138, 0.42), inset 0 -2px 5px rgba(3, 8, 24, 0.88);

  --nova-skin-bg: var(--nv-skin-bg);
  --nova-skin-bg-2: var(--nv-skin-bg-2);
  --nova-skin-bg-card: var(--nv-skin-card-bg);
  --nova-skin-border: var(--nv-skin-border);
  --nova-skin-accent: var(--nv-skin-accent);
  --nova-skin-ink: var(--nv-skin-ink);
}

/* ==================== 2. 全局主壳层、顶栏、底栏、通用卡片与按键 4 皮肤真材质 ==================== */
body[data-nova-skin] {
  background: var(--nv-skin-bg-grad) !important;
  color: var(--nv-skin-ink);
}

/* 碑刻金字/青玉书法标题联动（前置彩色 Emoji 字体族，防止标题首部图标退化为单色白块） */
body[data-nova-skin="qianli"] .nova-wordmark,
body[data-nova-skin="qianli"] .page-head h2,
body[data-nova-skin="qianli"] .ah-title-wrap h2,
body[data-nova-skin="qianli"] .fav-stage-tab,
body[data-nova-skin="qianli"] .nv-skin-pill-btn,
body[data-nova-skin="qianli"] .nova-ret-top-btn {
  font-family: "NovaJadeCallig", "NovaJadeCalligI18n", "NovaKai", "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", serif;
}

body[data-nova-skin] .page-head h2 {
  background: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  color: var(--nv-skin-gold) !important;
  text-shadow: var(--nv-skin-title-shadow) !important;
}

body[data-nova-skin="obsidian"] .page-head h2,
body[data-nova-skin="royal"] .page-head h2,
body[data-nova-skin="starry"] .page-head h2 {
  font-family: "NovaMonument", "NovaMonumentI18n", "Noto Sans SC", "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", serif;
}

/* 顶栏 4 皮肤雕金横梁（对标 fruit-machine .arcade-top-strip） */
body[data-nova-skin="obsidian"] header.topbar {
  background: linear-gradient(90deg, #10141e 0%, #1d2536 50%, #10141e 100%) !important;
  border: 1.5px solid #c59b27 !important;
  box-shadow: 0 5px 16px rgba(0, 0, 0, 0.72), inset 0 1px 0 rgba(254, 240, 138, 0.35) !important;
}
body[data-nova-skin="qianli"] header.topbar {
  background: linear-gradient(90deg, #092623 0%, #165049 50%, #092623 100%) !important;
  border: 1.5px solid #d4af37 !important;
  box-shadow: 0 5px 16px rgba(0, 0, 0, 0.68), inset 0 1px 0 rgba(254, 249, 195, 0.45) !important;
}
body[data-nova-skin="royal"] header.topbar {
  background: linear-gradient(90deg, #2b050c 0%, #590c1a 50%, #2b050c 100%) !important;
  border: 1.5px solid #f59e0b !important;
  box-shadow: 0 5px 16px rgba(0, 0, 0, 0.78), inset 0 1px 0 rgba(254, 240, 138, 0.45) !important;
}
body[data-nova-skin="starry"] header.topbar {
  background: linear-gradient(90deg, #07132e 0%, #173473 50%, #07132e 100%) !important;
  border: 1.5px solid #fbbf24 !important;
  box-shadow: 0 5px 16px rgba(0, 0, 0, 0.78), inset 0 1px 0 rgba(254, 240, 138, 0.42) !important;
}

/* 顶栏钱包胶囊 4 皮肤精雕（对标 fruit-machine .fm-wallet-pill） */
body[data-nova-skin="obsidian"] .wallet {
  background: linear-gradient(180deg, rgba(22, 27, 39, 0.96), rgba(9, 12, 18, 0.98)) !important;
  border: 1.5px solid #d4af37 !important;
  box-shadow: inset 0 1px 2px rgba(254, 240, 138, 0.35), 0 2px 8px rgba(0, 0, 0, 0.65) !important;
}
body[data-nova-skin="qianli"] .wallet {
  background: linear-gradient(180deg, #ffffff 0%, #f5efe0 65%, #e2d5ba 100%) !important;
  border: 1.5px solid #c59b27 !important;
  box-shadow: inset 0 2px 2px #ffffff, inset 0 -2px 3px rgba(133, 98, 42, 0.32), 0 2px 8px rgba(0, 0, 0, 0.45) !important;
}
body[data-nova-skin="qianli"] .wallet .wallet-value {
  color: #8f1414 !important;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.85) !important;
}
body[data-nova-skin="qianli"] .wallet .wallet-lbl {
  color: #164e48 !important;
}
body[data-nova-skin="royal"] .wallet {
  background: linear-gradient(180deg, rgba(58, 8, 17, 0.96), rgba(24, 3, 7, 0.98)) !important;
  border: 1.5px solid #fbbf24 !important;
  box-shadow: inset 0 1px 2px rgba(254, 240, 138, 0.42), 0 2px 8px rgba(0, 0, 0, 0.72) !important;
}
body[data-nova-skin="starry"] .wallet {
  background: linear-gradient(180deg, rgba(16, 36, 82, 0.96), rgba(6, 14, 36, 0.98)) !important;
  border: 1.5px solid #fcd34d !important;
  box-shadow: inset 0 1px 2px rgba(254, 240, 138, 0.4), 0 2px 8px rgba(0, 0, 0, 0.72) !important;
}

/* 底部 5 主导航栏 4 皮肤浮雕底座 */
body[data-nova-skin="obsidian"] nav.app-nav {
  background: linear-gradient(180deg, #161c2a 0%, #090c13 100%) !important;
  border-top: 1.5px solid #c59b27 !important;
}
body[data-nova-skin="qianli"] nav.app-nav {
  background: linear-gradient(180deg, #12443e 0%, #071f1d 100%) !important;
  border-top: 1.5px solid #d4af37 !important;
}
body[data-nova-skin="royal"] nav.app-nav {
  background: linear-gradient(180deg, #420813 0%, #1a0307 100%) !important;
  border-top: 1.5px solid #f59e0b !important;
}
body[data-nova-skin="starry"] nav.app-nav {
  background: linear-gradient(180deg, #132c63 0%, #061029 100%) !important;
  border-top: 1.5px solid #fbbf24 !important;
}
body[data-nova-skin] nav.app-nav .nav-item.active,
body[data-nova-skin] nav.app-nav .nav-item.active .nav-lbl {
  color: var(--nv-skin-gold) !important;
}

/* 全局主界面卡片、页面容器与操控盒 4 皮肤材质联动 */
body[data-nova-skin] .card,
body[data-nova-skin] .page-card {
  background: var(--nv-skin-card-bg) !important;
  border: 1.5px solid var(--nv-skin-border) !important;
  box-shadow: var(--nv-skin-bevel) !important;
}

/* 千里江山专属：内层操控盒、子面板、挖宝定制栏与通用解析牌匾呈现温润羊脂白玉/宣纸镶金质感！ */
body[data-nova-skin="obsidian"] .ctrl-box,
body[data-nova-skin="obsidian"] .dig-custom-section {
  background: linear-gradient(180deg, #111622 0%, #090c14 100%) !important;
  border: 1px solid rgba(197, 155, 39, 0.48) !important;
}
body[data-nova-skin="qianli"] .ctrl-box {
  background: linear-gradient(180deg, #0b332f 0%, #061f1d 100%) !important;
  border: 1.5px solid #d4af37 !important;
}
body[data-nova-skin="royal"] .ctrl-box,
body[data-nova-skin="royal"] .dig-custom-section {
  background: linear-gradient(180deg, #34060f 0%, #1c0307 100%) !important;
  border: 1px solid rgba(251, 191, 36, 0.52) !important;
}
body[data-nova-skin="starry"] .ctrl-box,
body[data-nova-skin="starry"] .dig-custom-section {
  background: linear-gradient(180deg, #0e2252 0%, #06112b 100%) !important;
  border: 1px solid rgba(251, 191, 36, 0.52) !important;
}

/* 快捷金额按键 (.q-btn / .step-mini) 4 皮肤玉石/宝石键帽 */
body[data-nova-skin="obsidian"] .q-btn,
body[data-nova-skin="obsidian"] .step-mini {
  background: linear-gradient(180deg, #283142 0%, #121722 100%) !important;
  border: 1px solid #c59b27 !important;
  color: #fce394 !important;
}
body[data-nova-skin="qianli"] .q-btn,
body[data-nova-skin="qianli"] .step-mini {
  background: radial-gradient(circle at 50% 35%, #ffffff 0%, #f3ede0 66%, #d8cbb0 100%) !important;
  border: 1.5px solid #c59b27 !important;
  color: #10332b !important;
  font-weight: 900 !important;
  box-shadow: 0 2px 0 #092622, inset 0 1px 1px #ffffff !important;
}
body[data-nova-skin="royal"] .q-btn,
body[data-nova-skin="royal"] .step-mini {
  background: linear-gradient(180deg, #5c0d1b 0%, #2c050b 100%) !important;
  border: 1px solid #fbbf24 !important;
  color: #fde68a !important;
}
body[data-nova-skin="starry"] .q-btn,
body[data-nova-skin="starry"] .step-mini {
  background: linear-gradient(180deg, #1d3f8a 0%, #0c1d47 100%) !important;
  border: 1px solid #fcd34d !important;
  color: #fef08a !important;
}

/* 首屏「1屏发射台 | 2屏挖宝」切换栏与挖宝主壳 4 皮肤真材质 */
body[data-nova-skin] .fav-stage-bar {
  background: var(--nv-skin-slot-bg) !important;
  border: 1.5px solid var(--nv-skin-border) !important;
}
body[data-nova-skin="qianli"] .fav-stage-tab:not(.active) {
  background: rgba(12, 54, 48, 0.85) !important;
  border-color: rgba(212, 175, 55, 0.45) !important;
  color: #d1fae5 !important;
}
body[data-nova-skin="qianli"] .fav-stage-tab.active {
  background: url("../assets/ui/jackpot_wheel/btn_qianli_cinnabar.jpg") center / 100% 100% no-repeat !important;
  border-color: #fef08a !important;
  color: #fffef5 !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.85) !important;
}
body[data-nova-skin="royal"] .fav-stage-tab.active {
  background: url("../assets/ui/jackpot_wheel/btn_royal_ruby.jpg") center / 100% 100% no-repeat !important;
  border-color: #fef08a !important;
  color: #fffef5 !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.85) !important;
}
body[data-nova-skin="starry"] .fav-stage-tab.active {
  background: url("../assets/ui/jackpot_wheel/btn_starry_sapphire.jpg") center / 100% 100% no-repeat !important;
  border-color: #fef08a !important;
  color: #fffef5 !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.85) !important;
}
body[data-nova-skin] .dig-shell-card {
  background: var(--nv-skin-card-bg) !important;
  border: 1.5px solid var(--nv-skin-border) !important;
  box-shadow: var(--nv-skin-bevel) !important;
}
body[data-nova-skin="qianli"] .dig-custom-section {
  background: linear-gradient(180deg, rgba(252, 248, 238, 0.95), rgba(232, 223, 202, 0.94)) !important;
  border: 1.5px solid #c59b27 !important;
  color: #14332b !important;
}
body[data-nova-skin="qianli"] .dig-custom-section .dig-sec-title {
  color: #8f1414 !important;
}
body[data-nova-skin="qianli"] .dig-custom-section .dig-sec-sub {
  color: #1f4b43 !important;
}

/* 发射台主挂载/预约金色按钮：严格保持固定宽高与省略号规则，仅切换 4 皮肤金属/玉石面板色泽 */
body[data-nova-skin="qianli"] #actionSlot .nova-launch::before,
body[data-nova-skin="qianli"] #sideActionSlot .nova-launch::before {
  background: linear-gradient(180deg, #164e48 0%, #092623 50%, #113e39 100%);
  border-color: #d4af37;
}
body[data-nova-skin="qianli"] #actionSlot .nova-launch .nova-launch-face,
body[data-nova-skin="qianli"] #sideActionSlot .nova-launch .nova-launch-face {
  background: linear-gradient(175deg, #fffdf7 0%, #f5ebd2 38%, #e2c98d 78%, #c59b27 100%);
  box-shadow: inset 0 2px 2px #ffffff, inset 0 -3px 6px rgba(133, 98, 42, 0.55);
}
body[data-nova-skin="qianli"] #actionSlot .nova-launch,
body[data-nova-skin="qianli"] #sideActionSlot .nova-launch {
  color: #7f1111 !important;
}
body[data-nova-skin="royal"] #actionSlot .nova-launch::before,
body[data-nova-skin="royal"] #sideActionSlot .nova-launch::before {
  background: linear-gradient(180deg, #6b0f22 0%, #2b040b 50%, #4a0815 100%);
  border-color: #fbbf24;
}
body[data-nova-skin="starry"] #actionSlot .nova-launch::before,
body[data-nova-skin="starry"] #sideActionSlot .nova-launch::before {
  background: linear-gradient(180deg, #1e4294 0%, #091638 50%, #142d69 100%);
  border-color: #fcd34d;
}

/* ==================== 3. 顶栏单行紧凑快捷胶囊组（[🏛️ 圣殿] + [🎨 皮肤]，绝不挤出第3行） ==================== */
.nova-brand-quick {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  flex-wrap: nowrap;
  min-width: 0;
}

.nv-skin-pill-btn {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  height: 28px;
  padding: 0 8px;
  border-radius: 999px;
  border: 1px solid var(--nv-skin-border);
  background: linear-gradient(180deg, rgba(255, 232, 160, 0.22), rgba(15, 23, 42, 0.9));
  color: var(--nv-skin-gold);
  font-size: 11px;
  font-weight: 900;
  cursor: pointer;
  white-space: nowrap;
  flex-shrink: 0;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.28), 0 2px 5px rgba(0, 0, 0, 0.45);
}
body[data-nova-skin="qianli"] .nv-skin-pill-btn {
  background: linear-gradient(180deg, #ffffff 0%, #efe6d0 100%);
  border-color: #c59b27;
  color: #0f5132;
  box-shadow: inset 0 1px 0 #ffffff, 0 2px 5px rgba(0, 0, 0, 0.38);
}
body[data-nova-skin="royal"] .nv-skin-pill-btn {
  background: linear-gradient(180deg, #881337 0%, #4c0519 100%);
  border-color: #fbbf24;
  color: #fef08a;
}
body[data-nova-skin="starry"] .nv-skin-pill-btn {
  background: linear-gradient(180deg, #1d4ed8 0%, #0f2557 100%);
  border-color: #fde68a;
  color: #fef9c3;
}
.nv-skin-pill-btn:active {
  transform: scale(0.95);
}

/* 子机台沉浸态：自动收起外层大厅顶栏与底部 5 导航，确保 100% 单屏零滚动轴 */
body.nova-in-subgame-stage header.topbar,
body.nova-in-subgame-stage nav.app-nav {
  display: none !important;
}
body.nova-in-subgame-stage,
body.nova-in-subgame-stage .shell,
body.nova-in-subgame-stage #view-arcade,
body.nova-in-subgame-stage .ah-shell,
body.nova-in-subgame-stage #ahGameStage {
  height: 100vh !important;
  height: var(--app-vh, 100vh) !important;
  height: 100dvh !important;
  max-height: 100vh !important;
  max-height: var(--app-vh, 100vh) !important;
  max-height: 100dvh !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 auto !important;
}

/* ==================== 4. 全局 4 皮肤选择器与通用皮肤弹窗（兼容 .nv-skin-modal-* 与 .nova-skin-modal-*） ==================== */
.nv-skin-modal-mask,
.nova-skin-modal-mask {
  position: fixed;
  inset: 0;
  z-index: 12500;
  background: rgba(4, 7, 14, 0.8);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 14px;
}
.nova-skin-modal-mask:not(.show) {
  display: none !important;
}
.nv-skin-modal-mask[hidden] {
  display: none !important;
}
.nv-skin-modal-card,
.nova-skin-modal-card {
  width: min(420px, 95vw);
  max-height: 86vh;
  max-height: calc(var(--app-vh, 100vh) * 0.86);
  max-height: 86dvh;
  overflow-y: auto;
  border-radius: 18px;
  border: 2px solid var(--nv-skin-border);
  background: var(--nv-skin-card-bg);
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.88), inset 0 1px 0 rgba(255, 240, 195, 0.38);
  padding: 14px;
  color: var(--nv-skin-ink);
}
.nv-skin-modal-head,
.nova-skin-modal-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 10px;
}
.nv-skin-modal-title,
.nova-skin-modal-title {
  font-family: var(--nv-skin-font);
  font-size: 15.5px;
  font-weight: 900;
  color: var(--nv-skin-gold);
  text-shadow: var(--nv-skin-title-shadow);
  min-width: 0;
}
.nv-skin-close-btn,
.nova-skin-modal-close {
  width: 30px;
  height: 30px;
  flex-shrink: 0;
  border-radius: 50%;
  border: 1px solid var(--nv-skin-border-soft);
  background: rgba(0, 0, 0, 0.45);
  color: var(--nv-skin-gold);
  font-size: 15px;
  font-weight: 900;
  cursor: pointer;
}
.nv-skin-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}
.nv-skin-item {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 10px;
  border-radius: 13px;
  border: 1.5px solid rgba(255, 255, 255, 0.18);
  background: rgba(0, 0, 0, 0.42);
  text-align: left;
  color: #f8f4ea;
  cursor: pointer;
  transition: transform 0.14s ease, border-color 0.14s ease;
}
.nv-skin-item.active {
  border-color: #ffd875;
  box-shadow: 0 0 0 2px rgba(255, 216, 117, 0.35), 0 8px 20px rgba(0, 0, 0, 0.55);
}
.nv-skin-swatch {
  height: 58px;
  border-radius: 9px;
  background-size: cover;
  background-position: center 22%;
  border: 1px solid rgba(255, 224, 150, 0.5);
}
.nv-skin-item-name {
  font-family: "NovaTitleSerif", serif;
  font-size: 13px;
  font-weight: 900;
  color: #ffe39a;
}
.nv-skin-item-sub {
  font-size: 11px;
  line-height: 1.35;
  color: rgba(245, 240, 228, 0.85);
}
.nv-skin-bio-box {
  margin-top: 10px;
  padding: 11px 13px;
  border-radius: 12px;
  border: 1.5px solid var(--nv-skin-border);
  background: linear-gradient(180deg, rgba(16, 22, 36, 0.96), rgba(9, 13, 22, 0.98));
  font-size: 12px;
  line-height: 1.55;
  color: var(--nv-skin-ink);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.14), 0 4px 12px rgba(0, 0, 0, 0.4);
}
body[data-nova-skin="qianli"] .nv-skin-bio-box {
  background: linear-gradient(180deg, #fffdf7 0%, #f1e8d3 72%, #e1d4b8 100%);
  border-color: #c59b27;
  color: #103029;
  box-shadow: inset 0 1px 0 #ffffff, 0 4px 12px rgba(0, 0, 0, 0.28);
}
body[data-nova-skin="royal"] .nv-skin-bio-box {
  background: linear-gradient(180deg, #420814 0%, #200309 100%);
  border-color: #f59e0b;
}
body[data-nova-skin="starry"] .nv-skin-bio-box {
  background: linear-gradient(180deg, #142f6e 0%, #081536 100%);
  border-color: #fbbf24;
}
.nv-skin-bio-box b {
  color: var(--nv-skin-gold);
}
body[data-nova-skin="qianli"] .nv-skin-bio-box b {
  color: #8f1414;
}

/* 发射台底部双舱切换条 4 皮肤材质联动 */
body[data-nova-skin="qianli"] #dualToggleBtn,
body[data-nova-skin="qianli"] .dual-toggle-btn {
  background: linear-gradient(180deg, #15534b 0%, #0a2b27 100%) !important;
  border: 1.5px solid #d4af37 !important;
  color: #fef9c3 !important;
}
body[data-nova-skin="royal"] #dualToggleBtn,
body[data-nova-skin="royal"] .dual-toggle-btn {
  background: linear-gradient(180deg, #4e0a18 0%, #24040a 100%) !important;
  border: 1.5px solid #f59e0b !important;
  color: #fef08a !important;
}
body[data-nova-skin="starry"] #dualToggleBtn,
body[data-nova-skin="starry"] .dual-toggle-btn {
  background: linear-gradient(180deg, #18377c 0%, #09173b 100%) !important;
  border: 1.5px solid #fbbf24 !important;
  color: #fef08a !important;
}

/* ==================== 5. 全局分级智能爆奖（Iron Rule #6 · 0ms 秒跳过） ==================== */
.nv-win-showcase-root {
  position: fixed;
  inset: 0;
  z-index: 11800;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}
.nv-win-showcase-root[hidden] {
  display: none !important;
}
.nv-smallwin-float {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  max-width: 96vw;
  gap: 8px;
  padding: 14px 32px;
  border: none;
  border-radius: 0;
  box-shadow: none;
  background: radial-gradient(ellipse at 50% 50%, rgba(6, 38, 26, 0.88) 0%, rgba(6, 38, 26, 0.48) 50%, rgba(6, 38, 26, 0) 78%);
  font-family: "NovaNumeral", "NovaNumSerif", "NovaTitleSerif", serif;
  font-size: clamp(28px, 8vw, 40px);
  font-weight: 900;
  letter-spacing: 0.4px;
  text-align: center;
  color: #86efac;
  text-shadow: 0 3px 0 #052e16, 0 6px 18px rgba(0, 0, 0, 0.92), 0 0 20px rgba(250, 204, 21, 0.65);
  pointer-events: none;
  will-change: transform, opacity;
  animation: nvSmallWinFloat 2.8s cubic-bezier(0.2, 0.82, 0.24, 1) forwards;
}
.nv-smallwin-float .nova-coin-icon {
  width: clamp(24px, 6.8vw, 32px) !important;
  height: clamp(24px, 6.8vw, 32px) !important;
  filter: drop-shadow(0 3px 8px rgba(0, 0, 0, 0.78));
}
@keyframes nvSmallWinFloat {
  0% { opacity: 0; transform: translateY(14px) scale(0.76); }
  5.5% { opacity: 1; transform: translateY(-2px) scale(1.06); }
  7.86% { opacity: 1; transform: translateY(0) scale(1); }
  82.86% { opacity: 1; transform: translateY(0) scale(1); }
  100% { opacity: 0; transform: translateY(-20px) scale(0.97); }
}

.nv-bigwin-banner.is-realtime-pass {
  pointer-events: none !important;
}

.nv-bigwin-banner {
  pointer-events: auto;
  position: relative;
  width: min(356px, 90vw);
  padding: 20px 18px 18px;
  border-radius: 20px;
  background-image: var(--nv-skin-panel-img);
  background-size: 100% 100%;
  border: 2px solid var(--nv-skin-border);
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.88), 0 0 38px rgba(245, 198, 84, 0.48);
  text-align: center;
  cursor: pointer;
  animation: nvBigWinPop 0.26s cubic-bezier(0.18, 0.89, 0.32, 1.18);
}
@keyframes nvBigWinPop {
  from { opacity: 0; transform: scale(0.72); }
  to { opacity: 1; transform: scale(1); }
}
.nv-bigwin-halo {
  position: absolute;
  top: -36px;
  left: 50%;
  width: 96px;
  height: 96px;
  margin-left: -48px;
  background: url("../assets/ui/vfx_victory_burst_halo.png") center/contain no-repeat;
  pointer-events: none;
  opacity: 0.9;
  animation: nvHaloSpin 8s linear infinite;
}
@keyframes nvHaloSpin {
  to { transform: rotate(360deg); }
}
.nv-bigwin-tier {
  position: relative;
  font-family: var(--nv-skin-font);
  font-size: 16px;
  font-weight: 900;
  color: #ffe38e;
  letter-spacing: 0.5px;
  text-shadow: 0 2px 0 #3a1d04, 0 0 14px rgba(251, 191, 36, 0.75);
  margin-bottom: 6px;
}
body[data-nova-skin="qianli"] .nv-bigwin-tier {
  color: #9e1f14;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.75);
}
.nv-bigwin-amount {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  flex-wrap: wrap;
  font-family: "NovaNumeral", "NovaNumSerif", serif;
  font-size: clamp(25px, 7.2vw, 36px);
  font-weight: 900;
  color: #fff2b2;
  text-shadow: 0 2px 0 #4d2904, 0 4px 14px rgba(0, 0, 0, 0.85);
}
body[data-nova-skin="qianli"] .nv-bigwin-amount {
  color: #0b4f3f;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.85);
}
.nv-bigwin-amount.settled {
  animation: nvDigitsPulse 0.28s ease;
}
@keyframes nvDigitsPulse {
  0% { transform: scale(1); }
  50% { transform: scale(1.12); }
  100% { transform: scale(1); }
}
.nv-bigwin-sub {
  margin-top: 6px;
  font-size: 11.5px;
  font-weight: 700;
  color: rgba(255, 243, 210, 0.82);
}
body[data-nova-skin="qianli"] .nv-bigwin-sub {
  color: #2f5249;
}

/* ==================== 6. 统一 V16 双模自定义投注弹窗（% 钱包 ↔ 固定额 · 4 皮肤全同步） ==================== */
.nv-stake-modal-mask {
  position: fixed;
  inset: 0;
  z-index: 12600;
  background: rgba(3, 6, 14, 0.82);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px;
}
.nv-stake-modal-mask[hidden] {
  display: none !important;
}
.nv-stake-modal-card {
  width: min(392px, 95vw);
  max-height: 88vh;
  max-height: calc(var(--app-vh, 100vh) - 24px);
  max-height: 88dvh;
  overflow-y: auto;
  overflow-x: hidden;
  border-radius: 18px;
  border: 2px solid var(--nv-skin-border);
  background: var(--nv-skin-card-bg);
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.88), inset 0 1px 0 rgba(255, 244, 200, 0.32);
  padding: 14px 15px 15px;
  color: var(--nv-skin-ink);
}
.nv-stake-modal-card img.nova-coin-icon {
  display: inline-block;
  width: 16px !important;
  height: 16px !important;
  max-width: 16px !important;
  max-height: 16px !important;
  object-fit: contain;
  vertical-align: -3px;
  flex-shrink: 0;
}
.nv-stake-modal-card img.nv-stake-inp-coin {
  width: 21px !important;
  height: 21px !important;
  max-width: 21px !important;
  max-height: 21px !important;
  vertical-align: middle;
}
.nv-stake-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5px;
  margin: 8px 0 10px;
  padding: 4px;
  border-radius: 11px;
  background: rgba(5, 8, 15, 0.65);
  border: 1px solid var(--nv-skin-border-soft);
}
.nv-stake-tab {
  height: 35px;
  border-radius: 8px;
  border: 1px solid transparent;
  background: transparent;
  color: var(--nv-skin-ink-dim);
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  white-space: nowrap;
  min-width: 0;
}
.nv-stake-tab.active {
  border-color: #ffd66b;
  background: linear-gradient(180deg, rgba(245, 194, 73, 0.34), rgba(140, 88, 12, 0.55));
  color: #fffbeb;
}
.nv-stake-quick-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 5px;
  margin: 8px 0;
}
.nv-stake-qbtn {
  height: 32px;
  border-radius: 8px;
  border: 1px solid var(--nv-skin-border-soft);
  background: rgba(255, 255, 255, 0.08);
  color: var(--nv-skin-ink);
  font-size: 11.5px;
  font-weight: 900;
  cursor: pointer;
  white-space: nowrap;
  padding: 0 3px;
}
.nv-stake-qbtn.active,
.nv-stake-qbtn:active {
  border-color: #ffd875;
  background: rgba(245, 194, 73, 0.28);
  color: #ffe79e;
}
.nv-stake-inp-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 8px 0;
}
.nv-stake-inp-shell {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 6px 11px;
  border-radius: 11px;
  border: 2px solid var(--nv-skin-border);
  background: rgba(4, 7, 15, 0.78);
}
.nv-stake-inp-shell .nv-stake-inp {
  border: none;
  background: transparent;
  padding: 0;
  height: 30px;
  font-size: 20px;
}
.nv-stake-inp-suffix {
  font-size: 11.5px;
  font-weight: 800;
  color: var(--nv-skin-ink-dim);
  white-space: nowrap;
  flex-shrink: 0;
}
.nv-stake-inp {
  flex: 1;
  min-width: 0;
  height: 38px;
  padding: 0 10px;
  border-radius: 10px;
  border: 1.5px solid var(--nv-skin-border);
  background: rgba(0, 0, 0, 0.52);
  color: #fff8e6;
  outline: none;
  font-family: "NovaNumeral", "NovaNumSerif", monospace;
  font-size: 17px;
  font-weight: 900;
}
.nv-stake-preview {
  padding: 8px 10px;
  border-radius: 10px;
  background: rgba(0, 0, 0, 0.38);
  border: 1px solid var(--nv-skin-border-soft);
  font-size: 12px;
  line-height: 1.48;
  margin-bottom: 10px;
}
.nv-stake-hl {
  color: #ffd875;
  font-weight: 900;
}
.nv-stake-warn {
  margin-top: 3px;
  font-size: 11px;
  font-weight: 800;
  color: #fbbf24;
}
.nv-stake-confirm-btn {
  width: 100%;
  height: 42px;
  border-radius: 11px;
  border: 1.5px solid #ffe08a;
  background-image: var(--nv-skin-btn-jpg-main);
  background-size: 100% 100%;
  color: #fffef5;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.85);
  font-family: "NovaTitleSerif", "Noto Sans SC", serif;
  font-size: 14.5px;
  font-weight: 900;
  cursor: pointer;
}

/* 千里江山青绿白玉皮肤：温润羊脂白玉内板 + 松烟墨/朱砂红高对比刻字 */
body[data-nova-skin="qianli"] .nv-stake-modal-card {
  background: linear-gradient(180deg, #fffdf8 0%, #f3ebd8 68%, #e2d5ba 100%);
  border-color: #c59b27;
  color: #103029;
  box-shadow: 0 20px 46px rgba(0, 0, 0, 0.72), inset 0 2px 0 #ffffff;
}
body[data-nova-skin="qianli"] .nv-stake-modal-card .nv-skin-modal-title {
  font-family: "NovaKai", "NovaTitleSerif", "Noto Sans SC", serif;
  color: #8f1414;
  text-shadow: none;
}
body[data-nova-skin="qianli"] .nv-stake-modal-card .nv-skin-close-btn {
  background: rgba(16, 48, 41, 0.1);
  border-color: #c59b27;
  color: #103029;
}
body[data-nova-skin="qianli"] .nv-stake-tabs {
  background: rgba(15, 62, 55, 0.12);
  border-color: rgba(197, 155, 39, 0.55);
}
body[data-nova-skin="qianli"] .nv-stake-tab {
  color: #265348;
}
body[data-nova-skin="qianli"] .nv-stake-tab.active[data-stmode="pct"] {
  background: url("../assets/ui/jackpot_wheel/btn_qianli_celadon.jpg") center / 100% 100% no-repeat;
  border-color: #d4af37;
  color: #fffbeb;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.85);
}
body[data-nova-skin="qianli"] .nv-stake-tab.active[data-stmode="fixed"] {
  background: url("../assets/ui/jackpot_wheel/btn_qianli_cinnabar.jpg") center / 100% 100% no-repeat;
  border-color: #fef08a;
  color: #fffbeb;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.85);
}
body[data-nova-skin="qianli"] .nv-stake-qbtn {
  background: radial-gradient(circle at 50% 35%, #ffffff 0%, #f3ede0 70%, #dfd2b7 100%);
  border-color: #c59b27;
  color: #103029;
}
body[data-nova-skin="qianli"] .nv-stake-qbtn.active {
  background: linear-gradient(180deg, #fef9c3, #fde68a);
  border: 1.5px solid #991b1b;
  color: #7c2d12;
}
body[data-nova-skin="qianli"] .nv-stake-inp,
body[data-nova-skin="qianli"] .nv-stake-inp-shell {
  background: #ffffff;
  border-color: #c59b27;
  color: #103029;
  box-shadow: inset 0 2px 5px rgba(16, 48, 41, 0.1);
}
body[data-nova-skin="qianli"] .nv-stake-inp-shell .nv-stake-inp {
  background: transparent;
  box-shadow: none;
}
body[data-nova-skin="qianli"] .nv-stake-inp-suffix {
  color: #265348;
}
body[data-nova-skin="qianli"] .nv-stake-preview {
  background: rgba(16, 82, 72, 0.08);
  border-color: rgba(197, 155, 39, 0.65);
  color: #164e48;
}
body[data-nova-skin="qianli"] .nv-stake-hl {
  color: #991b1b;
}
body[data-nova-skin="qianli"] .nv-stake-warn {
  color: #b45309;
}
.cap-disabled {
  opacity: 0.45 !important;
  filter: grayscale(0.45);
}

/* 适老/护眼大字模式联动放大 */
body.nova-bigfont-on .cm-formula-eq,
body.nova-bigfont-on .pvp-formula-eq {
  font-size: 21px !important;
}
body.nova-bigfont-on .cm-chip-btn,
body.nova-bigfont-on .cm-act-btn {
  font-size: 14.5px !important;
}

/* ==================== 7. 全游统一 3D 黑曜鎏金自研数字小键盘（零系统输入法挤压 · V1 首版锁死黑曜鎏金） ==================== */
.nv-numpad-mask {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 13600;
  background: rgba(3, 7, 16, 0.78);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px;
}
.nv-numpad-mask[hidden] {
  display: none !important;
}

/* 统一锁定 3D 黑曜鎏金精雕面板（包含 NovaNumPad 与 NovaBettingKit 弹窗） */
.nv-kp-card,
body[data-nova-skin] #novaUnifiedStakeModal .nv-stake-modal-card {
  width: min(358px, 94vw) !important;
  max-height: 92vh;
  max-height: calc(var(--app-vh, 100vh) - 18px);
  max-height: 92dvh;
  overflow-y: auto;
  overflow-x: hidden;
  border-radius: 16px !important;
  border: 2px solid #c99d2e !important;
  background: linear-gradient(180deg, #101b2d 0%, #09111f 58%, #060b15 100%) !important;
  box-shadow:
    0 22px 54px rgba(0, 0, 0, 0.92),
    0 0 0 1px rgba(254, 240, 138, 0.2),
    inset 0 1px 0 rgba(254, 240, 138, 0.42),
    inset 0 -2px 6px rgba(0, 0, 0, 0.85) !important;
  padding: 11px 12px 12px !important;
  color: #f8fafc !important;
  user-select: none;
  -webkit-user-select: none;
}

body[data-nova-skin] #novaUnifiedStakeModal .nv-skin-modal-title,
.nv-kp-head-title {
  font-family: "NovaTitleSerif", "Noto Sans SC", sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 900 !important;
  color: #fde68a !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.88) !important;
}

body[data-nova-skin] #novaUnifiedStakeModal .nv-skin-close-btn,
.nv-kp-close-btn {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 1px solid rgba(250, 204, 21, 0.42) !important;
  background: rgba(255, 255, 255, 0.07) !important;
  color: #f8fafc !important;
  font-size: 14px;
  font-weight: 900;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.nv-kp-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(201, 157, 46, 0.25);
}

body[data-nova-skin] #novaUnifiedStakeModal .nv-stake-tabs,
.nv-kp-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5px;
  margin: 8px 0;
  padding: 3px;
  border-radius: 10px;
  background: rgba(4, 8, 16, 0.82) !important;
  border: 1px solid rgba(201, 157, 46, 0.35) !important;
}

body[data-nova-skin] #novaUnifiedStakeModal .nv-stake-tab,
.nv-kp-tab {
  height: 32px;
  border-radius: 7px;
  border: 1px solid transparent;
  background: transparent !important;
  color: #94a9c9 !important;
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  white-space: nowrap;
}

body[data-nova-skin] #novaUnifiedStakeModal .nv-stake-tab.active,
.nv-kp-tab.active {
  border-color: #facc15 !important;
  background: linear-gradient(180deg, rgba(161, 114, 18, 0.65) 0%, rgba(78, 51, 6, 0.82) 100%) !important;
  color: #fffbeb !important;
  box-shadow: inset 0 1px 0 rgba(254, 240, 138, 0.45);
}

/* 3D 黑曜鎏金数字显示屏 */
.nv-kp-display {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 12px;
  margin: 6px 0 8px;
  border-radius: 12px;
  border: 1.5px solid rgba(212, 175, 55, 0.68);
  background: linear-gradient(180deg, rgba(5, 10, 20, 0.96) 0%, rgba(11, 22, 40, 0.94) 100%);
  box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.85), 0 0 14px rgba(246, 200, 95, 0.12);
}

.nv-kp-disp-ico {
  width: 24px !important;
  height: 24px !important;
  max-width: 24px !important;
  max-height: 24px !important;
  object-fit: contain;
  flex-shrink: 0;
  filter: drop-shadow(0 2px 6px rgba(250, 204, 21, 0.35));
}

.nv-kp-disp-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 8px;
  border: 1px solid rgba(250, 204, 21, 0.55);
  background: linear-gradient(180deg, #3a2a0a, #1d1404);
  color: #fde047;
  font-size: 13px;
  font-weight: 900;
  flex-shrink: 0;
}

.nv-kp-disp-right {
  flex: 1 1 auto;
  min-width: 0;
  text-align: right;
}

.nv-kp-disp-val {
  font-family: "NovaNumeral", "NovaNumSerif", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 24px;
  font-weight: 900;
  line-height: 1.12;
  color: #ffe699;
  text-shadow: 0 0 12px rgba(250, 204, 21, 0.32);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.nv-kp-disp-val::after {
  content: "";
  display: inline-block;
  width: 2px;
  height: 19px;
  margin-left: 3px;
  vertical-align: -2px;
  background: #facc15;
  animation: nvKpCaretBlink 1.05s steps(2, start) infinite;
}

@keyframes nvKpCaretBlink {
  0%, 49% { opacity: 1; }
  50%, 100% { opacity: 0; }
}

.nv-kp-disp-sub {
  margin-top: 3px;
  font-size: 10.5px;
  font-weight: 700;
  color: #94a9c9;
  line-height: 1.32;
  font-variant-numeric: tabular-nums;
}
.nv-kp-disp-sub b {
  color: #fde68a;
}
.nv-kp-sub-line {
  display: block;
  margin-top: 1px;
  word-break: keep-all;
}
.nv-kp-cap-inline {
  color: #fbbf24;
  font-weight: 800;
}
.nv-kp-disp-warn {
  margin-top: 2px;
  font-size: 10.5px;
  font-weight: 800;
  color: #fbbf24;
}

/* 5 档快捷药丸栏 */
.nv-kp-chips {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 5px;
  margin-bottom: 8px;
}

.nv-kp-chip {
  height: 29px;
  border-radius: 8px;
  border: 1px solid rgba(212, 175, 55, 0.48);
  background: linear-gradient(180deg, #272213 0%, #151209 100%);
  color: #fde68a;
  font-size: 11px;
  font-weight: 900;
  cursor: pointer;
  padding: 0 2px;
  white-space: nowrap;
  box-shadow: inset 0 1px 0 rgba(254, 240, 138, 0.22);
}
.nv-kp-chip:active,
.nv-kp-chip.active {
  border-color: #fde047;
  background: linear-gradient(180deg, #6b4e11 0%, #3b2906 100%);
  color: #fffbeb;
  transform: scale(0.97);
}

/* 4×4 3D 钛黑金属数字键阵 */
.nv-kp-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
}

.nv-kp-key {
  height: 42px;
  border-radius: 10px;
  border: 1px solid rgba(148, 169, 201, 0.28);
  background: linear-gradient(180deg, #2a3447 0%, #161d2b 65%, #101520 100%);
  color: #f8fafc;
  font-family: "NovaNumeral", "NovaNumSerif", system-ui, sans-serif;
  font-size: 18px;
  font-weight: 900;
  cursor: pointer;
  box-shadow:
    0 3px 0 #070b12,
    inset 0 1px 0 rgba(255, 255, 255, 0.18);
  -webkit-tap-highlight-color: transparent;
}
.nv-kp-key.fn-key {
  border-color: rgba(212, 175, 55, 0.42);
  background: linear-gradient(180deg, #2e2a1f 0%, #191711 100%);
  color: #fde68a;
  font-size: 13.5px;
}
.nv-kp-key:active {
  transform: translateY(1px) scale(0.985);
  border-color: #facc15;
  box-shadow: 0 1px 0 #070b12, inset 0 0 8px rgba(250, 204, 21, 0.28);
}
.nv-kp-key:disabled {
  opacity: 0.38;
  cursor: not-allowed;
}

.nv-kp-confirm {
  grid-column: span 2;
  height: 42px;
  border-radius: 10px;
  border: 1.5px solid #fef08a;
  background: linear-gradient(180deg, #ffe27a 0%, #f5b82e 55%, #ca8a04 100%);
  color: #2c1800;
  font-size: 14.5px;
  font-weight: 900;
  letter-spacing: 0.02em;
  cursor: pointer;
  box-shadow:
    0 3px 0 #713f12,
    0 4px 14px rgba(234, 179, 8, 0.38),
    inset 0 1px 0 #ffffff;
  -webkit-tap-highlight-color: transparent;
}
.nv-kp-confirm:active {
  transform: translateY(1px) scale(0.986);
}

/* 隐藏已接管弹窗内的旧原生键盘框（保留 DOM 兼容外部读写） */
.nv-kp-hidden-native {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
  overflow: hidden !important;
}
