/* ==========================================================================
   rill — the buybacks ledger (/buybacks → buybacks/index.html, js/ledger.js).
   loaded after styles.css (tokens, font, buttons, tags, circles, toast) and
   trail.css (the top bar, kicker, footer and ca button every rill page
   shares). every rule here is scoped to body.ledger or an .lg- class.
   ========================================================================== */

.lg { width: 100%; }
.lg-view {
  flex: 1 0 auto; width: 100%; max-width: var(--maxw); margin: 0 auto;
  padding: 0 var(--gutter) clamp(56px, 8vw, 104px);
}
.lg-link {
  color: var(--ink); border-bottom: 1px solid var(--ink); padding-bottom: 1px;
  transition: color .15s, border-color .15s;
}
.lg-link:hover { color: var(--accent); border-bottom-color: var(--accent); }
.lg-none { color: var(--ink-2); }

/* ---------- header ---------- */
.lg-head { padding: clamp(36px, 6vw, 72px) 0 clamp(30px, 4vw, 48px); }
.lg-title {
  margin-top: 14px;
  font-size: clamp(38px, 5.6vw, 72px); font-weight: 300; line-height: 1.02; letter-spacing: .01em;
}
.lg-lede {
  margin-top: 20px; max-width: 64ch;
  font-size: clamp(14px, 1.15vw, 16px); line-height: 1.7; letter-spacing: .02em; color: var(--ink);
  text-wrap: pretty;
}
.lg-sub { margin-top: 10px; max-width: 64ch; font-size: 12.5px; line-height: 1.7; letter-spacing: .03em; color: var(--ink-2); text-wrap: pretty; }
.lg-sub .lg-link { color: var(--ink-2); border-bottom-color: var(--ink-3); }
.lg-sub .lg-link:hover { color: var(--accent); border-bottom-color: var(--accent); }
.lg-noscript { margin-top: 16px; font-size: 13px; line-height: 1.6; }
.lg-noscript a { border-bottom: 1px solid var(--ink); }

/* ---------- totals ---------- */
.lg-totals { border-top: 1px solid var(--ink); }
/* a size container: its width sets how large the figures may be (--cell: the narrowest cell's content width) */
.lg-sums { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; container-type: inline-size; --cell: calc(25cqi - 48px); }
.lg-sum { min-width: 0; padding: 22px 24px 24px 0; }
.lg-sum + .lg-sum { padding-left: 24px; border-left: 1px solid var(--hair); }
.lg-sum dt { font-size: var(--t-xs); letter-spacing: .12em; text-transform: uppercase; color: var(--ink-2); }
/* base58 and tickers are case-sensitive: "$RILL" is written as it is, never re-cased.
   each label names its unit, so a figure stands alone — one line, never a unit wrapped under it */
.lg-sum dd {
  --n: clamp(28px, 3.3vw, 46px);
  display: flex; align-items: flex-end; margin: 14px 0 0; min-width: 0;
  min-height: calc(var(--n) * 1.05);   /* a long figure set smaller never moves what is below */
}
.lg-sum__n {
  font-size: var(--n); font-weight: 300; line-height: 1.05; letter-spacing: -0.01em;
  font-variant-numeric: tabular-nums; white-space: nowrap;
}
/* the four figures share one size (--len: the longest, in characters, set by js/ledger.js), small enough
   that it fits the narrowest cell: plex mono advances .6em a character (.64 leaves a margin) */
@supports (width: 1cqi) {
  .lg-sum__n { font-size: min(var(--n), var(--cell) / (.64 * var(--len, 6))); }
}
.lg-totals.is-empty .lg-sum__n, .lg-sum.is-none .lg-sum__n { color: var(--ink-2); }
/* curator rewards paid: a second row of totals in the same columns, only when the ledger has rewards */
.lg-sums--rewards { border-top: 1px solid var(--hair); }
.lg-sums--rewards[hidden] { display: none; }
.lg-totals__foot {
  display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 32px;
  padding: 12px 0 0; border-top: 1px solid var(--hair);
}
.lg-totals__note { font-size: 11.5px; line-height: 1.6; letter-spacing: .04em; color: var(--ink-2); max-width: 62ch; }
.lg-check {
  display: flex; align-items: flex-start; gap: 9px;
  font-size: 12px; line-height: 1.6; letter-spacing: .04em; color: var(--ink); font-variant-numeric: tabular-nums;
}
/* the dot sits on the first line, however many lines the words wrap to */
.lg-check__dot {
  width: 7px; height: 7px; flex: none; border-radius: 50%; margin-top: calc(.8em - 3.5px);
  background: var(--ink); border: 1px solid var(--ink);
}
.lg-check__part { white-space: nowrap; }
.lg-check.is-pending { color: var(--ink-2); }
.lg-check.is-pending .lg-check__dot { background: var(--paper); border-color: var(--accent); }
.lg-check.is-alert .lg-check__dot { background: var(--accent); border-color: var(--accent); }

/* ---------- treasury wallet ---------- */
.lg-treasury {
  display: grid; grid-template-columns: minmax(0, 220px) minmax(0, 1fr); gap: 10px 24px; align-items: baseline;
  margin-top: clamp(36px, 4.5vw, 56px); padding: 18px 0 20px;
  border-top: 1px solid var(--ink); border-bottom: 1px solid var(--hair);
}
.lg-treasury__label { font-size: var(--t-xs); letter-spacing: .12em; text-transform: uppercase; color: var(--ink-2); font-weight: 400; }
.lg-treasury__body { min-width: 0; display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 22px; }
.lg-treasury__addr { min-width: 0; }
.lg-addr { font-size: 14px; letter-spacing: .03em; color: var(--ink); word-break: break-all; font-variant-numeric: tabular-nums; }
.lg-treasury__actions { display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: 12.5px; letter-spacing: .06em; white-space: nowrap; }
.lg-treasury__actions .link-btn { border-bottom-color: var(--ink); }
/* a line of its own under the address (a max-width here would let it sit beside the actions): the measure comes from the padding */
.lg-treasury__note { flex-basis: 100%; font-size: 12px; line-height: 1.6; letter-spacing: .03em; color: var(--ink-2); padding-right: max(0px, calc(100% - 70ch)); }
.lg-treasury__note .lg-link { color: var(--ink-2); border-bottom-color: var(--ink-3); white-space: nowrap; }
.lg-treasury__note .lg-link:hover { color: var(--accent); border-bottom-color: var(--accent); }
/* what the scan covered: "scanned 214 transactions · 2 min ago" (or why it did not run) */
.lg-scan { flex-basis: 100%; font-size: 12px; line-height: 1.6; letter-spacing: .04em; color: var(--ink); font-variant-numeric: tabular-nums; }
.lg-scan[hidden] { display: none; }
.lg-scan .link-btn { font-size: inherit; }
.lg-scan.is-failed { color: var(--accent); }
.lg-scan.is-failed .lg-link { color: var(--ink); }
.lg-ago { white-space: nowrap; }

/* ---------- the entries ---------- */
.lg-entries { margin-top: clamp(48px, 6vw, 80px); min-width: 0; }
.lg-entries__head { padding-bottom: 6px; }
.lg-entries__meta { font-variant-numeric: tabular-nums; }
.lg-entries__head h2:focus { outline: none; }
.lg-entries__head h2:focus-visible { outline: 1px solid var(--accent); outline-offset: 4px; }
.lg-asof { padding-bottom: 14px; font-size: 12px; line-height: 1.6; letter-spacing: .04em; color: var(--ink-2); }
.lg-trunc { padding-bottom: 14px; font-size: 12px; line-height: 1.6; letter-spacing: .04em; color: var(--ink); }

.lg-loading, .lg-error {
  display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; padding: 28px 0;
  border-top: 1px solid var(--ink); border-bottom: 1px solid var(--hair);
  font-size: 12.5px; letter-spacing: .06em; color: var(--ink-2);
}
.lg-error { color: var(--ink); }
.lg-error .btn[aria-busy="true"] { opacity: .6; cursor: progress; }

.lg-empty {
  display: flex; flex-direction: column; align-items: center; gap: 14px; text-align: center;
  padding: clamp(40px, 6vw, 64px) 16px clamp(42px, 6vw, 66px);
  border-top: 1px solid var(--ink); border-bottom: 1px solid var(--hair);
}
.lg-empty .empty__mark { width: 11px; height: 11px; }
.lg-empty__line { max-width: 50ch; font-size: 13.5px; line-height: 1.7; letter-spacing: .03em; color: var(--ink-2); text-wrap: balance; }
.lg-empty__x { font-size: 12.5px; letter-spacing: .06em; }
.lg-empty__line .lg-ago { color: var(--ink-2); }
.lg-empty__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 22px; font-size: 12.5px; letter-spacing: .06em; }
.lg-empty__actions[hidden] { display: none; }
.lg-empty__actions .link-btn { font-size: inherit; }

.lg-raw { margin-top: 16px; font-size: 11.5px; line-height: 1.6; letter-spacing: .04em; color: var(--ink-2); }
.lg-raw .lg-link { color: var(--ink-2); border-bottom-color: var(--hair); }
.lg-raw .lg-link:hover { color: var(--ink); border-bottom-color: var(--ink); }

/* the table (desktop) */
.lg-table { width: 100%; border-collapse: collapse; font-size: 13px; letter-spacing: .03em; border-top: 1px solid var(--ink); }
.lg-table th {
  padding: 11px 12px 9px; border-bottom: 1px solid var(--hair); text-align: left; white-space: nowrap;
  font-weight: 400; font-size: var(--t-xs); letter-spacing: .12em; text-transform: uppercase; color: var(--ink-2);
}
.lg-table td { padding: 14px 12px; border-bottom: 1px solid var(--hair); vertical-align: baseline; }
.lg-table th:first-child, .lg-table td:first-child { padding-left: 0; }
.lg-table th:last-child, .lg-table td:last-child { padding-right: 0; }
.lg-c-date { white-space: nowrap; font-variant-numeric: tabular-nums; }
.lg-c-date time { color: var(--ink); }
.lg-c-type { white-space: nowrap; }
.lg-table .lg-c-num { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.lg-unit { color: var(--ink-2); font-size: 11.5px; }
.lg-c-note { min-width: 14ch; color: var(--ink); line-height: 1.55; }
.lg-note { overflow-wrap: anywhere; }
.lg-c-tx { white-space: nowrap; }
.lg-c-tx .lg-none { white-space: normal; }   /* "invalid signature" may take two lines when the table is tight */
/* the table: status and its date on one line (the note column takes what is left; ≤ 1099px: two lines, below) */
.lg-c-status { min-width: 12ch; line-height: 1.55; white-space: nowrap; }

.lg-type {
  display: inline-block; padding: 3px 7px 2px; border: 1px solid var(--hair);
  font-size: var(--t-xs); line-height: 1.3; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-2);
}
.lg-type--claim { color: var(--ink); border-color: var(--ink); }
.lg-type--buyback { color: var(--accent); border-color: var(--accent); }
.lg-type--reward { color: var(--ink); border-color: var(--ink); border-style: dashed; }

/* a curator reward: who was paid (→ their curator page) and the epoch, above the note */
.lg-to { display: block; font-variant-numeric: tabular-nums; }
.lg-to + .lg-note { display: block; margin-top: 2px; color: var(--ink-2); }
.lg-to__k { color: var(--ink-2); }
.lg-to__key { color: var(--ink); border-bottom: 1px solid var(--ink); padding-bottom: 1px; transition: color .15s, border-color .15s; white-space: nowrap; }
.lg-to__key:hover { color: var(--accent); border-bottom-color: var(--accent); }
.lg-to__epoch { color: var(--ink-2); white-space: nowrap; }
.lg-to__bad { color: var(--accent); }

/* an entry detected on-chain from the dev wallet (not typed in): a small tag in the note column */
.lg-auto {
  display: inline-block; padding: 2px 6px 1px; border: 1px dashed var(--ink-3); white-space: nowrap;
  font-size: var(--t-xs); line-height: 1.3; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-2);
}
.lg-auto + .lg-note--auto { display: block; margin-top: 4px; color: var(--ink-2); }

.lg-sig {
  font-variant-numeric: tabular-nums; border-bottom: 1px solid var(--ink); padding-bottom: 1px;
  transition: color .15s, border-color .15s;
}
.lg-sig:hover { color: var(--accent); border-bottom-color: var(--accent); }

.lg-st { white-space: nowrap; }
.lg-st__mark { display: inline-block; width: 1.1em; }
.lg-st__more { white-space: nowrap; color: var(--ink-2); font-variant-numeric: tabular-nums; }
.lg-st__sep { color: var(--ink-3); }
.lg-st--ok { color: var(--ink); }
.lg-st--failed { color: var(--accent); }
.lg-st--missing, .lg-st--none, .lg-st--error, .lg-st--checking { color: var(--ink-2); }
.lg-st--checking { display: inline-flex; align-items: center; gap: 8px; }
.lg-st__dot { width: 6px; height: 6px; border-radius: 50%; background: var(--accent); flex: none; }
@media (prefers-reduced-motion: no-preference) {
  .lg-st__dot { animation: lg-blink 1.1s ease-in-out infinite; }
  .lg-check.is-pending .lg-check__dot { animation: lg-blink 1.1s ease-in-out infinite; }
}
@keyframes lg-blink { 50% { opacity: .25; } }
.lg-retry { border-bottom-color: var(--ink); font-size: inherit; }
.lg-retry:hover { color: var(--accent); }

/* ---------- how to check ---------- */
.lg-how { margin-top: clamp(56px, 7vw, 96px); }
.lg-how .tp-route__head { padding-bottom: 14px; }
.lg-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--ink); border-bottom: 1px solid var(--hair); }
.lg-step { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 16px; align-items: start; padding: 20px 24px 24px 0; min-width: 0; }
.lg-step + .lg-step { padding-left: 24px; border-left: 1px solid var(--hair); }
.lg-step p { padding-top: 4px; font-size: 13px; line-height: 1.7; letter-spacing: .02em; color: var(--ink-2); max-width: 40ch; }
.lg-step strong { color: var(--ink); font-weight: 500; }

/* without javascript: the header, the noscript line and the raw file link */
html:not(.js) .lg-totals, html:not(.js) .lg-loading, html:not(.js) .lg-asof, html:not(.js) .lg-entries__meta { display: none; }

/* ---------- tablets: two totals a row ---------- */
@media (max-width: 1100px) {
  .lg-sums { grid-template-columns: repeat(2, minmax(0, 1fr)); --cell: calc(50cqi - 48px); }
  .lg-sum:nth-child(3) { padding-left: 0; border-left: 0; }
  .lg-sum:nth-child(n+3) { border-top: 1px solid var(--hair); }
  .lg-sums--rewards .lg-sum:nth-child(n+3) { border-top: 0; }
}

/* ---------- up to 1099px the status column is narrow: the date (or "retry") goes under the status,
   without the dot, and the note column keeps its room ---------- */
@media (max-width: 1099px) {
  .lg-c-status { white-space: normal; }
  .lg-st__more { display: block; }
  .lg-st__more .lg-st__sep { display: none; }
}

/* ---------- burned by utility (boosts, names): its totals and newest burns ---------- */
.lg-burned { margin-top: clamp(48px, 6vw, 80px); min-width: 0; }
.lg-burned[hidden] { display: none; }
.lg-burned__lede { padding-bottom: 14px; max-width: 78ch; font-size: 12px; line-height: 1.6; letter-spacing: .04em; color: var(--ink-2); }
/* its own totals (the ledger's .lg-sum rules, under their own names: the ledger's four stay the ledger's) */
.lg-bsums {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; container-type: inline-size; --cell: calc(25cqi - 48px);
  border-top: 1px solid var(--ink);
}
.lg-bsum { min-width: 0; padding: 22px 24px 24px 0; }
.lg-bsum + .lg-bsum { padding-left: 24px; border-left: 1px solid var(--hair); }
.lg-bsum dt { font-size: var(--t-xs); letter-spacing: .12em; text-transform: uppercase; color: var(--ink-2); }
.lg-bsum dd { --n: clamp(28px, 3.3vw, 46px); display: flex; align-items: flex-end; margin: 14px 0 0; min-width: 0; min-height: calc(var(--n) * 1.05); }
.lg-bsum__n { font-size: var(--n); font-weight: 300; line-height: 1.05; letter-spacing: -0.01em; font-variant-numeric: tabular-nums; white-space: nowrap; }
@supports (width: 1cqi) { .lg-bsum__n { font-size: min(var(--n), var(--cell) / (.64 * var(--len, 6))); } }
.lg-bsum:first-child .lg-bsum__n { color: var(--accent); }
.lg-bsum.is-none .lg-bsum__n { color: var(--ink-2); }
@media (max-width: 1100px) {
  .lg-bsums { grid-template-columns: repeat(2, minmax(0, 1fr)); --cell: calc(50cqi - 48px); }
  .lg-bsum:nth-child(3) { padding-left: 0; border-left: 0; }
  .lg-bsum:nth-child(n+3) { border-top: 1px solid var(--hair); }
}
@media (max-width: 720px) {
  .lg-bsums { --cell: calc(50cqi - 26px); }
  .lg-bsum { padding: 16px 12px 18px 0; }
  .lg-bsum + .lg-bsum { padding-left: 14px; }
  .lg-bsum:nth-child(3) { padding-left: 0; }
  .lg-bsum dd { margin-top: 10px; --n: clamp(22px, 6.4vw, 30px); }
}
.lg-burned__empty {
  padding: 22px 0; border-top: 1px solid var(--hair); border-bottom: 1px solid var(--hair);
  font-size: 12.5px; line-height: 1.6; letter-spacing: .04em; color: var(--ink-2);
}
.lg-burned__empty[hidden] { display: none; }
.lg-burns { width: 100%; border-collapse: collapse; font-size: 13px; letter-spacing: .03em; border-top: 1px solid var(--hair); }
.lg-burns[hidden] { display: none; }
.lg-burns th {
  padding: 11px 12px 9px; border-bottom: 1px solid var(--hair); text-align: left; white-space: nowrap;
  font-weight: 400; font-size: var(--t-xs); letter-spacing: .12em; text-transform: uppercase; color: var(--ink-2);
}
.lg-burns td { padding: 12px; border-bottom: 1px solid var(--hair); vertical-align: baseline; }
.lg-burns th:first-child, .lg-burns td:first-child { padding-left: 0; }
.lg-burns th:last-child, .lg-burns td:last-child { padding-right: 0; }
.lg-b-date { white-space: nowrap; font-variant-numeric: tabular-nums; }
.lg-b-for { min-width: 0; overflow-wrap: anywhere; }
.lg-b-kind { display: inline-block; margin-right: 8px; color: var(--accent); font-size: var(--t-xs); letter-spacing: .12em; text-transform: uppercase; }
.lg-b-for a, .lg-b-who a { border-bottom: 1px solid var(--hair); transition: color .15s, border-color .15s; }
.lg-b-for a:hover, .lg-b-who a:hover { color: var(--accent); border-bottom-color: currentColor; }
.lg-b-orphan { display: block; margin-top: 2px; font-size: 11.5px; color: var(--ink-2); }
.lg-b-who { white-space: nowrap; font-variant-numeric: tabular-nums; }
.lg-burns .lg-b-num { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.lg-b-tx { white-space: nowrap; }
@media (max-width: 899px) {
  .lg-burns, .lg-burns tbody, .lg-burns tr, .lg-burns td { display: block; }
  .lg-burns thead { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); border: 0; }
  .lg-burns tr {
    display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 16px; row-gap: 8px;
    grid-template-areas: "date num" "for for" "who tx"; padding: 14px 0 15px; border-bottom: 1px solid var(--hair);
  }
  .lg-burns td, .lg-burns td:first-child, .lg-burns td:last-child { padding: 0; border: 0; min-width: 0; }
  .lg-burns .lg-b-date { grid-area: date; color: var(--ink-2); font-size: 12px; }
  .lg-burns .lg-b-num { grid-area: num; }
  .lg-burns .lg-b-for { grid-area: for; }
  .lg-burns .lg-b-who { grid-area: who; font-size: 12px; }
  .lg-burns .lg-b-tx { grid-area: tx; text-align: right; font-size: 12px; }
  .lg-burns .lg-unit { display: inline; }
}

/* ---------- below 900px: every entry is a card ---------- */
@media (max-width: 899px) {
  .lg-table, .lg-table tbody, .lg-table tr, .lg-table td { display: block; }
  .lg-table thead {
    position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); border: 0;
  }
  .lg-table tr {
    display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 16px; row-gap: 10px;
    grid-template-areas: "date type" "sol rill" "note note" "tx status";
    padding: 16px 0 17px; border-bottom: 1px solid var(--hair);
  }
  .lg-table td, .lg-table td:first-child, .lg-table td:last-child { padding: 0; border: 0; min-width: 0; }
  .lg-table .lg-c-date { grid-area: date; }
  .lg-table .lg-c-type { grid-area: type; text-align: right; }
  .lg-table .lg-c-num { text-align: left; display: flex; align-items: baseline; gap: 8px; }
  .lg-table .lg-c-num:nth-child(3) { grid-area: sol; }
  .lg-table .lg-c-num:nth-child(4) { grid-area: rill; justify-content: flex-end; }
  .lg-table .lg-c-num::before {
    content: attr(data-label); font-size: var(--t-xs); letter-spacing: .12em; color: var(--ink-2);
  }
  .lg-table .lg-c-num:nth-child(3)::before { text-transform: uppercase; }
  .lg-table .lg-c-note { grid-area: note; }
  .lg-table .lg-row--reward .lg-c-note { display: block; }
  .lg-table .lg-c-note.is-empty { display: none; }
  .lg-table .lg-c-tx { grid-area: tx; align-self: baseline; }
  .lg-table .lg-c-status { grid-area: status; text-align: right; }
  .lg-unit { display: none; }
}

/* ---------- phones ---------- */
@media (max-width: 720px) {
  .lg-head { padding-top: 26px; padding-bottom: 26px; }
  .lg-lede { margin-top: 14px; font-size: 14px; }
  .lg-sums { --cell: calc(50cqi - 26px); }
  .lg-sum { padding: 16px 12px 18px 0; }
  .lg-sum + .lg-sum { padding-left: 14px; }
  .lg-sum:nth-child(3) { padding-left: 0; }
  .lg-sum dd { margin-top: 10px; }
  /* labels may wrap to two lines here: every label keeps two, so the figures of a row line up */
  .lg-sum dt { min-height: 3.2em; }
  .lg-sum dd { --n: clamp(22px, 6.4vw, 30px); }
  .lg-treasury { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .lg-addr { font-size: 12.5px; letter-spacing: .01em; }
  .lg-steps { grid-template-columns: minmax(0, 1fr); }
  .lg-step, .lg-step + .lg-step { padding: 18px 0 20px; border-left: 0; }
  .lg-step + .lg-step { border-top: 1px solid var(--hair); }
  .lg-entries__head { flex-wrap: wrap; row-gap: 4px; }
  .lg-entries__head .tp-route__rule { order: 3; flex-basis: 100%; }
  .lg-entries__meta { order: 2; margin-left: auto; }
}
@media (max-width: 389px) {
  .lg-table tr { column-gap: 10px; }
  .lg-table .lg-c-status { font-size: 12px; }
}

/* ---------- touch: 44px targets ---------- */
@media (pointer: coarse) {
  .lg-sig, .lg-link, .lg-retry, .lg-to__key { position: relative; }
  .lg-sig::after, .lg-link::after, .lg-retry::after, .lg-to__key::after {
    content: ""; position: absolute; left: -6px; right: -6px; top: 50%; height: 44px; transform: translateY(-50%);
  }
}
@media (hover: none) {
  .lg-sig:hover { color: inherit; border-bottom-color: var(--ink); }
  .lg-link:hover { color: var(--ink); border-bottom-color: var(--ink); }
}

@media print {
  .ledger .toast, .lg-retry { display: none !important; }
}
