.engagement-scene {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 28px;
  min-height: auto;
}

/* 标题按可用宽度自然均衡换行，避免手动断句后出现单字或标点孤行。 */
.scene h1,
.scene h2 {
  text-wrap: balance;
  line-break: strict;
}

.scene h1 > br,
.scene h2 > br { display: none; }

.engagement-top {
  display: grid;
  grid-template-columns: .88fr 1.12fr;
  gap: 28px;
  align-items: center;
}

.engagement-top .scene-copy { max-width: 560px; }

.engagement-drivers {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 13px;
}

.engagement-drivers article {
  display: grid;
  align-content: start;
  gap: 9px;
  min-height: 180px;
  padding: 19px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: linear-gradient(155deg, #f9fbff, #eef6ff);
}

.engagement-drivers article:nth-child(2) {
  background: linear-gradient(155deg, #fffaf2, #fff3e4);
}

.engagement-drivers article > span,
.video-kicker {
  color: var(--blue);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
}

.engagement-drivers article:nth-child(2) > span { color: #d87626; }

.engagement-drivers b {
  font-size: 18px;
  line-height: 1.42;
}

.engagement-drivers p,
.application-copy p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.68;
}

.engagement-drivers .feedback-tags { margin-top: auto; }

.engagement-drivers .feedback-tags span {
  padding: 7px 9px;
  font-size: 11px;
}

.engagement-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 13px;
}

.engagement-action {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 5px 11px;
  min-height: 104px;
  padding: 18px 20px;
  border: 1px solid #d6e5f5;
  border-radius: 17px;
  color: var(--ink);
  background: linear-gradient(145deg, #f8fbff, #edf6ff);
  text-align: left;
  cursor: pointer;
}

.engagement-action > span {
  grid-column: 1 / -1;
  color: var(--blue);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .07em;
}

.engagement-action b { font-size: 17px; }

.engagement-action small { color: var(--muted); font-size: 12px; }

.engagement-action i {
  color: var(--blue);
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
}

.engagement-game {
  border-color: #eadac3;
  background: linear-gradient(145deg, #fffaf4, #fff1e3);
}

.engagement-game > span,
.engagement-game i { color: #d87626; }

.engagement-application {
  display: grid;
  grid-template-rows: auto 1fr;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: #fbfcff;
}

.application-copy { padding: 22px 23px 18px; }

.application-copy > span {
  color: var(--blue);
  font-size: 12px;
  font-weight: 900;
}

.application-copy b {
  display: block;
  margin: 8px 0;
  font-size: 19px;
  line-height: 1.4;
}

.action-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 13px;
}

.action-tags span {
  padding: 6px 9px;
  border-radius: 999px;
  color: #a95a20;
  background: #fff0de;
  font-size: 11px;
  font-weight: 900;
}

.application-shots {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  padding: 0 10px 10px;
}

.application-shots .media-frame { border-radius: 13px; }

.application-shots .media-frame img {
  height: 178px;
  object-fit: cover;
  object-position: center;
}

.application-shots .media-frame > span {
  left: 8px;
  right: 8px;
  bottom: 8px;
  padding: 7px 8px;
  border-radius: 8px;
  font-size: 10px;
}

.engagement-videos {
  display: grid;
  grid-template-columns: 245px 1fr;
  gap: 20px;
  align-items: center;
  padding-top: 3px;
  border-top: 1px solid var(--line);
}

.engagement-videos > div:first-child {
  display: grid;
  gap: 8px;
}

.engagement-videos > div:first-child > b {
  font-size: 17px;
  line-height: 1.45;
}

.engagement-videos .video-grid video { height: 174px; }

.engagement-videos .video-grid { grid-template-columns: repeat(2, 1fr); }

.mentor-scene {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 28px;
  min-height: auto;
}

.mentor-top {
  display: grid;
  grid-template-columns: 1.16fr .84fr;
  gap: 28px;
  align-items: center;
}

.mentor-top .scene-copy,
.mentor-top h2 { max-width: 610px; }

.mentor-top h2 { font-size: clamp(32px, 2.9vw, 44px); }

.mentor-title {
  display: grid;
  gap: 2px;
  white-space: nowrap;
}

.mentor-title span { display: block; }

.mentor-top .mentor-actions {
  gap: 7px;
  margin-top: 20px;
}

.mentor-top .mentor-actions span {
  gap: 3px;
  padding: 11px 14px;
  font-size: 13px;
  line-height: 1.35;
}

.mentor-top .mentor-actions b { font-size: 14px; }

.mentor-dashboard { height: min(30vh, 250px); }

.mentor-videos {
  display: grid;
  grid-template-columns: 245px 1fr;
  gap: 20px;
  align-items: center;
  padding-top: 3px;
  border-top: 1px solid var(--line);
}

.mentor-videos > div:first-child {
  display: grid;
  gap: 8px;
}

.mentor-videos > div:first-child > b {
  font-size: 17px;
  line-height: 1.45;
}

.mentor-videos .video-grid { grid-template-columns: repeat(2, 1fr); }

.mentor-videos .video-grid video { height: 210px; }

.memory-bridge {
  display: flex;
  align-items: stretch;
  gap: 8px;
  margin-top: 22px;
}

.memory-bridge span {
  display: grid;
  flex: 1;
  gap: 5px;
  min-width: 0;
  padding: 12px 13px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: #fff;
  box-shadow: 0 7px 20px rgba(33,65,125,.06);
}

.memory-bridge small { color: #98a4b7; font-size: 11px; }

.memory-bridge b { font-size: 14px; line-height: 1.35; }

.memory-bridge i {
  align-self: center;
  color: var(--orange);
  font-style: normal;
  font-weight: 900;
}

.memory-subhead {
  margin: 22px 0 -8px;
  font-size: 15px;
  line-height: 1.5;
}

.memory-note { margin-top: 18px; }

.afterclass-evidence {
  display: grid;
  grid-template-columns: .94fr 1.06fr;
  gap: 17px;
  align-items: stretch;
}

.afterclass-card {
  display: grid;
  align-content: start;
  gap: 10px;
  min-width: 0;
  padding: 20px;
  border: 1px solid #dce6f3;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(33,65,125,.06);
}

.practice-audio-card {
  border-color: #e4e0f4;
  background: linear-gradient(145deg, #fff, #faf8ff);
}

.afterclass-label {
  color: var(--blue);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .07em;
}

.practice-audio-card .afterclass-label { color: #7759b7; }

.afterclass-card > b { font-size: 19px; line-height: 1.42; }

.afterclass-card > p {
  min-height: 60px;
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.68;
}

.task-service-proof > div {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2px;
  height: 236px;
}

.task-service-proof img {
  display: block;
  width: 100%;
  height: 236px;
  object-fit: cover;
  object-position: center top;
}

.practice-audio-tags {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7px;
}

.practice-audio-tags > span {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 8px 9px;
  border: 1px solid #e3dcf5;
  border-radius: 10px;
  background: rgba(255,255,255,.8);
}

.practice-audio-tags small { color: #9475c6; font-size: 10px; }

.practice-audio-tags b { color: #5a477f; font-size: 11px; line-height: 1.38; }

.paper-audio-proof {
  height: 236px;
  background: #f6f6fa;
}

.paper-audio-proof img {
  display: block;
  width: 100%;
  height: 236px;
  object-fit: contain;
}

.content-goal-scene { gap: 16px; }

.content-goal-scene > div:first-child { max-width: 830px; }

.content-goal-scene .lead { max-width: 760px; }

.goal-selector {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 9px;
  margin-top: 5px;
}

.goal-selector span {
  margin-right: 4px;
  color: var(--muted);
  font-size: 13px;
}

.goal-selector b {
  padding: 8px 11px;
  border-radius: 999px;
  color: var(--blue);
  background: var(--pale);
  font-size: 13px;
}

.goal-selector i {
  color: var(--orange);
  font-style: normal;
  font-weight: 900;
}

.content-goal-map {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 13px;
  width: min(1020px, 100%);
  text-align: left;
}

.content-goal-map article {
  display: grid;
  align-content: start;
  gap: 9px;
  min-height: 176px;
  padding: 20px 21px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: linear-gradient(145deg, #fbfdff, #f1f7ff);
}

.content-goal-map article:nth-child(2) { background: linear-gradient(145deg, #f9fcfb, #effaf3); }
.content-goal-map article:nth-child(3) { background: linear-gradient(145deg, #fffdf9, #fff6e9); }
.content-goal-map article:nth-child(4) { background: linear-gradient(145deg, #fcfbff, #f4f0ff); }

.content-goal-map article > span {
  color: var(--blue);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
}

.content-goal-map article:nth-child(3) > span { color: #d87626; }
.content-goal-map article:nth-child(4) > span { color: #7752b4; }

.content-goal-map b {
  font-size: 18px;
  line-height: 1.4;
}

.content-goal-map p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.65;
}

.content-goal-map small {
  align-self: end;
  color: var(--blue);
  font-size: 12px;
  font-weight: 800;
}

.content-source-note { margin-top: 2px; }

.route-lead {
  max-width: 750px;
  margin: 0 auto;
}

.centered .route-map { margin-top: 28px; }

.milestone-plan-scene {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 24px;
  min-height: auto;
  background: linear-gradient(145deg, #fbfdff, #f0f6ff);
}

.milestone-plan-heading { max-width: 810px; }

.milestone-plan-heading .chapter-number { font-size: 58px; }

.milestone-plan-heading h2 { margin-bottom: 12px; }

.milestone-plan-heading .milestone-equation { margin: 22px 0 0; }

.milestone-plan-heading .milestone-equation span {
  padding: 13px 17px;
  font-size: 14px;
}

.milestone-plan-heading .milestone-equation b { font-size: 20px; }

.milestone-planner {
  display: grid;
  grid-template-columns: minmax(0, 1.56fr) minmax(290px, .8fr);
  gap: 18px;
  align-items: stretch;
}

.target-reference {
  display: grid;
  align-content: start;
  gap: 12px;
  padding: 20px 21px 16px;
  border: 1px solid #d8e5f5;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(33,65,125,.06);
}

.target-reference-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
}

.target-reference-head > div { display: grid; gap: 4px; }

.target-reference-head span,
.calc-intro > span {
  color: var(--blue);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
}

.target-reference-head b { font-size: 17px; }

.target-reference-head > small {
  max-width: 180px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.45;
  text-align: right;
}

.reference-stage {
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: 13px;
  align-items: end;
  padding-top: 12px;
  border-top: 1px solid #edf1f7;
}

.reference-stage > div:first-child {
  display: grid;
  gap: 3px;
  padding-bottom: 3px;
}

.reference-stage > div:first-child b { font-size: 14px; }

.reference-stage > div:first-child small,
.range-bars small,
.range-bars em,
.reference-note { color: var(--muted); font-size: 10px; font-style: normal; }

.range-bars {
  display: grid;
  align-items: end;
  gap: 7px;
  height: 92px;
}

.range-bars-3 { grid-template-columns: repeat(3, 1fr); }
.range-bars-4 { grid-template-columns: repeat(4, 1fr); }
.range-bars-5 { grid-template-columns: repeat(5, 1fr); }

.range-bars span {
  display: grid;
  grid-template-rows: 1fr auto auto;
  gap: 3px;
  min-width: 0;
  height: 100%;
  text-align: center;
}

.range-bars i {
  align-self: end;
  min-height: 13px;
  height: var(--height);
  border-radius: 8px 8px 3px 3px;
  background: linear-gradient(180deg, #f7c46a, #ff9a44);
}

.range-bars small { color: #526177; font-weight: 800; white-space: nowrap; }

.range-bars em { white-space: nowrap; }

.exam-targets {
  display: flex;
  gap: 9px;
  padding-top: 2px;
}

.exam-targets span {
  display: flex;
  align-items: baseline;
  gap: 7px;
  padding: 8px 10px;
  border-radius: 11px;
  color: #b3631f;
  background: #fff3df;
}

.exam-targets b { font-size: 13px; }

.exam-targets small { font-size: 11px; }

.reference-note {
  margin: -1px 0 0;
  line-height: 1.5;
}

.milestone-planner .calculator-card {
  display: grid;
  align-content: start;
  gap: 15px;
  padding: 22px;
}

.calc-intro { display: grid; gap: 6px; }

.calc-intro b { font-size: 18px; }

.calc-intro p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.6;
}

.milestone-planner .calculator-card form { grid-template-columns: 1fr; }

.milestone-planner .calculator-card label small {
  margin-left: 5px;
  color: var(--orange);
  font-size: 10px;
}

.milestone-planner .calculator-card input { font-size: 17px; }

.milestone-planner .calc-result { grid-template-columns: 1fr; }

.milestone-planner .calc-result small { grid-column: auto; }

.milestone-outcomes-scene {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 22px;
  min-height: auto;
  background: linear-gradient(145deg, #fafdff, #f3f7ff);
}

.milestone-outcomes-heading { max-width: 800px; }

.milestone-outcomes-heading h2 { margin-bottom: 10px; }

.milestone-outcomes-grid {
  display: grid;
  grid-template-columns: 1.22fr .78fr;
  gap: 16px;
  align-items: stretch;
}

.milestone-outcome {
  display: grid;
  align-content: start;
  gap: 16px;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 21px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(33,65,125,.06);
}

.outcome-memory { background: linear-gradient(145deg, #fbfdff, #eef7ff); }

.outcome-copy {
  display: grid;
  gap: 7px;
  max-width: 640px;
}

.outcome-copy > span,
.outcome-evidence > div:first-child > span {
  color: var(--blue);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
}

.outcome-copy > b { font-size: 21px; line-height: 1.38; }

.outcome-copy > p,
.outcome-evidence > div:first-child > p,
.parallel-learning > p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.7;
}

.outcome-evidence {
  display: grid;
  gap: 11px;
  padding-top: 15px;
  border-top: 1px solid #edf1f7;
}

.outcome-evidence > div:first-child { display: grid; gap: 5px; }

.outcome-evidence > div:first-child > b { font-size: 16px; }

.report-full-frame {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  overflow: hidden;
  border: 1px solid #d5e2f0;
  border-radius: 14px;
  background: #f8fafc;
  cursor: pointer;
}

.report-slices {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2px;
  height: 136px;
}

.report-slices img {
  display: block;
  width: 100%;
  height: 136px;
  object-fit: cover;
  object-position: center top;
}

.report-full-frame > span {
  position: absolute;
  left: 7px;
  right: 7px;
  bottom: 7px;
  padding: 6px 8px;
  border-radius: 8px;
  font-size: 10px;
}

.lightbox-gallery {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  max-width: min(1360px,94vw);
  max-height: 80vh;
}

.lightbox-gallery img {
  display: block;
  max-width: 100%;
  max-height: 80vh;
  border-radius: 14px;
  background: #f6f8fc;
}

.memory-map-proof {
  position: relative;
  display: block;
  width: 100%;
  min-height: 270px;
  padding: 0;
  overflow: hidden;
  border: 1px solid #d6e4f2;
  border-radius: 15px;
  background: #e9eef5;
  cursor: pointer;
}

.memory-map-proof img {
  display: block;
  width: 100%;
  height: 270px;
  object-fit: cover;
  object-position: center top;
}

.memory-map-proof > span {
  position: absolute;
  right: 9px;
  bottom: 9px;
  left: 9px;
  padding: 7px 8px;
  border-radius: 8px;
  color: #fff;
  background: rgba(18,31,56,.82);
  font-size: 10px;
}

.anti-forgetting-detail {
  overflow: hidden;
  border: 1px solid #d6e4f2;
  border-radius: 15px;
  background: #fff;
}

.anti-forgetting-detail > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 13px 14px;
  cursor: pointer;
  list-style: none;
}

.anti-forgetting-detail > summary::-webkit-details-marker { display: none; }

.anti-forgetting-detail > summary span { display: grid; gap: 3px; }

.anti-forgetting-detail > summary b { font-size: 14px; }

.anti-forgetting-detail > summary small { color: var(--muted); font-size: 11px; line-height: 1.45; }

.anti-forgetting-detail > summary i {
  flex: 0 0 auto;
  color: var(--blue);
  font-size: 20px;
  font-style: normal;
  line-height: 1;
  transition: transform .2s ease;
}

.anti-forgetting-detail[open] > summary { border-bottom: 1px solid #e8eff7; background: #f8fbff; }

.anti-forgetting-detail[open] > summary i { transform: rotate(180deg); }

.anti-forgetting-content { display: grid; gap: 14px; padding: 15px; }

.anti-forgetting-lead { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.7; }

.anti-forgetting-detail .memory-bridge { margin-top: 0; }

.anti-forgetting-detail .afterclass-evidence { grid-template-columns: 1fr; gap: 12px; }

.anti-forgetting-detail .afterclass-card { padding: 16px; }

.anti-forgetting-detail .afterclass-card > p { min-height: 0; }

.anti-forgetting-detail .task-service-proof > div,
.anti-forgetting-detail .task-service-proof img,
.anti-forgetting-detail .paper-audio-proof,
.anti-forgetting-detail .paper-audio-proof img { height: 190px; }

/* 抗遗忘是补充证据：打开时使用与图片相同的浮层，不把主页面向下撑长。 */
body.anti-modal-open { overflow: hidden; }

.anti-forgetting-detail.is-modal-open {
  position: fixed;
  z-index: 140;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 78px clamp(12px, 5vw, 72px) 28px;
  overflow: auto;
  border: 0;
  border-radius: 0;
  background: rgba(7, 15, 30, .9);
}

.anti-forgetting-detail.is-modal-open > summary {
  position: absolute;
  z-index: 2;
  top: 18px;
  left: 50%;
  width: min(1050px, calc(100% - 36px));
  transform: translateX(-50%);
  color: #fff;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 12px;
  background: rgba(18,31,56,.94);
}

.anti-forgetting-detail.is-modal-open > summary b { color: #fff; }
.anti-forgetting-detail.is-modal-open > summary small { color: #cbd6e8; }
.anti-forgetting-detail.is-modal-open > summary i { color: #fff; transform: rotate(180deg); }

.anti-forgetting-detail.is-modal-open > .anti-forgetting-content {
  display: grid;
  width: min(1050px, 100%);
  max-height: calc(100vh - 138px);
  overflow: auto;
  padding: 22px;
  border: 1px solid #d6e4f2;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(0,0,0,.28);
}

.anti-forgetting-detail.is-modal-open .afterclass-evidence { grid-template-columns: 1fr 1fr; }

@media (max-width: 640px) {
  .anti-forgetting-detail.is-modal-open { padding: 74px 10px 18px; }
  .anti-forgetting-detail.is-modal-open > summary { top: 12px; width: calc(100% - 20px); }
  .anti-forgetting-detail.is-modal-open > .anti-forgetting-content { max-height: calc(100vh - 126px); padding: 14px; border-radius: 15px; }
  .anti-forgetting-detail.is-modal-open .afterclass-evidence { grid-template-columns: 1fr; }
}

.parallel-learning {
  display: grid;
  gap: 8px;
  padding: 19px 21px;
  border: 1px solid #d9e7f7;
  border-radius: 19px;
  background: linear-gradient(145deg, #f6fbff, #eef7ff);
}

.parallel-learning > span {
  color: var(--blue);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
}

.parallel-learning > b { font-size: 20px; }

.parallel-learning > div {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 11px;
  align-items: stretch;
  margin-top: 3px;
}

.parallel-learning > div > span {
  display: grid;
  gap: 4px;
  padding: 11px 13px;
  border: 1px solid #d3e2f4;
  border-radius: 12px;
  background: #fff;
}

.parallel-learning > div > span:last-child {
  border-color: #d5eadd;
  background: #f7fcf8;
}

.parallel-learning small { color: var(--muted); font-size: 11px; }

.parallel-learning > div b { font-size: 14px; }

.milestone-next-note {
  margin-top: 2px;
  color: #6d83a3;
  font-size: 11px;
  line-height: 1.6;
}

.parallel-learning > div > i {
  align-self: center;
  color: var(--orange);
  font-style: normal;
  font-weight: 900;
}

.method-application-shots {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
}

.method-application-shots .media-frame { height: 142px; }

.method-application-shots .media-frame img {
  object-fit: cover;
  object-position: center;
}

.method-application-shots .media-frame > span {
  left: 8px;
  right: 8px;
  bottom: 8px;
  padding: 7px 8px;
  border-radius: 8px;
  font-size: 10px;
}

.application-scene {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 22px;
  min-height: auto;
  background: linear-gradient(145deg, #fafdff, #eff6ff);
}

.application-heading { max-width: 850px; }

.application-heading h2 { margin-bottom: 11px; }

.application-logic {
  display: flex;
  align-items: stretch;
  gap: 10px;
  width: min(1080px,100%);
  margin: 4px auto 0;
}

.application-logic span {
  display: grid;
  flex: 1;
  gap: 6px;
  min-width: 0;
  padding: 17px 18px;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 7px 22px rgba(33,65,125,.07);
  text-align: left;
}

.application-logic small { color: #98a4b7; font-size: 11px; }

.application-logic b { font-size: 16px; line-height: 1.4; }

.application-logic i { align-self: center; color: var(--orange); font-style: normal; font-weight: 900; }

.application-proof {
  display: grid;
  grid-template-columns: .82fr 1.18fr;
  gap: 18px;
  align-items: center;
  padding: 21px;
  border: 1px solid #d8e5f4;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(33,65,125,.06);
}

.application-proof-copy { display: grid; gap: 8px; }

.application-proof-copy > span { color: var(--blue); font-size: 12px; font-weight: 900; letter-spacing: .08em; }

.application-proof-copy > b { font-size: 21px; line-height: 1.4; }

.application-proof-copy > p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.7; }

.outcome-proof-scene {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 21px;
  min-height: auto;
  background:
    radial-gradient(circle at 10% 12%, rgba(255,217,142,.2), transparent 26%),
    linear-gradient(145deg, #fffdf9, #f5f9ff);
}

.outcome-proof-heading { max-width: 890px; }

.outcome-proof-heading h2 { margin-bottom: 10px; }

.outcome-proof-chain {
  display: grid;
  grid-template-columns: 1fr 1.16fr 1fr;
  gap: 18px;
  align-items: stretch;
}

.outcome-proof-card {
  position: relative;
  display: grid;
  align-content: start;
  gap: 10px;
  min-width: 0;
  padding: 20px;
  border: 1px solid #dce5f2;
  border-radius: 21px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 12px 28px rgba(34,62,111,.07);
}

.proof-growth {
  border-color: #efdcb6;
  background: linear-gradient(145deg, #fffdf9, #fff8e9);
}

.proof-performance {
  border-color: #d8e9df;
  background: linear-gradient(145deg, #fcfffd, #f0f9f3);
}

.outcome-proof-card:not(:last-child)::after {
  content: '→';
  position: absolute;
  z-index: 2;
  top: 50%;
  right: -16px;
  display: grid;
  place-items: center;
  width: 29px;
  height: 29px;
  transform: translateY(-50%);
  border: 1px solid #e1e8f0;
  border-radius: 50%;
  color: var(--orange);
  background: #fff;
  box-shadow: 0 4px 12px rgba(32,53,84,.08);
  font-weight: 900;
}

.proof-order {
  display: flex;
  align-items: center;
  gap: 8px;
}

.proof-order > span {
  display: grid;
  place-items: center;
  width: 23px;
  height: 23px;
  border-radius: 8px;
  color: #fff;
  background: var(--blue);
  font-size: 11px;
  font-weight: 900;
}

.proof-growth .proof-order > span { background: #dd962e; }

.proof-performance .proof-order > span { background: #3e9d68; }

.proof-order > small {
  color: var(--blue);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .06em;
}

.proof-growth .proof-order > small { color: #b36b18; }

.proof-performance .proof-order > small { color: #278451; }

.outcome-proof-card > b { font-size: 19px; line-height: 1.4; }

.outcome-proof-card > p {
  min-height: 66px;
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.68;
}

.result-media {
  position: relative;
  display: block;
  width: 100%;
  min-width: 0;
  margin-top: auto;
  padding: 0;
  overflow: hidden;
  border: 1px solid #d5e1ef;
  border-radius: 14px;
  background: #f5f8fc;
  cursor: pointer;
  text-align: left;
}

.result-media > span {
  position: absolute;
  right: 7px;
  bottom: 7px;
  left: 7px;
  padding: 6px 8px;
  border-radius: 8px;
  color: #fff;
  background: rgba(20,33,56,.82);
  font-size: 10px;
  font-weight: 800;
}

.quote-preview > div,
.score-preview > div {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2px;
  height: 166px;
}

.quote-preview img,
.score-preview img {
  display: block;
  width: 100%;
  height: 166px;
  object-fit: cover;
  object-position: center top;
}

.growth-examples {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
}

.growth-examples > span {
  display: grid;
  gap: 3px;
  padding: 8px 5px;
  border: 1px solid #f0d8aa;
  border-radius: 10px;
  background: rgba(255,255,255,.82);
  text-align: center;
}

.growth-examples small { color: #9b782f; font-size: 10px; }

.growth-examples b { color: #76531b; font-size: 12px; white-space: nowrap; }

.growth-preview { height: 166px; }

.growth-preview img {
  display: block;
  width: 100%;
  height: 166px;
  object-fit: cover;
  object-position: center top;
}

.lightbox-gallery--4 img {
  width: 100%;
  height: 36vh;
  max-height: 36vh;
  object-fit: contain;
}

@media (max-width: 1040px) {
  .scene.engagement-scene,
  .scene.mentor-scene { min-height: auto; }
  .engagement-top,
  .engagement-videos,
  .mentor-top,
  .mentor-videos { grid-template-columns: 1fr; }
  .engagement-videos,
  .mentor-videos { gap: 12px; }
  .milestone-planner { grid-template-columns: 1fr; }
  .milestone-outcomes-grid { grid-template-columns: 1fr; }
  .afterclass-evidence { grid-template-columns: 1fr; }
  .application-proof { grid-template-columns: 1fr; }
  .outcome-proof-chain { grid-template-columns: 1fr; }
  .outcome-proof-card:not(:last-child)::after { top: auto; right: 50%; bottom: -16px; transform: translateX(50%) rotate(90deg); }
}

@media (max-width: 640px) {
  .mentor-title { white-space: normal; }
  .engagement-scene { gap: 22px; }
  .engagement-drivers,
  .engagement-actions,
  .engagement-videos,
  .milestone-planner,
  .milestone-outcomes-grid,
  .mentor-top,
  .mentor-videos,
  .application-shots,
  .method-application-shots,
  .content-goal-map,
  .outcome-proof-chain { grid-template-columns: 1fr; }
  .engagement-drivers article { min-height: auto; }
  .engagement-action { min-height: 96px; }
  .application-shots .media-frame img { height: 165px; }
  .method-application-shots .media-frame { height: 165px; }
  .engagement-videos .video-grid,
  .mentor-videos .video-grid { grid-template-columns: 1fr; }
  .milestone-plan-heading .milestone-equation { flex-wrap: wrap; }
  .milestone-plan-heading .milestone-equation b { display: none; }
  .milestone-plan-heading .milestone-equation span { flex: 1 1 28%; }
  .target-reference { padding: 18px 14px 14px; }
  .target-reference-head { align-items: start; }
  .target-reference-head > small { display: none; }
  .reference-stage { grid-template-columns: 1fr; gap: 8px; }
  .reference-stage > div:first-child { display: flex; align-items: baseline; gap: 8px; }
  .range-bars { height: 88px; gap: 4px; }
  .range-bars em { font-size: 9px; }
  .milestone-outcome { padding: 18px 15px; }
  .report-slices,
  .report-slices img { height: 116px; }
  .memory-map-proof,
  .memory-map-proof img { min-height: 250px; height: 250px; }
  .parallel-learning { padding: 17px 15px; }
  .parallel-learning > div { grid-template-columns: 1fr; }
  .parallel-learning > div > i { justify-self: center; }
  .memory-bridge { flex-wrap: wrap; }
  .memory-bridge span { flex: 1 1 40%; }
  .memory-bridge i { display: none; }
  .application-logic { flex-wrap: wrap; }
  .application-logic i { display: none; }
  .application-logic span { flex: 1 1 42%; }
  .task-service-proof > div,
  .task-service-proof img,
  .paper-audio-proof,
  .paper-audio-proof img { height: 210px; }
  .quote-preview > div,
  .score-preview > div,
  .quote-preview img,
  .score-preview img,
  .growth-preview,
  .growth-preview img { height: 150px; }
  .lightbox-gallery { grid-template-columns: 1fr; overflow: auto; }
  .lightbox-gallery--4 img { height: auto; max-height: 44vh; }
}
.demo-link{display:inline-block;margin-top:10px;color:var(--blue);font-size:13px;font-weight:800;text-decoration:none}.demo-link:hover{text-decoration:underline}
.milestone-demo-link{display:inline-flex;align-items:center;margin-top:10px;padding:9px 13px;border:1px solid #cbd9f4;border-radius:10px;background:#f7faff}
.anti-forgetting-detail.is-modal-open .afterclass-evidence{grid-template-columns:repeat(3,minmax(0,1fr)) !important}
@media (max-width:640px){.anti-forgetting-detail.is-modal-open .afterclass-evidence{grid-template-columns:1fr !important}}
.memory-bridge--parallel{display:flex!important;justify-content:center;align-items:stretch;gap:10px;margin-bottom:4px}.memory-bridge--parallel span{flex:0 1 auto!important;min-width:0;padding:11px 16px!important;border-radius:999px!important;box-shadow:none!important;text-align:center}.memory-bridge--parallel i{display:none}.demo-home-preview{display:block;width:100%;height:210px;object-fit:cover;object-position:top;border:1px solid #e2e8f2;border-radius:14px;margin-top:4px}
@media (max-width:640px){.memory-bridge--parallel{display:grid!important;grid-template-columns:1fr!important}.demo-home-preview{height:180px}}
.demo-home-mock{height:210px!important;padding:12px!important;overflow:hidden;background:#f3f6fb!important;color:#29354d;font-size:10px}.demo-home-mock header{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px}.demo-home-mock header b{font-size:14px}.demo-home-mock header span{color:#7d889c}.demo-home-mock>strong,.demo-home-mock>small{display:block}.demo-home-mock>strong{font-size:12px}.demo-home-mock>small{color:#7d889c}.mock-stars{color:#ffbd35;font-size:18px;letter-spacing:4px}.mock-task{display:flex;align-items:center;gap:6px;padding:5px 7px;margin-top:4px;border-radius:8px;background:#fff}.mock-task i{font-style:normal}.mock-task b{font-size:10px}.mock-task em{margin-left:auto;padding:3px 7px;border-radius:8px;color:#fff;background:#8058ee;font-style:normal;font-size:9px}
.demo-home-mock{display:block;cursor:pointer;text-decoration:none!important;transition:transform .18s,box-shadow .18s}.demo-home-mock:hover{transform:translateY(-2px);box-shadow:0 8px 18px #28487926}
