/* 复盘相关弹窗的窄屏溢出修复
   标题与工具栏保持可见，长文案只在内容区滚动；不改变深浅主题配色。 */

/* 语音复盘使用说明：小屏时不能把超出的说明裁掉。 */
#voice-review-help-modal {
  align-items: flex-start;
  padding: 12px;
}
#voice-review-help-modal > .voice-review-help-modal {
  box-sizing: border-box;
  width: min(680px, 100%);
  max-height: calc(100dvh - 24px);
  display: flex !important;
  flex-direction: column !important;
  grid-template-rows: none !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  scrollbar-width: thin;
}
#voice-review-help-modal .voice-review-help-content {
  flex: 0 0 auto !important;
  overflow: visible !important;
}
/* 浅色主题的品牌覆盖使用了更高选择器优先级，这里明确复写其旧的 hidden。 */
html[data-theme="light"] body:not(.auth-mode) #voice-review-help-modal > .voice-review-help-modal {
  display: flex !important;
  grid-template-rows: none !important;
  flex-direction: column !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}
html[data-theme="light"] body:not(.auth-mode) #voice-review-help-modal .voice-review-help-content {
  flex: 0 0 auto !important;
  overflow: visible !important;
}
#voice-review-help-modal .modal-head,
#voice-review-help-modal .modal-actions {
  position: sticky;
  z-index: 2;
  background: var(--paper2);
}
#voice-review-help-modal .modal-head { top: -1px; }
#voice-review-help-modal .modal-actions { bottom: -1px; }
#voice-review-help-modal .voice-review-help-content,
#voice-review-help-modal .voice-review-help-content section,
#voice-review-help-modal .voice-review-help-content aside,
#voice-review-help-modal .voice-review-help-content p { min-width: 0; }
#voice-review-help-modal .voice-review-help-content p,
#voice-review-help-modal .voice-review-help-content strong,
#voice-review-help-modal .voice-review-help-content aside { overflow-wrap: anywhere; word-break: break-word; }

/* 专业复盘工作台与棋力画像：外层不截断，内部面板负责纵向滚动。 */
#kifu-modal > .review-workbench-modal,
#go-profile-modal > .review-workbench-modal {
  box-sizing: border-box;
  max-height: calc(100dvh - 24px);
  min-height: 0;
}
#kifu-modal > .review-workbench-modal {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
#kifu-modal .review-workbench-body,
#go-profile-modal .go-profile-content {
  min-width: 0;
  min-height: 0;
}
#kifu-modal .review-workbench-body {
  flex: 1 1 auto;
  overflow: hidden;
}
#kifu-modal .kifu-center-panel.active {
  min-width: 0;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
}
#go-profile-modal > .review-workbench-modal {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
#go-profile-modal .go-profile-content {
  flex: 1 1 auto;
  max-height: none;
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-width: thin;
}
#go-profile-modal .go-profile-head,
#go-profile-modal .go-profile-section-title,
#go-profile-modal .go-profile-summary,
#go-profile-modal .go-profile-footnote,
#go-profile-modal .go-profile-content p,
#go-profile-modal .go-profile-content strong,
#go-profile-modal .go-profile-content span,
#go-profile-modal .go-profile-content small { min-width: 0; overflow-wrap: anywhere; word-break: break-word; }

/* 机构复盘的同步分析进度弹窗：窄屏下保持完整宽度并允许长状态文案换行。 */
.institution-analysis-overlay {
  box-sizing: border-box;
  align-items: flex-start;
  overflow-y: auto;
  padding: 12px;
}
.institution-analysis-dialog {
  box-sizing: border-box;
  width: min(520px, 100%);
  max-height: calc(100dvh - 24px);
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-width: thin;
}
.institution-analysis-dialog header,
.institution-analysis-dialog header div,
.institution-analysis-dialog p,
.institution-analysis-dialog > span { min-width: 0; }
.institution-analysis-dialog header strong,
.institution-analysis-dialog p,
.institution-analysis-dialog > span { overflow-wrap: anywhere; word-break: break-word; }

/* 分析档位选择是专业复盘的前置弹窗，卡片文案必须允许自然换行。 */
#analysis-tier-modal > .analysis-tier-modal-panel {
  box-sizing: border-box;
  max-height: calc(100dvh - 24px);
  overflow-x: hidden;
  overflow-y: auto;
}
#analysis-tier-modal .analysis-tier-description,
#analysis-tier-modal .analysis-tier-footnote,
#analysis-tier-modal .analysis-tier-option,
#analysis-tier-modal .analysis-tier-option small,
#analysis-tier-modal .analysis-tier-option-head { min-width: 0; overflow-wrap: anywhere; word-break: break-word; }

/* 四个工作区中的报告卡片也统一允许中文长句断行，避免按钮或摘要被横向撑开。 */
#review-view .rv-left,
#review-view .rv-right,
#review-view .rv-panel-scroll,
#voice-review-view .voice-review-main,
#institution-view #institution-workspace-content,
#institution-view .institution-editor-panel,
#institution-view .institution-preview-panel { min-width: 0; }
#review-view :is(.rv-report-focus, .rv-report-footnote, .rv-report-jump-list, .rv-training-list, .rv-story-grid),
#voice-review-view :is(.voice-review-narrative, .voice-review-help-content),
#institution-view :is(.institution-panel-title, .institution-preview-head, .institution-history-item, .institution-section-head) {
  overflow-wrap: anywhere;
  word-break: break-word;
}

/* 实战生题使用独立浅色画布，避免深底上的金色和低对比度空状态。 */
#training-library-modal > .training-library-modal {
  background: #fbfcf7 !important;
  color: #234f3e !important;
  border-color: #b9cabb !important;
}
#training-library-modal .modal-toolbar-title,
#training-library-modal .modal-toolbar-title span { color: #214f40 !important; }
#training-library-modal .modal-toolbar-title button,
#training-library-modal :is(.training-library-summary, .training-library-filters, .training-library-generator, .training-library-card) button,
#training-library-modal .training-library-generator select {
  color: #275b46 !important;
  background: #f6f8f2 !important;
  background-image: none !important;
  border-color: #b8cbbb !important;
  box-shadow: none !important;
}
#training-library-modal .training-library-intro {
  background: #edf4e9 !important;
  border-color: #bdcebc !important;
}
#training-library-modal .training-library-intro strong,
#training-library-modal .training-library-generator strong,
#training-library-modal .training-library-summary strong,
#training-library-modal .training-library-card header strong { color: #276248 !important; }
#training-library-modal :is(.training-library-intro span, .training-library-generator span, .training-library-generator label,
  .training-library-summary span, .training-library-card header span, .training-library-card p,
  .training-review-due, .training-library-card dt, .empty-state, .empty-state .empty-desc) { color: #5c7064 !important; }
#training-library-modal .training-library-generator,
#training-library-modal .training-library-card {
  background: #f4f7ef !important;
  border-color: #c6d2c4 !important;
}
#training-library-modal .training-library-card dl div { background: #e9efe5 !important; }
#training-library-modal .training-library-card dd,
#training-library-modal .empty-state .empty-title { color: #304f40 !important; }
#training-library-modal .training-library-card header em,
#training-library-modal .training-library-card header em.status-completed,
#training-library-modal .training-library-filters button.on {
  color: #276248 !important;
  background: #e4eee2 !important;
  border-color: #9fbaa4 !important;
}
#training-library-modal .empty-state .empty-icon { color: #46745c !important; opacity: .8; }
#training-library-modal .training-library-card footer button.danger { color: #9d4747 !important; border-color: #d9baba !important; }

@media (max-width: 560px) {
  #voice-review-help-modal > .voice-review-help-modal {
    padding: 18px;
  }
  #voice-review-help-modal .voice-review-help-content {
    gap: 7px;
    margin: 8px 0 12px;
  }
  #voice-review-help-modal .voice-review-help-content section {
    gap: 7px;
    padding: 9px;
    grid-template-columns: 23px minmax(0, 1fr);
  }
  #voice-review-help-modal .voice-review-help-content section > b {
    width: 23px;
    height: 23px;
  }
  #voice-review-help-modal .voice-review-help-content p {
    font-size: 9px;
    line-height: 1.55;
  }
  #go-profile-modal > .review-workbench-modal,
  #kifu-modal > .review-workbench-modal {
    max-height: calc(100dvh - 16px);
  }
  #kifu-modal .review-workbench-body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
  }
  #kifu-modal .kifu-center-panel.active {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
  }
  #go-profile-modal .go-profile-content {
    padding-right: 2px;
  }
  .institution-analysis-overlay { padding: 8px; }
  .institution-analysis-dialog { max-height: calc(100dvh - 16px); padding: 14px; }
}

/* 无工具导航时棋谱库占满弹窗，避免自动落入104px导航列。 */
#kifu-modal .review-workbench-body.library-only { grid-template-columns:minmax(0,1fr); }
#kifu-modal .kifu-center-library { min-width:0; }
#review-workbench-intro.review-source-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }

/* T014: rank selection uses warm paper in every theme. */
.rv-rank-choice,.rv-rank-card {background:#f7f2e8!important;color:#302c24!important;border:1px solid #c6ad73;border-radius:10px;padding:12px;margin:10px 0;min-width:0;overflow-wrap:anywhere;}
.rv-rank-choice button,.rv-rank-card button,.rv-rank-side {background:#f5eddd!important;color:#302c24!important;border:1px solid #c6ad73;border-radius:6px;padding:8px;}
.rv-rank-card small {display:block;color:#695e4c;}
.rv-rank-card > button {display:block;margin-top:10px;max-width:100%;}
.rv-rank-side {display:inline-flex;gap:5px;align-items:center;margin:8px 8px 4px 0;}
.rv-rank-explanation {font-size:12px;line-height:1.7;margin-top:8px;}
.rv-rank-explanation summary {cursor:pointer;color:#695532;}
.rv-rank-explanation ul {padding-left:20px;}
#analysis-tier-options > .rv-rank-choice {grid-column:1 / -1;}
#analysis-tier-modal:has(.rv-rank-choice) > .analysis-tier-modal-panel {background:#f7f2e8!important;color:#302c24!important;border:1px solid #c6ad73;}
#analysis-tier-modal:has(.rv-rank-choice) .analysis-tier-title-row,
#analysis-tier-modal:has(.rv-rank-choice) .analysis-tier-title-row strong,
#analysis-tier-modal:has(.rv-rank-choice) .analysis-tier-description,
#analysis-tier-modal:has(.rv-rank-choice) .analysis-tier-footnote {color:#504735!important;}
#rv-rank-edit-modal .modal {max-height:90vh;overflow:auto;width:min(540px,94vw);}
