
@import url('https://fonts.googleapis.com/css2?family=Barlow:wght@300;400;500;600&family=Caveat:wght@500;600;700&family=Courier+Prime:wght@400;700&family=Crimson+Pro:ital,wght@0,400;0,500;1,400&family=Instrument+Serif:ital@0;1&family=JetBrains+Mono:wght@300;400;500;600&display=swap');

/* torchlight */

.pp-torch {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: radial-gradient(56% 42% at 82% 4%,
    rgba(6, 198, 202, 0.15), rgba(0, 157, 160, 0.03) 52%, transparent 70%);
}

main.content, #quarto-document-content { max-width: 860px; }

/* ---- title block ---- */
#title-block-header .quarto-title .title {
  font-family: 'BitCount', serif !important;
  font-weight: 300;
  font-size: clamp(30px, 4.4vw, 46px) !important;
  line-height: 1.05;
  color: #ffbf00 !important;
}
#title-block-header .quarto-title .subtitle {
  font-family: 'Barlow', sans-serif;
  font-size: 19px;
  font-weight: 300;
  color: #c1d1ce;
  margin-top: 4px;
}
/* category pills under the title */
#title-block-header .quarto-categories .quarto-category {
  font-family: 'Courier Prime', monospace;
  font-size: 11px;
  text-transform: lowercase;
  color: #9fb4b1;
  background: #152220;
  border: 1px solid #2f4744;
  border-radius: 20px;
  opacity: 1;
}

/* ---- action buttons ---- */
.pp-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 6px 0 30px; }
.pp-btn {
  display: inline-flex;
  flex: 0 0 auto;
  width: fit-content;
  max-width: max-content;
  align-items: center;
  gap: 8px;
  padding: 11px 18px;
  border-radius: 6px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 13px;
  text-decoration: none !important;
  transition: all 0.15s ease;
}
.pp-btn.primary {
  color: #0e0f0f !important;
  background: #009DA0;
  border: 1px solid #009DA0;
  font-weight: 500;
}
.pp-btn.primary:hover { background: #ffbf00; border-color: #ffbf00; color: #0e0f0f !important; }
.pp-btn.ghost {
  color: #06c6ca !important;
  background: transparent;
  border: 1px solid #2f4b4b;
}
.pp-btn.ghost:hover { border-color: #009DA0; background: rgba(0, 157, 160, 0.08); color: #06c6ca !important; }

/* ---- section headings ---- */
#quarto-document-content h2 {
  margin: 40px 0 14px !important;
  padding: 0 !important;
  font-family: 'Caveat', cursive !important;
  font-size: 34px !important;
  font-weight: 600 !important;
  color: #ffbf00 !important;
  border: none !important;
}

/* ---- abstract / body prose ---- */
#quarto-document-content > p,
#quarto-document-content section > p {
  font-family: 'Barlow', sans-serif;
  font-size: 16.5px;
  line-height: 1.62;
  color: #c6d5d2;
  text-align: justify;
  margin: 0 0 14px;
}
#quarto-document-content > p em,
#quarto-document-content section > p em { color: #9fb4b1; }
#quarto-document-content > p code,
#quarto-document-content section > p code,
.ref-hanging-indent code {
  font-family: 'JetBrains Mono', monospace;
  font-size: 13px;
  color: #06c6ca;
  background: none;
  padding: 0;
}

/* highlighted author */
.custom-author {
  color: #ffbf00 !important;
  font-weight: 600;
  border-bottom: 1.5px solid rgba(255, 191, 0, 0.35);
  padding-bottom: 1px;
}

/* ---- citation: hanging-indent reference ---- */
.ref-hanging-indent {
  position: relative;
  margin: 4px 0 0;
  padding-left: 1.6em;
  text-indent: -1.6em;
  font-family: 'Crimson Pro', serif;
  font-size: 16px;
  line-height: 1.6;
  color: #c1d1ce;
  text-align: justify;
}
.ref-hanging-indent::before {
  content: '\203A';
  margin-right: 0.6em;
  font-family: 'JetBrains Mono', monospace;
  color: #009DA0;
}
.ref-hanging-indent a { color: #06c6ca !important; }
.ref-hanging-indent code { color: #f4c659; }

/* ---- citation ---- */
.ref-bibtex-block {
  margin: 0 0 16px;
  overflow: hidden;
  background: #0d0e0e;
  border: 1px solid #2a2b2b;
  border-radius: 10px;
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.45);
}
.ref-bibtex-block::before {
  content: '\25CF  reference.bib';
  display: block;
  padding: 10px 16px;
  background: #141515;
  border-bottom: 1px solid #242525;
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  letter-spacing: 0.04em;
  color: #06c6ca;
}
.ref-bibtex-block pre {
  margin: 0;
  border: 0 !important;
  border-radius: 0 !important;
  background: #0d0e0e !important;
}

/* graphical abstract image */
#quarto-document-content p > img { border-radius: 6px; box-shadow: 0 18px 44px rgba(0, 0, 0, 0.45); }
