@import url("https://fonts.googleapis.com/css2?family=Crimson+Pro:ital,wght@0,400;0,500;0,600;1,500;1,600&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Ubuntu+Mono&display=swap");
body { background-color: #fff; padding: 0px; font: 18.0px/1.5 Crimson Pro, serif; color: #595959; font-weight: 400; margin: 0; }

.pub-row { display: flex; align-items: center; }

.social-icons a { display: inline-block; height: 2.4rem; width: 2.4rem; background-color: transparent; color: #1e40af !important; border-radius: 100%; text-align: center; font-size: 1.15rem; line-height: 2.5rem; margin-right: 1rem; }

@media (prefers-color-scheme: dark) { .social-icons a { color: #60a5fa !important; } }
.social-icons a:last-child { margin-right: 0; }

.social-icons a:hover { background-color: white; color: black; transform: scale(1.2); }

/*
.social-icons a:after { content: ''; display: block; margin: 0px; height: 1px; width: 0px; background: transparent; transition: width .5s ease, background-color .5s ease; } .social-icons a:hover:after { width: 100%; background: #337ab7; } */
@media (prefers-color-scheme: dark) { .social-icons a:last-child { margin-right: 0; }
  .social-icons a:hover { background-color: #20212b; color: black; transform: scale(1.2); }
  /* .social-icons a:after { content: ''; display: block; margin: 0px; height: 1px; width: 0px; background: transparent; transition: width .5s ease, background-color .5s ease; } .social-icons a:hover:after { width: 100%; background: #a0b0ff; } */ }
.icon-button { background-color: white; border-radius: 3.6rem; cursor: pointer; display: inline-block; font-size: 2.0rem; height: 3.6rem; line-height: 3.6rem; margin: 0 5px; position: relative; text-align: center; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; width: 3.6rem; }

.icon-button span { border-radius: 0; display: block; height: 0; left: 50%; margin: 0; position: absolute; top: 50%; -webkit-transition: all 0.3s; -moz-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; width: 0; }

.icon-button:hover span { width: 3.6rem; height: 3.6rem; border-radius: 3.6rem; margin: -1.8rem; }

.twitter span { background-color: #4099ff; }

.facebook span { background-color: #4286f4; }

.linkedin span { background-color: #0077B5; }

.github span { background-color: #000; }

email { font-size: 16px; font-family: "Ubuntu Mono"; }

@media (prefers-color-scheme: dark) {
  email { color: #60a5fa; }
}

.icon-button i { background: none; color: white; height: 3.6rem; left: 0; line-height: 3.6rem; position: absolute; top: 0; -webkit-transition: all 0.3s; -moz-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; width: 3.6rem; z-index: 10; }

.icon-button .icon-twitter { color: #4099ff; }

.icon-button .icon-facebook { color: #4286f4; }

.icon-button .icon-github { color: #000; }

.icon-button .icon-linkedin { color: #0077B5; }

.icon-button:hover .icon-twitter, .icon-button:hover .icon-facebook, .icon-button:hover .icon-github, .icon-button:hover .icon-linkedin { color: white; }

autocolor { color: #595959; }

position { color: #595959; }

lightonly { visibility: visible; }

darkonly { visibility: hidden; }

education { font-weight: 500; font-size: 120%; }

papertitle { font-weight: 600; font-size: 108%; }

@media (prefers-color-scheme: dark) { body { background-color: #20212b; color: #dadbdf; }
  header { background-color: #20212b !important; }
  autocolor { color: #dadbdf; }
  position { color: #dadbdf; }
  lightonly { visibility: hidden; }
  darkonly { visibility: visible; }
  papertitle { color: #eeeff0; } }
.image { border-radius: 0.35em; border: 0; display: inline-block; position: relative; }

.image:before { -moz-transition: opacity 0.2s ease-in-out; -webkit-transition: opacity 0.2s ease-in-out; -ms-transition: opacity 0.2s ease-in-out; transition: opacity 0.2s ease-in-out; border-radius: 0.35em; content: ''; display: block; height: 100%; left: 0; opacity: 0.5; position: absolute; top: 0; width: 100%; }

.image.avatar { border-radius: 20px; }

.image.avatar:before { display: none; }

.image.avatar img { border-radius: 20px; width: 85%; padding: 8px; }

#header .image.avatar { margin: 0 0 0.7em 0; width: 8.00em; }

h3, h4, h5, h6 { font-weight: 600; color: #1e40af; margin: 0 0 20px; }

h1 { font-weight: 500; color: #1e40af; margin: 0 0 12px; }

h2 { color: #1e40af; font-weight: 500; margin: 2px 0px 15px; font-size: 172%; }

@media (prefers-color-scheme: dark) { h1, h3, h4, h5, h6 { color: #60a5fa; }
  h2 { color: #60a5fa; } }
p, ul, ol, table, pre, dl { margin: 0 0 20px; }

h1, h2, h3 { line-height: 1.1; }

h1 { font-size: 32px; }

a { color: #1e40af; text-decoration: none; }

a:hover { color: #1e3a8a; }

@media (prefers-color-scheme: dark) {
  a { color: #60a5fa; }
  a:hover { color: #3b82f6; }
}
a small { font-size: 11px; color: #777; margin-top: -0.3em; display: block; }

a:hover small { color: #777; }

.wrapper { width: 1280px; margin: 0 auto; }

blockquote { border-left: 1px solid #e5e5e5; margin: 0; padding: 0 0 0 20px; font-style: italic; }

code, pre { font-family: Monaco, Bitstream Vera Sans Mono, Lucida Console, Terminal, Consolas, Liberation Mono, DejaVu Sans Mono, Courier New, monospace; color: #333; }

pre { max-width: 500px; padding: 8px 15px; background: #f8f8f8; border-radius: 5px; border: 1px solid #e5e5e5; overflow-x: auto; }

table { width: 100%; border-collapse: collapse; }

th, td { text-align: left; padding: 5px 10px; border-bottom: 1px solid #e5e5e5; }

dt { color: #444; font-weight: 500; }

th { color: #444; }

@media (prefers-color-scheme: dark) { th { color: #60a5fa; }
  dt { color: #60a5fa; } }
img { max-width: 100%; }

header { width: 340px; float: left; position: fixed; -webkit-font-smoothing: subpixel-antialiased; padding-top: 4.0em; text-align: center; background-color: #fff; }

header > ul { list-style: none; height: 40px; padding: 0; background: #f4f4f4; border-radius: 5px; border: 1px solid #e0e0e0; width: 270px; }

header > ul > li { width: 89px; float: left; border-right: 1px solid #e0e0e0; height: 40px; }

header > ul > li:first-child a { border-radius: 5px 0 0 5px; }

header > ul > li:last-child a { border-radius: 0 5px 5px 0; }

header ul a { line-height: 1; font-size: 11px; color: #999; display: block; text-align: center; padding-top: 6px; height: 34px; }

header ul a:hover { color: #999; }

header ul a:active { background-color: #f0f0f0; }

strong { color: #222; font-weight: 500; }

@media (prefers-color-scheme: dark) { strong { color: #eeeff0; } }
header ul li + li + li { border-right: none; width: 89px; }

header ul a strong { font-size: 14px; display: block; color: #222; }

section { width: 820px; float: right; padding-top: 4.0em; padding-bottom: 50px; }

small { font-size: 11px; }

hr { border: 0; background: #e5e5e5; height: 1px; margin: 0 0 20px; }

footer { width: 340px; float: left; position: fixed; bottom: 30px; -webkit-font-smoothing: subpixel-antialiased; text-align: center; }

@media print, screen and (max-width: 960px) { .pub-row { display: flex; align-items: center; }
  div.wrapper { width: auto; margin: 0; }
  header, section, footer { float: none; position: static; width: auto; }
  header { padding-right: 320px; }
  section { border: 1px solid #e5e5e5; border-width: 1px 0; padding: 20px 0; margin: 0 0 20px; }
  header a small { display: inline; }
  header ul { position: absolute; right: 50px; top: 52px; }
  .image.avatar img { border-radius: 100%; width: 117px; height: 117px; padding: 20px; object-fit: cover; }
  #head1o2 { visibility: hidden; }
  #head2o2 { visibility: hidden; } }
@media print, screen and (max-width: 960px) { body { word-wrap: break-word; padding: 15px; }
  .pub-row { display: flex; align-items: center; }
  header { padding: 0 !important; padding-bottom: 20px !important; }
  pre, code { word-wrap: normal; } }
@media print, screen and (max-width: 480px) { .pub-row { display: block; align-items: center; }
  body { padding: 15px; }
  header ul { width: 99%; }
  header li, header ul li + li + li { width: 33%; }
  .image.avatar img { border-radius: 100%; width: 95px; height: 95px; padding: 20px; object-fit: cover; }
  #head1o2 { visibility: hidden; }
  #head2o2 { visibility: hidden; } }
@media print { body { padding: 0.4in; font-size: 12pt; color: #444; } }
.biblink { text-decoration: none; display: inline; margin-right: 0px; }

.fakelink { text-decoration: none; cursor: pointer; }

.bibref { font-size: 70%; margin-top: 10px; margin-left: 0px; display: none; font-family: monospace; }

/* Job Market Highlight Box */
.job-market-box {
  background: #f0f9ff;
  border-left: 3px solid #3b82f6;
  padding: 0.75rem;
  border-radius: 6px;
  margin: 0.6rem 0;
  font-size: 0.82rem;
  line-height: 1.4;
}

header .job-market-box {
  text-align: left;
  width: 100%;
  box-sizing: border-box;
}

@media (prefers-color-scheme: dark) {
  .job-market-box {
    background: #1e293b;
    border-left-color: #3b82f6;
    color: #e2e8f0;
  }

  .job-market-box a {
    color: #3b82f6;
    text-decoration: underline;
  }

  .job-market-box a:hover {
    color: #60a5fa;
  }
}

/* Research Overview Card */
.research-card {
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 1.5rem 1.8rem;
  margin: 1.5rem 0;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  transition: all 0.3s ease;
  font-size: 0.95rem;
  line-height: 1.7;
}

.research-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}

.research-card p {
  margin-bottom: 0.8rem;
}

.research-card p:last-child {
  margin-bottom: 0;
}

/* Research Question Highlight */
.research-hook {
  font-size: 1.1rem;
  color: #1e40af;
  font-weight: 600;
  margin: 1.2rem 0;
  line-height: 1.6;
  text-align: center;
  padding: 1rem 1.5rem;
  background: #f9fafb;
  border-left: 4px solid #1e40af;
  border-radius: 6px;
  font-style: italic;
}

.research-highlights {
  margin: 1rem 0;
  padding-left: 1.5rem;
}

.research-highlights li {
  margin-bottom: 0.6rem;
  line-height: 1.7;
  color: #374151;
}

.research-highlights li:last-child {
  margin-bottom: 0;
}

.research-highlights strong {
  color: #1e40af;
  font-weight: 600;
}

@media (prefers-color-scheme: dark) {
  .research-card {
    background: #1f2937;
    border-color: #374151;
  }

  .research-card:hover {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
  }

  .research-hook {
    color: #60a5fa;
    background: #111827;
    border-left-color: #60a5fa;
  }

  .research-highlights li {
    color: #d1d5db;
  }

  .research-highlights strong {
    color: #60a5fa;
  }
}

/* Research Interest List */
.research-interests-list {
  list-style: none;
  padding: 0;
  margin: 1.5rem 0;
}

.research-interests-list li {
  margin-bottom: 1.5rem;
  padding-left: 0;
}

.research-interests-list strong {
  color: #1e40af;
  font-weight: 600;
  display: block;
  margin-bottom: 0.3rem;
}

@media (prefers-color-scheme: dark) {
  .research-interests-list strong {
    color: #60a5fa;
  }
}

/* Sidebar News - Simple Text Format */
.sidebar-news {
  margin-top: 0.8rem;
  font-size: 0.78rem;
  line-height: 1.4;
  text-align: left;
  background: #f0f9ff;
  border-left: 3px solid #3b82f6;
  padding: 0.75rem;
  border-radius: 6px;
  box-sizing: border-box;
}

.sidebar-news h3 {
  color: #1e40af;
  margin-bottom: 0.6rem;
  margin-top: 0;
  font-size: 1rem;
  font-weight: 600;
}

.sidebar-news ul {
  list-style: none;
  margin: 0;
  padding: 0;
  max-height: 300px;
  overflow-y: auto;
  overflow-x: hidden;
  padding-right: 0.5rem;
}

/* Scrollbar styling */
.sidebar-news ul::-webkit-scrollbar {
  width: 6px;
}

.sidebar-news ul::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 3px;
}

.sidebar-news ul::-webkit-scrollbar-thumb {
  background: #1e40af;
  border-radius: 3px;
}

.sidebar-news ul::-webkit-scrollbar-thumb:hover {
  background: #1e3a8a;
}

.sidebar-news ul li {
  position: relative;
  margin-bottom: 1rem;
  line-height: 1.5;
  color: #374151;
  padding-left: 1.2rem;
  word-wrap: break-word;
  overflow-wrap: break-word;
  clear: both;
}

.sidebar-news ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.6em;
  transform: translateY(-50%);
  width: 0.4rem;
  height: 0.4rem;
  border-radius: 50%;
  background: #3b82f6;
}

.sidebar-news ul li strong {
  color: #1e40af;
  font-weight: 600;
  display: inline;
}

@media (prefers-color-scheme: dark) {
  .sidebar-news {
    background: #1e293b;
    border-left-color: #3b82f6;
    color: #e2e8f0;
  }

  .sidebar-news h3 {
    color: #3b82f6;
  }

  .sidebar-news ul li {
    color: #e2e8f0;
  }

  .sidebar-news ul li strong {
    color: #3b82f6;
  }

  .sidebar-news ul li::before {
    background: #60a5fa;
  }

  .sidebar-news ul::-webkit-scrollbar-track {
    background: #374151;
  }

  .sidebar-news ul::-webkit-scrollbar-thumb {
    background: #3b82f6;
  }

  .sidebar-news ul::-webkit-scrollbar-thumb:hover {
    background: #60a5fa;
  }
}

/* Responsive adjustments */
@media print, screen and (max-width: 960px) {
  .job-market-box {
    padding: 1rem;
  }

  .research-hook {
    font-size: 1.05rem;
  }

  .sidebar-news {
    margin-top: 1rem;
    margin-bottom: 2rem;
    position: relative;
    width: 100%;
    clear: both;
    display: block;
  }

  .sidebar-news ul {
    max-height: none !important;
    overflow-y: visible !important;
    overflow-x: visible !important;
    position: relative !important;
    width: 100% !important;
    margin-left: 0 !important;
    padding: 0 !important;
    padding-right: 0.5rem !important;
    box-sizing: border-box !important;
  }

  header .sidebar-news {
    height: auto !important;
    min-height: auto !important;
    overflow: visible !important;
  }

  section {
    margin-top: 0 !important;
    padding-top: 20px !important;
  }
}

@media print, screen and (max-width: 480px) {
  .job-market-box {
    padding: 0.8rem 1rem;
  }

  .research-hook {
    font-size: 1rem;
  }

  .sidebar-news {
    font-size: 0.75rem;
    padding: 0.6rem;
    margin-top: 1rem;
    margin-bottom: 2rem;
    position: relative;
    width: 100%;
    clear: both;
    display: block;
  }

  .sidebar-news h3 {
    font-size: 0.9rem;
  }

  .sidebar-news ul {
    max-height: none !important;
    overflow-y: visible !important;
    overflow-x: visible !important;
    position: relative !important;
    width: 100% !important;
    margin-left: 0 !important;
    padding: 0 !important;
    padding-right: 0.5rem !important;
    box-sizing: border-box !important;
  }

  header .sidebar-news {
    height: auto !important;
    min-height: auto !important;
    overflow: visible !important;
  }

  .sidebar-news ul li {
    margin-bottom: 0.5rem;
    line-height: 1.4;
  }

  section {
    margin-top: 0 !important;
    padding-top: 20px !important;
  }
}
