/* Muted ink colors on paper; lighter counterparts on charcoal. */
:root {
  --tseitin-1: #237568;
  --tseitin-2: #a16a17;
  --tseitin-3: #356fa6;
  --tseitin-4: #ad5365;
}
@media (prefers-color-scheme: dark) {
  :root {
    --tseitin-1: #79c5b4;
    --tseitin-2: #d9b16d;
    --tseitin-3: #88b5de;
    --tseitin-4: #db96a4;
  }
}

  .tseitin-equation { margin-block: 1.2rem; border-radius: 3px; }
  .tseitin-equation .katex { font-size: 18px; }
  .tseitin-equation[class*='tseitin-definition-'] { margin: 0; }
  .tseitin-definitions { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.15rem 0.3rem; margin: 0.6rem 0; }
  article p:has(+ .tseitin-definitions) { margin-bottom: 0.6rem; }
  .tseitin-equation .katex-display { margin: 0; padding: 0.5rem 0.25rem; overflow-x: auto; overflow-y: hidden; }
  .tseitin-equation .katex-display > .katex { width: max-content; min-width: 100%; }
  /* Keep hit targets above KaTeX’s overlapping alignment struts. */
  .tseitin-equation .tseitin-term { display: inline-block; position: relative; z-index: 1; cursor: default; }
  .tseitin-equation .tseitin-term > * { pointer-events: none; }
  .tseitin-equation .tseitin-term::after { content: ''; position: absolute; inset: -0.15em -0.18em; }
  .tseitin-y1, .tseitin-expression-1 { --term-color: var(--tseitin-1); }
  .tseitin-y2, .tseitin-expression-2 { --term-color: var(--tseitin-2); }
  .tseitin-y3, .tseitin-expression-3 { --term-color: var(--tseitin-3); }
  .tseitin-y4, .tseitin-expression-4 { --term-color: var(--tseitin-4); }
  .tseitin-equation .tseitin-term:hover { color: var(--term-color); }
  .tseitin-equation [class*='tseitin-expression-'] { display: inline-block; position: relative; }
  .tseitin-equation [class*='tseitin-expression-']::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: -5px;
    height: 4px;
    background: var(--term-color);
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='4' viewBox='0 0 12 4'%3E%3Cpath d='M-3 2Q0 -1 3 2T9 2T15 2' fill='none' stroke='black' stroke-width='1.4'/%3E%3C/svg%3E") repeat-x left center / 12px 4px;
    opacity: 0;
    pointer-events: none;
  }
  article:has(.tseitin-y1:hover) .tseitin-expression-1::after,
  article:has(.tseitin-y2:hover) .tseitin-expression-2::after,
  article:has(.tseitin-y3:hover) .tseitin-expression-3::after,
  article:has(.tseitin-y4:hover) .tseitin-expression-4::after {
    opacity: 1;
  }
