/* Unuploaded — /lithophane-maker/ page styles. ROUTE-LOCAL rather than in
   convert.css for the reason bpm.css records: that sheet is loaded by every
   D3 tool page, and /stl-viewer/ sits 165 bytes under the page-weight
   assertion, so anything folded into it is paid for nineteen times by
   routes that can never render it. */

/* Height fixed here, as the beat strip's and the 3D preview's are: the
   ladder paints after a control changes, and an unsized canvas would
   reflow the page at that moment. Zero CLS is a house floor. */
#preview {
  display: block;
  width: 100%;
  height: 72px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--paper);
  margin: 0 0 0.5rem;
}

/* The ladder is a table of numbers pretending to be prose, so it keeps the
   mono face and scrolls sideways on a narrow screen rather than wrapping
   each rung onto two lines where the columns stop lining up. */
#tone-ladder {
  overflow-x: auto;
  margin: 0 0 0.6rem;
}

#tone-ladder:empty { display: none; }

/* The checkbox rides INSIDE its label so the pair cannot wrap apart at
   ≤480px, which is the idiom the 2026-08-20 mobile audit settled on for a
   control the kit's `.controls > label.inline` stacking rule would
   otherwise separate from its box. */
.controls label.inline input[type="checkbox"] {
  margin-right: 0.4rem;
  vertical-align: middle;
}
