/*
  Testing NanoFlashing.

  Yin, 2026-08-29:
  - "have cover page first, then next is the long page about testing", following
    versions/v25-discover-nanoflashing. So the first screen is the logo and the title
    alone, full height, and the evidence begins on the second screen.
  - "I prefer to stay photo on the right, text on the left, like our other design."
    The picture is on the right in every section and never alternates.
  - "pls search goretex or dyson how they make the layout, make it more high class."
    GORE-TEX's own testing page (read 2026-08-29) is a large heading, one short
    paragraph, one wide picture, and no tables at all. Dyson is where the specification
    treatment comes from: a label on the left, values on the right, hairline rules
    between rows, and space instead of punctuation between items. That is the .tn-spec
    block, and it replaces the middot runs that made the pathogen lists look like a
    text file.

  Tokens and type scale follow versions/v25-discover-nanoflashing/discover.css so the
  two pages read as one site.
*/

@font-face {
  font-family: Anton;
  src: url("/assets/fonts/Anton-Regular.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

:root {
  --paper: #ffffff;
  --ink: #000000;
  --ink-soft: #4a5257;
  --hair: #6b7780;
  --accent: #1b7bff;
  --rule: rgba(0, 0, 0, .12);
  --rule-soft: rgba(0, 0, 0, .07);
  --panel: #f7f8f9;

  --type: Montserrat, Arial, sans-serif;
  --display: Anton, Impact, sans-serif;

  --display-size: clamp(30px, calc(18px + 2vw), 50px);
  --h2-size: clamp(24px, calc(16px + 1.1vw), 34px);
  --body-size: 19.5px;

  --stage: min(100% - clamp(72px, 15vw, 300px), clamp(1240px, 62vw, 1560px));
  --pad: clamp(56px, 7vh, 88px);
  --gap-head: 24px;
  --gap-col: clamp(40px, 5vw, 88px);
  --measure: 880px;
}

* { box-sizing: border-box; margin: 0; padding: 0; }

/*
  One screen per scroll, exactly as versions/v25-discover-nanoflashing does it.
  Yin, 2026-08-29: "when people scroll, it shall be like Discover NanoFlashing, have a
  clean flip to below." Same three rules, same footer exception, same header reserve.

  proximity rather than mandatory, and no scroll-snap-stop, because two of these sections
  are taller than a screen. Under mandatory the browser fights a reader trying to get to
  the bottom of a long section. proximity flips cleanly at the boundaries and leaves the
  long ones alone.
*/
:root { --header: 84px; }
html {
  scroll-behavior: smooth;
  scroll-snap-type: y proximity;
  scroll-padding-top: var(--header);
}
.tn-cover, .tn-section { scroll-snap-align: start; }
footer { scroll-snap-align: start; }

body {
  background: var(--paper);
  color: var(--ink);
  font-family: var(--type);
  font-size: var(--body-size);
  /* Yin, 2026-08-30: "Validation page line spacing needs to be tighter like all
     other pages." It was 1.78 here against 1.62 on Discover NanoFlashing. */
  line-height: 1.62;
  -webkit-font-smoothing: antialiased;
}

.tn-skip { position: absolute; left: -9999px; top: 0; background: var(--ink); color: var(--paper); padding: 12px 18px; z-index: 999; }
.tn-skip:focus { left: 12px; top: 12px; }

.tn-inner { width: var(--stage); margin: 0 auto; }

/* ------------------------------------------------------------------ cover */

/*
  The cover: white, the wordmark, the title, one small line, and the blue wave field,
  which is what Yin asked for and what the sister page does.

  A full bleed photograph was tried here on 2026-08-29, because gore-tex opens that way
  and the judge named the empty white cover as the worst fault in all six rounds. It was
  reverted. White type could not be made to read on that photograph: measured across five
  placements and five scrim weights, the best contrast reached was 3.38:1 against a
  headline minimum of 4.5:1, and the scrim heavy enough to pass buried the picture. The
  image is in assets/evidence/hero_duct.jpg if a darker one is ever sourced.
*/
.tn-cover {
  position: relative;
  min-height: 100vh;
  min-height: 100svh;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 30vh;
  text-align: center;
}
/*
  gore-tex carries white type straight onto its hero with no scrim, but their photograph
  is dark where the words sit. Ours is at its brightest exactly there, so the title was
  washing out. A gradient scrim, weighted to the lower half where the type is.
*/
.tn-cover .tn-inner { position: relative; z-index: 1; }
#tn-ocean {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  display: block;
  pointer-events: none;
}
.tn-cover .tn-inner { position: relative; z-index: 1; }
main, footer { position: relative; z-index: 1; }

.tn-mark { width: 210px; height: auto; margin: 0 auto 26px; display: block; }
.tn-cover h1 {
  font-family: var(--display);
  font-size: clamp(44px, calc(22px + 3.4vw), 72px);
  line-height: .9;
  font-weight: 400;
  letter-spacing: 0;
}
/* the sister page's small label: Montserrat 13.5px, weight 650, tracking 1.62px.
   There is no monospace anywhere on that page and there is none here now. */
.tn-scroll {
  font-size: 13.5px;
  font-weight: 650;
  letter-spacing: 1.62px;
  color: var(--hair);
  margin-top: 36px;
}

/* --------------------------------------------------------------- sections */

/* the sister page draws no rule between sections. Neither does this one. */
/*
  NO min-height:100vh here. The sister page can do that because each of its screens
  holds one idea that fits; these hold four paragraphs and a table, and forcing a screen
  minimum only padded the short ones. Measured on the live page: 244px voids between
  every section and 18 per cent of the whole page empty.
  80px top and bottom, which is gore-tex's own figure, so 160px between sections.
  The floating header is handled by scroll-padding on the scroller, not by padding here.
*/
.tn-section { padding: 80px 0; }

.tn-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.02fr);
  gap: 30px;
  align-items: start;
}

.tn-copy { max-width: 570px; }

/*
  Anton, as on Discover NanoFlashing. But NOT at the title's size: this page carries five
  section heads and at display size every one of them competed with the page title, so the
  eye had no entry point. Codex audit 2026-08-29, defect 2.
*/
.tn-copy h2 {
  font-family: var(--display);
  font-size: clamp(28px, calc(19px + 1.1vw), 40px);
  letter-spacing: .035em;
  line-height: .95;
  font-weight: 400;
  letter-spacing: 0;
  margin-bottom: 20px;
}
.tn-copy p { margin-bottom: 22px; font-weight: 400; }
.tn-copy p:last-of-type { margin-bottom: 0; }
.tn-copy a { color: var(--accent); text-decoration: underline; text-underline-offset: 3px; }

/*
  One ratio for every photograph, so the sections share a rhythm. The ratio sits on the
  FIGURE, not the image: aspect-ratio on a replaced element was being ignored here and
  every picture rendered at its own raw height, which left one row 834px out of balance.
*/
/* 16:9, inset on the same rails as the copy, top edge flush with the heading. */
.tn-figure {
  margin: 0;
  overflow: hidden;
  aspect-ratio: 16 / 9;
}
.tn-figure img { width: 100%; height: 100%; object-fit: cover; display: block; }

/*
  Wildfire carries four paragraphs and a source list, so one 16:9 picture left about
  500px of white beside it. Yin, 2026-08-29: "In the white space, pls add this photo".
  A second picture takes whatever height is left, so the column ends level with the words.
*/
.tn-row--stack { align-items: stretch; }
/* both pictures the same height. Yin, 2026-08-29: "pls crop the second pic the same
   height as the first pic". So the second is 16:9 like every other picture on the page
   rather than stretching to fill whatever the words leave. */
.tn-figstack {
  display: grid;
  grid-template-rows: auto auto;
  gap: 30px;
}
.tn-figure--fill { aspect-ratio: 16 / 9; height: auto; }

/* the journal cover is a portrait object and is never cropped */
/* the cover is narrower than its column, so it sits on the right edge rather than
   floating with a gap beside it. Yin, 2026-08-29. */
/* The journal cover is a PORTRAIT document. It was inheriting the 16:9 box every
   other figure uses, and with overflow visible for its shadow it simply spilled out
   of the bottom and printed over the affiliations underneath. The ratio is released
   here, and the mobile blocks below must not put it back. */
.tn-cover-img { aspect-ratio: auto; height: auto; min-height: 0; overflow: visible;
  align-self: start; justify-items: end; }
.tn-cover-img img { height: auto; object-fit: contain; }

/* report numbers, in the sister page's small label style, not a monospace */
.tn-sources { margin-top: 40px; }
.tn-sources p {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: .3px;
  line-height: 1.75;
  color: #6f7a83;
  margin: 0;
}
.tn-sources a { color: var(--hair); }

/* ---------------------------------------------- specification block, Dyson */

.tn-spec { margin-top: clamp(48px, 6vw, 84px); }

/*
  Rules between the rows, and two aligned columns of values. Yin, 2026-08-29: "Add
  horizontal line to help reading ... pls make 2 column, and align them, now it look
  messy". He is right: the values were flowing and wrapping, so no two rows lined up and
  the eye had nothing to run along. This overrides the gore-tex finding that their pages
  carry no rules at all, on his instruction.
*/
.tn-spec-row {
  display: grid;
  grid-template-columns: clamp(150px, 15vw, 210px) minmax(0, 1fr);
  gap: clamp(20px, 3vw, 48px);
  padding: 28px 0;
  border-top: 1px solid var(--rule-soft);
  align-items: baseline;
}
.tn-spec-row:last-child { border-bottom: 1px solid var(--rule-soft); }


.tn-spec-label {
  font-size: 13.5px;
  font-weight: 650;
  letter-spacing: 1.62px;
  color: var(--hair);
}

/* two columns, so every item starts on one of two lines instead of wherever the
   previous one happened to end. No punctuation between them. */
.tn-spec-values {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px clamp(24px, 3vw, 56px);
  list-style: none;
}
.tn-spec-values li { font-size: 17.5px; line-height: 1.5; color: var(--ink); }

/* --------------------------------------------------------- peer reviewed */

.tn-stats { display: flex; gap: clamp(36px, 5vw, 72px); margin: 30px 0 4px; }
.tn-stat b {
  display: block;
  font-size: clamp(34px, calc(22px + 1.6vw), 50px);
  line-height: 1;
  font-weight: 700;
  letter-spacing: -.02em;
}
.tn-stat span {
  display: block;
  margin-top: 10px;
  font-size: 13.5px;
  font-weight: 650;
  letter-spacing: 1.62px;
  color: var(--hair);
}

.tn-affil { columns: 2; column-gap: clamp(28px, 3.4vw, 56px); margin-top: 4px; }
.tn-affil li {
  list-style: none;
  font-size: 16px;
  line-height: 1.46;
  color: var(--ink);
  padding: 11px 0;
  break-inside: avoid;
}

.tn-cover-img img { max-width: 360px; margin-left: auto; box-shadow: 0 1px 14px rgba(0,0,0,.09); }

/* ---------------------------------------------------- real world results */

.tn-studies {
  margin-top: clamp(48px, 6vw, 84px);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(40px, 4.5vw, 72px);
}
/*
  All four charts now sit on one common SVG canvas of the same intrinsic size, so they
  render at the same scale and their type matches whatever the container does. The panel
  therefore does not need to constrain them, and must not, because a max-height was
  scaling two of them differently from the other two.
*/
/* no card, no border, no tint. The chart sits on the page like a diagram in a
   technical paper. Codex round 1, defect 5. */
/* name, then the building, then the words, then the chart. Yin, 2026-08-29. */
.tn-study figure { margin: 0; }
.tn-study h3 { margin-bottom: 14px; }
.tn-study-chart { margin-top: 22px !important; }

/*
  each study opens on its building, then shows its chart

  Yin, 2026-08-29: "the quality of the building photo is still very worst", and he
  sent three source documents to check. All three carry the SAME photographs: the
  REINFIRE pdf holds them inside 2448 by 3168 page rasters, and cropping them out
  gives a bigger file with about half the edge detail of the ones already here,
  measured on the variance of the Laplacian at a matched crop and width. There is
  no sharper copy in those files.

  The softness was ours. The photographs are 687 by 237 and 687 by 266, which is
  2.9 and 2.58 to one. A 16 by 9 box is 1.78 to one, so object-fit: cover was
  scaling each of them UP by about 1.39 and cropping the sides, on a screen that
  wants two device pixels for every one it was given. At 2.58 to one every
  photograph is scaled DOWN instead, which is where a picture looks its best.
*/
/*
  Later the same day, Yin sent four photographs of the actual buildings. They are
  1.78, 1.78, 1.86 and 1.51 to one, so the box goes back to 16 by 9, which is 1.78.
  Drawn into 584 by 329: Vancouver 1020 wide lands at 0.57 of its own pixels,
  London 596 at 0.98, the airport 780 at 0.78, Melbourne 549 at 1.06. Three of the
  four are scaled down, which is where a photograph looks its best, and the fourth
  is within six per cent of its own size.
*/
.tn-study-shot {
  aspect-ratio: 16 / 9;
  overflow: hidden;
  margin: 0 0 16px;
}
/* the specificity has to beat ".tn-study img { height: auto }" further down, which was
   silently winning and leaving every building photograph about 100px short inside its
   own box. That was the white space between the picture and the chart. */
.tn-study .tn-study-shot img { width: 100%; height: 100%; object-fit: cover; display: block; }

/*
  The instrument is a product photograph already on pure white, measured 255,255,255 at
  every edge. It was sitting on the panel grey, which drew a visible grey frame around
  it. No ground at all: it stands on the page like a product shot.
*/
.tn-figure--product { background: none; display: grid; place-items: center; }
.tn-figure--product img { width: auto; height: 88%; object-fit: contain; }

/*
  Yin, 2026-08-29: "Real World Results, make the BAMS machine larger, the same
  height as text, so it will visually look good on PC."

  Measured at 1920 and 1440: the text column is 496 and 492 tall, the picture's
  box was 344 and 339, so the row read as lopsided. The figure now stretches to
  the row's height and the picture fills it, keeping its own proportions.

  Note for the source file: the picture is 400 by 380 pixels. At the text's height
  it is drawn about 520 wide, which is 1.3 times its own pixels in CSS and 2.6
  times on a retina screen. It will look soft until a larger file replaces it.
*/
@media (min-width: 1024px) {
  .tn-row > .tn-figure--product {
    align-self: stretch;
    aspect-ratio: auto;
    height: auto;
  }

  .tn-figure--product img {
    height: 100%;
    max-height: 100%;
    width: auto;
    max-width: 100%;
  }
}
.tn-study img {
  /* NOT width:100%. The four charts have different intrinsic widths, so
     stretching each to the column made their type sizes disagree, badly.
     They now share one pt-to-pixel scale and simply sit at that size. */
  width: 100%;
  height: auto;
  display: block;
}
.tn-study h3 { font-size: 19px; font-weight: 700; line-height: 1.34; }
.tn-study p { font-size: 17px; line-height: 1.56; color: var(--ink-soft); margin: 0; }
.tn-when {
  font-size: 13px;
  font-weight: 650;
  letter-spacing: 1.62px;
  color: var(--hair);
  display: block;
  margin-bottom: 12px;
}

/* the last section carries the space the closing block used to give the footer */
.tn-section:last-of-type { padding-bottom: clamp(112px, 15vh, 168px); }

/* ------------------------------------------------------------- responsive */

@media (max-width: 760px) {

  /* Yin, 2026-08-31: "the font size of NanoFlashing and Validation are not in
     consistent with landing page, some gap between line are too wide."
     Measured on a phone at 390px before this: Discover NanoFlashing ran 19.5px on
     a 31.6px line, this page ran 18px on 29.2px, and the landing page and the
     applications page both ran about 15.6px on a 21.5px line. So these two pages
     did not even match EACH OTHER, and both were far looser than the rest of the
     site. They are the same as each other now, and the line is tighter. */
  :root { --body-size: 18px; }
  .tn-copy p, .tn-copy li { line-height: 1.45; }
  .tn-row { grid-template-columns: minmax(0, 1fr); gap: 34px; align-items: start; }
  .tn-figure:not(.tn-cover-img) { aspect-ratio: 16 / 9; }

  /*
    Yin, 2026-08-29, with a photograph of the live page: the instrument was cut in
    half. Measured at 390: the figure is 318 by 179 because of the 16 by 9 rule
    above, and the picture inside it renders 352 by 334, so 178px of the machine
    was below the box and overflow:hidden removed it. It is a product shot on white
    with nothing to crop to, so the box sizes to the picture instead of the picture
    being forced into the box. 320 is its cap, under its own 400px width, so it is
    never enlarged.
  */
  .tn-figure--product {
    aspect-ratio: auto;
    height: auto;
    min-height: 0;
  }

  .tn-figure--product img {
    width: 100%;
    max-width: 320px;
    height: auto;
    margin: 0 auto;
  }
  .tn-figstack { grid-template-rows: auto auto; height: auto; }
  .tn-figure--fill { aspect-ratio: 3 / 4; height: auto; }
  .tn-section { min-height: 0; padding: 40px 0; }
  /* measured: 475px of nothing between the last section and the footer */
  .tn-section:last-of-type { padding-bottom: 40px; }
  html { scroll-snap-type: none; }

  /*
    Yin, 2026-08-29: "For testing nanoflashing and discover nanoflashing, initial
    screen shall align on mobile."

    Measured on both live pages at 390 wide. The sister page holds its cover to
    148px of top padding, a 180px wordmark with 32px under it, a 30px title on a
    1.06 line, and 36px before the scroll line, which puts the wordmark at 148 and
    the title at 201. This page was at 93 and 131 with a 44px title that wrapped
    onto two lines. These are the sister page's own numbers, so the two covers now
    start at the same place at the same size.
  */
  .tn-cover { min-height: 62svh; padding-top: 148px; }
  .tn-mark { width: 180px; margin-bottom: 32px; }
  .tn-cover h1 { font-size: 30px; line-height: 1.06; }
  .tn-scroll { margin-top: 36px; }
  .tn-copy { max-width: none; }
  .tn-studies { grid-template-columns: minmax(0, 1fr); }
  .tn-affil { columns: 1; }
  .tn-cover-img img { max-width: 300px; }
  .tn-spec-row { grid-template-columns: minmax(0, 1fr); gap: 12px; padding: 22px 0; }
  .tn-spec-values { grid-template-columns: minmax(0, 1fr); gap: 10px; }
}

@media (max-width: 560px) {
  /* the wordmark, which is .tn-mark now, not .tn-cover img */
  .tn-mark { width: 156px; margin-bottom: 20px; }
  .tn-stats { gap: 28px; }
  .tn-spec-values li { font-size: 16.5px; }
  .tn-section { padding: 34px 0; }
}

@media (prefers-reduced-motion: reduce) {
  * { animation: none !important; transition: none !important; }
}

/* ---------------------------------------------------------------------------
   Tablet, 761 to 1023. Between the phone stack and the desktop layout.
   The judge's line on this width was that it reads as a stretched phone, so the
   space is actually used: two columns of values, two columns of affiliations,
   and a text measure that does not run the full width of the slab.
--------------------------------------------------------------------------- */
@media (min-width: 761px) and (max-width: 1023px) {
  :root { --body-size: 18.5px; }
  .tn-section { padding: 52px 0; }
  .tn-section:last-of-type { padding-bottom: 56px; }
  .tn-row { gap: 34px; }
  .tn-copy { max-width: 46ch; }
  .tn-spec-row { grid-template-columns: 150px minmax(0, 1fr); gap: 28px; padding: 24px 0; }
  .tn-spec-values { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 28px; }
  .tn-affil { columns: 2; column-gap: 34px; }
  .tn-studies { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 34px; }
  .tn-cover { min-height: 72svh; padding-top: 16vh; }
  .tn-cover-img img { max-width: 300px; }
}

/* ---------------------------------------------------------------------------
   The instrument photograph, again. Yin, 2026-08-30: "don't you find BAMS
   machine lost half?" -- and he is right, on a page I had already fixed once.

   The first fix set aspect-ratio:auto on .tn-figure--product, which is 0,1,0.
   Three lines above it sits .tn-figure:not(.tn-cover-img){aspect-ratio:16/9},
   which is 0,2,0 and simply beat it. So the 16:9 box stayed, the picture drew
   taller than the box, and overflow:hidden took the bottom off the machine.
   Measured on the live page: cut by 123px at 390, 103px at 430, 181px at 768.
   768 also fell in a gap -- the phone fix stopped at 760 and the desktop rule
   does not start until 1024, so nothing covered it at all.

   This rule carries the same 0,2,0 weight, sits last in the file, and covers
   every width below the two-column layout. It is a product shot on white with
   nothing to crop to, so the box sizes to the picture rather than the picture
   being forced into the box. 320 is its cap, under its own 400px width, so it
   is never enlarged.
   --------------------------------------------------------------------------- */
@media (max-width: 1023px){
  .tn-figure.tn-figure--product{ aspect-ratio: auto; height: auto; min-height: 0; }
  .tn-figure.tn-figure--product img{
    width: 100%; max-width: 320px; height: auto; margin: 0 auto; }
}

/* ---------------------------------------------------------------------------
   THE TYPE SCALE ON A PHONE.

   Yin, 2026-08-31: "For validation, inconsistency is still everywhere", then
   "what is the apple and dyson font size and line gap and alignment on mobile".

   Measured on both live sites at 390px:
     Apple   small print 12/16 x1.33, body 14/20 x1.43, lead 17-19/21-23,
             heading 28/32 x1.14, hero 32/36 x1.12, body left aligned
     Dyson   body 14/20 x1.43, larger body 16/24 x1.50, sub-head 20/28 x1.40,
             heading 28/36 x1.29, hero 32/40 x1.25, left aligned

   And the number that made his point. Sizes carrying real text on one page:
     Apple iPhone page   4
     Dyson purifiers     6
     THIS PAGE           9
   Its body copy alone rendered at 14.6, 16.0, 16.5 and 17.0, because the
   pathogen lists, the institute lists and the study paragraphs each had a size of
   their own. Two other faults against both references: our line gap was TIGHTER
   than theirs, x1.38 against x1.43-1.50, and the section heading ran at x0.95,
   which means the lines actually overlap.

   Five steps now, sitting inside both references, plus the stat figure:
     caption  12/16  x1.33     body    15/22  x1.47
     lead     19/25  x1.32     section 24/30  x1.25
     title    30/36  x1.20     stat    34/37
   --------------------------------------------------------------------------- */
@media (max-width: 760px) {
  /* body: the four sizes become one */
  .tn-copy p,
  .tn-copy li,
  .tn-affil li,
  .tn-spec-values li,
  .tn-study p {
    font-size: 15px !important;
    line-height: 22px !important;
    text-align: left !important;
  }

  /* caption */
  .tn-when,
  .tn-spec-label,
  .tn-stat span,
  .tn-scroll,
  .tn-sources p {
    font-size: 12px !important;
    line-height: 16px !important;
  }

  /* lead, used here as the study heading */
  .tn-study h3 {
    font-size: 19px !important;
    line-height: 25px !important;
  }

  /* section heading. It was 28px on a 26.6px line, x0.95, so the lines touched. */
  .tn-copy h2,
  .tn-section h2 {
    font-size: 24px !important;
    line-height: 30px !important;
  }

  /* page title */
  .tn-cover h1,
  .tn-inner h1 {
    font-size: 30px !important;
    line-height: 36px !important;
  }

  /* the display figure keeps its size and stops touching its own line */
  .tn-stat b {
    font-size: 34px !important;
    line-height: 37px !important;
  }
}

/* ---------------------------------------------------------------------------
   ONE BREAK POINT IN THE SMOKE HEADING.

   Yin, 2026-08-30: "Wildfire Smoke and Ultrafine Particles, in validation, pls
   break it into 2 nicer line Wildfire Smoke < one line, and Ultrafine Particle,
   another line."

   Measured before: on a 393px phone it broke as "Wildfire Smoke and Ultrafine" /
   "Particles", which orphans a single word. On a 1440px desktop it is one line and
   should stay one line.

   Each half is an inline-block, so it cannot break inside itself. The only place
   the line can turn is between the two, which is exactly where he asked for it.
   Nothing is forced, so desktop keeps its single line while it fits. The copy is
   untouched -- this is a line break, not an edit, and BLOCK1.md stays the source.
   --------------------------------------------------------------------------- */
#tn-smoke .tn-keep { display: inline-block; }
