.entry .entry-title{
  text-align:center;
  margin:0 auto 3px;
  padding-top:1rem;
  line-height:1.18;
  font-weight:800;
  font-size:clamp(24px,3.5vw,40px);
  overflow-wrap:anywhere;
  word-break:break-word;
  text-wrap:balance;
}

.entry .entry-content{
  font-size:1rem;
  line-height:1.6;
  padding-bottom: 1px;
}

/* =========================
   Typography (content base)
   ========================= */

.entry .entry-content :is(p, ul, ol){
  margin:10px 0 10px;
  font-size:1rem;
}

.entry .entry-content li{
  margin:6px 0;
}

.entry .entry-content ul,
.entry .entry-content ol{
  padding-left:1.25em;
}

.entry .entry-content h1{ font-size:2rem; }
.entry .entry-content h2{ font-size:1.7rem; }
.entry .entry-content h3{ font-size:1.35rem; }
.entry .entry-content h4{ font-size:1.125rem; }

.entry .entry-content :is(h1,h2){
  margin:0 auto 10px;
  line-height:1.2;
  overflow-wrap:anywhere;
  word-break:break-word;
  text-wrap:balance;
}

.entry .entry-content h2{
  text-align:center;
  padding:10px 20px;
  background:var(--h2-bar, #39714c);
  color:var(--h2-text, #ffffff);
  border:0;
  border-radius:var(--h2-corner, 0);

  border-bottom: 4px solid var(--h2-border, rgba(112, 236, 153, 0.85));

  --h2-glow-strength: 0.7; /*亮度*/
  --h2-glow-strong: color-mix(
    in srgb,
    var(--glow-text-strong, rgba(251,231,118,.65)) calc(100% * var(--h2-glow-strength)),
    transparent
  );

  --h2-glow-soft: color-mix(
    in srgb,
    var(--glow-text-soft, rgba(251,231,118,.35)) calc(100% * var(--h2-glow-strength)),
    transparent
  );

  text-shadow:
    0 0 6px  var(--h2-glow-strong),
    0 0 14px var(--h2-glow-soft);
}

.entry .entry-content h3{
  margin:10px 0 8px;
  padding:0;
  background:none;
  color:var(--text, #1a1a1a);
  border:0;
  text-shadow:none;
}

.entry .entry-content h4{
  margin:10px 0 6px;
  line-height:1.25;
}

.entry .entry-content p + h2{
  margin-top:12px;
}

.entry .entry-content blockquote{
  margin:0 0 12px;
  padding:10px 14px;
  border-left:4px solid rgba(0,0,0,.15);
  background:rgba(0,0,0,.03);
  border-radius:10px;
}

.entry .entry-content pre{
  margin:0 0 12px;
  padding:12px 14px;
  overflow:auto;
  border-radius:12px;
  background:rgba(0,0,0,.06);
}

.entry .entry-content hr{
  margin:14px 0;
  border:0;
  border-top:1px solid rgba(0,0,0,.12);
}

/* =========================
   Ruler (content inset)
   - Only controls left/right alignment
   ========================= */

.entry .entry-content > :where(
  p, ul, ol, blockquote, pre, table, figure,
  .section-box, .scroll-gallery,
  .wp-block-group, .wp-block-cover, .wp-block-media-text,
  .wp-block-image, .wp-block-table, .wp-block-quote, .wp-block-list,
  .wp-block-html, .wp-block-columns
):not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.aligncenter){
  margin-left:var(--content-inset);
  margin-right:var(--content-inset);
}

.entry .entry-content :is(h3,h4):not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.aligncenter){
  margin-left:0px;
  margin-right:var(--content-inset);
}

/* =========================
   Tables
   ========================= */

.entry .entry-content table{
  width:100%;
  max-width:100%;
  font-size:.95rem;
  border-collapse:collapse;
  margin:0 0 12px;
}

.entry .entry-content table th,
.entry .entry-content table td{
  padding:.6em .8em;
  line-height:1.5;
  border:1px solid rgba(0,0,0,.12);
}

.entry .entry-content table th{
  font-weight:700;
  background:rgba(0,0,0,.04);
}

/* =========================
   Gutenberg images
   - No forced full-width
   ========================= */

.entry .entry-content .wp-block-image{
  margin-bottom:12px;
  text-align:center;
}

.entry .entry-content .wp-block-image img{
  max-width:100%;
  height:auto;
}

.entry .entry-content img.aligncenter{
  display:block;
  margin-left:auto;
  margin-right:auto;
}

.entry .entry-content img.alignleft{
  display:block;
  margin-left:0;
  margin-right:auto;
}

.entry .entry-content img.alignright{
  display:block;
  margin-right:0;
  margin-left:auto;
}

/* =========================
   Section box (minimal, non-destructive)
   ========================= */

.section-box{
  border-radius:14px;
}

/* =========================
   Footer gap cleanup (cross-template)
   ========================= */

.site-main,
.site-content{
  padding-bottom:0;
  margin-bottom:0;
}

.entry,
.page .entry,
.single .entry,
.single-post .entry{
  margin-bottom:0;
}

/* =========================
   Responsive
   ========================= */

@media (max-width:768px){
  html{ font-size:15px; }
  .entry .entry-content{ font-size:.95rem; }
  .entry .entry-title{ font-size:1.6rem; }
  .entry .entry-content h1{ font-size:1.5rem; }
  .entry .entry-content h2{ font-size:1.3rem; }
  .entry .entry-content h3{ font-size:1.1rem; }
  .entry .entry-content h4{ font-size:1rem; }
  .entry .entry-content table{ font-size:.9rem; }
}
