/* 研究一覧 page — page-specific styles (from Figma 13:4650) */

.research { background: var(--beige); }

/* Intro */
.page-intro { background: #fff; padding: 32px var(--gutter); display: flex; flex-direction: column; gap: 16px; }
.crumbs { font-size: 11px; color: var(--muted); white-space: pre; }
.crumbs a { color: var(--muted); text-decoration: none; }
.crumbs a:hover { text-decoration: underline; }
.page-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; }
.page-heading > div { display: flex; flex-direction: column; gap: 12px; }
.kicker { font-size: 11px; letter-spacing: 2px; }
.page-heading h1 { font-size: 28px; line-height: 1.5; }
.page-no { font-family: "Cormorant Garamond", Georgia, serif; font-size: 22px; color: #96a59a; }
.lead { font-size: 15px; line-height: 1.95; }

/* Index */
.theme-index { padding: 0 var(--gutter) 24px; }
.theme-index .tags { gap: 12px; }
.theme-index .tag a { color: var(--text); text-decoration: none; }
.theme-index .tag a:hover { text-decoration: underline; }

/* Themes */
.themes { padding: 0 var(--gutter) 48px; display: flex; flex-direction: column; gap: 24px; }
.theme {
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius);
  padding: 24px; display: flex; flex-direction: column; gap: 16px; scroll-margin-top: 16px;
}
.theme-featured { gap: 20px; }
.theme-info { display: flex; flex-direction: column; gap: 12px; }
.theme-info .no { font-family: "Cormorant Garamond", Georgia, serif; font-size: 44px; line-height: normal; }
.theme-info .yr { font-family: "Inter", sans-serif; font-size: 11px; color: var(--muted); }
.theme-body { display: flex; flex-direction: column; gap: 16px; align-items: flex-start; }
.theme-body > * { max-width: 100%; }
.en-title { font-family: "Cormorant Garamond", Georgia, serif; font-size: 30px; line-height: 1.1; }
.featured-title { font-size: 31px; font-weight: 500; line-height: 1.95; }
.theme-title { font-size: 27px; font-weight: 500; line-height: 1.95; }
.body15 { font-size: 15px; line-height: 1.95; }
.related { font-size: 11px; line-height: 1.95; color: var(--muted); }

.theme-figure { background: var(--beige); padding: 24px; display: flex; flex-direction: column; gap: 16px; }
.theme-figure hr { border: 0; height: 1px; background: var(--line); margin: 0; width: 100%; }
.fig-label { font-family: "Inter", sans-serif; font-size: 9px; letter-spacing: 1.5px; color: var(--muted); }
.fig-label.lg { font-size: 10px; letter-spacing: 2px; }
.fig-big { font-family: "Cormorant Garamond", Georgia, serif; line-height: normal; }
.fig-big.rcc { font-size: 57px; line-height: 1.02; }
.fig-big.qraft { font-size: 62px; }
.fig-big.words { font-size: 49px; }
.fig-note { font-size: 11px; line-height: 1.95; color: var(--muted); }
.fig-text { font-size: 13px; line-height: 1.95; }
.modes { display: flex; gap: 14px; }
.modes p { flex: 1 1 0; min-width: 0; border: 1px solid var(--line); padding: 16px 10px; font-size: 11px; line-height: 1.95; text-align: center; }
.llm { display: flex; justify-content: space-between; align-items: center; }
.llm span { font-family: "Cormorant Garamond", Georgia, serif; font-size: 38px; }
.llm .sym { font-family: "Inter", sans-serif; font-size: 26px; }

/* Connected themes */
.connected { padding: 48px var(--gutter); display: flex; flex-direction: column; gap: 24px; }
.sec-head { display: flex; flex-direction: column; gap: 12px; }
.sec-head .kicker { font-family: "Inter", sans-serif; }
.sec-head h2 { font-size: 32px; font-weight: 500; line-height: 1.5; }
.relation { display: flex; align-items: center; gap: 22px; }
.rel-box { width: 360px; flex-shrink: 0; border: 1px solid var(--line); padding: 26px; display: flex; flex-direction: column; gap: 12px; }
.rel-box .en { font-family: "Cormorant Garamond", Georgia, serif; font-size: 31px; line-height: 1.1; }
.rel-box .items { font-size: 16px; line-height: 1.95; }
.rel-box .items a { color: var(--text); text-decoration: none; }
.rel-box .items a:hover { text-decoration: underline; }
.dash { font-family: "Cormorant Garamond", Georgia, serif; font-size: 36px; }
.rel-center { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: 14px; text-align: center; line-height: 1.95; }
.rel-center .t { font-size: 20px; font-weight: 500; }
.rel-center .s { font-size: 11px; color: var(--muted); }
.rel-note { font-size: 11px; line-height: 1.95; color: var(--muted); }

/* Bibliography + back */
.biblio { padding: 32px var(--gutter); display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.biblio p { flex: 1 1 0; min-width: 0; font-size: 20px; line-height: 1.95; }
.btn-lg { height: 50px; min-width: 194px; gap: 32px; border-radius: 0; background: transparent; font-weight: 500; }
.btn-lg .arrow { font-size: 21px; }
.back-home { padding: 0 var(--gutter) 32px; }

@media (max-width: 1200px) {
  .relation { flex-wrap: wrap; justify-content: center; }
  .rel-box { width: calc(50% - 11px); flex: 1 1 280px; }
  .relation .dash { display: none; }
  .rel-center { order: -1; flex-basis: 100%; }
}
@media (max-width: 860px) {
  .page-heading h1 { font-size: 24px; }
  .featured-title { font-size: 24px; }
  .theme-title { font-size: 22px; }
  .en-title { font-size: 24px; }
  .fig-big.rcc { font-size: 44px; }
  .fig-big.qraft { font-size: 48px; }
  .fig-big.words { font-size: 36px; }
  .sec-head h2 { font-size: 24px; }
  .rel-box { width: 100%; flex-basis: 100%; }
  .biblio { flex-direction: column; align-items: flex-start; }
  .biblio p { font-size: 16px; }
  .theme, .theme-figure { padding: 16px; }
}
@media (max-width: 860px) { .biblio p { flex: none; } }
