.theme-introduction{border:1px dashed #b3ad77;background:#fffdf0;padding:20px;border-radius:12px;margin:28px 0}
.theme-introduction label{display:block;font-size:15px;font-weight:700;margin-bottom:10px}
.theme-introduction textarea{display:block;width:100%;min-height:130px;resize:vertical;border:1px solid #b8b8a5;border-radius:8px;padding:12px;background:#fff;color:inherit;font:inherit;line-height:1.7;margin:0 0 14px}
.theme-question{border-top:1px solid #deded3;padding:20px 0}
.theme-question h2{font-size:clamp(20px,2.2vw,26px);line-height:1.65;margin:0 0 12px;overflow-wrap:anywhere}
.theme-question p{font-size:17px;margin:0 0 16px;color:#52594c}
.theme-question .button,.theme-more .button{white-space:normal;text-align:center}
.theme-more{border-top:2px solid #e7d654;padding-top:25px;margin-top:28px}
.theme-return{background:#fff8c9;border:1px solid #e8d766;border-radius:14px;padding:20px;margin:28px 0}
.theme-return a{display:block;text-decoration:none;color:inherit}.theme-return span{display:block;font-size:14px;margin-bottom:6px}.theme-return strong{display:block;font-size:20px;line-height:1.6;overflow-wrap:anywhere}
.theme-hub .wp-article-content>p:first-child{font-weight:700;color:#545b4c}
@media(max-width:600px){.theme-introduction{padding:14px}.theme-return{padding:16px}.theme-return strong{font-size:18px}.theme-question{padding:22px 0}}

.entry-question{display:grid;grid-template-columns:180px minmax(0,1fr);gap:24px;align-items:stretch}
.entry-question-thumbnail{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:10px}
.entry-question .theme-question-text{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.theme-hub .theme-question h2{margin:0;font-size:clamp(20px,2.2vw,26px);line-height:1.5}
.entry-intro .cat-comment-speaker{flex-basis:168px}
.entry-preview-note{padding-block:16px;font-size:14px;color:#62695f}
.entry-preview-note a{display:inline-block}
@media(max-width:600px){.entry-question{grid-template-columns:110px minmax(0,1fr);gap:12px;min-height:0;padding:16px 0}.entry-question-thumbnail{width:110px;aspect-ratio:4/3}.theme-hub .theme-question h2{font-size:16px;line-height:1.5}.entry-intro .cat-comment-speaker{flex-basis:112px}.entry-intro{gap:12px}.entry-intro .cat-comment-bubble{padding:14px}}

/* Shared by entry pages and subject themes, including L01. */
.theme-hub .theme-question .hima-read-button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:12px 22px;margin-top:auto;margin-left:auto;align-self:flex-end;flex-shrink:0;border:2px solid var(--ink);border-radius:10px;background:var(--yellow);color:var(--ink);font-weight:800;text-decoration:none;line-height:1.5}
.theme-hub .theme-question .hima-read-button:hover,.theme-hub .theme-question .hima-read-button:focus-visible{background:var(--ink);color:var(--yellow);text-decoration:none}
.theme-hub .theme-question .hima-read-button:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.theme-hub .theme-question-title{color:var(--ink);text-decoration:none}
.theme-hub .theme-question-title:hover{text-decoration:underline}
.theme-question-image{display:block;min-width:0;border-radius:10px}
.theme-question-image:focus-visible,.theme-question-title:focus-visible{outline:3px solid var(--ink);outline-offset:4px}
@media(max-width:600px){.theme-hub .theme-question .hima-read-button{width:auto;max-width:100%;min-height:42px;padding:9px 12px;font-size:14px;box-sizing:border-box}}

/* Mobile-only spacing and the two-line cat introduction. Desktop stays unchanged. */
@media(max-width:600px){
 .entry-question .theme-question-text{gap:8px}
 .entry-intro{flex-direction:column;align-items:center;gap:12px;container-type:inline-size}
 .entry-intro .cat-comment-speaker{flex-basis:auto;width:112px}
 .entry-intro .cat-comment-bubble{width:100%;box-sizing:border-box}
 .entry-intro .cat-comment-bubble:before{left:calc(50% - 10px);top:-12px;border:0;border-inline:10px solid transparent;border-bottom:13px solid #fff7cf}
 .theme-hub .entry-intro .cat-comment-bubble p{font-size:min(17px,calc((100cqw - 28px)/19));line-height:1.8;overflow-wrap:anywhere;word-break:normal;white-space:normal;text-align:center}
}
