/* Unuploaded — /bpm-counter/ page styles. ROUTE-LOCAL rather than in
   convert.css, and measured: folding ~1.1 KB into that SHELL sheet
   pushed /stl-viewer/ and /3mf-to-stl/ past the page-weight assertion.
   audio-joiner/join.css set the lane. */

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

/* The tap panel is a SECOND instrument and is boxed so it reads as one:
   the separation between your tapping and the file's measurement is the
   route's honesty claim, not a layout preference. */
.tap-panel {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--panel);
  padding: 0.9rem 1rem 1rem;
  margin: 1.4rem 0;
}

.tap-panel h2 { margin-top: 0; }
.tap-panel .readout { margin: 0.6rem 0; }
.tap-panel .controls { margin: 0.6rem 0 0; }
.tap-panel #t-note:empty { display: none; }
