:root {
  --lemon: #d4a300;        /* LEMON accent (text) */
  --lemon-soft: #fff6cc;   /* LEMON accent (background) */
  --ink: #1f2328;
  --muted: #5b6370;
  --rule: #e6e8eb;
}

body {
  font-family: "Noto Sans", sans-serif;
  color: var(--ink);
  background: #ffffff;
}

.container.is-max-desktop { padding-left: 16px; padding-right: 16px; }

/* ---------------- hero */
.hero-body { padding-top: 3.5rem; padding-bottom: 1.5rem; }

.publication-title {
  font-family: "Castoro", serif;
  line-height: 1.2;
  font-size: 2.6rem !important;
}
.lemon-name { color: var(--lemon); font-weight: 700; }
.publication-title .lemon-name { font-family: "Noto Sans", sans-serif; }

.publication-authors { margin-top: 1.25rem; }
.publication-authors a { color: #3273dc; }
.publication-authors a:hover { text-decoration: underline; }
.author-block { display: inline-block; margin: 0 0.3rem; }

.publication-affiliations { margin-top: 0.4rem; color: var(--muted); }
.publication-note { margin-top: 0.3rem; color: var(--muted); }
.venue { margin-top: 0.6rem; font-weight: 600; }

.publication-links { margin-top: 1.25rem; display: flex; flex-wrap: wrap; gap: 0.5rem; justify-content: center; }
.button.is-placeholder { opacity: 0.45; pointer-events: none; }

/* ---------------- sections */
.section { padding: 2rem 1.5rem; }
.title.is-3 { font-family: "Noto Sans", sans-serif; font-weight: 600; }

.teaser { padding-top: 0.5rem; }
.tldr {
  margin-top: 1rem;
  padding: 0.9rem 1.1rem;
  background: var(--lemon-soft);
  border-left: 4px solid var(--lemon);
  border-radius: 4px;
  font-size: 1.05rem;
}

.placeholder-figure {
  border: 2px dashed var(--rule);
  border-radius: 8px;
  padding: 2.5rem 1rem;
  text-align: center;
  color: var(--muted);
  font-style: italic;
}

figure img { width: 100%; height: auto; display: block; }
.teaser-figure { margin: 0; }
.method-figure { margin: 0; }
.method-figure img { background: #fff; }
.method-figure figcaption { text-align: center; font-size: 0.9rem; }
.head-permutation-figure { margin-bottom: 2rem; }
.content .katex-display {
  margin: 0.8em 0;
  padding: 0.3em 0.1em;
  overflow-x: auto;
  overflow-y: hidden;
}
.head-permutation-equation .katex { font-size: 1.1em; }
.teaser-figure figcaption { text-align: left; }
figcaption { margin-top: 0.5rem; color: var(--muted); font-size: 0.95rem; }

/* ---------------- bibtex */
.bibtex-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 0.75rem; }
.bibtex-header .title { margin-bottom: 0 !important; }
#BibTeX pre { white-space: pre-wrap; word-break: break-word; font-size: 0.85rem; }

.footer { padding: 2rem 1.5rem; background: #fafafa; }

/* ---------------- phone width */
@media (max-width: 768px) {
  .publication-title { font-size: 1.7rem !important; }
  .section { padding: 1.5rem 0.5rem; }
}
