/* 电脑矮屏：收紧标题与边距，优先给作品和验证表单留出首屏空间。 */
@media (min-width: 701px) and (max-height: 740px) {
  .tarot-stage { height: max(600px, 100svh); }
  /* 矮屏把引导文字抬离牌面；按钮已自带开始说明，避免两段提示叠在一起。 */
  .tarot-welcome[data-opening-chapter="intro"] .tarot-intro { top: 7%; }
  .tarot-welcome[data-opening-chapter="intro"] .tarot-guidance { display: none; }
  .tarot-welcome[data-opening-chapter="intro"] .tarot-summon { top: calc(100% - 52px) !important; }
  .paper-verify-intro { margin: 8px 0 20px; }
  .paper-verify-intro h1 { line-height: 1.4; margin: 6px 0; }
  .paper-verification { padding-top: 16px !important; }
  .paper-ticket .paper-ticket-form { padding-top: 22px; padding-bottom: 20px; }
  .paper-ticket-stub { padding-top: 22px; padding-bottom: 20px; }
  .exhibition-page { padding-top: 16px; }
  .exhibition-heading h1 { margin: 7px 0 5px; }
  .exhibition-side-note { margin-top: 6px; }
  [data-exhibition="easel"] .atelier-stage { margin-top: 15px; }
  [data-exhibition="compass"] .works-compass { margin-top: 10px; }
  .album-stage { margin-top: 14px; }
  /* 保留视频与章节导航的阅读空间，标题仍可换行且不会裁切。 */
  .work-detail .wd-intro { padding-top: 22px; padding-bottom: 16px; }
  .work-detail .wd-intro h1 { font-size: clamp(27px, 3vw, 38px); margin: 8px 0 6px; }
  .work-detail .wd-work-tag { margin-top: 8px; }
}

/* 大屏让星图和展品适度长大，并保留上限，避免主体缩成页面中央的一小团。 */
@media (min-width: 1800px) and (min-height: 1000px) {
  .gallery-map { max-width: 1660px; }
  .map-portal { width: 220px; }
  .portal-hit { width: 180px; height: 180px; }
  .exhibition-page { max-width: 1400px; }
  [data-exhibition="compass"] .works-compass { max-width: 1160px; height: 800px; }
  [data-exhibition="easel"] .atelier-stage {
    --paper-width: 358px; --paper-height: 390px; --paper-top: 96px; --easel-scale: 1.12;
    max-width: 1200px; height: 660px;
  }
  .album-stage { max-width: 1300px; }
}

/* 星图按视口和原始比例缩放；评价框展开时只增加滚动空间，不改变画布尺寸。 */
@media (min-width: 701px) {
  body.feedback-dock-visible[data-gallery-mode="map"] .map-canvas,
  .map-canvas {
    width: min(100%, clamp(635px, calc((100svh - 288px) * 1.322580645), 1125px));
    max-width: 1125px;
    height: auto;
    aspect-ratio: 820 / 620;
  }
}
