/*
 * flush.css, the flush block device (typography.md section 5, identity.html section 6).
 * Unforged house identity 3.0.0 Broadside, 2026-08-22. Owner: Andreas.
 *
 * A block of one to five lines in the display voice, each line an inline SVG whose textLength
 * pins it to both edges of the measure at every viewport: the measure sizes the line, the
 * scale caps it, and no line overflows its column at any width, 320 included. Ported from
 * 04_PROOF/identity.html. How a builder sets the lines, and which step caps each one:
 * README.md, "The flush device".
 *
 *   .u-flush              the block. A div, or a span inside a heading beside the real text
 *   .u-flush--prose       the block's measure is measure.prose (56ch); default is the column
 *   .u-flush--narrow      measure.narrow (40ch)
 *   .u-flush__line        one line: <svg viewBox="0 0 1000 H"> with one <text>
 *   .u-flush__wide        the wide setting of a block, rendered from 48rem
 *   .u-flush__narrow      the narrow setting of the same block, rendered below 48rem
 */
.u-flush { display: block; }
/* The measure as a column width (base.css section 7, the two measure aliases): a block inside a
   head or a title still measures the body's 56ch or 40ch, 538 / 570px and 384 / 407px. */
.u-flush--prose { max-width: var(--u-measure-prose-body); }
.u-flush--narrow { max-width: var(--u-measure-narrow-body); }
/* The line scales with its measure; its tails (J, Q) paint past the box, so overflow stays
   visible. The text takes the display voice, uppercase always, in the ink of the ground. */
.u-flush__line { display: block; width: 100%; height: auto; overflow: visible; }
.u-flush__line text {
  font-family: var(--u-font-display);
  font-weight: 900;
  text-transform: uppercase;
  fill: currentColor;
}
/* Two settings of one block, so no line sets under the 36px register floor at any width
   (font.register in tokens.json): a long line that fills a 1152px column at 86px fills a 350px
   column at 26px, so below 48rem the block carries the same words on more lines. 48rem is the
   breakpoint identity.html renders the band at; tokens.json carries no breakpoint token yet,
   so this is the one length literal in the shared layer, recorded in README.md "Open". */
.u-flush__wide { display: none; }
.u-flush__narrow { display: block; }
@media (min-width: 48rem) {
  .u-flush__wide { display: block; }
  .u-flush__narrow { display: none; }
}
