/* thesis page additions, on top of /src/index.css */

blockquote.callout {
  border-left: calc(var(--border-thickness) * 2) solid var(--text-color);
  padding: calc(var(--line-height) / 2) 1ch;
  margin: var(--line-height) 0;
  background: var(--background-color-alt);
  font-style: italic;
}
blockquote.callout code { font-style: normal; }

p.bignum {
  border: var(--border-thickness) solid var(--text-color);
  padding: calc(var(--line-height) / 2) 1ch;
  text-align: center;
}

td.pos, td.neg { font-weight: var(--font-weight-bold); }
td.pos::before { content: ""; }
td.neg::before { content: ""; }

table.hilite tbody tr { transition: background 0.08s ease; cursor: default; }
table.hilite tbody tr:hover { background: var(--background-color-alt); }

table.sortable th[data-sort] { cursor: pointer; user-select: none; }
table.sortable th[data-sort]:hover { background: var(--background-color-alt); }
table.sortable th[data-sort]::after {
  content: " ⇅";
  color: var(--text-color-alt);
  font-weight: var(--font-weight-normal);
}
table.sortable th.sort-asc::after { content: " ▲"; color: var(--text-color); }
table.sortable th.sort-desc::after { content: " ▼"; color: var(--text-color); }

.vol-calc {
  border: var(--border-thickness) solid var(--text-color);
  padding: var(--line-height) 1ch;
  margin: var(--line-height) 0;
}
.vol-calc label { margin-bottom: calc(var(--line-height) / 2); }
.vol-calc input[type=range] {
  width: 100%;
  height: var(--line-height);
  background: transparent;
  padding: 0;
  margin: 0 0 var(--line-height) 0;
  -webkit-appearance: none;
  appearance: none;
}
.vol-calc input[type=range]::-webkit-slider-runnable-track {
  height: calc(var(--line-height) / 3);
  background: var(--text-color);
  border: var(--border-thickness) solid var(--text-color);
}
.vol-calc input[type=range]::-moz-range-track {
  height: calc(var(--line-height) / 3);
  background: var(--text-color);
  border: var(--border-thickness) solid var(--text-color);
}
.vol-calc input[type=range]::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 2ch;
  height: var(--line-height);
  background: var(--background-color);
  border: var(--border-thickness) solid var(--text-color);
  margin-top: calc(-1 * var(--line-height) / 3);
  cursor: pointer;
}
.vol-calc input[type=range]::-moz-range-thumb {
  width: 2ch;
  height: var(--line-height);
  background: var(--background-color);
  border: var(--border-thickness) solid var(--text-color);
  border-radius: 0;
  cursor: pointer;
}

figure {
  margin: var(--line-height) 0;
  overflow: visible;
}
figure img {
  width: 100%;
  max-width: 100%;
  height: auto;
  filter: grayscale(1) contrast(1.05);
  background: #fff;
}
@media (prefers-color-scheme: dark) {
  figure img {
    filter: grayscale(1) contrast(1.05) invert(1);
    background: #000;
  }
}

/* TL;DR block: static, no expand */
.tldr {
  background: var(--background-color-alt);
  border-left: calc(var(--border-thickness) * 3) solid var(--text-color);
  padding: calc(var(--line-height) / 2) 2ch;
  margin: var(--line-height) 0;
}
.tldr h3 {
  margin: 0 0 calc(var(--line-height) / 2);
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.05ch;
}
.tldr ol { padding-left: 3ch; margin: 0; }
.tldr ol li { margin-bottom: calc(var(--line-height) / 2); }
.tldr ol li:last-child { margin-bottom: 0; }
