.knowledge-toolkit {
  display: grid;
  gap: 1rem;
  margin-top: 1rem;
  padding: 1.15rem;
  border: 1px solid #cfe1ee;
  border-radius: 16px;
  background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(239,249,255,.96));
  box-shadow: 0 16px 34px rgba(54, 91, 124, .1);
}
.knowledge-shell > .knowledge-toolkit { width: 100%; box-sizing: border-box; }
.knowledge-grid > .knowledge-toolkit { grid-column: 1 / -1; }
.knowledge-toolkit-header,
.toolkit-challenge-head,
.toolkit-prompt-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .8rem;
  flex-wrap: wrap;
}
.knowledge-toolkit-header h3,
.toolkit-challenge-head h4,
.toolkit-prompt-head h4 { margin: 0; }
.knowledge-toolkit-header p { margin: .3rem 0 0; color: #668096; }
.toolkit-kicker {
  display: inline-flex;
  margin-bottom: .3rem;
  color: #2684c5;
  font-size: .72rem;
  font-weight: 950;
  letter-spacing: .12em;
}
.toolkit-progress-pill {
  min-width: 116px;
  padding: .58rem .75rem;
  border: 1px solid #bfe0ec;
  border-radius: 999px;
  background: #eefbfa;
  color: #18806f;
  text-align: center;
  font-weight: 900;
}
.toolkit-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem;
}
.toolkit-card {
  min-height: 176px;
  padding: .95rem;
  border: 1px solid #dce8f1;
  border-radius: 13px;
  background: rgba(255,255,255,.92);
}
.toolkit-card h4 { margin: 0 0 .55rem; color: #254f70; }
.toolkit-card ol,
.toolkit-card ul { margin: 0; padding-left: 1.2rem; color: #5b7287; line-height: 1.75; }
.toolkit-workflow li::marker { color: #2baec6; font-weight: 900; }
.toolkit-challenge,
.toolkit-note {
  padding: 1rem;
  border: 1px solid #d9e6ef;
  border-radius: 13px;
  background: rgba(255,255,255,.9);
}
.toolkit-boost-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: .75rem;
}
.toolkit-boost-card {
  padding: 1rem;
  border: 1px solid #d9e6ef;
  border-radius: 13px;
  background: rgba(255,255,255,.92);
}
.toolkit-boost-card h4 { margin: 0 0 .35rem; color: #254f70; }
.toolkit-boost-card > p { margin: 0 0 .75rem; color: #647b90; }
.micro-training-card {
  position: relative;
  overflow: hidden;
  background: linear-gradient(145deg, #f8fcff 0%, #f2fbfa 100%);
}
.micro-training-card::before {
  content: '';
  position: absolute;
  top: -70px;
  right: -65px;
  width: 160px;
  height: 160px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(48,197,206,.16), rgba(86,143,230,0) 70%);
  pointer-events: none;
}
.micro-training-header { display: flex; align-items: flex-start; justify-content: space-between; gap: .75rem; position: relative; }
.micro-training-header h4 { margin: 0; }
.micro-training-header p { margin: .3rem 0 0; color: #647b90; font-size: .88rem; }
.micro-training-state {
  flex: 0 0 auto;
  padding: .33rem .58rem;
  border: 1px solid #d6e4ef;
  border-radius: 999px;
  background: white;
  color: #668096;
  font-size: .72rem;
  font-weight: 900;
}
.micro-training-state.running { border-color: #87d5cc; background: #eafaf6; color: #14806c; }
.micro-training-state.paused { border-color: #f0cb8f; background: #fff8e9; color: #a05e0d; }
.micro-training-state.completed { border-color: #8ed8c8; background: #eaf9f3; color: #187763; }
.micro-training-dashboard { display: grid; grid-template-columns: 126px minmax(0,1fr); gap: .7rem; margin-top: .85rem; }
.micro-training-time {
  display: grid;
  place-content: center;
  min-height: 92px;
  padding: .7rem;
  border-radius: 13px;
  background: linear-gradient(145deg,#12233a,#183c55);
  text-align: center;
  box-shadow: 0 10px 22px rgba(18,35,58,.14);
}
.micro-training-clock {
  color: #70e0d5;
  font: 950 1.55rem/1 monospace;
  text-align: center;
  letter-spacing: .06em;
}
.micro-training-time small { margin-top: .45rem; color: #abc2d4; font-size: .7rem; font-weight: 800; }
.micro-training-current {
  display: grid;
  align-content: center;
  min-width: 0;
  padding: .75rem .85rem;
  border: 1px solid #dce9f2;
  border-radius: 13px;
  background: rgba(255,255,255,.88);
}
.micro-training-current small { color: #338eb2; font-weight: 900; }
.micro-training-current strong { margin: .18rem 0; color: #244e6d; }
.micro-training-current span { color: #6a8093; font-size: .78rem; line-height: 1.45; }
.micro-training-progress { height: 8px; margin: .75rem 0 .6rem; overflow: hidden; border-radius: 999px; background: #dfeaf2; }
.micro-training-progress span { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#568fe6,#30c5ce); transition: width .3s ease; }
.micro-training-steps { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .35rem; margin: 0 0 .75rem; }
.micro-training-steps span {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .3rem;
  min-width: 0;
  padding: .38rem .35rem;
  border: 1px solid transparent;
  border-radius: 9px;
  background: #eaf1f7;
  color: #637b90;
  font-size: .7rem;
  font-weight: 850;
  text-align: center;
}
.micro-training-steps i { display: grid; flex: 0 0 20px; width: 20px; height: 20px; place-items: center; border-radius: 50%; background: white; color: #60809a; font-style: normal; }
.micro-training-steps span.active { border-color: #7bc7df; background: #eaf7fc; color: #247697; }
.micro-training-steps span.active i { background: #3faccc; color: white; }
.micro-training-steps span.done { background: #eaf8f3; color: #237765; }
.micro-training-steps span.done i { background: #35ae8d; color: white; }
.micro-training-row { display: flex; align-items: center; gap: .45rem; flex-wrap: wrap; }
.micro-training-row .toolkit-action { flex: 1 1 104px; }
.micro-training-feedback { min-height: 44px; margin-top: .65rem; padding: .58rem .7rem; border-left: 3px solid #78a9df; border-radius: 8px; background: #eef5fb; color: #557188; font-size: .76rem; line-height: 1.5; }
.micro-training-feedback.running { border-color: #31bba7; background: #edf9f6; color: #287064; }
.micro-training-feedback.paused { border-color: #e3ad58; background: #fff8eb; color: #8b621e; }
.micro-training-feedback.completed { border-color: #2eb98f; background: #eaf9f3; color: #236d5b; }
.micro-training-stats { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .4rem; margin-top: .65rem; }
.micro-training-stats span { display: grid; gap: .1rem; padding: .48rem .35rem; border: 1px solid #dce8f0; border-radius: 9px; background: rgba(255,255,255,.82); text-align: center; }
.micro-training-stats strong { color: #245979; font-size: 1rem; }
.micro-training-stats small { color: #7890a2; font-size: .65rem; font-weight: 800; }
.diagnosis-select {
  width: 100%;
  min-height: 42px;
  padding: .55rem .65rem;
  border: 1px solid #d3e1eb;
  border-radius: 9px;
  background: white;
  color: #31546f;
  font: inherit;
  font-weight: 800;
}
.diagnosis-result {
  min-height: 62px;
  margin-top: .65rem;
  padding: .75rem;
  border-left: 4px solid #2eb9bf;
  border-radius: 9px;
  background: #f0faf9;
  color: #3f6a73;
  line-height: 1.65;
}
.toolkit-progress-track {
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: #e8eff5;
}
.toolkit-progress-track span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #568ee7, #30c7ce);
  transition: width .25s ease;
}
.toolkit-checks {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .65rem;
  margin-top: .8rem;
}
.toolkit-check {
  display: flex;
  align-items: flex-start;
  gap: .55rem;
  padding: .75rem;
  border: 1px solid #dfe9f1;
  border-radius: 10px;
  background: #f9fcff;
  color: #4f687e;
  font-weight: 750;
  cursor: pointer;
}
.toolkit-check:has(input:checked) {
  border-color: #8ed8c8;
  background: #f0fbf7;
  color: #197663;
}
.toolkit-check input { margin-top: .15rem; accent-color: #27b98e; }
.toolkit-actions { display: flex; gap: .55rem; flex-wrap: wrap; }
.toolkit-action {
  min-height: 39px;
  padding: .5rem .75rem;
  border: 1px solid #cfdfea;
  border-radius: 9px;
  background: white;
  color: #32617f;
  font: inherit;
  font-weight: 900;
  cursor: pointer;
}
.toolkit-action.primary { border-color: #68b8de; background: linear-gradient(135deg,#568fe6,#30c5ce); color: white; }
.toolkit-action.subtle { border-color: transparent; background: #eef3f7; color: #627b8f; }
.toolkit-action:disabled { cursor: not-allowed; opacity: .5; transform: none; }
.toolkit-action:active { transform: translateY(1px); }
.toolkit-note textarea {
  width: 100%;
  min-height: 220px;
  margin-top: .65rem;
  padding: .75rem;
  resize: vertical;
  border: 1px solid #d6e3ec;
  border-radius: 10px;
  background: white;
  color: #294a65;
  font: inherit;
  box-sizing: border-box;
}
@media (max-width: 640px) {
  .toolkit-note textarea { min-height: 180px; }
}
.toolkit-note-footer { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-top: .65rem; flex-wrap: wrap; }
.toolkit-note-footer .toolkit-action { min-width: 138px; }
.toolkit-note-footer .toolkit-action:disabled { cursor: not-allowed; opacity: .58; }
.toolkit-save-status { color: #26856e; font-size: .78rem; font-weight: 850; }
.toolkit-save-status.unsaved { color: #b36b17; }
.toolkit-save-status.saving { color: #397fc0; }
.toolkit-save-status.saved { color: #26856e; }
.toolkit-save-status.error { color: #bf3f50; }

.scene-brief-grid,
.experiment-insights,
.transfer-rubric,
.knowledge-passport-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: .7rem;
  margin-top: .9rem;
}
.scene-brief-card,
.experiment-insight,
.rubric-card,
.passport-card {
  padding: .85rem;
  border: 1px solid #dbe7ef;
  border-radius: 11px;
  background: #f9fcff;
}
.scene-brief-card strong,
.experiment-insight strong,
.rubric-card strong,
.passport-card strong { display: block; margin-bottom: .3rem; color: #275c82; }
.scene-brief-card span,
.experiment-insight span,
.rubric-card span,
.passport-card span { color: #647b90; line-height: 1.55; }
.scene-mission-route {
  display: flex;
  align-items: center;
  gap: .45rem;
  margin-top: .85rem;
  padding: .75rem;
  overflow-x: auto;
  border-radius: 11px;
  background: #eef6fc;
}
.scene-mission-route span { white-space: nowrap; color: #47708f; font-size: .82rem; font-weight: 850; }
.scene-mission-route i { color: #45a9ce; font-style: normal; }
.scene-quiz-progress { margin-bottom: .85rem; }
.scene-quiz-progress strong { display: flex; justify-content: space-between; gap: .6rem; color: #34617f; font-size: .82rem; }
.scene-quiz-progress-track { height: 7px; margin-top: .45rem; overflow: hidden; border-radius: 999px; background: #e5edf4; }
.scene-quiz-progress-track span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#5b91e5,#31c5ce); transition: width .25s ease; }
.scene-evidence-list { display: grid; gap: .55rem; margin-top: .75rem; }
.scene-evidence-item { padding: .7rem .8rem; border: 1px dashed #cbdde9; border-radius: 9px; color: #526e84; background: #fbfdff; }
.scene-evidence-item::before { content: '证据 '; color: #268bc3; font-weight: 950; }
.knowledge-passport {
  margin-top: .9rem;
  padding: 1rem;
  border: 1px solid #bfe0d9;
  border-radius: 13px;
  background: linear-gradient(135deg,#effaf7,#f3f8ff);
}
.knowledge-passport h4 { margin: 0; color: #236c62; }

@media (max-width: 920px) {
  .toolkit-grid,
  .toolkit-boost-grid,
  .scene-brief-grid,
  .experiment-insights,
  .transfer-rubric,
  .knowledge-passport-grid { grid-template-columns: 1fr; }
  .toolkit-checks { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .micro-training-dashboard { grid-template-columns: 1fr; }
  .micro-training-time { min-height: 78px; }
  .micro-training-steps,
  .micro-training-stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
