/* thaum-mono subpage styles — loaded only by thaum-mono.html.
   Type is served as four SET static weights (@font-face in style.css,
   family "ThaumMono", weights 80/160/320/640) — no smooth VF morphing. */

.tm-slice,
.tm-section {
  font-family: "ThaumMono", monospace;
  color: var(--slice-desc-color, #787d8b);
  max-width: 900px;
  margin: 0 auto;
}

.tm-tagline {
  font-weight: 80;
  font-size: 14px;
  letter-spacing: 0.06em;
  color: var(--slice-subtitle-color, #e36325);
  margin: 0 0 1.2em;
}

.tm-heading {
  font-family: "ThaumMono", monospace;
  font-weight: 160;
  font-size: 16px;
  letter-spacing: 0.05em;
  color: var(--slice-subtitle-color, #e36325);
  margin: 0 0 0.8em;
}

.tm-copy {
  font-weight: 160;
  font-size: 13px;
  line-height: 1.65;
  margin: 0.6em 0;
}

.tm-section + .tm-section {
  margin-top: 2.6em;
}

/* weight handling — four SET static weights, snapped, never smooth-morphed.
   font-weight picks one of the four @font-face statics from style.css. */

/* ascii weight bar: ┣┼─────┼─────┼─────┼─────┫ with weight labels under
     the points — box-drawing chars only, all from the typeface.
     track and labels share one size so the monospace columns line up;
     the track's font-weight tracks the nearest weight while dragging. */
.tm-weight-bar {
  font-family: "ThaumMono", monospace;
  font-size: 13px;
  line-height: 1.4;
  letter-spacing: 0;
  color: rgba(224, 232, 208, 0.4);
  cursor: pointer;
  user-select: none;
  -webkit-user-select: none;
  touch-action: none;
  max-width: 460px;
  margin: 6px 0 1.4em;
  outline: none;
}

.tm-weight-bar:focus-visible {
  color: rgba(224, 232, 208, 0.6);
}

.tm-weight-track span,
.tm-weight-labels span {
  white-space: pre;
  letter-spacing: 0;
}

.tm-weight-bar .tm-weight-point {
  color: rgba(224, 232, 208, 0.7);
  padding: 2px 0;
}

.tm-weight-bar .tm-weight-point.is-active,
.tm-weight-bar .tm-weight-cap.is-active,
.tm-weight-bar .tm-weight-dash.is-active {
  color: var(--slice-subtitle-color, #e36325);
}

.tm-weight-bar .tm-weight-cap {
  color: rgba(224, 232, 208, 0.7);
}

.tm-weight-labels {
  color: rgba(224, 232, 208, 0.4);
}

/* glyph block — every glyph in the typeface, dense, wraps to fit.
   word-break: break-all so every cell is a break opportunity — the
   block wraps exactly at the line edge with no early breaks before
   symbol runs (=, ⸨, arrows…). default leading/kerning so the
   tiling is apparent, same typegrid as the rest of the site. */
.tm-morph-sheet {
  font-family: "ThaumMono", monospace;
  font-size: 13px;
  line-height: inherit;
  letter-spacing: 0;
  white-space: normal;
  word-break: break-all;
  overflow-wrap: anywhere;
  color: var(--slice-desc-color, #787d8b);
}

/* text buttons — typeface only, no chrome, stacked */
.tm-download-list {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  margin: 12px 0;
}

.tm-text-button {
  font-family: "ThaumMono", monospace;
  font-weight: 160;
  font-size: 13px;
  letter-spacing: 0.04em;
  color: var(--slice-title-color, #e0e8d0);
  text-decoration: none;
  display: inline-block;
  transition: color 0.2s ease;
}

.tm-text-button:hover {
  color: var(--slice-subtitle-color, #e36325);
  text-decoration: underline;
}

.tm-text-button.is-primary {
  color: var(--slice-subtitle-color, #e36325);
  font-weight: 320;
}
