.review-workspace { width: 100%; }
.review-experience { max-width: 1000px; margin-bottom: 24px; min-width: 0; }
.review-scroll-hint { display: none; }
.review-experience:focus-visible { outline: 3px solid #8fbaa3; outline-offset: 5px; border-radius: 12px; }
.review-experience-heading { margin-bottom: 16px; }
.review-experience-heading h2 { margin: 0 0 8px; font-size: 20px; }
.review-experience-heading p, .review-experience-note { color: var(--muted); font-size: 13px; line-height: 1.8; word-break: keep-all; }
#review-examples { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.review-example { display: grid; gap: 9px; text-align: left; min-width: 0; padding: 18px; color: #284d39; background: #fff; border: 1px solid var(--line); border-radius: 12px; line-height: 1.6; }
.review-example:hover { border-color: #81ae98; background: #f7fbf8; }
.review-example[aria-pressed="true"] { border-color: var(--green); background: #eaf3ec; box-shadow: 0 0 0 1px #14684f22; }
.review-example-number { color: #6f8f80; font-size: 11px; letter-spacing: .08em; }
.review-example strong, .review-example b { font-size: 14px; font-weight: 600; }
.review-example small { color: var(--muted); font-size: 12px; line-height: 1.8; }
.review-example:disabled, .review-guide-action:disabled { opacity: .6; cursor: wait; }
#review-guide { margin-top: 16px; background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 22px; }
.review-guide-heading { margin: 0 0 8px; font-size: 17px; line-height: 1.6; }
.review-guide-summary { font-size: 13px; color: var(--muted); line-height: 1.8; margin: 0 0 16px; }
.review-guide-step { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 12px; padding: 17px 0; border-top: 1px solid var(--line); }
.review-step-number { color: #86a994; font-family: Georgia, serif; font-size: 19px; padding-top: 2px; }
.review-step-copy { min-width: 0; }
.review-step-copy h3 { margin: 0 0 8px; font-size: 14px; line-height: 1.6; }
.review-step-copy p { margin: 0 0 8px; font-size: 12px; line-height: 1.8; word-break: keep-all; overflow-wrap: anywhere; }
.review-step-result { color: #536f60; padding-left: 11px; border-left: 2px solid #b5cdbb; }
.review-guide-action { margin-top: 5px; border: 1px solid #c6dcca; border-radius: 8px; background: #f0f7f1; color: var(--green); padding: 10px 13px; min-height: 42px; font-size: 12px; line-height: 1.6; text-align: left; }
.review-guide-action:hover { background: #e3f0e6; }
#review-guide-status { margin: 12px 0 0; color: #466a4e; font-size: 12px; line-height: 1.8; }
#review-guide-result { margin-top: 14px; padding: 16px; background: #f5f8f5; border: 1px solid var(--line); border-radius: 10px; font-size: 13px; line-height: 1.8; overflow-wrap: anywhere; }
#review-guide-result[data-scenario-complete="true"] { background: #edf5ef; border-color: #bad5c2; }
#review-guide-result[data-status="failed"] { background: #fff3ee; border-color: #ebcdbf; color: #853e28; }
.review-experience-note { margin: 14px 0 0; font-size: 12px; }
#review-view .review-content { scroll-margin-top: 24px; }
.review-versions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 18px 0; align-items: start; }
.review-version { min-width: 0; padding: 17px; background: #f7f9f7; border: 1px solid var(--line); border-radius: 10px; }
.review-version:last-child { background: #f2f8f3; border-color: #b9d2c0; }
.review-version h4 { margin: 0 0 12px; padding-bottom: 10px; border-bottom: 1px solid var(--line); color: #365b47; font-size: 12px; line-height: 1.7; }
.review-version p { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; word-break: normal; line-height: 1.8; }
.review-previous-answer { color: #586d5f; }
.review-check { margin: 16px 0 0; }
.review-content .review-check button { margin-left: 0; margin-right: 0; min-height: 44px; padding: 11px 14px; border: 1px solid #aacbb6; background: #eef6f0; color: #185e43; font-size: 13px; line-height: 1.6; white-space: normal; }
.review-delivery-check { margin-top: 14px; padding: 17px; border: 1px solid var(--line); border-radius: 10px; background: #f6f8f6; color: #375945; font-size: 12px; line-height: 1.8; overflow-wrap: anywhere; }
.review-delivery-check[data-state="matched"] { background: #edf7ef; border-color: #bad6c2; }
.review-delivery-check[data-state="withheld"] { background: #f1f6f3; border-color: #c8d8cf; }
.review-delivery-check[data-state="pending"] { background: #fff9ed; border-color: #e5d9b8; color: #6c5a29; }
.review-delivery-check[data-state="mismatch"] { background: #fff3ee; border-color: #e8c4b7; color: #853e28; }
.review-delivery-check > strong { display: block; font-size: 13px; line-height: 1.8; }
.review-delivery-check ul { display: grid; gap: 7px; margin: 12px 0; padding-left: 20px; }
.review-delivery-check li { padding-left: 2px; }
.review-delivery-check .check-passed { color: #365f48; }
.review-delivery-check .check-failed { color: #993b27; font-weight: 600; }
.review-content .review-open-chat { display: inline-block; max-width: 100%; min-height: 42px; margin: 8px 0 0; padding: 10px 13px; color: #fff; background: var(--green); font-size: 12px; line-height: 1.7; white-space: normal; text-align: left; }
.review-check button:disabled, .review-open-chat:disabled { opacity: .6; cursor: wait; }
.review-example:focus-visible, .review-guide-action:focus-visible, .review-check button:focus-visible, .review-open-chat:focus-visible { outline: 3px solid #8fbaa3; outline-offset: 3px; }
@media (min-width: 1100px) {
  #review-view { max-width: 1580px; }
  .review-workspace { display: grid; grid-template-columns: minmax(340px, .74fr) minmax(0, 1.45fr); gap: 28px; align-items: start; }
  .review-workspace .review-experience { position: sticky; top: 16px; max-width: none; max-height: calc(100dvh - 32px); overflow-y: auto; scrollbar-gutter: stable; margin-bottom: 0; padding: 2px 9px 8px 2px; }
  .review-workspace .review-content { min-width: 0; max-width: none; width: 100%; padding: 24px; }
  .review-workspace #review-examples { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .review-workspace .review-example { padding: 13px 15px; gap: 4px; }
  .review-workspace .review-example strong { font-size: 13px; }
  .review-workspace .review-example small { font-size: 11px; }
  .review-workspace .review-experience-heading h2 { font-size: 18px; }
  .review-workspace .review-experience-heading p { font-size: 12px; margin-bottom: 8px; }
  .review-scroll-hint { display: block; color: #6b7e71; font-size: 11px; line-height: 1.7; margin: 0 0 13px; }
  .review-workspace #review-guide { padding: 17px; }
  .review-workspace .review-guide-heading { font-size: 15px; }
  .review-workspace .review-guide-summary { font-size: 12px; }
  .review-workspace .review-guide-step { grid-template-columns: 24px minmax(0, 1fr); gap: 9px; }
}
@media (max-width: 700px) {
  #review-examples { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .review-example { padding: 15px; gap: 6px; }
  #review-guide { padding: 17px; }
  .review-guide-step { grid-template-columns: 24px minmax(0, 1fr); gap: 9px; }
  .review-guide-action { width: 100%; }
  .review-experience-heading h2 { font-size: 18px; }
  .review-versions { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .review-version, .review-delivery-check { padding: 14px; }
  .review-content .review-check button, .review-content .review-open-chat { width: 100%; }
}
