.concept-review-list { container-type: inline-size; margin: .75rem 0 1rem; border: 1px solid #d8dde3; border-radius: .6rem; background: var(--bs-body-bg, #fff); color: var(--bs-body-color, #252b32); }
.concept-review-table { width: 100%; table-layout: fixed; border-collapse: separate; border-spacing: 0; font-size: .9rem; }
.concept-review-table th, .concept-review-table td { padding: 1rem .75rem; vertical-align: top; overflow-wrap: anywhere; }
.concept-review-table th { background: #f5f7f9; color: #59636f; font-size: .76rem; font-weight: 600; text-align: left; border-bottom: 1px solid #d8dde3; }
.concept-review-table th:first-child { border-top-left-radius: .6rem; }
.concept-review-table th:last-child { border-top-right-radius: .6rem; }
.concept-review-table th.concept-review-copy { width: 51%; }
.concept-review-table th.concept-review-performance { width: 13%; }
.concept-review-table th.concept-review-importance { width: 16%; }
.concept-review-table th.concept-review-exam { width: 10%; }
.concept-review-table th.concept-review-action-cell { width: 10%; }
.concept-review-table-simple th.concept-review-copy { width: 70%; }
.concept-review-table-simple th.concept-review-performance { width: 16%; }
.concept-review-table-simple th.concept-review-action-cell { width: 14%; }
.concept-review-item + .concept-review-item .concept-review-row > td { border-top: 1px solid #e1e5ea; }
.concept-review-text { line-height: 1.5; font-weight: 600; }
.concept-review-text p:last-child { margin-bottom: 0; }
.concept-review-label { display: none; }
.concept-review-header-hint, .concept-review-attempts { display: block; color: #68727e; font-size: .76rem; font-weight: 400; margin-top: .3rem; }
.concept-review-legend { font-size: .8rem; color: #68727e; margin: 1rem 0 .5rem; }
.concept-review-score { display: inline-block; padding: .3rem .5rem; border-radius: .4rem; font-size: .8rem; font-weight: 600; line-height: 1.4; }
.concept-review-score-red { background: #fbe7e7; color: #8a3037; }
.concept-review-score-orange { background: #fff0db; color: #825414; }
.concept-review-score-green { background: #e3f3e9; color: #286342; }
.concept-review-score-neutral { background: #eef0f3; color: #59636f; }
.concept-review-percentile { font-variant-numeric: tabular-nums; font-weight: 600; }
.concept-review-control, .concept-review-rate { font: inherit; cursor: pointer; transition: background-color .15s, color .15s; }
.concept-review-control { display: inline-flex; align-items: center; justify-content: center; min-height: 2.25rem; padding: .35rem .45rem; border: 0; border-radius: .35rem; background: transparent; color: #365a80; font-size: .82rem; line-height: 1.3; text-decoration: none; }
.concept-review-control:hover { background: #edf3f8; color: #22476e; }
.concept-review-more::after { content: ''; width: .4rem; height: .4rem; margin: -.2rem 0 0 .5rem; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); }
.concept-review-more[aria-expanded="true"]::after { transform: rotate(225deg); margin-top: .2rem; }
.concept-review-rating { display: inline-flex; max-width: 100%; border: 1px solid #dce2e8; border-radius: .4rem; padding: .15rem; gap: .1rem; background: #f7f8fa; }
.concept-review-rate { min-height: 2rem; padding: .25rem .35rem; border: 0; border-radius: .25rem; color: #66717d; background: transparent; font-size: .75rem; white-space: nowrap; }
.concept-review-rate:hover { background: #e9edf2; }
.concept-review-rate[aria-pressed="true"] { color: #334d67; background: #dfe8f1; font-weight: 600; }
.concept-review-control:focus-visible, .concept-review-rate:focus-visible, .concept-review-item a:focus-visible, .concept-review-note-title:focus-visible, .concept-review-history-list:focus-visible { outline: 2px solid #416f9c; outline-offset: 3px; }
.concept-review-control:disabled, .concept-review-rate:disabled { opacity: .55; cursor: wait; }
.concept-review-thumbnail { margin-top: .65rem; }
.concept-review-thumbnail .rht-concept-image-thumb { display: inline-block; border-radius: .3rem; cursor: zoom-in; }
.concept-review-thumbnail img { width: 5rem; height: 3.5rem; object-fit: contain; border: 1px solid #e1e5ea; border-radius: .3rem; }
.concept-review-detail[hidden] { display: none !important; }
.concept-review-table .concept-review-detail > td { padding: 0; }
.concept-review-detail-content { padding: 1rem 1.25rem; background: #f8fafc; border-top: 1px solid #e1e5ea; }
.concept-review-explanation { min-width: 0; line-height: 1.65; }
.concept-review-detail img, .concept-review-explanation img { max-width: 100%; height: auto; }
.concept-review-detail-heading { margin-bottom: 1rem; }
.concept-review-note-title { font: inherit; font-size: 1rem; font-weight: 600; line-height: 1.5; color: #365a80; text-align: left; cursor: pointer; background: transparent; border: 0; padding: .25rem 0; text-decoration: underline; text-underline-offset: .2rem; }
.concept-review-note-title:hover { color: #22476e; }
.concept-review-detail-columns { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 1.5rem; }
.concept-review-history { min-width: 0; padding-left: 1.25rem; border-left: 1px solid #d8dde3; font-size: .82rem; }
.concept-review-history h3 { font-size: .85rem; font-weight: 600; margin: 0 0 .75rem; }
.concept-review-history-list { padding-left: 1.1rem; max-height: 22rem; overflow-y: auto; overscroll-behavior: contain; }
.concept-review-history li { margin-bottom: .4rem; }
.concept-review-history-output { overflow-wrap: anywhere; }
.concept-review-status:not(:empty) { margin-top: .4rem; font-size: .75rem; }
.concept-review-image-dialog { max-width: 95vw; max-height: 95vh; padding: 1rem; border: 0; border-radius: .5rem; }
.concept-review-image-dialog::backdrop { background: #0009; }
.concept-review-image-dialog img { display: block; max-width: 85vw; max-height: 80vh; object-fit: contain; }
.concept-review-image-close { display: block; margin: 0 0 .75rem auto; width: 2.75rem; height: 2.75rem; font-size: 1.75rem; line-height: 1; border: 0; border-radius: .4rem; background: #edf0f3; color: #334d67; cursor: pointer; }
.dark-theme .concept-review-list { background: #20262e; color: #eee; }
.dark-theme .concept-review-table th, .dark-theme .concept-review-detail-content { background: #29323d; color: #c7d0da; }
.dark-theme .concept-review-label, .dark-theme .concept-review-attempts, .dark-theme .concept-review-legend, .dark-theme .concept-review-header-hint { color: #b9c2cd; }
.dark-theme .concept-review-control, .dark-theme .concept-review-note-title { color: #bdd2e6; }
.dark-theme .concept-review-control:hover { background: #344454; }
@container (max-width: 899px) {
  /* Explicit table roles in the markup preserve relationships when rows stack. */
  .concept-review-table, .concept-review-item { display: block; }
  .concept-review-table thead { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .concept-review-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: .75rem 1rem; padding: 1rem; }
  .concept-review-table .concept-review-row > td { display: block; padding: 0; border: 0; min-width: 0; }
  .concept-review-item + .concept-review-item { border-top: 1px solid #e1e5ea; }
  .concept-review-item + .concept-review-item .concept-review-row > td { border-top: 0; }
  .concept-review-copy { grid-column: 1 / -1; }
  .concept-review-action-cell { grid-column: 2; align-self: center; justify-self: end; }
  .concept-review-label { display: block; font-size: .75rem; color: #68727e; margin-bottom: .3rem; }
  .concept-review-performance > .concept-review-label, .concept-review-importance > .concept-review-label {
    position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip-path: inset(50%); white-space: nowrap;
  }
  .concept-review-detail, .concept-review-detail > td { display: block; }
  .concept-review-control { min-height: 2.75rem; }
  .concept-review-rate { min-height: 2.5rem; }
}
@container (max-width: 749px) {
  .concept-review-detail-columns { grid-template-columns: minmax(0, 1fr); }
  .concept-review-history { padding: 1rem 0 0; border-left: 0; border-top: 1px solid #d8dde3; }
}
@container (max-width: 379px) {
  .concept-review-detail-content { padding: 1rem; }
}
@container (max-width: 299px) {
  .concept-review-row { grid-template-columns: minmax(0, 1fr) auto; }
  .concept-review-performance, .concept-review-importance { grid-column: 1 / -1; }
  .concept-review-exam, .concept-review-table-simple .concept-review-performance { grid-column: 1; }
}
@media (min-width: 992px) { #concept-review-filters.collapse { display: block; } }
@media (prefers-reduced-motion: reduce) { .concept-review-control, .concept-review-rate { transition: none; } }
