/* advisor-exam 板块样式层 · A 门户学习旅程稿（2026-09-27 重设计放回）
   骨架来源：marketing/hero.html + marketing/index.html（section 交替、大数字统计带，ai-evolution 已认可同语系）。
   自创组件沿用两个（库内无对应样板，缺口说明见 设计工作区/advisor-exam/components.html）：
   1. .ae-qnav-grid / .ae-qnav-btn  34 格题号导航（默认/已答/当前 + 交卷后对/错）
   2. .ae-quiz-option  答题选项行（选中/正确/错误态，基座是 Tabler form-check）
   其余全部使用 Tabler / 站内已认可类，颜色一律走 --tblr-* 变量（灰阶合同，零 hex）。 */

/* ── 1. 题号导航网格 ── */
.ae-qnav-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(3rem, 1fr));
  gap: 0.375rem;
}
.ae-qnav-btn {
  height: 2.25rem;
  border: 1px solid var(--tblr-border-color);
  border-radius: var(--tblr-border-radius);
  background: var(--tblr-bg-surface);
  color: var(--tblr-secondary);
  font-size: 0.875rem;
  font-variant-numeric: tabular-nums;
  cursor: pointer;
  transition: border-color 0.15s ease, color 0.15s ease;
}
.ae-qnav-btn:hover { border-color: var(--tblr-primary); color: var(--tblr-body-color); }
.ae-qnav-btn.is-answered { background: var(--tblr-active-bg); color: var(--tblr-body-color); }
.ae-qnav-btn.is-current {
  border-color: var(--tblr-primary);
  color: var(--tblr-primary);
  font-weight: 600;
  box-shadow: inset 0 0 0 1px var(--tblr-primary);
}
.ae-qnav-btn.is-correct { border-color: var(--tblr-success); color: var(--tblr-success); background: var(--tblr-success-lt); }
.ae-qnav-btn.is-wrong { border-color: var(--tblr-danger); color: var(--tblr-danger); background: var(--tblr-danger-lt); }
/* 交卷后当前题仍可辨识，但对错色优先 */
.ae-qnav-btn.is-correct.is-current { box-shadow: inset 0 0 0 1px var(--tblr-success); }
.ae-qnav-btn.is-wrong.is-current { box-shadow: inset 0 0 0 1px var(--tblr-danger); }

/* ── 2. 答题选项行（基座 form-check，仅加边框盒与状态描边） ── */
.ae-quiz-option {
  display: flex;
  align-items: flex-start;
  gap: 0.625rem;
  border: 1px solid var(--tblr-border-color);
  border-radius: var(--tblr-border-radius);
  padding: 0.625rem 0.875rem;
  margin-bottom: 0.5rem;
  cursor: pointer;
}
.ae-quiz-option:hover { border-color: var(--tblr-primary); }
.ae-quiz-option .form-check-input { margin-top: 0.2rem; }
.ae-quiz-option .form-check-label { line-height: 1.5; }

/* ── 3. 模块占位卡（hasDetail=false 不可点跳） ── */
.ae-module-card { cursor: default; opacity: 0.85; }

/* ── 4. 门户稿版式胶水（marketing/hero + section 节奏） ── */
.elvis9-ae-journey .ae-hero { padding-top: 2rem; }
.elvis9-ae-journey .hero-title { font-size: 2.25rem; line-height: 1.2; }
.elvis9-ae-journey .hero-description { font-size: 1.125rem; max-width: 36rem; margin-left: auto; margin-right: auto; }
@media (min-width: 992px) {
  .elvis9-ae-journey .hero-description { margin-left: 0; }
}
/* section/section-light 在 tabler.css 无样式定义（纯语义类，judge 视觉终检证底色未渲染）；
   门户稿的交替带在本板块作用域内补灰阶底色与圆角（变量在合同内，零 hex） */
.elvis9-ae-journey .section-light {
  background: rgba(128, 128, 128, 0.08);
  border-radius: var(--tblr-border-radius);
  padding-left: 1rem;
  padding-right: 1rem;
}

/* 锚点不被固定导航遮挡 */
.elvis9-ae-journey .ae-anchor,
.elvis9-ae-journey .ae-band { scroll-margin-top: 4.5rem; }
/* row 负 margin 是本板块窄屏/桌面溢出的共同根源（1024 实测 g-lg-8 外扩 32px、普通 row 8px）；
   作用域内统一归零、列自留 gutter（hero 大 gutter 降为 1rem 温和值） */
.elvis9-ae-journey .row { margin-right: 0; margin-left: 0; }
.elvis9-ae-journey .row > * { padding-right: calc(var(--tblr-gutter-x) * 0.5); padding-left: calc(var(--tblr-gutter-x) * 0.5); }
.elvis9-ae-journey .g-lg-8 { --tblr-gutter-x: 1rem; }
/* 考试事实表标签列松绑：w-4 钉 1rem 会让中文标签一字一行竖排（对比稿阶段扫出的基准稿同构缺陷） */
.elvis9-ae-journey td.w-4 { width: auto; min-width: 6em; }

/* ── 5. 窄屏（< 576px）防溢出 ── */
@media (max-width: 575.98px) {
  .elvis9-ae-journey .card-stamp-icon { max-width: 3rem; height: 3rem; }
  .elvis9-ae-journey .hero-title { font-size: 1.75rem; }
  .elvis9-ae-journey .display-5 { font-size: 1.75rem; }
  /* 窄屏 card-header 标题+副题折行交错破损（judge 终检：'当前学习游标'拆'游/标'、日期拆'2026-/08-14'） */
  .elvis9-ae-journey .card-header { flex-wrap: wrap; row-gap: 0.25rem; }
  .elvis9-ae-journey .card-header .card-subtitle { flex-basis: 100%; }
  /* row 负 margin 归零已上移到全局（桌面+窄屏统一），此处不再重复 */
  /* steps-counter 窄屏切纵向（复刻 Tabler .steps-vertical 机制：::before 绝对定位圆点改左侧、
     ::after 连接线纵改；横向 5 项在窄屏装不下是结构性缺陷，缩字缩圆只延缓不解决） */
  .elvis9-ae-journey .steps.steps-counter { flex-direction: column; }
  .elvis9-ae-journey .steps.steps-counter .step-item { flex: none; min-width: 0; text-align: left; padding-top: 0; padding-bottom: 0.5rem; padding-left: calc(1.5rem + 1rem); min-height: auto; }
  .elvis9-ae-journey .steps.steps-counter .step-item:not(:first-child) { margin-top: 0.25rem; }
  .elvis9-ae-journey .steps.steps-counter .step-item::before { left: 0; top: -2px; transform: none; }
  .elvis9-ae-journey .steps.steps-counter .step-item:not(:last-child)::after { left: calc(1.5rem * 0.5); top: -2px; width: 2px; height: calc(100% + 1rem); }
  /* 外壳悬浮主题设置按钮窄屏遮挡卡片标题，隐藏（仅 Bootstrap offcanvas 触发器，无自定义 JS 依赖）。
     按钮在壳层 settings 区、不在 .elvis9-ae-journey 内部，须用无前缀选择器；本 css 仅本板块入队，无外溢 */
  .btn-floating { display: none; }
  .elvis9-ae-journey .ae-qnav-grid { grid-template-columns: repeat(auto-fill, minmax(2rem, 1fr)); gap: 0.25rem; }
  .elvis9-ae-journey .ae-qnav-btn { height: 1.75rem; font-size: 0.75rem; }
  .elvis9-ae-journey .table-responsive { display: block; max-width: 100%; overflow-x: auto; }
  .elvis9-ae-journey .table-vcenter.card-table th,
  .elvis9-ae-journey .table-vcenter.card-table td { padding: 0.375rem 0.5rem; font-size: 0.75rem; }
  .elvis9-ae-journey .table-vcenter.card-table { font-size: 0.75rem; }
}