.xhRich {
  padding: 2rem 0 0rem 0;
}
.xhRich_text {
  font-size: 1.6rem;
  line-height: 1.7;
  color: #333;
  word-break: break-word;
}
.xhRich_text .xhp,
.xhRich_text p {
  margin-bottom: 1.2rem;
  font-size: 1.6rem;
  color: #333;
  line-height: 1.7;
}
.xhRich_text .my-heading,
.xhRich_text h1,
.xhRich_text h2,
.xhRich_text h3,
.xhRich_text h4,
.xhRich_text h5,
.xhRich_text h6 {
  color: #1f2937;
  margin: 1.5rem 0 1rem 0;
  font-weight: 600;
  line-height: 1.3;
}
.xhRich_text h1 {
  font-size: 3.2rem;
}
.xhRich_text h2 {
  font-size: 2.4rem;
}
.xhRich_text h3 {
  font-size: 2rem;
}
.xhRich_text h4 {
  font-size: 1.8rem;
}
.xhRich_text h5 {
  font-size: 1.6rem;
}
.xhRich_text h6 {
  font-size: 1.4rem;
}
.xhRich_text ul,
.xhRich_text ol {
  padding-left: 2.4rem;
  margin-bottom: 1.2rem;
}
.xhRich_text ul li,
.xhRich_text ol li {
  margin-bottom: 0.5rem;
  list-style-position: outside;
}
.xhRich_text ul li p,
.xhRich_text ol li p {
  margin-bottom: 0.2rem;
}
.xhRich_text ul {
  list-style-type: disc;
}
.xhRich_text ol {
  list-style-type: decimal;
}
.xhRich_text ul[data-type="taskList"] {
  list-style: none;
  padding: 0;
}
.xhRich_text ul[data-type="taskList"] li {
  display: flex;
  align-items: flex-start;
  margin-bottom: 0.8rem;
}
.xhRich_text ul[data-type="taskList"] li label {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.4rem;
  height: 2.4rem;
  flex-shrink: 0;
  margin-right: 0.8rem;
}
.xhRich_text ul[data-type="taskList"] li input[type="checkbox"] {
  appearance: none;
  width: 1.8rem;
  height: 1.8rem;
  border: 0.2rem solid #d1d5db;
  border-radius: 0.4rem;
  background: #fff;
  position: relative;
  pointer-events: none;
}
.xhRich_text ul[data-type="taskList"] li input[type="checkbox"]:checked {
  background: #00B96B;
  border-color: #00B96B;
}
.xhRich_text ul[data-type="taskList"] li input[type="checkbox"]:checked::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.4rem;
  height: 0.8rem;
  border: solid white;
  border-width: 0 0.2rem 0.2rem 0;
  transform: translate(-50%, -60%) rotate(45deg);
}
.xhRich_text ul[data-type="taskList"] li > div {
  flex: 1;
  display: flex;
  align-items: center;
  min-height: 2.4rem;
}
.xhRich_text ul[data-type="taskList"] li > div p {
  margin: 0;
}
.xhRich_text ul[data-type="taskList"] li[data-checked="true"] > div {
  color: #00B96B;
  opacity: 0.7;
  text-decoration: line-through;
}
.xhRich_text .tableWrapper {
  overflow-x: auto;
  margin: 2rem 0;
}
.xhRich_text .tableWrapper table {
  width: 100% !important;
  border-collapse: collapse;
  border: 0.1rem solid #e5e7eb;
  table-layout: auto;
}
.xhRich_text .tableWrapper table th,
.xhRich_text .tableWrapper table td {
  border: 0.1rem solid #e5e7eb;
  padding: 1rem 1.2rem;
  text-align: left;
  min-width: 8rem;
}
.xhRich_text .tableWrapper table th {
  background: #f9fafb;
  font-weight: 600;
  color: #1f2937;
}
.xhRich_text .my-image,
.xhRich_text img {
  max-width: 100%;
  height: auto;
  border-radius: 0.8rem;
  display: inline-block;
}
.xhRich_text .xh-custom-image-wrapper {
  display: block;
  max-width: 100%;
}
.xhRich_text .xh-custom-image-wrapper img {
  display: inline-block;
}
.xhRich_text .xh-custom-image-wrapper.xh-img-align-center,
.xhRich_text .xh-custom-image-wrapper[style*="text-align: center"] {
  margin-left: auto;
  margin-right: auto;
}
.xhRich_text .xh-custom-image-wrapper.xh-img-align-right,
.xhRich_text .xh-custom-image-wrapper[style*="text-align: right"] {
  margin-left: auto;
}
.xhRich_text .my-link,
.xhRich_text a {
  color: #FE7310;
  text-decoration: underline;
  font-weight: 500;
  transition: color 0.2s;
}
.xhRich_text .my-link:hover,
.xhRich_text a:hover {
  color: #da5b01;
}
.xhRich_text blockquote {
  border-left: 0.4rem solid #e5e7eb;
  padding: 0.8rem 1.6rem;
  margin: 2rem 0;
  background: #f9fafb;
  color: #6b7280;
  font-style: italic;
}
.xhRich_text blockquote p {
  margin-bottom: 0;
}
.xhRich_text strong,
.xhRich_text b {
  font-weight: bold;
}
.xhRich_text em,
.xhRich_text i {
  font-style: italic;
}
.xhRich_text u {
  text-decoration: underline;
}
.xhRich_text s,
.xhRich_text strike,
.xhRich_text del {
  text-decoration: line-through;
}
.xhRich_text sub {
  vertical-align: sub;
  font-size: 0.75em;
}
.xhRich_text sup {
  vertical-align: super;
  font-size: 0.75em;
}
.xhRich_text .xh-high-block {
  background-color: #fff7b3;
  border: 0.1rem solid #fff176;
  border-radius: 0.4rem;
  padding: 0.2rem 0.4rem;
  margin: 0 0.2rem;
  box-shadow: 0 0.2rem 0.4rem rgba(253, 216, 53, 0.1);
}
.xhRich_text .xh-annotation {
  background-color: #fff9db;
  border-bottom: 2px solid #fab005;
  padding: 0 0.2rem;
}
.xhRich_text .xh-code-block-container {
  margin: 2rem 0;
  border: 0.1rem solid #e5e7eb;
  border-radius: 0.8rem;
  overflow: hidden;
  background: #f9fafb;
  position: relative;
  font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
  /* 语法高亮 (Highlight.js 风格) */
}
.xhRich_text .xh-code-block-container::before {
  content: attr(data-title);
  display: block;
  padding: 0.6rem 1.2rem;
  background: #f3f4f6;
  border-bottom: 0.1rem solid #e5e7eb;
  font-size: 1.3rem;
  color: #666;
  min-height: 2.8rem;
}
.xhRich_text .xh-code-block-container[data-title=""]::before,
.xhRich_text .xh-code-block-container:not([data-title])::before {
  display: none;
}
.xhRich_text .xh-code-block-container pre {
  margin: 0;
  padding: 1.5rem;
  overflow-x: auto;
  line-height: 1.6;
  font-size: 1.4rem;
  background: transparent;
  border: none;
}
.xhRich_text .xh-code-block-container .hljs-comment,
.xhRich_text .xh-code-block-container .hljs-quote {
  color: #999;
  font-style: italic;
}
.xhRich_text .xh-code-block-container .hljs-keyword,
.xhRich_text .xh-code-block-container .hljs-selector-tag {
  color: #8b5cf6;
}
.xhRich_text .xh-code-block-container .hljs-string,
.xhRich_text .xh-code-block-container .hljs-number,
.xhRich_text .xh-code-block-container .hljs-literal {
  color: #10b981;
}
.xhRich_text .xh-code-block-container .hljs-title,
.xhRich_text .xh-code-block-container .hljs-section,
.xhRich_text .xh-code-block-container .hljs-name {
  color: #3b82f6;
}
.xhRich_text .xh-code-block-container .hljs-attribute,
.xhRich_text .xh-code-block-container .hljs-attr {
  color: #f59e0b;
}
.xhRich_text code:not(pre code) {
  background: #f3f4f6;
  padding: 0.2rem 0.4rem;
  border-radius: 0.4rem;
  font-size: 0.9em;
  font-family: monospace;
  color: #eb5757;
}
.xhRich_text .xh-columns {
  display: flex;
  gap: 2rem;
  margin: 2rem 0;
}
.xhRich_text .xh-columns .xh-column {
  flex: 1;
  min-width: 0;
}
.xhRich_text section {
  box-sizing: border-box;
}
.xhRich_text svg {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}
.xhRich_text hr {
  margin: 3rem 0;
  border: none;
  border-top: 1px solid #eee;
}
@media screen and (max-width: 768px) {
  .xhRich_text {
    font-size: 1.5rem;
  }
  .xhRich_text .xh-columns {
    flex-direction: column;
    gap: 1.5rem;
  }
  .xhRich_text h1 {
    font-size: 2.8rem;
  }
  .xhRich_text h2 {
    font-size: 2.2rem;
  }
  .xhRich_text h3 {
    font-size: 1.9rem;
  }
  .xhRich_text .tableWrapper table th,
  .xhRich_text .tableWrapper table td {
    padding: 0.8rem;
    font-size: 1.4rem;
  }
}
