/* Reading guide: preserve the AAA cyan identity, give long copy room to breathe. */
.reading-page #aaa-contents { padding-top:32px; }
.reading-page #main { min-width:0; }
#main .reading-hero { position:relative; padding:34px 32px 28px; background:#eafbfc; border-top:5px solid #00a8b8; margin-bottom:24px; }
#main .reading-label { color:#00737e; font-size:12px; font-weight:700; letter-spacing:.06em; margin:0 0 10px; }
#main .reading-hero h1 { font-size:32px; line-height:1.5; font-weight:700; margin:0 0 16px; }
#main .reading-hero>p { max-width:550px; line-height:1.9; }
#main .reading-total { font-size:40px; font-weight:700; color:#00717b; margin:12px 0 0; }
#main .reading-total span { font-size:13px; margin-left:12px; font-weight:400; }
#main .reading-categories { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 32px; }
.reading-categories a { padding:10px 13px; border:1px solid #cbdadb; border-radius:5px; font-size:13px; color:#24474a; text-decoration:none; background:white; }
.reading-categories a[aria-current] { background:#007b85; border-color:#007b85; color:#fff; }
.reading-categories small { margin-left:4px; opacity:.85; }
#main .reading-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-bottom:28px; }
#main .reading-card { min-width:0; padding:23px; border:1px solid #d9e4e5; background:#fff; border-radius:7px; }
#main .reading-card h2,#main .reading-card h3 { font-size:18px; line-height:1.7; font-weight:700; background:none; padding:0; margin:0 0 12px; }
#main .reading-card h2 a,#main .reading-card h3 a { color:#153f45; text-decoration:none; }
#main .reading-card a:hover { color:#007b85; text-decoration:underline; }
#main .reading-card p { font-size:13px; line-height:1.9; margin:0 0 12px; }
#main .reading-card .reading-label { font-size:11px; }
#main .reading-card .reading-meta { font-size:11px; margin:16px 0 0; color:#64777a; }
#main .reading-start>h2,#main .reading-all>h2,#main .article-related>h2 { background:none; padding:0 0 12px; border-bottom:2px solid #c8edef; font-weight:700; font-size:21px; line-height:1.6; margin:32px 0 20px; }
#main .reading-start .reading-grid { grid-template-columns:1fr; gap:0; }
#main .reading-start .reading-card { border-radius:0; border-width:0 0 1px; padding:17px 4px; }
#main .reading-start .reading-card h3 { margin:0 0 4px; }
#main .reading-start .reading-card p { margin:0; }
#main .reading-start .reading-card .reading-label,#main .reading-start .reading-card .reading-meta { display:none; }
#main .reading-tool-link { padding:20px 24px; background:#fff8df; border:1px solid #eadfbc; display:flex; flex-direction:column; gap:8px; font-size:16px; }
.reading-tool-link span { font-size:12px; color:#76623c; }
#main .reading-tool-link a { color:#554421; font-weight:700; }
#main .reading-all>h2 small { font-size:13px; color:#64777a; margin-left:12px; }
#main .article-header { padding:0 0 24px; border-bottom:1px solid #dae5e5; margin-bottom:25px; }
#main .article-header h1 { font-size:29px; font-weight:700; line-height:1.6; margin:0 0 20px; }
#main .reading-meta { color:#667478; font-size:12px; line-height:1.8; margin:7px 0; }
#main .article-toc { padding:24px; background:#f0f8f8; border:1px solid #d2e9e9; margin:24px 0 35px; border-radius:6px; }
#main .article-toc h2 { font-size:16px; font-weight:700; background:none; padding:0; margin:0 0 15px; }
#main .article-toc ol { margin:0; padding-left:22px; }
#main .article-toc li { font-size:14px; line-height:1.8; margin:0 0 7px; padding:0; }
#main .article-body p { font-size:16px; line-height:2.1; margin:0 0 1.6em; overflow-wrap:anywhere; }
#main .article-body h2 { background:#eff8f8; border-left:4px solid #00a5b5; font-size:22px; font-weight:700; line-height:1.7; padding:14px 17px; margin:42px 0 23px; scroll-margin-top:20px; }
#main .article-body h3 { font-size:18px; font-weight:700; line-height:1.8; margin:28px 0 16px; }
#main .article-body strong { background:linear-gradient(transparent 60%,#dcf4ef 60%); margin:0; padding:0; }
#main .article-body ul,#main .article-body ol { padding-left:24px; margin:20px 0 28px; }
#main .article-body li { margin:0 0 10px; padding:0; font-size:15px; line-height:1.95; color:#263b3e; }
#main .article-body .table-wrap { max-width:100%; overflow-x:auto; margin:24px 0; }
#main .article-body table { min-width:480px; width:100%; margin:0; border-collapse:collapse; }
#main .article-body td,#main .article-body th { text-align:left; line-height:1.8; font-size:13px; padding:13px; border:1px solid #d5e3e5; }
#main .article-body th { background:#eef7f7; font-weight:700; }
#main .article-body a,#main .article-toc a,#main .reading-back a { color:#007584; text-underline-offset:3px; }
#main .article-sources { padding:24px; background:#f7f8f9; margin:40px 0; }
#main .article-sources h2 { background:none; padding:0; font-size:18px; font-weight:700; line-height:1.6; }
#main .article-sources p,#main .article-sources li { font-size:13px; line-height:1.9; }
#main .article-sources ul { padding-left:18px; margin:15px 0 0; }
#main .article-sources li { margin:0 0 10px; padding:0; }
#main .article-sources small { display:block; color:#65767c; }
#main .reading-back { padding-top:24px; border-top:1px solid #ddd; }
#main .content-notice { padding:16px; background:#fff6dd; border:1px solid #eddaa5; font-size:13px; }
#main .reading-button { display:inline-block; color:white; background:#007f8c; padding:13px 22px; border-radius:4px; font-size:15px; text-decoration:none; font-weight:700; }
#main .calc-panel { background:#f1f8f8; padding:24px; margin:30px 0; border:1px solid #cde5e5; border-radius:6px; }
#main .calc-panel h2 { background:none; margin:0 0 18px; padding:0; font-size:23px; line-height:1.6; }
#main .calc-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:20px 0; }
.calc-fields label { display:flex; flex-direction:column; gap:8px; font-size:14px; font-weight:700; }
.calc-fields input,.calc-fields select { box-sizing:border-box; width:100%; min-width:0; font:inherit; padding:12px; border:1px solid #a7c7ca; background:white; border-radius:4px; }
#main .calc-panel button { font:inherit; border:0; padding:12px 25px; background:#007f8c; color:white; border-radius:4px; cursor:pointer; }
#main .calc-result { background:white; padding:20px; margin-top:18px; line-height:1.9; font-size:16px; white-space:pre-line; }
.reading-page a:focus-visible,.reading-page button:focus-visible,.reading-page input:focus-visible,.reading-page select:focus-visible { outline:3px solid #d89b18; outline-offset:3px; }
@media(max-width:719px) {
 .reading-page #aaa-contents { padding-top:18px; }
 #main .reading-hero { padding:25px 20px; }
 #main .reading-hero h1 { font-size:25px; }
 #main .reading-grid { grid-template-columns:1fr; gap:12px; }
 #main .reading-card { padding:20px; }
 #main .article-header h1 { font-size:25px; }
 #main .article-toc { padding:20px; }
 #main .article-body h2 { font-size:20px; }
 #main .article-body p { font-size:16px; line-height:2; }
 #main .calc-panel { padding:20px; }
 #main .calc-fields { grid-template-columns:1fr; }
}
