/*
 * 3.8.171-safe140 RC67 — Halo 2.25 editor content baseline.
 *
 * This is intentionally NOT a theme-designed article typography system.
 * It mirrors only the Halo 2.25.4 editor canvas defaults that affect how an
 * unstyled saved document is seen in Console, then adds overflow protection.
 * Authored inline styles and serialized alignment remain authoritative.
 *
 * Halo 2.25.4 editor source baseline:
 * - ProseMirror max-width: 70rem
 * - horizontal padding: 1rem; 3.5rem at sm+
 * - top padding: 15px
 * - paragraph margin-top: .75em; margin-bottom: 0
 * - Tailwind base inheritance: 1rem system sans / normal line-height baseline
 *
 * Deliberately absent: forced first-line indent, forced heading alignment,
 * forced heading sizes, Songti, article color, or content-structure guessing.
 */

.rich-content-page .content-shell,
.rich-content-page .article-native-content {
  box-sizing: border-box;
  min-width: 0;
}

/* Recreate the Console editor canvas, not the historical 60/66rem reading column. */
body.baihong-theme .article-native-content.bh-rich-content {
  box-sizing: border-box;
  width: 100%;
  max-width: 70rem;
  margin-inline: auto;
  padding: 15px 1rem 0;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", "PingFang SC", sans-serif;
  font-size: 1rem;
  line-height: 1.5;
  font-weight: 400;
  letter-spacing: normal;
  /* prosemirror-view baseline: preserve the whitespace the editor actually shows.
     This is important for authored leading spaces; it is not a synthetic text-indent. */
  white-space: pre-wrap;
  font-variant-ligatures: none;
  font-feature-settings: "liga" 0;
  overflow-wrap: break-word;
  word-break: normal;
}

@media (min-width: 640px) {
  body.baihong-theme .article-native-content.bh-rich-content {
    padding-left: 3.5rem;
    padding-right: 3.5rem;
  }
}

/* Halo 2.25.4 ProseMirror paragraph rhythm. No first-line indentation. */
body.baihong-theme .article-native-content.bh-rich-content p {
  margin-top: .75em;
  margin-bottom: 0;
}

/* Explicit alignment metadata saved by current/legacy Halo remains honored.
   Inline style has higher specificity and remains authoritative. */
.article-native-content.bh-rich-content :is(
  [data-text-align="center"],[data-align="center"],[data-alignment="center"],[align="center"],
  .has-text-align-center,.text-align-center,.text-center,.align-center,.is-text-center,.ProseMirror-text-align-center
) { text-align: center; }
.article-native-content.bh-rich-content :is(
  [data-text-align="right"],[data-align="right"],[data-alignment="right"],[align="right"],
  .has-text-align-right,.text-align-right,.text-right,.align-right,.is-text-right,.ProseMirror-text-align-right
) { text-align: right; }
.article-native-content.bh-rich-content :is(
  [data-text-align="left"],[data-align="left"],[data-alignment="left"],[align="left"],
  .has-text-align-left,.text-align-left,.text-left,.align-left,.is-text-left,.ProseMirror-text-align-left
) { text-align: left; }
.article-native-content.bh-rich-content :is(
  [data-text-align="justify"],[data-align="justify"],[data-alignment="justify"],[align="justify"],
  .has-text-align-justify,.text-align-justify,.text-justify,.align-justify,.is-text-justify,.ProseMirror-text-align-justify
) { text-align: justify; text-justify: inter-ideograph; }

/* Serialized indentation only; never invent indentation for ordinary paragraphs. */
.article-native-content.bh-rich-content [data-indent="1"] { margin-left: 2em; }
.article-native-content.bh-rich-content [data-indent="2"] { margin-left: 4em; }
.article-native-content.bh-rich-content [data-indent="3"] { margin-left: 6em; }
.article-native-content.bh-rich-content [data-indent="4"] { margin-left: 8em; }
.article-native-content.bh-rich-content [data-indent="5"] { margin-left: 10em; }
.article-native-content.bh-rich-content [data-indent="6"] { margin-left: 12em; }

/* Halo editor code/task-list baseline. */
.article-native-content.bh-rich-content pre {
  box-sizing: border-box;
  max-width: 100%;
  overflow-x: auto;
  background-color: transparent;
  padding: .75rem 1rem;
  margin: 0;
}
.article-native-content.bh-rich-content pre code {
  background: none;
  font-size: .8rem;
  padding: 0;
  border-radius: 0;
}
.article-native-content.bh-rich-content ul[data-type="taskList"] {
  list-style: none;
  padding: 0;
}
.article-native-content.bh-rich-content ul[data-type="taskList"] p { margin: 0; }
.article-native-content.bh-rich-content ul[data-type="taskList"] li { display: flex; }
.article-native-content.bh-rich-content ul[data-type="taskList"] li > label {
  flex: 0 0 auto;
  margin-right: .5rem;
  user-select: none;
}
.article-native-content.bh-rich-content ul[data-type="taskList"] li > div { flex: 1 1 auto; }
.article-native-content.bh-rich-content :where(ul,ol) { list-style-type: revert; }
.article-native-content.bh-rich-content code br { display: initial; }

/* Frontend-only safety: preserve authored dimensions but never break the page. */
.article-native-content.bh-rich-content :where(img,picture,video,audio,iframe,embed,object,svg,canvas,figure) {
  max-width: 100%;
}
.article-native-content.bh-rich-content :where(img,video,canvas,svg) { height: auto; }
.article-native-content.bh-rich-content table { max-width: 100%; }

@media (max-width: 768px) {
  body.baihong-theme .article-native-content.bh-rich-content {
    max-width: 100%;
    overflow-wrap: break-word;
  }
  .article-native-content.bh-rich-content table {
    display: block;
    width: max-content;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .article-native-content.bh-rich-content [data-indent="4"],
  .article-native-content.bh-rich-content [data-indent="5"],
  .article-native-content.bh-rich-content [data-indent="6"] { margin-left: 4em; }
}
