:root {
  --diag-navy: #102d6c;
  --diag-navy-deep: #0a1f4e;
  --diag-lime: #dcf465;
  --diag-ink: #17213b;
  --diag-muted: #667085;
  --diag-line: #e4e9f2;
  --diag-soft: #f5f7fb;
  --diag-cream: #fbfaf5;
  --diag-white: #ffffff;
  --diag-success: #087a55;
  --diag-warning: #b45309;
  --diag-danger: #b42318;
  --diag-radius-lg: 24px;
  --diag-radius-md: 16px;
  --diag-shadow: 0 18px 48px rgba(16, 45, 108, 0.09);
}

.ppl-diag {
  color: var(--diag-ink);
  padding-top: 34px;
  padding-bottom: 72px;
}

.ppl-diag *,
.ppl-diag *::before,
.ppl-diag *::after { box-sizing: border-box; }

.ppl-diag a { text-decoration: none; }

.ppl-diagBtn {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 0 18px;
  border: 1px solid var(--diag-navy);
  border-radius: 12px;
  background: var(--diag-navy);
  color: #fff;
  font: inherit;
  font-weight: 750;
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}

.ppl-diagBtn:hover { color: #fff; transform: translateY(-1px); box-shadow: 0 9px 22px rgba(16, 45, 108, .17); }
.ppl-diagBtn--lime { background: var(--diag-lime); border-color: var(--diag-lime); color: var(--diag-navy-deep); }
.ppl-diagBtn--lime:hover { color: var(--diag-navy-deep); }

.ppl-diag--landing {
  padding-top: 0;
  padding-bottom: 46px;
}

.ppl-diagHero {
  width: 100%;
  background: var(--diag-navy);
  color: #fff;
}

.ppl-diagHero__inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  min-height: 340px;
  padding-top: clamp(42px, 6vw, 76px);
  padding-bottom: clamp(42px, 6vw, 76px);
}

.ppl-diagHero__copy {
  max-width: 860px;
}

.ppl-diagHero__eyebrow {
  color: var(--diag-lime);
}

.ppl-diagHero h1 {
  max-width: 820px;
  margin: 14px 0 15px;
  color: #fff;
  font-size: clamp(2.5rem, 5.8vw, 5rem);
  line-height: .98;
  letter-spacing: -.055em;
}

.ppl-diagHero__copy > p {
  max-width: 760px;
  margin: 0;
  color: rgba(255, 255, 255, .82);
  font-size: clamp(1rem, 1.8vw, 1.2rem);
  line-height: 1.6;
}

.ppl-diagHero__benefits {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 20px;
  margin-top: 23px;
}

.ppl-diagHero__benefits span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: rgba(255, 255, 255, .92);
  font-size: .86rem;
  font-weight: 750;
}

.ppl-diagHero__benefits i {
  color: var(--diag-lime);
  font-size: .75rem;
}

.ppl-diagStart {
  padding-top: 30px;
}

.ppl-diagStart__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 15px;
}

.ppl-diagStart__head > div {
  min-width: 0;
}

.ppl-diagStart__head span {
  display: block;
  margin-bottom: 4px;
  color: var(--diag-navy);
  font-size: .75rem;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.ppl-diagStart__head h2 {
  margin: 0;
  color: var(--diag-navy-deep);
  font-size: clamp(1.45rem, 2.8vw, 2rem);
  letter-spacing: -.035em;
}

.ppl-diagStart__head p {
  max-width: 460px;
  margin: 0;
  color: var(--diag-muted);
  font-size: .88rem;
  line-height: 1.5;
  text-align: right;
}

.ppl-diagTestOne__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.ppl-diagTestCard {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 34px;
  gap: 13px;
  align-items: center;
  min-height: 76px;
  padding: 13px 14px;
  border: 1px solid var(--diag-line);
  border-radius: 14px;
  background: var(--diag-white);
  color: var(--diag-ink);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.ppl-diagTestCard:hover {
  border-color: var(--diag-navy);
  color: var(--diag-ink);
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(16, 45, 108, .1);
}

.ppl-diagTestCard__icon {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 11px;
  background: var(--diag-soft);
  color: var(--diag-navy);
}

.ppl-diagTestCard__copy {
  min-width: 0;
}

.ppl-diagTestCard__copy small,
.ppl-diagTestCard__copy strong {
  display: block;
}

.ppl-diagTestCard__copy small {
  margin-bottom: 2px;
  color: var(--diag-success);
  font-size: .72rem;
  font-weight: 850;
}

.ppl-diagTestCard__copy strong {
  overflow: hidden;
  color: var(--diag-navy-deep);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ppl-diagTestCard__arrow {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  background: var(--diag-lime);
  color: var(--diag-navy-deep);
}

.ppl-diagStart__note {
  display: flex;
  align-items: center;
  gap: 7px;
  margin: 12px 1px 0;
  color: var(--diag-muted);
  font-size: .78rem;
}

.ppl-diagStart__note i {
  color: var(--diag-success);
}

.ppl-diagStart .ppl-diagEmpty {
  grid-column: 1 / -1;
  min-height: 110px;
}

.ppl-diagTopbar {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 22px;
  margin-bottom: 28px;
}
.ppl-diagTopbar h1 { margin: 7px 0 5px; color: var(--diag-navy-deep); font-size: clamp(2rem, 4vw, 3.2rem); letter-spacing: -.045em; }
.ppl-diagTopbar p { margin: 0; color: var(--diag-muted); }

.ppl-diagStats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-bottom: 18px; }
.ppl-diagStats article { min-height: 132px; padding: 21px; border: 1px solid var(--diag-line); border-radius: var(--diag-radius-md); background: var(--diag-white); }
.ppl-diagStats small, .ppl-diagStats strong, .ppl-diagStats span { display: block; }
.ppl-diagStats small { color: var(--diag-muted); font-weight: 700; }
.ppl-diagStats strong { margin: 10px 0 7px; color: var(--diag-navy-deep); font-size: 2rem; line-height: 1; }
.ppl-diagStats span { color: var(--diag-muted); font-size: .84rem; }
.ppl-diagStats .is-good { color: var(--diag-success); }
.ppl-diagStats .is-warn { color: var(--diag-warning); }

.ppl-diagPanel { margin-top: 18px; padding: 22px; border: 1px solid var(--diag-line); border-radius: var(--diag-radius-lg); background: var(--diag-white); }
.ppl-diagPanel__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
.ppl-diagPanel__head h2 { margin: 5px 0 0; color: var(--diag-navy-deep); font-size: 1.35rem; }
.ppl-diagPanel__head > small { color: var(--diag-muted); }
.ppl-diagChart { width: 100%; height: 270px; display: block; }

.ppl-diagDisclosure {
  padding: 0;
  overflow: hidden;
}

.ppl-diagDisclosure__summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 76px;
  padding: 18px 21px;
  cursor: pointer;
  list-style: none;
}

.ppl-diagDisclosure__summary::-webkit-details-marker {
  display: none;
}

.ppl-diagDisclosure__summary > span:first-child small,
.ppl-diagDisclosure__summary > span:first-child strong {
  display: block;
}

.ppl-diagDisclosure__summary > span:first-child small {
  color: var(--diag-navy);
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.ppl-diagDisclosure__summary > span:first-child strong {
  margin-top: 4px;
  color: var(--diag-navy-deep);
  font-size: 1.22rem;
}

.ppl-diagDisclosure__meta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--diag-muted);
  font-size: .82rem;
  font-weight: 750;
}

.ppl-diagDisclosure__meta i {
  color: var(--diag-navy);
  transition: transform .18s ease;
}

.ppl-diagDisclosure[open] .ppl-diagDisclosure__meta i {
  transform: rotate(180deg);
}

.ppl-diagDisclosure__body {
  padding: 0 21px 21px;
  border-top: 1px solid var(--diag-line);
}

.ppl-diagDisclosure__body .ppl-diagHistory {
  padding-top: 15px;
}

.ppl-diagHistory { display: grid; gap: 8px; }
.ppl-diagHistory__row {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr) auto 18px;
  gap: 14px;
  align-items: center;
  min-height: 78px;
  padding: 11px 13px;
  border: 1px solid transparent;
  border-radius: 13px;
  color: var(--diag-ink);
  background: var(--diag-soft);
}
.ppl-diagHistory__row[href]:hover { border-color: var(--diag-line); color: var(--diag-ink); background: var(--diag-white); }
.ppl-diagHistory__score { width: 58px; height: 48px; display: grid; place-items: center; border-radius: 11px; background: var(--diag-white); color: var(--diag-navy); font-weight: 850; }
.ppl-diagHistory__score.is-muted { color: var(--diag-muted); }
.ppl-diagHistory__copy { min-width: 0; }
.ppl-diagHistory__copy strong, .ppl-diagHistory__copy small { display: block; }
.ppl-diagHistory__copy strong { overflow: hidden; color: var(--diag-navy-deep); text-overflow: ellipsis; white-space: nowrap; }
.ppl-diagHistory__copy small, .ppl-diagHistory__meta { margin-top: 4px; color: var(--diag-muted); font-size: .82rem; }
.ppl-diagHistory__meta { text-align: right; }
.ppl-diagHistory__row > i { color: var(--diag-navy); }

.ppl-diagBreadcrumb { display: flex; justify-content: space-between; gap: 18px; margin-bottom: 20px; color: var(--diag-muted); font-size: .88rem; }
.ppl-diagBreadcrumb a { color: var(--diag-navy); font-weight: 750; }

.ppl-diagState { max-width: 740px; margin: 70px auto; padding: 48px 34px; border: 1px solid var(--diag-line); border-radius: var(--diag-radius-lg); background: var(--diag-white); text-align: center; box-shadow: var(--diag-shadow); }
.ppl-diagState__icon { width: 68px; height: 68px; display: grid; place-items: center; margin: 0 auto 18px; border-radius: 19px; background: var(--diag-lime); color: var(--diag-navy); font-size: 1.4rem; }
.ppl-diagState--error .ppl-diagState__icon { background: #fee4e2; color: var(--diag-danger); }
.ppl-diagState h1 { margin: 10px 0; color: var(--diag-navy-deep); font-size: clamp(1.7rem, 4vw, 2.6rem); }
.ppl-diagState p { max-width: 540px; margin: 0 auto 24px; color: var(--diag-muted); line-height: 1.6; }

.ppl-diag--reportPage {
  padding-top: 24px;
  padding-bottom: 72px;
}

.ppl-diagReportHero {
  width: 100%;
  background: var(--diag-navy);
  color: #fff;
}

.ppl-diagReportHero__inner {
  display: grid;
  grid-template-columns: 178px minmax(0, 1fr) auto;
  gap: clamp(24px, 4vw, 48px);
  align-items: center;
  padding-top: clamp(30px, 4vw, 44px);
  padding-bottom: clamp(30px, 4vw, 44px);
}

.ppl-diagReportHero__score {
  min-width: 178px;
  min-height: 154px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 20px 16px;
  border-radius: 20px;
  background: var(--diag-lime);
  color: #0a1f4e;
  text-align: center;
}

.ppl-diagReportHero__score small,
.ppl-diagReportHero__score strong,
.ppl-diagReportHero__score span,
.ppl-diagReportHero__score em { display: block; }
.ppl-diagReportHero__score small { font-size: .7rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.ppl-diagReportHero__score strong { margin: 7px 0 5px; font-size: 2.8rem; line-height: 1; }
.ppl-diagReportHero__score span { font-size: .8rem; font-weight: 800; }
.ppl-diagReportHero__score em { max-width: 145px; margin-top: 6px; font-size: .7rem; font-style: normal; line-height: 1.35; opacity: .74; }
.ppl-diagReportHero__copy { min-width: 0; }
.ppl-diagReportHero__copy > span { color: var(--diag-lime); font-size: .78rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.ppl-diagReportHero__copy h1 { max-width: 760px; margin: 8px 0 9px; color: #fff; font-size: clamp(1.7rem, 3.4vw, 2.8rem); line-height: 1.08; letter-spacing: -.04em; }
.ppl-diagReportHero__copy p { max-width: 720px; margin: 0; color: rgba(255,255,255,.8); line-height: 1.58; }
.ppl-diagReportHero__inner > .ppl-diagBtn { white-space: nowrap; }
.ppl-diagReportBody { padding-top: 18px; }
.ppl-diagStats--report { margin-top: 0; }

.ppl-diagRevision {
  margin-top: 18px;
  padding: 22px;
  border: 1px solid var(--diag-line);
  border-radius: var(--diag-radius-lg);
  background: var(--diag-cream);
}
.ppl-diagRevision__head { display: flex; justify-content: space-between; gap: 24px; align-items: flex-end; }
.ppl-diagRevision__head h2 { margin: 5px 0 4px; color: var(--diag-navy-deep); }
.ppl-diagRevision__head p { max-width: 690px; margin: 0; color: var(--diag-muted); line-height: 1.5; }
.ppl-diagRevision__progress { flex: 0 0 auto; text-align: right; }
.ppl-diagRevision__progress strong, .ppl-diagRevision__progress span { display: block; }
.ppl-diagRevision__progress strong { color: var(--diag-navy); font-size: 1.35rem; }
.ppl-diagRevision__progress span { color: var(--diag-muted); font-size: .78rem; }
.ppl-diagProgress { height: 9px; margin-top: 18px; overflow: hidden; border-radius: 999px; background: #e5e8df; }
.ppl-diagProgress span { display: block; height: 100%; border-radius: inherit; background: var(--diag-navy); transition: width .25s ease; }

.ppl-diagWeakAreas { padding-top: 42px; }
.ppl-diagSectionHead--wide { max-width: 780px; }
.ppl-diagRevisionGrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: start; }
.ppl-diagRevisionGrid > .ppl-diagEmpty { grid-column: 1 / -1; }

.ppl-diagRevisionCluster {
  overflow: hidden;
  border: 1px solid var(--diag-line);
  border-radius: 18px;
  background: var(--diag-cream);
}
.ppl-diagRevisionCluster__summary {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) auto 16px;
  gap: 12px;
  align-items: center;
  min-height: 92px;
  padding: 16px;
  cursor: pointer;
  list-style: none;
}
.ppl-diagRevisionCluster__summary::-webkit-details-marker { display: none; }
.ppl-diagRevisionCluster__summary:hover { background: rgba(16, 45, 108, .035); }
.ppl-diagRevisionCluster__number {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 11px;
  background: var(--diag-navy);
  color: #fff;
  font-weight: 850;
}
.ppl-diagRevisionCluster__copy { min-width: 0; }
.ppl-diagRevisionCluster__copy small,
.ppl-diagRevisionCluster__copy strong,
.ppl-diagRevisionCluster__copy em { display: block; }
.ppl-diagRevisionCluster__copy small { color: var(--diag-muted); font-size: .7rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.ppl-diagRevisionCluster__copy strong { margin: 3px 0 4px; overflow: hidden; color: var(--diag-navy-deep); font-size: 1.08rem; text-overflow: ellipsis; white-space: nowrap; }
.ppl-diagRevisionCluster__copy em { color: var(--diag-muted); font-size: .77rem; font-style: normal; line-height: 1.4; }
.ppl-diagRevisionCluster__priority { padding: 6px 9px; border: 1px solid var(--diag-line); border-radius: 999px; background: var(--diag-white); color: var(--diag-muted); font-size: .7rem; font-weight: 800; }
.ppl-diagRevisionCluster__summary > i { color: var(--diag-navy); transition: transform .18s ease; }
.ppl-diagRevisionCluster[open] .ppl-diagRevisionCluster__summary > i { transform: rotate(180deg); }
.ppl-diagRevisionCluster__body { display: grid; gap: 12px; padding: 0 12px 12px; }

.ppl-diagWeakCard {
  position: relative;
  margin: 0;
  padding: 18px;
  border: 1px solid var(--diag-line);
  border-radius: 14px;
  background: var(--diag-white);
}
.ppl-diagWeakCard__head { display: flex; gap: 13px; align-items: flex-start; }
.ppl-diagWeakCard__rank { width: 34px; height: 34px; flex: 0 0 34px; display: grid; place-items: center; border-radius: 10px; background: var(--diag-soft); color: var(--diag-navy); font-size: .82rem; font-weight: 850; }
.ppl-diagWeakCard__title { min-width: 0; }
.ppl-diagWeakCard__title small { display: block; color: var(--diag-muted); font-size: .7rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.ppl-diagWeakCard__title h3 { margin: 3px 0; color: var(--diag-navy-deep); font-size: 1.12rem; line-height: 1.25; }
.ppl-diagWeakCard__title span { color: var(--diag-muted); font-size: .78rem; }
.ppl-diagWeakCard__summary { margin: 14px 0 0; color: var(--diag-muted); font-size: .9rem; line-height: 1.55; }
.ppl-diagWeakCard__action { display: flex; gap: 9px; margin-top: 12px; padding: 11px 12px; border-radius: 11px; background: var(--diag-soft); color: var(--diag-ink); font-size: .88rem; line-height: 1.45; }
.ppl-diagWeakCard__action i { margin-top: 3px; color: var(--diag-navy); }

.ppl-diagReadings { display: grid; gap: 9px; margin-top: 16px; }
.ppl-diagReadings__label { color: var(--diag-navy-deep); font-size: .82rem; }
.ppl-diagReading {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 10px 11px;
  align-items: start;
  padding: 13px;
  border: 1px solid var(--diag-line);
  border-radius: 12px;
  background: var(--diag-cream);
}
.ppl-diagReading.is-locked { background: var(--diag-soft); }
.ppl-diagReading__check { align-self: start; cursor: pointer; }
.ppl-diagReading__check input { position: absolute; opacity: 0; pointer-events: none; }
.ppl-diagReading__check span { width: 24px; height: 24px; display: grid; place-items: center; border: 2px solid #aeb8c8; border-radius: 7px; background: #fff; }
.ppl-diagReading__check input:checked + span { border-color: var(--diag-navy); background: var(--diag-navy); }
.ppl-diagReading__check input:checked + span::after { content: "✓"; color: #fff; font-size: .8rem; font-weight: 900; }
.ppl-diagReading__check input:disabled + span { opacity: .48; cursor: not-allowed; }
.ppl-diagReading__copy { min-width: 0; }
.ppl-diagReading__copy small, .ppl-diagReading__copy strong, .ppl-diagReading__copy span { display: block; }
.ppl-diagReading__copy small { color: var(--diag-muted); font-size: .68rem; }
.ppl-diagReading__copy strong { margin: 3px 0; color: var(--diag-navy-deep); font-size: .94rem; line-height: 1.3; }
.ppl-diagReading__copy span { color: var(--diag-success); font-size: .72rem; }
.ppl-diagReading.is-locked .ppl-diagReading__copy span { color: var(--diag-warning); }
.ppl-diagReading__links { grid-column: 2; display: flex; gap: 7px; flex-wrap: wrap; }
.ppl-diagReading__links a,
.ppl-diagReading__unlock {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 34px;
  padding: 7px 10px;
  border: 1px solid var(--diag-navy);
  border-radius: 9px;
  background: var(--diag-navy);
  color: #fff;
  font-size: .75rem;
  font-weight: 800;
}
.ppl-diagReading__links a:hover,
.ppl-diagReading__unlock:hover { color: #fff; transform: translateY(-1px); }
.ppl-diagReading__unlock { grid-column: 2; justify-self: start; white-space: nowrap; }
.ppl-diagReading__questions { grid-column: 2; color: var(--diag-muted); font-size: .78rem; }
.ppl-diagReading__questions summary, .ppl-diagTriggers summary { cursor: pointer; color: var(--diag-navy); font-weight: 750; }
.ppl-diagReading__questions p { margin: 9px 0 0; padding-left: 12px; border-left: 2px solid var(--diag-line); line-height: 1.5; }

.ppl-diagTriggers { margin-top: 14px; padding-top: 13px; border-top: 1px solid var(--diag-line); font-size: .82rem; }
.ppl-diagTriggers p { display: grid; grid-template-columns: 82px minmax(0, 1fr); gap: 9px; margin: 10px 0 0; color: var(--diag-muted); line-height: 1.5; }
.ppl-diagTriggers p span { color: var(--diag-navy); font-size: .72rem; font-weight: 800; }

.ppl-diagReportFooter { display: flex; justify-content: space-between; gap: 20px; align-items: center; margin-top: 28px; padding: 25px; border-radius: var(--diag-radius-lg); background: var(--diag-lime); color: var(--diag-navy-deep); }
.ppl-diagReportFooter strong, .ppl-diagReportFooter span { display: block; }
.ppl-diagReportFooter span { margin-top: 4px; opacity: .8; }

.ppl-diagPerformanceGrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.ppl-diagPerformanceGrid .ppl-diagPanel { margin-top: 0; min-width: 0; }

.ppl-diagEmpty { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 150px; padding: 28px; border: 1px dashed #cbd2df; border-radius: var(--diag-radius-md); color: var(--diag-muted); text-align: center; }
.ppl-diagEmpty > i { margin-bottom: 10px; color: var(--diag-navy); font-size: 1.5rem; }
.ppl-diagEmpty strong { color: var(--diag-navy-deep); }
.ppl-diagEmpty p { margin: 5px 0; }
.ppl-diagEmpty a { color: var(--diag-navy); font-weight: 800; }

@media (max-width: 900px) {
  .ppl-diagStats { grid-template-columns: 1fr; }
  .ppl-diagPerformanceGrid { grid-template-columns: 1fr; }
  .ppl-diagReportHero__inner { grid-template-columns: 160px minmax(0, 1fr); }
  .ppl-diagReportHero__inner > .ppl-diagBtn { grid-column: 1 / -1; justify-self: stretch; }
  .ppl-diagRevisionGrid { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .ppl-diag { padding-top: 20px; padding-bottom: 45px; }
  .ppl-diag--landing { padding-top: 0; padding-bottom: 30px; }
  .ppl-diagHero__inner { min-height: 0; padding-top: 38px; padding-bottom: 38px; }
  .ppl-diagHero h1 { font-size: clamp(2.35rem, 12vw, 3.45rem); }
  .ppl-diagHero__benefits { gap: 8px 13px; margin-top: 18px; }
  .ppl-diagHero__benefits span { font-size: .78rem; }
  .ppl-diagStart { padding-top: 22px; }
  .ppl-diagStart__head { align-items: flex-start; flex-direction: column; gap: 6px; margin-bottom: 13px; }
  .ppl-diagStart__head p { max-width: none; text-align: left; }
  .ppl-diagTestOne__grid { grid-template-columns: 1fr; }
  .ppl-diagTestCard { grid-template-columns: 40px minmax(0, 1fr) 30px; min-height: 66px; padding: 10px 11px; }
  .ppl-diagTestCard__icon { width: 40px; height: 40px; }
  .ppl-diagTopbar, .ppl-diagRevision__head, .ppl-diagReportFooter { align-items: stretch; flex-direction: column; }
  .ppl-diagTopbar .ppl-diagBtn { width: 100%; }
  .ppl-diagPanel { padding: 16px; border-radius: 17px; }
  .ppl-diagDisclosure { padding: 0; }
  .ppl-diagDisclosure__summary { min-height: 68px; padding: 15px 16px; }
  .ppl-diagDisclosure__meta { font-size: .76rem; }
  .ppl-diagDisclosure__body { padding: 0 16px 16px; }
  .ppl-diagPanel__head { align-items: flex-start; }
  .ppl-diagChart { height: 230px; }
  .ppl-diagHistory__row { grid-template-columns: 56px minmax(0, 1fr) 16px; gap: 10px; }
  .ppl-diagHistory__score { width: 52px; }
  .ppl-diagHistory__meta { display: none; }
  .ppl-diag--reportPage { padding-top: 18px; padding-bottom: 45px; }
  .ppl-diagReportHero__inner { grid-template-columns: 1fr; gap: 20px; padding-top: 26px; padding-bottom: 26px; }
  .ppl-diagReportHero__score { width: 100%; min-width: 0; min-height: 118px; }
  .ppl-diagReportHero__inner > .ppl-diagBtn { grid-column: auto; width: 100%; }
  .ppl-diagRevisionCluster__summary { grid-template-columns: 36px minmax(0, 1fr) 14px; min-height: 82px; padding: 13px; }
  .ppl-diagRevisionCluster__number { width: 36px; height: 36px; }
  .ppl-diagRevisionCluster__priority { display: none; }
  .ppl-diagWeakCard { padding: 15px; }
  .ppl-diagReading__links, .ppl-diagReading__unlock { grid-column: 1 / -1; margin-left: 35px; justify-self: start; }
  .ppl-diagReading__questions { grid-column: 1 / -1; }
  .ppl-diagTriggers p { grid-template-columns: 1fr; }
  .ppl-diagBreadcrumb { align-items: flex-start; flex-direction: column; gap: 7px; }
}

@media (prefers-reduced-motion: reduce) {
  .ppl-diagBtn, .ppl-diagTestCard, .ppl-diagProgress span { transition: none; }
}

html[data-theme="dark"] .ppl-diag,
body.dark-mode .ppl-diag {
  --diag-ink: #edf2ff;
  --diag-muted: #aeb8cc;
  --diag-line: #2a3855;
  --diag-soft: #17233b;
  --diag-cream: #131f35;
  --diag-white: #101b2f;
  --diag-navy-deep: #f2f5ff;
  --diag-shadow: none;
}

html[data-theme="dark"] .ppl-diagReading__check span,
body.dark-mode .ppl-diagReading__check span,
html[data-theme="dark"] .ppl-diagReading__links a,
body.dark-mode .ppl-diagReading__links a,
html[data-theme="dark"] .ppl-diagReading__unlock,
body.dark-mode .ppl-diagReading__unlock { background: #101b2f; }

.ppl-diagMappingNote {
  margin: 0;
  color: var(--diag-muted);
  line-height: 1.6;
}

/* Unified diagnostics refinements */
.ppl-diagTopbar__actions { display:flex; align-items:center; gap:10px; flex-wrap:wrap; justify-content:flex-end; }
.ppl-diagHelpBtn { min-height:42px; display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:0 14px; border:1px solid var(--diag-line); border-radius:11px; background:var(--diag-white); color:var(--diag-navy); font:inherit; font-size:.82rem; font-weight:800; cursor:pointer; }
.ppl-diagHelpBtn:hover { border-color:var(--diag-navy); }
.ppl-diagHelpBtn--hero { margin-top:22px; border-color:rgba(255,255,255,.28); background:rgba(255,255,255,.08); color:#fff; }
.ppl-diagHelpBtn--small { min-height:34px; padding:0 11px; margin-left:auto; font-size:.75rem; }
.ppl-diagChartNote { margin:-3px 0 12px; color:var(--diag-muted); font-size:.82rem; line-height:1.5; }
.ppl-diagChart--large { height:310px; }
.ppl-diagLegend { display:flex; justify-content:space-between; gap:14px; color:var(--diag-muted); font-size:.76rem; }
.ppl-diagLegend span { display:inline-flex; align-items:center; gap:7px; font-weight:750; color:var(--diag-navy); }
.ppl-diagLegend i { width:22px; height:3px; border-radius:99px; background:var(--diag-navy); }

.ppl-diagReportHero__inner { display:flex; align-items:center; justify-content:space-between; gap:28px; min-height:0; padding-top:25px; padding-bottom:25px; }
.ppl-diagReportHero__copy { max-width:780px; }
.ppl-diagReportHero__copy h1 { margin:5px 0 6px; font-size:clamp(1.55rem,3vw,2.35rem); }
.ppl-diagReportHero__copy p { max-width:760px; margin:0; font-size:.93rem; line-height:1.55; }
.ppl-diagReportHero__score { display:none; }
.ppl-diagProgressPanel { margin-top:18px; }
.ppl-diagInlineMetrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin:4px 0 15px; }
.ppl-diagInlineMetrics > span { min-width:0; padding:11px 12px; border:1px solid var(--diag-line); border-radius:12px; background:var(--diag-soft); }
.ppl-diagInlineMetrics small,.ppl-diagInlineMetrics strong,.ppl-diagInlineMetrics em { display:block; }
.ppl-diagInlineMetrics small { color:var(--diag-muted); font-size:.66rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.ppl-diagInlineMetrics strong { margin:3px 0 2px; color:var(--diag-navy-deep); font-size:1.35rem; line-height:1; }
.ppl-diagInlineMetrics em { overflow:hidden; color:var(--diag-muted); font-size:.69rem; font-style:normal; text-overflow:ellipsis; white-space:nowrap; }
.ppl-diagChartInsight { display:flex; gap:10px; align-items:flex-start; margin:8px 0 0; padding:12px 14px; border-radius:12px; background:var(--diag-cream); color:var(--diag-muted); font-size:.83rem; line-height:1.5; }
.ppl-diagChartInsight i { margin-top:2px; color:var(--diag-warning); }
.ppl-diagWeakCard__summary { font-size:.84rem; }
.ppl-diagWeakCard__action { margin-top:10px; padding:10px 11px; font-size:.83rem; }
.ppl-diagReadings { margin-top:12px; gap:7px; }
.ppl-diagReading { padding:10px 11px; }
.ppl-diagReading__copy strong { font-size:.88rem; }
.ppl-diagReading__questions { display:none; }
.ppl-diagTriggers { margin-top:11px; padding-top:10px; }

.ppl-diagEmailPrefs { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(230px,.8fr); gap:12px 24px; align-items:center; margin-top:18px; }
.ppl-diagEmailPrefs > div { grid-row:1 / span 2; }
.ppl-diagEmailPrefs > div > span { color:var(--diag-navy); font-size:.72rem; font-weight:850; letter-spacing:.07em; text-transform:uppercase; }
.ppl-diagEmailPrefs h2 { margin:5px 0; color:var(--diag-navy-deep); font-size:1.3rem; }
.ppl-diagEmailPrefs p { margin:0; color:var(--diag-muted); font-size:.82rem; line-height:1.5; }
.ppl-diagEmailPrefs label { display:grid; grid-template-columns:minmax(0,1fr) 44px; gap:12px; align-items:center; cursor:pointer; }
.ppl-diagEmailPrefs label strong,.ppl-diagEmailPrefs label small { display:block; }
.ppl-diagEmailPrefs label strong { color:var(--diag-navy-deep); font-size:.85rem; }
.ppl-diagEmailPrefs label small { margin-top:2px; color:var(--diag-muted); font-size:.71rem; line-height:1.35; }
.ppl-diagEmailPrefs input { position:absolute; opacity:0; pointer-events:none; }
.ppl-diagEmailPrefs label > i { position:relative; width:42px; height:24px; border-radius:999px; background:#cbd3df; transition:.18s ease; }
.ppl-diagEmailPrefs label > i::after { content:""; position:absolute; top:3px; left:3px; width:18px; height:18px; border-radius:50%; background:#fff; box-shadow:0 1px 4px rgba(0,0,0,.18); transition:.18s ease; }
.ppl-diagEmailPrefs input:checked + i { background:var(--diag-navy); }
.ppl-diagEmailPrefs input:checked + i::after { transform:translateX(18px); }
.ppl-diagEmailPrefs__status { grid-column:2; min-height:16px; color:var(--diag-success); font-size:.72rem; }

.ppl-diagHelp { position:fixed; inset:0; z-index:5000; display:grid; place-items:center; padding:18px; opacity:0; visibility:hidden; transition:opacity .18s ease,visibility .18s ease; }
.ppl-diagHelp.is-open { opacity:1; visibility:visible; }
.ppl-diagHelp__backdrop { position:absolute; inset:0; width:100%; height:100%; border:0; background:rgba(7,20,47,.72); cursor:pointer; }
.ppl-diagHelp__dialog { position:relative; width:min(520px,100%); overflow:hidden; border:1px solid rgba(255,255,255,.18); border-radius:24px; background:var(--diag-white); box-shadow:0 32px 90px rgba(0,0,0,.32); }
.ppl-diagHelp__close { position:absolute; z-index:2; top:14px; right:14px; width:36px; height:36px; border:1px solid var(--diag-line); border-radius:50%; background:var(--diag-white); color:var(--diag-muted); cursor:pointer; }
.ppl-diagHelp__slides { min-height:330px; }
.ppl-diagHelp__slide { display:none; min-height:330px; padding:43px 46px 32px; text-align:center; }
.ppl-diagHelp__slide.is-active { display:block; }
.ppl-diagHelp__slide > span { width:72px; height:72px; display:grid; place-items:center; margin:0 auto 20px; border-radius:22px; background:var(--diag-navy); color:var(--diag-lime); font-size:1.6rem; }
.ppl-diagHelp__slide small { color:var(--diag-navy); font-size:.72rem; font-weight:850; letter-spacing:.07em; text-transform:uppercase; }
.ppl-diagHelp__slide h2 { margin:8px 0 10px; color:var(--diag-navy-deep); font-size:1.75rem; letter-spacing:-.035em; }
.ppl-diagHelp__slide p { max-width:410px; margin:0 auto; color:var(--diag-muted); font-size:.94rem; line-height:1.65; }
.ppl-diagHelp__footer { display:grid; grid-template-columns:100px 1fr 100px; align-items:center; gap:12px; padding:14px 18px; border-top:1px solid var(--diag-line); background:var(--diag-soft); }
.ppl-diagHelp__footer button { min-height:38px; border:1px solid var(--diag-line); border-radius:10px; background:var(--diag-white); color:var(--diag-navy); font:inherit; font-size:.79rem; font-weight:800; cursor:pointer; }
.ppl-diagHelp__footer button:last-child { border-color:var(--diag-navy); background:var(--diag-navy); color:#fff; }
.ppl-diagHelp__footer button:disabled { opacity:.42; cursor:not-allowed; }
.ppl-diagHelp__dots { display:flex; justify-content:center; gap:6px; }
.ppl-diagHelp__dots button { min-height:0; width:7px; height:7px; padding:0; border:0; border-radius:50%; background:#b7c0cf; }
.ppl-diagHelp__dots button.is-active { width:20px; border-radius:99px; background:var(--diag-navy); }
body.ppl-diagHelpOpen { overflow:hidden; }

@media (max-width:900px) {
  .ppl-diagInlineMetrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ppl-diagReportHero__inner { display:flex; }
  .ppl-diagEmailPrefs { grid-template-columns:1fr; }
  .ppl-diagEmailPrefs > div { grid-row:auto; }
  .ppl-diagEmailPrefs__status { grid-column:1; }
}
@media (max-width:640px) {
  .ppl-diagTopbar__actions { width:100%; justify-content:stretch; }
  .ppl-diagTopbar__actions > * { flex:1; }
  .ppl-diagReportHero__inner { gap:14px; padding-top:18px; padding-bottom:18px; }
  .ppl-diagReportHero__copy h1 { font-size:1.45rem; }
  .ppl-diagReportHero__copy p { font-size:.84rem; }
  .ppl-diagReportHero__inner > .ppl-diagBtn { min-height:40px; }
  .ppl-diagInlineMetrics { gap:6px; }
  .ppl-diagInlineMetrics > span { padding:9px 10px; }
  .ppl-diagInlineMetrics strong { font-size:1.2rem; }
  .ppl-diagBreadcrumb { flex-direction:row; flex-wrap:wrap; align-items:center; }
  .ppl-diagBreadcrumb > span { order:3; width:100%; }
  .ppl-diagHelpBtn--small { margin-left:auto; }
  .ppl-diagHelp__slide { min-height:300px; padding:38px 24px 24px; }
  .ppl-diagHelp__slides { min-height:300px; }
  .ppl-diagHelp__slide h2 { font-size:1.45rem; }
  .ppl-diagHelp__footer { grid-template-columns:84px 1fr 84px; padding:12px; }
}
@media (max-width:640px) {
  .ppl-diagReportHero__inner { flex-direction:column; align-items:stretch; }
}

/* One-block-at-a-time diagnostic revision flow */
.ppl-diagBlockDeck {
  margin-top: 18px;
  padding: 24px;
  border: 1px solid var(--diag-line);
  border-radius: var(--diag-radius-lg);
  background: var(--diag-cream);
}
.ppl-diagBlockDeck__head { display: flex; justify-content: space-between; gap: 24px; align-items: flex-end; }
.ppl-diagBlockDeck__head > div:first-child { max-width: 680px; }
.ppl-diagBlockDeck__head > div:first-child > span { color: var(--diag-navy); font-size: .72rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.ppl-diagBlockDeck__head h2 { margin: 5px 0 4px; color: var(--diag-navy-deep); font-size: clamp(1.35rem, 2.4vw, 1.85rem); }
.ppl-diagBlockDeck__head p { margin: 0; color: var(--diag-muted); font-size: .88rem; line-height: 1.5; }
.ppl-diagBlockDeck__progress { flex: 0 0 auto; text-align: right; }
.ppl-diagBlockDeck__progress strong,
.ppl-diagBlockDeck__progress span,
.ppl-diagBlockDeck__progress small { display: block; }
.ppl-diagBlockDeck__progress strong { color: var(--diag-navy); font-size: 1.35rem; line-height: 1.1; }
.ppl-diagBlockDeck__progress span { margin-top: 2px; color: var(--diag-muted); font-size: .74rem; }
.ppl-diagBlockDeck__progress small { margin-top: 7px; color: var(--diag-muted); font-size: .68rem; }
.ppl-diagBlockDeck__progress b { color: var(--diag-navy-deep); }
.ppl-diagProgress--blocks { margin: 17px 0 18px; }
.ppl-diagBlockDeck__stage { scroll-margin-top: 88px; }
.ppl-diagRevisionBlock {
  overflow: hidden;
  border: 1px solid var(--diag-line);
  border-radius: 20px;
  background: var(--diag-white);
  box-shadow: 0 14px 36px rgba(16,45,108,.07);
  animation: pplDiagBlockIn .22s ease both;
}
.ppl-diagRevisionBlock[hidden] { display: none !important; }
@keyframes pplDiagBlockIn { from { opacity: 0; transform: translateY(7px); } to { opacity: 1; transform: translateY(0); } }
.ppl-diagRevisionBlock__head { display: flex; justify-content: space-between; gap: 18px; align-items: flex-start; padding: 21px 22px 17px; border-bottom: 1px solid var(--diag-line); }
.ppl-diagRevisionBlock__title { min-width: 0; }
.ppl-diagRevisionBlock__title small { display: block; color: var(--diag-navy); font-size: .7rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.ppl-diagRevisionBlock__title h3 { margin: 5px 0 5px; color: var(--diag-navy-deep); font-size: clamp(1.3rem, 2.6vw, 1.8rem); line-height: 1.15; letter-spacing: -.025em; }
.ppl-diagRevisionBlock__title p { margin: 0; color: var(--diag-muted); font-size: .8rem; }
.ppl-diagRevisionBlock__missed,
.ppl-diagWeakCard__missed { flex: 0 0 auto; display: inline-flex; align-items: center; min-height: 30px; padding: 6px 10px; border-radius: 999px; background: #f1f6d7; color: #425500; font-size: .72rem; font-weight: 850; white-space: nowrap; }
.ppl-diagBlockComplete { display: grid; grid-template-columns: 30px minmax(0,1fr); gap: 11px; align-items: center; margin: 15px 22px 0; padding: 12px 13px; border: 1px solid var(--diag-line); border-radius: 13px; background: var(--diag-soft); cursor: pointer; }
.ppl-diagBlockComplete input { position: absolute; opacity: 0; pointer-events: none; }
.ppl-diagBlockComplete > span { width: 27px; height: 27px; display: grid; place-items: center; border: 2px solid #aeb8c8; border-radius: 8px; background: var(--diag-white); color: transparent; transition: .18s ease; }
.ppl-diagBlockComplete input:checked + span { border-color: var(--diag-navy); background: var(--diag-navy); color: #fff; }
.ppl-diagBlockComplete input:disabled + span { opacity: .55; }
.ppl-diagBlockComplete em { min-width: 0; font-style: normal; }
.ppl-diagBlockComplete strong,
.ppl-diagBlockComplete small { display: block; }
.ppl-diagBlockComplete strong { color: var(--diag-navy-deep); font-size: .84rem; }
.ppl-diagBlockComplete small { margin-top: 2px; color: var(--diag-muted); font-size: .7rem; line-height: 1.35; }
.ppl-diagRevisionBlock.is-complete .ppl-diagBlockComplete { border-color: rgba(8,122,85,.25); background: #f3faed; }
.ppl-diagRevisionBlock__body { display: grid; gap: 12px; padding: 15px 22px 22px; }
.ppl-diagRevisionBlock__body .ppl-diagWeakCard { padding: 16px; box-shadow: none; }
.ppl-diagWeakCard__head--simple { justify-content: space-between; }
.ppl-diagWeakCard__head--simple .ppl-diagWeakCard__title { padding-right: 10px; }
.ppl-diagWeakCard__head--simple .ppl-diagWeakCard__title h3 { font-size: 1.02rem; }
.ppl-diagWeakCard__head--simple .ppl-diagWeakCard__title small { font-size: .66rem; }
.ppl-diagBlockNav { display: grid; grid-template-columns: 110px minmax(0,1fr) 110px; gap: 15px; align-items: center; margin-top: 16px; }
.ppl-diagBlockNav > button { min-height: 42px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 0 14px; border: 1px solid var(--diag-navy); border-radius: 11px; background: var(--diag-navy); color: #fff; font: inherit; font-size: .79rem; font-weight: 850; cursor: pointer; }
.ppl-diagBlockNav > button:first-child { border-color: var(--diag-line); background: var(--diag-white); color: var(--diag-navy); }
.ppl-diagBlockNav > button:disabled { opacity: .4; cursor: not-allowed; transform: none; }
.ppl-diagBlockNav__center { min-width: 0; text-align: center; }
.ppl-diagBlockNav__center > strong { display: block; color: var(--diag-navy-deep); font-size: .78rem; }
.ppl-diagBlockDots { display: flex; justify-content: center; gap: 6px; margin-top: 8px; }
.ppl-diagBlockDots button { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 999px; background: #bcc5d2; cursor: pointer; transition: .18s ease; }
.ppl-diagBlockDots button.is-active { width: 24px; background: var(--diag-navy); }
.ppl-diagBlockDots button.is-complete:not(.is-active) { background: var(--diag-success); }
html[data-theme="dark"] .ppl-diagRevisionBlock,
body.dark-mode .ppl-diagRevisionBlock,
html[data-theme="dark"] .ppl-diagBlockComplete > span,
body.dark-mode .ppl-diagBlockComplete > span { background: #101b2f; }
html[data-theme="dark"] .ppl-diagBlockComplete,
body.dark-mode .ppl-diagBlockComplete { background: #152238; }

@media (max-width: 720px) {
  .ppl-diagBlockDeck { padding: 16px; }
  .ppl-diagBlockDeck__head { align-items: flex-start; flex-direction: column; gap: 12px; }
  .ppl-diagBlockDeck__progress { display: flex; align-items: baseline; gap: 7px; text-align: left; }
  .ppl-diagBlockDeck__progress span,
  .ppl-diagBlockDeck__progress small { display: inline; margin: 0; }
  .ppl-diagRevisionBlock__head { padding: 17px 16px 14px; }
  .ppl-diagRevisionBlock__missed { display: none; }
  .ppl-diagBlockComplete { margin: 12px 16px 0; }
  .ppl-diagRevisionBlock__body { padding: 12px 16px 16px; }
  .ppl-diagWeakCard__missed { font-size: .67rem; }
  .ppl-diagBlockNav { grid-template-columns: 88px minmax(0,1fr) 88px; gap: 8px; }
  .ppl-diagBlockNav > button { min-height: 40px; padding: 0 9px; font-size: .73rem; }
}

/* Compact revision block cards */
.ppl-diagRevisionBlock__head {
  align-items: center;
  padding: 17px 18px 15px;
}
.ppl-diagRevisionBlock__title h3 {
  margin: 4px 0;
  font-size: clamp(1.18rem, 2.2vw, 1.55rem);
}
.ppl-diagRevisionBlock__title p { font-size: .75rem; }
.ppl-diagRevisionBlock__tools {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 9px;
}
.ppl-diagRevisionBlock__tools .ppl-diagBlockComplete {
  width: auto;
  min-width: 0;
  display: grid;
  grid-template-columns: 24px minmax(0, auto);
  gap: 8px;
  margin: 0;
  padding: 7px 9px;
  border-radius: 10px;
  background: var(--diag-soft);
}
.ppl-diagRevisionBlock__tools .ppl-diagBlockComplete > span {
  width: 22px;
  height: 22px;
  border-radius: 7px;
}
.ppl-diagRevisionBlock__tools .ppl-diagBlockComplete strong { font-size: .75rem; }
.ppl-diagRevisionBlock__tools .ppl-diagBlockComplete small {
  max-width: 165px;
  margin-top: 1px;
  font-size: .61rem;
  line-height: 1.2;
}
.ppl-diagRevisionBlock__body {
  gap: 10px;
  padding: 12px 14px 15px;
}
.ppl-diagRevisionBlock__body .ppl-diagWeakCard {
  overflow: hidden;
  padding: 14px;
  border-radius: 13px;
  box-shadow: 0 5px 18px rgba(16,45,108,.035);
}
.ppl-diagRevisionBlock__body .ppl-diagWeakCard::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: var(--diag-navy);
  opacity: .9;
}
.ppl-diagWeakCard__head--simple { gap: 10px; }
.ppl-diagWeakCard__head--simple .ppl-diagWeakCard__title h3 {
  margin-top: 2px;
  font-size: .96rem;
  line-height: 1.2;
}
.ppl-diagWeakCard__action {
  margin-top: 8px;
  padding: 8px 9px;
  font-size: .78rem;
  line-height: 1.38;
}
.ppl-diagReadings {
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 7px;
  margin-top: 10px;
}
.ppl-diagReadings__head {
  grid-column: 1 / -1;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
}
.ppl-diagReadings__head > span {
  color: var(--diag-muted);
  font-size: .65rem;
  font-weight: 750;
}
.ppl-diagReading {
  grid-template-columns: 23px minmax(0,1fr);
  gap: 7px 9px;
  min-width: 0;
  padding: 9px;
  border-radius: 10px;
}
.ppl-diagReading__check span {
  width: 21px;
  height: 21px;
  border-radius: 6px;
}
.ppl-diagReading__copy small {
  overflow: hidden;
  font-size: .61rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ppl-diagReading__copy strong {
  margin: 2px 0 0;
  font-size: .8rem;
  line-height: 1.25;
}
.ppl-diagReading__links {
  gap: 5px;
}
.ppl-diagReading__links a,
.ppl-diagReading__unlock {
  min-height: 29px;
  padding: 5px 7px;
  border-radius: 7px;
  font-size: .67rem;
}
.ppl-diagTriggers {
  margin-top: 9px;
  padding-top: 8px;
  font-size: .74rem;
}

@media (min-width: 840px) {
  .ppl-diagRevisionBlock__body {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
  }
  .ppl-diagRevisionBlock__body > .ppl-diagWeakCard:last-child:nth-child(odd) {
    grid-column: 1 / -1;
  }
}

@media (max-width: 760px) {
  .ppl-diagRevisionBlock__head {
    align-items: stretch;
    flex-direction: column;
    gap: 11px;
  }
  .ppl-diagRevisionBlock__tools {
    justify-content: space-between;
  }
  .ppl-diagRevisionBlock__missed { display: inline-flex; }
  .ppl-diagRevisionBlock__tools .ppl-diagBlockComplete {
    margin-left: auto;
  }
}

@media (max-width: 480px) {
  .ppl-diagRevisionBlock__head { padding: 15px 14px 12px; }
  .ppl-diagRevisionBlock__tools {
    align-items: stretch;
    flex-direction: column;
  }
  .ppl-diagRevisionBlock__tools .ppl-diagBlockComplete {
    width: 100%;
    margin-left: 0;
  }
  .ppl-diagRevisionBlock__tools .ppl-diagBlockComplete small { max-width: none; }
  .ppl-diagRevisionBlock__body { padding: 10px 11px 12px; }
  .ppl-diagReadings { grid-template-columns: 1fr; }
}
