/* Chapter 2–12 extensions; the established palette and reading rhythm remain shared. */
.formula-card{margin:24px 0;padding:22px 20px;border:1px solid #c9ddb9;border-left:4px solid #91b644;border-radius:10px;background:#f5fae9}
.formula-card>span{display:block;font-size:.875rem;color:#587337;margin-bottom:9px}.formula-card>b{display:block;font-size:1.125rem;line-height:1.8;font-variant-numeric:tabular-nums}.formula-card p{font-size:.9375rem;margin:12px 0 0}
.lesson-code{white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal;font-size:.9375rem;line-height:1.8;padding:20px;border-radius:10px;background:#f1f6f2;border:1px solid #d6e3d9;margin:22px 0;color:#244d3b}
.worked-example{margin:26px 0;padding:20px 22px;background:#f7faf5;border:1px solid #dde7d6;border-radius:12px}.worked-example h4{margin:0 0 14px}.worked-example ol{padding-left:25px;margin:0}.worked-example li{padding:5px 0 8px;font-size:1rem;line-height:1.9}.worked-example li::marker{font-weight:700;color:#047857}
.learning-svg{display:block;width:100%;height:auto;max-width:480px;margin:auto;font-family:var(--sans)}
.lesson-flow{display:grid;justify-items:center}.lesson-flow>div{width:100%;padding:16px;background:#edf5ef;border:1px solid #c4dcca;border-radius:10px;text-align:center}.lesson-flow b,.lesson-flow span{display:block}.lesson-flow b{font-size:1rem}.lesson-flow span{font-size:.9375rem;margin-top:5px;color:#4e6959}.lesson-arrow{width:24px;height:30px;color:#5b9778;flex:none}
.lesson-parallel{display:grid;gap:10px}.parallel-2{grid-template-columns:repeat(2,minmax(0,1fr))}.parallel-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.lesson-parallel>div{background:#eef5e8;border:1px solid #cfe0c8;border-radius:10px;padding:17px 12px;text-align:center}.lesson-parallel>div:nth-child(2n){background:#e8f3ec}.lesson-parallel b{display:block;font-size:1rem;line-height:1.7;color:#047857}.lesson-parallel span{display:block;margin-top:8px;font-size:.9375rem;line-height:1.8;color:#355540}
.balance-diagram{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.balance-diagram>div{padding:18px 12px;border:1px solid #c2d7c6;border-radius:8px;display:grid;align-content:center;gap:9px;font-size:.9375rem}.balance-diagram b{font-size:1.0625rem}.balance-assets{grid-area:1/1/3/2;background:#edf5ef}.balance-liabilities{grid-area:1/2;background:#f6f8eb}.balance-equity{grid-area:2/2;background:#dff0bd}.balance-total{font-size:1rem;text-align:center;margin-top:14px;line-height:1.8}
.bit-strip{display:flex;gap:4px;justify-content:center}.bit-strip>div{flex:1;max-width:52px;text-align:center;display:grid;gap:7px}.bit-strip small{font-size:.75rem;color:#667f6c}.bit-strip b{padding:12px 0;background:#edf5e9;border:1px solid #c3d8bd;border-radius:5px;font-size:1.0625rem;font-variant-numeric:tabular-nums}
.event-timeline{list-style:none;margin:0;padding:0 0 0 22px;border-left:2px solid #a3c5a5}.event-timeline li{position:relative;margin:0;padding:10px 0 24px 5px}.event-timeline li:before{content:"";position:absolute;left:-29px;top:19px;width:10px;height:10px;background:#047857;border:2px solid #fff;border-radius:50%}.event-timeline b,.event-timeline span{display:block}.event-timeline b{font-size:1rem;color:#047857}.event-timeline span{font-size:1rem;line-height:1.8;margin-top:7px}
.tree-root{max-width:240px;padding:14px;background:#047857;color:white;text-align:center;border-radius:9px;margin:auto;font-weight:650}.lesson-tree>svg{width:100%;height:32px;display:block}
.compact-grid{width:100%;table-layout:fixed;border-collapse:collapse;font-size:.9375rem;line-height:1.7}.compact-grid th,.compact-grid td{border:1px solid #ccddcf;padding:12px 8px;text-align:center;overflow-wrap:break-word}.compact-grid th{background:#edf5e9;color:#2d633e}.compact-grid td{background:#fff}.compact-grid tbody th{font-weight:600}
.chapter-card.ready:not(:first-child){grid-column:span 1}.chapter-card.ready:not(:first-child) h2{font-size:1.25rem}.chapter-card.ready:not(:first-child){padding:25px 26px 20px;background:#fff}.chapter-card.ready:not(:first-child):hover{background:#f2f8ed}.card-counts{flex-wrap:wrap;gap:5px 12px}.card-bottom{flex-wrap:wrap}.card-action{white-space:nowrap}
@media(max-width:560px){.formula-card{padding:18px 15px}.formula-card>b{font-size:1rem}.worked-example{padding:18px 16px}.lesson-parallel{gap:8px}.lesson-parallel>div{padding:14px 8px}.parallel-3>div{padding:12px 5px}.parallel-3 span{font-size:.875rem}.compact-grid{font-size:.875rem}.compact-grid th,.compact-grid td{padding:10px 5px}.balance-diagram>div{padding:14px 10px}.lesson-code{padding:16px 12px}.chapter-card.ready{grid-column:span 1}}
@media print{.lesson-parallel,.balance-diagram,.learning-svg,.compact-grid{break-inside:avoid}}

/* Publication refinements: navigation, long labels and enlarged text. */
:root{--header-height:78px}
.header-inner,.header-links,.brand>span,.chapter-card,.reader-content{min-width:0}
.header-links{margin-left:auto;flex-wrap:wrap;justify-content:flex-end;row-gap:6px}
.brand{flex:1 1 auto;min-width:0}
.brand>span:last-child{overflow-wrap:break-word}
.brand-mark{flex-shrink:0}
.chapter-grid>.chapter-card.ready{grid-column:auto}
.reader-main,.reader-layout,.reader-content{min-width:0}
.lesson-tree{--tree-gap:10px}.lesson-tree>.lesson-parallel{gap:var(--tree-gap)}
.lesson-tree>svg{width:calc(100% + var(--tree-gap));max-width:none;margin-left:calc(var(--tree-gap) / -2)}
.chapter-section,.article,[tabindex="-1"]{scroll-margin-top:calc(var(--header-height) + 24px)}
.sidebar{max-height:calc(100vh - var(--header-height) - 40px);max-height:calc(100dvh - var(--header-height) - 40px);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.toc a,.mini-index a,.previous-chapter,.all-chapters{min-height:44px;align-items:center}
.all-chapters{display:inline-flex}
.toc b,.outline-section b{min-width:0;word-break:normal;line-break:strict;overflow-wrap:break-word}
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex="-1"]:focus-visible{outline:3px solid #047857;outline-offset:4px;border-radius:4px}
.section-map .outline-group{border-bottom:1px solid var(--line);padding:8px 0 12px;min-width:0}
.section-map .outline-group:last-child{border-bottom:0}
.section-map .outline-section{min-height:44px;align-items:baseline;border:0;padding:12px;gap:12px}
.section-map .outline-topics{list-style:none;margin:0 0 0 42px;padding:0 10px 0 0}
.section-map .outline-topics li{margin:0;padding:0}
.section-map .outline-topics a{display:block;padding:10px 8px;min-height:44px;border:0;border-radius:6px;font-size:.9375rem;line-height:1.7;color:#355b49;text-decoration:underline;text-decoration-color:#b4c9b9;text-underline-offset:4px;word-break:normal;line-break:strict;overflow-wrap:break-word}
.section-map .outline-topics a:hover{background:#edf5e9;text-decoration-color:currentColor}
.previous-chapter{display:flex;gap:10px;width:fit-content;max-width:100%;padding:12px 0;margin:8px 0 28px;color:#355b49;font-size:.9375rem;line-height:1.7;text-underline-offset:4px}
.previous-chapter>span:first-child{flex:none}
@media(max-width:1120px){.sidebar{max-height:calc(100vh - var(--header-height));max-height:calc(100dvh - var(--header-height));padding-bottom:max(20px,env(safe-area-inset-bottom))}}
@media(max-width:760px){.chapter-grid{grid-template-columns:minmax(0,1fr)}.chapter-grid>.chapter-card.ready{grid-column:1}.section-map .outline-topics{margin-left:30px}}
@media(max-width:560px){.lesson-tree{--tree-gap:8px}}
@media print{.previous-chapter{display:none}.chapter-outline{display:none}}

/* Plain entry points keep the technical vocabulary close to its meaning. */
.article>h3{word-break:normal;line-break:strict;overflow-wrap:break-word;text-wrap:wrap;line-height:1.65}
.lesson-key{margin:22px 0 26px;padding:17px 20px;border-left:4px solid #8cad35;background:#f5f9ec;border-radius:0 10px 10px 0}
.article .lesson-key p{margin:0;color:#173b32;font-size:1.0625rem;line-height:1.85;font-weight:550;word-break:normal;line-break:strict;text-wrap:wrap}
.quick-terms{margin:24px 0;padding:0;border-top:1px solid #d5e3d7}
.quick-terms>div{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:10px 22px;padding:17px 0;border-bottom:1px solid #e0e9df;min-width:0}
.quick-terms dt,.quick-terms dd{margin:0;min-width:0;font-size:1rem;line-height:1.8;word-break:normal;line-break:strict;overflow-wrap:break-word;text-wrap:wrap}
.quick-terms dt{color:#216b4b;font-weight:700}.quick-terms dt small{display:block;font-size:.75rem;font-weight:400;line-height:1.6;color:#536d5e;margin-top:4px;overflow-wrap:anywhere}
.quick-terms dd{color:#293f36}
.lesson-detail{margin:24px 0 30px;border:1px solid #cadccc;border-radius:12px;background:#fff;min-width:0}
.lesson-detail>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:52px;padding:14px 18px;list-style:none;cursor:pointer;color:#285c42;font-size:.9375rem;font-weight:600;line-height:1.7;word-break:normal;line-break:strict}
.lesson-detail>summary::-webkit-details-marker{display:none}.lesson-detail>summary::marker{content:''}
.lesson-detail>summary>span:first-child{min-width:0}.detail-action{width:20px;height:20px;position:relative;flex:none}
.detail-action:before,.detail-action:after{content:'';position:absolute;background:currentColor;border-radius:1px;left:3px;top:9px;width:14px;height:2px}.detail-action:after{transform:rotate(90deg)}
.lesson-detail[open]>summary{border-bottom:1px solid #dce8db;background:#f6f9f2;border-radius:11px 11px 0 0}.lesson-detail[open] .detail-action:after{display:none}
.lesson-detail-body{padding:6px 22px 14px;min-width:0}.lesson-detail-body>.story-explanation:first-child>p{margin-top:16px}
.reading-options{display:flex;align-items:center;justify-content:space-between;gap:14px 22px;flex-wrap:wrap;padding:17px 0 0;margin-top:22px;border-top:1px solid #d7e5d6}
.reading-options p{flex:1 1 230px;margin:0;color:#4a6655;font-size:.9375rem;line-height:1.8}
.reading-options button{flex:0 1 auto;max-width:100%;padding:11px 17px;min-height:46px;border:1px solid #bbd2bd;border-radius:24px;background:#fff;color:#22593d;font:inherit;font-size:.9375rem;line-height:1.6;cursor:pointer}
.reading-options button:hover,.lesson-detail>summary:hover{background:#f0f6e8}
@media(max-width:560px){
 .article .lesson-key p{font-size:1rem}.lesson-key{padding:15px 16px;margin:20px 0 24px}
 .quick-terms>div{grid-template-columns:minmax(0,1fr);gap:5px;padding:15px 0}.quick-terms dt small{margin-top:2px}
 .lesson-detail>summary{padding:13px 14px}.lesson-detail-body{padding:5px 14px 12px}
}
@media print{.reading-options{display:none}.lesson-detail{border:0}.lesson-detail>summary{display:none}.lesson-detail-body{padding:0}.quick-terms>div{break-inside:avoid}.lesson-key{break-inside:avoid}}
