body {
  margin: 0;
  padding: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
  background-color: #ffffff;
  color: #333;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  min-height: 100vh;
  overflow-x: hidden;
}
.logo img {
  margin-top: 16px;
  width: 288px;
  height: auto;
}
.tagline {
  font-size: 18px;
  font-weight: bold;
  margin: 24px 0;
  min-height: 24px;
  white-space: nowrap;
  overflow: hidden;
}
.swiper-container {
  width: 100%;
  padding-top: 20px;
  padding-bottom: 40px;
}

.swiper-slide {
  width: 80vw !important;   /* 或用固定值如 260px */
  max-width: 280px;
  aspect-ratio: 13 / 18;
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.button-area {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px; /* 上下排间距 */
  margin: 24px 0;
}

.button-row {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px; /* 按钮之间的间距 */
  margin-bottom: 0px; /* 两排按钮间距 */
}
.red-button, .green-button {
  display: inline-block;
  padding: 10px 0;
  width: 120px;
  text-align: center;
  font-size: 14px;
  border-radius: 24px;
  transition: background-color 0.3s, transform 0.2s;
}
/*第一排 小红书主页按钮 */
.red-button {
  background-color: #FF2D55;   /* 小红书经典红色 */
  color: white;                /* 字体改为白色 */
  text-decoration: none;
  box-shadow: 0 4px 12px rgba(255, 45, 85, 0.4);
}

.red-button:hover,
.red-button.auto-hover {
  background-color: #ffffff;   /* 白底 */
  color: #FF2D55;              /* 红字 */
  font-weight: bold;           /* 加粗 */
  font-size: 14.7px;           /* 比原来 14px 放大约 5% */
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(255, 45, 85, 0.25);  /* 更柔的红色阴影 */
}

/* 第一排中间 - 微信表情包按钮（绿棕斑马） */
.zebra-glass {
  background:
    repeating-linear-gradient(
      45deg,
      rgba(0, 94, 96, 0.28),
      rgba(0, 94, 96, 0.28) 10px,
      rgba(158, 86, 74, 0.28) 10px,
      rgba(158, 86, 74, 0.28) 20px
    ),
    rgba(255, 255, 255, 0.05);

  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);

  border: 2px solid #07C160;
  color: #07C160;

  width: 120px;
  padding: 10px 0;
  font-size: 14px;
  font-weight: normal;
  text-align: center;
  border-radius: 24px;
  text-decoration: none;

  box-shadow: 0 0 6px rgba(7, 193, 96, 0.3);
  box-sizing: border-box;
  transition: all 0.3s ease;
}
.zebra-glass:hover,
.zebra-glass.auto-hover {
  background:
    repeating-linear-gradient(
      45deg,
      #005e60 0px,
      #005e60 10px,
      #9e564a 10px,
      #9e564a 20px
    ),
    rgba(255, 255, 255, 0.05);

  border: 1px solid #07C160;
  color: #07C160;

  box-shadow:
    0 0 8px rgba(7, 193, 96, 0.4),
    inset 0 0 2px rgba(7, 193, 96, 0.2);
  font-size: 14.7px;
  font-weight: bold;
  transform: translateY(-2px);
  text-decoration: none;
}
/* 第一排右边 - 微信公众号按钮（玻璃蓝描边） */
.glass {
  background-color: transparent; /* 保持背景透明 */
  border: 2px solid #07C160; /* 修改边框颜色 */
  color: #07C160; /* 修改文字颜色 */
  font-size: 14px; /* 保持字体大小 */
  font-weight: normal; /* 保持字体粗细 */
  text-align: center; /* 保持对齐方式 */
  text-decoration: none; /* 保持文字样式 */
  padding: 10px 0;
  width: 120px;
  border-radius: 24px;
  box-sizing: border-box;
  transition: all 0.3s ease; /* 保持过渡效果 */
}

.glass:hover,
.glass.auto-hover {
  background-color: #f7caca; /* Hover时背景色 */
  color: #07C160; /* Hover时文字色 */
  font-weight: bold;
  font-size: 14.7px;
  border: none;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(247, 202, 202, 0.35);
}

/* 第二排左 - 联系我们按钮（藤花紫条纹） */
.purple-striped-button {
  background-color: #B497BD; /* 藤花紫 */
  background-image: repeating-linear-gradient(
    45deg,
    rgba(255, 255, 255, 0.12) 0,
    rgba(255, 255, 255, 0.12) 4px,
    transparent 4px,
    transparent 8px
  );
  color: white;
  text-decoration: none;
  padding: 10px 0;
  width: 120px;
  font-size: 14px;
  text-align: center;
  border-radius: 24px;
  box-shadow: 0 4px 12px rgba(180, 151, 189, 0.4);
  transition: background-color 0.3s, transform 0.2s;
}

.purple-striped-button:hover,
.purple-striped-button.auto-hover {
  background-color: #ffffff;     /* 白色背景 */
  color: #B497BD;                /* 藤花紫文字 */
  font-weight: bold;
  font-size: 14.7px;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(180, 151, 189, 0.35); /* 柔紫阴影 */
}
/* 第二排中间 - 微信表情包按钮（蓝青斑马） */
.zebra-blue-glass {
  background:
    repeating-linear-gradient(
      45deg,
      rgba(0, 103, 184, 0.28),
      rgba(0, 103, 184, 0.28) 10px,
      rgba(55, 184, 250, 0.28) 10px,
      rgba(55, 184, 250, 0.28) 20px
    ),
    rgba(255, 255, 255, 0.05);

  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);

  border: 2px solid #07C160;
  color: #07C160;

  width: 120px;
  padding: 10px 0;
  font-size: 14px;
  font-weight: normal;
  text-align: center;
  border-radius: 24px;
  text-decoration: none;

  box-shadow: 0 0 6px rgba(7, 193, 96, 0.3);
  box-sizing: border-box;
  transition: all 0.3s ease;
}

.zebra-blue-glass:hover,
.zebra-blue-glass.auto-hover {
  background:
    repeating-linear-gradient(
      45deg,
      #0067b8 0px,
      #0067b8 10px,
      #37b8fa 10px,
      #37b8fa 20px
    ),
    rgba(255, 255, 255, 0.05);

  border: 1px solid #07C160;
  color: #07C160;

  box-shadow:
    0 0 8px rgba(7, 193, 96, 0.4),
    inset 0 0 2px rgba(7, 193, 96, 0.2);

  font-size: 14.7px;
  font-weight: bold;
  transform: translateY(-2px);
  text-decoration: none;
}
/* 第二排中间 - 微博主页按钮 */
.weibo-button {
  background-color: #f8d660;
  background-image: repeating-linear-gradient(
    45deg,
    rgba(255, 255, 255, 0.12) 0,
    rgba(255, 255, 255, 0.12) 4px,
    transparent 4px,
    transparent 8px
  );
  color: white;
  text-decoration: none;
  padding: 10px 0;
  width: 120px;
  font-size: 14px;           /* ✅ 保证 auto-hover 后能复原 */
  font-weight: normal;       /* ✅ 保证 auto-hover 后能复原 */
  text-align: center;
  border-radius: 24px;
  box-shadow: 0 4px 12px rgba(248, 214, 96, 0.4);
  transition: background-color 0.3s, transform 0.2s, font-size 0.2s, font-weight 0.2s;
}

.weibo-button:hover,
.weibo-button.auto-hover {
  background-color: #ffffff;
  color: #f8d660;
  font-weight: bold;
  font-size: 14.7px;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(248, 214, 96, 0.35);
}

/* -第三个微信表情包按钮（蓝粉斑马） */
.zebra-bluepink-glass {
  background:
    repeating-linear-gradient(
      45deg,
      rgba(65, 94, 215, 0.28),    /* #415ed7 */
      rgba(65, 94, 215, 0.28) 10px,
      rgba(252, 172, 175, 0.28),  /* #fcacaf */
      rgba(252, 172, 175, 0.28) 20px
    ),
    rgba(255, 255, 255, 0.15);    /* ✅ 灰度背景让按钮更柔和 */

  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);

  border: 2px solid #07C160;
  color: #07C160;

  width: 120px;
  padding: 10px 0;
  font-size: 14px;
  font-weight: normal;
  text-align: center;
  border-radius: 24px;
  text-decoration: none;

  box-shadow: 0 0 6px rgba(7, 193, 96, 0.3);
  box-sizing: border-box;
  transition: all 0.3s ease;
}

.zebra-bluepink-glass:hover,
.zebra-bluepink-glass.auto-hover {
  background:
    repeating-linear-gradient(
      45deg,
      #415ed7 0px,
      #415ed7 10px,
      #fcacaf 10px,
      #fcacaf 20px
    ),
    rgba(255, 255, 255, 0.05);

  border: 1px solid #07C160;
  color: #07C160;

  box-shadow:
    0 0 8px rgba(7, 193, 96, 0.4),
    inset 0 0 2px rgba(7, 193, 96, 0.2);

  font-size: 14.7px;
  font-weight: bold;
  transform: translateY(-2px);
}
/* 小丑猫的动物城按钮（蓝+粉斑马纹） */
.joker-animalcity {
  background:
    repeating-linear-gradient(
      45deg,
      rgba(27, 69, 114, 0.28),   /* 深蓝 #1b4572 粗纹 */
      rgba(27, 69, 114, 0.28) 12px,
      rgba(217, 113, 164, 0.28), /* 粉紫 #d971a4 细纹 */
      rgba(217, 113, 164, 0.28) 20px
    ),
    rgba(255, 255, 255, 0.05);

  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);

  border: 2px solid #07C160;
  color: #07C160;

  width: 120px;
  height: 40px;
  font-size: 14px;
  font-weight: normal;
  text-align: center;
  border-radius: 24px;
  text-decoration: none;

  box-shadow: 0 0 6px rgba(7, 193, 96, 0.3);
  box-sizing: border-box;
  transition: all 0.3s ease;
  display: flex;
  justify-content: center;
  align-items: center;
}

.joker-animalcity:hover,
.joker-animalcity.auto-hover {
  background:
    repeating-linear-gradient(
      45deg,
      #1b4572 0px,     /* 深蓝粗条 */
      #1b4572 12px,
      #d971a4 12px,    /* 粉紫细条 */
      #d971a4 20px
    ),
    rgba(255, 255, 255, 0.05);

  border: 1px solid #07C160;
  color: #07C160;

  box-shadow:
    0 0 8px rgba(7, 193, 96, 0.4),
    inset 0 0 2px rgba(7, 193, 96, 0.2);

  font-size: 14.7px;
  font-weight: bold;
  transform: translateY(-2px);
}

/* 与你共鸣按钮（蓝+青绿斜纹） */
.resonance-button {
  background: linear-gradient(45deg, #1AD2EB 0 50%, #F2ADB7 50% 100%); /* 修改背景条纹颜色 */
  color: white;
  font-size: 14px;
  font-weight: normal;
  width: 120px;
  height: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 24px;
  border: none;
  padding: 0;
  margin: 0;
  cursor: pointer;
  text-decoration: none;
  box-sizing: border-box;
  transition: all 0.3s ease;
}

/* hover 或 auto-hover 时：字体变大 + 加粗 + 背景变白 */
.resonance-button:hover,
.resonance-button.auto-hover {
  background: white !important;
  color: #F2ADB7; /* hover时修改字体颜色 */
  font-size: 14.56px; /* 放大 4% */
  font-weight: bold;
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.12);
}

footer {
  font-size: 12px;
  color: #666;
  margin: 12px 0;
  line-height: 1.4;
}

@media (prefers-color-scheme: dark) {
  body {
    background-color: #121212;
    color: #f0f0f0;
  }
  .swiper-slide {
    background: #1e1e1e;
    box-shadow: 0 4px 12px rgba(255, 255, 255, 0.1);
  }
  .red-button {
    background-color: #ff4c6a;
  }
  .red-button:hover {
    background-color: #e03754;
  }
  footer {
    color: #aaa;
  }
}
.qr-popup {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0,0,0,0.6);
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 999;
}
.qr-box {
  background: white;
  padding: 20px;
  border-radius: 12px;
  text-align: center;
  box-shadow: 0 8px 24px rgba(0,0,0,0.2);
}
.qr-box img {
  width: 200px;
  height: 200px;
}
.qr-box button {
  margin-top: 12px;
  padding: 6px 16px;
  background-color: #FF2D55;
  color: white;
  border: none;
  border-radius: 8px;
  cursor: pointer;
}
.qr-box button:hover {
  background-color: #e02649;
}
#tagline::after {
  content: "|"; /* 显示光标符号 */
  animation: blink 1s step-start infinite;
  margin-left: 4px; /* 留出一点空隙 */
  font-weight: bold;
}

@keyframes blink {
  50% {
    opacity: 0;
  }
}
/* ================= 页脚按钮色块布局（模块化） ================= */

.footer-button-group {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px;
  margin: 24px auto;
}

/* 单个卡片容器 */
.footer-shortcut-card {
  background: #80c9fa; /* 雾蓝渐变 */
  border-radius: 20px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center; /* ← 新增 */
  gap: 12px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
  width: fit-content;
  max-width: 160px;
  transition: all 0.3s ease;
}

.footer-shortcut-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 24px rgba(0,0,0,0.1);
}

/* 卡片内统一按钮样式（继承你已有按钮类） */
.footer-button {
  width: 120px;
  height: 40px;
  display: flex;               /* 水平垂直居中 */
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  text-align: center;
  padding: 0;                  /* 避免干扰 */
  line-height: normal;         /* 清除 line-height */
  font-size: 14px;             /* 如有需要 */
}

/* 预留用：暂时隐藏的色块容器（结构保留，代码可随时开启） */
.placeholder-card { display: none; }

.resonance-button:active { color: #ffcaaf; }


/* ===== beian-card patch v2 (merged block4, same interaction as red-button) ===== */
/* 让色块在同一行更贴合：避免 stretch 拉伸导致“远离/错位” */
.footer-button-group { align-items: center; }

/* 备案色块允许随内容自然增高，但不拉伸其它色块 */
.footer-shortcut-card.beian-card { align-self: center; }

/* 备案按钮：允许换行并自然增高；蓝色体系 */
.footer-button.beian-blue-button {
  height: auto;
  padding: 10px 0;
  line-height: 1.25;
  white-space: normal;

  background-color: #346FD4;
  color: #ffffff;
  text-decoration: none;

  border-radius: 14px; /* ✅ 修复正方形，跟其他按钮一致 */

  box-shadow: 0 4px 12px rgba(52, 111, 212, 0.4);
  transition: background-color 0.3s, transform 0.2s, font-size 0.2s, font-weight 0.2s, box-shadow 0.2s;
}

/* hover/auto-hover：复刻 red-button 的加粗 + 位移 + 阴影增强 */
.footer-button.beian-blue-button:hover,
.footer-button.beian-blue-button.auto-hover {
  background-color: #ffffff;
  color: #346FD4;
  font-weight: bold;
  font-size: 14.7px;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(52, 111, 212, 0.35);
}
/* ===== end beian-card patch v2 ===== */



/* ===== beian-card compact tweak ===== */
/* 让色块4整体更矮一些 */
.footer-shortcut-card.beian-card {
  padding: 12px;      /* 原 16px → 12px */
  gap: 8px;           /* 原 12px → 8px */
}

/* 让按钮更贴合文字 */
.footer-button.beian-blue-button {
  padding: 7px 0;     /* 原 10px → 7px */
  line-height: 1.15;  /* 原 1.25 → 1.15 */
  font-size: 14px;    /* 保持与其他按钮一致 */
}

/* hover 时仍然有 red-button 的动效 */
.footer-button.beian-blue-button:hover,
.footer-button.beian-blue-button.auto-hover {
  font-size: 14.7px;
  transform: translateY(-2px);
}
/* ===== end beian-card compact tweak ===== */
/* ===== beian-card compact tweak（对齐 style1 的视觉尺寸） ===== */
/* 让色块4整体更矮一些 */
.footer-shortcut-card.beian-card {
  padding: 12px;      /* 原 16px → 12px */
  gap: 8px;           /* 原 12px → 8px */
}

/* 让按钮更贴合两行文字 */
.footer-button.beian-blue-button {
  height: auto;       /* 允许两行自然增高 */
  padding: 7px 0;     /* 原 10px → 7px（更紧凑） */
  line-height: 1.15;  /* 两行更舒服但不撑高 */
  white-space: normal;
  font-size: 14px;    /* 与其他按钮一致 */
  border-radius: 14px;/* 防止看起来偏方 */
}
/* ===== end ===== */
/* ===== 备案 footer（完整迁移版） ===== */

.beian-footer {
  width: 100%;
  text-align: center;
  padding: 12px 0;
  margin-top: auto;
  background: #f5f5f5;
}

.beian-footer-flex {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  margin: 0 15px;
}

.beian-link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #666;
  text-decoration: none;
  font-size: 13px;
}

.beian-icon {
  width: 15px;
  height: 15px;
}

@media (max-width: 640px) {
  .beian-footer-flex {
    display: grid;
    grid-template-columns: repeat(2, max-content);
    justify-content: center;
    column-gap: clamp(6px, 2vw, 12px);
    row-gap: 5px;
    margin: 0 8px;
  }

  .beian-link:first-child {
    grid-column: 1 / -1;
    justify-self: center;
  }

  .beian-link:nth-child(n+2) {
    white-space: nowrap;
  }
}

/* 页面撑满（从原 HTML 抽离） */
.site-shell {
  width: 100%;
  flex: 1 0 auto;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  min-height: 100dvh;
}

/* 暗黑模式 */
@media (prefers-color-scheme: dark) {
  .beian-footer {
    background: #222;
  }
  .beian-link {
    color: #aaa;
  }
  .beian-icon {
    filter: brightness(0.8) invert(0.8);
  }
}

/* PC 横排 */
@media (min-width: 641px) {
  .beian-footer-flex {
    flex-direction: row;
    gap: 15px;
    justify-content: center;
  }
}
@media (min-width: 768px) {
  .tagline {
    white-space: normal;
    word-break: break-word;
    padding: 0 20px;
  }
}
/* ===== BANG! TIME 倒计时轮播卡 ===== */

.bang-clock-slide {
  background: transparent;
}

.bang-clock-card {
  width: 100%;
  height: 100%;
  border-radius: 16px;
  overflow: hidden;
  cursor: pointer;
  user-select: none;
  background: linear-gradient(135deg, #f8f7ff, #ebe7f8);
  border: 1px solid rgba(124,104,209,0.22);
  display: flex;
  align-items: center;
  justify-content: center;
}

.bang-clock-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  opacity: 0.78;
  animation: bangFlicker 0.72s ease-in-out infinite alternate;
}

.bang-clock-title {
  margin-bottom: 7px;
  font-family: "BebasNeue", "Helvetica Neue Condensed Bold", "Arial Narrow", sans-serif;
  font-size: 24px;
  letter-spacing: 1px;
  color: rgba(255,255,255,0.82);
  text-shadow: 0 0 2px rgba(255,255,255,0.25);
}

.bang-clock-time-wrap {
  position: relative;
}

.bang-clock-main {
  font-family: "BebasNeue", "Helvetica Neue Condensed Bold", "Arial Narrow", sans-serif;
  font-size: 70px;
  color: #7c68d1;
  text-shadow:
    0 0 5px rgba(124,104,209,0.45),
    0 0 1px rgba(255,255,255,0.08);
}

.bang-clock-seconds {
  position: absolute;
  right: -32px;
  bottom: 2px;
  font-family: "BebasNeue", "Helvetica Neue Condensed Bold", "Arial Narrow", sans-serif;
  font-size: 26px;
  color: #7c68d1;
  opacity: 0.62;
  transition: opacity 0.22s ease-in-out, transform 0.22s ease-in-out;
}

.bang-clock-seconds.pulse {
  opacity: 1;
  transform: scale(1.08);
}

.bang-clock-subtitle {
  margin-top: 10px;
  font-family: "BebasNeue", "Helvetica Neue Condensed Bold", "Arial Narrow", sans-serif;
  font-size: 17px;
  color: #3ab926;
  letter-spacing: 0.6px;
  text-shadow: 0 0 2px rgba(58,185,38,0.35);
}

.bang-clock-card.shake {
  animation: bangClockShake 0.35s linear;
}

@keyframes bangFlicker {
  from { opacity: 0.78; }
  to { opacity: 1; }
}

@keyframes bangClockShake {
  0% { transform: translateX(0); }
  20% { transform: translateX(4px); }
  40% { transform: translateX(-4px); }
  60% { transform: translateX(2px); }
  80% { transform: translateX(-2px); }
  100% { transform: translateX(0); }
}

@media (prefers-color-scheme: dark) {
  .bang-clock-card {
    background: linear-gradient(135deg, #202126, #2a2c34);
    border: 1px solid rgba(255,255,255,0.1);
  }

  .bang-clock-subtitle {
    color: #98fa4c;
    text-shadow: 0 0 6px rgba(152,250,76,0.9);
  }
}
@media (max-width: 768px) {
  .bang-clock-title {
    font-weight: 700;
  }

  .bang-clock-main {
    font-weight: 600;
    text-shadow:
      0 0 6px rgba(124,104,209,0.4),
      0 0 1px rgba(255,255,255,0.08);
  }

  .bang-clock-seconds {
    font-weight: 600;
  }

  .bang-clock-subtitle {
    font-weight: 700;
  }
}
/* 未上架蒙版（上架后删除此段即可） */
.appstore-coming-soon {
  position: absolute;
  inset: 0;
  background: transparent;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding-bottom: 80px;  /* ← 只保留这一个 */
  pointer-events: none;
}


.appstore-coming-soon span {
  font-family: "BebasNeue", "Arial Narrow", sans-serif;
  font-size: 18px;
  letter-spacing: 2px;
  color: rgba(255, 255, 255, 0.88);
  background: rgba(0,0,0,0.35);
  padding: 4px 16px;
  border-radius: 20px;
}
@font-face {
  font-family: "BebasNeue";
  src: url("fonts/BebasNeue-Regular.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

/* 页面名称专用字形子集；修改名称时需同步更新字体子集。 */
@font-face {
  font-family: "KingHwaOldSong";
  src: url("fonts/KingHwaOldSong-MuseCue.woff?v=3") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "EB Garamond";
  src: url("fonts/EBGaramond-MuseCue.woff") format("woff");
  font-weight: 600 700;
  font-style: normal;
  font-display: swap;
}

/* ===== 小丑猫提词板：李子静态背景 + 紫电动效 ===== */
.plum-lightning-slide {
  background: transparent;
}

.plum-lightning-card {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  isolation: isolate;
  cursor: pointer;
  user-select: none;
  background:
    radial-gradient(circle at 25% 18%, rgba(184, 102, 255, 0.17), transparent 34%),
    linear-gradient(135deg, rgb(87, 64, 102) 0%, rgb(22, 9, 31) 100%);
}

.plum-lightning-card::before,
.plum-lightning-card::after {
  content: "";
  position: absolute;
  z-index: 0;
  width: 58%;
  aspect-ratio: 1;
  border-radius: 50%;
  filter: blur(42px);
  pointer-events: none;
}

.plum-lightning-card::before {
  left: -28%;
  top: 5%;
  background: rgba(110, 33, 255, 0.20);
}

.plum-lightning-card::after {
  right: -30%;
  bottom: 3%;
  background: rgba(184, 102, 255, 0.14);
}

#plumLightningCanvas,
.plum-lightning-vignette,
.plum-lightning-copy,
.plum-lightning-caption {
  position: absolute;
}

#plumLightningCanvas {
  z-index: 2;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.plum-lightning-vignette {
  z-index: 1;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.035), transparent 25%),
    radial-gradient(ellipse at center, transparent 38%, rgba(8, 2, 13, 0.42) 100%);
  pointer-events: none;
}

.plum-lightning-copy {
  z-index: 3;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  box-sizing: border-box;
  color: #f5f0e8;
  font-family: "KingHwaOldSong", "Songti SC", serif;
  font-size: clamp(21px, 7.4vw, 31px);
  line-height: 1.25;
  text-align: center;
  white-space: nowrap;
  text-shadow: 0 2px 12px rgba(18, 4, 28, 0.66);
}

.plum-lightning-card.shake {
  animation: bangClockShake 0.35s linear;
}

/* ===== 小丑猫提词板宣传 PNG 卡片 ===== */
.prompter-app-slide {
  background: #ffffff;
}

.swiper-slide-active.prompter-app-slide {
  z-index: 10 !important;
}

.prompter-app-card {
  background: transparent;
}

@media (prefers-color-scheme: dark) {
  .prompter-app-slide {
    background: #1e1e1e;
  }
}

.prompter-app-card {
  position: relative;
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  color: white;
  text-decoration: none;
}

.prompter-app-card img {
  position: absolute;
  inset: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* 名称在透明 PNG 上方，沿卡片中轴线轮播。 */
.prompter-app-name {
  position: absolute;
  z-index: 3;
  top: 56.5%;
  left: 0;
  width: 100%;
  height: 9%;
  white-space: nowrap;
  pointer-events: none;
}

.prompter-app-name-item {
  position: absolute;
  inset: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0;
  font-family: "KingHwaOldSong", "Songti SC", serif;
  font-size: clamp(19px, 7.8vw, 24px);
  line-height: 1;
  animation: prompterNameFade 20s ease-in-out infinite;
}

.prompter-app-name-item.name-japanese {
  font-size: clamp(16px, 6vw, 19px);
}

.prompter-app-name-item:nth-child(2) { animation-delay: 4s; }
.prompter-app-name-item:nth-child(3) { animation-delay: 8s; }
.prompter-app-name-item:nth-child(4) { animation-delay: 12s; }
.prompter-app-name-item:nth-child(5) { animation-delay: 16s; }
.prompter-app-name-item .name-english,
.prompter-app-name-item.name-english {
  font-family: "EB Garamond", Georgia, serif;
  font-weight: 600;
}
.prompter-app-name-item.name-english {
  font-size: clamp(24px, 9vw, 30px);
}
.prompter-app-name-item .name-blue { color: #00bbff; }
.prompter-app-name-item .name-pink { color: #fe6780; }

@keyframes prompterNameFade {
  0%, 20% { opacity: 0; }
  3%, 16% { opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
  .prompter-app-name-item { animation: none; }
  .prompter-app-name-item:first-child { opacity: 1; }
}

.prompter-app-placeholder {
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 24px;
  line-height: 1.5;
}

.prompter-app-placeholder strong {
  font-size: 22px;
}

.prompter-app-placeholder small {
  color: rgba(255,255,255,0.76);
  font-size: 12px;
}

.prompter-app-card.has-image .prompter-app-placeholder {
  display: none;
}

@media (prefers-reduced-motion: reduce) {
  #plumLightningCanvas {
    opacity: 0.62;
  }
}

/* MuseCue：从李子背景中浮现并带有倒计时数字式光晕 */
.plum-lightning-copy {
  color: #b866ff;
  animation: museCueEmerge 5.2s linear infinite;
  will-change: opacity, filter, transform, text-shadow;
}

@keyframes museCueEmerge {
  0% {
    opacity: 0;
    filter: blur(9px);
    transform: scale(0.965);
    text-shadow: 0 0 0 rgba(184, 102, 255, 0);
  }
  58%, 84% {
    opacity: 1;
    filter: blur(0);
    transform: scale(1);
    text-shadow:
      0 0 5px rgba(184, 102, 255, 0.82),
      0 0 18px rgba(110, 33, 255, 0.62),
      0 0 1px rgba(255, 255, 255, 0.20);
  }
  100% {
    opacity: 0;
    filter: blur(8px);
    transform: scale(1.018);
    text-shadow: 0 0 0 rgba(184, 102, 255, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .plum-lightning-copy {
    animation: none;
    opacity: 1;
    filter: none;
    transform: none;
    text-shadow:
      0 0 5px rgba(184, 102, 255, 0.72),
      0 0 14px rgba(110, 33, 255, 0.48);
  }
}

/* DotzDatz 字色与六张灯牌动效卡片 */
.plum-lightning-copy .dotz-word { color: #D00252; }
.plum-lightning-copy .datz-word { color: #174DE3; }
.led-effect-card { position: relative; width: 100%; height: 100%; overflow: hidden; }
.led-effect-card canvas { display: block; width: 100%; height: 100%; }
.led-effect-name { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; padding: 12px; box-sizing: border-box; color: #fff; font: 700 clamp(22px, 8vw, 34px)/1.2 -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif; text-shadow: 0 2px 5px #000, 0 0 16px #000; pointer-events: none; }

/* 浏览器控件随系统外观切换；下方保留原有深色基准。 */
:root { color-scheme: light dark; }
body { background: #121212; color: #f0f0f0; }
.swiper-slide { background: #1e1e1e; box-shadow: 0 4px 12px rgba(255,255,255,.1); }
footer, .beian-footer { color: #aaa; }
.qr-box { background: #222; color: #f0f0f0; }

/* 六个名称只加载所需汉字，不请求完整字体文件。 */
@font-face {
  font-family: "KingHwaLED";
  src: url("fonts/KingHwaOldSong-LED.woff?v=4") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
.led-effect-name {
  font-family: "KingHwaLED", "Songti SC", serif;
  font-size: clamp(18px, 5vw, 22px);
  font-weight: normal;
}

/* 文字沿用 muse.pink 的透明度、模糊、轻微缩放与光晕浮现。 */
.plum-lightning-copy { animation: none; }
.plum-lightning-copy span { display: inline-block; will-change: opacity, filter, transform, text-shadow; }
.plum-lightning-copy .dotz-word { animation: dotzEmerge 5.2s linear infinite; }
.plum-lightning-copy .datz-word { animation: datzEmerge 5.2s linear infinite; }
@keyframes dotzEmerge {
  0% { opacity: 0; filter: blur(9px); transform: scale(.965); text-shadow: 0 0 0 transparent; }
  35%, 84% { opacity: 1; filter: blur(0); transform: scale(1); text-shadow: 0 0 5px rgba(255,255,255,.95), 0 0 18px rgba(167,125,255,.72); }
  100% { opacity: 0; filter: blur(8px); transform: scale(1.018); text-shadow: 0 0 0 transparent; }
}
@keyframes datzEmerge {
  0%, 20% { opacity: 0; filter: blur(9px); transform: scale(.965); text-shadow: 0 0 0 transparent; }
  58%, 84% { opacity: 1; filter: blur(0); transform: scale(1); text-shadow: 0 0 5px rgba(255,255,255,.95), 0 0 18px rgba(167,125,255,.72); }
  100% { opacity: 0; filter: blur(8px); transform: scale(1.018); text-shadow: 0 0 0 transparent; }
}

/* 闪电卡：白色字与柔和光晕，保留先后浮现。 */
.plum-lightning-copy .dotz-word,
.plum-lightning-copy .datz-word {
  color: #fff;
  text-shadow: 0 0 5px rgba(255,255,255,.95), 0 0 17px rgba(210,190,255,.85), 0 0 32px rgba(167,125,255,.7);
}

/* 闪电卡片第二行在 DotzDatz 完整出现后浮现。 */
.plum-lightning-copy { flex-direction: column; gap: 12px; }
.plum-lightning-title { white-space: nowrap; }
.plum-lightning-subtitle {
  color: #fff;
  font-family: "KingHwaOldSong", "Songti SC", serif;
  font-size: clamp(14px, 4.2vw, 18px);
  white-space: nowrap;
  text-shadow: 0 0 8px rgba(255,255,255,.75), 0 0 20px rgba(167,125,255,.65);
  animation: none;
}
.plum-lightning-subtitle .subtitle-pink {
  animation: subtitlePinkEmerge 5.2s linear infinite;
}
.plum-lightning-subtitle .subtitle-blue {
  animation: subtitleBlueEmerge 5.2s linear infinite;
}
@keyframes subtitlePinkEmerge {
  0%, 54% { opacity: 0; filter: blur(7px); transform: scale(.965); text-shadow: 0 0 0 transparent; }
  70%, 88% { opacity: 1; filter: blur(0); transform: scale(1); text-shadow: 0 0 5px rgba(208,2,82,.8), 0 0 18px rgba(208,2,82,.5); }
  100% { opacity: 0; filter: blur(8px); transform: scale(1.018); text-shadow: 0 0 0 transparent; }
}
@keyframes subtitleBlueEmerge {
  0%, 65% { opacity: 0; filter: blur(7px); transform: scale(.965); text-shadow: 0 0 0 transparent; }
  80%, 88% { opacity: 1; filter: blur(0); transform: scale(1); text-shadow: 0 0 5px rgba(23,77,227,.8), 0 0 18px rgba(23,77,227,.5); }
  100% { opacity: 0; filter: blur(8px); transform: scale(1.018); text-shadow: 0 0 0 transparent; }
}

/* 闪耀着了么：品牌双色拼接。 */
.resonance-button,
.resonance-button:hover,
.resonance-button.auto-hover {
  background: linear-gradient(90deg, #D00252 0 50%, #174DE3 50% 100%) !important;
  color: #fff;
}

/* 品牌双色采用柔和色调，斜线分界。 */
.resonance-button,
.resonance-button:hover,
.resonance-button.auto-hover {
  background: linear-gradient(135deg, #D86C96 0 50%, #7095EC 50% 100%) !important;
  color: #fff;
  text-shadow: 0 1px 2px rgba(26, 20, 48, .45);
}

/* 当前仅一条 ICP 信息，备案栏保持紧凑的深色外观。 */
.beian-footer {
  background: #1b1b1e;
  border-top: 1px solid rgba(255,255,255,.07);
  padding: 6px 0;
}
.beian-footer-flex {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 0;
  margin: 0 8px;
}
.beian-link {
  color: #aeb3be;
  font-size: 12px;
  line-height: 1.2;
  white-space: nowrap;
}

/* 默认压低饱和度；实际交互时恢复品牌亮度。 */
.resonance-button,
.resonance-button.auto-hover {
  background: linear-gradient(135deg, #8E7880 0 50%, #6D7894 50% 100%) !important;
  color: #fff;
}
.resonance-button:hover,
.resonance-button:active,
.resonance-button:focus-visible,
.resonance-button.is-playing,
.resonance-button.is-playing.auto-hover {
  background: linear-gradient(135deg, #D00252 0 50%, #174DE3 50% 100%) !important;
  color: #fff;
}

/* 默认保留品牌色，在表面叠一层轻薄磨砂玻璃。 */
.resonance-button,
.resonance-button.auto-hover {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #D00252 0 50%, #174DE3 50% 100%) !important;
}
.resonance-button::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: inherit;
  background: rgba(235, 238, 247, .14);
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
  pointer-events: none;
  transition: opacity .25s ease;
}
.resonance-button:hover::before,
.resonance-button:active::before,
.resonance-button:focus-visible::before,
.resonance-button.is-playing::before { opacity: 0; }

/* 副标题两段各自发出同色的柔和光晕。 */
.plum-lightning-subtitle .subtitle-pink {
  color: #D00252;
  text-shadow: 0 0 5px rgba(208,2,82,.8), 0 0 13px rgba(208,2,82,.48);
}
.plum-lightning-subtitle .subtitle-blue {
  color: #174DE3;
  text-shadow: 0 0 5px rgba(23,77,227,.8), 0 0 13px rgba(23,77,227,.48);
}

.resonance-button-label { position: relative; z-index: 2; pointer-events: none; }

/* 右上角语言选择，不遮挡手机上的 Logo。 */
.language-picker { position: fixed; top: 12px; right: 12px; z-index: 1000; font: 13px/1.2 -apple-system, BlinkMacSystemFont, Arial, sans-serif; text-align: left; }
.language-trigger { min-width: 96px; padding: 8px 11px; border: 1px solid rgba(255,255,255,.23); border-radius: 999px; color: #f5f5f7; background: rgba(32,32,38,.78); -webkit-backdrop-filter: blur(9px); backdrop-filter: blur(9px); cursor: pointer; }
.language-trigger { display: inline-flex; align-items: center; justify-content: center; gap: 5px; white-space: nowrap; }
.language-globe { width: 16px; height: 16px; flex: none; }
.language-chevron { margin-left: 1px; font-size: 10px; }
.language-menu { position: absolute; top: calc(100% + 7px); right: 0; min-width: 126px; padding: 5px; border: 1px solid rgba(255,255,255,.15); border-radius: 12px; background: rgba(28,28,33,.96); box-shadow: 0 10px 24px rgba(0,0,0,.35); }
.language-menu[hidden] { display: none !important; }
.language-menu button { display: block; width: 100%; padding: 8px 10px; border: 0; border-radius: 7px; background: transparent; color: #e9e9ee; text-align: left; font: inherit; cursor: pointer; }
.language-menu button:hover, .language-menu button[aria-pressed="true"] { background: rgba(255,255,255,.14); }
@media (max-width: 600px) { .logo img { margin-top: 54px; } }
/* 所有已收录字形沿用京华老宋体；韩文字形由衬线字体补足。 */
@font-face {
  font-family: "NotoSerifKRSubset";
  src: url("fonts/NotoSerifKR-Subset.woff?v=1") format("woff");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
html:lang(ko) .led-effect-name { font-family: "KingHwaLED", "NotoSerifKRSubset", serif; }
html:lang(ko) .plum-lightning-subtitle { font-family: "NotoSerifKRSubset", serif; }

/* 移动浏览器地址栏伸缩时，让备案栏始终落在网页可用区域的末端。 */
body { min-height: 100dvh; }
.beian-footer { flex-shrink: 0; }

/* 避免 3D 轮播切换时短暂绘制卡片背面。 */
.swiper-slide,
.plum-lightning-card,
.led-effect-card {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

/* 让卡面文字在 coverflow 的 3D 移动中保持独立合成层。 */
.swiper-slide,
.plum-lightning-card,
.led-effect-card {
  -webkit-backface-visibility: visible;
  backface-visibility: visible;
}
.led-effect-name,
.plum-lightning-copy {
  -webkit-backface-visibility: visible;
  backface-visibility: visible;
  transform: translate3d(0, 0, 1px);
  -webkit-font-smoothing: antialiased;
}

/* Canvas 已绘制名称后，隐藏重复的视觉文字，保留 DOM 文本供本地化与辅助技术使用。 */
.canvas-labels-ready .led-effect-name { opacity: 0; }

/* 浅色系统外观：页面外壳与控件变亮，七张动效卡保持原有视觉。 */
@media (prefers-color-scheme: light) {
  html { background: #f7f7fa; }
  body { background: #f7f7fa; color: #24242c; }
  .swiper-slide { box-shadow: 0 8px 20px rgba(29, 27, 43, .16); }
  footer { color: #646a77; }
  .beian-footer {
    background: #ebecf1;
    color: #646a77;
    border-top-color: rgba(37, 40, 57, .1);
  }
  .beian-link { color: #515766; }
  .qr-box { background: #fff; color: #24242c; }
  .language-trigger {
    color: #292b35;
    background: rgba(255, 255, 255, .88);
    border-color: rgba(42, 43, 59, .18);
  }
  .language-menu {
    background: rgba(255, 255, 255, .97);
    border-color: rgba(42, 43, 59, .12);
    box-shadow: 0 10px 24px rgba(25, 25, 38, .14);
  }
  .language-menu button { color: #292b35; }
  .language-menu button:hover,
  .language-menu button[aria-pressed="true"] { background: rgba(38, 45, 77, .09); }
}
