/* Shared navigation/provenance only; model-authored documents are untouched. */
.catalog { font-size: 19px; }
.catalog > header { font-size: 19px; letter-spacing: .04em; }
.intro > p:first-child { font-size: 19px; letter-spacing: .04em; }
.intro > div, .intro .total { font-size: 19px; }
.filters button { font-size: 19px; min-height: 44px; }
.toolbar label, .toolbar input { font-size: 19px; }
.toolbar input { width: min(240px, 60vw); }
.placeholder span, .placeholder strong { font-size: 19px; }
.caption small, .caption h2, .status { font-size: 19px; overflow-wrap: anywhere; }
.catalog > footer { font-size: 19px; }
.task-outcomes { border-top: 1px solid #46503b; padding: 16px 0 24px; font-size: 19px; overflow-wrap: anywhere; }
.task-outcomes summary { cursor: pointer; color: #d7eb98; }
.task-outcomes a { color: #d7eb98; text-decoration: underline; }
.viewer-bar { display: grid; grid-template-columns: auto minmax(0,1fr) auto; font-size: 19px; gap: 16px; min-height: 64px; }
.viewer-bar > span { justify-self: center; flex-wrap: wrap; justify-content: center; }
.viewer-bar strong, .viewer-bar small { font-size: 19px; white-space: normal; text-align: center; }
.viewer-bar details > section { top: 100%; font-size: 19px; max-height: calc(100svh - 110px); overflow-y: auto; }
.viewer-actions { display: flex; align-items: center; gap: 12px; }
.viewer-actions > button, .prompt-dialog button {
  font: inherit; font-size: 19px; color: #ece8de; background: #22291c;
  border: 1px solid #84935e; border-radius: 6px; min-height: 44px; padding: 6px 12px; cursor: pointer;
}
.prompt-dialog {
  width: min(1080px, calc(100vw - 32px)); max-width: calc(100vw - 32px);
  height: min(820px, 85svh); max-height: 85svh; padding: 0;
  color: #ece8de; background: #151912; border: 1px solid #84935e; border-radius: 12px;
}
.prompt-dialog[open] { display: grid; grid-template-rows: auto minmax(0,1fr); }
.prompt-dialog::backdrop { background: rgba(0,0,0,.8); }
.prompt-heading { display: flex; gap: 16px; justify-content: space-between; align-items: center; padding: 16px 22px; border-bottom: 1px solid #46503b; }
.prompt-heading h2 { margin: 0; font-size: 22px; overflow-wrap: anywhere; }
.prompt-heading button { flex-shrink: 0; }
.prompt-content { padding: 16px 22px 24px; overflow-y: auto; font-size: 19px; }
.prompt-content details { margin: 22px 0; }
.prompt-content summary { cursor: pointer; color: #d7eb98; }
.prompt-content .prompt-hash { font-size: 19px; color: #b9c4ab; overflow-wrap: anywhere; }
.prompt-content pre { white-space: pre-wrap; overflow-wrap: anywhere; margin: 0; font: 19px/1.65 ui-monospace, monospace; }
.prompt-content a { display: inline-block; margin-top: 16px; color: #d7eb98; text-decoration: underline; }
.unavailable { font-size: 19px; }
.review-status { flex: 1; min-height: 0; width: 100%; max-width: 760px; margin: 0 auto; overflow-y: auto; overflow-wrap: anywhere; text-align: left; }
.review-status a { color: #d7eb98; text-decoration: underline; }
.review-findings { border-top: 1px solid #46503b; margin: 24px 0; padding-top: 16px; }
.review-findings summary { cursor: pointer; color: #d7eb98; }
.review-findings ul { padding-left: 24px; }
.review-findings li + li { margin-top: 20px; }
.implementation-cost { color: #d7eb98; overflow-wrap: anywhere; white-space: normal; margin: 6px 0; }
.viewer-actions section button { font: inherit; color: #ece8de; background: #22291c; border: 1px solid #84935e; border-radius: 6px; padding: 8px 12px; min-height: 44px; cursor: pointer; }
.cost-total { font-size: 24px; color: #d7eb98; }
.cost-caveat { color: #ffcc98; }
.cost-table { overflow-x: auto; }
.cost-table table { width: 100%; border-collapse: collapse; }
.cost-table th, .cost-table td { text-align: left; padding: 8px; border-bottom: 1px solid #46503b; }
:is(a,button,input,summary):focus-visible { outline: 3px solid #d7eb98; outline-offset: 4px; }
@media (max-width: 600px) {
  .catalog > header { font-size: 19px; flex-wrap: wrap; gap: 12px; }
  .intro > div, .intro .total { font-size: 19px; }
  .portrait-grid { grid-template-columns: 1fr; }
  .viewer-bar { grid-template-columns: 1fr auto; font-size: 19px; gap: 10px; padding: 10px; }
  .viewer-bar > a { grid-column: 1; grid-row: 1; }
  .viewer-actions { grid-column: 2; grid-row: 1; gap: 8px; }
  .viewer-bar > span { grid-column: 1 / -1; grid-row: 2; }
  .viewer-bar > span { flex-direction: column; align-items: center; }
  .viewer-bar strong, .viewer-bar small { font-size: 19px; }
  .viewer-bar details > section { top: 100%; }
  .prompt-heading, .prompt-content { padding-left: 14px; padding-right: 14px; }
}
