:root {
      --text: #4d545a;
      --heading: #41474d;
      --muted: #666d73;
      --line: #e7e7e7;
      --link: #2f9dbc;
      --background: #ffffff;
    }
    * { box-sizing: border-box; }
    html { scroll-behavior: auto; }
    body {
      margin: 0;
      color: var(--text);
      background: var(--background);
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans KR", Arial, sans-serif;
      font-size: 16px;
      line-height: 1.65;
    }
    a { color: var(--link); text-decoration: underline; text-underline-offset: 2px; }
    .top-nav {
      position: sticky;
      top: 0;
      z-index: 1000;
      border-bottom: 1px solid var(--line);
      background: #fff;
    }
    .nav-inner {
      max-width: 1320px;
      margin: 0 auto;
      padding: 0 52px;
      display: flex;
      align-items: center;
      gap: 38px;
      height: 62px;
    }
    .nav-link {
      position: relative;
      display: inline-flex;
      align-items: center;
      height: 62px;
      color: #747b82;
      text-decoration: none;
      font-size: 17px;
    }
    .nav-link:hover { color: var(--heading); }
    .nav-link.active { color: var(--heading); font-weight: 700; }
    .nav-link.active::after {
      content: "";
      position: absolute;
      left: 50%;
      bottom: 6px;
      transform: translateX(-50%);
      width: 18px;
      height: 3px;
      background: #b7b7b7;
    }
    .page {
      display: grid;
      font-size: 18px;
      grid-template-columns: 220px minmax(0, 940px);
      gap: 56px;
      max-width: 1320px;
      margin: 0 auto;
      padding: 38px 52px 72px;
    }
    .sidebar { align-self: start; padding-top: 4px; }
    .profile-photo {
      width: 156px;
      height: 202px;
      object-fit: cover;
      object-position: center top;
      display: block;
      margin: 0 0 18px;
      border-radius: 3px;
      border: 1px solid #eeeeee;
    }
    .sidebar-name { margin: 0 0 6px; color: var(--heading); font-size: 21px; font-weight: 700; }
    .sidebar-title { margin: 0 0 18px; color: var(--text); font-size: 15px; line-height: 1.5; }
    .sidebar-links p {
      display: flex;
      align-items: center;
      gap: 8px;
      margin: 10px 0;
      color: var(--text);
      font-size: 15px;
    }
    .sidebar-icon {
      width: 16px;
      min-width: 16px;
      height: 16px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      color: #222;
    }
    .sidebar-icon svg {
      width: 15px;
      height: 15px;
      display: block;
      stroke: currentColor;
      fill: none;
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }
    .content { min-width: 0; }
    .section { margin-bottom: 44px; scroll-margin-top: 82px; }
    .section h1 {
      margin: 0 0 44px;
      color: var(--heading);
      font-size: 32px;
      line-height: 1.25;
      font-weight: 700;
    }
    .section h2 {
      margin: 0 0 16px;
      padding-bottom: 7px;
      border-bottom: 1px solid var(--line);
      color: var(--heading);
      font-size: 27px;
      line-height: 1.25;
      font-weight: 700;
    }
    .section h3 {
      margin: 29px 0 10px;
      color: #111827;
      font-size: 20px;
      line-height: 1.45;
      font-weight: 700;
    }
    .intro-section h2 { margin-bottom: 14px; }
    .section ul { margin: 0; padding-left: 40px; }
    .section li { margin: 7px 0; }
    .timeline-item { display: grid; grid-template-columns: 150px 1fr; gap: 28px; margin: 26px 0 35px 24px; }
    .timeline-item:last-child { margin-bottom: 0; }
    .timeline-date { color: #111827; font-weight: 700; line-height: 1.55; }
    .timeline-content h3 { margin: 0 0 13px; font-size: 18px; }
    .timeline-content p { color: var(--muted); margin: 0; }
    #publications h3,
    #publications .publication-list { margin-left: 24px; }
    .publication-list li { margin: 10px 0; }
    .paper-title { color: #111827; }
    .muted { color: var(--muted); }
    .project-list { margin: 0; padding-left: 22px; list-style-type: disc; }
    .project-list > li { margin: 0 0 14px; padding-left: 0; }
    .project-title { color: var(--text); font-weight: 400; }
    .project-meta-list { margin: 2px 0 0; padding-left: 28px; list-style-type: circle; }
    .project-meta-list li { margin: 2px 0 0; color: var(--muted); font-size: 17px; }
    @media (max-width: 900px) {
      .nav-inner { padding: 0 28px; gap: 28px; }
      .page { grid-template-columns: 1fr; gap: 30px; padding: 30px 28px 52px; }
      .sidebar { display: grid; grid-template-columns: 140px 1fr; column-gap: 20px; align-items: start; }
      .profile-photo { grid-row: span 3; width: 140px; height: 182px; margin-bottom: 0; }
      .sidebar-links { grid-column: 2; }
      .section h1 { margin-bottom: 28px; }
    }
    @media (max-width: 560px) {
      body { font-size: 15px; }
      .page { font-size: 17px; }
      .nav-inner { padding: 0 20px; gap: 22px; height: 56px; }
      .nav-link { height: 56px; font-size: 15px; }
      .sidebar { display: block; }
      .profile-photo { width: 140px; height: 182px; margin-bottom: 14px; }
      .section h1 { font-size: 30px; }
      .section h2 { font-size: 25px; }
      .section ul { padding-left: 24px; }
      .timeline-item { display: block; margin-left: 12px; }
      #publications h3,
      #publications .publication-list { margin-left: 12px; }
      .timeline-date { margin-bottom: 8px; }
      .project-meta-list { padding-left: 20px; }
    }
