/* 复用已核验认领面板与个人报告的纸本 / 水墨令牌。 */
.speaker-progress {
  min-width: 0;
  padding: 22px 24px 24px;
  border-bottom: 1px solid var(--sc-line);
  color: var(--sc-text);
  overflow-wrap: anywhere;
}
.speaker-progress *, .apt-personal-archive * { box-sizing: border-box; }
.sp-header { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; }
.speaker-progress .sp-header h3 { margin: 0; scroll-margin-top: 112px; }
.sp-status { color: var(--sc-accent); white-space: pre-wrap; }
.sp-status:empty { display: none; }
.sp-status[role="alert"] { color: var(--sc-error); }
.speaker-progress .sp-muted { color: var(--sc-muted); font-size: 13px; margin: 6px 0; }
.speaker-progress .sp-identity { font-weight: 700; margin-top: 18px; }
.sp-summary, .sp-values, .sp-source-scores { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin: 16px 0; }
.sp-stat { min-width: 0; }
.sp-stat dt { color: var(--sc-muted); font-size: 12px; }
.sp-stat dd { margin: 4px 0 0; color: var(--sc-text); font-size: 18px; font-weight: 700; font-variant-numeric: tabular-nums; }
.sp-summary .sp-stat { border: 1px solid var(--sc-line); border-radius: 10px; padding: 12px; background: var(--sc-panel); }
.sp-section { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--sc-line); }
.speaker-progress .sp-section > h4, .speaker-progress .sp-limits > h4 { margin: 0 0 16px; font-size: 16px; }
.sp-dimensions { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.sp-dimension, .sp-source, .sp-training { min-width: 0; border: 1px solid var(--sc-line); border-radius: 10px; padding: 16px; background: var(--sc-panel); }
.sp-dimension h5, .sp-source h5, .sp-training h5 { margin: 0 0 12px; font-size: 15px; line-height: 1.7; color: var(--sc-text); }
.sp-source, .sp-training { margin-top: 14px; }
.sp-state { font-weight: 700; color: var(--sc-muted); }
.sp-source-scores { grid-template-columns: repeat(9,minmax(0,1fr)); gap: 12px; }
.sp-source-scores .sp-stat dd { font-size: 16px; }
.sp-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 14px 0 10px; }
.sp-button {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 44px; min-width: 0; max-width: 100%; padding: 10px 14px;
  border: 1px solid var(--sc-line); border-radius: 9px; background: var(--sc-bg);
  color: var(--sc-text); font: inherit; font-size: 13px; line-height: 1.5;
  text-decoration: none; white-space: normal; overflow-wrap: anywhere; cursor: pointer;
}
.sp-profile-entry { display: none; }
.profile-capability-canvas .pc-layout[data-pc-view]:not([data-pc-view="growth"]) .speaker-progress { display: none; }
.profile-capability-canvas .pc-layout[data-pc-view]:not([data-pc-view="growth"]) .sp-profile-entry { display: inline-flex; margin: 10px 0 16px; }
.profile-capability-canvas .speaker-progress { padding: 12px 0 24px; }
.speaker-progress :disabled { opacity: .5; cursor: default; }
.speaker-progress :focus-visible { outline: 2px solid var(--sc-accent); outline-offset: 3px; }
.sp-evidence { margin-top: 10px; border-top: 1px solid var(--sc-line); }
.sp-evidence > summary { min-height: 44px; padding: 10px 0; cursor: pointer; color: var(--sc-accent); }
.sp-evidence-item { margin-top: 12px; }
.sp-evidence-item h6 { font-size: 14px; margin: 0 0 6px; color: var(--sc-text); }
.speaker-progress blockquote { margin: 12px 0; padding: 0 0 0 12px; border-left: 3px solid var(--sc-line); color: var(--sc-text); white-space: pre-wrap; }
.sp-prose { white-space: pre-wrap; }
.sp-limits { margin-top: 24px; padding: 16px; border: 1px solid var(--sc-line); border-radius: 10px; }
.apt-personal-archive {
  --sc-bg: var(--apt-paper); --sc-text: var(--apt-ink); --sc-line: var(--apt-line);
  display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px;
  border-top: 1px solid var(--apt-line); border-bottom: 1px solid var(--apt-line); padding: 12px 0; margin: 18px 0;
}
.apt-personal-archive .apt-helper { flex: 1 1 220px; margin: 0; }
.apt-personal-archive .sp-button { font-family: inherit; border-radius: 4px; }
.apt-personal-archive :focus-visible { outline: 2px solid var(--apt-accent); outline-offset: 3px; }
@media (max-width: 1080px) {
  .sp-dimensions { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .sp-source-scores { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 600px) {
  .speaker-progress { padding: 18px 16px 20px; }
  .sp-dimensions { grid-template-columns: minmax(0,1fr); }
  .sp-summary, .sp-values, .sp-source-scores { gap: 8px; }
  .sp-summary .sp-stat { padding: 10px 8px; }
  .sp-summary .sp-stat dd { font-size: 16px; }
  .sp-dimension, .sp-source, .sp-training, .sp-limits { padding: 12px; }
}
