/* ===== フォント設定 ===== */

/* 本文：Noto Sans JP */
body {
  font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
  font-weight: 400;
  line-height: 1.8;
  color: #2c2c2c;
}

/* 見出し：太め */
h1, h2, h3, h4, h5, h6 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  letter-spacing: 0.02em;
}

/* コード：JetBrains Mono */
code, pre, .sourceCode {
  font-family: "JetBrains Mono", "SF Mono", Consolas, Monaco, monospace;
  font-size: 0.9em;
}

/* ===== カラー：#073170 をアクセントに ===== */

/* リンク */
a {
  color: #073170;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color 0.2s ease;
}

a:hover {
  color: #073170;
  border-bottom-color: #073170;
}

/* Navbar */
.navbar {
  background-color: #073170 !important;
}

.navbar-brand,
.navbar .nav-link,
.navbar .nav-item a {
  color: #ffffff !important;
}

.navbar .nav-link:hover {
  color: #cdd6e6 !important;
}

/* 検索アイコン等 */
.navbar .quarto-search .aa-DetachedSearchButton {
  color: #ffffff;
}

/* 見出しの下線（h2のみ） */
h2 {
  border-bottom: 2px solid #073170;
  padding-bottom: 0.3em;
  margin-top: 2em;
}

/* タグ・カテゴリのバッジ色 */
.quarto-category,
.listing-category {
  background-color: #073170 !important;
  color: #ffffff !important;
  border: none !important;
}

/* ===== コードブロック ===== */

/* 折りたたみコードブロックのヘッダー */
.code-fold details > summary {
  color: #073170;
  font-weight: 500;
}

/* インラインコード */
p code, li code {
  background-color: #f3f4f8;
  padding: 0.1em 0.4em;
  border-radius: 3px;
  color: #073170;
}

/* ===== その他の調整 ===== */

/* 引用ブロック */
blockquote {
  border-left: 4px solid #073170;
  padding-left: 1em;
  color: #555;
  background-color: #f8f9fb;
  padding: 0.8em 1em;
  margin: 1em 0;
}

/* TOC（目次）の現在位置 */
#TOC > ul a.active,
.sidebar nav[role="doc-toc"] ul > li > a.active {
  color: #073170 !important;
  font-weight: 500;
  border-left: 3px solid #073170;
}

/* listingページ（記事一覧）の hover */
.quarto-post:hover {
  background-color: #f8f9fb;
  transition: background-color 0.2s ease;
}

/* 記事メタ情報（日付、著者） */
.listing-date,
.listing-author,
.quarto-categories {
  color: #666;
  font-size: 0.9em;
}

/* テーブル */
table {
  font-size: 0.95em;
}

table thead {
  background-color: #073170;
  color: #ffffff;
}

table thead th {
  color: #ffffff !important;
  border-bottom: none !important;
}

/* 段落の余白を広めに */
p {
  margin-bottom: 1.2em;
}

/* 強調 */
strong {
  color: #073170;
  font-weight: 700;
}

/* 数式の余白 */
.math.display {
  margin: 1.5em 0;
  overflow-x: auto;
}

/* 図のキャプション */
figcaption {
  text-align: center;
  font-size: 0.9em;
  color: #666;
  margin-top: 0.5em;
}