/* 少量补充样式，主要靠 Tailwind */

html { -webkit-text-size-adjust: 100%; }
body { overflow-wrap: break-word; }

/* 滚动条 */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; }
::-webkit-scrollbar-track { background: transparent; }

/* 代码风格文本域（Prompt 编辑器） */
.prompt-area {
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, "Courier New", monospace;
  font-size: 13px;
  line-height: 1.7;
  tab-size: 2;
}

/* 报告页导出长图时需要固定宽度，避免响应式导致排版错乱 */
.exporting #report-body {
  width: 820px !important;
  max-width: none !important;
}

/* html2canvas 自己实现文字排版，基线和行盒算得跟浏览器有偏差，盒子刚好包住文字时
   下半截会被切掉。truncate 带的 overflow:hidden 正好构成这个条件，昵称就只剩上半截。
   导出宽度固定 820px，本来也用不上省略号，截图期间直接放开限制并留出行高余量。 */
.exporting #report-body .truncate {
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
  line-height: 1.6 !important;
}

/* 进度条动画：JS 每 120ms 推一次，这里只负责把两次之间补平。
   时间设太长会和 JS 打架，看起来一顿一顿的。 */
.progress-bar { transition: width .15s linear; }

/* 关键帧图片 */
.frame-img {
  aspect-ratio: 9 / 16;
  object-fit: cover;
  background: #0f172a;
}

/* 折叠面板 */
details > summary { list-style: none; cursor: pointer; }
details > summary::-webkit-details-marker { display: none; }

/* 打印 / 导出时隐藏 */
@media print {
  .no-print { display: none !important; }
}
