/* Local additions. Original WordPress theme styles are preserved in source/. */
img, video { max-width: 100%; }
.wp-block-navigation-submenu__toggle[aria-expanded="true"] ~ .wp-block-navigation__submenu-container { visibility: visible; opacity: 1; width: auto; height: auto; overflow: visible; }
@media (max-width: 600px) {
  pre { overflow-x: auto; }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { visibility: visible; opacity: 1; height: auto; width: auto; }
}
.publication-card[hidden] { display:none !important; }
.publication-filter-controls { display:flex; flex-wrap:wrap; gap:8px; }
.publication-filter-controls button { font:inherit; font-size:.85rem; padding:6px 12px; border:1px solid #aaa; background:transparent; border-radius:20px; cursor:pointer; }
.publication-filter-controls button[aria-pressed=true] { color:#fff; background:#222; border-color:#222; }
.publication-count { font-size:.8rem; color:#666; }
.blog-main { max-width:900px; margin:64px auto; padding:0 32px; min-height:45vh; }
.blog-main h1 { line-height:1.2; }
.blog-main h2 { font-size:1.6rem; line-height:1.35; }
.blog-summary { padding:24px 0; border-bottom:1px solid #ccc; }
.blog-summary time,.blog-empty { color:#666; }
.blog-tag { display:inline-block; border:1px solid #bbb; border-radius:20px; padding:2px 10px; margin:4px 4px 4px 0; font-size:.8rem; text-decoration:none; }
.blog-body { line-height:1.8; margin-top:32px; overflow-wrap:anywhere; }
.blog-body pre { padding:16px; background:#e4e4e4; overflow-x:auto; }
.blog-body table { display:block; max-width:100%; overflow-x:auto; border-collapse:collapse; }
.blog-body td,.blog-body th { padding:8px; border:1px solid #bbb; }
@media (max-width:600px) { .blog-main { margin:32px auto; padding:0 20px; } }
button.round-tag { cursor:pointer; font-family:inherit; font-weight:400; font-size:14px; line-height:1; border:0; vertical-align:baseline; }
