/* Scan report (#850). See scan-tokens.css for how this is namespaced. */
/* --- from scan-redesign.css --- */
.scanpage .rpt-strip {
  border-bottom: 1px solid var(--line);
  background: var(--bg-soft);
  font-size: 12.5px;
}
.scanpage .rpt-strip-in {
  width: min(1160px, 100% - 48px);
  margin: 0 auto;
  height: 46px;
  display: flex;
  align-items: center;
  gap: 26px;
  color: var(--muted);
}
.scanpage .rpt-strip b {
  color: var(--body);
  font-weight: 700;
}
.scanpage .rpt-strip .sp {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 16px;
}
.scanpage .rpt-strip a {
  font-weight: 700;
}
.scanpage .crumb {
  font-size: 13px;
  color: var(--muted);
  display: flex;
  align-items: center;
  gap: 8px;
}
.scanpage .crumb a {
  color: var(--muted);
  font-weight: 600;
}
.scanpage .verify {
  border: 1px solid var(--hair);
  border-radius: 14px;
  background: var(--bg-soft);
  padding: 26px 28px;
}
.scanpage .verify h3 {
  font-size: 18px;
  font-weight: 800;
  margin: 0;
  letter-spacing: -0.3px;
}
.scanpage .verify p {
  font-size: 14.5px;
  color: var(--body);
  margin: 6px 0 16px;
}
.scanpage .verify-code {
  background: #fff;
  border: 1px solid var(--hair);
  border-radius: 10px;
  padding: 16px 18px;
  font-family: var(--mono);
  font-size: 13px;
  line-height: 1.65;
  color: var(--ink);
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 14px;
}
.scanpage .verify-code > span {
  align-self: stretch;
}
.scanpage .verify-code button {
  flex: none;
}
.scanpage .share {
  border: 1px solid var(--hair);
  border-radius: 16px;
  padding: 32px;
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: 40px;
  align-items: center;
}
.scanpage .share h3 {
  font-size: 24px;
  font-weight: 800;
  letter-spacing: -0.6px;
  margin: 0;
}
.scanpage .share p {
  font-size: 15px;
  color: var(--body);
  margin: 9px 0 20px;
  max-width: 420px;
}
.scanpage .share-btns {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.scanpage .share-embed {
  margin-top: 20px;
}
.scanpage .share-embed .mlab {
  display: block;
  margin-bottom: 7px;
}
.scanpage .share-embed code {
  display: block;
  font-family: var(--mono);
  font-size: 11.5px;
  color: var(--body);
  background: var(--bg-soft);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 11px 13px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.scanpage .ogcard {
  width: 420px;
  height: 220px;
  border-radius: 12px;
  border: 1px solid var(--hair);
  background: #fff;
  box-shadow: 0 22px 44px -22px rgba(30, 41, 59, 0.3);
  padding: 26px 28px;
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
}
.scanpage .ogcard::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(320px 200px at 108% -20%, var(--indigo-soft), transparent 70%);
  pointer-events: none;
}
.scanpage .ogcard .oc-top {
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: -0.2px;
}
.scanpage .ogcard .oc-top svg {
  width: 20px;
  height: 20px;
}
.scanpage .ogcard .oc-dom {
  font-size: 19px;
  font-weight: 800;
  letter-spacing: -0.5px;
  margin-top: auto;
}
.scanpage .ogcard .oc-row {
  display: flex;
  align-items: flex-end;
  gap: 14px;
  margin-top: 2px;
}
.scanpage .ogcard .oc-score {
  font-family: var(--mono);
  font-size: 56px;
  font-weight: 700;
  letter-spacing: -3px;
  line-height: 1;
  color: var(--bad);
}
.scanpage .ogcard .oc-den {
  font-family: var(--mono);
  font-size: 15px;
  color: var(--muted);
  padding-bottom: 9px;
}
.scanpage .ogcard .oc-band {
  margin-left: auto;
  margin-bottom: 9px;
}
.scanpage .ogcard .oc-bar {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 4px;
  margin-top: 16px;
}
.scanpage .ogcard .oc-bar i {
  height: 5px;
  border-radius: 2px;
  background: #e9ecf3;
}
.scanpage .ogcard .oc-bar i.on {
  background: var(--good);
}
.scanpage .fixband {
  background: var(--bg-soft);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  padding: 56px 0;
}
.scanpage .fixband-in {
  width: min(1160px, 100% - 48px);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 440px;
  gap: 64px;
  align-items: center;
}
.scanpage .fixband h2 {
  font-size: 34px;
  font-weight: 800;
  letter-spacing: -1.1px;
  line-height: 1.15;
  margin: 14px 0 0;
}
.scanpage .fixband p {
  font-size: 16px;
  color: var(--body);
  margin: 14px 0 26px;
  max-width: 520px;
}
.scanpage .fixlist {
  background: #fff;
  border: 1px solid var(--hair);
  border-radius: 14px;
  overflow: hidden;
}
.scanpage .fixlist-h {
  padding: 14px 20px;
  border-bottom: 1px solid var(--line);
  background: #fcfcfe;
}
.scanpage .fixrow {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 15px 20px;
  border-bottom: 1px solid var(--line-soft);
  font-size: 14.5px;
}
.scanpage .fixrow:last-child {
  border-bottom: none;
}
.scanpage .fixrow .fx-n {
  font-family: var(--mono);
  font-size: 12px;
  color: var(--muted);
  width: 16px;
  flex: none;
}
.scanpage .fixrow .fx-t {
  font-weight: 600;
  color: var(--ink);
}
.scanpage .fixrow .fx-p {
  margin-left: auto;
  font-family: var(--mono);
  font-size: 13.5px;
  font-weight: 700;
  color: var(--indigo-2);
}
.scanpage .sa-hero {
  padding: 52px 0 56px;
  border-bottom: 1px solid var(--line);
}
.scanpage .sa-hero-in {
  width: min(1160px, 100% - 48px);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 300px 1fr;
  gap: 64px;
  align-items: start;
}
.scanpage .sa-gaugecol {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.scanpage .sa-verdict h1 {
  font-size: 44px;
  font-weight: 800;
  letter-spacing: -1.6px;
  line-height: 1.1;
  margin: 14px 0 0;
}
/* Colour set per-render from the verdict. The handoff hardcoded this to
   `--bad` because it only ever mocked a failing store; the word is
   data-driven, so its colour has to be too. Follows the VERDICT and not the
   band — a well-described catalog can still be blocked, and "invisible" must
   never render green. */
.scanpage .sa-verdict h1 em {
  font-style: normal;
  color: var(--vcol, var(--bad));
}
/* `--tiles` is set inline by the hero stat strip, which renders a variable
   number of discovery files (robots.txt, llms.txt, sitemap) alongside the
   fixed counts. The `minmax(0, 290px)` cap keeps a 2-tile strip from stretching
   each tile across half the page. */
.scanpage .sa-ev {
  display: grid;
  /* Spans the hero grid (gauge column + verdict column) rather than sitting
     inside the verdict column — the strip describes the whole scan. `1fr`
     tracks rather than a 290px max so the tiles reach the full width instead
     of stopping short once there are six of them. */
  grid-column: 1 / -1;
  grid-template-columns: repeat(var(--tiles, 4), minmax(0, 1fr));
  border-top: 1px solid var(--line);
  margin-top: 32px;
}
.scanpage .sa-ev div {
  padding: 18px 20px 0;
  border-right: 1px solid var(--line);
}
.scanpage .sa-ev div:last-child {
  border-right: none;
}
.scanpage .sa-ev div:first-child {
  padding-left: 0;
}
.scanpage .sa-ev .v {
  font-family: var(--mono);
  font-size: 26px;
  font-weight: 700;
  letter-spacing: -1px;
  display: block;
  line-height: 1.1;
}
/* A word is not a numeral. 26px is sized for "114"; "Declared" at that size
   crowds its divider once the strip carries six tiles, and the numerals are
   the data — they should stay the biggest thing in the row. */
.scanpage .sa-ev .v.word {
  font-size: 19px;
  letter-spacing: -0.4px;
}
.scanpage .sa-ev .v.miss {
  color: var(--bad);
  font-size: 19px;
  letter-spacing: -0.4px;
}
.scanpage .sa-ev .k {
  font-size: 12.5px;
  color: var(--muted);
  font-weight: 600;
  display: block;
  margin-top: 5px;
}
.scanpage .sa-ledger {
  padding: 60px 0;
}
.scanpage .sa-lh {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 28px;
}
.scanpage .sa-tot {
  text-align: right;
  flex: none;
}
.scanpage .sa-tot .v {
  font-family: var(--mono);
  font-size: 30px;
  font-weight: 700;
  letter-spacing: -1.2px;
  display: block;
  line-height: 1;
}
.scanpage .sa-tbl {
  width: 100%;
  border-collapse: collapse;
  font-size: 15px;
}
.scanpage .sa-tbl thead th {
  text-align: left;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.3px;
  text-transform: uppercase;
  color: var(--muted);
  padding: 0 16px 11px 0;
  border-bottom: 1.5px solid var(--ink);
}
.scanpage .sa-tbl thead th.r {
  text-align: right;
  padding-right: 0;
}
.scanpage .sa-tbl tbody td {
  padding: 19px 16px 19px 0;
  border-bottom: 1px solid var(--line);
  vertical-align: middle;
}
.scanpage .sa-tbl tbody td:last-child {
  padding-right: 0;
}
.scanpage .sa-tbl tbody tr:hover {
  background: #fcfcfe;
}
.scanpage .sa-cat {
  font-size: 16.5px;
  font-weight: 700;
  letter-spacing: -0.3px;
  display: block;
}
.scanpage .sa-cat-d {
  font-size: 13.5px;
  color: var(--muted);
  display: block;
  margin-top: 3px;
  max-width: 420px;
  line-height: 1.5;
}
.scanpage .sa-pts {
  font-family: var(--mono);
  font-size: 16px;
  font-weight: 700;
  white-space: nowrap;
}
.scanpage .sa-pts .of {
  color: var(--muted);
  font-weight: 500;
  font-size: 13px;
}
.scanpage .sa-bar {
  width: 160px;
  height: 8px;
  border-radius: 3px;
  background: #e9ecf3;
  overflow: hidden;
}
.scanpage .sa-bar i {
  display: block;
  height: 100%;
  border-radius: 3px;
  background: var(--good);
}
.scanpage .sa-bar i.z {
  background: var(--bad);
  min-width: 3px;
}
.scanpage .sa-tbl tfoot td {
  padding: 20px 16px 0 0;
  font-weight: 800;
  font-size: 16px;
  border-top: 1.5px solid var(--ink);
}
.scanpage .sa-tbl tfoot td:last-child {
  padding-right: 0;
}
.scanpage .sa-lost {
  font-family: var(--mono);
  font-size: 13.5px;
  font-weight: 700;
  color: var(--bad);
}
.scanpage .sa-lost.zero {
  color: var(--good);
}
.scanpage .sa-twoup {
  padding: 0 0 60px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
}
.scanpage .sa-card {
  border: 1px solid var(--hair);
  border-radius: 14px;
  overflow: hidden;
}
.scanpage .sa-card-h {
  padding: 18px 22px;
  border-bottom: 1px solid var(--line);
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #fcfcfe;
}
.scanpage .sa-card-h h3 {
  font-size: 17px;
  font-weight: 800;
  letter-spacing: -0.3px;
  margin: 0;
}
.scanpage .sa-crawl {
  display: flex;
  flex-direction: column;
}
.scanpage .sa-crawl .cr {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 13px 22px;
  border-bottom: 1px solid var(--line-soft);
  font-size: 14.5px;
}
.scanpage .sa-crawl .cr:last-child {
  border-bottom: none;
}
.scanpage .sa-crawl .cr .ua {
  font-family: var(--mono);
  font-weight: 600;
  color: var(--ink);
}
.scanpage .sa-crawl .cr .st {
  margin-left: auto;
}
.scanpage .sa-pgs {
  display: flex;
  flex-direction: column;
}
.scanpage .sa-pg {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 13px 22px;
  border-bottom: 1px solid var(--line-soft);
  font-size: 13.5px;
}
.scanpage .sa-pg:last-child {
  border-bottom: none;
}
.scanpage .sa-pg .u {
  font-family: var(--mono);
  color: var(--body);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
}
.scanpage .sa-pg .s {
  font-family: var(--mono);
  font-weight: 700;
  color: var(--bad);
  flex: none;
}
.scanpage .sa-verify-wrap {
  padding: 0 0 60px;
}
.scanpage .sa-share-wrap {
  padding: 60px 0;
}
.scanpage .sb-gauge .lab .d {
  font-size: 12.5px;
  color: var(--muted);
  margin-top: 3px;
}
.scanpage .sb-track-bar i.now {
  background: var(--bad);
  width: 21%;
}
.scanpage .sb-stats .v {
  font-family: var(--mono);
  font-size: 21px;
  font-weight: 700;
  letter-spacing: -0.8px;
  display: block;
}
.scanpage .sb-stats .v.miss {
  color: var(--bad);
}
.scanpage .sb-stats .k {
  font-size: 12px;
  color: var(--muted);
  font-weight: 600;
  margin-top: 3px;
  display: block;
}
.scanpage .sb-cat.done {
  background: var(--good-soft);
  border-color: #c6e5d8;
}
.scanpage .sb-cat-h .pt {
  margin-left: auto;
  text-align: right;
  flex: none;
}
.scanpage .sb-cat-h .pt .v {
  font-family: var(--mono);
  font-size: 22px;
  font-weight: 700;
  letter-spacing: -0.8px;
  display: block;
  line-height: 1;
}
.scanpage .sb-cat-h .pt .k {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  color: var(--muted);
  margin-top: 4px;
  display: block;
}
.scanpage .sb-mini .t {
  fill: none;
  stroke: #e3e7f0;
  stroke-width: 6;
}
.scanpage .sb-mini .v {
  fill: none;
  stroke-width: 6;
  stroke-linecap: round;
  stroke-dasharray: 138.2;
  stroke-dashoffset: calc(138.2 - 138.2 * var(--p, 0) / 100);
}
.scanpage .sb-mini .n {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--mono);
  font-size: 13px;
  font-weight: 700;
}
/* --- from scan-v2.css --- */
.scanpage .sa-logo {
  height: 64px;
  max-width: 280px;
  display: flex;
  align-items: center;
  margin-bottom: 22px;
}
.scanpage .sa-logo img {
  max-height: 64px;
  max-width: 280px;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}
.scanpage .sa-logo .mono-fb {
  width: 64px;
  height: 64px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  font-weight: 800;
  letter-spacing: -1px;
  background: var(--indigo-soft);
  color: var(--indigo-2);
  flex: none;
}
.scanpage .spark {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.scanpage .spark svg {
  display: block;
}
.scanpage .delta {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 700;
}
.scanpage .delta.up {
  color: var(--good);
}
.scanpage .delta.dn {
  color: var(--bad);
}
.scanpage .delta.flat {
  color: var(--muted);
}
.scanpage .narr {
  margin-top: 24px;
  padding-left: 18px;
  border-left: 3px solid var(--indigo-1);
  max-width: 660px;
}
.scanpage .narr .mlab {
  display: block;
  margin-bottom: 9px;
}
.scanpage .narr p {
  font-size: 17.5px;
  color: var(--body);
  margin: 0;
  line-height: 1.62;
  text-wrap: pretty;
}
.scanpage .narr p b {
  color: var(--ink);
  font-weight: 700;
}
.scanpage .sa-tbl tbody tr.cat {
  cursor: pointer;
}
.scanpage .sa-tbl tbody tr.cat.open {
  background: #fbfbfe;
}
.scanpage .sa-tbl tbody tr.cat.open td {
  border-bottom-color: transparent;
}
.scanpage .sa-chev {
  font-size: 15px;
  color: var(--muted);
  display: inline-block;
  transition: transform 0.18s ease;
}
.scanpage tr.cat.open .sa-chev {
  transform: rotate(90deg);
  color: var(--indigo-2);
}
.scanpage .sa-tbl tbody tr.exp > td {
  padding: 0 0 22px;
  border-bottom: 1px solid var(--line);
}
.scanpage .exp-panel {
  background: var(--bg-soft);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 24px 26px;
  display: grid;
  grid-template-columns: 340px 1fr;
  gap: 34px;
}
.scanpage .exp-what .mlab {
  display: block;
  margin-bottom: 8px;
}
.scanpage .exp-what p {
  font-size: 14.5px;
  color: var(--body);
  margin: 0;
  line-height: 1.6;
}
.scanpage .exp-fixes .mlab {
  display: block;
  margin-bottom: 10px;
}
.scanpage .fixitem {
  background: #fff;
  border: 1px solid var(--hair);
  border-radius: 10px;
  padding: 14px 16px;
  display: flex;
  gap: 14px;
  align-items: flex-start;
}
.scanpage .fixitem + .fixitem {
  margin-top: 9px;
}
.scanpage .fixitem .pts {
  font-family: var(--mono);
  font-size: 13px;
  font-weight: 700;
  color: var(--indigo-2);
  background: var(--indigo-soft);
  border-radius: 6px;
  padding: 4px 9px;
  flex: none;
}
.scanpage .fixitem .t {
  font-size: 14.5px;
  font-weight: 700;
  letter-spacing: -0.2px;
  display: block;
}
.scanpage .fixitem .ev {
  font-size: 13px;
  color: var(--muted);
  display: block;
  margin-top: 4px;
  line-height: 1.5;
}
.scanpage .also {
  padding: 0 0 60px;
}
.scanpage .also-card {
  border: 1px solid var(--hair);
  border-radius: 14px;
  overflow: hidden;
}
.scanpage .also-h {
  padding: 16px 22px;
  border-bottom: 1px solid var(--line);
  background: #fcfcfe;
  display: flex;
  align-items: center;
  gap: 12px;
}
.scanpage .also-h h3 {
  font-size: 16.5px;
  font-weight: 800;
  letter-spacing: -0.3px;
  margin: 0;
}
.scanpage .also-row {
  padding: 16px 22px;
  border-bottom: 1px solid var(--line-soft);
  display: flex;
  gap: 16px;
  align-items: flex-start;
}
.scanpage .also-row:last-child {
  border-bottom: none;
}
.scanpage .also-row .t {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: -0.2px;
  display: block;
}
.scanpage .also-row .ev {
  font-size: 13.5px;
  color: var(--muted);
  display: block;
  margin-top: 3px;
  line-height: 1.5;
}
.scanpage .also-row .side {
  margin-left: auto;
  flex: none;
}
.scanpage .hist {
  padding: 0 0 60px;
}
.scanpage .hist-top {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 24px;
}
.scanpage .hist-card {
  border: 1px solid var(--hair);
  border-radius: 14px;
  overflow: hidden;
}
.scanpage .hist-row {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 15px 22px;
  border-bottom: 1px solid var(--line-soft);
}
.scanpage .hist-row:last-child {
  border-bottom: none;
}
.scanpage .hist-row.now {
  background: #fcfcfe;
}
.scanpage .hist-row .d {
  font-family: var(--mono);
  font-size: 13.5px;
  color: var(--body);
  width: 120px;
  flex: none;
}
.scanpage .hist-row .s {
  font-family: var(--mono);
  font-size: 19px;
  font-weight: 700;
  letter-spacing: -0.7px;
  width: 44px;
  flex: none;
}
.scanpage .hist-row .mb {
  width: 150px;
  height: 7px;
  border-radius: 3px;
  background: #e9ecf3;
  overflow: hidden;
  flex: none;
}
.scanpage .hist-row .mb i {
  display: block;
  height: 100%;
  border-radius: 3px;
}
.scanpage .hist-row .dl {
  margin-left: auto;
  flex: none;
}
.scanpage .statusband {
  border-bottom: 1px solid var(--line);
  padding: 11px 0;
  font-size: 13.5px;
}
.scanpage .statusband.info {
  background: var(--indigo-soft);
  color: var(--indigo-2);
}
.scanpage .statusband.warn {
  background: var(--warn-soft);
  color: var(--warn);
}
.scanpage .statusband.bad {
  background: var(--bad-soft);
  color: var(--bad);
}
.scanpage .statusband-in {
  width: min(1160px, 100% - 48px);
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 11px;
  font-weight: 600;
}
.scanpage .spin {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: 2px solid currentColor;
  border-top-color: transparent;
  animation: spin 0.8s linear infinite;
  flex: none;
}
.scanpage .copied {
  font-size: 13px;
  font-weight: 700;
  color: var(--good);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 10px;
}
@media (max-width: 760px) {
  .scanpage .wrap,
  .scanpage .nav-in,
  .scanpage .rpt-strip-in,
  .scanpage .statusband-in,
  .scanpage .ft-in,
  .scanpage .ft-note,
  .scanpage .fixband-in,
  .scanpage .sa-hero-in {
    width: auto;
    padding-left: 20px;
    padding-right: 20px;
  }
  .scanpage .nav-in {
    height: 60px;
    gap: 14px;
  }
  .scanpage .nav-links {
    gap: 16px;
    font-size: 13.5px;
  }
  .scanpage .nav-links a:not(.btn) {
    display: none;
  }
  .scanpage .btn-sm {
    min-height: 44px;
  }
  .scanpage .rpt-strip a,
  .scanpage .sa-card-h a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }
  .scanpage .rpt-strip-in {
    height: auto;
    padding-top: 11px;
    padding-bottom: 11px;
    flex-wrap: wrap;
    gap: 8px 16px;
    font-size: 12px;
  }
  .scanpage .rpt-strip .sp {
    margin-left: 0;
    width: 100%;
    justify-content: space-between;
  }
  .scanpage .sa-hero {
    padding: 28px 0 32px;
  }
  .scanpage .sa-hero-in {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .scanpage .sa-gaugecol {
    align-items: center;
  }
  .scanpage .sa-gaugecol .gauge {
    width: 200px !important;
    height: 200px !important;
    align-self: center;
  }
  .scanpage .sa-gaugecol .gauge svg {
    width: 200px;
    height: 200px;
  }
  .scanpage .sa-gaugecol .g-num {
    font-size: 46px;
    letter-spacing: -2px;
  }
  .scanpage .sa-logo {
    height: 44px;
    margin-bottom: 16px;
  }
  .scanpage .sa-logo img {
    max-height: 44px;
  }
  .scanpage .sa-logo .mono-fb {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    font-size: 20px;
  }
  .scanpage .sa-verdict h1 {
    font-size: 29px;
    letter-spacing: -1px;
  }
  .scanpage .narr {
    margin-top: 18px;
    padding-left: 14px;
  }
  .scanpage .narr p {
    font-size: 15.5px;
  }
  .scanpage .sa-ev {
    grid-template-columns: 1fr 1fr;
    margin-top: 24px;
  }
  .scanpage .sa-ev div {
    padding: 14px 0 14px 16px;
    border-right: none;
    border-bottom: 1px solid var(--line);
  }
  .scanpage .sa-ev div:nth-child(odd) {
    padding-left: 0;
    border-right: 1px solid var(--line);
  }
  .scanpage .sa-ev .v {
    font-size: 22px;
  }
  .scanpage .sec-h {
    font-size: 23px;
    letter-spacing: -0.7px;
  }
  .scanpage .sa-ledger,
  .scanpage .also,
  .scanpage .hist {
    padding-top: 38px;
    padding-bottom: 38px;
  }
  .scanpage .sa-lh {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }
  .scanpage .sa-tbl,
  .scanpage .sa-tbl tbody,
  .scanpage .sa-tbl tfoot,
  .scanpage .sa-tbl tr,
  .scanpage .sa-tbl td {
    display: block;
    width: auto;
  }
  .scanpage .sa-tbl thead {
    display: none;
  }
  .scanpage .sa-tbl tbody tr.cat {
    border: 1px solid var(--hair);
    border-radius: 12px;
    padding: 15px 16px;
    margin-bottom: 10px;
    position: relative;
  }
  .scanpage .sa-tbl tbody tr.cat td {
    padding: 0;
    border: none;
  }
  .scanpage .sa-tbl tbody tr.cat td[data-l] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 11px;
  }
  .scanpage .sa-tbl tbody tr.cat td[data-l]::before {
    content: attr(data-l);
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 1.1px;
    text-transform: uppercase;
    color: var(--muted);
    width: 74px;
    flex: none;
  }
  .scanpage .sa-cat-d {
    max-width: none;
  }
  .scanpage .sa-bar {
    width: 100%;
  }
  .scanpage .sa-tbl tbody tr.cat td.chev {
    position: absolute;
    top: 15px;
    right: 16px;
    margin: 0;
  }
  .scanpage .sa-tbl tbody tr.cat td.chev::before {
    display: none;
  }
  .scanpage .sa-tbl tbody tr.exp > td {
    padding: 0 0 12px;
  }
  .scanpage .exp-panel {
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 18px;
  }
  .scanpage .sa-tbl tfoot tr {
    border-top: 1.5px solid var(--ink);
    padding-top: 14px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
    align-items: center;
  }
  .scanpage .sa-tbl tfoot td {
    padding: 0;
    border: none;
  }
  .scanpage .sa-twoup {
    grid-template-columns: 1fr;
    gap: 22px;
    padding-bottom: 38px;
  }
  .scanpage .hist-row {
    gap: 12px;
    padding: 13px 16px;
  }
  .scanpage .hist-row .d {
    width: auto;
    font-size: 12.5px;
  }
  .scanpage .hist-row .mb {
    display: none;
  }
  .scanpage .fixband {
    padding: 38px 0;
  }
  .scanpage .fixband-in {
    grid-template-columns: 1fr;
    gap: 26px;
  }
  .scanpage .fixband h2 {
    font-size: 25px;
    letter-spacing: -0.8px;
  }
  .scanpage .share {
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 22px;
  }
  .scanpage .ogcard {
    width: 100% !important;
    height: auto;
    min-height: 190px;
  }
  .scanpage .share-btns .btn {
    flex: 1;
    justify-content: center;
  }
  .scanpage .meth-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .scanpage .ft-in {
    flex-direction: column;
    gap: 26px;
  }
}

/* "We haven't scanned this yet" — the same shell as a real report, so it is
   styled from this sheet. It previously used .report-* classes from report.css,
   which this shell stopped loading when the redesign shipped. */
.scanpage .ns {
  padding: 64px 0 72px;
}
.scanpage .ns h1 {
  margin: 12px 0 0;
  max-width: 18ch;
}
.scanpage .ns .sec-sub {
  max-width: 620px;
  margin-top: 14px;
}
.scanpage .ns-status {
  font-size: 14px;
  color: var(--muted);
  margin: 20px 0 24px;
  min-height: 20px;
}
