/* Keys page only. Shared components live in site.css; colours only as var(--ep-*).
   The attestation itself is a sheet pinned to the palette's light theme in every colourway
   (.ep-light: Datasheet, or Bond in the Deep palette), as the kit specifies for attestations.
   The checks after it follow the page's colourway. */

/* one inset for the sheet and the checks after it, so every body column shares one edge */
.page-keys { --k-pad: clamp(16px, 4.4vw, 64px); }

/* ---------- top: bar, then the sheet ---------- */
.k-top { padding-top: clamp(24px, 3.2vw, 44px); }
.k-bar {
  display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--ep-space-2) var(--ep-space-5);
  padding-bottom: var(--ep-space-4); border-bottom: 1px solid var(--ep-rule-strong);
}
.k-bar .lbl { color: var(--ep-text); }

/* ---------- the sheet ---------- */
.k-sheet {
  margin-top: var(--ep-space-5);
  background: var(--ep-panel-raised); color: var(--ep-text);
  border: 1px solid var(--ep-rule-strong);
  min-width: 0;
}
.k-sheet-head {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--ep-space-3) var(--ep-space-5);
  padding: 16px var(--k-pad); border-bottom: 1px solid var(--ep-rule-strong);
}
.k-sheet-lockup { display: block; height: 24px; width: auto; aspect-ratio: 205.01 / 30; fill: var(--ep-mark); flex: none; }
.k-sheet-kind { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ep-space-2) var(--ep-space-4); color: var(--ep-text-2); }
.k-sheet-kind .data { max-width: none; }
.k-sheet-kind .chip { white-space: normal; }
.k-print {
  display: inline-flex; align-items: center; min-height: 36px; padding: 0 12px; cursor: pointer;
  font-family: var(--ep-font-sans); font-stretch: var(--ep-width-label); font-weight: 650; font-size: 11.5px; letter-spacing: .12em; text-transform: uppercase;
  color: var(--ep-text-2); background: transparent; border: 1px solid var(--ep-control-line); border-radius: var(--ep-radius-1);
}
.k-print:hover { color: var(--ep-text); border-color: var(--ep-text); }

/* title block: the h1 on the left, the contents beside it from column 8 */
.k-sheet-title {
  display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--ep-col-gap); row-gap: var(--ep-space-6);
  align-items: start; padding: clamp(28px, 3.4vw, 52px) var(--k-pad) clamp(32px, 3.6vw, 52px);
}
.k-title { grid-column: 1 / span 7; display: grid; gap: var(--ep-space-4); min-width: 0; }
.k-title .lbl { color: var(--ep-text-2); max-width: none; }
.k-id { font-family: var(--ep-font-mono); font-stretch: var(--ep-width-data); font-weight: 500; font-size: 12px; letter-spacing: 0; text-transform: none; color: var(--ep-text); }
.k-h1 {
  font-stretch: var(--ep-width-display); font-weight: 420;
  font-size: clamp(38px, 5.2vw, 76px); line-height: .98; letter-spacing: -.014em; max-width: 13ch;
}
.k-index { grid-column: 8 / -1; display: grid; gap: var(--ep-space-4); min-width: 0; }
.k-index .lbl { color: var(--ep-text-2); }
.k-index-list { display: grid; border-top: 1px solid var(--ep-rule); }
.k-index-list a {
  display: flex; align-items: baseline; gap: var(--ep-space-3); min-height: 36px; padding-block: 8px;
  border-bottom: 1px solid var(--ep-rule); color: var(--ep-text-2); text-decoration: none; font-size: 15px; line-height: 1.3;
}
.k-index-list a:hover { color: var(--ep-text); border-bottom-color: var(--ep-text); }
.k-index-no { flex: none; width: 1.6em; font-family: var(--ep-font-mono); font-stretch: var(--ep-width-data); font-size: 12px; color: var(--ep-text-3); }
.k-index-list a:hover .k-index-no { color: var(--ep-text); }
.k-title-note { font-size: 16px; line-height: 1.5; color: var(--ep-text-2); max-width: 44ch; }

/* document header: six facts in a hairline grid */
.k-meta { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0 var(--k-pad); border-top: 1px solid var(--ep-rule-strong); }
.k-meta-cell { display: grid; gap: 6px; align-content: start; min-width: 0; padding: 14px 20px 16px 0; border-bottom: 1px solid var(--ep-rule); }
.k-meta-cell:not(:nth-child(3n+1)) { border-left: 1px solid var(--ep-rule); padding-left: 20px; }
.k-meta dt { margin: 0; }
.k-meta dd { margin: 0; font-size: 15px; line-height: 1.45; overflow-wrap: anywhere; }
.k-meta dd .mono { font-size: 13px; }

.k-statement {
  display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--ep-col-gap); row-gap: var(--ep-space-3);
  padding: clamp(32px, 4vw, 56px) var(--k-pad) clamp(44px, 5.4vw, 80px);
}
.k-statement > .lbl { grid-column: 1 / span 3; padding-top: 7px; color: var(--ep-text); }
.k-statement-text { grid-column: 4 / -1; display: grid; gap: var(--ep-space-4); }
.k-statement-text p { font-size: clamp(18px, 1.55vw, 21px); line-height: 1.52; max-width: 58ch; }
.k-statement-text p + p { color: var(--ep-text-2); }
.k-statement-text .mono { font-size: .8em; }

/* articles: a rail with the number and title, the body in nine columns */
.k-art {
  display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--ep-col-gap); row-gap: var(--ep-space-5);
  margin: 0 var(--k-pad); padding-block: clamp(32px, 4vw, 56px) clamp(40px, 4.8vw, 64px);
  border-top: 1px solid var(--ep-rule-strong); scroll-margin-top: var(--ep-space-4);
}
.k-art-rail { grid-column: 1 / span 3; display: grid; gap: var(--ep-space-3); align-content: start; min-width: 0; }
.k-art-no {
  font-family: var(--ep-font-mono); font-stretch: var(--ep-width-data); font-weight: 300;
  font-size: clamp(34px, 3.2vw, 46px); line-height: 1; letter-spacing: -.03em; color: var(--ep-text-3);
}
.k-art-h { font-stretch: var(--ep-width-display); font-weight: 560; font-size: clamp(22px, 1.95vw, 28px); line-height: 1.08; letter-spacing: -.01em; max-width: 14ch; }
.k-art-note { font-size: 14.5px; line-height: 1.5; color: var(--ep-text-2); max-width: 30ch; }
.k-art-body { grid-column: 4 / -1; display: grid; align-content: start; min-width: 0; }
@media (min-width: 901px) {
  .k-art-rail { position: sticky; top: var(--ep-space-5); align-self: start; }
}

/* items */
.k-item { display: grid; gap: var(--ep-space-3); min-width: 0; padding-block: var(--ep-space-5) var(--ep-space-6); border-top: 1px solid var(--ep-rule); scroll-margin-top: var(--ep-space-4); }
.k-item:first-child { border-top: 0; padding-top: 4px; }
.k-item:last-child { padding-bottom: 0; }
.k-item-head { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: baseline; column-gap: var(--ep-space-3); }
.k-item-head .chip { align-self: center; }
.k-ref {
  display: inline-block; min-width: 2.7em; flex: none;
  font-family: var(--ep-font-mono); font-stretch: var(--ep-width-data); font-weight: 400; font-size: 12px; letter-spacing: 0;
  font-variant-numeric: tabular-nums; color: var(--ep-text-3);
}
.k-item-h { font-stretch: var(--ep-width-heading); font-weight: 600; font-size: clamp(18px, 1.45vw, 21px); line-height: 1.25; }
.k-item-text { color: var(--ep-text-2); font-size: 15.5px; line-height: 1.55; max-width: 66ch; }
.k-item-text .mono { font-size: .84em; color: var(--ep-text); }

.k-value { display: flex; align-items: flex-start; gap: var(--ep-space-3); min-width: 0; }
.k-hex {
  flex: 1; min-width: 0; display: block;
  font-family: var(--ep-font-mono); font-stretch: var(--ep-width-data); font-weight: 400;
  font-size: clamp(14px, 1.12vw, 16px); line-height: 1.75; letter-spacing: .01em; color: var(--ep-text);
  background: var(--ep-ground); border: 1px dashed var(--ep-rule-strong); padding: 9px 14px;
  overflow-wrap: anywhere; word-break: break-all;
}
/* grouped by keys.js: eight characters per group, no characters added, so a hand copy is exact */
.k-g { display: inline-block; margin-right: .6em; white-space: nowrap; }
.k-g:last-child { margin-right: 0; }
.k-g-lead { display: inline-block; margin-right: .12em; color: var(--ep-text-3); }
.k-g.is-dim { color: var(--ep-text-3); }
.k-copies { display: grid; gap: var(--ep-space-2); justify-items: stretch; flex: none; }
.k-copy-note { white-space: pre; }
.k-format { font-family: var(--ep-font-mono); font-stretch: var(--ep-width-data); font-size: 11.5px; line-height: 1.5; color: var(--ep-text-3); max-width: none; }
.k-links { font-size: 14.5px; }
.k-der-note { font-size: 14px; line-height: 1.5; color: var(--ep-text-2); max-width: 70ch; }
.k-der-note .mono { color: var(--ep-text-3); font-size: .9em; overflow-wrap: anywhere; }

/* 2.1 the fingerprint, as a 4 × 2 table of groups to read aloud */
.k-item-fp { gap: var(--ep-space-4); }
.k-fp-wrap { display: flex; align-items: flex-start; gap: var(--ep-space-3); min-width: 0; }
.k-fp {
  flex: 1; min-width: 0; display: block;
  font-family: var(--ep-font-mono); font-stretch: var(--ep-width-data); font-weight: 300;
  font-size: clamp(18px, 1.85vw, 26px); line-height: 1.3; letter-spacing: .01em; color: var(--ep-text);
  overflow-wrap: anywhere; word-break: break-all;
}
.k-fp.is-grid { line-height: 0; border-top: 1px solid var(--ep-rule-strong); border-left: 1px solid var(--ep-rule-strong); }
.k-fp-g {
  display: inline-block; vertical-align: top; width: 25%; line-height: 1.2; white-space: nowrap;
  padding: 10px clamp(10px, 1.2vw, 16px) 14px;
  border-right: 1px solid var(--ep-rule-strong); border-bottom: 1px solid var(--ep-rule-strong);
  background: var(--ep-ground);
}
.k-fp-g::before {
  content: attr(data-i); content: attr(data-i) / ""; display: block; margin-bottom: 8px;
  font-family: var(--ep-font-sans); font-stretch: var(--ep-width-label); font-weight: 650; font-size: 10.5px; line-height: 1; letter-spacing: .14em;
  color: var(--ep-text-3); user-select: none;
}
.k-item-fp .k-item-text { max-width: 72ch; }

.k-superseded {
  display: flex; flex-wrap: wrap; align-items: center; gap: var(--ep-space-2) var(--ep-space-5);
  margin-top: var(--ep-space-2); padding-top: var(--ep-space-4); border-top: 1px dashed var(--ep-rule-strong);
}
.k-superseded-list { display: flex; flex-wrap: wrap; gap: var(--ep-space-2) var(--ep-space-5); }
.k-superseded-list li { display: inline-flex; align-items: center; gap: 10px; }
.k-superseded s { font-size: 13.5px; color: var(--ep-text-3); text-decoration-thickness: 1.5px; text-decoration-color: var(--ep-text-2); }
.k-superseded-note { flex-basis: 100%; font-size: 14px; color: var(--ep-text-2); }

/* 2.2 to 2.5 */
.k-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: var(--ep-space-6); border-top: 1px solid var(--ep-rule-strong); }
.k-fact { display: grid; gap: 6px; align-content: start; min-width: 0; padding: 16px 24px 18px 0; border-bottom: 1px solid var(--ep-rule); }
.k-fact:nth-child(even) { border-left: 1px solid var(--ep-rule); padding-left: 24px; padding-right: 0; }
.k-fact:nth-last-child(-n+2) { border-bottom: 0; }
.k-fact dt { display: flex; align-items: baseline; gap: var(--ep-space-2); font-stretch: var(--ep-width-heading); font-weight: 600; font-size: 16px; line-height: 1.3; }
.k-fact dd { margin: 0; font-size: 15px; line-height: 1.5; color: var(--ep-text-2); }

/* 4 the guardian set */
.k-set { table-layout: fixed; }
.k-set .k-set-g { width: 44%; }
.k-set th, .k-set td { padding: 14px 16px 14px 14px; vertical-align: top; }
.k-set thead th { padding-top: 0; padding-bottom: 10px; }
.k-set tbody tr:last-child > * { border-bottom: 1px solid var(--ep-rule); }
.k-set tbody th { font-weight: 400; }
.k-set-id { display: flex; align-items: baseline; flex-wrap: wrap; gap: 2px 0; }
.k-set-id .mono { font-size: 14px; font-weight: 500; }
.k-set-op { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin-top: 4px; padding-left: 2.7em; font-size: 14px; color: var(--ep-text-2); }
.k-set .k-set-url { font-size: 13px; overflow-wrap: anywhere; padding-top: 16px; }
.k-set tr.is-ours > * { background: var(--ep-tint); }
.k-set tr.is-ours .k-set-op { color: var(--ep-text); }
.k-set-order { margin-top: var(--ep-space-3); font-family: var(--ep-font-mono); font-stretch: var(--ep-width-data); font-size: 11.5px; line-height: 1.5; color: var(--ep-text-3); max-width: none; }
.k-set-notes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ep-space-4) var(--ep-col-gap); margin-top: var(--ep-space-5); }
.k-set-notes p { font-size: 14.5px; line-height: 1.55; color: var(--ep-text-2); }

/* 5 what we will never ask for: struck glyphs, the kit's sign for a refusal */
.k-never { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--ep-rule-strong); }
.k-never-item {
  display: grid; grid-template-columns: 14px minmax(0, 1fr); column-gap: 14px; row-gap: 6px; align-content: start; min-width: 0;
  padding: 20px 24px 24px 0; border-bottom: 1px solid var(--ep-rule);
}
.k-never-item:nth-child(even) { border-left: 1px solid var(--ep-rule); padding-left: 24px; padding-right: 0; }
.k-never-item .glyph { grid-row: 1; width: 13px; height: 13px; margin-top: .38em; color: var(--ep-text); }
.k-never-h { grid-column: 2; display: flex; align-items: baseline; gap: var(--ep-space-2); font-stretch: var(--ep-width-heading); font-weight: 600; font-size: clamp(18px, 1.45vw, 21px); line-height: 1.25; }
.k-never-item p { grid-column: 2; font-size: 15px; line-height: 1.55; color: var(--ep-text-2); }
.k-never-foot { margin-top: var(--ep-space-6); border-left: 2px solid var(--ep-text); padding-left: 14px; font-size: 15.5px; line-height: 1.55; max-width: 68ch; }
.k-never-foot .mono { font-size: .88em; }

/* the foot of the sheet */
.k-sheet-foot {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "sign mark" "note mark";
  column-gap: var(--ep-space-5); row-gap: var(--ep-space-3); align-items: end;
  margin: 0 var(--k-pad); padding-block: var(--ep-space-5) clamp(24px, 4vw, 56px);
  border-top: 1px solid var(--ep-rule-strong);
}
.k-sign { grid-area: sign; display: grid; gap: 4px; }
.k-sign p:not(.lbl) { font-size: 15px; }
.k-sign p.k-sign-meta { font-size: 12px; color: var(--ep-text-2); }
.k-sign-note { grid-area: note; font-size: 14px; line-height: 1.5; color: var(--ep-text-2); max-width: 60ch; }
.k-sign-mark { grid-area: mark; width: 44px; height: 44px; fill: var(--ep-mark); align-self: end; }

/* ---------- 6 · the checks, in the page theme ---------- */
/* inset like the sheet's content (its border plus --k-pad), so the rail and body columns line up */
@media (min-width: 901px) {
  .k-check-section .section-head, .k-checks { margin-inline: calc(var(--k-pad) + 1px); }
}
.k-art-no-page { color: var(--ep-text-3); }
.k-checks { display: grid; }
.k-check {
  display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--ep-col-gap); row-gap: var(--ep-space-4);
  padding-block: clamp(32px, 3.8vw, 52px); border-top: 1px solid var(--ep-rule); scroll-margin-top: var(--ep-space-4);
}
.k-check:first-child { border-top: 0; padding-top: 0; }
.k-check:last-child { padding-bottom: 0; }
.k-check-rail { grid-column: 1 / span 3; display: grid; gap: var(--ep-space-3); align-content: start; }
.k-check-no {
  font-family: var(--ep-font-mono); font-stretch: var(--ep-width-data); font-weight: 300;
  font-size: clamp(26px, 2.4vw, 34px); line-height: 1; letter-spacing: -.02em; color: var(--ep-text);
}
.k-check-refs { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; max-width: none; }
.k-check-refs a.mono { font-size: 12.5px; }
.k-check-body { grid-column: 4 / -1; display: grid; gap: var(--ep-space-4); align-content: start; min-width: 0; }
.k-check-h { font-stretch: var(--ep-width-display); font-weight: 520; font-size: clamp(22px, 2.05vw, 28px); line-height: 1.12; letter-spacing: -.01em; max-width: 28ch; }
.k-check-text { display: grid; gap: var(--ep-space-3); }
.k-check-text p { font-size: 16px; line-height: 1.6; color: var(--ep-text-2); max-width: 66ch; }
.k-check-text .mono { color: var(--ep-text); }

.k-script { min-width: 0; background: var(--ep-panel); border: 1px solid var(--ep-rule); }
.k-script-head { display: flex; align-items: center; justify-content: space-between; gap: var(--ep-space-3); min-height: 48px; padding: 5px 5px 5px 16px; border-bottom: 1px solid var(--ep-rule); }
/* commands never scroll or clip: keys.js sets each line in its own block, and a line too long
   for the column wraps under a hanging indent, so a wrapped line never reads as a new one */
pre.k-pre { border: 0; background: transparent; color: var(--ep-text); padding: 16px 18px 18px; font-size: 12.5px; line-height: 1.8; white-space: pre-wrap; overflow: visible; }
.k-ln { display: block; padding-left: var(--k-hang, 2ch); text-indent: calc(-1 * var(--k-hang, 2ch)); overflow-wrap: anywhere; }
.k-pre-script { font-size: 13.5px; }
.k-expect dd .mono { font-size: 12.5px; }
.k-expect .k-value { margin-top: 2px; }
/* keep the rows' rules full width but the prose to a readable measure */
.k-expect dd:not(.k-expect-wide) { padding-right: max(0px, calc(100% - 66ch)); }
.k-expect .k-hex { font-size: 13px; padding-inline: 12px; }

/* 6.2 the live comparison: published above live, group by group, glyph first */
.k-live { min-width: 0; background: var(--ep-panel); border: 1px solid var(--ep-rule); }
.no-js .k-live { display: none; }
.k-live-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px var(--ep-space-4); padding: 14px 18px; border-bottom: 1px solid var(--ep-rule); }
.k-live-title { color: var(--ep-text); }
.k-live-grid { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); min-height: 118px; }
.k-lg { display: grid; gap: 7px; align-content: start; min-width: 0; padding: 12px 12px 14px; border-left: 1px solid var(--ep-rule); font-family: var(--ep-font-mono); font-stretch: var(--ep-width-data); font-size: 12.5px; line-height: 1.3; font-variant-numeric: tabular-nums; }
.k-lg:first-child { border-left: 0; }
.k-lg-i { font-family: var(--ep-font-sans); font-stretch: var(--ep-width-label); font-weight: 650; font-size: 10.5px; letter-spacing: .14em; color: var(--ep-text-3); }
.k-lg-pub { color: var(--ep-text-2); }
.k-lg-live { color: var(--ep-text); }
.k-lg-mark { display: flex; align-items: center; min-height: 14px; }
.k-lg-mark .glyph { width: 10px; height: 10px; }
.k-lg[data-same="wait"] .k-lg-live, .k-lg[data-same="off"] .k-lg-live { color: var(--ep-text-3); }
.k-lg[data-same="wait"] .glyph { color: var(--ep-text-3); background: transparent; border-style: dotted; }
.k-lg[data-same="off"] .glyph { color: var(--ep-offline); background: transparent; }
.k-lg[data-same="yes"] .glyph { color: var(--ep-synced); }
.k-lg[data-same="no"] .glyph { color: var(--ep-refused); background: linear-gradient(135deg, transparent 42%, currentColor 42% 58%, transparent 58%); }
.k-lg[data-same="no"] .k-lg-live { color: var(--ep-refused); }
.k-live-legend { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--ep-space-2) var(--ep-space-5); padding: 10px 18px; border-top: 1px solid var(--ep-rule); }
.k-live-legend .data { max-width: none; display: flex; flex-wrap: wrap; gap: 2px var(--ep-space-5); }
.k-live-foot { display: flex; align-items: center; padding: 14px 18px; border-top: 1px solid var(--ep-rule); }
.k-live-verdict { min-height: 22px; display: flex; align-items: center; }
.k-live-verdict .st { font-size: 14px; }
.k-live-msg { display: grid; gap: var(--ep-space-3); padding: 0 18px 18px; }
.k-live-msg p { font-size: 14.5px; line-height: 1.55; color: var(--ep-text-2); max-width: 78ch; }
.k-live-msg .cmd { max-width: 560px; }
.k-live-print { display: none; }
.k-noscript { color: var(--ep-text-2); }
.k-noscript code { overflow-wrap: anywhere; }

/* ---------- narrower screens ---------- */
@media (max-width: 900px) {
  .k-title, .k-index { grid-column: 1 / -1; }
  .k-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .k-meta-cell:not(:nth-child(3n+1)) { border-left: 0; padding-left: 0; }
  .k-meta-cell:nth-child(even) { border-left: 1px solid var(--ep-rule); padding-left: 20px; }
  .k-statement > .lbl, .k-statement-text { grid-column: 1 / -1; }
  .k-statement > .lbl { padding-top: 0; }
  .k-art-rail { grid-column: 1 / -1; grid-template-columns: auto minmax(0, 1fr); column-gap: var(--ep-space-4); align-items: baseline; }
  .k-art-rail .k-art-h { max-width: none; }
  .k-art-note { grid-column: 1 / -1; max-width: 60ch; }
  .k-art-body { grid-column: 1 / -1; }
  .k-check-rail { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--ep-space-2) var(--ep-space-5); }
  .k-check-body { grid-column: 1 / -1; }
  .k-set-notes { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 760px) {
  .k-live-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .k-lg:nth-child(4n+1) { border-left: 0; }
  .k-lg:nth-child(-n+4) { border-bottom: 1px solid var(--ep-rule); }
}
@media (max-width: 620px) {
  .k-sheet-head { padding-block: 14px; }
  .k-sheet-lockup { height: 20px; }
  .k-sheet-kind { gap: var(--ep-space-2); }
  .k-meta { grid-template-columns: minmax(0, 1fr); }
  .k-meta-cell:nth-child(n) { border-left: 0; padding: 12px 0 13px; }
  .k-item-head .chip { grid-column: 2 / -1; justify-self: start; margin-top: var(--ep-space-2); }
  .k-value, .k-fp-wrap { flex-direction: column; align-items: stretch; }
  .k-value .copy, .k-fp-wrap .copy { align-self: flex-start; }
  .k-copies { grid-auto-flow: column; justify-content: start; }
  .k-hex { padding: 8px 12px; }
  .k-fp-g { width: 50%; }
  .k-facts, .k-never { grid-template-columns: minmax(0, 1fr); }
  .k-fact:nth-last-child(2) { border-bottom: 1px solid var(--ep-rule); }
  .k-fact:nth-child(even), .k-never-item:nth-child(even) { border-left: 0; padding-left: 0; }
  .k-fact, .k-never-item { padding-right: 0; }
  .k-set .k-set-g { width: 48%; }
  .k-set th, .k-set td { padding: 12px 10px 12px 10px; }
  .k-set-op { padding-left: 0; }
  .k-set .k-set-url { font-size: 12px; }
  .k-sheet-foot { grid-template-areas: "sign mark" "note note"; align-items: start; }
  .k-sign-mark { width: 36px; height: 36px; align-self: start; }
  .k-lg { padding: 10px 10px 12px; }
  /* commands are written to about 44 characters a line, which fits here at 11 px */
  pre.k-pre { font-size: 11px; padding: 14px 12px 16px; }
  .k-pre-script { font-size: 12px; }
}

/* ---------- print: the attestation on paper ---------- */
@media print {
  .k-top { padding-top: 0; }
  .page-keys .site-header, .k-close, .k-print, .k-live, .k-live-intro, .k-noscript { display: none !important; }
  .k-live-print { display: block; font-size: 10.5pt; line-height: 1.5; color: var(--ep-text-2); }
  .k-live-print code { overflow-wrap: anywhere; color: var(--ep-text); }
  .k-sheet { margin-top: 12px; border: 0; }
  .k-sheet-title { padding-top: 16px; }
  .k-index-list a { min-height: 0; padding-block: 4px; }
  .k-art-rail { position: static; }
  .k-item, .k-fact, .k-never-item, .k-check, .k-script, .k-meta, .k-index { break-inside: avoid; }
  .k-art-h, .k-check-h, .k-item-head { break-after: avoid; }
  .k-art { padding-block: 20px 24px; }
}
