:root {
  --lomo-ink: #172033;
  --lomo-muted: #5b667a;
  --lomo-line: #d8e1e8;
  --lomo-sea: #2f8f83;
  --lomo-coral: #d96b4c;
  --lomo-mist: #eef7f5;
  --lomo-paper: #fbfcfb;
}

body {
  color: var(--lomo-ink);
  background: var(--lomo-paper);
}

.lomo-hero {
  background:
    radial-gradient(circle at 18% 16%, rgba(47, 143, 131, 0.20), transparent 32%),
    linear-gradient(135deg, #f7fbf9 0%, #edf5f3 48%, #fff7f1 100%);
  border-bottom: 1px solid var(--lomo-line);
}

.publication-title {
  color: var(--lomo-ink);
  line-height: 1.08;
}

.publication-note {
  color: var(--lomo-muted);
  font-size: 1.12rem;
  margin: 0.75rem auto 1.2rem;
  max-width: 760px;
}

.publication-affiliations {
  color: var(--lomo-muted);
  line-height: 1.7;
  margin-top: 0.35rem;
}

.publication-authors .author-block,
.publication-affiliations .author-block {
  margin-left: 0.35rem;
  margin-right: 0.35rem;
}

.publication-links {
  margin-top: 1rem;
}

.section {
  padding-top: 4rem;
  padding-bottom: 4rem;
}

.lomo-band {
  background: linear-gradient(180deg, rgba(238, 247, 245, 0.92), rgba(255, 250, 246, 0.84));
  border-top: 1px solid var(--lomo-line);
  border-bottom: 1px solid var(--lomo-line);
}

.subtitle {
  color: var(--lomo-muted);
}

.lomo-copy {
  line-height: 1.55;
  text-align: left;
}

.math-inline {
  white-space: nowrap;
}

.figure-block {
  margin-top: 2rem;
}

.figure-block img {
  width: min(100%, 980px);
  background: white;
  border: 1px solid var(--lomo-line);
  border-radius: 8px;
  box-shadow: 0 18px 42px rgba(23, 32, 51, 0.08);
}

.figure-block .formula-image {
  display: block;
  box-sizing: border-box;
  width: min(100%, 900px);
  margin: 1.15rem auto 0;
  padding: 0.35rem 0.55rem;
  background: white;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.figure-note {
  color: var(--lomo-muted);
  font-size: 0.98rem;
  margin: 0.8rem auto 0;
  max-width: 820px;
}

.subfigure-note {
  color: var(--lomo-muted);
  font-size: 0.95rem;
  line-height: 1.55;
  margin: 0.9rem auto 0;
  max-width: 900px;
  text-align: center;
}

pre {
  border-radius: 8px;
  border: 1px solid var(--lomo-line);
}

@media screen and (max-width: 768px) {
  .publication-title {
    font-size: 2rem !important;
  }

  .section {
    padding: 2.8rem 1rem;
  }

  .figure-block img {
    border-radius: 6px;
  }
}
