/* ============================================================
 * 铸剑学堂 H5 补丁层
 * 对齐微信小程序渲染差异 + 移动端（主流安卓 / iPhone）适配
 * ============================================================ */

/* ---------- rpx 基准：与小程序横屏 750 设计稿一致 ---------- */
:root {
  --rpx: calc(100vw / 750);
}

/* ---------- 基础盒模型对齐（小程序 view 默认 border-box） ---------- */
*, *::before, *::after {
  box-sizing: border-box;
}

html, body {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: #080b09;
  overscroll-behavior: none;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  /* 触屏体验：去点按高亮、禁长按呼出菜单/放大镜、禁双击缩放 */
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
  touch-action: manipulation;
}

/* ---------- 视口高度：100vh 在移动端浏览器地址栏下不准，用 dvh 兜底 ---------- */
.design-viewport {
  height: 100vh;
  height: 100dvh;
  width: 100vw;
  width: 100dvw;
}

/* ---------- 页面根容器禁止一切滚动（含程序滚动/聚焦滚动） ----------
   小程序 page 不可滚动，H5 中装饰层（如 victory-sweep 超界）会把容器撑出
   scrollHeight，浏览器聚焦/自动滚动时会整页错位。overflow:clip 彻底禁止，
   旧内核退回 hidden（配合 runtime.js 的 scroll 归零兜底）。 */
.design-viewport,
.page-scaled {
  overflow: hidden;
  overflow: clip;
}

/* ---------- 微信 button 默认样式对齐 ---------- */
button {
  border: 0;
  background-color: #f8f8f8;
  font-family: inherit;
  text-align: center;
  cursor: pointer;
  touch-action: manipulation;
}
button:disabled {
  color: inherit;
  cursor: default;
}

/* 操作按钮统一居中；箭头独立定位，避免挤偏文字，两侧等量留白支持换行。 */
:root button:is(.metal-button, .account-primary, .account-secondary, .equipment-secondary) {
  justify-content: center;
  text-align: center;
}

:root button:is(.start-button, .continue-button, .primary-command, .auth-submit, .equipment-primary, .mission-primary),
:root .chapter-overview button.chapter-start {
  position: relative;
  justify-content: center;
  padding-inline: 2.5em;
  text-align: center;
  white-space: normal;
}

:root button > :is(.start-arrow, .continue-arrow, .command-arrow),
:root .auth-submit > [aria-hidden="true"],
:root .primary-command > svg[aria-hidden="true"],
:root .equipment-primary > [aria-hidden="true"],
:root .mission-primary > [aria-hidden="true"] {
  position: absolute;
  inset-inline-end: .75em;
  top: 50%;
  margin: 0;
  transform: translateY(-50%);
  pointer-events: none;
}

/* ---------- image -> img 的 mode 对齐 ---------- */
img[data-mode] {
  display: block;
}
img[data-mode='aspectFill'] { object-fit: cover; }
img[data-mode='aspectFit']  { object-fit: contain; }
img[data-mode='scaleToFill'] { object-fit: fill; }
img[data-mode='widthFix'] { object-fit: contain; }

/* ---------- 需要拖拽的元素：阻止页面手势，只保留应用手势 ---------- */
.signal-game,
.timeline-events,
.gucai-card,
.quote-token,
.artillery-cannon-model,
.artillery-fire-control,
.beacon-tower,
.gucai-track-wrap {
  touch-action: none;
}

/* 允许滚动的面板（设置 / 档案抽屉） */
.side-panel,
.report-panel,
.wx-modal {
  touch-action: pan-y;
  -webkit-overflow-scrolling: touch;
}

/* ---------- Vue block 缺陷绕过：command 游戏面板组的结果浮层宿主 ---------- */
/* 该宿主由构建手术生成：无条件渲染、绝对定位铺满 .game-board，
   让内部 .game-result-overlay 的 v-if 脱离兄弟条件组（见 build/build.js）。 */
.game-board-float-host {
  position: absolute;
  inset: 0;
  z-index: 30;
  pointer-events: none;
}
.game-board-float-host .game-result-overlay {
  position: absolute;
  pointer-events: auto;
}

/* ---------- wx shim UI：Toast ---------- */
.wx-shim-ui {
  position: fixed;
  inset: 0;
  z-index: 9999;
  pointer-events: none;
}
.wx-toast {
  position: absolute;
  top: 18%;
  left: 50%;
  transform: translateX(-50%) translateY(-8px);
  max-width: 70%;
  padding: 10px 18px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: rgba(12, 16, 13, 0.92);
  color: #f5f1e7;
  font-size: 13px;
  line-height: 1.5;
  border-radius: 6px;
  opacity: 0;
  transition: opacity 0.22s ease, transform 0.22s ease;
  pointer-events: none;
}
.wx-toast.show {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

/* ---------- wx shim UI：Modal ---------- */
.wx-modal-mask {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.6);
  pointer-events: auto;
}
.wx-modal {
  width: min(420px, 86vw);
  padding: 22px 20px 16px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 10px;
  background: #141a16;
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.55);
  color: #f5f1e7;
}
.wx-modal-title {
  font-size: 16px;
  font-weight: 800;
  line-height: 1.4;
  text-align: center;
}
.wx-modal-body {
  margin-top: 10px;
  color: rgba(245, 241, 231, 0.72);
  font-size: 13px;
  line-height: 1.6;
  text-align: center;
  white-space: pre-wrap;
}
.wx-modal-actions {
  display: flex;
  gap: 10px;
  margin-top: 18px;
}
.wx-modal-btn {
  flex: 1;
  height: 40px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.06);
  color: #f5f1e7;
  font-size: 14px;
  font-weight: 700;
}
.wx-modal-btn.confirm {
  border-color: rgba(225, 188, 104, 0.65);
  background: #b9433b;
  color: #fff;
}

/* ---------- 启动加载 ---------- */
.boot-loading {
  display: flex;
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 12px;
  background: #080b09;
  color: #f5f1e7;
}
.boot-loading span {
  font-size: 30px;
  font-weight: 900;
  letter-spacing: 6px;
}
.boot-loading em {
  color: rgba(245, 241, 231, 0.45);
  font-size: 12px;
  font-style: normal;
}

/* ---------- 竖屏提示（仅触屏设备竖持时出现） ---------- */
.rotate-hint {
  position: fixed;
  inset: 0;
  z-index: 10001;
  display: none;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 22px;
  background: linear-gradient(150deg, #0d120f 0%, #16211b 60%, #241f16 100%);
  color: #f5f1e7;
  text-align: center;
}
.rotate-icon {
  position: relative;
  width: 84px;
  height: 84px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.rotate-phone {
  position: relative;
  width: 34px;
  height: 60px;
  border: 3px solid #e1bc68;
  border-radius: 7px;
  animation: rotate-phone 2.4s ease-in-out infinite;
}
.rotate-phone::after {
  content: '';
  position: absolute;
  bottom: 4px;
  left: 50%;
  width: 8px;
  height: 3px;
  margin-left: -4px;
  border-radius: 2px;
  background: #e1bc68;
}
@keyframes rotate-phone {
  0%, 22%  { transform: rotate(0deg); }
  55%, 80% { transform: rotate(-90deg); }
  100%     { transform: rotate(0deg); }
}
.rotate-copy strong {
  display: block;
  font-size: 20px;
  letter-spacing: 4px;
}
.rotate-copy span {
  display: block;
  margin-top: 10px;
  color: rgba(245, 241, 231, 0.6);
  font-size: 13px;
  line-height: 1.8;
}
.rotate-lock-tip {
  margin-top: 2px;
  color: rgba(245, 241, 231, 0.42);
  font-size: 11px;
}

/* ---------- 竖屏提示 ---------- */
/* 默认隐藏，由运行时 JS（innerWidth/innerHeight 比较，兼容夸克等）
   在竖屏时添加 .show-hint 显示；横屏自动隐藏。仅横屏可进入，无竖屏出口。 */
.rotate-hint.show-hint {
  display: flex;
}

/* ---------- 竖屏提示内嵌的 iPhone 引导 ---------- */
.rotate-ios-tip {
  display: block;
  max-width: 300px;
  margin-top: 14px;
  padding: 10px 14px;
  border: 1px solid rgba(225, 188, 104, 0.45);
  border-radius: 10px;
  background: rgba(12, 16, 13, 0.7);
  color: rgba(245, 241, 231, 0.85);
  font-size: 12px;
  line-height: 1.7;
  text-align: left;
}
.rotate-ios-tip strong {
  display: block;
  margin-bottom: 2px;
  color: #f0cf88;
  font-size: 13px;
  text-align: center;
  letter-spacing: 1px;
}
.rotate-ios-tip[hidden] {
  display: none;
}

/* ---------- iPhone「添加到主屏幕」引导条 ---------- */
.ios-install-tip {
  position: fixed;
  top: calc(env(safe-area-inset-top, 0px) + 8px);
  left: 12px;
  right: 12px;
  z-index: 9000;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid rgba(225, 188, 104, 0.55);
  border-radius: 10px;
  background: rgba(12, 16, 13, 0.94);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.45);
}
.ios-install-tip[hidden] {
  display: none;
}
.ios-install-copy {
  flex: 1 1 auto;
  color: rgba(245, 241, 231, 0.88);
  font-size: 12px;
  line-height: 1.55;
}
.ios-install-copy strong {
  color: #f0cf88;
}
.ios-install-close {
  flex: 0 0 auto;
  width: 28px;
  height: 28px;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 50%;
  background: transparent;
  color: rgba(245, 241, 231, 0.7);
  font-size: 16px;
  line-height: 26px;
}

/* 横竖屏引导强化：手机上需要一眼读懂，尤其是刘海屏竖持时。 */
.rotate-hint {
  gap: 26px;
  padding: max(28px, env(safe-area-inset-top, 0px)) max(24px, env(safe-area-inset-right, 0px)) max(28px, env(safe-area-inset-bottom, 0px)) max(24px, env(safe-area-inset-left, 0px));
}
.rotate-icon { width: 104px; height: 104px; }
.rotate-phone { width: 42px; height: 74px; border-width: 4px; border-radius: 9px; }
.rotate-copy strong { font-size: 28px; letter-spacing: 5px; }
.rotate-copy span { margin-top: 13px; font-size: 16px; line-height: 1.75; }
.rotate-lock-tip { font-size: 13px; line-height: 1.6; }
.rotate-ios-tip { max-width: min(360px, calc(100vw - 40px)); margin-top: 18px; padding: 13px 16px; font-size: 14px; line-height: 1.7; }
.rotate-ios-tip strong { font-size: 16px; }
.ios-install-tip { z-index: 10003; padding: 13px 15px; border-radius: 13px; }
.ios-install-copy { font-size: 14px; line-height: 1.6; }
.ios-install-close { width: 32px; height: 32px; font-size: 22px; }
body.portrait .ios-install-tip { display: none !important; }

@media (max-width: 480px) {
  .rotate-hint { gap: 20px; }
  .rotate-copy strong { font-size: 25px; }
  .rotate-copy span { font-size: 15px; }
}

/* ---------- 桌面端：窄窗口时保持可玩，给出最小可用宽度 ---------- */
@media (min-width: 769px) and (max-width: 1024px) {
  /* 中屏桌面直接全屏铺开即可 */
}

/* ---------- 横屏矮屏（iPhone SE / 8 等横屏浏览器）微调 ---------- */
@media (orientation: landscape) and (pointer: coarse) and (max-height: 420px) {
  /* Safari 横屏底部地址栏压缩可用高度：允许 HUD 收紧 */
  body { touch-action: manipulation; }
}

/* ---------- 无鼠标设备隐藏光标样式，反之保留 ---------- */
@media (hover: hover) and (pointer: fine) {
  button { transition: filter 0.15s ease; }
  button:hover { filter: brightness(1.08); }
}

/* ============================================================
 * 答题选项：间距更紧凑、文字加大一号（产品调整）
 * 覆盖五类答题界面：command/conduct 情景核验、victory 知识核验、
 * victory 识图判读、command 岗位践行情景、game 页检查点核验
 *
 * 高度随文字自适应。flex 子项一旦写死 min-height，会覆盖内容最小高度，
 * 长文案换行后被压回 36/56px，文字就会溢出选项框。
 * ============================================================ */
.scenario-options,
.quiz-options,
.console-options,
.checkpoint-options,
.daily-options {
  gap: 3px;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
}

.scenario-option,
.quiz-option,
.console-option,
.checkpoint-option,
.daily-option {
  box-sizing: border-box;
  flex: 0 0 auto;
  align-self: stretch;
  height: auto;
  max-height: none;
  min-height: 44px;
  padding-top: 8px;
  padding-bottom: 8px;
  overflow: visible;
}

.scenario-option-copy,
.quiz-option-copy,
.console-option-copy,
.checkpoint-option-copy,
.daily-option-text {
  display: block;
  min-width: 0;
  font-size: 15px;
  line-height: 1.4;
  white-space: normal;
  overflow: visible;
  overflow-wrap: break-word;
  word-break: break-word;
  -webkit-line-clamp: unset;
  line-clamp: unset;
}

/* 选项字母：随文字同步加大 */
.scenario-option-code,
.quiz-option-code,
.console-option-code,
.checkpoint-option-letter,
.daily-option-code {
  font-size: 14px;
}
.scenario-option-code,
.quiz-option-code {
  width: 24px;
  height: 24px;
}

/* victory 识图判读的反馈文字同步加大一号 */
.console-feedback-copy,
.quiz-feedback-copy,
.scenario-feedback-copy {
  font-size: 13px;
}

/* 岗位践行：题干字号与选项一致（手机浏览器最小字号会把小字号
   强制放大造成题干偏大，统一到 15px 两端一致） */
.daily-scene-text {
  font-size: 15px;
  line-height: 1.5;
}

/* ============================================================
 * 扫雷：已翻开格子（含空白）改为明显更暗的凹陷底色，
 * 与未翻开的凸起绿色块拉开对比（此前两者亮度过于接近）
 * ============================================================ */
.game-board .mine-cell.revealed {
  border-color: rgba(0, 0, 0, 0.35);
  background: #141d17;
  box-shadow: inset 0 2px 6px rgba(0, 0, 0, 0.55);
}
.game-board .mine-cell.revealed.empty {
  background: #101812;
}

/* ============================================================
 * 识图辨使命/实战训练识图：回答后的「下一幅场景」按钮悬浮固定。
 * 控制台原为固定高度 + overflow:hidden，矮屏机型上答题后插入的
 * 解析/铸铸/按钮总高超出容器，按钮（排在最后）被整体裁掉不显示。
 * 控制台可滚动，继续按钮保留在底部；矮屏使用 sticky 吸附，避免挤压内容。
 * 竖屏走页面级滚动（portrait），无需悬浮。
 * ============================================================ */
body:not(.portrait) .image-game-console {
  overflow-y: auto;
  padding-bottom: 54px;
}
/* 尚未作答时没有继续按钮，不提前占用选项的高度。 */
body:not(.portrait) .image-game-console:not(.answered) {
  padding-bottom: 10px;
}
body:not(.portrait) .image-game-console .console-next-btn {
  position: absolute;
  bottom: 10px;
  left: 12px;
  right: 12px;
  margin-top: 0;
  z-index: 4;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.45);
}
body.portrait .image-game-console {
  overflow: visible;
  flex: 0 0 auto;
}

@media (max-height: 500px) {
  /* 矮屏作答后滚动整个判读区，继续按钮吸附底部，不挤压选项和解析。 */
  body:not(.portrait) .image-game-console.answered {
    justify-content: flex-start;
    overflow-y: auto;
    padding-bottom: 8px;
    overscroll-behavior: contain;
    touch-action: pan-y;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: var(--theme-line) transparent;
  }
  body:not(.portrait) .image-game-console.answered .console-options {
    flex: 0 0 auto;
    overflow: visible;
  }
  body:not(.portrait) .image-game-console.answered .console-feedback { max-height: none; }
  body:not(.portrait) .image-game-console.answered .console-next-btn {
    position: sticky;
    bottom: 0;
    left: auto;
    right: auto;
    width: 100%;
    min-height: 34px;
    margin-top: 8px;
  }
}

@media (max-height: 340px) {
  body:not(.portrait) .image-game-console { padding-top: 7px; padding-left: 10px; padding-right: 10px; }
  body:not(.portrait) .image-game-console:not(.answered) { padding-bottom: 7px; }
  body:not(.portrait) .console-options { margin-top: 5px; gap: 4px; }
  body:not(.portrait) .console-option { min-height: 30px; padding-top: 3px; padding-bottom: 3px; }
}

/* 距离刻度的 WXML text 已转换为 span，补齐原刻度定位，避免单位折行。 */
.artillery-range-scale .range-tick > span {
  position: absolute;
  top: 11px;
  left: 50%;
  color: var(--theme-muted);
  font-family: "DIN Alternate", monospace;
  font-size: 8px;
  line-height: 1.2;
  transform: translateX(-50%);
  white-space: nowrap;
}

/* 知识核验题干：字重与选项一致（原 900 特粗视觉偏大），字号统一 15px */
.quiz-question {
  font-weight: 400;
  font-size: 15px;
}
.scenario-text {
  font-size: 15px;
}

/* 知识核验标题只保留「知识核验 N / M」后，略放大以免只剩 10px 角标 */
.command-operation .scenario-heading-copy .section-kicker,
.quiz-content > .section-kicker {
  font-size: 13px;
  line-height: 18px;
}

/* ============================================================
 * 通关结束页引用语句：打字机效果 + 引用块视觉强化
 * ============================================================ */
.stage-result-quote {
  display: block;
  position: relative;
  margin: 12px 0 10px;
  padding: 12px 14px 12px 40px;
  border-left: 3px solid #e2bd66;
  background: linear-gradient(90deg, rgba(226, 189, 102, 0.13), rgba(226, 189, 102, 0.03));
  border-radius: 0 8px 8px 0;
  color: #f0cf88;
  font-size: 16px;
  line-height: 1.75;
  text-align: left;
  min-height: 52px;
}
.stage-result-quote::before {
  content: '\201C';
  position: absolute;
  left: 12px;
  top: 2px;
  color: rgba(226, 189, 102, 0.85);
  font-size: 30px;
  font-weight: 900;
  font-family: Georgia, serif;
}
.sq-line {
  display: inline;
}
.sq-typed {
  color: inherit;
}
.sq-caret {
  display: inline-block;
  margin-left: 2px;
  color: #e2bd66;
  animation: sq-caret-blink 0.8s steps(1) infinite;
}
@keyframes sq-caret-blink {
  0%, 49% { opacity: 1; }
  50%, 100% { opacity: 0; }
}

/* 听党指挥/作风优良：幕通关页引用块强化（与 victory 通关页统一） */
.act-result-quote {
  display: block;
  position: relative;
  margin: 12px 0 10px;
  padding: 12px 14px 12px 40px;
  border-left: 3px solid #e2bd66;
  background: linear-gradient(90deg, rgba(226, 189, 102, 0.13), rgba(226, 189, 102, 0.03));
  border-radius: 0 8px 8px 0;
  color: #f0cf88;
  font-size: 15px;
  line-height: 1.75;
  text-align: left;
}
.act-result-quote::before {
  content: '\201C';
  position: absolute;
  left: 12px;
  top: 2px;
  color: rgba(226, 189, 102, 0.85);
  font-size: 28px;
  font-weight: 900;
  font-family: Georgia, serif;
}
.act-result-quote-source {
  display: block;
  margin-top: 6px;
  color: rgba(245, 241, 231, 0.5);
  font-size: 16px;
}

/* 通关结束页标题缩小 */
.stage-result-title,
.act-result-title {
  font-size: 17px;
}
.stage-result-index,
.act-result-index {
  align-self: center;
}
.act-result-number,
.stage-result-number {
  font-size: 34px;
}
.act-result-index .act-index-number,
.act-brief-index .act-index-number {
  font-size: 30px;
}

/* 引用块视觉微调：字号再大一号（17px）、开/闭引号由组件渲染、出处打字样式 */
.stage-result-quote,
.act-result-quote {
  font-size: 17px;
}
.act-result-quote::before {
  display: none;
}
.sq-open,
.sq-close {
  color: rgba(226, 189, 102, 0.9);
  font-size: 1.25em;
  font-weight: 900;
  font-family: Georgia, serif;
}
.sq-close {
  margin-left: 2px;
}
.sq-second {
  display: block;
  margin-top: 8px;
  color: rgba(245, 241, 231, 0.55);
  font-size: 16px;
  line-height: 1.5;
  text-align: right;
}
.sq-second-text {
  color: inherit;
}
.sq-caret-2 {
  color: rgba(245, 241, 231, 0.6);
}

/* ============================================================
 * 金句拼拼看 · 界面美化 + 目标区卡片拖动排序
 * ============================================================ */
.quote-target {
  border: 1px dashed rgba(226, 189, 102, 0.45);
  background: rgba(226, 189, 102, 0.05);
  border-radius: 8px;
}
.quote-selected-token {
  touch-action: none;
  cursor: grab;
  border-color: rgba(226, 189, 102, 0.55);
  background: linear-gradient(160deg, rgba(226, 189, 102, 0.26), rgba(226, 189, 102, 0.1));
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.28);
}
.quote-selected-token.dragging {
  z-index: 30;
  border-color: #e2bd66;
  background: linear-gradient(160deg, rgba(226, 189, 102, 0.4), rgba(226, 189, 102, 0.18));
  box-shadow: 0 12px 26px rgba(0, 0, 0, 0.5);
  cursor: grabbing;
}
.quote-selected-token .quote-selected-text {
  font-size: 14px;
  font-weight: 700;
}
.quote-selected-token .quote-remove {
  margin-left: 6px;
  padding: 0 4px;
  border-left: 1px solid rgba(255, 255, 255, 0.2);
  color: rgba(245, 241, 231, 0.55);
  font-size: 13px;
  cursor: pointer;
}
.quote-selected-token .quote-remove:hover {
  color: #ff8a7a;
}
.quote-token {
  transition: box-shadow 0.15s, border-color 0.15s;
}

/* ============================================================
 * 金句拼拼看：字体整体调大一号
 * ============================================================ */
.quote-token {
  font-size: 14px;
  line-height: 1.4;
}
.quote-selected-token .quote-selected-text {
  font-size: 16px;
}
.quote-placeholder {
  font-size: 14px;
  line-height: 1.5;
}
.quote-status-title {
  font-size: 15px;
}
.quote-status-kicker {
  font-size: 11px;
  line-height: 1.3;
}
.quote-score-label {
  font-size: 12px;
}
.quote-feedback {
  font-size: 13px;
  line-height: 1.5;
}
.quote-token {
  padding: 8px 12px;
}

/* 岗位践行：答题后只保留操作按钮，移除反馈区后使用两行布局。 */
.daily-game-mode .daily-game {
  grid-template-rows: minmax(0, 1fr) auto;
}
.daily-game-mode .daily-layout {
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
}
.daily-game-mode .daily-options {
  overflow-y: auto;
  overscroll-behavior: contain;
  touch-action: pan-y;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scrollbar-color: var(--theme-line) transparent;
}
.daily-game-mode .daily-next {
  min-height: 44px;
  cursor: pointer;
}


/* 首页封面：去掉左上角小字后，右侧档案编号保持靠右 */
.cover-top {
  justify-content: flex-end;
}
