/* cheatsheet.css - 速查表样式（术语 / 类比 / 金句 / 数据卡 / 决策 / 提醒） */
/* 装修基础课 v1.2 */

.cheatsheet-main {
  max-width: var(--container-max);
  margin: var(--sp-6) auto;
  padding: 0 var(--sp-5);
}

.cheatsheet-hero {
  background: linear-gradient(135deg, var(--c-card) 0%, var(--c-decor) 100%);
  border-radius: var(--r-lg);
  padding: var(--sp-7) var(--sp-5);
  margin-bottom: var(--sp-7);
  text-align: center;
  position: relative;
  overflow: hidden;
  box-shadow: var(--shadow-md);
}

.cheatsheet-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle at 30% 40%, rgba(255,255,255,0.4) 0%, transparent 50%);
  pointer-events: none;
}

.cheatsheet-eyebrow {
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  color: var(--c-mid);
  letter-spacing: var(--tracking-wide);
  margin-bottom: var(--sp-2);
  position: relative;
}

.cheatsheet-title {
  font-family: var(--font-display);
  font-size: var(--fs-3xl);
  color: var(--c-deep);
  margin: 0 0 var(--sp-2);
  border: none;
  padding: 0;
  position: relative;
}

.cheatsheet-subtitle {
  color: var(--c-text-soft);
  position: relative;
}

.cheatsheet-section {
  background: var(--c-white);
  border-radius: var(--r-lg);
  padding: var(--sp-6);
  margin-bottom: var(--sp-6);
  box-shadow: var(--shadow-md);
  border: 1px solid var(--c-line);
}

.section-header {
  margin-bottom: var(--sp-5);
}

.section-header h2 {
  font-family: var(--font-display);
  font-size: var(--fs-2xl);
  color: var(--c-mid);
  border-bottom: 2px solid var(--c-decor);
  padding-bottom: var(--sp-3);
  margin: 0 0 var(--sp-2);
}

.section-header p {
  color: var(--c-text-soft);
  margin: 0;
}

/* ===== 工具栏（搜索 + 章节过滤） ===== */

.cheatsheet-toolbar {
  display: flex;
  gap: var(--sp-3);
  margin-bottom: var(--sp-5);
  flex-wrap: wrap;
  align-items: center;
}

.cheatsheet-search {
  flex: 1;
  min-width: 240px;
  padding: var(--sp-3) var(--sp-4);
  border: 2px solid var(--c-line);
  border-radius: var(--r-pill);
  font-family: var(--font-body);
  font-size: var(--fs-md);
  background: var(--c-card);
  outline: none;
  transition: all 0.2s;
}

.cheatsheet-search:focus {
  border-color: var(--c-mid);
  background: var(--c-white);
  box-shadow: 0 0 0 3px rgba(124,92,62,0.1);
}

.cheatsheet-filter {
  display: flex;
  gap: var(--sp-2);
  flex-wrap: wrap;
}

.filter-btn {
  padding: var(--sp-2) var(--sp-3);
  border: 1px solid var(--c-line);
  background: var(--c-card);
  color: var(--c-text-soft);
  border-radius: var(--r-pill);
  font-size: var(--fs-xs);
  cursor: pointer;
  font-family: var(--font-body);
  transition: all 0.2s;
}

.filter-btn:hover {
  border-color: var(--c-mid);
  color: var(--c-mid);
}

.filter-btn.active {
  background: var(--c-mid);
  color: var(--c-white);
  border-color: var(--c-mid);
}

/* ===== 术语卡片网格 ===== */

.cheatsheet-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: var(--sp-3);
}

.glossary-card {
  background: var(--c-card);
  border: 1px solid var(--c-line);
  border-radius: var(--r-md);
  padding: var(--sp-3);
  transition: all 0.2s;
}

.glossary-card:hover {
  border-color: var(--c-mid);
  transform: translateY(-1px);
  box-shadow: var(--shadow-sm);
}

.glossary-card-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: var(--sp-2);
  margin-bottom: var(--sp-2);
}

.glossary-card-header h3 {
  font-family: var(--font-display);
  font-size: var(--fs-md);
  color: var(--c-deep);
  margin: 0;
  border: none;
  padding: 0;
  flex: 1;
}

.glossary-chapter {
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  background: var(--c-decor);
  color: var(--c-mid);
  padding: 2px 8px;
  border-radius: var(--r-sm);
  white-space: nowrap;
}

.glossary-explain {
  font-size: var(--fs-sm);
  color: var(--c-text-soft);
  line-height: 1.6;
  margin: 0;
}

/* ===== 类比卡片 ===== */

.analogy-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: var(--sp-3);
}

.analogy-card {
  background: var(--c-card);
  border: 1px solid var(--c-line);
  border-left: 4px solid var(--c-blue);
  border-radius: var(--r-md);
  padding: var(--sp-4);
  position: relative;
  transition: all 0.2s;
}

.analogy-card:hover {
  border-left-color: var(--c-mid);
  transform: translateY(-1px);
  box-shadow: var(--shadow-sm);
}

.analogy-concept {
  font-family: var(--font-display);
  font-size: var(--fs-md);
  color: var(--c-deep);
  font-weight: 700;
  margin-bottom: var(--sp-2);
}

.analogy-arrow {
  text-align: center;
  font-size: 1.2rem;
  color: var(--c-light);
  margin: var(--sp-1) 0;
}

.analogy-text {
  font-size: var(--fs-sm);
  color: var(--c-text-soft);
  line-height: 1.6;
}

.analogy-chapter {
  position: absolute;
  top: var(--sp-2);
  right: var(--sp-3);
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  color: var(--c-text-mute);
}

/* ===== 各章金句 ===== */

.quotes-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: var(--sp-4);
}

.quote-chapter {
  background: var(--c-card);
  border-radius: var(--r-md);
  padding: var(--sp-4);
  border: 1px solid var(--c-line);
}

.quote-chapter header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--sp-3);
  padding-bottom: var(--sp-2);
  border-bottom: 1px dashed var(--c-line);
}

.quote-chapter header h3 {
  font-family: var(--font-display);
  font-size: var(--fs-md);
  color: var(--c-deep);
  margin: 0;
  border: none;
  padding: 0;
}

.quote-chapter header a {
  color: var(--c-deep);
  border: none;
}

.quote-chapter header a:hover {
  color: var(--c-mid);
  border: none;
}

.quote-hours {
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  background: var(--c-decor);
  color: var(--c-mid);
  padding: 2px 8px;
  border-radius: var(--r-sm);
}

.quote-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.quote-list li {
  padding: var(--sp-2) 0 var(--sp-2) var(--sp-5);
  position: relative;
  font-size: var(--fs-sm);
  color: var(--c-text);
  line-height: 1.6;
  border-bottom: 1px dotted var(--c-line);
}

.quote-list li:last-child {
  border-bottom: none;
}

.quote-list li::before {
  content: "💎";
  position: absolute;
  left: 0;
  top: var(--sp-2);
}

.quote-pending {
  color: var(--c-text-mute) !important;
  font-style: italic;
}

/* ===== 数据卡 ===== */

.datacard-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: var(--sp-3);
}

.datacard-pending {
  background: var(--c-card);
  border: 1px dashed var(--c-line);
  border-radius: var(--r-md);
  padding: var(--sp-3);
  text-align: center;
}

.datacard-chapter {
  display: block;
  font-size: var(--fs-xs);
  color: var(--c-text-mute);
  margin-bottom: var(--sp-1);
}

.datacard-num {
  font-family: var(--font-display);
  font-size: var(--fs-md);
  color: var(--c-deep);
  font-weight: 700;
  margin-bottom: var(--sp-2);
}

.datacard-pending p {
  font-size: var(--fs-xs);
  color: var(--c-text-mute);
  margin: 0;
  font-style: italic;
}

/* ===== 决策清单 ===== */

.decisions-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: var(--sp-4);
}

.decision-chapter {
  background: var(--c-card);
  border-left: 4px solid var(--c-green);
  border-radius: var(--r-md);
  padding: var(--sp-4);
}

.decision-chapter header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--sp-2);
}

.decision-chapter header h3 {
  font-family: var(--font-display);
  font-size: var(--fs-md);
  color: var(--c-deep);
  margin: 0;
  border: none;
  padding: 0;
}

.decision-chapter header a {
  color: var(--c-deep);
  border: none;
}

.decision-count {
  font-size: var(--fs-xs);
  background: var(--c-green);
  color: var(--c-white);
  padding: 2px 8px;
  border-radius: var(--r-sm);
  font-weight: 600;
}

.decision-chapter ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.decision-chapter ul li {
  padding: var(--sp-1) 0;
  font-size: var(--fs-sm);
  color: var(--c-text-mute);
  font-style: italic;
}

/* ===== 过来人提醒 ===== */

.warnings-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: var(--sp-4);
}

.warning-chapter {
  background: var(--c-card);
  border-left: 4px solid var(--c-red);
  border-radius: var(--r-md);
  padding: var(--sp-4);
}

.warning-chapter header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--sp-2);
}

.warning-chapter header h3 {
  font-family: var(--font-display);
  font-size: var(--fs-md);
  color: var(--c-deep);
  margin: 0;
  border: none;
  padding: 0;
}

.warning-chapter header a {
  color: var(--c-deep);
  border: none;
}

.warning-count {
  font-size: var(--fs-xs);
  background: var(--c-red);
  color: var(--c-white);
  padding: 2px 8px;
  border-radius: var(--r-sm);
  font-weight: 600;
}

.warning-chapter ol {
  margin: 0;
  padding-left: var(--sp-5);
}

.warning-chapter ol li {
  padding: var(--sp-1) 0;
  font-size: var(--fs-sm);
  color: var(--c-text-mute);
  font-style: italic;
}

/* ===== 响应式 ===== */

@media (max-width: 640px) {
  .cheatsheet-hero {
    padding: var(--sp-5) var(--sp-3);
  }
  .cheatsheet-section {
    padding: var(--sp-4);
  }
  .cheatsheet-toolbar {
    flex-direction: column;
    align-items: stretch;
  }
  .cheatsheet-search {
    min-width: auto;
  }
  .cheatsheet-filter {
    justify-content: flex-start;
  }
  .cheatsheet-grid,
  .analogy-grid,
  .quotes-list,
  .decisions-list,
  .warnings-list,
  .datacard-grid {
    grid-template-columns: 1fr;
  }
}