/* glass-history — what a page used to say.
 *
 * The paper's own sheet for the history view: the door on the dateline, the
 * list of revisions, and the diff. It is its own file for the same reason
 * glass-history.js is — glass.html is one line under the 800-line law and a
 * view is a responsibility, not a paragraph of somebody else's stylesheet.
 *
 * Two rules run through all of it. The marks are RULES and never fills: a
 * filled span changes the colour the author's own words are read at. And the
 * update date is set as the dateline's own type — a control that shouts is a
 * control that changed what the line says.
 */
/* ── what changed (glass-history.js) ────────────────────────────────
   The update date is a DOOR when there is a history behind it. It is a
   button because the history is a view of this page and not an address
   on this site — but it is set as the dateline's own type, because a
   control that shouts is a control that changes what the line says. */
.dateline-up { font: inherit; letter-spacing: inherit; text-transform: inherit;
  color: var(--cyan); background: none; border: 0;
  padding: 0; cursor: pointer; border-bottom: 1px dotted var(--cyan); }
.dateline-up:hover, .dateline-up:focus-visible { border-bottom-style: solid; }
/* A revision row: every field its own block, so the row cannot run
   together into one unreadable string (audit D-31). */
.hist-row { display: block; }
.hist-row .hist-what { display: block; font-family: var(--font-data);
  font-size: var(--fs-3); color: var(--fg); }
.hist-row .hit-open { display: block; margin-top: 0.4rem; font-family: var(--font-display);
  font-size: var(--fs-1); letter-spacing: var(--track-label); text-transform: uppercase; color: var(--cyan); }
/* The diff takes the paper's own column, beside the page rather than
   instead of it — `#doc` is hidden, never rewritten, so the observer,
   the rail and the picker all still hold the page they were given. */
#doc-diff { max-width: 74ch; margin: 0 auto; }
.diff-strip { position: sticky; top: 0; z-index: 3; margin: 0 0 1.2rem; padding: 0.5rem 0.7rem;
  font-family: var(--font-display); font-size: var(--fs-1); letter-spacing: var(--track-label);
  text-transform: uppercase; color: var(--muted); background: var(--raised);
  border-left: 2px solid var(--amber); }
.diff-strip .diff-done { font: inherit; letter-spacing: inherit; text-transform: inherit;
  color: var(--cyan); background: none; border: 0; padding: 0.2rem 0.3rem; cursor: pointer;
  border-bottom: 1px dotted var(--cyan); }
.diff-strip .diff-done:hover, .diff-strip .diff-done:focus-visible { border-bottom-style: solid; }
/* `pre-wrap`: the runs carry the author's own line breaks, and a diff
   that reflowed them would be showing a change nobody made. */
.diff-body { white-space: pre-wrap; font-size: var(--fs-4); line-height: 1.65; }
/* RULES, not fills. A filled span reflows nothing but it does change the
   colour the words are read at, and these words are the author's. */
.diff-body ins { text-decoration: none; border-bottom: 2px solid var(--vault);
  color: var(--fg); }
.diff-body del { text-decoration: line-through; text-decoration-color: var(--amber);
  text-decoration-thickness: 2px; color: var(--muted); }
.diff-big { font-size: var(--fs-4); line-height: 1.6; color: var(--muted); }
/* an UPDATE row in the time rail says the word, not only a hue */
.toc-upd { color: var(--vault); }
