/* The reading view (passe zéro 1.3): one component for every citation. */
.document-reader {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: grid;
  place-items: center;
  padding: 16px;
}
.document-reader.is-hidden { display: none; }
.document-reader-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(16, 20, 28, .4);
  animation: fadein .16s ease;
}
.document-reader-panel {
  position: relative;
  width: min(960px, calc(100vw - 32px));
  max-height: min(92vh, 960px);
  overflow: auto;
  background: var(--forge-paper, #fbf8f3);
  color: var(--forge-text, #241e16);
  border: 1px solid var(--forge-border, #ded6ca);
  border-radius: 14px;
  box-shadow: var(--sh-modal, 0 24px 60px rgba(16, 20, 28, .3));
  animation: modalin .2s ease;
}
.document-reader-heading {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  padding: 22px 26px 14px;
  border-bottom: 1px solid var(--forge-border, #ded6ca);
}
.document-reader-title { margin: 4px 0 6px; font-size: 1.2rem; overflow-wrap: anywhere; }
.document-reader-mode { margin: 0; color: var(--forge-muted, #756b5f); font-size: .92rem; }
.document-reader-body { display: grid; gap: 14px; padding: 18px 26px 26px; }
.document-reader-passage h3 { margin: 0 0 6px; font-size: .95rem; }
.document-reader-excerpt {
  margin: 0;
  padding: 10px 14px;
  border-left: 3px solid var(--forge-accent, #4a341b);
  background: rgba(74, 52, 27, .06);
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.document-reader-position { margin: 6px 0 0; color: var(--forge-muted, #756b5f); font-size: .88rem; }
.document-reader-status { margin: 0; font-size: .92rem; }
.document-reader-status[data-reader-state="error"] { color: var(--danger, #9d2d2d); }
.document-reader-text {
  margin: 0;
  max-height: 52vh;
  overflow: auto;
  padding: 12px 14px;
  border: 1px solid var(--forge-border, #ded6ca);
  border-radius: 10px;
  background: #fff;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  font: inherit;
  font-size: .94rem;
  line-height: 1.5;
}
.document-reader-mark { background: #f4dc9a; color: inherit; padding: 1px 0; }
.document-reader-frame { width: 100%; height: 62vh; border: 1px solid var(--forge-border, #ded6ca); border-radius: 10px; background: #fff; }
.document-reader-notice { margin: 0; font-size: .9rem; color: var(--forge-muted, #756b5f); }
.document-reader-official-note, .document-reader-no-link { margin: 0; font-size: .92rem; }
.document-reader-official-link, .document-reader-download { display: inline-block; margin-top: 4px; font-weight: 600; }
.source-read-button { margin-top: 6px; }
@media (max-width: 640px) {
  .document-reader { padding: 8px; }
  .document-reader-panel { width: calc(100vw - 16px); max-height: 96vh; }
  .document-reader-heading, .document-reader-body { padding-left: 16px; padding-right: 16px; }
}
