.main-article-container {
  background-color: rgb(var(--color-background));
}
.main-article__title {
  padding-block-end: 20px;
}
.main-article__cover-image {
  aspect-ratio: var(--aspect-ratio);
  margin-block: 40px;
  overflow: hidden;
  border-radius: var(--border-radius);
}
.main-article__cover-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.main-article__info {
  display: flex;
  gap: 10px;
  padding-block-end: 20px;
  color: rgb(var(--color-light-text));
  border-block-end: 1px solid rgb(221 221 221 / 100%);
}
.main-article__button-back {
  margin-block-end: 40px;
}
.main-article__button-back svg {
  width: 0.8em;
  height: 0.8em;
  transform: rotate(90deg);
}
.main-article__content {
  margin-block: 40px;
}
.main-article__comment-title {
  padding-block: 40px;
}
.main-article__comment-list {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-block-end: 40px;
}
.main-article__comment-item {
  display: flex;
  flex-direction: column;
  gap: 30px;
  padding: 30px;
  border: 1px solid #ddd;
  border-radius: 4px;
}
.main-article__comment-info {
  display: flex;
  gap: 24px;
  align-items: center;
  justify-content: end;
}
.main-article__comment-fields {
  display: flex;
  gap: 20px;
}
.main-article .text-area + .field__label {
  inset-block-start: 20px;
}
.main-article__share {
  margin-block: 40px 80px;
}
.main-article__comment-submit {
  display: flex;
  justify-content: center;
  margin-block-start: 40px;
}
.main-article__comment-form {
  padding-block-start: 40px;
}
.main-article__comment-form-title {
  margin-block-end: 40px;
}
.main-article__comment-tip {
  padding-block: 40px;
}
.main-article .field__info {
  padding-block-end: 40px;
}
.main-article__comment-dot {
  width: 4px;
  height: 4px;
  background-color: #000;
  border-radius: 50%;
}
@media (max-width: 959px) {
  .main-article__cover-image {
    margin-block: 20px;
  }

  .main-article__content {
    margin-block-end: 20px;
  }

  .main-article__share {
    margin-block: 20px 40px;
  }

  .main-article__comment-title {
    padding-block: 0 20px;
  }

  .main-article__comment-list {
    margin-block-end: 20px;
  }

  .main-article__comment-item {
    gap: 20px;
    padding: 20px;
  }

  .main-article__comment-info {
    gap: 16px;
  }

  .main-article__comment-content {
    padding: 0;
  }

  .main-article__comment-form-title {
    margin-block-end: 20px;
  }

  .main-article__comment-fields {
    display: block;
  }

  .main-article__comment-tip {
    padding-block-start: 20px;
  }
}

/* Optional Hanwen long-read treatment; preserves native article content and comments. */
.hw-article-reading { background:#efefef; color:#3a312b; }
.hw-article-reading .main-article { padding-block:45px 75px; }
.hw-article-reading .main-article > div { max-width:870px; margin:0 auto; padding:0!important; }
.hw-article-reading .main-article__title { color:#342820; font-family:"Noto Serif SC","Noto Serif TC",serif; font-size:clamp(27px,2.9vw,39px)!important; font-weight:500; line-height:1.45; text-align:left; padding-block-end:20px; }
.hw-article-reading .main-article__info { color:#9a8b7d; padding-block-end:18px; border-color:#d7d1c9; font-size:13px; }
.hw-article-reading .main-article__cover-image { border-radius:5px; margin-block:25px 34px; }
.hw-article-reading .main-article__content { font-size:16px; line-height:2.05; color:#51473d; margin-block:25px 55px; overflow-wrap:anywhere; }
.hw-article-reading .main-article__content h2,.hw-article-reading .main-article__content h3 { color:#382c21; font-family:"Noto Serif SC","Noto Serif TC",serif; font-weight:500; line-height:1.5; }
.hw-article-reading .main-article__content h2 { font-size:25px; margin-block:42px 20px; }
.hw-article-reading .main-article__content h3 { font-size:21px; margin-block:30px 16px; }
.hw-article-reading .main-article__content p { line-height:2.05; margin-block:0 20px; }
.hw-article-reading .main-article__content img { max-width:100%; height:auto; border-radius:4px; }
.hw-article-reading .main-article__content a { color:#705137; text-underline-offset:3px; }
@media(max-width:959px){
 .hw-article-reading .main-article { padding-block:25px 45px; }
 .hw-article-reading .main-article__title { font-size:26px!important; }
 .hw-article-reading .main-article__content { font-size:15px; line-height:1.95; margin-block:20px 30px; }
 .hw-article-reading .main-article__content h2 { font-size:22px; margin-block:32px 16px; }
}
