/* Contrast corrections for the existing homepage and Story page.
   The type, layout, and brand palette continue to come from their own styles. */
.site-a11y {
  --mut: #66665f;
}

.site-a11y .quiet,
.site-a11y .mwhen,
.site-a11y .mcap,
.site-a11y .msub,
.site-a11y .note,
.site-a11y #problem .pve-cap {
  color: #66665f;
}

/* Keep the carousel's active line distinct without washing out its neighbors. */
.site-a11y .witem,
.site-a11y .witem span {
  color: #66665f;
}

.site-a11y .witem.act,
.site-a11y .witem.act span {
  color: var(--ink);
}

/* A transparent mask can erase otherwise accessible text. Retain the edge
   gradient with an opacity floor: inactive text stays above 5:1 on white. */
.site-a11y .whoright {
  -webkit-mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.94) 0, #000 26%, #000 74%, rgba(0, 0, 0, 0.94) 100%);
  mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.94) 0, #000 26%, #000 74%, rgba(0, 0, 0, 0.94) 100%);
}

.site-a11y .litem:not([data-on="true"]) .lhead,
.site-a11y .litem:not([data-on="true"]) .ln {
  color: #66665f;
}

/* Switch the numeral's foreground and background together. Interpolating from
   gray-on-white to white-on-olive briefly makes the numeral disappear. */
.site-a11y .litem .ln {
  transition: none;
}

.site-a11y .wl-in::placeholder {
  color: #66665f;
  opacity: 1;
}

.site-a11y .wl-msg:not(.err) {
  color: #66665f;
}

/* Intrinsic attributes reserve the badge ratio without overriding its existing
   displayed height through the shared img[width] rule. */
.site-a11y footer .nvb {
  width: auto;
  height: 44px;
}
