/* ════════════════════════════════════════════════════════════
   global.css  —  全站通用基础样式
   包含：CSS 变量、重置、导航栏、底部备案、星云层、工具类
   ════════════════════════════════════════════════════════════ */

/* ─── 自托管字体：Orbitron / Rajdhani / Futurak / Xszt ─── */
/* Orbitron (variable weight 400-900, latin) */
@font-face {
  font-family: 'Orbitron';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url('../fonts/orbitron-v35.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Rajdhani 400 */
@font-face { font-family: 'Rajdhani'; font-style: normal; font-weight: 400; font-display: swap;
  src: url('../fonts/rajdhani-v17-w400-devanagari.woff2') format('woff2');
  unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09; }
@font-face { font-family: 'Rajdhani'; font-style: normal; font-weight: 400; font-display: swap;
  src: url('../fonts/rajdhani-v17-w400-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Rajdhani'; font-style: normal; font-weight: 400; font-display: swap;
  src: url('../fonts/rajdhani-v17-w400-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
/* Rajdhani 500 */
@font-face { font-family: 'Rajdhani'; font-style: normal; font-weight: 500; font-display: swap;
  src: url('../fonts/rajdhani-v17-w500-devanagari.woff2') format('woff2');
  unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09; }
@font-face { font-family: 'Rajdhani'; font-style: normal; font-weight: 500; font-display: swap;
  src: url('../fonts/rajdhani-v17-w500-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Rajdhani'; font-style: normal; font-weight: 500; font-display: swap;
  src: url('../fonts/rajdhani-v17-w500-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
/* Rajdhani 600 */
@font-face { font-family: 'Rajdhani'; font-style: normal; font-weight: 600; font-display: swap;
  src: url('../fonts/rajdhani-v17-w600-devanagari.woff2') format('woff2');
  unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09; }
@font-face { font-family: 'Rajdhani'; font-style: normal; font-weight: 600; font-display: swap;
  src: url('../fonts/rajdhani-v17-w600-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Rajdhani'; font-style: normal; font-weight: 600; font-display: swap;
  src: url('../fonts/rajdhani-v17-w600-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
/* Rajdhani 700 */
@font-face { font-family: 'Rajdhani'; font-style: normal; font-weight: 700; font-display: swap;
  src: url('../fonts/rajdhani-v17-w700-devanagari.woff2') format('woff2');
  unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09; }
@font-face { font-family: 'Rajdhani'; font-style: normal; font-weight: 700; font-display: swap;
  src: url('../fonts/rajdhani-v17-w700-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Rajdhani'; font-style: normal; font-weight: 700; font-display: swap;
  src: url('../fonts/rajdhani-v17-w700-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* ─── Futurak 自托管字体 ─── */
@font-face {
  font-family: 'Futurak';
  src: url('../fonts/futurak.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Xszt';
  src: url('../fonts/xszt.woff2') format('woff2'),
       url('../fonts/xszt.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

/* ─── CSS 全局变量 ─── */
:root {
  /* 背景色 */
  --c-bg:       #07080f;
  --c-bg2:      #0d101e;
  --c-card:     rgba(8, 14, 30, 0.72);
  --c-card-hov: rgba(0, 212, 255, 0.06);

  /* 辉光色系 */
  --c-cyan:       #00d4ff;
  --c-cyan-dim:   rgba(0, 212, 255, 0.35);
  --c-cyan-faint: rgba(0, 212, 255, 0.1);
  --c-purple:     #8b5cf6;
  --c-purple-dim: rgba(139, 92, 246, 0.35);
  --c-teal:       #00ffcc;

  /* 排名辉光 */
  --c-gold:    #ffd700;
  --c-silver:  #c0d0e8;
  --c-bronze:  #cd8c46;

  /* 文字 */
  --c-text:   #b0cae8;
  --c-text2:  #607898;
  --c-text3:  #324560;
  --c-white:  #e8f4ff;

  /* 辉光预设 */
  --glow-c-sm:  0 0 8px rgba(0,212,255,.55), 0 0 16px rgba(0,212,255,.3);
  --glow-c-md:  0 0 15px rgba(0,212,255,.65), 0 0 35px rgba(0,212,255,.4), 0 0 70px rgba(0,212,255,.18);
  --glow-c-lg:  0 0 25px rgba(0,212,255,.8), 0 0 55px rgba(0,212,255,.55), 0 0 100px rgba(0,212,255,.28);
  --glow-p-md:  0 0 15px rgba(139,92,246,.65), 0 0 35px rgba(139,92,246,.4), 0 0 70px rgba(139,92,246,.18);

  /* 字体 — Futurak 仅用于首页大字 + logo-title，其余恢复默认 */
  --f-sci:  'Orbitron', 'Rajdhani', sans-serif;
  --f-body: 'Rajdhani', 'Noto Sans SC', 'PingFang SC', 'Microsoft YaHei', sans-serif;
  --f-cn:   'Noto Sans SC', 'PingFang SC', 'Microsoft YaHei', sans-serif;

  /* 暗金色系（做旧风格） */
  --c-gold-bright:  #d4a84a;
  --c-gold-mid:     rgba(192,148,58,0.88);
  --c-gold-dim:     rgba(162,118,42,0.45);
  --c-gold-faint:   rgba(135,98,32,0.18);
  --c-rust:         rgba(120,72,28,0.55);
  --c-bg-warm:      #09080c;

  /* 榜单页面专用变量 */
  --c-lb-card:        rgba(12,8,2,.82);
  --c-lb-border:      rgba(185,142,52,.18);
  --c-lb-border-light: rgba(185,142,52,.06);
  --c-lb-hover:       rgba(185,142,52,.12);
  --c-lb-hover-glow:  rgba(185,142,52,.08);
  --c-lb-header-bg:   linear-gradient(90deg, rgba(185,142,52,.10) 0%, rgba(140,95,20,.06) 100%);
  --c-lb-header-border: rgba(185,142,52,.22);

  /* 圆角 */
  --r-sm: 4px;
  --r-md: 8px;
  --r-lg: 14px;

  /* 过渡 */
  --ease-fast: .18s ease;
  --ease-med:  .35s ease;
  --ease-slow: .65s cubic-bezier(.22,.68,0,1.2);
}

/* ─── 全局重置 ─── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { font-size: 16px; scroll-behavior: smooth; }
/* 非首页内容区：字号整体提升一档（约 +10%） */
.page-wrap { font-size: 17.6px; }
body {
  background: var(--c-bg);
  color: var(--c-text);
  font-family: var(--f-body);
  line-height: 1.65;
  min-height: 100vh;
  overflow-x: hidden;
}
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }

/* ─── 星空 Canvas 背景（position:fixed，全部页面共用） ─── */
#star-canvas {
  position: fixed;
  inset: 0;
  width: 100%; height: 100%;
  z-index: 0;
  pointer-events: none;
}

/* ─── CSS 星云漂移层（叠在 canvas 之上） ─── */
.nebula-bg {
  position: fixed;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  overflow: hidden;
}
.nebula-bg::before {
  content: '';
  position: absolute;
  width: 90vw; height: 90vw;
  border-radius: 50%;
  background: radial-gradient(circle,
    rgba(145,95,25,.16) 0%,
    rgba(90,55,12,.07) 40%,
    transparent 68%);
  top: -30vw; left: -25vw;
  animation: nebulaDrift 42s ease-in-out infinite alternate;
  filter: blur(55px);
}
.nebula-bg::after {
  content: '';
  position: absolute;
  width: 65vw; height: 65vw;
  border-radius: 50%;
  background: radial-gradient(circle,
    rgba(120,75,18,.10) 0%,
    rgba(75,40,10,.05) 45%,
    transparent 70%);
  bottom: -15vw; right: -15vw;
  animation: nebulaDrift 38s ease-in-out infinite alternate-reverse;
  filter: blur(60px);
}
@keyframes nebulaDrift {
  0%   { transform: translate(0,0) scale(1); }
  33%  { transform: translate(4vw, 3vw) scale(1.06); }
  66%  { transform: translate(-3vw, 5vw) scale(.96); }
  100% { transform: translate(5vw,-3vw) scale(1.04); }
}

/* ─── 页面内容层 ─── */
.page-wrap { position: relative; z-index: 10; }

/* ══════════════════════════════════════════════════════════
   导航栏（适用除首页外的所有 6 个页面）
   ══════════════════════════════════════════════════════════ */
.site-nav {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 900;
  height: 70px;
  background: rgba(8,6,3,.92);
  backdrop-filter: blur(26px);
  -webkit-backdrop-filter: blur(26px);
  border-bottom: 1px solid rgba(185,142,52,.22);
  box-shadow:
    0 2px 40px rgba(0,0,0,.72),
    0 1px 0 rgba(185,142,52,.08) inset,
    0 0 60px rgba(120,85,25,.08) inset;
}

.nav-inner {
  display: flex;
  align-items: center;
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 2rem;
  height: 100%;
  gap: 0;
}

/* ── Logo ── */
.nav-logo {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: .28rem;          /* 两行之间留出间距 */
  margin-right: 2.4rem;
  flex-shrink: 0;
  text-decoration: none;
}
.logo-title {
  font-family: 'Futurak', 'Orbitron', sans-serif; /* ★ Futurak 唯一保留处 */
  font-size: 1.18rem;
  font-weight: 700;
  letter-spacing: .08em;
  background: linear-gradient(110deg,
    #c8a040 0%, #e8c86a 35%, #b88030 65%, #d4a848 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  filter: drop-shadow(0 0 10px rgba(195,152,52,.65));
  line-height: 1;
}
.logo-domain {
  font-family: var(--f-sci);
  font-size: .6rem;
  letter-spacing: .08em;
  color: var(--c-text2);
  line-height: 1;
  opacity: .72;
  white-space: nowrap;
  text-align: center;   /* JS 未生效时居中兜底 */
  display: block;
}

/* ── 导航链接区 ── */
.nav-links {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  flex: 1;
}

.nav-item {
  position: relative;
  height: 70px;
  display: flex;
  align-items: center;
}
.nav-item > a {
  display: flex;
  align-items: center;
  height: 100%;
  padding: 0 1.15rem;
  font-family: var(--f-sci);
  font-size: .88rem;
  font-weight: 400;
  letter-spacing: .06em;
  color: rgba(165,130,68,.75);
  white-space: nowrap;
  transition: color .35s ease;
  user-select: none;
  position: relative;
}
/* 悬停 / 激活 底部辉光下划线 */
.nav-item > a::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: .9rem; right: .9rem;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--c-gold-bright), transparent);
  border-radius: 2px 2px 0 0;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .38s cubic-bezier(.22,.68,0,1.2);
}
.nav-item > a:hover { color: var(--c-gold-bright); }
.nav-item > a:hover::before { transform: scaleX(1); }
.nav-item.active > a { color: var(--c-gold-bright); }
.nav-item.active > a::before {
  transform: scaleX(1);
  background: linear-gradient(90deg, transparent, var(--c-gold-bright), transparent);
  box-shadow: 0 0 10px rgba(195,152,52,.75), 0 0 22px rgba(195,152,52,.4);
}

/* 有下拉的按钮显示箭头 */
.nav-item.has-dropdown > a::after {
  content: '▾';
  margin-left: .35rem;
  font-size: .6rem;
  opacity: .55;
  transition: transform .38s cubic-bezier(.22,.68,0,1.2), opacity .3s ease;
}
.nav-item.has-dropdown:hover > a::after {
  transform: rotate(180deg);
  opacity: 1;
}

/* ── 下拉菜单 ── */
.nav-dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 100%;
  background: rgba(10,7,2,.97);
  backdrop-filter: blur(28px);
  -webkit-backdrop-filter: blur(28px);
  border: 1px solid rgba(185,142,52,.22);
  border-top: 2px solid var(--c-gold-bright);
  border-radius: 0 0 2px 2px;
  box-shadow:
    0 14px 55px rgba(0,0,0,.88),
    0 0 22px rgba(185,142,52,.12),
    0 0 55px rgba(120,85,25,.06);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px) scaleY(.88);
  transform-origin: top center;
  transition:
    opacity .35s cubic-bezier(.22,.68,0,1.2),
    visibility .35s ease,
    transform .35s cubic-bezier(.22,.68,0,1.2);
  overflow: hidden;
}
/* 极光背景 */
.nav-dropdown-menu::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 130% 120% at 50% 0%,
    rgba(185,142,52,.10) 0%,
    rgba(120,85,25,.04) 55%,
    transparent 80%);
  pointer-events: none;
  animation: navDropAurora 4.5s ease-in-out infinite alternate;
}
@keyframes navDropAurora {
  0%   { opacity: .65; transform: scale(1); }
  100% { opacity: 1;   transform: scale(1.1) translateY(-4%); }
}
/* 父项悬停时展开 */
.nav-item.has-dropdown:hover .nav-dropdown-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0) scaleY(1);
}
/* 逐项入场动画：用 nth-child(n) 按顺序错开延迟，不再硬编码只覆盖到 3 个 ——
   下拉菜单项数变化(比如功能扩展从3项变4项)时，新增项也能正常入场，不会停在
   opacity:0 变成视觉上"消失的按钮"。这里预留到第 8 项，足够覆盖站内所有下拉菜单。 */
.nav-item.has-dropdown:hover .nav-dropdown-menu a:nth-child(1) {
  animation: navItemIn .28s cubic-bezier(.22,.68,0,1.2) .04s forwards;
}
.nav-item.has-dropdown:hover .nav-dropdown-menu a:nth-child(2) {
  animation: navItemIn .28s cubic-bezier(.22,.68,0,1.2) .10s forwards;
}
.nav-item.has-dropdown:hover .nav-dropdown-menu a:nth-child(3) {
  animation: navItemIn .28s cubic-bezier(.22,.68,0,1.2) .16s forwards;
}
.nav-item.has-dropdown:hover .nav-dropdown-menu a:nth-child(4) {
  animation: navItemIn .28s cubic-bezier(.22,.68,0,1.2) .22s forwards;
}
.nav-item.has-dropdown:hover .nav-dropdown-menu a:nth-child(5) {
  animation: navItemIn .28s cubic-bezier(.22,.68,0,1.2) .28s forwards;
}
.nav-item.has-dropdown:hover .nav-dropdown-menu a:nth-child(6) {
  animation: navItemIn .28s cubic-bezier(.22,.68,0,1.2) .34s forwards;
}
.nav-item.has-dropdown:hover .nav-dropdown-menu a:nth-child(7) {
  animation: navItemIn .28s cubic-bezier(.22,.68,0,1.2) .40s forwards;
}
.nav-item.has-dropdown:hover .nav-dropdown-menu a:nth-child(8) {
  animation: navItemIn .28s cubic-bezier(.22,.68,0,1.2) .46s forwards;
}
@keyframes navItemIn {
  from { opacity: 0; transform: translateY(-5px) translateX(-3px); }
  to   { opacity: 1; transform: translateY(0)   translateX(0); }
}

.nav-dropdown-menu a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  padding: .72rem 1rem;
  font-family: var(--f-sci);
  font-size: .80rem;
  letter-spacing: .06em;
  color: var(--c-text);
  border-bottom: 1px solid rgba(0,212,255,.08);
  position: relative;
  transition:
    color .32s ease,
    background .32s ease,
    box-shadow .32s ease;
  opacity: 0;
  box-shadow: inset 3px 0 0 transparent;
  overflow: hidden;
}
.nav-dropdown-menu a:last-child { border-bottom: none; }
/* 左侧装饰横线 */
.nav-dropdown-menu a::before {
  content: '';
  flex: 1;
  height: 1px;
  background: linear-gradient(to right, transparent, rgba(0,212,255,.32));
  transform: scaleX(.35);
  transform-origin: right;
  transition: transform .38s cubic-bezier(.22,.68,0,1.2), opacity .38s ease;
  opacity: .5;
}
/* 右侧装饰横线 */
.nav-dropdown-menu a::after {
  content: '';
  flex: 1;
  height: 1px;
  background: linear-gradient(to left, transparent, rgba(0,212,255,.32));
  transform: scaleX(.35);
  transform-origin: left;
  transition: transform .38s cubic-bezier(.22,.68,0,1.2), opacity .38s ease;
  opacity: .5;
}
.nav-dropdown-menu a:hover {
  color: var(--c-gold-bright);
  background: rgba(185,142,52,.07);
  box-shadow: inset 3px 0 0 var(--c-gold-bright), inset 8px 0 16px rgba(185,142,52,.10);
}
.nav-dropdown-menu a:hover::before {
  transform: scaleX(1);
  opacity: 1;
  background: linear-gradient(to right, transparent, rgba(185,142,52,.65));
}
.nav-dropdown-menu a:hover::after {
  transform: scaleX(1);
  opacity: 1;
  background: linear-gradient(to left, transparent, rgba(185,142,52,.65));
}

/* ── 查看提交规则按钮包装器 ── */
.nav-rules-wrap {
  position: relative;
  flex-shrink: 0;
  margin-right: .55rem;
}

/* ── 查看提交规则按钮本体 ── */
.nav-rules {
  display: inline-flex;
  align-items: center;
  gap: .32rem;
  padding: .45rem 1.1rem;
  font-family: var(--f-sci);
  font-size: .82rem;
  font-weight: 400;
  letter-spacing: .09em;
  /* 默认亮度对齐"提交成绩"按钮(var(--c-gold-bright))，原为 --c-gold-mid 偏暗 */
  color: var(--c-gold-bright);
  border: 1px solid var(--c-gold-dim);
  border-radius: 1px;
  background: rgba(162,118,42,.07);
  transition:
    color .5s cubic-bezier(.22,.68,0,1.2),
    background .5s cubic-bezier(.22,.68,0,1.2),
    border-color .5s cubic-bezier(.22,.68,0,1.2),
    box-shadow .5s cubic-bezier(.22,.68,0,1.2),
    transform .5s cubic-bezier(.22,.68,0,1.2);
  white-space: nowrap;
  position: relative;
  overflow: hidden;
  cursor: pointer;
}
/* 扫光层 */
.nav-rules::before {
  content: '';
  position: absolute;
  inset: -10%;
  width: 40%;
  background: linear-gradient(105deg,
    transparent 20%,
    rgba(139,92,246,.55) 50%,
    rgba(255,255,255,.18) 55%,
    transparent 80%);
  transform: translateX(-160%) skewX(-15deg);
  transition: transform .65s ease;
  pointer-events: none;
}
/* 下箭头 */
.nav-rules::after {
  content: '▾';
  font-size: .58rem;
  opacity: .7;
  transition: transform .4s cubic-bezier(.22,.68,0,1.2), opacity .3s ease;
  display: inline-block;
}
.nav-rules-wrap:hover .nav-rules {
  color: #fde68a;
  background: rgba(162,118,42,.32);
  border-color: var(--c-gold-bright);
  box-shadow:
    0 0 12px rgba(195,152,52,.45),
    0 0 28px rgba(185,142,52,.22);
  transform: translateY(-1px);
}
.nav-rules-wrap:hover .nav-rules::before {
  transform: translateX(360%) skewX(-15deg);
}
.nav-rules-wrap:hover .nav-rules::after {
  transform: rotate(180deg);
  opacity: 1;
}

/* ── 提交规则下拉菜单 ── */
.nav-rules-dropdown {
  position: absolute;
  top: calc(100% + 3px);
  left: 0;
  min-width: 100%;
  background: rgba(10,7,2,.97);
  backdrop-filter: blur(32px);
  -webkit-backdrop-filter: blur(32px);
  border: 1px solid rgba(185,142,52,.38);
  border-top: 2px solid var(--c-gold-bright);
  border-radius: 0 0 2px 2px;
  box-shadow:
    0 14px 55px rgba(0,0,0,.88),
    0 0 25px rgba(185,142,52,.18),
    0 0 60px rgba(120,85,25,.08);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px) scaleY(.88);
  transform-origin: top center;
  transition:
    opacity .38s cubic-bezier(.22,.68,0,1.2),
    visibility .38s ease,
    transform .38s cubic-bezier(.22,.68,0,1.2);
  overflow: hidden;
  z-index: 999;
}
.nav-rules-dropdown::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 130% 120% at 50% 0%,
    rgba(185,142,52,.10) 0%,
    rgba(120,85,25,.04) 55%,
    transparent 80%);
  pointer-events: none;
  animation: dropdownAurora 4s ease-in-out infinite alternate;
}
@keyframes dropdownAurora {
  0%   { opacity: .7; transform: scale(1); }
  100% { opacity: 1;  transform: scale(1.08) translateY(-3%); }
}
.nav-rules-wrap:hover .nav-rules-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0) scaleY(1);
}
/* 下拉选项 */
.nav-rules-dropdown a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  padding: .72rem 1rem;
  font-family: var(--f-sci);
  font-size: .82rem;
  letter-spacing: .09em;
  color: rgba(185,155,85,.8);
  border-bottom: 1px solid rgba(185,142,52,.10);
  position: relative;
  transition: color .35s ease, background .35s ease, box-shadow .35s ease;
  opacity: 0;
  cursor: pointer;
  box-shadow: inset 3px 0 0 transparent;
}
.nav-rules-dropdown a:last-child { border-bottom: none; }
/* 左侧装饰横线 */
.nav-rules-dropdown a::before {
  content: '';
  flex: 1;
  height: 1px;
  background: linear-gradient(to right, transparent, rgba(139,92,246,.38));
  transform: scaleX(.35);
  transform-origin: right;
  transition: transform .38s cubic-bezier(.22,.68,0,1.2), opacity .38s ease;
  opacity: .55;
}
/* 右侧装饰横线 */
.nav-rules-dropdown a::after {
  content: '';
  flex: 1;
  height: 1px;
  background: linear-gradient(to left, transparent, rgba(139,92,246,.38));
  transform: scaleX(.35);
  transform-origin: left;
  transition: transform .38s cubic-bezier(.22,.68,0,1.2), opacity .38s ease;
  opacity: .55;
}
.nav-rules-dropdown a:hover {
  color: var(--c-gold-bright);
  background: rgba(185,142,52,.07);
  box-shadow: inset 3px 0 0 var(--c-gold-bright), inset 8px 0 16px rgba(185,142,52,.10);
}
.nav-rules-dropdown a:hover::before {
  transform: scaleX(1); opacity: 1;
  background: linear-gradient(to right, transparent, rgba(185,142,52,.65));
}
.nav-rules-dropdown a:hover::after {
  transform: scaleX(1); opacity: 1;
  background: linear-gradient(to left, transparent, rgba(185,142,52,.65));
}

/* 下拉菜单展开时逐项入场 */
.nav-rules-wrap:hover .nav-rules-dropdown a:nth-child(1) {
  animation: ruleItemIn .3s cubic-bezier(.22,.68,0,1.2) .06s forwards;
}
.nav-rules-wrap:hover .nav-rules-dropdown a:nth-child(2) {
  animation: ruleItemIn .3s cubic-bezier(.22,.68,0,1.2) .13s forwards;
}
.nav-rules-wrap:hover .nav-rules-dropdown a:nth-child(3) {
  animation: ruleItemIn .3s cubic-bezier(.22,.68,0,1.2) .20s forwards;
}
.nav-rules-wrap:hover .nav-rules-dropdown a:nth-child(4) {
  animation: ruleItemIn .3s cubic-bezier(.22,.68,0,1.2) .27s forwards;
}
@keyframes ruleItemIn {
  from { opacity: 0; transform: translateY(-6px) translateX(-4px); }
  to   { opacity: 1; transform: translateY(0)  translateX(0); }
}

/* ── 提交成绩按钮 ── */
.nav-submit {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .45rem 1.3rem;
  font-family: var(--f-sci);
  font-size: .82rem;
  font-weight: 400;
  letter-spacing: .1em;
  color: var(--c-gold-bright);
  border: 1px solid var(--c-gold-dim);
  border-radius: 1px;
  background: rgba(162,118,42,.07);
  transition:
    color .5s cubic-bezier(.22,.68,0,1.2),
    background .5s cubic-bezier(.22,.68,0,1.2),
    border-color .5s cubic-bezier(.22,.68,0,1.2),
    box-shadow .5s cubic-bezier(.22,.68,0,1.2),
    transform .5s cubic-bezier(.22,.68,0,1.2);
  white-space: nowrap;
  flex-shrink: 0;
  position: relative;
  overflow: hidden;
}
/* 扫光层 */
.nav-submit::before {
  content: '';
  position: absolute;
  inset: -10%;
  width: 40%;
  background: linear-gradient(105deg,
    transparent 20%,
    rgba(0,212,255,.55) 50%,
    rgba(255,255,255,.2) 55%,
    transparent 80%);
  transform: translateX(-160%) skewX(-15deg);
  transition: transform .65s ease;
  pointer-events: none;
}
.nav-submit:hover {
  color: #100800;
  background: rgba(210,165,58,.88);
  border-color: var(--c-gold-bright);
  transform: translateY(-1px);
  animation: submitPulse 2.2s ease-in-out infinite;
}
.nav-submit:hover::before {
  transform: translateX(360%) skewX(-15deg);
}
@keyframes submitPulse {
  0%,100% {
    box-shadow:
      0 0 10px rgba(195,152,52,.75),
      0 0 28px rgba(185,142,48,.45),
      0 0 65px rgba(155,115,35,.22);
  }
  50% {
    box-shadow:
      0 0 16px rgba(210,168,62,1),
      0 0 42px rgba(195,152,52,.65),
      0 0 90px rgba(155,115,35,.35);
  }
}

/* ── 汉堡菜单（移动端） ── */
.nav-hamburger {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 36px; height: 36px;
  background: none;
  border: none;
  cursor: pointer;
  margin-left: auto;
  padding: 4px;
  flex-shrink: 0;
}
.nav-hamburger span {
  display: block;
  width: 100%; height: 1.5px;
  background: var(--c-text);
  border-radius: 2px;
  transition: all .3s ease;
}
.nav-hamburger.open span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
.nav-hamburger.open span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.nav-hamburger.open span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }

/* ══════════════════════════════════════════════════════════
   底部备案区（通用，首页通过 .home-footer 类控制显示）
   ══════════════════════════════════════════════════════════ */
.site-footer {
  position: relative;
  z-index: 10;
  padding: 2.5rem 1rem 2rem;
  text-align: center;
  border-top: 1px solid rgba(0,212,255,.07);
  margin-top: 5rem;
}
.site-footer a,
.site-footer p {
  color: rgba(176, 202, 232, 0.55);
  font-size: .88rem;
  font-family: 'Microsoft YaHei', 'PingFang SC', 'Noto Sans SC', sans-serif;
  letter-spacing: .06em;
  display: block;
  line-height: 2;
  transition: color var(--ease-fast), text-shadow var(--ease-fast);
}
.site-footer a:hover {
  color: #e8c264;
  text-shadow: 0 0 8px rgba(232,194,100,.75), 0 0 20px rgba(232,194,100,.38);
}
.site-footer p a { display: inline; }
.site-footer p:last-child { margin-top: .8em; }
.beian-row {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: .4rem .7rem;
}
.beian-row a { display: inline; white-space: nowrap; }
.beian-icon {
  width: 16px;
  height: 16px;
  vertical-align: middle;
  flex-shrink: 0;
}
@media (max-width: 480px) {
  .beian-row {
    flex-direction: column;
    gap: .25rem;
  }
  .beian-row .beian-icon { display: none; }
}

/* ══════════════════════════════════════════════════════════
   移动端响应式（≤860px）
   手机端只保留 logo + 汉堡按钮，导航内容由新抽屉接管
   ══════════════════════════════════════════════════════════ */
@media (max-width: 860px) {
  /* 显示汉堡按钮 */
  .nav-hamburger { display: flex; }

  /* 旧的 nav-links 抽屉：完全隐藏，由新移动端抽屉取代 */
  .nav-links { display: none !important; }

  /* 隐藏"查看提交规则"方块按钮 */
  .nav-rules-wrap { display: none !important; }

  /* 隐藏"提交成绩"按钮 */
  .nav-submit { display: none !important; }

  /* nav-inner：logo 靠左，汉堡靠右 */
  .nav-inner {
    padding: 0 1rem;
    justify-content: space-between;
  }

  /* 超级面板在移动端隐藏 */
  .nav-more-btn      { display: none; }
  .super-nav-panel   { display: none !important; }
  .super-nav-overlay { display: none !important; }

  /* 举报/公示按钮组：移动端间距调整 */
  .report-wrap { gap: .7rem; padding: 0 1rem; }
}

/* ══════════════════════════════════════════════════════════
   举报违规 + 作弊公示 双按钮（全站通用）
   ══════════════════════════════════════════════════════════ */
.report-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.4rem;
  margin: 3rem 0 3rem;
  flex-wrap: wrap;
}
.report-btn {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .55rem 1.8rem;
  font-family: var(--f-sci);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .18em;
  color: #ff4d6d;
  border: 1px solid rgba(255,77,109,.35);
  border-radius: var(--r-sm);
  background: rgba(255,77,109,.06);
  cursor: pointer;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  transition: color .45s cubic-bezier(.22,.68,0,1.2), border-color .45s ease,
    background .45s ease, box-shadow .45s ease, transform .45s cubic-bezier(.22,.68,0,1.2);
  white-space: nowrap;
}
.report-btn::before {
  content: '';
  position: absolute;
  inset: -10%;
  width: 40%;
  background: linear-gradient(105deg, transparent 20%, rgba(255,77,109,.45) 50%,
    rgba(255,255,255,.15) 55%, transparent 80%);
  transform: translateX(-160%) skewX(-15deg);
  transition: transform .65s ease;
  pointer-events: none;
}
.report-btn::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(135deg, rgba(255,77,109,.18) 0%, transparent 50%, rgba(255,77,109,.08) 100%);
  pointer-events: none;
}
.report-btn:hover {
  color: #fff;
  border-color: #ff4d6d;
  background: rgba(255,77,109,.18);
  transform: translateY(-2px);
  animation: reportPulse 2s ease-in-out infinite;
}
.report-btn:hover::before { transform: translateX(360%) skewX(-15deg); }
.report-btn:hover .hover-text-swap .text-cn { opacity: 0; }
.report-btn:hover .hover-text-swap .text-en { opacity: 1; }
@keyframes reportPulse {
  0%,100% {
    box-shadow: 0 0 10px rgba(255,77,109,.7), 0 0 25px rgba(255,77,109,.45),
      0 0 55px rgba(255,77,109,.22), 0 0 90px rgba(255,77,109,.1);
  }
  50% {
    box-shadow: 0 0 16px rgba(255,77,109,.9), 0 0 38px rgba(255,77,109,.65),
      0 0 80px rgba(255,77,109,.35), 0 0 130px rgba(255,77,109,.15);
  }
}
.report-icon {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  transition: transform .4s cubic-bezier(.22,.68,0,1.2);
}
.report-btn:hover .report-icon { transform: rotate(20deg) scale(1.15); }

.shame-btn {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .55rem 1.8rem;
  font-family: var(--f-sci);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .18em;
  color: #ffd700;
  border: 1px solid rgba(255,215,0,.32);
  border-radius: var(--r-sm);
  background: rgba(255,215,0,.05);
  cursor: pointer;
  text-decoration: none;
  /* 关键：必须有 position:relative 才能让 shame-en 的 absolute 正确定位 */
  position: relative;
  overflow: hidden;
  transition: color .45s cubic-bezier(.22,.68,0,1.2), border-color .45s ease,
    background .45s ease, box-shadow .45s ease, transform .45s cubic-bezier(.22,.68,0,1.2);
  white-space: nowrap;
}
.shame-btn::before {
  content: '';
  position: absolute;
  inset: -10%;
  width: 40%;
  background: linear-gradient(105deg, transparent 20%, rgba(255,215,0,.45) 50%,
    rgba(255,255,255,.18) 55%, transparent 80%);
  transform: translateX(-160%) skewX(-15deg);
  transition: transform .65s ease;
  pointer-events: none;
}
.shame-btn::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(135deg, rgba(255,215,0,.15) 0%, transparent 50%, rgba(255,215,0,.07) 100%);
  pointer-events: none;
}
.shame-btn:hover {
  color: #fff8dc;
  border-color: #ffd700;
  background: rgba(255,215,0,.15);
  transform: translateY(-2px);
  animation: shamePulse 2s ease-in-out infinite;
}
.shame-btn:hover::before { transform: translateX(360%) skewX(-15deg); }
@keyframes shamePulse {
  0%,100% {
    box-shadow: 0 0 10px rgba(255,215,0,.65), 0 0 25px rgba(255,215,0,.4),
      0 0 55px rgba(255,215,0,.2), 0 0 90px rgba(255,215,0,.08);
  }
  50% {
    box-shadow: 0 0 16px rgba(255,215,0,.9), 0 0 38px rgba(255,215,0,.6),
      0 0 80px rgba(255,215,0,.3), 0 0 130px rgba(255,215,0,.12);
  }
}
/* ── 作弊公示 <-> Ban List 文字切换 ── */
/* shame-text-wrap 包裹文字部分（不含图标），用于切换 */
.shame-btn .shame-text-wrap {
  position: relative;
  display: inline-grid;   /* grid让cn和en占同一个格子，高度由cn撑开 */
  place-items: center;
}
.shame-btn .shame-cn {
  grid-area: 1/1;         /* cn占第1格，撑开容器高度 */
  display: block;
  transition: opacity .25s ease, transform .25s cubic-bezier(.22,.68,0,1.2);
}
.shame-btn .shame-en {
  grid-area: 1/1;         /* en也占第1格，完全叠放在cn上方 */
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transform: translateY(6px);   /* 初始：在正确位置基础上向下偏6px */
  transition: opacity .25s ease, transform .25s cubic-bezier(.22,.68,0,1.2);
  font-size: .72rem;
  letter-spacing: .14em;
  white-space: nowrap;
  pointer-events: none;
}
.shame-btn:hover .shame-cn {
  opacity: 0;
  transform: translateY(-6px);
}
.shame-btn:hover .shame-en {
  opacity: 1;
  transform: translateY(0);     /* hover：回到正确位置，不偏移 */
}


.shame-icon {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  transition: transform .4s cubic-bezier(.22,.68,0,1.2);
}
.shame-btn:hover .shame-icon { transform: scale(1.18) rotate(-10deg); }

.log-btn {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .55rem 1.8rem;
  font-family: var(--f-sci);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .18em;
  color: #00d4ff;
  border: 1px solid rgba(0,212,255,.32);
  border-radius: var(--r-sm);
  background: rgba(0,212,255,.05);
  cursor: pointer;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  transition: color .45s cubic-bezier(.22,.68,0,1.2), border-color .45s ease,
    background .45s ease, box-shadow .45s ease, transform .45s cubic-bezier(.22,.68,0,1.2);
  white-space: nowrap;
}
.log-btn::before {
  content: '';
  position: absolute;
  inset: -10%;
  width: 40%;
  background: linear-gradient(105deg, transparent 20%, rgba(0,212,255,.45) 50%,
    rgba(255,255,255,.15) 55%, transparent 80%);
  transform: translateX(-160%) skewX(-15deg);
  transition: transform .65s ease;
  pointer-events: none;
}
.log-btn::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(135deg, rgba(0,212,255,.15) 0%, transparent 50%, rgba(0,212,255,.07) 100%);
  pointer-events: none;
}
.log-btn:hover {
  color: #e0f7ff;
  border-color: #00d4ff;
  background: rgba(0,212,255,.15);
  transform: translateY(-2px);
  animation: logPulse 2s ease-in-out infinite;
}
.log-btn:hover::before { transform: translateX(360%) skewX(-15deg); }
@keyframes logPulse {
  0%,100% {
    box-shadow: 0 0 10px rgba(0,212,255,.7), 0 0 25px rgba(0,212,255,.45),
      0 0 55px rgba(0,212,255,.22), 0 0 90px rgba(0,212,255,.1);
  }
  50% {
    box-shadow: 0 0 16px rgba(0,212,255,.9), 0 0 38px rgba(0,212,255,.65),
      0 0 80px rgba(0,212,255,.35), 0 0 130px rgba(0,212,255,.15);
  }
}
.log-btn .log-icon {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  transition: transform .4s cubic-bezier(.22,.68,0,1.2);
}
.log-btn:hover .log-icon { transform: scale(1.15) rotate(5deg); }
.log-btn .log-text-wrap {
  position: relative;
  display: inline-grid;
  place-items: center;
}
.log-btn .log-cn {
  grid-area: 1/1;
  display: block;
  transition: opacity .25s ease, transform .25s cubic-bezier(.22,.68,0,1.2);
}
.log-btn .log-en {
  grid-area: 1/1;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transform: translateY(6px);
  transition: opacity .25s ease, transform .25s cubic-bezier(.22,.68,0,1.2);
  font-size: .72rem;
  letter-spacing: .14em;
  white-space: nowrap;
  pointer-events: none;
}
.log-btn:hover .log-cn { opacity: 0; transform: translateY(-6px); }
.log-btn:hover .log-en { opacity: 1; transform: translateY(0); }

/* ══════════════════════════════════════════════════════════
   手机端：双按钮竖排
   ══════════════════════════════════════════════════════════ */
@media screen and (max-width: 860px) {
  .report-wrap {
    flex-direction: column;
    align-items: center;
    gap: .9rem;
    margin: 2rem 1rem;
  }
  .report-btn, .shame-btn, .log-btn {
    width: 88vw;
    max-width: 340px;
    justify-content: center;
    font-size: .72rem;
    letter-spacing: .12em;
    padding: .62rem 1.2rem;
  }
}

/* ══════════════════════════════════════════════════════════
   ★ 超级标题栏 / More Panel
   ══════════════════════════════════════════════════════════ */

/* ── "查看更多"按钮：与其他 nav-item>a 完全一致，悬停显示英文 Others ── */
.nav-more-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: 0 1.15rem;
  background: none;
  border: none;
  cursor: pointer;
  position: relative;
  font-family: var(--f-sci);
  font-size: .88rem;
  font-weight: 400;
  letter-spacing: .06em;
  color: rgba(165,130,68,.75);
  text-decoration: none;
  transition: color .35s ease;
  overflow: visible;
  user-select: none;
}
/* 底部辉光下划线（与 nav-item > a 完全一致） */
.nav-more-btn::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: .9rem; right: .9rem;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--c-gold-bright), transparent);
  border-radius: 2px 2px 0 0;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .38s cubic-bezier(.22,.68,0,1.2);
}
.nav-more-btn::after { display: none !important; content: none !important; }
.nav-more-btn:hover { color: var(--c-gold-bright); }
.nav-more-btn:hover::before { transform: scaleX(1); }

.nav-more-btn .nm-wrap {
  position: relative;
  display: flex;
  align-items: center;
  height: 1.4em;
}
.nav-more-btn .nm-cn,
.nav-more-btn .nm-en {
  display: block;
  white-space: nowrap;
  transition: opacity .35s ease, transform .35s cubic-bezier(.22,.68,0,1.2);
}
.nav-more-btn .nm-cn { opacity: 1; transform: translateY(0); }
.nav-more-btn .nm-en { opacity: 0; transform: translateY(6px); position:absolute; color: var(--c-gold-bright); font-size: 1rem; }
.nav-more-btn:hover .nm-cn,
.nav-more-btn.open .nm-cn { opacity: 0; transform: translateY(-6px); }
.nav-more-btn:hover .nm-en,
.nav-more-btn.open .nm-en { opacity: 1; transform: translateY(0); }
.nav-more-btn:hover,
.nav-more-btn.open { color: var(--c-gold-bright); }

/* ══════════════════════════════════════════════════════════
   超级导航面板主体
   ══════════════════════════════════════════════════════════ */
.super-nav-panel {
  display: block;
  position: fixed;
  top: 70px; left: 0; right: 0;
  z-index: 700;
  overflow: hidden;
  opacity: 0;
  transform: translateY(-20px) scaleY(0.6);
  transform-origin: top center;
  pointer-events: none;

  /* 暗金底色 + 暗金网格纹理 */
  background-color: rgba(10,7,2,.97);
  background-image:
    repeating-linear-gradient(
      90deg, transparent 0px, transparent 59px,
      rgba(185,142,52,.055) 59px, rgba(185,142,52,.055) 60px
    ),
    repeating-linear-gradient(
      0deg, transparent 0px, transparent 39px,
      rgba(185,142,52,.045) 39px, rgba(185,142,52,.045) 40px
    ),
    radial-gradient(ellipse 90% 100% at 50% -5%,
      rgba(185,142,52,.12) 0%, transparent 60%),
    radial-gradient(ellipse 40% 80% at -5% 50%,
      rgba(120,75,20,.08) 0%, transparent 55%),
    radial-gradient(ellipse 40% 80% at 105% 50%,
      rgba(160,100,25,.06) 0%, transparent 55%);

  backdrop-filter: blur(60px) saturate(1.6);
  -webkit-backdrop-filter: blur(60px) saturate(1.6);
  border-bottom: 1px solid transparent;
  box-shadow: none;

  transition:
    opacity   .42s cubic-bezier(.4,0,.2,1),
    transform .45s cubic-bezier(.34,1.25,.64,1),
    border-color .35s ease .1s,
    box-shadow   .35s ease .1s;
}

.super-nav-panel.open {
  opacity: 1;
  transform: translateY(0) scaleY(1);
  pointer-events: auto;
  border-bottom: 1px solid rgba(185,142,52,.45);
  box-shadow:
    0 40px 120px rgba(0,0,0,.98),
    0 0 80px  rgba(185,142,52,.18),
    0 0 200px rgba(120,75,20,.10),
    inset 0 1px 0 rgba(185,142,52,.42),
    inset 0 0 160px rgba(185,142,52,.02);
}

/* ── 顶部激光扫描线 ── */
.super-nav-panel::before {
  content: '';
  position: absolute;
  top: 0; left: -130%; width: 80%; height: 3px;
  background: linear-gradient(90deg,
    transparent 0%,
    rgba(185,142,52,0) 5%,
    rgba(185,142,52,.7) 25%,
    rgba(210,168,58,1) 42%,
    rgba(255,230,120,1) 50%,
    rgba(210,168,58,1) 58%,
    rgba(185,142,52,.7) 75%,
    rgba(185,142,52,0) 95%,
    transparent 100%);
  filter: blur(.4px);
  box-shadow:
    0 0 28px rgba(210,168,58,.9),
    0 0 65px rgba(185,142,52,.6),
    0 0 130px rgba(160,118,35,.4);
  transition: left 1.1s cubic-bezier(.22,.68,0,1.22) .02s;
  pointer-events: none; z-index: 20;
}
.super-nav-panel.open::before { left: 150%; }

/* ── 底部彩虹流光辉光 ── */
.super-nav-panel::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0; height: 2px;
  background: linear-gradient(90deg,
    transparent 0%,
    rgba(185,142,52,.9) 15%,
    rgba(210,168,58,1)  35%,
    rgba(255,225,100,.9) 50%,
    rgba(210,168,58,1)  65%,
    rgba(185,142,52,.9) 85%,
    transparent 100%);
  background-size: 200% 100%;
  animation: panelBotGold 4s linear infinite;
  box-shadow:
    0 0 22px rgba(210,168,58,.65),
    0 0 55px rgba(185,142,52,.38),
    0 0 90px rgba(160,118,35,.2);
  opacity: 0;
  transition: opacity .5s ease .3s;
  pointer-events: none;
}
@keyframes panelBotGold {
  0%   { background-position: 0% 50%; }
  100% { background-position: 200% 50%; }
}
.super-nav-panel.open::after { opacity: 1; }

/* ── canvas 粒子背景层（由 JS 注入） ── */
.super-nav-panel > canvas.snav-bg-canvas {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  pointer-events: none; z-index: 2;
  opacity: .45;
  /* 画布粒子通过 CSS 暖化为金色调 */
  filter: sepia(0.6) saturate(1.4) hue-rotate(-10deg);
}

/* ── 竖向扫描光柱（CSS纯实现，3条交错） ── */
/* ── 横向巡游扫描光束（从左穿越到右，循环） ── */
.super-nav-panel .snav-scan-v {
  position: absolute;
  top: 0; bottom: 0;
  width: 120px;
  pointer-events: none;
  z-index: 3;
  background: linear-gradient(180deg,
    transparent        0%,
    rgba(185,142,52,.0) 8%,
    rgba(185,142,52,.20) 30%,
    rgba(210,168,58,.45) 48%,
    rgba(185,142,52,.20) 68%,
    rgba(185,142,52,.0) 92%,
    transparent        100%);
  -webkit-mask-image: linear-gradient(90deg,
    transparent 0%, rgba(0,0,0,.9) 30%, rgba(0,0,0,.9) 70%, transparent 100%);
  mask-image: linear-gradient(90deg,
    transparent 0%, rgba(0,0,0,.9) 30%, rgba(0,0,0,.9) 70%, transparent 100%);
  box-shadow: 0 0 18px rgba(210,168,58,.4), 0 0 40px rgba(185,142,52,.2);
  left: -130px;
  opacity: 0;
  will-change: transform;
  transition: opacity .5s ease;
}
.super-nav-panel.open .snav-scan-v { opacity: 1; }

/* 三条光束，速度/延迟各不同，形成错落巡游感 */
.snav-scan-v:nth-child(1) { animation: scanBeam 6s  linear  0.0s infinite; }
.snav-scan-v:nth-child(2) { animation: scanBeam 9s  linear  2.5s infinite; opacity: .7; }
.snav-scan-v:nth-child(3) { animation: scanBeam 7.5s linear 4.8s infinite; opacity: .85; }

/* GPU 合成：left 动画改用 transform（.super-nav-panel 为 fixed;left:0;right:0
   即撑满视口，故 100% 精确等价 100vw；静态 left:-130px 保留作起始锚点，
   translateX 在此基础上叠加位移，终值 = 目标绝对位置 - 起始位置）。 */
@keyframes scanBeam {
  0%   { transform: translateX(0); }
  100% { transform: translateX(calc(100vw + 260px)); }
}

/* ── 网格容器 ── */

.super-nav-grid {
  padding: 1.6rem 3rem 1.9rem;
  max-width: 1340px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: .65rem;
  transform: translateY(-14px);
  opacity: 0;
  transition:
    transform .45s cubic-bezier(.34,1.25,.64,1) .07s,
    opacity   .35s ease .07s;
}
.super-nav-panel.open .super-nav-grid {
  transform: translateY(0);
  opacity: 1;
}

/* ── 行布局 ── */
.super-nav-row {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1rem;
  padding: .5rem 0;
  position: relative;
}

/* 行间分隔线——彩色展开动画 */
.super-nav-row::after {
  content: '';
  position: absolute;
  bottom: -.32rem; left: 50%; right: 50%; height: 1px;
  background: linear-gradient(90deg,
    rgba(185,142,52,.38),
    rgba(210,168,58,.32),
    rgba(185,142,52,.25),
    transparent);
  box-shadow: 0 0 8px rgba(185,142,52,.25);
  transition:
    left  .65s cubic-bezier(.22,.68,0,1.2),
    right .65s cubic-bezier(.22,.68,0,1.2);
}
.super-nav-row:last-child::after { display: none; }
.super-nav-panel.open .super-nav-row:nth-child(1)::after { left:0; right:0; transition-delay:.36s; }
.super-nav-panel.open .super-nav-row:nth-child(2)::after { left:0; right:0; transition-delay:.48s; }

/* ══════════════════════════════════════════════════════════
   snav-btn ——  核心按钮  全面升级
   ══════════════════════════════════════════════════════════ */
.snav-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .25rem;
  padding: 1.2rem .8rem;
  border-radius: 6px;
  font-family: var(--f-sci);
  font-size: .82rem;
  font-weight: 600;
  letter-spacing: .09em;
  color: rgba(205,172,108,.88);
  text-decoration: none;
  cursor: pointer;
  border: 1px solid rgba(185,142,52,.22);
  outline: 1px solid rgba(185,142,52,.06);
  outline-offset: 3px;
  background: linear-gradient(145deg,
    rgba(185,142,52,.09) 0%,
    rgba(140,95,20,.05)  40%,
    rgba(30,15,0,.35)   100%);
  box-shadow:
    inset 0 1px 0 rgba(185,142,52,.16),
    inset 0 -1px 0 rgba(0,0,0,.4),
    0 3px 14px rgba(0,0,0,.45);
  position: relative;
  overflow: hidden;
  text-align: center;
  opacity: 0;
  transform: perspective(700px) translateY(-32px) rotateX(20deg) scale(.9);
  transform-origin: top center;
  transition:
    opacity      .36s cubic-bezier(.34,1.3,.64,1),
    transform    .36s cubic-bezier(.34,1.3,.64,1),
    background   .25s ease,
    border-color .25s ease,
    outline-color .25s ease,
    color        .25s ease,
    box-shadow   .3s ease;
}

.snav-btn .snav-topline {
  position: absolute;
  top: 0; left: 10%; right: 10%; height: 1px;
  background: linear-gradient(90deg,
    transparent, rgba(210,168,58,.65), rgba(185,142,52,.5), transparent);
  border-radius: 1px;
  transition: opacity .25s ease, left .4s ease, right .4s ease;
}
.snav-btn .snav-btmglow {
  position: absolute;
  bottom: 0; left: 25%; right: 25%; height: 1px;
  background: linear-gradient(90deg,
    transparent, rgba(210,168,58,1), rgba(185,142,52,.9), transparent);
  box-shadow: 0 0 18px rgba(210,168,58,.75), 0 0 36px rgba(185,142,52,.35);
  opacity: 0;
  transform: scaleX(0);
  transition: opacity .22s ease, transform .3s cubic-bezier(.22,.68,0,1.3);
}

/* ── 展开：对角瀑布弹入（保持原有节奏，增加3D感） ── */
.super-nav-panel.open .super-nav-row:nth-child(1) .snav-btn:nth-child(1){opacity:1;transform:none;transition-delay:.08s}
.super-nav-panel.open .super-nav-row:nth-child(1) .snav-btn:nth-child(2){opacity:1;transform:none;transition-delay:.14s}
.super-nav-panel.open .super-nav-row:nth-child(1) .snav-btn:nth-child(3){opacity:1;transform:none;transition-delay:.20s}
.super-nav-panel.open .super-nav-row:nth-child(1) .snav-btn:nth-child(4){opacity:1;transform:none;transition-delay:.26s}
.super-nav-panel.open .super-nav-row:nth-child(1) .snav-btn:nth-child(5){opacity:1;transform:none;transition-delay:.32s}
.super-nav-panel.open .super-nav-row:nth-child(2) .snav-btn:nth-child(1){opacity:1;transform:none;transition-delay:.20s}
.super-nav-panel.open .super-nav-row:nth-child(2) .snav-btn:nth-child(2){opacity:1;transform:none;transition-delay:.26s}
.super-nav-panel.open .super-nav-row:nth-child(2) .snav-btn:nth-child(3){opacity:1;transform:none;transition-delay:.32s}
.super-nav-panel.open .super-nav-row:nth-child(2) .snav-btn:nth-child(4){opacity:1;transform:none;transition-delay:.38s}
.super-nav-panel.open .super-nav-row:nth-child(2) .snav-btn:nth-child(5){opacity:1;transform:none;transition-delay:.44s}
.super-nav-panel.open .super-nav-row:nth-child(3) .snav-btn:nth-child(1){opacity:1;transform:none;transition-delay:.32s}
.super-nav-panel.open .super-nav-row:nth-child(3) .snav-btn:nth-child(2){opacity:1;transform:none;transition-delay:.38s}
.super-nav-panel.open .super-nav-row:nth-child(3) .snav-btn:nth-child(3){opacity:1;transform:none;transition-delay:.44s}
.super-nav-panel.open .super-nav-row:nth-child(3) .snav-btn:nth-child(4){opacity:1;transform:none;transition-delay:.50s}
.super-nav-panel.open .super-nav-row:nth-child(3) .snav-btn:nth-child(5){opacity:1;transform:none;transition-delay:.56s}

/* ── 收起：逆序右下→左上 ── */
.super-nav-panel:not(.open) .snav-btn{opacity:0;transform:perspective(700px) translateY(-32px) rotateX(20deg) scale(.9)}
.super-nav-panel:not(.open) .super-nav-row:nth-child(3) .snav-btn:nth-child(5){transition-delay:.00s}
.super-nav-panel:not(.open) .super-nav-row:nth-child(3) .snav-btn:nth-child(4){transition-delay:.03s}
.super-nav-panel:not(.open) .super-nav-row:nth-child(3) .snav-btn:nth-child(3){transition-delay:.06s}
.super-nav-panel:not(.open) .super-nav-row:nth-child(3) .snav-btn:nth-child(2){transition-delay:.09s}
.super-nav-panel:not(.open) .super-nav-row:nth-child(3) .snav-btn:nth-child(1){transition-delay:.12s}
.super-nav-panel:not(.open) .super-nav-row:nth-child(2) .snav-btn:nth-child(5){transition-delay:.06s}
.super-nav-panel:not(.open) .super-nav-row:nth-child(2) .snav-btn:nth-child(4){transition-delay:.09s}
.super-nav-panel:not(.open) .super-nav-row:nth-child(2) .snav-btn:nth-child(3){transition-delay:.12s}
.super-nav-panel:not(.open) .super-nav-row:nth-child(2) .snav-btn:nth-child(2){transition-delay:.15s}
.super-nav-panel:not(.open) .super-nav-row:nth-child(2) .snav-btn:nth-child(1){transition-delay:.18s}
.super-nav-panel:not(.open) .super-nav-row:nth-child(1) .snav-btn:nth-child(5){transition-delay:.12s}
.super-nav-panel:not(.open) .super-nav-row:nth-child(1) .snav-btn:nth-child(4){transition-delay:.15s}
.super-nav-panel:not(.open) .super-nav-row:nth-child(1) .snav-btn:nth-child(3){transition-delay:.18s}
.super-nav-panel:not(.open) .super-nav-row:nth-child(1) .snav-btn:nth-child(2){transition-delay:.21s}
.super-nav-panel:not(.open) .super-nav-row:nth-child(1) .snav-btn:nth-child(1){transition-delay:.24s}

.snav-btn::before {
  content: '';
  position: absolute;
  inset: -30%; width: 45%; height: 160%;
  background: linear-gradient(108deg,
    transparent 15%,
    rgba(185,142,52,.22) 35%,
    rgba(210,168,58,.32) 48%,
    rgba(255,230,120,.18) 52%,
    rgba(185,142,52,.22) 65%,
    transparent 85%);
  transform: translateX(-220%) skewX(-18deg);
  transition: transform .55s ease;
  pointer-events: none;
}
.snav-btn::after {
  content: '';
  position: absolute;
  top: 5px; right: 5px;
  width: 5px; height: 5px;
  border-radius: 50%;
  background: rgba(210,168,58,.55);
  box-shadow: 0 0 6px rgba(210,168,58,.8);
  opacity: 0;
  transition: opacity .25s ease;
}

.snav-btn:hover {
  color: #fde68a;
  border-color: rgba(210,168,58,.75);
  outline-color: rgba(185,142,52,.28);
  background: linear-gradient(145deg,
    rgba(185,142,52,.18) 0%,
    rgba(160,110,25,.12) 50%,
    rgba(100,60,5,.08)  100%);
  transform: translateY(-6px) scale(1.05);
  box-shadow:
    0 16px 40px rgba(0,0,0,.7),
    0 0 35px rgba(210,168,58,.35),
    0 0 70px rgba(185,142,52,.18),
    inset 0 1px 0 rgba(210,168,58,.38),
    inset 0 0 50px rgba(185,142,52,.05),
    0 0 0 1px rgba(185,142,52,.14);
}
.snav-btn:hover::before { transform: translateX(480%) skewX(-18deg); }
.snav-btn:hover::after  { opacity: 1; }
.snav-btn:hover .snav-topline { left: 5%; right: 5%; }
.snav-btn:hover .snav-btmglow { opacity: 1; transform: scaleX(1); }

.snav-btn.active {
  color: var(--c-gold-bright);
  border-color: rgba(185,142,52,.6);
  background: linear-gradient(145deg,
    rgba(185,142,52,.15) 0%,
    rgba(185,142,52,.06) 100%);
  box-shadow:
    0 0 25px rgba(185,142,52,.28),
    inset 0 0 30px rgba(185,142,52,.06);
}

/* ── 中英文叠放 ── */
.snav-text-wrap {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 1.4em;
}
.snav-cn {
  display: block;
  opacity: 1;
  transform: translateY(0);
  transition: opacity .5s ease, transform .5s cubic-bezier(.22,.68,0,1.2);
  line-height: 1.4;
}
.snav-en {
  position: absolute; inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .82rem;   /* +2号：.65rem → .82rem */
  letter-spacing: .09em;
  font-weight: 600;
  color: rgba(210,168,58,.82);
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .5s ease, transform .5s cubic-bezier(.22,.68,0,1.2);
  white-space: nowrap;
  text-shadow:
    0 0 14px rgba(210,168,58,.7),
    0 0 30px rgba(185,142,52,.4);
}
.super-nav-panel.lang-en .snav-cn { opacity:0; transform:translateY(-8px); }
.super-nav-panel.lang-en .snav-en { opacity:1; transform:translateY(0); }

/* 遮罩 */
.super-nav-overlay {
  position: fixed;
  inset: 70px 0 0 0;
  z-index: 699;
  display: none;
  opacity: 0;
  background: rgba(0,0,0,.55);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  transition: opacity .38s ease;
}


/* lb-tip 提示样式
   布局：grid 双列（图标列 auto + 文本列 1fr），两个 span 堆在同一格，opacity 切换。
   注意：JS 显示该框时必须设 display:'grid'（与此布局配套，勿再用 'flex'） */
.lb-tip {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: .6rem;
  align-items: center;
  margin: .8rem 0 1.4rem;
  padding: .7rem 2.2rem .7rem 1.1rem;
  border-radius: var(--r-md);
  background: rgba(255,215,0,.05);
  border: 1px solid rgba(255,215,0,.2);
  font-family: var(--f-body);
  font-size: .82rem;
  color: rgba(255,215,0,.85);
  letter-spacing: .04em;
  line-height: 1.5;
}

/* ── notice 关闭按钮：常态若隐若现，hover/focus 时清晰起来 ── */
.lb-tip-close {
  position: absolute;
  top: 50%;
  right: .55rem;
  transform: translateY(-50%);
  width: 1.3rem;
  height: 1.3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border: 1px solid rgba(255,215,0,.3);
  background: rgba(255,215,0,.06);
  color: rgba(255,215,0,.55);
  font-size: .78rem;
  line-height: 1;
  cursor: pointer;
  opacity: .45;
  transition: opacity .25s ease, background .25s ease, color .25s ease, border-color .25s ease;
}
.lb-tip-close:hover,
.lb-tip-close:focus-visible {
  opacity: 1;
  background: rgba(255,215,0,.14);
  color: rgba(255,215,0,.9);
  border-color: rgba(255,215,0,.5);
}
.lb-tip-icon {
  grid-row: 1;
  grid-column: 1;
  font-size: .82rem;
  line-height: 1;
}

/* ── lb-tip-cn 和 lb-tip-en 双语切换容器（同格堆叠，opacity 切换） ── */
.lb-tip-cn,
.lb-tip-en {
  grid-row: 1;
  grid-column: 2;
  overflow-wrap: break-word;
  word-break: break-word;
  white-space: normal;
  transition: opacity .3s ease;
  line-height: 1.5;
}
.lb-tip-cn {
  opacity: 1;
}
.lb-tip-en {
  opacity: 0;
  font-style: italic;
  color: rgba(255,215,0,.75);
  pointer-events: none;
}

/* ─ notice模块 hover时中英切换 ─ */
.lb-tip:hover .lb-tip-cn { opacity: 0; }
.lb-tip:hover .lb-tip-en { opacity: 1 !important; }


/* ══ 旧移动端专用元素（保留HTML兼容性，CSS层隐藏） ══ */
.nav-more-mobile { display: none; }
.mob-more-panel  { display: none; }   /* ← 旧 class 选择器（部分页面还在用），保留兼容 */
#mob-more-panel  { display: none; max-height: 0; overflow: hidden;
                    transition: max-height .38s cubic-bezier(.22,.68,0,1.2); }
#mob-more-panel.open {
  display: block;
  max-height: 480px; }

/* 极小屏（480px）进一步优化 */
@media screen and (max-width: 480px) {
  .nav-inner { padding: 0 .75rem; }
  .logo-title { font-size: .9rem; }
  .logo-domain { font-size: .52rem; }
}

/* ══════════════════════════════════════════════════════════
   手机端全新导航抽屉系统
   完全独立于 PC 端，PC 端汉堡按钮 display:none 故永远不触发
   ══════════════════════════════════════════════════════════ */

/* ── 遮罩层（点击可关闭抽屉） ── */
.mob-nav-overlay {
  position: fixed;
  inset: 70px 0 0 0;
  z-index: 1900;
  background: rgba(0,0,0,.58);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .28s ease, visibility .28s ease;
}
.mob-nav-overlay.mnd-show {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

/* ── 抽屉主体（全宽、可滚动） ── */
.mob-nav-drawer {
  position: fixed;
  top: 70px; left: 0; right: 0;
  z-index: 1950;
  max-height: calc(100vh - 70px);
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  background: rgba(4,8,20,.98);
  backdrop-filter: blur(22px);
  -webkit-backdrop-filter: blur(22px);
  border-bottom: 1px solid rgba(185,142,52,.18);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  pointer-events: none;
  transition: opacity .28s ease, visibility .28s ease,
              transform .28s cubic-bezier(.22,.68,0,1.2);
}
.mob-nav-drawer.mnd-show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}
/* 底部留白：9rem（144px）确保最后菜单项在任何手机底栏上方完全可见。
   注意：env(safe-area-inset-bottom)需要viewport-fit=cover，此处用固定值保证兼容性。 */
.mob-nav-drawer::after {
  content: '';
  display: block;
  height: 9rem;
}

/* ── 菜单项（链接 & 父级按钮共用） ── */
.mnd-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 1.4rem;
  font-family: var(--f-sci);
  font-size: .86rem;
  letter-spacing: .07em;
  color: rgba(162,125,65,.82);
  border-bottom: 1px solid rgba(185,142,52,.08);
  text-decoration: none;
  min-height: 54px;
  cursor: pointer;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
  transition: background .16s ease, color .16s ease;
}
.mnd-item:active                { background: rgba(185,142,52,.07); color: var(--c-gold-bright); }
a.mnd-item:active               { background: rgba(185,142,52,.07); color: var(--c-gold-bright); }
.mnd-item.mnd-active            { color: var(--c-gold-bright); border-left: 2px solid var(--c-gold-bright); padding-left: calc(1.4rem - 2px); }
.mnd-item.mnd-parent-open       { color: var(--c-cyan); background: rgba(0,212,255,.04); }

/* ── 父级展开箭头 ── */
.mnd-arrow {
  font-size: .55rem;
  opacity: .5;
  flex-shrink: 0;
  margin-left: .6rem;
  transition: transform .3s cubic-bezier(.22,.68,0,1.2), opacity .25s ease;
}
.mnd-parent-open .mnd-arrow { transform: rotate(90deg); opacity: 1; }

/* ── 子菜单面板（max-height 动画展开） ── */
.mnd-sub {
  max-height: 0;
  overflow: hidden;
  background: rgba(0,5,15,.65);
  border-bottom: 1px solid rgba(185,142,52,.06);
  transition: max-height .32s cubic-bezier(.22,.68,0,1.2);
}
.mnd-sub.mnd-sub-open { max-height: 400px; }

/* ── 子菜单项 ── */
.mnd-sub-item {
  display: flex;
  align-items: center;
  padding: 0 1.4rem 0 2.8rem;
  font-family: var(--f-sci);
  font-size: .82rem;
  letter-spacing: .06em;
  color: rgba(130,102,55,.72);
  border-bottom: 1px solid rgba(185,142,52,.05);
  text-decoration: none;
  min-height: 48px;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
  transition: background .16s ease, color .16s ease;
}
.mnd-sub-item:last-child { border-bottom: none; }
.mnd-sub-item:active     { background: rgba(185,142,52,.07); color: var(--c-gold-bright); }
.mnd-sub-item.mnd-active { color: var(--c-gold-bright); }

/* ── 抽屉顶部小标题（分区用） ── */
.mnd-section-label {
  display: block;
  padding: .6rem 1.4rem .3rem;
  font-family: var(--f-sci);
  font-size: .6rem;
  letter-spacing: .18em;
  color: rgba(185,142,52,.38);
  text-transform: uppercase;
  border-bottom: 1px solid rgba(185,142,52,.06);
  background: rgba(185,142,52,.02);
}


/* ══════════════════════════════════════════════════════════
   触摸设备：榜单 Tab 按钮增大点击区
   ══════════════════════════════════════════════════════════ */
@media (hover: none) {
  .lb-tab-btn, .map-tab-btn { min-height: 40px; padding-top: .5rem; padding-bottom: .5rem; }
}

/* ══════════════════════════════════════════════════════════
   导航英文 hover 文字字号强制放大两号（覆盖各页面内联样式）
   ══════════════════════════════════════════════════════════ */
.site-nav .hover-text-swap .text-en { font-size: 1em !important; }
.nav-rules .hover-text-swap .text-en { font-size: 1em !important; }
.nav-submit .hover-text-swap .text-en { font-size: 1em !important; }
.nav-dropdown-menu a .hover-text-swap .text-en { font-size: .92em !important; }
.nav-rules-dropdown a .hover-text-swap .text-en { font-size: .92em !important; }

/* ── 全站自定义滚动条 ── */
::-webkit-scrollbar { width: 5px; height: 5px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(185,142,52,.3); border-radius: 99px; }
::-webkit-scrollbar-thumb:hover { background: rgba(185,142,52,.55); }
* { scrollbar-width: thin; scrollbar-color: rgba(185,142,52,.3) transparent; }
