/* AI コラム（/insights）専用。bin/gen-insights.py が生成ページにだけ読み込ませる。
   色・字の大きさは styles-v4.css の変数をそのまま使い、ここでは記事の縦組みだけを足す。 */

.ins-head { max-width: min(var(--v4-measure), 100%); }
.ins-title { margin-top: 10px; }
.ins-dates { margin-top: 14px; }

.ins-article { max-width: min(var(--v4-measure), 100%); min-width: 0; }
.ins-article > * { min-width: 0; overflow-wrap: anywhere; }
.ins-h2 { margin-top: 48px; margin-bottom: 14px; }
.ins-article > .ins-h2:first-child { margin-top: 0; }
.ins-h3 { margin-top: 28px; margin-bottom: 10px; }
.ins-p + .ins-p,
.ins-list + .ins-p,
.ins-p + .ins-list,
.ins-note + .ins-p,
.ins-p + .ins-note { margin-top: var(--v4-stack); }

.ins-view,
.ins-overall {
  border-left: 3px solid var(--v4-ink);
  padding: 2px 0 2px 16px;
}
.ins-overall { background: rgba(16, 19, 24, 0.035); padding: 14px 16px 14px 16px; }

.ins-list { display: grid; gap: 8px; }
.ins-list li {
  position: relative;
  padding-left: 1.1em;
  color: var(--v4-ink-body);
  font-size: var(--v4-fs-body);
  line-height: var(--v4-lh-body);
}
.ins-list li::before { content: "・"; position: absolute; left: 0; }

.ins-sources { display: grid; gap: 10px; counter-reset: src; }
.ins-sources li {
  counter-increment: src;
  display: grid;
  grid-template-columns: 2em minmax(0, 1fr);
  font-size: var(--v4-fs-meta);
  line-height: 1.7;
  color: var(--v4-ink-body);
}
.ins-sources li::before { content: counter(src) "."; color: var(--v4-ink-muted); }
.ins-sources a { overflow-wrap: anywhere; }
.ins-src-host { grid-column: 2; color: var(--v4-ink-muted); font-family: var(--font-mono); font-size: 12px; }

.ins-links { display: grid; gap: 8px; }
.ins-more { margin-top: 32px; border-top: 1px solid var(--v4-hair); padding-top: 20px; }

.ins-cta { margin-top: 56px; border-top: 1px solid var(--v4-hair); padding-top: 28px; }
.ins-cta .v4-p { margin-top: 10px; }
.ins-cta .v4-actions { margin-top: 18px; }

.ins-idx-series { color: var(--v4-ink-muted); font-size: var(--v4-fs-meta); }
.ins-idx-title { margin-top: 4px; }
.ins-idx-title a { color: inherit; text-decoration: none; }
.ins-idx-title a:hover { text-decoration: underline; }
.ins-idx-sum { margin-top: 6px; }

@media (max-width: 640px) {
  .ins-index .v4-log-item { grid-template-columns: minmax(0, 1fr); gap: 6px; }
  .ins-h2 { margin-top: 36px; }
}

.ins-faq-h { margin-top: 56px; }
.ins-article .v4-faq { margin-top: 8px; }
