.marriage-form {
  display: grid;
  gap: 16px;
  margin-top: 18px;
}
.reading-windows { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 16px; }
.reading-model-group { min-width: 0; }
.reading-model-title { margin: 0 0 4px; font-size: 14px; font-weight: 600; text-align: center; overflow-wrap: anywhere; }
.reading-model-tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-bottom: 1px solid var(--line, #ddd); }
.reading-windows button { min-width: 0; min-height: 52px; padding: 8px 4px; border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: transparent; color: inherit; font: inherit; cursor: pointer; }
.reading-windows button[aria-selected="true"] { border-bottom-color: currentColor; font-weight: 600; }
.reading-windows span { display: block; font-size: 12px; }
#reading-model { overflow-wrap: anywhere; }
@media (max-width: 1100px) {
  .reading-windows { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .reading-windows { grid-template-columns: minmax(0, 1fr); }
}
.reading-history { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 14px; }
.reading-history[hidden] { display: none; }
.reading-history select { max-width: 100%; min-height: 36px; font: inherit; }
.marriage-form .two-col {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.marriage-form label { display: grid; gap: 7px; min-width: 0; }
.marriage-form [hidden] { display: none; }
.marriage-form input, .marriage-form select, .marriage-form textarea {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid var(--line, #ddd);
  border-radius: 4px;
  background: var(--surface, #fff);
  color: inherit;
  font: inherit;
}
.marriage-form textarea { resize: vertical; min-height: 92px; }
.marriage-form[hidden] { display: none; }
#marriage-followup-form { padding-top: 18px; border-top: 1px solid var(--line, #ddd); }
.reading-review { padding-top: 18px; border-top: 1px solid var(--line, #ddd); }
.reading-review h3 { margin: 0; font-size: 16px; letter-spacing: 0; }
.reading-review p { margin: 0; overflow-wrap: anywhere; }
.reading-review .reading-review-score { max-width: 180px; }
.reading-review details { min-width: 0; }
.reading-review summary { cursor: pointer; font-size: 14px; }
.reading-review ol { padding-left: 24px; }
.reading-review li { margin-top: 12px; overflow-wrap: anywhere; }
.reading-review li p { white-space: pre-wrap; margin-top: 4px; }
.reading-turn { padding: 12px 0; border-bottom: 1px solid var(--line, #ddd); }
.reading-turn .reading-question { white-space: pre-wrap; font-weight: 600; }
.reading-turn p { white-space: pre-wrap; }
.marriage-context > summary { cursor: pointer; font-size: 14px; }
.marriage-context .two-col { margin-top: 14px; }
.marriage-clarification { display: grid; gap: 10px; max-width: 360px; }
.marriage-clarification select { width: 100%; min-height: 40px; font: inherit; }
.marriage-clarification button { justify-self: start; min-height: 40px; }
.marriage-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.marriage-actions button { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; }
.marriage-actions button svg { width: 17px; height: 17px; }
.marriage-output { overflow-wrap: anywhere; line-height: 1.8; }
.marriage-output:empty, #marriage-status:empty { display: none; }
.reading-status-row { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 16px; }
.reading-status-row .hint { margin: 12px 0 0; }
#marriage-status[data-state="completed"] { color: #286346; font-weight: 600; }
#marriage-status[data-state="failed"] { color: #a13e35; }
#marriage-elapsed { font-variant-numeric: tabular-nums; white-space: nowrap; }
#marriage-return { line-height: 1.8; overflow-wrap: anywhere; }
#marriage-return a { margin: 0 4px; text-underline-offset: 3px; }
.marriage-output h3 { margin: 24px 0 12px; font-size: 17px; letter-spacing: 0; }
.marriage-output h4 { margin: 20px 0 8px; font-size: 15px; letter-spacing: 0; }
.marriage-output p { margin: 8px 0; }
.marriage-output .reading-answer { white-space: pre-wrap; }
.marriage-material-list { list-style: none; padding: 0; margin: 0; }
.marriage-material-list > li { padding: 16px 0; border-bottom: 1px solid var(--line, #ddd); }
.marriage-material-list summary { font-size: 13px; cursor: pointer; }
.marriage-material-list blockquote { margin: 12px 0; padding-left: 14px; border-left: 2px solid var(--line, #ddd); font-size: 14px; }
.marriage-facts { font-size: 14px; }
.interpretation-disclaimer { margin-top: 24px !important; padding-top: 16px; border-top: 1px solid var(--line, #ddd); font-size: 13px; }
@media (max-width: 560px) {
  .reading-windows { gap: 12px; }
  .reading-windows button { font-size: 13px; padding-inline: 2px; }
  .marriage-form .two-col { grid-template-columns: minmax(0, 1fr); gap: 14px; }
}
