/**
 * 小屏兜底（放在样式表最后加载，用于覆盖前面的 cqw 字号）
 * 舞台宽度缩到 844px（手机横屏）时，1cqw 只有 8.4px，
 * 所以所有正文级字号都加一个 px 下限，保证手机上仍然可读。
 */

.dock__btn,
.btn,
.tab,
.menu__row,
.scene__edge { font-size: max(1cqw, 12px); }

/* 独白页单独放大；只作用于 .prologue__lines p，不影响全局按钮/页签 */
.prologue__lines p { font-size: clamp(21px, 2.7svh, 36px); }

.panel__close { font-size: max(.95cqw, 12px); }
.menu__row b { font-size: max(.92cqw, 11px); }
.menu__tip { font-size: max(.76cqw, 10px); }

.prologue::after { font-size: max(.82cqw, 11px); letter-spacing: .2em; }

/* 阅读器翻页按钮：手机上要坐得住手指 */
.sheet__nav { font-size: max(.95cqw, 13px); min-height: 44px; padding: 0 max(1.4cqw, 14px); }
.sheet__count { font-size: max(.82cqw, 12px); }

/* 道具说明 */
.item-info b { font-size: max(.92cqw, 12px); }
.item-info p { font-size: max(.8cqw, 11px); }

.card__name { font-size: max(.72cqw, 10px); }
.card.is-slang::after { font-size: max(.66cqw, 10px); }
.card.is-unread::before { font-size: max(.66cqw, 10px); }

/* 包裹里的说明与"只看不拿"的文案 */
.inspect__hint { font-size: max(.9cqw, 13px); }
.inspect__tip { font-size: max(.84cqw, 12px); }
.inspect__note { font-size: max(.94cqw, 14px); }
/* 条目名与右侧状态：手机上原来只有 8px 上下，读起来费劲 */
.inspect__name { font-size: max(1.02cqw, 15px); }
.inspect__state { font-size: max(.78cqw, 11px); }
.inspect__icon { width: max(2.6cqw, 22px); height: max(2.6cqw, 22px); }
.inspect__row { min-height: 44px; }

/* 文书动作条：字号与点按高度下限 */
.sheet__acts .btn { font-size: max(.9cqw, 12px); min-height: 34px; }

/* 炼金：步骤条、台面器物与每一步的说明 */
.alchemy__steps { font-size: max(.9cqw, 12px); }
.alchemy__goal { font-size: max(.92cqw, 13px); }
.alchemy__jar-name { font-size: max(.82cqw, 12px); }
.alchemy__jar-count { font-size: max(.72cqw, 11px); }
.alchemy__bottle-name { font-size: max(.72cqw, 11px); white-space: nowrap; }
.alchemy__puff { font-size: max(.74cqw, 11px); }
.alchemy__tip { font-size: max(.88cqw, 12px); }
/* 器物按容器缩放，触屏上仍要留出抓得住的尺寸（热区靠 ::after 撑，不放大图形） */
.alchemy__jar { min-height: 44px; }
.alchemy__hood { width: max(4.6cqw, 40px); }
.alchemy__pestle { width: max(1.95cqw, 17px); }
.alchemy__bellows { width: max(6cqw, 46px); }

/* 窄屏时给火盆左边的风箱留出位置，不然会被舞台裁掉 */
@media (max-width: 1100px) {
  .alchemy__col--center { padding-left: 6.4cqw; }
}

/* 黑话三选一：字号与点按高度都有下限 */
.quiz__opt { font-size: max(1.02cqw, 14px); }
.quiz__opt b { width: max(1.9cqw, 22px); height: max(1.9cqw, 22px); font-size: max(.82cqw, 12px); }
.quiz__tip { font-size: max(.92cqw, 12px); }
.quiz__open { font-size: max(.92cqw, 12px); }

/* 尾声 */
.epilogue__line { max-width: 82cqw; font-size: max(1.15cqw, 14px); }
.epilogue__skip { font-size: max(.92cqw, 12px); }
.epilogue__title { font-size: max(3.4cqw, 30px); }
.epilogue__sub { font-size: max(1.05cqw, 13px); }
.epilogue__boot { font-size: max(11cqw, 13px); }
.slot { font-size: max(.82cqw, 11px); }
.panel__hint { font-size: max(.82cqw, 11px); }

.toast { font-size: max(1.12cqw, 13px); padding: max(.85cqw, 9px) max(1.8cqw, 16px); }

.quest { font-size: max(.98cqw, 12px); }
.quest__title { font-size: max(.92cqw, 11px); }

.hotspot__label { font-size: max(.92cqw, 11px); }
.held__name { font-size: max(1.05cqw, 12px); }
.held__x { font-size: max(1.2cqw, 14px); width: max(2cqw, 22px); height: max(2cqw, 22px); }

.sheet__title { font-size: max(1.7cqw, 18px); }
.sheet__body { font-size: max(1.12cqw, 14px); line-height: 2.05; }
.sheet__body p.date { font-size: max(.95cqw, 12px); }
.sheet__body p.ghost { font-size: max(1.02cqw, 13px); }
.shot__cap { font-size: max(.95cqw, 11px); }
.saved { font-size: max(.78cqw, 10px); }

/* 手机端（含 932 宽的大屏手机横屏）：卡片角标太小、容易误触，
   阅读统一走说明区右侧的「翻阅」 */
@media (max-width: 1100px) {
  .card__read { display: none; }
  .item-info__read {
    min-height: 32px;
    font-size: max(.76cqw, 12px);
    padding: 0 .9cqw;
  }
  .item-info p { -webkit-line-clamp: 2; }
}

/* 任务条目最多两行，避免一条目标把整张卡撑满（手机上尤其明显） */
.quest__list li {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
/* 已完成的目标只占一行，把空间留给当前目标 */
.quest__list li.is-done { -webkit-line-clamp: 1; }

@media (max-height: 480px) {
  .panel { height: 56cqh; }
  .panel[data-open="true"] ~ .toast-wrap { bottom: 60cqh; }

  /* 右栏顶部让出「收起」，内容再长就滚动，不硬挤 */
  .panel__right {
    justify-content: flex-start;
    padding: 7.2cqh 0 1cqh;
    overflow-y: auto;
  }
  .slot {
    width: 6.8cqw;
    height: 6.8cqw;
    padding: 0;
    letter-spacing: 0;
    font-size: max(.82cqw, 10px);
  }
  .item-info { padding: .55cqh .8cqw; }
  .item-info p { -webkit-line-clamp: 3; line-height: 1.6; }
  /* 手机上「翻阅」做成文字样式，别再和「收起」抢视觉 */
  .item-info__read {
    border-color: transparent;
    background: transparent;
    text-decoration: underline;
    text-underline-offset: 3px;
  }

  /* 当前目标：卡片加宽、列表限高可滚 */
  .quest { width: 27cqw; }
  .quest__list { max-height: 27cqh; padding-top: .6cqw; }
  .quest[data-open="true"] .quest__list {
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: rgba(200, 163, 90, .35) transparent;
  }

  /* 阅读器：纸页更高更宽，正文更大，翻页条压扁 */
  .modal__panel { width: 68cqw; max-height: 92cqh; }
  .sheet { height: 86cqh; padding: 2.2cqh 2.4cqw 1.4cqh; }
  .sheet[data-single="true"] { max-height: 92cqh; }
  .sheet__body { font-size: max(1.12cqw, 14px); line-height: 1.9; }
  .sheet__nav {
    min-height: 34px;
    font-size: max(.88cqw, 12px);
    padding: 0 max(1.05cqw, 10px);
  }
  .sheet__count { font-size: max(.8cqw, 11px); }
  .sheet__close { width: max(2.9cqw, 32px); height: max(2.9cqw, 32px); }
  .shot__close { width: max(2.6cqw, 32px); height: max(2.6cqw, 32px); }
  /* 矮屏上给底部提示条留位置：特写图别顶到底，说明文字也别被提示条压住 */
  .shot { margin-bottom: 9cqh; }
  .shot__img { max-height: 70cqh; }

}
