/* Focused practice room. The case content and answer checks live in solo.js. */
.solo-header,
.solo-layout,
.solo-summary {
  --solo-ink: #142d49;
  --solo-muted: #596d7e;
  --solo-teal: #087f83;
  --solo-line: #dce5ed;
  --solo-soft: #f3f7fb;
  color: var(--solo-ink);
  font-family: "Source Sans 3", "Segoe UI", sans-serif;
}

.solo-header *,
.solo-layout *,
.solo-summary * { box-sizing: border-box; }

.table-scroll-hint { display: none; }
@media(max-width:720px) { .solo-exhibit-panel .table-scroll-hint { display:block; margin:8px 0 0; color:#596d7e; font-size:12px; } }

.solo-header h1,
.solo-layout h2,
.solo-layout h3,
.solo-summary h1,
.solo-summary h2,
.solo-summary h3 {
  color: var(--solo-ink);
  font-family: Manrope, "Segoe UI", sans-serif;
  letter-spacing: -.035em;
}

.solo-header a:focus-visible,
.solo-header button:focus-visible,
.solo-layout a:focus-visible,
.solo-layout button:focus-visible,
.solo-layout input:focus-visible,
.solo-layout textarea:focus-visible,
.solo-layout summary:focus-visible,
.solo-summary a:focus-visible,
.solo-summary button:focus-visible {
  outline: 3px solid #087f83;
  outline-offset: 4px;
}

.solo-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 25px;
  padding-bottom: 25px;
  margin-bottom: 27px;
  border-bottom: 1px solid var(--solo-line);
}

.solo-case-title { min-width: 0; }
.solo-case-title .back-link { margin-bottom: 17px; font-size: 13px; }
.solo-case-title .eyebrow { font-size: 11px; margin-bottom: 9px; letter-spacing: .09em; color: var(--solo-teal); }
.solo-case-title h1 { font-size: clamp(27px, 2.7vw, 39px); line-height: 1.18; margin: 0; font-weight: 750; }
.solo-case-title > p:last-child:not(.eyebrow) { color: var(--solo-muted); font-size: 14px; margin: 9px 0 0; }

.solo-session-tools {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
  padding: 12px 14px;
  border: 1px solid var(--solo-line);
  border-radius: 7px;
  background: #fff;
}
.solo-session-tools > label,
.solo-session-tools > span:first-child { font-size: 12px; color: var(--solo-muted); }
.solo-session-tools time,
.solo-session-tools .timer-value,
.solo-session-tools .solo-time { font: 650 20px Manrope, "Segoe UI", sans-serif; letter-spacing: -.035em; font-variant-numeric: tabular-nums; color: var(--solo-ink); min-width: 57px; }
.solo-session-tools .btn { min-height: 35px; padding: 7px 11px; font-size: 11px; }
.solo-session-tools p { margin: 0; }
.solo-session-tools { flex-direction: column; gap: 5px; min-width: 155px; }
.solo-session-tools > div { display: flex; align-items: center; gap: 12px; }
.solo-session-tools #case-timer { font: 650 22px Manrope, "Segoe UI", sans-serif; font-variant-numeric: tabular-nums; letter-spacing: -.04em; min-width: 60px; }
.solo-session-tools > small { color: var(--solo-muted); font-size: 10px; }

.solo-layout {
  display: grid;
  grid-template-columns: 235px minmax(0, 1fr);
  gap: 27px;
  align-items: start;
}

.solo-navigation {
  position: sticky;
  top: 24px;
  min-width: 0;
  padding: 0;
  background: transparent;
  border: 0;
}
.solo-nav-heading { font-size: 11px; font-weight: 700; color: #63788a; letter-spacing: .09em; text-transform: uppercase; padding: 0 12px; margin: 0 0 15px; }
.solo-nav-heading small { display: block; margin-top: 5px; font-size: 11px; letter-spacing: 0; text-transform: none; color: #8495a3; font-weight: 400; }
.solo-navigation nav,
.solo-navigation .solo-steps { display: grid; gap: 6px; padding: 0; margin: 0; }
.solo-navigation .solo-step {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  padding: 13px 11px;
  margin: 0 0 5px;
  color: var(--solo-muted);
  background: transparent;
  border: 1px solid transparent;
  border-radius: 6px;
  text-decoration: none;
  line-height: 1.45;
  transition: background .16s, border-color .16s;
}
.solo-navigation .solo-step:hover { background: #edf3f8; color: var(--solo-ink); }
.solo-navigation .solo-step::after { display: none; }
.solo-navigation .solo-step.active,
.solo-navigation .solo-step[aria-current="step"],
.solo-navigation .solo-step[aria-current="page"] { background: #e9f4f3; color: var(--solo-ink); border-color: #c1dedb; }
.solo-step .solo-step-num {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 27px;
  height: 27px;
  min-width: 27px;
  margin-top: 1px;
  font: 650 11px Manrope, "Segoe UI", sans-serif;
  color: #708395;
  border: 1px solid #cbd7e0;
  border-radius: 50%;
  background: #fff;
  line-height: 1;
}
.solo-step.active .solo-step-num,
.solo-step[aria-current] .solo-step-num { color: #fff; background: var(--solo-teal); border-color: var(--solo-teal); }
.solo-step.correct:not(.active) .solo-step-num,
.solo-step.reviewed:not(.active) .solo-step-num { border-color: #8dbeb3; background: #e5f3ed; color: #26755c; }
.solo-step > div { min-width: 0; }
.solo-step strong { display: block; font-size: 14px; font-weight: 650; color: inherit; line-height: 1.4; }
.solo-step small { display: block; font-size: 11px; line-height: 1.5; color: #758696; margin-top: 3px; }
.solo-step.correct small { color: #33795f; }
.solo-step.reviewed small { color: #797044; }
.solo-navigation > .btn,
.solo-navigation > .button-row { margin-top: 16px; width: 100%; }
.solo-navigation > .btn { justify-content: center; font-size: 12px; }
.solo-navigation .solo-brief { margin-top: 24px; border-top: 1px solid var(--solo-line); padding: 16px 11px 0; }
.solo-navigation > .solo-support { padding: 0 11px; font-size: 11px; }
.solo-navigation > .inline-link { display: inline-flex; margin: 14px 11px 0; font-size: 12px; }
.solo-brief summary { cursor: pointer; font-size: 13px; font-weight: 650; color: var(--solo-ink); line-height: 1.6; }
.solo-brief p { font-size: 13px; line-height: 1.8; color: var(--solo-muted); margin: 13px 0 0; }
.solo-brief[open] { max-height: min(55vh, 430px); overflow-y: auto; padding-right: 9px; }

.solo-main { min-width: 0; }
.solo-layout [hidden] { display: none !important; }
.solo-main fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.solo-main legend { max-width: 100%; padding: 0; margin-bottom: 14px; font-size: 17px; font-weight: 650; line-height: 1.55; }
.solo-main p { line-height: 1.75; }
.solo-main .field { font-size: 14px; line-height: 1.5; gap: 8px; }
.solo-main .field textarea,
.solo-main .field input,
.solo-main .field select { border: 1px solid #c9d8e3; border-radius: 5px; padding: 12px 13px; font-family: "Source Sans 3", "Segoe UI", sans-serif; font-size: 16px; line-height: 1.65; background: #fff; color: var(--solo-ink); }
.solo-main .field textarea { min-height: 130px; resize: vertical; }
.solo-main .field textarea::placeholder,
.solo-main .field input::placeholder { color: #7a8a98; opacity: 1; }
.solo-main .field-help { font-size: 12px; line-height: 1.6; }
.solo-main .btn { border-radius: 5px; min-height: 43px; font-size: 13px; padding: 11px 17px; }
.solo-main .btn-sm { min-height: 35px; padding: 7px 11px; font-size: 12px; }
.solo-main .btn-primary { background: var(--solo-teal); border-color: var(--solo-teal); color: white; }
.solo-main .btn-primary:hover { background: #066b70; border-color: #066b70; }
.solo-main .btn-quiet { color: #516b80; }
.solo-main .button-row { gap: 10px; }

.solo-question,
.solo-welcome,
.solo-recommendation {
  background: #fff;
  border: 1px solid var(--solo-line);
  border-radius: 9px;
  padding: 30px 33px;
  box-shadow: 0 2px 5px #142d4903;
  min-width: 0;
}
.solo-kicker { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; font-size: 11px; font-weight: 650; text-transform: uppercase; letter-spacing: .07em; color: var(--solo-teal); margin: 0 0 14px; line-height: 1.6; }
.solo-kicker > span + span { color: #708496; font-weight: 500; }
.solo-question h2,
.solo-welcome h2,
.solo-recommendation h2 { font-size: clamp(23px, 2.1vw, 30px); line-height: 1.3; font-weight: 700; margin: 0 0 17px; }
.solo-question > p,
.solo-question > header > p:not(.solo-kicker),
.solo-question .solo-prompt,
.solo-welcome > p,
.solo-recommendation > p { font-size: 17px; color: #334e64; line-height: 1.8; margin: 0 0 23px; white-space: pre-line; }
.solo-question > header { margin-bottom: 21px; }
.solo-question > header > p:last-child { margin-bottom: 0; }

.solo-main .exhibit-tabs {
  display: flex;
  gap: 5px;
  flex-wrap: wrap;
  align-items: stretch;
  margin: 26px 0 0;
  padding: 0 0 1px;
  border-bottom: 1px solid #cfdae4;
}
.solo-main .exhibit-tabs button { text-align: left; background: transparent; border: 0; border-bottom: 2px solid transparent; border-radius: 0; padding: 11px 13px; color: #647b8c; font: 600 12px "Source Sans 3", "Segoe UI", sans-serif; line-height: 1.5; cursor: pointer; min-height: 42px; margin-bottom: -2px; }
.solo-main .exhibit-tabs button:hover { color: var(--solo-teal); background: #f4f8fb; }
.solo-main .exhibit-tabs button[aria-selected="true"] { color: var(--solo-teal); border-bottom-color: var(--solo-teal); background: #eef7f6; }
.solo-main .exhibit-tabs button > span { display: block; font-size: 11px; font-weight: 400; margin-top: 3px; max-width: 155px; line-height: 1.4; }
.solo-exhibit-panel { padding: 21px 22px 19px; background: #f7f9fc; border: 1px solid #e0e7ee; border-top: 0; border-radius: 0 0 6px 6px; min-width: 0; }
.solo-exhibit-panel[hidden] { display: none; }
.solo-exhibit-panel .exhibit { margin: 0; }
.solo-exhibit-panel .exhibit h3 { font-size: 16px; line-height: 1.45; letter-spacing: -.015em; margin: 0 0 10px; }
.solo-exhibit-panel .exhibit > p { font-size: 13px; color: #637a8d; line-height: 1.7; margin: 0 0 15px; }
.solo-exhibit-panel .exhibit > p:last-child { margin: 14px 0 0; font-size: 12px; }
.solo-exhibit-panel .table-wrap { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.solo-exhibit-panel .data-table { width: 100%; font-size: 14px; border-collapse: collapse; table-layout: auto; }
.solo-exhibit-panel .data-table th { color: #425f76; font-size: 12px; line-height: 1.5; font-weight: 650; background: #edf2f7; text-align: left; padding: 12px 11px; border-bottom: 1px solid #cfdce7; vertical-align: bottom; }
.solo-exhibit-panel .data-table td { padding: 13px 11px; color: #2b485f; font-size: 14px; line-height: 1.65; border-bottom: 1px solid #dce6ef; overflow-wrap: normal; vertical-align: top; }
.solo-exhibit-panel .data-table td:first-child { font-weight: 600; }
.solo-exhibit-panel .data-table tr:last-child td { border-bottom: 0; }

.solo-answer { background: #fff; border: 1px solid #d8e4ed; border-radius: 7px; padding: 23px 24px; margin-top: 26px; }
.solo-answer > h3,
.solo-answer > header > h3 { font-family: Manrope, "Segoe UI", sans-serif; font-size: 18px; margin: 0 0 16px; letter-spacing: -.025em; }
.solo-answer > .eyebrow { color: var(--solo-teal); font-size: 11px; line-height: 1.5; margin: 0 0 13px; letter-spacing: .09em; }
.solo-answer .quiz-buttons { margin-top: 18px; }
.solo-answer .quiz-hint { font-size: 14px; padding: 17px 19px; }
.solo-answer .quiz-hint p { font-size: 15px; }
.solo-answer > p,
.solo-answer .checkpoint-prompt { font-size: 16px; color: #345167; line-height: 1.8; }
.solo-answer .quiz-options { display: grid; gap: 10px; margin: 16px 0 20px; }
.solo-answer .quiz-options > label { padding: 13px 15px; border: 1px solid #d4e0e9; border-radius: 5px; background: #fff; color: #2d4960; font-size: 16px; line-height: 1.55; cursor: pointer; min-height: 48px; }
.solo-answer .quiz-options > label:hover { background: #f4f8fb; border-color: #b1cbd5; }
.solo-answer .quiz-options > label:has(input:checked) { background: #edf7f5; border-color: #529a96; }
.solo-answer .quiz-options input { accent-color: var(--solo-teal); width: 17px; height: 17px; margin-right: 10px; flex-shrink: 0; }
.solo-answer .checkpoint-form > .field { max-width: 340px; margin: 16px 0 20px; }
.solo-answer .checkpoint-form > .button-row { margin-top: 19px; }
.solo-answer .checkpoint-feedback,
.solo-answer .feedback { border-radius: 6px; padding: 17px 19px; margin-top: 20px; font-size: 15px; line-height: 1.75; }
.solo-answer .feedback h3,
.solo-answer .checkpoint-feedback h3 { font-size: 16px; margin-bottom: 8px; }
.solo-answer .feedback p,
.solo-answer .checkpoint-feedback p { font-size: 15px; line-height: 1.75; }
.solo-answer .hint { margin-top: 20px; font-size: 14px; }
.solo-answer .hint summary { font-size: 13px; color: var(--solo-teal); }
.solo-answer .hint p { font-size: 14px; line-height: 1.75; }

.solo-scratch { margin-top: 22px; padding-top: 18px; border-top: 1px solid #e0e8ee; }
.solo-scratch > summary { cursor: pointer; font-size: 13px; font-weight: 600; color: #587085; padding: 2px 0; }
.solo-scratch .field { margin-top: 16px; }
.solo-scratch textarea { min-height: 115px !important; }
.solo-scratch p { font-size: 12px; color: var(--solo-muted); margin: 10px 0 0; }
.solo-scratch > button { margin-top: 12px; }
.solo-scratch > small { display: inline-block; margin: 12px 0 0 10px; font-size: 11px; color: var(--solo-muted); }

.solo-worked { margin-top: 22px; }
.solo-worked > button { width: auto; }
.solo-worked .worked-content { margin-top: 17px; padding: 22px 24px; background: #eef6f4; border: 1px solid #d0e4de; border-radius: 7px; }
.solo-worked .worked-content[hidden] { display: none; }
.solo-worked .worked-content h3 { font-size: 18px; margin: 0 0 13px; }
.solo-worked .worked-content h4 { font-family: Manrope, "Segoe UI", sans-serif; font-size: 14px; margin: 23px 0 12px; }
.solo-worked .worked-content p { font-size: 16px; line-height: 1.8; color: #34594f; white-space: pre-line; margin-bottom: 17px; }
.solo-worked .worked-content p:last-child { margin-bottom: 0; }
.self-review { display: grid; gap: 11px; margin-top: 19px; padding-top: 18px; border-top: 1px solid #cadfd7; }
.self-review label { display: flex; align-items: flex-start; gap: 10px; font-size: 14px; line-height: 1.7; color: #31564b; cursor: pointer; }
.self-review input { flex-shrink: 0; width: 17px; height: 17px; margin: 4px 0 0; accent-color: var(--solo-teal); }
.solo-main .case-rubric { padding-left: 20px; font-size: 14px; line-height: 1.8; }
.solo-main .case-rubric li { margin-bottom: 8px; }

.solo-pagination { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding-top: 24px; margin-top: 25px; border-top: 1px solid var(--solo-line); }
.solo-pagination > p,
.solo-pagination > span { color: #738595; font-size: 12px; margin: 0; line-height: 1.5; text-align: center; }
.solo-pagination .btn { white-space: normal; }
.solo-support { color: #738596; font-size: 12px; line-height: 1.7; margin: 17px 2px 0; }
.solo-support a { color: var(--solo-teal); text-underline-offset: 3px; }

.solo-welcome > .field,
.solo-welcome > form { margin-top: 25px; }
.solo-welcome .button-row { margin-top: 18px; }
.solo-welcome #save-candidate-plan { margin-top: 13px; }
.solo-welcome #save-candidate-plan + h3 { font-size: 21px; margin-top: 32px; }
.solo-welcome .investigation-options,
.solo-main .investigation-options { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; margin-top: 26px; }
.solo-main .investigation-option { display: block; color: var(--solo-ink); text-decoration: none; border: 1px solid #d6e2eb; background: #fff; border-radius: 7px; padding: 20px; transition: background .16s, border-color .16s; }
.solo-main .investigation-option:hover { background: #f2f8fa; border-color: #82b1b5; }
.solo-main .investigation-option h3 { font-size: 17px; line-height: 1.45; margin: 0 0 10px; }
.solo-main .investigation-option p { font-size: 14px; line-height: 1.75; color: var(--solo-muted); margin: 0; }
.solo-main .investigation-option > span { display: block; color: #88a1b3; font-size: 11px; font-weight: 650; margin-bottom: 12px; }
.solo-main .investigation-option > strong { display: block; color: var(--solo-teal); font-size: 12px; font-weight: 600; margin-top: 15px; }
.solo-main .investigation-option .badge { margin-top: 14px; }
.solo-main .investigation-option .inline-link { display: inline-flex; margin-top: 14px; font-size: 12px; }
.solo-recommendation form { margin-top: 25px; }
.solo-recommendation .field textarea { min-height: 210px; }
.solo-recommendation .button-row { margin-top: 20px; }
.solo-recommendation .case-rubric { color: var(--solo-muted); }
.solo-recommendation .recommendation-prompt { background: #eef4f8; padding: 17px 19px; border-radius: 5px; margin: 22px 0; }
.solo-recommendation .recommendation-prompt > strong { font-size: 13px; }
.solo-recommendation .recommendation-prompt > p { font-size: 14px; color: var(--solo-muted); margin: 7px 0 0; }
.solo-recommendation .worked-content { margin-top: 23px; padding: 23px; background: #eef6f4; border: 1px solid #d0e4de; border-radius: 6px; }
.solo-recommendation .worked-content h3 { font-size: 19px; margin: 0 0 15px; }
.solo-recommendation .worked-content h4 { font-size: 15px; margin: 22px 0 12px; }
.solo-recommendation .worked-content p, .solo-recommendation .worked-content li { color: #34594f; font-size: 15px; line-height: 1.8; }
.solo-recommendation .worked-content ul { margin-bottom: 0; padding-left: 20px; }

.solo-summary { max-width: 920px; margin: 0 auto; }
.solo-summary > header { margin-bottom: 28px; }
.solo-summary > h2 { font-size: 30px; line-height: 1.25; margin: 0 0 17px; }
.solo-summary > p:not(.eyebrow):not(.solo-support) { color: var(--solo-muted); font-size: 17px; line-height: 1.8; }
.solo-summary > .solo-support { margin-bottom: 20px; }
.solo-summary > header .eyebrow { font-size: 11px; color: var(--solo-teal); margin-bottom: 13px; }
.solo-summary h1 { font-size: clamp(30px, 3vw, 40px); line-height: 1.18; margin: 0 0 15px; }
.solo-summary > header > p:not(.eyebrow) { font-size: 17px; line-height: 1.8; color: var(--solo-muted); max-width: 680px; margin-bottom: 0; }
.solo-summary .session-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 26px 0; }
.solo-summary .session-metrics > div,
.solo-summary .session-metrics > article { padding: 22px 23px; background: #fff; border: 1px solid var(--solo-line); border-radius: 7px; }
.solo-summary .session-metrics strong { display: block; font: 700 29px Manrope, "Segoe UI", sans-serif; letter-spacing: -.045em; color: var(--solo-ink); margin-bottom: 7px; }
.solo-summary .session-metrics span,
.solo-summary .session-metrics p { color: #698092; font-size: 13px; line-height: 1.6; margin: 0; }
.solo-summary .review-list { padding: 8px 24px; background: #fff; border: 1px solid var(--solo-line); border-radius: 8px; }
.solo-summary .review-row { display: flex; align-items: center; gap: 17px; padding: 19px 0; border-bottom: 1px solid #e0e8ef; min-width: 0; }
.solo-summary .review-row:last-child { border-bottom: 0; }
.solo-summary .review-row > span:first-child { flex: 0 0 28px; width: 28px; height: 28px; border: 1px solid #c9d9e4; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 12px; color: #6e8597; }
.solo-summary .review-row > div { min-width: 0; flex: 1; }
.solo-summary .review-row h3,
.solo-summary .review-row strong { display: block; font: 650 15px Manrope, "Segoe UI", sans-serif; line-height: 1.55; margin: 0 0 3px; color: var(--solo-ink); }
.solo-summary .review-row p,
.solo-summary .review-row small { font-size: 12px; color: #6c8191; line-height: 1.6; margin: 0; }
.solo-summary .review-row > a { color: var(--solo-teal); font-size: 13px; font-weight: 600; text-underline-offset: 3px; flex-shrink: 0; }
.solo-summary .review-next { padding: 29px 30px; background: var(--solo-ink); color: #fff; border-radius: 8px; margin-top: 26px; }
.solo-summary .review-next h2 { color: #fff; font-size: 24px; margin: 0 0 13px; }
.solo-summary .review-next h3 { color: #fff; font-size: 23px; line-height: 1.35; margin: 0 0 14px; }
.solo-summary .review-next > .eyebrow { color: #82c8c4; font-size: 10px; margin-bottom: 13px; }
.solo-summary .review-next p { color: #c1d2df; font-size: 15px; line-height: 1.8; margin-bottom: 21px; max-width: 690px; }
.solo-summary .review-next .btn { background: #fff; border-color: #fff; color: var(--solo-ink); border-radius: 5px; font-size: 13px; min-height: 43px; }
.solo-summary .review-next .btn:hover { background: #eaf4fa; }
.solo-summary > .button-row { margin-top: 23px; }

@media (max-width: 1100px) {
  .solo-layout { grid-template-columns: 205px minmax(0, 1fr); gap: 21px; }
  .solo-question, .solo-welcome, .solo-recommendation { padding: 27px 26px; }
  .solo-header { gap: 20px; }
  .solo-case-title h1 { font-size: 31px; }
  .solo-step strong { font-size: 13px; }
  .solo-answer { padding: 22px; }
  .solo-exhibit-panel { padding: 19px; }
}

@media (max-width: 860px) {
  .solo-header { align-items: flex-start; }
  .solo-case-title h1 { font-size: 29px; }
  .solo-session-tools { gap: 8px; padding: 10px; }
  .solo-session-tools > label, .solo-session-tools > span:first-child { display: none; }
  .solo-layout { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .solo-navigation { position: static; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; padding: 12px; background: #fff; border: 1px solid var(--solo-line); border-radius: 7px; }
  .solo-nav-heading { grid-column: 1 / -1; display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin: 0; padding: 0; letter-spacing: 0; text-transform: none; }
  .solo-nav-heading small { display: inline; margin: 0; }
  .solo-navigation nav, .solo-navigation .solo-steps { display: contents; }
  .solo-navigation .solo-step { margin: 0; padding: 10px 6px; align-items: center; justify-content: center; min-height: 48px; border: 1px solid #dce6ee; background: #f8fafc; }
  .solo-navigation .solo-step .solo-step-num { margin: 0; }
  .solo-navigation .solo-step > div { position: absolute; clip-path: inset(50%); width: 1px; height: 1px; overflow: hidden; white-space: nowrap; }
  .solo-navigation .solo-brief { grid-column: 1 / 4; padding: 0; margin: 0; border: 0; }
  .solo-navigation > .btn, .solo-navigation > .button-row { grid-column: 1 / -1; margin-top: 6px; }
  .solo-navigation > .solo-support { display: none; }
  .solo-navigation > .inline-link { grid-column: 4 / -1; justify-self: end; align-self: start; padding: 0; margin: 0; font-size: 12px; line-height: 1.6; }
  .solo-navigation .solo-brief[open] { grid-column: 1 / -1; max-height: 300px; }
  .solo-question, .solo-welcome, .solo-recommendation { padding: 29px; }
  .solo-question h2, .solo-welcome h2, .solo-recommendation h2 { font-size: 28px; }
}

@media (max-width: 580px) {
  .solo-header { flex-wrap: wrap; gap: 11px; padding-bottom: 14px; margin-bottom: 16px; }
  .solo-case-title { width: 100%; }
  .solo-case-title .back-link { margin-bottom: 9px; }
  .solo-case-title h1 { font-size: 27px; line-height: 1.22; }
  .solo-case-title .eyebrow { font-size: 10px; line-height: 1.6; }
  .solo-session-tools { padding: 0; width: 100%; border: 0; border-radius: 0; background: transparent; }
  .solo-session-tools { flex-direction: row; flex-wrap: nowrap; justify-content: space-between; gap: 10px; }
  .solo-session-tools > small { display: none; }
  .solo-session-tools > label, .solo-session-tools > span:first-child { display: inline; font-size: 12px; }
  .solo-session-tools time, .solo-session-tools .timer-value, .solo-session-tools .solo-time { font-size: 19px; margin-left: auto; }
  .solo-session-tools #case-timer { font-size: 19px; min-width: 54px; }
  .solo-session-tools .btn { min-height: 44px; font-size: 12px; }
  .solo-layout { gap: 18px; }
  .solo-navigation { padding: 12px; gap: 8px; }
  .solo-nav-heading { font-size: 12px; margin: 0; }
  .solo-navigation .solo-step { min-height: 44px; padding: 8px 4px; }
  .solo-step .solo-step-num { height: 25px; width: 25px; min-width: 25px; font-size: 11px; }
  .solo-brief summary { font-size: 12px; }
  .solo-brief p { font-size: 13px; }
  .solo-question, .solo-welcome, .solo-recommendation { padding: 23px 18px; border-radius: 7px; }
  .solo-question h2, .solo-welcome h2, .solo-recommendation h2 { font-size: 24px; line-height: 1.3; margin-bottom: 15px; }
  .solo-kicker { font-size: 10px; gap: 7px; margin-bottom: 12px; }
  .solo-question > p, .solo-question > header > p:not(.solo-kicker), .solo-question .solo-prompt, .solo-welcome > p, .solo-recommendation > p { font-size: 16px; line-height: 1.8; margin-bottom: 20px; }
  .solo-main .exhibit-tabs { margin-top: 22px; gap: 3px; }
  .solo-main .exhibit-tabs button { font-size: 11px; padding: 10px 9px; min-height: 40px; }
  .solo-main .exhibit-tabs button > span { font-size: 10px; max-width: 115px; }
  .solo-exhibit-panel { padding: 17px 12px; margin-left: -3px; margin-right: -3px; }
  .solo-exhibit-panel .exhibit h3 { font-size: 15px; }
  .solo-exhibit-panel .exhibit > p { font-size: 12px; }
  .solo-exhibit-panel .data-table { min-width: 360px; }
  .solo-exhibit-panel .data-table th { font-size: 11px; padding: 10px 9px; }
  .solo-exhibit-panel .data-table td { font-size: 13px; padding: 11px 9px; }
  .solo-exhibit-panel .exhibit > p:last-child { font-size: 11px; }
  .solo-answer { padding: 20px 16px; margin-top: 23px; }
  .solo-answer > h3, .solo-answer > header > h3 { font-size: 18px; }
  .solo-answer .quiz-options > label { font-size: 15px; padding: 12px; }
  .solo-main legend { font-size: 16px; }
  .solo-main .btn { min-height: 44px; font-size: 12px; padding: 11px 14px; }
  .solo-main .btn-sm { min-height: 40px; padding: 9px 11px; }
  .solo-main .field textarea, .solo-main .field input, .solo-main .field select { font-size: 16px; padding: 11px 12px; }
  .solo-answer .feedback, .solo-answer .checkpoint-feedback { padding: 15px; }
  .solo-answer .feedback p, .solo-answer .checkpoint-feedback p { font-size: 14px; }
  .solo-worked .worked-content { padding: 19px 17px; }
  .solo-worked .worked-content p { font-size: 15px; line-height: 1.8; }
  .self-review label { font-size: 13px; line-height: 1.75; }
  .solo-pagination { flex-wrap: wrap; gap: 12px; padding-top: 21px; margin-top: 22px; }
  .solo-pagination > p, .solo-pagination > span { order: 3; width: 100%; font-size: 11px; }
  .solo-pagination .btn { font-size: 12px; padding: 10px 12px; max-width: calc(50% - 6px); }
  .solo-support { font-size: 11px; margin-top: 14px; }
  .solo-welcome .investigation-options, .solo-main .investigation-options { grid-template-columns: 1fr; gap: 12px; margin-top: 23px; }
  .solo-main .investigation-option { padding: 18px; }
  .solo-main .investigation-option h3 { font-size: 17px; }
  .solo-main .investigation-option p { font-size: 14px; }
  .solo-summary h1 { font-size: 29px; }
  .solo-summary > h2 { font-size: 26px; }
  .solo-summary > header > p:not(.eyebrow) { font-size: 16px; }
  .solo-summary .session-metrics { gap: 8px; margin: 22px 0; }
  .solo-summary .session-metrics > div, .solo-summary .session-metrics > article { padding: 16px 12px; }
  .solo-summary .session-metrics strong { font-size: 24px; }
  .solo-summary .session-metrics span, .solo-summary .session-metrics p { font-size: 11px; line-height: 1.5; }
  .solo-summary .review-list { padding: 5px 16px; }
  .solo-summary .review-row { gap: 11px; padding: 16px 0; flex-wrap: wrap; }
  .solo-summary .review-row > div { flex-basis: calc(100% - 43px); }
  .solo-summary .review-row > span:first-child { flex-basis: 25px; width: 25px; height: 25px; font-size: 11px; }
  .solo-summary .review-row h3, .solo-summary .review-row strong { font-size: 14px; }
  .solo-summary .review-row > a { margin-left: 36px; font-size: 12px; }
  .solo-summary .review-next { padding: 23px 21px; margin-top: 22px; }
  .solo-summary .review-next h2 { font-size: 22px; }
  .solo-summary .review-next p { font-size: 14px; }
}

@media (max-width: 359px) {
  .solo-question, .solo-welcome, .solo-recommendation { padding: 21px 15px; }
  .solo-case-title h1 { font-size: 25px; }
  .solo-question h2, .solo-welcome h2, .solo-recommendation h2 { font-size: 22px; }
  .solo-answer { padding: 18px 13px; }
  .solo-navigation { padding: 11px; gap: 6px; }
  .solo-summary .session-metrics > div, .solo-summary .session-metrics > article { padding: 14px 9px; }
  .solo-summary .session-metrics strong { font-size: 22px; }
}

@media (prefers-reduced-motion: reduce) {
  .solo-layout *, .solo-summary * { transition: none !important; }
}

.opening-coach{margin:20px 0 25px;padding:15px 18px;border:1px solid #d6e4e9;border-radius:5px;background:#f8fafb;color:var(--muted);font-size:15px;line-height:1.65}
.opening-coach summary{font-weight:600;color:var(--ink);cursor:pointer}
.opening-coach p{margin:12px 0 0!important;font-size:15px!important}
.opening-coach ul{padding-left:20px;margin:12px 0}
.opening-coach a{color:var(--teal);text-decoration:underline;text-underline-offset:3px}
