/* Approved 2026-09-30. Source: ../05_ルール/01_文字サイズと読みやすさ.md
   Load after all layout styles. Values are shared by home and lesson pages. */
:root{--font-ui:1rem;--font-body:1.125rem;--font-small-heading:1.25rem;--font-section:1.5rem;--font-chapter:2rem;font-size:100%}
body.home{font-size:var(--font-ui)}
body.home h1,body.home.lesson-page .lesson-heading h1{font-size:var(--font-chapter);line-height:1.6;max-width:none;text-wrap:balance}
body.home .section h2,body.home.lesson-page .prose h2,body.home .dialog-top h2{font-size:var(--font-section);line-height:1.7}
body.home .chapter h3,body.home .tool h3,body.home.lesson-page .prose h3,body.home .resume h2{font-size:var(--font-small-heading);line-height:1.7}
body.home .welcome,body.home .chapter p,body.home .tool p,body.home .section-intro,body.home dialog p,body.home.lesson-page .prose{font-size:var(--font-body);line-height:1.9}
body.home .preview-bar,body.home .brand,body.home .brand small,
body.home .desktop-nav,body.home .resume-kicker,body.home .resume .primary,
body.home .journey h2,body.home .journey-heading>span,body.home .step-number,
body.home .journey-steps small,body.home .journey-steps strong,body.home .journey-steps div>span,
body.home .progress-row,body.home .progress-row strong,body.home .chapter-meta,
body.home .status,body.home .small-note,body.home .tool-context,
body.home .update,body.home .update time,body.home .update-category,body.home .update-title,
body.home .footer,body.home .primary,body.home .mobile-nav a,body.home .mobile-nav button,
body.home.lesson-page .back,body.home.lesson-page .lesson-heading .eyebrow,
body.home.lesson-page .lesson-preview-note,body.home.lesson-page .lesson-end{font-size:var(--font-ui);line-height:1.7}
body.home .preview-bar span{display:inline-block}
body.home .small-note,body.home .section-intro,body.home .tool-context,
body.home .chapter p,body.home .tool p,body.home .welcome,body.home .footer,
body.home .journey-heading>span,body.home .journey-steps small,body.home .journey-steps div>span,
body.home.lesson-page .lesson-preview-note,body.home.lesson-page .lesson-end{color:var(--body)}
body.home :is(p,h1,h2,h3,.update-title,.tool-context){overflow-wrap:anywhere}
body.home .chapter-meta,body.home .section-title,body.home .footer{flex-wrap:wrap}
body.home .step-number{width:30px;height:30px}
body.home .journey-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 28px}
body.home .journey-steps li:nth-child(4):before{display:none}
body.home .journey-steps li>div{min-width:0}
@media(max-width:800px){body.home .tool h3{padding-right:80px}}
@media(max-width:600px){
 :root{--font-section:1.375rem;--font-chapter:1.625rem}
 body.home .page,body.home.lesson-page .lesson{padding-left:16px;padding-right:16px;padding-bottom:100px}
 body.home .page-heading{display:grid;grid-template-columns:minmax(0,1fr) 96px;gap:12px;min-height:0;align-items:center}
 body.home .heading-copy{display:contents}
 body.home .heading-copy h1{grid-column:1/-1}
 body.home .welcome{grid-column:1;max-width:none;margin-top:0}
 body.home .heading-art{position:static;grid-column:2;grid-row:2;width:96px;height:auto}
 body.home .heading-art img{width:96px;height:auto}
 body.home .preview-bar span{margin-left:0;margin-inline:8px}
 body.home .journey-heading{display:flex;flex-wrap:wrap;justify-content:flex-start}
 body.home .journey-heading>span{margin-top:0}
 body.home .journey-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px}
 body.home .mobile-nav a,body.home .mobile-nav button{gap:2px;min-height:52px}
 body.home.lesson-page .prose{padding:24px 18px}
 body.home .primary{white-space:normal;text-align:center}
}
