:root {
  --pool-paper: #fffdf9;
  --pool-ink: #2b1a12;
  --pool-muted: #715f55;
  --pool-line: #e7d8cc;
  --pool-coral: #c22f14;
  --pool-coral-soft: #fff0e9;
  --pool-amber: #7a4d00;
  --pool-sun: #ffc933;
  --pool-mineral: #1f4e5a;
  --pool-mineral-soft: #e8f1f1;
  --pool-green: #0f6b38;
  --pool-green-soft: #e5f6e8;
  --pool-red: #9f2f24;
  --pool-red-soft: #fff0ed;
}

body.pool-page {
  min-height: 100vh;
  margin: 0;
  color: var(--pool-ink);
  background:
    radial-gradient(circle at 78% 8%, rgba(255, 201, 51, .16), transparent 25rem),
    #fff8f0;
}

.pool-main {
  width: min(100% - 40px, 1440px);
  margin: 0 auto;
  padding: 48px 0 80px;
}

.pool-workspace {
  display: grid;
  grid-template-columns: minmax(0, 920px) minmax(330px, 400px);
  align-items: start;
  justify-content: center;
  gap: 24px;
}

.pool-mount,
.pool-rail { min-width: 0; }

.pool-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 22px;
}

.pool-heading h1 {
  margin: 4px 0 0;
  font-family: var(--cc-display-font, ui-serif, Georgia, serif);
  font-size: clamp(2.2rem, 6vw, 4.5rem);
  line-height: .98;
  letter-spacing: -.045em;
}

.pool-eyebrow {
  margin: 0;
  color: var(--pool-coral);
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.pool-progress {
  max-width: 25ch;
  margin: 0 0 5px;
  color: var(--pool-amber);
  font-family: var(--cc-data-font, ui-monospace, monospace);
  font-size: .83rem;
  font-weight: 700;
  line-height: 1.45;
  text-align: right;
}

.pool-status {
  min-height: 1.4em;
  margin: 0 0 12px;
  color: var(--pool-muted);
  font-size: .85rem;
}

.pool-mount[aria-busy='true'] { cursor: progress; }

.pool-leaf,
.pool-state {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--pool-line);
  border-radius: 8px 30px 30px 8px;
  background: var(--pool-paper);
  box-shadow: 0 20px 55px rgba(82, 43, 22, .10), 0 2px 8px rgba(82, 43, 22, .06);
}

.pool-leaf::before,
.pool-state::before {
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: linear-gradient(180deg, #ff5a3c, #ff8a00 58%, #ffc933);
  content: '';
}

.pool-leaf__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding: 30px 34px 18px 38px;
  border-bottom: 1px solid var(--pool-line);
}

.pool-leaf__context { min-width: 0; }

.pool-leaf__queue {
  display: block;
  margin-bottom: 6px;
  color: var(--pool-coral);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.pool-leaf__system {
  display: block;
  font-family: var(--cc-display-font, ui-serif, Georgia, serif);
  font-size: 1.18rem;
  font-weight: 750;
}

.pool-leaf__category {
  display: block;
  margin-top: 4px;
  color: var(--pool-muted);
  font-size: .82rem;
}

.pool-save,
.pool-tool,
.pool-submit,
.pool-next,
.pool-retry,
.pool-report button,
.pool-note button {
  min-height: 44px;
  border-radius: 12px;
  font: inherit;
  font-weight: 750;
  cursor: pointer;
}

.pool-save,
.pool-tool {
  flex: none;
  border: 1px solid var(--pool-line);
  padding: 8px 13px;
  color: var(--pool-coral);
  background: transparent;
}

.pool-submit-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: 22px;
  border-top: 1px solid var(--pool-line);
  padding-top: 20px;
}

.pool-submit-hint {
  color: var(--pool-muted);
  font-size: .82rem;
  line-height: 1.4;
}

.pool-submit-complete {
  min-height: 44px;
  color: var(--pool-green);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .025em;
}

.pool-submit-complete span:last-child { color: var(--pool-mineral); }

.pool-submit {
  flex: none;
  min-width: 164px;
  border: 0;
  padding: 12px 20px;
  color: #fff;
  background: linear-gradient(135deg, var(--pool-coral), #e45323);
  box-shadow: 0 10px 24px rgba(194, 47, 20, .22);
}

.pool-submit:disabled {
  color: #8a776c;
  background: #eee5df;
  box-shadow: none;
  cursor: not-allowed;
}

.pool-save[aria-pressed='true'] {
  color: var(--pool-green);
  border-color: #b9e4c4;
  background: var(--pool-green-soft);
}

.pool-question {
  padding: clamp(26px, 5vw, 48px) clamp(24px, 6vw, 58px) 34px;
}

.pool-stem {
  font-family: var(--cc-display-font, ui-serif, Georgia, serif);
  font-size: clamp(1.12rem, 2.5vw, 1.38rem);
  line-height: 1.65;
}

.pool-stem > :first-child,
.pool-lead > :first-child { margin-top: 0; }
.pool-stem > :last-child,
.pool-lead > :last-child { margin-bottom: 0; }

.pool-figure {
  display: block;
  max-width: 100%;
  max-height: 480px;
  margin: 24px auto;
  border: 1px solid var(--pool-line);
  border-radius: 14px;
  object-fit: contain;
}

.pool-lead {
  margin-top: 22px;
  font-weight: 750;
  line-height: 1.55;
}

.pool-options {
  display: grid;
  gap: 11px;
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
}

.pool-option {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 58px;
  border: 1.5px solid var(--pool-line);
  border-radius: 14px;
  padding: 10px 14px 10px 10px;
  color: var(--pool-ink);
  background: #fff;
  font: inherit;
  line-height: 1.45;
  text-align: left;
  cursor: pointer;
}

.pool-option__letter {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  color: var(--pool-amber);
  background: #fff4d2;
  font-family: var(--cc-data-font, ui-monospace, monospace);
  font-weight: 800;
}

.pool-option__label {
  color: var(--pool-muted);
  font-size: .74rem;
  font-weight: 800;
}

.pool-option:hover:not(:disabled) { border-color: #e39565; background: #fffaf6; }
.pool-option.is-selected { border-color: #e39565; background: var(--pool-coral-soft); }
.pool-option.is-correct { border-color: var(--pool-green); background: var(--pool-green-soft); }
.pool-option.is-correct .pool-option__letter { color: #fff; background: var(--pool-green); }
.pool-option.is-wrong { border-color: var(--pool-red); background: var(--pool-red-soft); }
.pool-option.is-wrong .pool-option__letter { color: #fff; background: var(--pool-red); }
.pool-option:disabled { cursor: default; opacity: 1; }

.pool-rail {
  position: sticky;
  top: 92px;
  scroll-margin-top: 84px;
  max-height: calc(100vh - 116px);
  max-height: calc(100dvh - 116px);
  overflow: auto;
  border: 1px solid #d7cabe;
  border-radius: 26px;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .78), rgba(255, 253, 249, .96)),
    var(--pool-paper);
  box-shadow: 0 22px 58px rgba(62, 38, 26, .14), 0 2px 8px rgba(62, 38, 26, .06);
  scrollbar-color: #cbb8aa transparent;
  scrollbar-width: thin;
}

.pool-rail__shell { min-height: 100%; }
.pool-rail.is-revealed .pool-rail__shell { display: flex; flex-direction: column; }
.pool-rail.is-revealed .pool-result { order: -1; }

.pool-rail__loading {
  display: grid;
  place-items: center;
  min-height: 220px;
  padding: 28px;
  color: var(--pool-muted);
  text-align: center;
}

.pool-rail__loading span {
  width: 34px;
  height: 34px;
  border: 2px solid var(--pool-line);
  border-top-color: var(--pool-coral);
  border-radius: 50%;
}

.pool-progress-card {
  position: relative;
  overflow: hidden;
  padding: 23px 24px 25px;
  background:
    radial-gradient(circle at 92% 0, rgba(255, 201, 51, .22), transparent 9rem),
    var(--pool-paper);
}

.pool-progress-card::after {
  position: absolute;
  inset: auto 24px 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--pool-line) 12%, var(--pool-line) 88%, transparent);
  content: '';
}

.pool-progress-card__heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.pool-progress-card__eyebrow,
.pool-result__eyebrow {
  margin: 0 0 4px;
  color: var(--pool-coral);
  font-family: var(--cc-data-font, ui-monospace, monospace);
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.pool-progress-card h2 {
  margin: 0;
  font-family: var(--cc-display-font, ui-serif, Georgia, serif);
  font-size: 1.3rem;
  line-height: 1.1;
  letter-spacing: -.02em;
}

.pool-progress-card__streak {
  flex: none;
  border: 1px solid #e4c987;
  border-radius: 999px;
  padding: 6px 9px;
  color: var(--pool-amber);
  background: #fff7dc;
  font-family: var(--cc-data-font, ui-monospace, monospace);
  font-size: .66rem;
  font-weight: 800;
}

.pool-progress-track {
  position: relative;
  overflow: hidden;
  height: 8px;
  margin-top: 17px;
  border-radius: 999px;
  background: #ede4dc;
}

.pool-progress-track__fill {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--pool-coral), #ef7b25 60%, var(--pool-sun));
}

.pool-counts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 16px 0 17px;
}

.pool-count {
  min-width: 0;
  border: 1px solid var(--pool-line);
  border-radius: 12px;
  padding: 9px 10px 8px;
  background: rgba(255, 255, 255, .74);
}

.pool-count dt {
  overflow: hidden;
  color: var(--pool-muted);
  font-size: .64rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-overflow: ellipsis;
  text-transform: uppercase;
}

.pool-count dd {
  margin: 2px 0 0;
  color: var(--pool-ink);
  font-family: var(--cc-data-font, ui-monospace, monospace);
  font-size: 1.08rem;
  font-weight: 850;
}

.pool-count.is-correct dd { color: var(--pool-green); }
.pool-count.is-wrong dd { color: var(--pool-red); }
.pool-count.is-remaining dd { color: var(--pool-mineral); }

.pool-matrix {
  position: relative;
  display: grid;
  grid-template-columns: repeat(5, 36px);
  justify-content: space-between;
  gap: 9px 7px;
  margin: 0;
  padding: 0;
  list-style: none;
  background: repeating-linear-gradient(
    to bottom,
    transparent 0,
    transparent 17px,
    rgba(31, 78, 90, .15) 17px,
    rgba(31, 78, 90, .15) 19px,
    transparent 19px,
    transparent 45px
  );
}

.pool-matrix__cell {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border: 1px solid #d9cec5;
  border-radius: 10px;
  color: #8b7d74;
  background: #f7f2ed;
  font-family: var(--cc-data-font, ui-monospace, monospace);
  font-size: .72rem;
  font-weight: 800;
}

.pool-matrix__cell.is-correct { color: #fff; border-color: var(--pool-green); background: var(--pool-green); }
.pool-matrix__cell.is-wrong { color: #fff; border-color: var(--pool-red); background: var(--pool-red); }
.pool-matrix__cell.is-current {
  color: var(--pool-mineral);
  border: 2px solid var(--pool-mineral);
  background: #fff;
  box-shadow: 0 0 0 3px var(--pool-mineral-soft);
}

.pool-matrix__symbol {
  position: absolute;
  right: 3px;
  bottom: 1px;
  font-size: .65rem;
  line-height: 1;
}

.pool-rail__prompt {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  align-items: center;
  gap: 13px;
  padding: 22px 24px 24px;
  color: var(--pool-mineral);
  background: linear-gradient(135deg, #f5fbfa, var(--pool-mineral-soft));
}

.pool-rail__prompt-mark {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  color: #fff;
  background: var(--pool-mineral);
  font-family: var(--cc-data-font, ui-monospace, monospace);
  font-size: .7rem;
  font-weight: 800;
}

.pool-rail__prompt p { margin: 0; font-size: .87rem; font-weight: 750; line-height: 1.45; }

.pool-result { background: var(--pool-paper); }

.pool-result__head {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 20px 24px 17px;
  color: var(--pool-green);
  background: linear-gradient(135deg, var(--pool-green-soft), #f6fcf7);
}

.pool-result.is-review .pool-result__head { color: var(--pool-red); background: linear-gradient(135deg, var(--pool-red-soft), #fff9f7); }

.pool-result__mark {
  display: grid;
  place-items: center;
  flex: none;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  color: #fff;
  background: var(--pool-green);
  font-size: 1.25rem;
  font-weight: 900;
  box-shadow: 0 0 0 5px rgba(15, 107, 56, .11);
}

.pool-result.is-review .pool-result__mark { background: var(--pool-red); box-shadow: 0 0 0 5px rgba(159, 47, 36, .10); }
.pool-result__eyebrow { color: currentColor; opacity: .76; }

.pool-verdict {
  margin: 0;
  color: currentColor;
  font-family: var(--cc-display-font, ui-serif, Georgia, serif);
  font-size: 1.7rem;
  line-height: 1;
  letter-spacing: -.025em;
}

.pool-correct-answer {
  margin: 18px 24px 0;
  border: 1px solid #bddfc6;
  border-radius: 15px;
  padding: 14px 15px;
  background: #f4fbf5;
}

.pool-result.is-review .pool-correct-answer { border-color: #e3c2bc; background: #fff8f6; }

.pool-correct-answer__label {
  display: block;
  margin-bottom: 6px;
  color: var(--pool-green);
  font-family: var(--cc-data-font, ui-monospace, monospace);
  font-size: .69rem;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.pool-result.is-review .pool-correct-answer__label { color: var(--pool-red); }
.pool-correct-answer__copy { font-weight: 780; line-height: 1.45; }

.pool-option:focus-visible,
.pool-save:focus-visible,
.pool-tool:focus-visible,
.pool-submit:focus-visible,
.pool-next:focus-visible,
.pool-retry:focus-visible,
.pool-exits a:focus-visible,
.pool-report :focus-visible,
.pool-note :focus-visible {
  outline: 3px solid #176fbe;
  outline-offset: 3px;
}

.pool-feedback {
  margin: 19px 24px 0;
}

.pool-feedback h3 { margin: 0 0 8px; color: var(--pool-mineral); font-size: .82rem; letter-spacing: .035em; text-transform: uppercase; }
.pool-feedback p,
.pool-feedback li { line-height: 1.62; }
.pool-explanation { color: #45352d; font-size: .93rem; line-height: 1.62; }
.pool-explanation > :first-child { margin-top: 0; }
.pool-explanation > :last-child { margin-bottom: 0; }

.pool-pearl {
  margin-top: 17px;
  border-left: 3px solid var(--pool-sun);
  padding: 10px 13px;
  color: #533815;
  background: #fff8df;
  font-size: .86rem;
  line-height: 1.55;
}

.pool-figure-teaching {
  margin-top: 16px;
  border: 1px solid var(--pool-line);
  border-radius: 12px;
  padding: 2px 13px 10px;
  background: #fffaf6;
  font-size: .84rem;
}

.pool-source-notes {
  margin: 16px 0 0;
  color: var(--pool-muted);
  font-size: .76rem;
}

.pool-rationale-disclosure {
  margin: 18px 24px 0;
  border: 1px solid var(--pool-line);
  border-radius: 13px;
  background: #fffaf6;
}

.pool-rationale-disclosure summary {
  min-height: 44px;
  padding: 12px 14px;
  color: var(--pool-mineral);
  font-size: .84rem;
  font-weight: 800;
  cursor: pointer;
}

.pool-rationales {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0 16px 16px 34px;
  color: #57463c;
  font-size: .8rem;
  line-height: 1.5;
}

.pool-next {
  width: 100%;
  border: 0;
  padding: 12px 20px;
  color: #fff;
  background: var(--pool-coral);
  box-shadow: 0 8px 20px rgba(194, 47, 20, .22);
}

.pool-retry {
  border: 1px solid var(--pool-red);
  padding: 10px 16px;
  color: var(--pool-red);
  background: #fff;
}

.pool-error {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: 18px;
  border: 1px solid #e9b9b2;
  border-radius: 12px;
  padding: 12px 14px;
  color: var(--pool-red);
  background: var(--pool-red-soft);
}

.pool-learning-tools {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 20px 24px 0;
  border-top: 1px dashed var(--pool-line);
  padding-top: 18px;
}

.pool-note,
.pool-report { width: 100%; }
.pool-note summary,
.pool-report summary { cursor: pointer; color: var(--pool-muted); font-weight: 750; }
.pool-note textarea,
.pool-report textarea,
.pool-report select {
  width: 100%;
  margin-top: 10px;
  border: 1px solid var(--pool-line);
  border-radius: 10px;
  padding: 11px 12px;
  color: var(--pool-ink);
  background: #fff;
  font: inherit;
}
.pool-note textarea,
.pool-report textarea { min-height: 90px; resize: vertical; }
.pool-note button,
.pool-report button { margin-top: 8px; border: 0; padding: 9px 15px; color: #fff; background: var(--pool-ink); }
.pool-tool-status { min-height: 1.3em; margin: 6px 0 0; color: var(--pool-muted); font-size: .78rem; }

.pool-rail__action {
  position: sticky;
  z-index: 3;
  bottom: 0;
  display: grid;
  gap: 9px;
  margin-top: 18px;
  border-top: 1px solid var(--pool-line);
  padding: 14px 24px 20px;
  background: linear-gradient(180deg, rgba(255, 253, 249, .88), var(--pool-paper) 24%);
  box-shadow: 0 -10px 22px rgba(62, 38, 26, .05);
}

.pool-progress-inline {
  color: var(--pool-amber);
  font-family: var(--cc-data-font, ui-monospace, monospace);
  font-size: .68rem;
  font-weight: 750;
  line-height: 1.35;
  text-align: center;
}

.pool-verdict:focus { outline: none; }
.pool-verdict:focus-visible { outline: 3px solid #176fbe; outline-offset: 4px; }

.pool-state {
  padding: clamp(34px, 8vw, 72px);
  text-align: center;
}
.pool-state h2 { margin: 0 0 8px; font-family: var(--cc-display-font, ui-serif, Georgia, serif); font-size: 1.8rem; }
.pool-state p { max-width: 42ch; margin: 0 auto; color: var(--pool-muted); line-height: 1.6; }
.pool-state__notch {
  display: block;
  width: 18px;
  height: 18px;
  margin: 0 auto 20px;
  border-radius: 50%;
  background: var(--pool-sun);
  box-shadow: 0 0 0 6px #fff0bd;
}

.pool-exits {
  display: flex;
  justify-content: center;
  gap: 22px;
  margin-top: 22px;
}
.pool-exits a { min-height: 44px; padding: 11px 4px; color: var(--pool-muted); font-weight: 700; text-underline-offset: 4px; }
.pool-noscript { padding: 20px; text-align: center; }

@media (prefers-reduced-motion: no-preference) {
  .pool-option,
  .pool-next,
  .pool-save,
  .pool-submit { transition: transform 160ms ease, border-color 160ms ease, background-color 160ms ease; }
  .pool-option:hover:not(:disabled),
  .pool-next:hover,
  .pool-submit:hover:not(:disabled) { transform: translateY(-1px); }
  .pool-rail__loading span { animation: pool-spin 900ms linear infinite; }
}

@keyframes pool-spin { to { transform: rotate(360deg); } }

@media (max-width: 1080px) {
  .pool-main { width: min(100% - 24px, 880px); }
  .pool-workspace { grid-template-columns: minmax(0, 1fr); }
  .pool-mount { order: 0; }
  .pool-rail {
    position: static;
    order: -1;
    max-height: none;
    overflow: visible;
    border-radius: 22px;
  }
  .pool-rail.is-revealed { order: 1; }
  .pool-submit-complete { display: none; }
}

@media (max-width: 640px) {
  .pool-main { width: min(100% - 20px, 880px); padding: 28px 0 112px; }
  .pool-heading { align-items: flex-start; flex-direction: column; gap: 10px; }
  .pool-progress { max-width: none; text-align: left; }
  .pool-leaf,
  .pool-state { border-radius: 6px 22px 22px 6px; }
  .pool-leaf__head { padding: 22px 20px 16px 25px; }
  .pool-question { padding: 25px 19px 28px 24px; }
  .pool-option { grid-template-columns: 34px minmax(0, 1fr); }
  .pool-option__label { grid-column: 2; }
  .pool-submit-row { align-items: stretch; flex-direction: column; }
  .pool-submit { width: 100%; }
  .pool-progress-card { padding: 20px 18px 22px; }
  .pool-progress-card::after { inset-inline: 18px; }
  .pool-count { padding-inline: 8px; }
  .pool-matrix { gap: 8px 5px; }
  .pool-result__head { padding-inline: 19px; }
  .pool-correct-answer,
  .pool-feedback,
  .pool-rationale-disclosure,
  .pool-learning-tools { margin-inline: 19px; }
  .pool-rail__action { bottom: calc(74px + env(safe-area-inset-bottom)); padding-inline: 19px; }
}

body.pool-page.medcue-reader {
  --pool-paper: var(--color-surface);
  --pool-ink: var(--color-text);
  --pool-muted: var(--color-text-secondary);
  --pool-line: var(--color-border);
  --pool-coral: var(--color-brand);
  --pool-coral-soft: var(--color-brand-subtle);
  --pool-mineral: var(--color-text-secondary);
  --pool-mineral-soft: var(--color-bg-subtle);
  --pool-green: var(--color-success);
  --pool-green-soft: var(--color-success-subtle);
  --pool-red: var(--color-error);
  --pool-red-soft: var(--color-error-subtle);
  --pool-amber: var(--color-warning);
  background: var(--color-bg-subtle);
}
html body.pool-page.medcue-reader main.pool-main { width: calc(100% - 40px); max-width: 1600px; margin: 0 auto; padding: 14px 0 32px; }
body.pool-page.medcue-reader .pool-heading { gap: 12px; margin-bottom: 8px; }
body.pool-page.medcue-reader .pool-heading h1 { margin: 0; font: 650 24px/1.25 var(--font-body) !important; }
body.pool-page.medcue-reader .pool-eyebrow { margin: 0 0 4px; font: 500 13px/1.3 var(--font-body); letter-spacing: 0; text-transform: none; }
body.pool-page.medcue-reader .pool-status { margin-bottom: 10px; font-size: 13px; }
body.pool-page.medcue-reader .pool-workspace { grid-template-columns: minmax(0, 1fr) 248px; gap: 18px; }
body.pool-page.medcue-reader :is(.pool-leaf, .pool-state, .pool-rail) { border: 1px solid var(--pool-line); border-radius: 6px; box-shadow: none; background: var(--color-surface); }
body.pool-page.medcue-reader :is(.pool-leaf, .pool-state)::before { display: none; }
body.pool-page.medcue-reader .pool-leaf { overflow: visible; }
body.pool-page.medcue-reader .pool-leaf__head { align-items: center; gap: 12px; padding: 10px 16px; }
body.pool-page.medcue-reader .pool-leaf__queue { display: inline; margin-right: 10px; font: 500 12px/1.3 var(--font-body); letter-spacing: 0; text-transform: none; }
body.pool-page.medcue-reader .pool-leaf__system { display: inline; font: 650 15px/1.4 var(--font-body); }
body.pool-page.medcue-reader .pool-leaf__category { margin-top: 3px; font-size: 12px; }
body.pool-page.medcue-reader .pool-question { padding: 18px; }
body.pool-page.medcue-reader :is(.pool-evidence, .pool-answer) { min-width: 0; }
body.pool-page.medcue-reader .pool-stem { max-width: 68ch; font: 400 var(--medcue-user-font-size, 17px)/1.5 var(--font-clinical); }
body.pool-page.medcue-reader .pool-lead { margin: 0 0 14px; font: 650 var(--medcue-user-font-size, 17px)/1.45 var(--font-clinical); }
body.pool-page.medcue-reader .pool-options { gap: 8px; margin: 0; }
body.pool-page.medcue-reader .pool-option { min-height: 48px; grid-template-columns: 26px minmax(0, 1fr); gap: 10px; padding: 10px 12px; border-width: 1px; border-radius: 5px; font: 400 var(--medcue-user-font-size, 17px)/1.4 var(--font-clinical); }
body.pool-page.medcue-reader .pool-option__letter { width: 26px; height: 26px; border-radius: 4px; font: 600 13px/1 var(--font-body); }
body.pool-page.medcue-reader .pool-option:disabled { color: var(--pool-ink) !important; background: var(--color-surface) !important; }
body.pool-page.medcue-reader .pool-option.is-correct { color: var(--color-success) !important; background: var(--color-success-subtle) !important; border-color: var(--color-success) !important; }
body.pool-page.medcue-reader .pool-option.is-wrong { color: var(--color-error) !important; background: var(--color-brand-subtle) !important; border-color: var(--color-brand) !important; }
body.pool-page.medcue-reader .pool-option__label { grid-column: 2; font: 600 12px/1.3 var(--font-body); }
body.pool-page.medcue-reader .pool-option__label:empty { display: none; }
body.pool-page.medcue-reader .pool-answer-controls { position: static; background: var(--color-surface); }
body.pool-page.medcue-reader .pool-submit-row { flex-wrap: wrap; gap: 8px; margin-top: 14px; padding: 12px 0 0; }
body.pool-page.medcue-reader .pool-submit { min-width: 140px; margin-left: auto; border-radius: 5px; background: var(--color-brand); box-shadow: none; font: 600 14px/1.3 var(--font-body); }
body.pool-page.medcue-reader .pool-submit:disabled { color: var(--color-text-secondary); background: var(--color-disabled-bg); }
body.pool-page.medcue-reader .pool-submit-hint { font-size: 12px; }
body.pool-page.medcue-reader .pool-save { padding: 8px 10px; border-radius: 5px; font: 600 12px/1.3 var(--font-body); }
body.pool-page.medcue-reader .pool-figure-button { display: block; width: 100%; margin-top: 16px; padding: 8px; border: 1px solid var(--pool-line); border-radius: 5px; background: var(--color-bg-subtle); color: var(--color-link); cursor: zoom-in; }
body.pool-page.medcue-reader .pool-figure-button .pool-figure { width: 100%; max-height: 280px; margin: 0; border: 0; border-radius: 0; }
body.pool-page.medcue-reader .pool-figure-button > span { display: block; padding-top: 8px; font: 600 13px/1.4 var(--font-body); }
body.pool-page.medcue-reader .pool-rail { top: 80px; max-height: calc(100dvh - 210px); }
body.pool-page.medcue-reader .pool-progress-card { padding: var(--space-4); background: var(--color-surface); }
body.pool-page.medcue-reader .pool-counts { grid-template-columns: minmax(0, 1fr); gap: var(--space-2); }
body.pool-page.medcue-reader .pool-count { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-3); padding: 0; border: 0; border-radius: 0; background: none; }
body.pool-page.medcue-reader .pool-count dt { overflow: visible; text-overflow: clip; font: 500 var(--type-caption)/var(--leading-body) var(--font-body); letter-spacing: 0; text-transform: none; }
body.pool-page.medcue-reader .pool-count dd { margin: 0; font: 600 var(--type-body)/var(--leading-body) var(--font-body); font-variant-numeric: tabular-nums; }
body.pool-page.medcue-reader .pool-feedback h3 { color: var(--color-text); font: 600 var(--type-label)/var(--leading-body) var(--font-body); }
body.pool-page.medcue-reader .pool-pearl { padding: var(--space-3); border-color: var(--color-brand); color: var(--color-text); background: var(--color-bg-subtle); font: 400 var(--type-clinical)/var(--leading-clinical) var(--font-clinical); }
body.pool-page.medcue-reader .pool-pearl__copy > :first-child { margin-top: 0; }
body.pool-page.medcue-reader .pool-pearl__copy > :last-child { margin-bottom: 0; }
body.pool-page.medcue-reader .pool-source-notes { padding-top: var(--space-4); border-top: 1px solid var(--color-border); color: var(--color-text-secondary); font: 400 var(--type-caption)/var(--leading-body) var(--font-body); overflow-wrap: anywhere; }
body.pool-page.medcue-reader .pool-source-notes p { margin: 0; }
body.pool-page.medcue-reader .pool-learning-outcome { margin-top: var(--space-4); color: var(--color-text-secondary); font: 400 var(--type-caption)/var(--leading-body) var(--font-body); }
body.pool-page.medcue-reader .pool-learning-outcome p { margin: 0; }
body.pool-page.medcue-reader .pool-progress-card::after { display: none; }
body.pool-page.medcue-reader .pool-progress-track__fill { background: var(--color-brand); }
body.pool-page.medcue-reader :is(.pool-rationale-disclosure, .pool-figure-teaching) { border-radius: 5px; background: var(--color-bg-subtle); }
body.pool-page.medcue-reader :is(.pool-explanation, .pool-rationales, .pool-figure-teaching) { color: var(--color-text); font: 400 var(--medcue-user-font-size, 17px)/1.5 var(--font-clinical); }
body.pool-page.medcue-reader .pool-rail__action { padding: 12px 14px; background: var(--color-surface); box-shadow: none; }
body.pool-page.medcue-reader .pool-next { border-radius: 5px; background: var(--color-brand); box-shadow: none; }
body.pool-page.medcue-reader .pool-progress-card h2 { font: 650 18px/1.3 var(--font-body); }
body.pool-page.medcue-reader :is(.pool-progress-card__eyebrow, .pool-result__eyebrow, .pool-feedback h3) { text-transform: none; letter-spacing: 0; }
body.pool-page.medcue-reader .pool-exits { justify-content: flex-start; gap: 16px; margin-top: 12px; font: 500 13px/1.4 var(--font-body); }
body.pool-page.medcue-reader :is(.pool-evidence, .pool-figure-button):focus-visible { outline: 3px solid var(--color-brand); outline-offset: 3px; }
@media (min-width: 1200px) {
  body.pool-page.medcue-reader .pool-question { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; align-items: start; }
  body.pool-page.medcue-reader :is(.pool-evidence, .pool-answer) { max-height: none; overflow: visible; }
  body.pool-page.medcue-reader .pool-answer { padding-right: 0; position: sticky; top: 84px; }
  html[data-text-scale='large'] body.pool-page.medcue-reader .pool-question,
  html[data-text-scale='larger'] body.pool-page.medcue-reader .pool-question { display: block; }
  html[data-text-scale='large'] body.pool-page.medcue-reader :is(.pool-evidence, .pool-answer),
  html[data-text-scale='larger'] body.pool-page.medcue-reader :is(.pool-evidence, .pool-answer) { max-height: none; overflow: visible; }
}
@media (max-width: 1199px) {
  body.pool-page.medcue-reader .pool-answer { margin-top: 20px; }
}
@media (max-width: 1080px) {
  body.pool-page.medcue-reader .pool-workspace { grid-template-columns: minmax(0, 1fr); }
  body.pool-page.medcue-reader .pool-rail { max-height: none; }
}
@media (max-width: 640px) {
  html body.pool-page.medcue-reader main.pool-main { width: calc(100% - 24px); padding-top: 16px; padding-bottom: calc(88px + env(safe-area-inset-bottom)); }
  body.pool-page.medcue-reader .pool-heading h1 { font-size: 22px; }
  body.pool-page.medcue-reader .pool-leaf__head { padding: 12px 16px; }
  body.pool-page.medcue-reader .pool-question { padding: 16px; }
  body.pool-page.medcue-reader .pool-submit-row { padding: 10px 0 calc(10px + env(safe-area-inset-bottom)); }
  body.pool-page.medcue-reader .pool-submit-hint { display: none; }
  body.pool-page.medcue-reader .pool-submit { width: 100%; }
  body.pool-page.medcue-reader .pool-rail__action { bottom: 0; padding-bottom: calc(12px + env(safe-area-inset-bottom)); }
}

/* The case leads on smaller screens; progress supports the reading task. */
body.pool-page.medcue-reader .pool-leaf { scroll-margin-top: 100px; }
body.pool-page.medcue-reader .pool-leaf:focus { outline: none; }
body.pool-page.medcue-reader .pool-verdict { scroll-margin-top: 100px; }
body.pool-page.medcue-reader .pool-matrix__cell.is-unanswered { color: var(--color-text-secondary); }
body.pool-page.medcue-reader .pool-progress-details > summary { padding: 14px; font: 600 14px/1.5 var(--font-body); cursor: pointer; }
body.pool-page.medcue-reader .question-note-status { font: 14px/1.5 var(--font-body); color: var(--color-text-secondary); }
body.pool-page.medcue-reader .pool-note-editor button { min-height: 44px; }
body.pool-page.medcue-reader .pool-rail[hidden] { display: none; }
@media(min-width:1081px) {
  body.pool-page.medcue-reader .pool-workspace:has(.pool-rail.is-revealed) { grid-template-columns: minmax(0, 1fr) minmax(360px, .8fr); }
  body.pool-page.medcue-reader .pool-workspace:has(.pool-rail.is-revealed) .pool-question { display: block; }
  body.pool-page.medcue-reader .pool-workspace:has(.pool-rail.is-revealed) .pool-answer { position: static; margin-top: var(--space-5); }
}
@media(max-width:1080px) {
  body.pool-page.medcue-reader .pool-rail { order: 1; }
  body.pool-page.medcue-reader .pool-rail:not(.is-revealed) .pool-rail__prompt { display: none; }
}
body.pool-page.medcue-reader .pool-question--lead-only { display: block; }
body.pool-page.medcue-reader .pool-question--lead-only .pool-answer { margin-top: 0; }
html body.mc-app.pool-page.medcue-reader .pool-leaf:focus-visible { outline: none !important; }

/* Quiet progress and explicit answer states support the clinical decision. */
body.pool-page.medcue-reader .pool-progress { color: var(--color-text-secondary); font: 500 var(--type-caption)/1.45 var(--font-body); }
body.pool-page.medcue-reader .pool-option__letter { color: var(--color-text-secondary); background: var(--color-bg-subtle); }
body.pool-page.medcue-reader .pool-option.is-selected { border-color: var(--color-brand); background: var(--color-brand-subtle); }
body.pool-page.medcue-reader .pool-option.is-selected .pool-option__letter { color: var(--color-text-inverse); background: var(--color-brand); }
body.pool-page.medcue-reader .pool-matrix { background: none; gap: 8px; grid-template-columns: repeat(5, minmax(0, 1fr)); }
body.pool-page.medcue-reader .pool-matrix__cell { width: 100%; border-radius: var(--radius-xs); border-color: var(--color-border); background: var(--color-bg-subtle); color: var(--color-text-secondary); }
body.pool-page.medcue-reader .pool-matrix__cell.is-current { border-color: var(--color-brand); color: var(--color-brand); background: var(--color-brand-subtle); box-shadow: none; }
body.pool-page.medcue-reader .pool-matrix__cell.is-correct { color: var(--color-text-inverse); background: var(--color-success); border-color: var(--color-success); }
body.pool-page.medcue-reader .pool-matrix__cell.is-wrong { color: var(--color-text-inverse); background: var(--color-error); border-color: var(--color-error); }
body.pool-page.medcue-reader .pool-progress-track { background: var(--color-bg-subtle); }
body.pool-page.medcue-reader .pool-progress-card__streak { color: var(--color-text-secondary); border-color: var(--color-border); background: var(--color-bg-subtle); border-radius: var(--radius-xs); }
body.pool-page.medcue-reader .pool-rail__prompt { display: block; padding: var(--space-4); background: var(--color-bg-subtle); color: var(--color-text-secondary); }
body.pool-page.medcue-reader .pool-rail__prompt-mark { display: none; }
body.pool-page.medcue-reader .pool-rail__prompt p { font: 400 var(--type-caption)/1.5 var(--font-body); }
body.pool-page.medcue-reader .pool-result__head { background: var(--color-success-subtle); }
body.pool-page.medcue-reader .pool-result.is-review .pool-result__head { background: var(--color-error-subtle); }
body.pool-page.medcue-reader .pool-result__mark { border-radius: var(--radius-sm); box-shadow: none; }
body.pool-page.medcue-reader .pool-correct-answer { border-radius: var(--radius-sm); border-color: var(--color-success); background: var(--color-success-subtle); }
body.pool-page.medcue-reader .pool-result.is-review .pool-correct-answer { border-color: var(--color-error); background: var(--color-error-subtle); }
body.pool-page.medcue-reader .pool-option:hover:not(:disabled) { transform: none; border-color: var(--color-brand); background: var(--color-brand-subtle); }
@media (forced-colors: active) {
  body.pool-page.medcue-reader .pool-option.is-selected { outline: 2px solid Highlight; outline-offset: 1px; }
}
