/* ===== chanh.ee / beking0912 스타일: 밝고 깔끔한 미니멀 ===== */
/* 색상이나 폭을 바꾸고 싶으면 아래 값만 수정하세요 */
:root {
  --bg: #ffffff;        /* 배경 (흰색) */
  --text: #1a1a1a;      /* 글자색 */
  --muted: #6b7280;     /* 흐린 글자 (날짜, 설명) */
  --accent: #ba0c2f;    /* OSU 스칼렛 (링크 hover, 강조색) */
  --border: #e5e7eb;    /* 구분선 */
  --max-width: 720px;   /* 본문 폭 (좁을수록 학술 느낌) */
}

* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }

body {
  font-family: "Charter", "Bitstream Charter", "Sitka Text", Cambria,
               Georgia, "Apple SD Gothic Neo", "맑은 고딕", serif;
  background: var(--bg);
  color: var(--text);
  line-height: 1.5;
  font-size: 14px;
  -webkit-font-smoothing: antialiased;
}

.container {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 40px 24px 80px;
}

/* 링크: 평소엔 본문과 같은 색 + 밑줄 없음, 마우스 올리면 스칼렛 + 밑줄 */
a { color: inherit; text-decoration: none; }
a:hover { color: var(--accent); text-decoration: underline; }

/* ===== 상단 네비게이션 ===== */
.topnav {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  padding-bottom: 28px;
  margin-bottom: 44px;
}
.nav-links a { margin-left: 22px; font-weight: 400; font-size: 13px; color: #868e92; font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; letter-spacing: -0.1px; }
.nav-links a.active { font-weight: 700; }   /* 선택된 메뉴: 볼드 (색 강조 없음) */
/* ===== More 드롭다운 (Teaching / Extension) ===== */
.nav-dropdown { position: relative; display: inline-block; margin-left: 22px; }
.nav-dropdown .nav-more { margin-left: 0; cursor: pointer; }
.nav-dropdown .caret { font-size: 9px; }
.nav-dropdown .dropdown-menu {
  display: none; position: absolute; right: 0; top: calc(100% + 7px);
  background: #fff; border: 1px solid #ececec; border-radius: 7px;
  box-shadow: 0 5px 16px rgba(0,0,0,0.09);
  padding: 5px 0; min-width: 116px; z-index: 20; text-align: left;
}
.nav-dropdown.open .dropdown-menu { display: block; }
.nav-dropdown .dropdown-menu a { display: block; margin-left: 0; padding: 6px 15px; white-space: nowrap; }
.nav-dropdown .dropdown-menu a:hover { background: #f6f6f6; }
.social a { margin-left: 14px; color: var(--muted); font-size: 0.9rem; }

/* ===== 히어로 (사진 + 소개) ===== */
.hero { display: flex; gap: 28px; align-items: center; margin-bottom: 56px; }
.hero-left { display: flex; flex-direction: column; align-items: center; flex-shrink: 0; }
.avatar-email {
  margin-top: 8px;
  font-size: 12px;
  font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
  color: #646a6e;
  text-align: center;
  word-break: break-all;
  max-width: 180px;
}
.avatar {
  width: 180px; height: auto;
  border-radius: 0;
  flex-shrink: 0;
  border: 1px solid var(--border);
}
.hero-text { font-family: Arial, "Helvetica Neue", Helvetica, "Apple SD Gothic Neo", sans-serif; text-align: left; }
.hero-text h1 {
  font-family: "Charter", "Bitstream Charter", Georgia, serif;   /* 이름만 Charter */
  font-size: 1.7rem; margin-bottom: 14px; font-weight: 720; letter-spacing: -0.5px;
}
.hanja { color: var(--muted); font-weight: 400; font-size: 1.1rem; }
.hero-text p { margin-bottom: 12px; }
.semi { font-weight: 600; }   /* semibold */
.email-line { color: var(--text); font-size: 14px; margin-top: 14px; }
.email-line em { font-style: normal; }

/* ===== 섹션 공통 ===== */
.block { margin-bottom: 52px; }
.block h2 {
  font-size: 17.5px;
  margin-bottom: 20px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--border);
}

/* ===== Research Fields 태그 ===== */
.fields { display: flex; flex-wrap: wrap; gap: 10px; }
.field {
  border: 1px solid var(--border);
  background: #f9fafb;
  padding: 6px 14px;
  border-radius: 999px;
  font-size: 12.5px;
  font-family: -apple-system, "Apple SD Gothic Neo", sans-serif;
}

/* ===== What's New 타임라인 (스크롤되는 박스) ===== */
.timeline-scroll {
  max-height: 200px;        /* ← 박스 높이. 이 값을 키우면 더 많이 보입니다 */
  overflow-y: auto;
  padding: 4px 16px 4px 4px;
}
/* 작은 스크롤바 (크롬/사파리) */
.timeline-scroll::-webkit-scrollbar { width: 8px; }
.timeline-scroll::-webkit-scrollbar-track { background: transparent; }
.timeline-scroll::-webkit-scrollbar-thumb {
  background: #c4c4c4;
  border-radius: 4px;
}
.timeline-scroll::-webkit-scrollbar-thumb:hover { background: #a0a0a0; }
/* 작은 스크롤바 (파이어폭스) */
.timeline-scroll { scrollbar-width: thin; scrollbar-color: #c4c4c4 transparent; }

/* 점-선으로 이어지는 타임라인 */
.timeline { list-style: none; position: relative; padding-left: 30px; }
.timeline::before {           /* 세로 연결선 */
  content: "";
  position: absolute;
  left: 6px; top: 8px; bottom: 8px;
  width: 2px;
  background: #e0bcc3;
}
.timeline li { position: relative; margin-bottom: 14px; }
.timeline li:last-child { margin-bottom: 4px; }
.timeline li::before {        /* 2중 동심원: 진한 안쪽 점 + 연한 바깥 링 */
  content: "";
  position: absolute;
  left: -31px; top: 4px;
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--accent);
  border: 4px solid #e0bcc3;
}
.tl-date { font-weight: 700; display: block; margin-bottom: 3px; }
.timeline p { margin: 0; color: #3f4443; font-size: 12.5px; font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; }
.timeline p a { font-style: italic; }   /* 페이퍼·프로젝트 제목 요약 링크는 이탤릭 */
.timeline p a.noital { font-style: normal; }   /* 예외: 이탤릭 제외 (예: JMP) */
.timeline p strong { font-weight: 580; }   /* 저널·컨퍼런스 이름 굵기 */

/* Publications 전반 자간 줄이기 (abstract 제외) */
#publications, #extension { letter-spacing: -0.3px; }
#publications .abstract,
#publications .pub-cat,
#extension .pub-cat { letter-spacing: normal; }   /* 초록·헤딩은 자간 제외 */

/* ===== Publications ===== */
.pub-cat {                       /* 카테고리 소제목 (Job Market Paper 등) */
  font-size: 18px;
  font-weight: 700;
  color: var(--accent);
  margin: 48px 0 16px;
}
.pub-item { margin-bottom: 16px; padding-left: 3px; }   /* 헤딩 아래 논문 들여쓰기 */
#extension .pub-item { margin-bottom: 18px; }   /* Extension만 항목 간격 넓게 */
.pub-title { font-weight: 600; font-size: 14.5px; margin-bottom: 2px; color: var(--text); }
a.title-link { color: inherit; }
a.title-link:hover { color: inherit; text-decoration: underline; }   /* 제목 링크: 검정 유지, hover 시 밑줄 */
.pub-meta { font-weight: 400; color: var(--text); }
.pub-cite { font-size: 12px; margin-bottom: 2px; }
.pub-note { color: var(--text); font-size: 12px; margin-bottom: 2px; }
.pub-authors { color: #646a6e; font-size: 13px; margin-bottom: 1px; }   /* 다른 저자 색 */
.pub-venue   { color: #3f4443; font-size: 13px; margin-bottom: 2px; }   /* 저널 줄 (저널명 볼드) */
.pub-venue strong { font-style: italic; }           /* 저널명 이탤릭 */
.pub-venue .status { font-style: italic; }           /* 상태 문구(Revise and Resubmit)는 이탤릭 */
/* ===== Data 페이지 ===== */
.data-intro { color: #3f4443; font-size: 14.5px; margin: 0 0 22px 3px; }
#data .pub-title { font-size: 16.5px; }
.data-item > summary { cursor: pointer; display: inline-block; list-style: none; }
.data-item > summary::-webkit-details-marker { display: none; }
.data-item > summary::before { content: "▸"; font-size: 1.5em; margin-right: 9px; }
.data-item[open] > summary::before { content: "▾"; }
.data-desc { color: #646a6e; font-size: 14px; margin: 1px 0 14px; line-height: 1.6; font-family: "Pretendard", "Apple SD Gothic Neo", sans-serif; }
.data-bullets { margin: 22px 0 0; padding-left: 0; list-style: none; }
.data-bullets li { color: #646a6e; font-size: 14px; line-height: 1.6; margin-bottom: 14px; font-family: "Pretendard", "Apple SD Gothic Neo", sans-serif; position: relative; padding-left: 1.3em; }
.data-bullets li::before { content: "\25AA"; position: absolute; left: 0; color: #646a6e; }
.data-bullets li:last-child { margin-bottom: 0; }
.data-links { font-size: 16.5px; margin: 18px 0 14px; font-family: "Maple Mono", ui-monospace, monospace; }
.data-links a { text-decoration: underline; }
.data-source { font-size: 14.5px; color: #646a6e; font-style: italic; margin: 4px 0 0; }
.data-img { display: block; width: 500px; max-width: 100%; height: auto; margin: 8px 0 12px; border: 1px solid #000; }
.me { font-weight: 400; color: #3f4443; }            /* 본인 이름 색 */
.contact-line { font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; padding-left: 3px; }   /* Contact 이메일 줄 */
.pub-link { text-decoration: underline; margin-left: 7px; }  /* Paper·Website·Code 링크 */
.media-badge {                /* 미디어 보도 배지 (둥근 사각) */
  display: inline-block; margin-left: 9px; padding: 0.5px 6px;
  font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
  font-size: 10px; font-weight: 400; line-height: 1.5;
  color: #9a6320; background: #f8eede; border-radius: 6px;
  text-decoration: none; letter-spacing: normal;
  vertical-align: middle; position: relative; top: -1px;
}
.media-badge:hover { background: #f1e2c9; }
.data-badge {                /* Gage Data & Code 배지 (핑크/브릭레드) */
  display: inline-block; margin-left: 9px; padding: 0.5px 6px;
  font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
  font-size: 10px; font-weight: 400; line-height: 1.5;
  color: #3f7a47; background: #e8f3e6; border-radius: 6px;
  text-decoration: none; letter-spacing: normal;
  vertical-align: middle; position: relative; top: -1px;
}
.data-badge:hover { background: #dcecd7; }
.pub-foot { color: #868e92; font-size: 12px; margin: -6px 0 14px 3px; }  /* 작은 회색 노트 */
.predoc-head { margin-top: 72px; color: #1a1a1a; }   /* 예비박사 헤딩: 간격 + 어두운 색 */
summary.predoc-head { cursor: pointer; list-style: none; }   /* 클릭 가능 */
summary.predoc-head::-webkit-details-marker { display: none; }   /* 기본 삼각형 숨김 */
.fold-hint { font-size: 11.8px; font-weight: 400; color: #868e92;
  font-family: -apple-system, "Apple SD Gothic Neo", sans-serif; }   /* 작은 힌트 */
.predoc-fold[open] .fold-hint::after { content: ""; }

/* ===== Teaching ===== */
.teach-inst { font-weight: 700; font-size: 14px; margin: 4px 0 18px 3px; }   /* 기관명 (볼드, 아래 여백) */
.course-list { list-style: none; margin: 0 0 12px 3px; padding: 0; }
.course-list li { list-style: none; font-size: 13px; margin-bottom: 9px; line-height: 1.2; color: var(--text); }
.course-list li::marker { content: ""; }   /* bullet 완전 제거 */
.course-code { display: inline-block; min-width: 92px; }   /* 강의 코드 (정렬용) */
.predoc .pub-title,
.pub-title.black { color: var(--text); }             /* 검정 제목 (예비박사 / 진행중 연구 등) */
.predoc .pub-title  { font-size: 13.5px; }           /* 예비박사: 제목·저자·저널 -1px */
.predoc .pub-authors,
.predoc .pub-venue  { font-size: 12px; }

/* 논문 제목 링크: 평소 스칼렛, hover 시 밑줄 */
a.paper-link { color: var(--accent); }

/* 접히는 초록 (클릭하면 펼쳐짐) */
.abstract { margin-top: 4px; }
.abstract summary {
  cursor: pointer;
  display: inline-block;
  color: var(--muted);
  font-size: 0.88em;
  font-family: -apple-system, "Apple SD Gothic Neo", sans-serif;
  list-style: none;
}
.abstract summary::-webkit-details-marker { display: none; }
.abstract summary::before { content: "▸ "; }
.abstract[open] summary::before { content: "▾ "; }
.abstract summary:hover { color: var(--accent); }
.abstract p {
  margin-top: 6px;
  font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
  font-size: 12.5px;
  color: #646a6e;
  line-height: 1.6;
  padding-left: 12px;
  border-left: 2px solid var(--border);
}

/* ===== 하단 ===== */
footer {
  margin-top: 60px;
  padding-top: 24px;
  border-top: 1px solid var(--border);
  color: var(--muted);
  font-size: 11.6px;
  text-align: center;
}

/* ===== 모바일 대응 ===== */
@media (max-width: 600px) {
  .hero { flex-direction: column; align-items: center; }
  .hero-text { width: 100%; text-align: left; }
  .pub { flex-direction: column; }
  .pub-thumb { width: 100%; height: 140px; }
  .news-list li { flex-direction: column; gap: 2px; }
}
