/* Reading layout: portable overrides, loaded after the upstream styles. */
.hh-reading-page main > .container { padding-top:20px !important; }
.hh-reading-page #post > .card-body { padding:36px clamp(24px,4vw,56px); }
.hh-reading-header { text-align:center; padding:4px 0 28px; margin:0 0 30px; border-bottom:1px solid var(--overlay-color-dark-1,rgba(128,128,128,.14)); }
.hh-reading-header .post-title { margin:0 auto 18px; max-width:24em; font-size:clamp(25px,2.35vw,34px); line-height:1.45; font-weight:650; letter-spacing:.025em; overflow-wrap:break-word; }
.hh-post-meta { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:9px 18px; color:var(--font-color-main-light); font-size:12px; line-height:1.6; }
.hh-post-meta > * { display:inline-flex; align-items:center; gap:5px; margin:0; color:inherit; white-space:nowrap; }
#post .hh-post-meta .iconfont { font-size:13px; width:14px; line-height:1; opacity:.65; }
.hh-reading-page .post-content.markdown-body { font-size:16px; line-height:1.95; letter-spacing:.015em; overflow-wrap:break-word; }
.hh-reading-page .post-content.markdown-body p { font-size:inherit; line-height:inherit; margin:0 0 1.25em; }
.hh-reading-page .post-content.markdown-body h2 { margin:1.9em 0 .85em; font-size:23px; line-height:1.5; }
.hh-reading-page .post-content.markdown-body h3 { margin:1.6em 0 .75em; font-size:19px; line-height:1.5; }
.hh-reading-page .post-content.markdown-body figure { margin:24px 0; }
.hh-reading-page .post-content.markdown-body img { display:block; width:auto; height:auto; max-width:100%; margin:20px auto; object-fit:contain; border-radius:8px; }
.hh-reading-page .post-content.markdown-body pre { font-size:13px; line-height:1.75; overflow-x:auto; }
.hh-reading-page .post-content.markdown-body blockquote { padding:16px 22px; font-size:15px; }
.main-sidebar { font-size:13px; line-height:1.7; }
.main-sidebar .hh-widget { box-shadow:0 5px 22px rgba(30,42,65,.045); }
.main-sidebar .widget-title { display:flex; align-items:center; gap:5px; padding:14px 16px !important; font-size:14px; line-height:1.4; font-weight:600; }
.main-sidebar .widget-title > .iconfont { font-size:15px; }
.main-sidebar .widget-title-top-bg { opacity:.4; }
.main-sidebar .widget-content { padding:12px 16px 16px !important; }
.main-sidebar .author-content { padding:23px 18px 18px !important; }
.main-sidebar .author-info-avatar { width:58px; height:58px; min-width:58px; margin:0 auto 8px; }
.main-sidebar .author-info-avatar .avatar-img { width:58px; height:58px; object-fit:cover; border-radius:50%; }
.main-sidebar .author-info-avatar .author-oneline { width:9px; height:9px; right:2px; bottom:2px; border-width:2px; }
.main-sidebar .author-nickname { font-size:16px; line-height:1.6; font-weight:600; }
.main-sidebar .author-text { margin:5px 0 12px; font-size:12px; line-height:1.8; color:var(--font-color-main-light); }
.main-sidebar .blog-count-box .blog-count-item { padding:8px 2px; margin:0 3px; border-radius:8px; box-shadow:none; background:var(--overlay-color-dark-1,rgba(128,128,128,.05)); font-size:11px; line-height:1.7; }
.main-sidebar .blog-count-item span:last-child { font-size:14px; font-weight:600; font-variant-numeric:tabular-nums; }
.main-sidebar .hotposts-list { padding:0; margin:0; list-style:none; }
.main-sidebar .hotposts-item { padding:10px 0; position:relative; border-bottom:1px solid var(--overlay-color-dark-1,rgba(128,128,128,.1)); }
.main-sidebar .hotposts-item:last-child { border-bottom:0; }
.main-sidebar .hotposts-link { display:grid !important; grid-template-columns:20px minmax(0,1fr) 34px; gap:8px; align-items:start; line-height:1.65; }
.main-sidebar .hotposts-number { display:flex; align-items:center; justify-content:center; width:18px; height:18px; margin-top:2px; border-radius:6px; background:var(--overlay-color-dark-1,rgba(128,128,128,.1)); font-size:10px; color:var(--font-color-main-light); }
.main-sidebar .hotposts-title { font-size:13px; font-weight:400; overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow-wrap:anywhere; }
.main-sidebar .hotposts-views { padding-top:2px; text-align:right; font-size:10px; color:var(--font-color-main-light); font-variant-numeric:tabular-nums; }
.main-sidebar .hotposts-heat { display:none; }
.main-sidebar .newreply-text { font-size:12px; line-height:1.8; }
.hh-tag-cloud { display:flex; flex-wrap:wrap; gap:8px; align-content:center; justify-content:center; min-height:140px; padding:8px 0; }
.hh-tag-cloud a { display:inline-flex; align-items:center; gap:5px; padding:5px 9px; border:1px solid var(--overlay-color-dark-1,rgba(128,128,128,.12)); border-radius:20px; font-size:var(--tag-size,13px); line-height:1.5; white-space:nowrap; max-width:100%; color:var(--font-color-main); background:var(--bg-color-primary); text-decoration:none; }
.hh-tag-cloud a span { overflow:hidden; text-overflow:ellipsis; }
.hh-tag-cloud a small { font-size:10px; opacity:.55; font-variant-numeric:tabular-nums; }
.hh-tag-cloud a:hover,.hh-tag-cloud a:focus-visible { color:var(--primary,#4777d6); border-color:currentColor; outline-offset:3px; }
.hh-tag-cloud.is-dynamic { position:relative; display:block; height:235px; min-height:235px; padding:0; overflow:hidden; perspective:650px; }
.hh-tag-cloud.is-dynamic a { position:absolute; left:50%; top:50%; max-width:145px; margin:0; will-change:transform; }
.hh-tag-cloud.is-dynamic a:focus-visible { z-index:100 !important; opacity:1 !important; }
.hh-tag-toggle { display:block; margin:2px auto 0; background:none; border:0; padding:5px 10px; color:var(--font-color-main-light); font-size:11px; cursor:pointer; }
.hh-tag-toggle[hidden] { display:none; }
.hh-reading-page .breadcrumb { padding-bottom:12px !important; font-size:11px; }
@media(max-width:767.98px) {
 .hh-reading-page #post > .card-body { padding:25px 20px; }
 .hh-reading-header { padding-bottom:22px; margin-bottom:24px; }
 .hh-reading-header .post-title { font-size:26px; line-height:1.5; }
 .hh-post-meta { gap:7px 12px; font-size:11px; }
 .hh-reading-page .post-content.markdown-body { font-size:16px; line-height:1.9; }
 .hh-reading-page .post-content.markdown-body h2 { font-size:21px; }
}
@media(prefers-reduced-motion:reduce) { .hh-tag-cloud a { transition:none; } }
/* A cloud of words, rather than overlapping boxed chips. */
.hh-tag-cloud.is-dynamic { margin-inline:-10px; }
.hh-tag-cloud.is-dynamic a { padding:2px 4px; max-width:120px; border:0; background:transparent; box-shadow:none; }
.hh-tag-cloud.is-dynamic a:nth-child(3n+1) { color:#5378b7; }
.hh-tag-cloud.is-dynamic a:nth-child(3n+2) { color:#687e86; }
:root[data-theme=dark] .hh-tag-cloud.is-dynamic a:nth-child(3n+1) { color:#9bbbf0; }
:root[data-theme=dark] .hh-tag-cloud.is-dynamic a:nth-child(3n+2) { color:#9fb9bd; }

/* MoluRead: subtle breathing without rotating the refresh button. */
@keyframes moluread-breathe { 0%,100% { opacity:1; } 50% { opacity:.55; } }
.yiyan-widget .yiyan-refresh-btn:hover,
.yiyan-widget .yiyan-refresh-btn:focus-visible { animation-play-state:paused; opacity:1; }
@media (prefers-reduced-motion:reduce) {
 .yiyan-widget .yiyan-refresh-btn { animation:none; -webkit-animation:none; }
}

/* A compact date header and a quiet, readable quotation. */
.yiyan-widget { overflow:hidden; }
.yiyan-widget .yiyan-date { padding:16px 18px 14px !important; }
.yiyan-widget .yiyan-date-main { flex-direction:column; gap:9px; padding-right:70px; }
.yiyan-widget .yiyan-greet { font-size:12px; color:var(--font-color-main-light); }
.yiyan-widget .yiyan-dayline { align-items:baseline; gap:5px; line-height:1.2; }
.yiyan-widget .yiyan-date .yiyan-day { font-size:28px; font-weight:600; }
.yiyan-widget .yiyan-month { font-size:13px; color:var(--font-color-main-light); }
.yiyan-widget .yiyan-week { margin-left:6px; font-size:12px; color:var(--font-color-main-light); }
.yiyan-widget .yiyan-refresh-btn { top:17px; right:14px; display:inline-flex; align-items:center; gap:4px; padding:5px 7px; border:0; border-radius:7px; background:transparent; font-size:11px; line-height:1.5; }
.yiyan-widget .yiyan-refresh-btn .iconfont { font-size:13px; }
.yiyan-widget .yiyan-refresh-btn:disabled { cursor:wait; animation:none; opacity:.65; }
.yiyan-widget .yiyan-refresh-btn:focus-visible { outline:2px solid var(--color-primary-light-1); outline-offset:2px; }
.yiyan-widget .yiyan-content .yiyan-cover img { display:block; width:100%; height:112px; object-fit:cover; }
.yiyan-widget .yiyan-text { padding:18px !important; min-height:128px; }
.yiyan-widget .yiyan-content .yiyan-text .yiyan-quote { font-size:14px; line-height:1.9; letter-spacing:.02em; overflow-wrap:anywhere; }
.yiyan-widget .yiyan-content .yiyan-text .yiyan-author { margin-top:12px !important; font-size:11px; line-height:1.7; overflow-wrap:anywhere; }

/* Adjacent articles: two balanced reading cards, including narrow screens. */
.mlr-post-navigation { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:16px; }
.mlr-post-nav-item { min-width:0; display:flex; flex-direction:column; gap:10px; padding:22px 24px; border:var(--border-solid-main); border-radius:var(--border-radius-base,14px); background:var(--bg-color-main); box-shadow:6px 6px 18px var(--overlay-color-dark-1),-4px -4px 14px var(--overlay-color-light-1); color:var(--font-color-main); transition:background-color .2s,box-shadow .2s; }
.mlr-post-nav-label { display:flex; align-items:center; gap:8px; font-size:12px; line-height:1.5; color:var(--font-color-main-light); }
.mlr-post-nav-arrow { font-size:18px; line-height:1; }
.mlr-post-nav-next { text-align:right; }
.mlr-post-nav-next .mlr-post-nav-label { justify-content:flex-end; }
.mlr-post-nav-next .mlr-post-nav-arrow { order:1; }
.mlr-post-nav-title { font-size:15px; line-height:1.7; font-weight:500; overflow-wrap:anywhere; }
a.mlr-post-nav-item:hover { color:var(--color-primary-light-1); background:var(--bg-color-body); box-shadow:3px 3px 10px var(--overlay-color-dark-1); text-decoration:none; }
a.mlr-post-nav-item:focus-visible { outline:2px solid var(--color-primary-light-1); outline-offset:4px; }
.mlr-post-nav-item.is-empty { box-shadow:none; background:transparent; }
.mlr-post-nav-item.is-empty .mlr-post-nav-title { color:var(--font-color-main-light); font-weight:400; }
@media(max-width:575.98px) {
 .mlr-post-navigation { gap:10px; }
 .mlr-post-nav-item { padding:16px 14px; gap:8px; }
 .mlr-post-nav-title { font-size:13px; line-height:1.7; }
 .mlr-post-nav-label { font-size:11px; }
}
@media(prefers-reduced-motion:reduce) { .mlr-post-nav-item { transition:none; } }

/* Filing is independent of both built-in and custom footer content. */
.footer .mlr-footer-filing { padding-top:8px; padding-bottom:6px; font-size:12px; line-height:1.8; color:var(--font-color-main-light); overflow-wrap:anywhere; }
.footer .mlr-footer-filing a { color:inherit; }
.footer .mlr-footer-filing a:hover { color:var(--color-primary-light-1); }
