
/* Readability floor 2026-10-07: legible small UI text and 32px minimum tap rows. */
@media (max-width: 959px) {
  body .p-breadcrumb__text, body .p-breadcrumb__text span { font-size: 12px !important; }
  body .p-articleMetas .c-categoryList__link { font-size: 12px !important; }
  body .p-pnLinks__title { font-size: 13px !important; line-height: 1.5 !important; }
  body .l-footer__nav a { font-size: 13px !important; }
}
body .reader-nav--footer li > a,
body .reader-nav--sidebar li > a,
body .l-footer__nav a { display: inline-flex !important; align-items: center; min-height: 32px; }

body .p-articleMetas .c-categoryList__link, body .c-widget__title.-spmenu { background-color: #b8561f !important; }
body .footer-kouki-label, body .footer-kouki-tag,
body .footer-kouki-notice-text, body .footer-kouki-sister-desc { font-size: 12px !important; }


/* Top page legibility: lift 10-11px helper text and darken low-contrast counts. */
body .mhz-cats > a > span, body .mhz-cats > a > b, body .mhz-item > span > b { font-size: 12px !important; }
body .mhz-directory > summary > span, body .mhz-directory nav > a > b { font-size: 12px !important; color: #4b5563 !important; }


/* Japanese headings: break lines between phrases (Chrome/Edge auto-phrase), not mid-word.
   Tripled #body_wrap so existing site design rules with !important do not cancel it. */
html #body_wrap#body_wrap#body_wrap :is(h1, .c-postTitle__ttl, .post_content h2, .post_content h3, .post_content h4,
  .p-postList__title, .p-pnLinks__title, .p-blogCard__title, .p-toc__list a, .c-widget__title, .l-articleBottom__title) {
  word-break: auto-phrase !important;
  overflow-wrap: break-word !important;
}
/* Make the existing table scroll hint readable. */
body .codex-mobile-table-scroll-caption { font-size: 12px !important; color: #334155 !important; }


/* Desktop: 12px breadcrumb/category labels; larger invisible hit area for header icon links (no layout change). */
@media (min-width: 960px) {
  body .p-breadcrumb__text, body .p-breadcrumb__text span, body .p-articleMetas .c-categoryList__link { font-size: 12px !important; }
}
body .c-iconList__link { position: relative; z-index: 2; }
body .c-iconList__link::after { content: ""; position: absolute; inset: -8px -6px; }
body .codex-preferred-source-widget p a { display: inline-block; padding: 5px 0; }


/* Reading-text floor 2026-10-09: captions, notes and mobile table text inside articles at 14px or more (raises only; body paragraphs are already 16px+). */
body .post_content figcaption, body .post_content figcaption a, body .post_content p small,
body .post_content p[style*="font-size:12px"], body .post_content p[style*="font-size:13px"],
body .post_content .codex-mobile-table-caption, body .post_content .codex-mobile-table-scroll-caption { font-size: 14px !important; line-height: 1.6; }
@media (max-width: 959px) {
  body .post_content .codex-mobile-table-cell-value, body .post_content .codex-mobile-table-wrap th, body .post_content .codex-mobile-table-wrap td { font-size: 14px !important; }
}
/* Monohikaku: campaign conditions and home helper text readable. */
body .post_content ul.mh-campaign-essential li { font-size: 14px !important; }
body .post_content .mhz-search-note, body .post_content .mhz-head > p { font-size: 14px !important; }
