/* =========================================================
   papers.css — Publications list (WINERED list style, neutral/blue)
   NOTE:
   - Load AFTER basic.css to override where needed.
   - Supports both legacy markup (ul.papers) and new markup
     (.pub-list / .pub-entry / .pub-head / .pub-title / .pub-tail).
   ========================================================= */

/* Page base (keeps neutral tone consistent with basic.css) */
body {
  font-family: "Noto Sans JP", "Yu Gothic", "Hiragino Kaku Gothic ProN", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  line-height: 1.75;
  margin: 0;
  padding: 0;
  background: #f7f8fa; /* match basic.css --bg */
  color: #222;         /* match basic.css --text */
}

/* Header (if a standalone page header is used) */
header.pubs-header {
  background: linear-gradient(90deg, #2a5d9f, #3b6fb0); /* blue-accent */
  color: #fff;
  padding: 1.25rem 1.5rem;
  text-align: center;
  box-shadow: 0 2px 10px rgba(0,0,0,.08);
}
header.pubs-header h1 {
  margin: 0;
  font-size: clamp(1.25rem, 2.6vw, 1.8rem);
  letter-spacing: .02em;
}

/* Description block */
.description {
  max-width: 920px;
  margin: 1.25rem auto 1rem;
  padding: .9rem 1.1rem;
  background: #fff;
  border-left: 6px solid #2a5d9f;     /* blue accent */
  border-radius: 10px;                 /* softer than before */
  box-shadow: 0 6px 18px rgba(0,0,0,.06);
  font-size: 1.02rem;
  color: #2b2f36;
}

/* Figure block (trend plots, etc.) */
.figure {
  max-width: 920px;
  margin: .8rem auto 1.2rem;
  text-align: center;
}
.figure img {
  max-width: 100%;
  border: 1px solid #e3e7ee;           /* match basic.css --line */
  border-radius: 10px;
  background: #fff;
  padding: 6px;
  box-shadow: 0 8px 20px rgba(0,0,0,.06);
}

/* -------------------------------
   List containers (new + legacy)
   ------------------------------- */

/* New: UL with .pub-list */
.pub-list {
  list-style: none;
  padding-left: 0;
  margin: .4rem auto 1.25rem;
  max-width: 920px;
}

/* 2カラム（番号／本文）レイアウト */
.pub-list.numbered {
  list-style: none;          /* 既定マーカーは消す */
  padding-left: 0;
  margin: .4rem auto 1.1rem;
  max-width: 920px;
}
.pub-entry.pub-grid {
  display: grid;
  grid-template-columns: 3.2ch 1fr;   /* ← 番号幅（桁増に合わせて調整） */
  column-gap: .8rem;
  align-items: start;                  /* 1行目を揃える */
  padding: .7rem .9rem;                /* 既存カードよりやや詰める */
}
.pub-num {
  text-align: right;
  font-weight: 700;
  font-variant-numeric: tabular-nums;  /* 桁幅を揃える */
  line-height: 1.2;                    /* 1行目のベースライン合わせ */
  color: #263145;                      /* やや落ち着いた色 */
  padding-top: .05rem;                 /* 微調整で行位置を揃える */
}
.pub-main {
  min-width: 0;                        /* タイトルの折返し用 */
}
.pub-head {
  margin: 0 0 .1rem 0;
  line-height: 1.35;                   /* 1行目の高さを抑える */
}
.pub-title {
  margin: 0;
  line-height: 1.35;
}


/* Legacy: UL.papers (kept for backward-compat) */
ul.papers {
  list-style: none;
  padding-left: 0;
  margin: .4rem auto 1.25rem;
  max-width: 920px;
}

/* -------------------------------
   List items (new + legacy)
   ------------------------------- */

/* New: LI.pub-entry */
.pub-entry {
  background: #fff;
  border: 1px solid #e3e7ee;
  border-left: 6px solid #2a5d9f; /* accent */
  border-radius: 12px;
  margin-bottom: .85rem;
  padding: .95rem 1.1rem;
  box-shadow: 0 8px 20px rgba(0,0,0,.06);
  transition: transform .15s ease, box-shadow .15s ease;
}
.pub-entry:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 26px rgba(0,0,0,.08);
}

/* Legacy: ul.papers li */
ul.papers li {
  background: #fff;
  border: 1px solid #e3e7ee;
  border-left: 6px solid #2a5d9f; /* updated accent */
  border-radius: 12px;
  margin-bottom: .85rem;
  padding: .95rem 1.1rem;
  box-shadow: 0 8px 20px rgba(0,0,0,.06);
  transition: transform .15s ease, box-shadow .15s ease;
}
ul.papers li:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 26px rgba(0,0,0,.08);
}

/* -------------------------------
   Text atoms
   ------------------------------- */

/* Old class names kept; new blocks below supply structure */
.author { font-weight: 600; color: #111; }
.title  { display: block; color: #101418; }
.journal{ font-style: italic; color: #5f6b7a; }

/* Links (scoped) */
.pub-entry a, ul.papers a {
  color: #2a5d9f;
  text-decoration: none;
  border-bottom: 1px dotted #2a5d9f;
}
.pub-entry a:hover, ul.papers a:hover { text-decoration: underline; }

/* Year headings */
.year-heading {
  font-size: 1.25rem;
  font-weight: 700;
  margin: 1.6rem auto .6rem;
  padding-left: .5rem;
  max-width: 920px;
  border-left: 6px solid #2a5d9f;
  color: #263145;
}

/* Small utility: spacing after updated-at text */
.updated-at {
  color: #5f6b7a;
  font-size: .9rem;
  margin-top: .6rem;
}




/* セクション内ジャンプの見栄え（テンプレの「論文リスト：…」リンク用） */
.page__header a {
  display: inline-block;
  padding: .15rem .5rem;
  margin: 0 .1rem;
  border: 1px solid var(--line, #e3e7ee);
  border-radius: 999px;
  text-decoration: none;
  font-size: .95rem;
}
.page__header a:hover {
  background: rgba(42,93,159,.08); /* 薄い青 */
}

/* 固定ヘッダがある場合のスクロール位置ずれ対策 */
.section-title {
  scroll-margin-top: 72px; /* ヘッダの高さに合わせて調整（例） */
}

/* セクション内ジャンプの見栄え（テンプレの「論文リスト：…」リンク用） */
.page__header a {
  display: inline-block;
  padding: .15rem .5rem;
  margin: 0 .1rem;
  border: 1px solid var(--line, #e3e7ee);
  border-radius: 999px;
  text-decoration: none;
  font-size: .95rem;
}
.page__header a:hover {
  background: rgba(42,93,159,.08); /* 薄い青 */
}

/* 固定ヘッダがある場合のスクロール位置ずれ対策 */
.section-title {
  scroll-margin-top: 72px; /* ヘッダの高さに合わせて調整（例） */
}

.section-nav { display: inline-flex; gap: .4rem; flex-wrap: wrap; }
.section-nav a { padding: .15rem .6rem; border: 1px solid var(--line, #e3e7ee); border-radius: 999px; text-decoration: none; }
.section-nav a:hover { background: rgba(42,93,159,.08); }
