
/* 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 #custom_html-6 [style*="font-size:10px"],
body #custom_html-6 [style*="font-size:11px"] { font-size: 12px !important; }
body #custom_html-6 [style*="color:#888"] { color: #64748b !important; }


/* Top page legibility: lift 10-11px helper text to 12-13px. */
body .spz-feature-copy > small, body .spz-feature-copy > b { font-size: 13px !important; }
body .spz-label, body .spz-row > span, body .spz-nav > span,
body .spz-nav > b, body .spz-carriers > a > span { font-size: 12px !important; }
body .spz-section-head > p { font-size: 13px !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 .post_content figure.codex-mobile-table-scroll::before { font-size: 12px !important; color: #334155 !important; font-weight: 700 !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; }
}
/* SP1: home section notes and feature description readable. */
body .post_content .spz-section-head > p, body .post_content .spz-head p, body .post_content .spz-feature-copy > small { font-size: 14px !important; }

#body_wrap .codex-preferred-source-widget :is(p,a,span,small){font-size:14px !important}.p-breadcrumb .p-breadcrumb__text{font-size:14px !important}#body_wrap .p-postList :is(.c-postThumb__cat,.c-postTimes__posted,.c-postTimes__modified){font-size:14px !important}html #body_wrap #main_content .p-postList .p-postList__title{font-size:16px!important;line-height:1.55!important}