/* Site-level refinements; keep Redefine's layout and color-mode variables. */
:root .navbar-container { background: var(--background-color-transparent-80); border-bottom: 1px solid var(--border-color); }
.navbar-container .left { display: flex; align-items: center; min-width: 0; }
.navbar-container .logo-image { flex-shrink: 0; }
.navbar-container .logo-title { font-family: "Geist", system-ui, sans-serif; font-weight: 650; letter-spacing: -.045em; }
.navbar-container .logo-title h1 { font: inherit; }
.page-template-container { max-width: 820px; margin-inline: auto; }
.page-template-container .page-title-header,
.page-template-container .markdown-body > h1 { font-size: clamp(1.75rem, 4vw, 2.25rem) !important; letter-spacing: -.025em; margin-bottom: 1.6rem; }
.page-template-container .markdown-body { line-height: 1.9; }
.page-template-container .markdown-body p { margin-block: 1.15em; }
.page-template-container .markdown-body h2 { margin-top: 2.2rem; font-size: 1.35rem !important; }
.page-template-container .tagcloud-content .tag-list { display: flex; flex-wrap: wrap; gap: 12px; justify-content: flex-start; }
.page-template-container .tagcloud-content .tag-list li { margin: 0; }
:root .page-template-container .tagcloud-content .tag-list a { margin: 0; line-height: 1.8; box-shadow: none; }
:root .page-template-container .tagcloud-content .tag-list a::after { font-size: .8rem; min-width: 0; margin-left: 8px; padding: 2px 5px; }
.page-template-container .tagcloud-content .tag-list a { filter: none !important; opacity: 1; font-size: 1rem !important; border: 1px solid var(--border-color); border-radius: 10px; padding: 9px 14px; }
.category-list-content .all-category-list { padding-left: 1.25rem; }
.category-list-content .all-category-list-item { padding-block: .6rem; }
.category-list-content .all-category-list-count { margin-left: .75rem; color: var(--third-text-color); font-size: .9rem; }
/* A quiet, single-row footer that blends into the landscape. */
:root footer.kernel-footer { margin-top: 24px; padding: 17px 20px; border: 0; background: rgba(40, 62, 78, .72) !important; color: #e0e7ec; }
:root footer.kernel-footer .info-container { margin: 0 auto; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 6px 24px; text-align: center; font-size: 12px; line-height: 1.6; }
:root .kernel-footer .footer-meta { font-variant-numeric: tabular-nums; }
:root .kernel-footer .post-count { display: inline; margin: 0 0 0 18px; font-size: inherit; }
:root .kernel-footer .footer-credits { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
:root .kernel-footer .footer-credits span,
:root .kernel-footer .footer-credits a { font-size: 11px; line-height: inherit; }
:root .kernel-footer .footer-credits svg { display: none; }
:root .kernel-footer a { color: inherit; }
:root .kernel-footer a:hover { color: #ffffff; }
@media (max-width: 640px) {
  :root footer.kernel-footer { padding: 14px 16px; }
  :root .kernel-footer .footer-credits { width: 100%; }
}
.home-article-title { line-height: 1.45; }
a:focus-visible { outline: 2px solid var(--primary-color); outline-offset: 4px; }
@media (max-width: 640px) {
  .navbar-container .logo-title { font-size: 1.2rem; }
  .navbar-container .logo-image { width: 32px; height: 32px; margin-right: 8px; }
  .page-template-container { padding: 24px 20px; }
}
