/* マニュアルページ専用スタイル */

.back-link {
  color: var(--accent);
  text-decoration: none;
  font-weight: 600;
  font-size: 14px;
}
.back-link:hover { text-decoration: underline; }

.manual {
  max-width: 880px;
  margin: 0 auto;
  padding: 28px 24px 80px;
}

.m-sec {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 24px 26px;
  margin-bottom: 22px;
}
.m-sec h2 {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 18px;
  margin: 0 0 14px;
}
.m-sec h2 .num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  background: var(--accent);
  color: #fff;
  border-radius: 50%;
  font-size: 15px;
  flex: none;
}
.lead { color: var(--text-sub); margin: 0 0 16px; font-size: 14px; }

/* カード */
.card-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
}
.m-card {
  border: 1px solid var(--border);
  border-radius: 9px;
  padding: 18px;
  text-align: center;
  background: #fcfcfd;
}
.m-card.mode { text-align: left; }
.m-ico { font-size: 34px; line-height: 1; margin-bottom: 8px; }
.m-card h3 { margin: 6px 0; font-size: 15px; }
.m-card p { margin: 0; font-size: 13px; color: var(--text-sub); }

/* 図 */
.fig {
  width: 100%;
  height: auto;
  display: block;
  margin: 6px 0 14px;
}
.fig.small { max-width: 560px; }

/* 凡例 */
.legend-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 8px 18px;
  font-size: 13px;
}
.legend-grid > div { display: flex; align-items: center; gap: 8px; }
.lg {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 5px;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  flex: none;
}
.lg.a { background: #2563eb; }
.lg.b { background: #2563eb; }
.lg.c { background: #82b366; }
.lg.d { background: #d6b656; }

/* ステップ */
.steps {
  display: flex;
  align-items: stretch;
  gap: 8px;
  flex-wrap: wrap;
}
.step {
  flex: 1;
  min-width: 170px;
  border: 1px solid var(--border);
  border-radius: 9px;
  padding: 16px;
  background: #fcfcfd;
}
.step-no {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--accent);
  color: #fff;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 8px;
}
.step h3 { margin: 0 0 6px; font-size: 14px; }
.step p { margin: 0; font-size: 12.5px; color: var(--text-sub); }
.step-arrow {
  display: flex;
  align-items: center;
  color: var(--accent);
  font-size: 22px;
  font-weight: 700;
}

/* バズ係数の式 */
.formula {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
  padding: 22px 10px;
}
.f-box {
  padding: 14px 20px;
  border-radius: 9px;
  font-weight: 700;
  font-size: 15px;
}
.f-views { background: #dae8fc; color: #1d4ed8; }
.f-subs { background: #fff2cc; color: #9a7d1f; }
.f-buzz { background: #d5e8d4; color: #3a7d2c; }
.f-op { font-size: 22px; font-weight: 700; color: var(--text-sub); }
.example {
  background: #f5f6f8;
  border-radius: 8px;
  padding: 14px 16px;
  font-size: 13.5px;
}
.hi { color: #3a7d2c; }

/* 絞り込み */
.filter-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 12px;
}
.filt {
  display: flex;
  gap: 12px;
  align-items: center;
  border: 1px solid var(--border);
  border-radius: 9px;
  padding: 14px;
  font-size: 13px;
  background: #fcfcfd;
}
.filt-ico { font-size: 26px; flex: none; }
.filt strong { font-size: 14px; }

/* 注意ボックス */
.note-box {
  background: #fff8e6;
  border: 1px solid #e6d28a;
  border-radius: 8px;
  padding: 14px 16px;
  font-size: 13.5px;
  margin-bottom: 10px;
  line-height: 1.7;
}
.note-box.ok {
  background: #eef7ec;
  border-color: #b6d8a8;
}

/* CSV列 */
.csv-cols {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.csv-cols span {
  background: #f5f6f8;
  border: 1px solid var(--border);
  border-radius: 6px;
  padding: 6px 12px;
  font-size: 12.5px;
}
.csv-cols .hi-col {
  background: #eef4ff;
  border-color: #2563eb;
  color: #1d4ed8;
  font-weight: 700;
}

.foot { text-align: center; margin-top: 8px; }

@media (max-width: 640px) {
  .step-arrow { transform: rotate(90deg); width: 100%; justify-content: center; }
  .steps { flex-direction: column; }
}
