/* Presentation only: source context and layout serialization stay in builder.js. */
#sourceSchemeContext[hidden], #sourceSchemeContext [hidden] { display: none !important; }
#sourceSchemeContext {
  display: grid; grid-template-columns: auto minmax(0,1fr) auto;
  flex: none; align-items: center; gap: 3px 10px;
  min-height: 64px; margin: 0; padding: 8px 10px;
  box-sizing: border-box; border-radius: 5px; font-size: 12px;
}
#sourceSchemeContext img { width: 36px; height: 40px; object-fit: contain; }
#sourceSchemeContext:not(:has(> img)) { grid-template-columns: minmax(0,1fr) auto; }
#sourceSchemeContext .source-summary { min-width: 0; }
#sourceSchemeContext .source-summary strong,
#sourceSchemeContext .source-summary small { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; line-height: 1.5; }
#sourceSchemeContext .source-actions { display: flex; gap: 8px; align-items: center; }
#sourceSchemeContext a { margin: 0; white-space: nowrap; }
#sourceSchemeContext button { border: 1px solid #cedccb; background: #fff; border-radius: 4px; padding: 5px 7px; color: #31553b; font: inherit; cursor: pointer; white-space: nowrap; }
#sourceSchemeContext :focus-visible { outline: 2px solid #326c43; outline-offset: 2px; }
#sourceSchemeContext .source-full { grid-column: 1 / -1; overflow-wrap: anywhere; }
#sourceSchemeContext .source-full p { margin: 3px 0; line-height: 1.6; }
#sourceSchemeContext [data-adjusted] { grid-column: 1 / -1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 10px; }
#sourceSchemeContext[data-mode="collapsed"] { min-height: 36px; padding-block: 5px; grid-template-columns: minmax(0,1fr) auto; }
#sourceSchemeContext[data-mode="collapsed"] > img,
#sourceSchemeContext[data-mode="collapsed"] .source-summary small,
#sourceSchemeContext[data-mode="collapsed"] [data-adjusted] { display: none; }
@media (min-width:1121px) {
  html { height: auto; min-height: 100%; overflow-x: hidden; overflow-y: auto; }
  body { height: auto; min-height: 100dvh; overflow: visible; }
  body:not(.review-edit-mode) .studio {
    height: calc(100dvh - var(--builder-chrome-height, 64px));
    min-height: 0; overflow: visible;
  }
  body:not(.review-edit-mode) .review-panel { overflow-y: auto; overflow-x: hidden; overscroll-behavior-y: auto; scrollbar-width: thin; }
  body:not(.review-edit-mode) .review-showcase { flex: 1 0 auto; min-height: 420px; grid-template-rows: auto; }
  body:not(.review-edit-mode) .review-showcase .review-details { overflow: visible; min-height: 0; }
  body:not(.review-edit-mode) .review-details .selected-items { min-height: 110px; }
}
@media (max-width:1120px) {
  #catalogBuilder { max-height: 520px; overflow-y: auto; }
  .review-panel { max-height: none; overflow: visible; }
}
@media (max-width:600px) {
  #sourceSchemeContext { grid-template-columns: minmax(0,1fr); gap: 3px; min-height: 64px; }
  #sourceSchemeContext .source-actions { grid-column: 1 / -1; justify-content: flex-end; }
  #sourceSchemeContext img, #sourceSchemeContext .source-summary small,
  #sourceSchemeContext [data-adjusted] { display: none; }
  #sourceSchemeContext[data-mode="collapsed"] { grid-template-columns: minmax(0,1fr); }
  #sourceSchemeContext[data-mode="collapsed"] .source-actions { justify-content: flex-start; }
}
