/* ==========================================================================
   Abstract Modal — glass popup for paper abstracts
   ========================================================================== */

.abstract-overlay {
  position: fixed; inset: 0; z-index: 99999;
  background: rgba(5,5,8,0.82);
  backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
  display: flex; align-items: center; justify-content: center;
  animation: absOverlayIn 0.25s ease; cursor: pointer;
}
@keyframes absOverlayIn { from{opacity:0} to{opacity:1} }

.abstract-modal {
  position: relative;
  max-width: min(720px, 92vw); max-height: 85vh;
  background: rgba(22,22,28,0.95);
  border: 1px solid rgba(255,255,255,0.08); border-radius: 18px;
  box-shadow: 0 24px 80px rgba(0,0,0,0.55),
              0 0 0 1px rgba(255,255,255,0.03) inset;
  overflow-y: auto; cursor: default;
  animation: absModalIn 0.35s cubic-bezier(0.34,1.56,0.64,1);
  padding: 2em;
}
@keyframes absModalIn { from{opacity:0;transform:scale(0.9) translateY(16px)} to{opacity:1;transform:scale(1) translateY(0)} }

.abstract-modal__close {
  position: sticky; float: right; top: 0;
  width: 34px; height: 34px; border-radius: 50%;
  background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.10);
  color: rgba(255,255,255,0.6); font-size: 1.1em;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; z-index: 2; transition: all 0.2s ease;
  backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
  margin-bottom: -2em; margin-right: -0.5em;
}
.abstract-modal__close:hover {
  background: rgba(255,99,99,0.25); border-color: rgba(255,99,99,0.4); color: #FFF;
}

.abstract-modal__title {
  font-family: 'Inter Tight','Inter',sans-serif;
  font-size: 1.15em; font-weight: 650; color: #FFFFFF;
  letter-spacing: -0.01em; line-height: 1.4;
  margin: 0 0 0.5em; padding-right: 20px;
}

.abstract-modal__meta {
  font-family: 'Inter',sans-serif;
  font-size: 0.78em; color: rgba(255,255,255,0.45);
  margin-bottom: 1.2em; line-height: 1.5;
}

.abstract-modal__meta strong { color: rgba(255,255,255,0.7); }

.abstract-modal__abstract {
  font-family: 'Inter',sans-serif;
  font-size: 0.88em; line-height: 1.75; color: #C8CAD2;
}

.abstract-modal__badge {
  display: inline-block; padding: 0.2em 0.6em;
  font-size: 0.7em; font-weight: 600;
  border-radius: 5px; margin-right: 0.4em;
}
.abstract-modal__badge--q1 {
  background: rgba(77,240,181,0.10); color: #4DF0B5; border: 1px solid rgba(77,240,181,0.15);
}
.abstract-modal__badge--highly-cited {
  background: rgba(255,99,99,0.10); color: #FF8585; border: 1px solid rgba(255,99,99,0.15);
}

/* Light mode */
body.light-mode .abstract-overlay {
  background: rgba(240,240,240,0.82);
}
body.light-mode .abstract-modal {
  background: rgba(255,255,255,0.95);
  border-color: rgba(0,0,0,0.06);
  box-shadow: 0 20px 60px rgba(0,0,0,0.10);
}
body.light-mode .abstract-modal__close {
  background: rgba(0,0,0,0.04); border-color: rgba(0,0,0,0.08); color: rgba(0,0,0,0.4);
}
body.light-mode .abstract-modal__close:hover {
  background: rgba(224,78,78,0.15); color: #C53030;
}
body.light-mode .abstract-modal__title { color: #1A1A22; }
body.light-mode .abstract-modal__meta { color: rgba(0,0,0,0.5); }
body.light-mode .abstract-modal__meta strong { color: rgba(0,0,0,0.7); }
body.light-mode .abstract-modal__abstract { color: #3D3D4A; }

@media (max-width: 600px) {
  .abstract-modal { padding: 1.4em; }
  .abstract-modal__title { font-size: 1em; }
  .abstract-modal__abstract { font-size: 0.82em; }
}
