.reading-tools, .search-recovery { display:flex; flex-wrap:wrap; align-items:center; gap:.7rem; margin:1rem 0; }
.reading-tools button, .reading-library button, .search-recovery button { font:inherit; padding:.55rem .85rem; border:1px solid currentColor; border-radius:.5rem; background:transparent; color:inherit; cursor:pointer; min-height:44px; }
.reading-tools button[aria-pressed="true"] { background:#164e63; color:#fff; }
.reading-tools a, .reading-library a { color:inherit; text-decoration:underline; text-underline-offset:.18em; }
.reading-library { margin:1.5rem 0; padding:1rem; border:1px solid #94a3b8; border-radius:.65rem; }
.reading-library summary { cursor:pointer; font-weight:700; min-height:44px; }
details.inpage-toc { padding:.5rem .85rem; margin:1rem 0; }
details.inpage-toc > summary { cursor:pointer; min-height:44px; display:list-item; align-content:center; font-weight:700; }
details.inpage-toc > summary.inpage-toc-title { margin:0; padding:0; border:0; font-size:1rem; }
details.inpage-toc:not([open]) > :not(summary) { display:none; }
details.inpage-toc :focus-visible { outline:3px solid #0891b2; outline-offset:3px; }
.reading-library ul { padding-left:1.3rem; }
.reading-library li { margin:.7rem 0; overflow-wrap:anywhere; }
.reading-library li button { margin-left:.5rem; font-size:.85em; }
.reading-library p, .reading-tools [role="status"] { font-size:.9em; }
.reading-library [hidden], .search-recovery[hidden] { display:none; }
.article-diary-link { border-left:4px solid #0e7490; padding:.8rem 1rem; margin:2rem 0; background:linear-gradient(110deg,#e0f2fe55,transparent); }
.article-diary-link h2 { font-size:1.15rem; }
.article-diary-link a { display:inline-block; padding:.7rem 0; font-weight:700; }
.search-snippet-heading { display:block; font-weight:600; margin:.4rem 0; }
.intl-guide-card__excerpt { display:block; font-size:.9rem; line-height:1.65; font-weight:400; }
.search-recovery { grid-column:1 / -1; flex-direction:column; align-items:flex-start; }
.search-recovery ul { padding-left:1.3rem; }
.reading-tools :focus-visible, .reading-library :focus-visible, .search-recovery :focus-visible { outline:3px solid #0891b2; outline-offset:3px; }
.week-row.is-current-week { outline:2px solid #0891b2; outline-offset:3px; }
@media(max-width:480px) { .reading-tools { align-items:flex-start; } .reading-library { padding:.75rem; } }
.article-region-scope{font-size:.82rem;line-height:1.6;color:var(--text-secondary,#526372);margin:.65rem 0}.article-source-inline{font-size:.9em}.article-worked-example{padding-left:1rem;border-left:3px solid #9fc5d3}
.reading-metadata { color:var(--reading-muted,#526176); font-size:.82rem; margin:.45rem 0 .7rem; }
.reading-metadata > summary { cursor:pointer; min-height:32px; line-height:1.65; padding:.2rem 0; }
.reading-metadata > summary span { font-size:.78rem; text-decoration:underline; margin-inline-start:.6rem; }
.reading-metadata > :is(.hero-meta,.article-post-meta,.article-meta) { margin:.4rem 0 .6rem; padding:.4rem 0; border:0; font-size:.82rem; }
.reading-tools { gap:.4rem .75rem; margin:.65rem 0 .8rem; font-size:.82rem; }
.reading-tools button { padding:.35rem .6rem; }
.reading-tools a { line-height:1.5; }
.reading-tools [role=status]:empty { display:none; }
.reading-table-hint { font-size:.82rem; color:var(--reading-muted,#526176); margin:.7rem 0 .2rem; }
.reading-table-hint[hidden] { display:none; }
[data-reading-table] { max-width:100%; overflow-x:auto; }
.reading-table-overflow { border-inline-end:3px solid var(--reading-border,#cbd5e1); }
.reader-source { font-size: .875rem; line-height: 1.7; color: var(--text-secondary); margin: .8rem 0 0; }
.reader-situation-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; margin-top: 1rem; }
.reader-situation-links a { display: block; padding: .85rem; border: 1px solid currentColor; border-radius: 8px; text-decoration: none; line-height: 1.5; }
.reader-situation-links a:hover, .reader-situation-links a:focus-visible { text-decoration: underline; }
.reader-step-figure { margin: 1.5rem 0; }
.reader-step-figure img { display: block; width: min(100%, 360px); height: auto; margin-inline: auto; }
.reader-step-figure figcaption { margin-top: .75rem; font-size: .875rem; line-height: 1.7; }
.reader-toc { margin: 1rem 0; }
.reader-guide { max-width: 58rem; padding: 1.5rem; margin: 0 auto; line-height: 1.9; }
.reader-guide h1 { font-size: clamp(1.75rem, 3vw, 2.6rem); line-height: 1.45; }
.reader-guide .section { margin-block: 2rem; }
.reader-guide-order { padding: 1rem; border: 1px solid var(--border-color, #8193a5); border-radius: 8px; }
.reader-guide-order ol { margin: 0; padding-left: 1.5rem; }
html[data-reading-theme] .reader-guide > .hero { background:var(--reading-surface); color:var(--reading-text); border-left:4px solid var(--reading-link); padding:24px; }
html[data-reading-theme] .reader-guide > .hero h1 { color:var(--reading-text); }
html[data-reading-theme] .reader-guide a { color:var(--reading-link); text-underline-offset:3px; }
.reader-guide [id^="step-"] { scroll-margin-top:90px; }
.reader-guide-order a { display:inline-block; padding-block:8px; }
html[lang="ja"] body .main-content-column .reader-calendar { padding:16px; border:1px solid var(--reading-border); border-radius:8px; background:var(--reading-surface); }
.reader-calendar [hidden] { display:none; }
.reader-calendar fieldset { margin:12px 0; padding:12px; border:1px solid var(--reading-border); border-radius:6px; }
.reader-calendar label { display:flex; align-items:start; gap:8px; min-height:44px; padding-block:8px; cursor:pointer; }
.reader-calendar input { margin-top:7px; flex:none; }
.reader-calendar button { min-height:44px; padding:10px 16px; border:1px solid var(--reading-action); border-radius:6px; background:var(--reading-action); color:var(--reading-on-action); font:inherit; cursor:pointer; }
.reader-calendar [role="status"]:empty { display:none; }
.reader-topic-entry { display: flex; flex-wrap: wrap; gap: .35rem 1rem; font-size: .875rem; }
.reader-topic-entry a { padding-block: .35rem; }
.reader-topic-disclosure summary { cursor: pointer; font-size: .875rem; padding-block: .5rem; }
@media (max-width: 600px) {
.reader-topic-disclosure summary { min-height: 44px; box-sizing: border-box; }
.reader-topic-entry { gap: 0; }
.reader-topic-entry a { display: flex; align-items: center; min-height: 44px; padding-block: 0; width: 100%; }
}
.reader-toc summary { cursor: pointer; }
.reader-toc nav ol { padding-left: 1.5rem; }
.reader-toc li { margin: .5rem 0; }
@media (max-width: 480px) { .reader-situation-links { grid-template-columns: 1fr; } }