
/* 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; }

/* Mobile article title: drop the duplicate side date column so the title uses the full width. */
@media (max-width: 599px) {
  body .p-articleHead.c-postTitle { display: block !important; }
  body .p-articleHead.c-postTitle > .c-postTitle__date { display: none !important; }
}


/* Top page legibility: lift 10-11px helper text and darken the 3.7:1 row descriptions. */
body .shz-row .shz-state, body .shz-safety > a > span { font-size: 12px !important; }
body .shz-category > a > small { font-size: 12px !important; letter-spacing: 0 !important; }
@media (min-width: 960px) { body .shz-category > a > small { font-size: 11.5px !important; white-space: normal; word-break: keep-all; overflow-wrap: anywhere; } }
body .shz-category > a > b { font-size: 13px !important; }
body .shz-row .shz-copy > small { font-size: 12.5px !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;
}


/* Undo phrase breaks on the mobile article title: measured +19% lines (63->75 on 20 titles). */
@media (max-width: 599px) {
  html #body_wrap#body_wrap#body_wrap#body_wrap :is(h1, .c-postTitle__ttl) { word-break: normal !important; overflow-wrap: anywhere !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; }
}
/* Shotai: home section notes and card descriptions readable. */
body .post_content .shz-head > p, body .post_content .shz-hero p { font-size: 14px !important; }
body .post_content .shz-copy > small { font-size: 14px !important; line-height: 1.55; }
