/* 国子监子站专属样式
   作用于 /jijiu/ 及其子目录，仅在 jijiu 页面引入
   全局变量继承 /assets/shared.css 的 v2 设计系统
*/

/* feature-card 作为 a 标签时，需要 block + 重置 link 颜色 */
.feature-card-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: var(--space-sm);
  text-decoration: none;
  color: inherit;
}
.feature-card-link:hover {
  border-color: var(--border-hover);
  box-shadow: var(--shadow-gold);
}
.feature-card-link .feature-title,
.feature-card-link .feature-desc {
  color: inherit;
  text-decoration: none;
}

/* 课程总览页：主题块 */
.lesson-theme {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: var(--space-xl);
  margin-bottom: var(--space-2xl);
  transition: box-shadow var(--transition-normal);
}
.lesson-theme:hover {
  box-shadow: var(--shadow-md);
}
.lesson-theme-header {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  margin-bottom: var(--space-md);
}
.lesson-theme-icon {
  font-size: 2.2rem;
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--gold-soft);
  border-radius: var(--radius-md);
  flex-shrink: 0;
}
.lesson-theme-title {
  font-family: var(--font-display);
  font-size: 1.35rem;
  color: var(--ink-brown);
  margin: 0 0 var(--space-xs);
}
.lesson-theme-meta {
  font-family: var(--font-sans, sans-serif);
  font-size: 0.82rem;
  color: var(--text-muted);
  margin: 0;
}
.lesson-theme-desc {
  color: var(--text-body);
  font-size: 0.95rem;
  line-height: 1.7;
  margin: 0 0 var(--space-lg);
}

/* 课程卡列表 */
.lesson-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: var(--space-md);
}
.lesson-item {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  padding: var(--space-md) var(--space-lg);
  background: var(--paper);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  text-decoration: none;
  color: inherit;
  transition: all var(--transition-normal);
}
.lesson-item:hover {
  background: var(--card-hover);
  border-color: var(--border-hover);
  transform: translateX(4px);
}
.lesson-num {
  font-family: var(--font-display);
  font-size: 0.85rem;
  color: var(--vermillion);
  font-weight: 600;
  letter-spacing: 0.08em;
  flex-shrink: 0;
  min-width: 56px;
}
.lesson-info {
  flex: 1;
  min-width: 0;
}
.lesson-name {
  font-family: var(--font-display);
  font-size: 1.05rem;
  color: var(--ink-brown);
  margin: 0 0 4px;
}
.lesson-subtitle {
  font-size: 0.85rem;
  color: var(--text-body);
  margin: 0;
  line-height: 1.5;
}
.lesson-status {
  font-family: var(--font-sans, sans-serif);
  font-size: 0.75rem;
  padding: 4px 10px;
  border-radius: 12px;
  flex-shrink: 0;
  letter-spacing: 0.05em;
}
.lesson-status.done {
  background: var(--celadon-soft);
  color: var(--celadon);
}
.lesson-status.current {
  background: var(--vermillion-soft);
  color: var(--vermillion);
}
.lesson-status.upcoming {
  background: var(--gold-soft);
  color: var(--gold-dim);
}

/* 主题页 Mission 卡 */
.mission-card {
  background: var(--card);
  border: 1px solid var(--border);
  border-left: 4px solid var(--vermillion);
  border-radius: var(--radius-md);
  padding: var(--space-xl);
  margin-bottom: var(--space-2xl);
}
.mission-card h3 {
  font-family: var(--font-display);
  color: var(--vermillion);
  font-size: 1rem;
  letter-spacing: 0.1em;
  margin: 0 0 var(--space-md);
}
.mission-card p {
  color: var(--text-body);
  line-height: 1.7;
  margin: 0 0 var(--space-md);
}
.mission-card p:last-child { margin-bottom: 0; }

/* 课程进度条 */
.progress-track {
  display: flex;
  gap: 4px;
  margin: var(--space-lg) 0;
}
.progress-pip {
  flex: 1;
  height: 4px;
  background: var(--border);
  border-radius: 2px;
}
.progress-pip.done { background: var(--vermillion); }
.progress-pip.current { background: var(--gold); }

/* 主题块：占位状态（未开课主题） */
.lesson-theme-placeholder {
  opacity: 0.6;
}

/* 主题块底部 CTA 链接 */
.lesson-cta {
  display: inline-flex;
  padding: var(--space-sm) var(--space-lg);
  border: 1px solid var(--border-hover);
  border-radius: var(--radius-md);
  color: var(--ink-brown);
  font-family: var(--font-display);
  text-decoration: none;
  margin-top: var(--space-lg);
  transition: all var(--transition-normal);
}
.lesson-cta:hover {
  background: var(--gold-soft);
  border-color: var(--gold);
}

/* 主题块底部 CTA 容器 */
.lesson-cta-wrap {
  margin-top: var(--space-lg);
  text-align: center;
}

/* 待开课程卡（不可点击） */
.lesson-item-disabled {
  cursor: default;
  opacity: 0.7;
  pointer-events: none;
}

/* Mission 卡 h3 之间间距 */
.mission-h3-spaced {
  margin-top: var(--space-lg);
}

/* Mission 卡内链接（保持朱红品牌色） */
.mission-card a {
  color: var(--vermillion);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* RESOURCES 页 - 资源卡 + 速查表 */
.resource-page { max-width: 920px; margin: 0 auto; padding: var(--space-2xl) var(--space-lg); }
.resource-page h1 { font-family: var(--font-display); color: var(--ink-brown); margin-bottom: var(--space-sm); }
.resource-page h2 { font-family: var(--font-display); color: var(--vermillion); border-bottom: 1px solid var(--border); padding-bottom: var(--space-xs); margin-top: var(--space-2xl); }
.resource-page h3 { font-family: var(--font-display); color: var(--ink-brown); margin-top: var(--space-xl); }
.resource-page p, .resource-page li { color: var(--text-body); line-height: 1.7; }
.resource-page strong { color: var(--vermillion); font-weight: 600; }
.resource-page ul { padding-left: 1.4rem; }
.resource-page .resource-card {
  background: var(--card);
  border: 1px solid var(--border);
  border-left: 4px solid var(--vermillion);
  border-radius: var(--radius-md);
  padding: var(--space-lg) var(--space-xl);
  margin-bottom: var(--space-md);
}
.resource-page .where-tag {
  display: inline-block;
  font-size: 0.78rem;
  padding: 2px 8px;
  border-radius: 10px;
  margin-right: 4px;
}
.resource-page .tag-weread { background: var(--gold-soft); color: var(--gold-dim); }
.resource-page .tag-local  { background: var(--celadon-soft); color: var(--celadon); }
.resource-page .where-tag-dim { opacity: 0.4; }
.resource-page .resource-table {
  width: 100%;
  border-collapse: collapse;
  margin: var(--space-lg) 0;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  overflow: hidden;
}
.resource-page .resource-table th,
.resource-page .resource-table td {
  padding: var(--space-sm) var(--space-md);
  text-align: left;
  border-bottom: 1px solid var(--border);
  font-size: 0.9rem;
}
.resource-page .resource-table th {
  background: var(--gold-soft);
  color: var(--ink-brown);
  font-family: var(--font-display);
  font-weight: 600;
}
.resource-page .resource-table tr:last-child td { border-bottom: none; }
.resource-page .resource-table tr:hover { background: var(--card-hover); }
.resource-page blockquote {
  background: var(--gold-soft);
  border-left: 3px solid var(--gold);
  padding: var(--space-sm) var(--space-md);
  color: var(--text-body);
  font-style: italic;
}
.resource-page hr {
  border: none;
  border-top: 1px solid var(--border);
  margin: var(--space-2xl) 0;
}
.resource-page a { color: var(--vermillion); text-decoration: underline; text-underline-offset: 3px; }
.resource-page a:hover { color: var(--gold-dim); }