/* Shared guided-learning theme. Original page structures and APIs remain intact. */
:root {
  --bg: #f7f9f6; --paper: #fff; --paper-strong: #fff;
  --ink: #182b22; --ink-soft: #59675e; --muted: #59675e;
  --line: #dce5dd; --teal: #286341; --blue: #42785b;
  --teal-soft: #edf4ed; --blue-soft: #edf4ed;
  --orange: #ac642d; --orange-soft: #faf2e9; --green: #286341;
  --shadow: none; --radius-xxl: 20px; --radius-xl: 16px; --radius-lg: 14px;
}
body { background: var(--bg); font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif; }
button, a, input, summary { -webkit-tap-highlight-color: transparent; }
button, .primary-button, .rail-button, .back-link { min-height: 44px; }
a { color: var(--teal); }
button:focus-visible, a:focus-visible, summary:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible {
  outline: 3px solid #7da88a; outline-offset: 3px;
}
.primary-button, .rail-button { background: var(--teal); border: 1px solid var(--teal); border-radius: 10px; color: #fff; box-shadow: none; }
.primary-button:hover, .rail-button:hover { background: #1d5032; box-shadow: none; transform: none; }
.ghost-button, .secondary-button, .action-button { border-radius: 10px; }
.eyebrow, .card-kicker, .block-kicker { color: var(--teal); letter-spacing: .04em; }
.panel, .rail-card, .guide-panel, .workspace-panel, .support-panel, .detail-panel, .graph-stage, .scope-strip, .graph-topbar, .learning-console { box-shadow: none; backdrop-filter: none; }
.guided-home .page-shell, .guided-graph .graph-shell { max-width: 1240px; padding: 28px 28px 48px; }
.guided-home .brand-en, .guided-home .wave-mark, .guided-home .graph-icon, .guided-home .assistant-badge, .guided-home .module2-badge { display: none; }
.guided-home .brand-cn-row h1 { font-size: 22px; letter-spacing: 0; }
.guided-home .service-chip { border: 0; background: transparent; padding: 0; box-shadow: none; }
.guided-home .landing-grid { grid-template-columns: minmax(0, 1.25fr) minmax(320px, 1fr); align-items: start; gap: 28px; }
.guided-home .hero-panel { min-height: 0; background: #fff; border: 1px solid var(--line); position: sticky; top: 24px; }
.guided-home .hero-copy { padding: 38px 36px 20px; }
.guided-home .hero-copy h2 { font-family: inherit; font-size: clamp(32px, 3.7vw, 46px); line-height: 1.4; margin-top: 20px; letter-spacing: -.025em; }
.guided-home .hero-text { font-size: 16px; line-height: 1.8; margin-top: 16px; }
.home-start { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; margin-top: 26px; padding: 14px 24px; font-weight: 600; }
.home-start-note { color: var(--ink-soft); font-size: 13px; margin: 12px 0 0; }
.home-route { padding: 0 36px 28px; }
.home-route > div { display: flex; align-items: center; gap: 18px; padding: 20px 0; border-top: 1px solid var(--line); }
.home-route > div > span { color: var(--teal); font-size: 14px; font-weight: 600; }
.home-route p { display: grid; gap: 6px; margin: 0; }
.home-route small { color: var(--ink-soft); line-height: 1.6; }
.guided-home .rail-card { border: 1px solid var(--line); border-radius: 16px; padding: 24px; background: white; }
.guided-home .rail-card h3 { font-family: inherit; font-size: 20px; }
.guided-home .rail-button { display: flex; justify-content: center; align-items: center; text-decoration: none; }
.guided-home .module2-link { background: #edf4ed; color: var(--teal); }
.guided-graph .learning-console { display: none; }
.guided-graph .progress-track span { background: var(--teal); }
.guided-graph .graph-topbar h1 { font-size: 26px; }
.guided-graph .eyebrow { display: none; }
.guided-graph .graph-stage { background: white; }
.guided-graph .graph-topbar { margin-bottom: 12px; border-left: 4px solid #2f668d; }
.guided-graph .topbar-main { align-items: center; }
.guided-graph .topbar-meta { display: none; }
.guided-lab { background: white; }
.guided-lab .module2-head { max-width: 1160px; margin: 0 auto; padding: 20px 28px 0; display: flex; justify-content: space-between; align-items: end; gap: 20px; }
.guided-lab .module2-head p { margin: 0 0 3px; color: var(--teal); font-size: 13px; font-weight: 700; }
.guided-lab .module2-head h1 { margin: 0; font-size: 25px; letter-spacing: -.025em; }
.guided-lab .module2-head > span { color: var(--muted); font-size: 14px; }
.guided-lab .topbar { max-width: 1160px; padding: 24px 28px; align-items: center; grid-template-columns: auto 1fr auto; border-bottom: 1px solid var(--line); }
.guided-lab .title-block h1 { font-size: 18px; letter-spacing: 0; }
.guided-lab .title-block .eyebrow { font-size: 13px; margin-bottom: 4px; }
.guided-lab .status-chip { border: 0; padding: 0; font-size: 12px; color: var(--muted); }
.guided-lab .status-chip span { box-shadow: none; }
.guided-lab .page-shell { max-width: 1160px; padding: 32px 28px 48px; }
.guided-lesson { max-width: 540px; margin: 0 auto; }
.lesson-step { margin: 0; color: var(--teal); font-size: 14px; }
.lesson-track { display: flex; list-style: none; padding: 0; margin: 20px 0 32px; gap: 8px; }
.lesson-track li { flex: 1; display: flex; align-items: center; gap: 8px; color: #647368; font-size: 13px; border-top: 3px solid #dce5dd; padding-top: 10px; }
.lesson-track li[aria-current="step"] { color: var(--teal); border-color: var(--teal); font-weight: 600; }
.lesson-track span { font-variant-numeric: tabular-nums; }
.guided-lesson h2 { font-size: clamp(25px, 3vw, 32px); line-height: 1.4; margin: 0; letter-spacing: -.035em; }
.lesson-intro { color: var(--muted); line-height: 1.7; margin: 14px 0 24px; }
.material-pair { display: grid; grid-template-columns: minmax(0, 1fr) 52px minmax(0, 1fr); align-items: center; }
.material-pair figure { margin: 0; border-radius: 12px; overflow: hidden; background: #f0f1ee; }
.material-photo { position: relative; overflow: hidden; aspect-ratio: 300 / 278; }
.material-photo img { position: absolute; width: 284.333%; max-width: none; height: auto; left: -16%; top: -184.173%; }
.material-photo.acoustic img { left: -168.333%; }
.material-pair figcaption { padding: 12px 4px; text-align: center; font-size: 16px; }
.material-pair figure:last-child figcaption { background: #edf4ed; color: #285537; }
.material-arrow { position: relative; overflow: hidden; width: 100%; aspect-ratio: 105 / 70; }
.material-arrow img { position: absolute; width: 812.381%; max-width: none; height: auto; left: -358.095%; top: -928.571%; }
.prediction-options { border: 0; margin: 30px 0 0; padding: 0; min-width: 0; }
.prediction-options legend { font-size: 19px; font-weight: 600; padding: 0 0 8px; }
.prediction-options label { display: flex; gap: 16px; align-items: center; border: 1px solid #dce2dc; border-radius: 10px; padding: 16px; margin-top: 10px; color: var(--ink); font-size: 17px; cursor: pointer; }
.prediction-options label:has(input:checked) { background: #edf4ed; border-color: var(--teal); color: var(--teal); }
.prediction-options input { margin: 0; width: 20px; height: 20px; accent-color: var(--teal); }
.lesson-metric { border-radius: 10px; background: #faf4ee; padding: 14px; color: #7b562f; font-size: 14px; margin: 20px 0; line-height: 1.65; }
.lesson-cta { width: 100%; font-size: 17px; font-weight: 600; padding: 16px; }
.lesson-principle { margin: 22px 0; line-height: 1.7; color: var(--muted); }
.lesson-principle summary { color: var(--teal); cursor: pointer; text-align: center; padding: 8px; }
.lesson-footnote { font-size: 12px; color: #69746c; line-height: 1.7; text-align: center; }
.lesson-feedback { background: #edf4ed; padding: 22px; border-radius: 12px; margin-top: 24px; line-height: 1.8; }
.lesson-feedback h3 { margin: 0; }
.lesson-feedback .ghost-button { margin-top: 12px; width: 100%; }
.full-lab { margin-top: 36px; border-top: 1px solid var(--line); }
.full-lab > summary { cursor: pointer; color: var(--teal); font-size: 15px; padding: 22px 0; }
.guided-lab .panel { border-radius: 14px; }
.guided-lab .workspace-grid > *, .guided-lab .results-stack > *, .guided-lab fieldset { min-width: 0; }
.guided-lab .mission-card { background: #edf4ed; border-radius: 14px; }
.guided-lab .metric-card.accent { background: #285c3c; }
.guided-lab .metric-card.accent.status-warn { background: #8d5b2e; }
.guided-lab .metric-card.accent.status-good { background: #285c3c; }
.guided-lab .breakdown-track span { background: var(--teal); }
[hidden] { display: none !important; }
@media (max-width: 760px) {
  .guided-home .page-shell, .guided-graph .graph-shell { padding: 20px 18px 36px; }
  .guided-home .landing-grid { grid-template-columns: 1fr; gap: 20px; }
  .guided-home .hero-panel { position: static; }
  .guided-home .hero-copy { padding: 28px 24px 22px; }
  .guided-home .hero-copy h2 { font-size: 34px; }
  .home-route { padding: 0 24px 12px; }
  .home-start { width: 100%; }
  .guided-home .side-rail { grid-template-columns: 1fr; }
  .guided-home .service-chip { font-size: 12px; }
  .guided-home .topbar { flex-wrap: wrap; gap: 12px; }
  .guided-graph .graph-topbar { padding: 16px; }
  .guided-graph .graph-topbar h1 { font-size: 22px; }
  .guided-graph .topbar-text { font-size: 14px; line-height: 1.65; }
  .guided-graph .topbar-meta { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
  .guided-graph .meta-card { padding: 10px 8px; min-width: 0; }
  .guided-graph .meta-card strong { font-size: 12px; overflow-wrap: anywhere; }
  .guided-graph .meta-label { font-size: 11px; }
  .guided-lab .module2-head { padding: 16px 18px 0; }
  .guided-lab .module2-head h1 { font-size: 22px; }
  .guided-lab .module2-head > span { display: none; }
  .guided-lab .topbar { padding: 18px 22px; gap: 14px; grid-template-columns: 1fr auto; }
  .guided-lab .topbar .back-link { grid-column: 2; grid-row: 1; font-size: 12px; padding: 10px; }
  .guided-lab .title-block { grid-column: 1; grid-row: 1; }
  .guided-lab .status-chip { display: none; }
  .guided-lab .title-block h1 { font-size: 15px; }
  .guided-lab .title-block .eyebrow { display: none; }
  .guided-lab .topbar { padding: 10px 22px; }
  .guided-lab .page-shell { padding: 16px 22px 36px; }
  .lesson-track { margin: 14px 0 16px; }
  .material-pair { grid-template-columns: minmax(0, 1fr) 70px minmax(0, 1fr); }
  .prediction-options { margin-top: 24px; }
  .material-pair figcaption { font-size: 15px; }
  .prediction-options label { min-height: 50px; padding: 12px 14px; }
  .lesson-intro { font-size: 15px; margin: 12px 0 18px; }
  .guided-lab .rt-chart { overflow-x: auto; }
  .guided-lab .workspace-grid { grid-template-columns: minmax(0, 1fr); }
  .guided-lab .panel-heading { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
}
