.reader-intro { max-width:760px; margin:32px auto; padding:24px; box-sizing:border-box; background:var(--bg-card); border:1px solid var(--border-subtle); border-radius:16px; }
.reader-intro h2 { margin:0 0 20px; font-size:1.4rem; line-height:1.5; }
.reader-intro p, .reader-page-guide p, .reader-input-note { white-space:pre-line; line-height:1.9; margin:16px 0; }
.reader-intro ol { padding-left:24px; line-height:2; margin:20px 0; }
.reader-intro a, .reader-section-links a, .reader-empty button { color:var(--accent-gold); text-decoration:underline; min-height:44px; display:inline-flex; align-items:center; padding:10px 14px; box-sizing:border-box; border:1px solid var(--accent-gold); border-radius:8px; background:var(--bg-card); overflow-wrap:anywhere; max-width:100%; }
.reader-intro a { display:flex; width:fit-content; margin-left:auto; }
.reader-page-guide { margin:0 0 32px; padding:20px; background:var(--bg-card); border:1px solid var(--border-subtle); border-radius:12px; }
.reader-section-links { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:10px; margin-top:24px; }
.reader-new-tab { font-size:.8em; }
.reader-empty button { display:flex; margin:16px 0 0 auto; cursor:pointer; }
body.reader-journey #toc { position:relative; top:auto; }
body.reader-journey #toc .toc-inner { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; padding:16px; }
.reader-menu-group { display:flex; flex-wrap:wrap; gap:8px; justify-content:flex-end; padding:12px; border:1px solid var(--border-subtle); border-radius:8px; min-width:0; }
.reader-menu-group strong { width:100%; margin-bottom:8px; color:var(--accent-gold); }
.reader-menu-group .toc-btn { min-height:44px; white-space:normal; max-width:100%; opacity:1; }
.reader-page-guide:focus { outline:2px solid var(--accent-gold); outline-offset:3px; }
body.reader-journey #ai-handoff button { min-height:44px; padding:12px 18px; display:block; margin-left:auto; }
body.reader-journey #ai-handoff p:has(>a) { text-align:right; }
body.reader-journey #ai-handoff a { display:inline-flex; align-items:center; min-height:44px; }
@media(max-width:600px) { .reader-intro { margin:24px 12px; padding:20px; } body.reader-journey #toc .toc-inner { grid-template-columns:1fr; } .reader-page-guide { padding:16px; } }
body.reader-journey .site-nav__menu { min-width:0; flex:1; }
body.reader-journey .site-nav__inner { box-sizing:border-box; width:100%; }
@media(max-width:600px) {
  body.reader-journey .site-nav__inner { flex-wrap:wrap; }
  body.reader-journey .site-nav__brand { flex:1; min-width:0; }
  body.reader-journey .site-nav__brand-ja { font-size:1rem; letter-spacing:.08em; }
  body.reader-journey .site-nav__menu { order:3; flex-basis:100%; }
  body.reader-journey .site-nav__link, body.reader-journey .site-nav__more > summary { min-height:44px; display:flex; align-items:center; box-sizing:border-box; }
}
.reader-menu-group .toc-btn { width:100%; text-align:right; padding:12px; }
.reader-menu-purpose { display:block; margin-top:6px; font-size:.78rem; font-weight:400; line-height:1.6; }
#reader-result-menu > summary { min-height:48px; padding:12px 18px; box-sizing:border-box; border:1px solid var(--accent-gold); color:var(--accent-gold); border-radius:10px; background:var(--bg-card); text-align:right; cursor:pointer; }
#reader-result-menu[open] > summary { margin-bottom:12px; }
