.ba-book-section{--book-blue:var(--blue,#1e5475);--book-yellow:var(--yellow,#fcb80a);padding:48px 0 72px;overflow:clip;background:#f3f6f7;color:var(--ink,#111820)}.ba-book-section *{box-sizing:border-box}.ba-section-top{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-bottom:42px}.ba-caption{color:var(--book-blue);font-size:1rem;margin:0 0 16px}.ba-section-top h2{font-size:clamp(2rem,3.9vw,3.5rem);line-height:1.12;font-weight:400;letter-spacing:-.025em}.ba-section-top h2 em{font-style:normal;font-weight:700;color:var(--book-blue)}.ba-section-art{position:relative;width:140px;height:110px;margin-right:40px;flex:none}.ba-section-art i{position:absolute;width:95px;height:95px;border:1px solid var(--book-blue);border-radius:50%;left:0;top:12px}.ba-section-art b{position:absolute;right:0;top:0;width:75px;height:75px;background:var(--book-yellow);border-radius:50%}.ba-section-art span{position:absolute;left:55px;bottom:0;width:50px;height:50px;background:var(--book-blue)}.ba-book-wrap{max-width:1300px;margin:auto;padding:0 42px}.ba-book-stage{position:relative;perspective:2200px;padding:0 0 24px}.ba-book-stage:after{content:"";position:absolute;left:5%;right:5%;bottom:2px;height:18px;border-radius:50%;background:#18374a26;filter:blur(12px);pointer-events:none}.ba-book{position:relative;display:grid;grid-template-columns:1fr 1fr;isolation:isolate;border-radius:3px 8px 8px 3px;box-shadow:0 3px 0 #d8dee1,0 6px 0 #fff,0 9px 0 #cbd4da,0 17px 25px -15px #18374a66;background:#fff;min-width:0}.ba-book:after{content:"";position:absolute;top:0;bottom:0;left:50%;width:32px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,#172d4010 44%,#172d402a 50%,#172d400e 56%,transparent);pointer-events:none;z-index:2}.ba-page{position:relative;min-height:750px;padding:30px clamp(24px,3.4vw,48px) 60px;background:#fff;min-width:0;overflow-wrap:anywhere}.ba-page[hidden]{display:none!important}.ba-page:focus-visible{outline:3px solid var(--book-yellow);outline-offset:-6px}.ba-page.ba-right{border-radius:0 8px 8px 0}.ba-page.ba-left{border-radius:3px 0 0 3px}.ba-running{display:flex;justify-content:space-between;align-items:center;gap:16px;color:var(--book-blue);font-size:.78rem;line-height:1.1;margin-bottom:32px;padding-bottom:12px;border-bottom:1px solid #dde5e9}.ba-mark{font-weight:700;font-size:1.8rem;line-height:1;color:var(--book-blue)}.ba-folio{position:absolute;left:clamp(24px,3.4vw,48px);right:clamp(24px,3.4vw,48px);bottom:22px;display:flex;justify-content:space-between;gap:14px;color:#526675;font-size:.72rem;letter-spacing:.01em}.ba-folio span:last-child{font-weight:700;color:var(--book-blue)}.ba-page .page-content{display:flex;flex-direction:column;gap:22px;padding:0}.ba-page .source-title h2{font-size:clamp(1.35rem,2vw,1.9rem);line-height:1.18;margin:0 0 25px;letter-spacing:-.02em;color:var(--book-blue)}.ba-page .text-block+.text-block{margin-top:22px}.ba-page .text-block p{font-size:1rem;line-height:1.48;white-space:pre-wrap;margin:0 0 12px;max-width:100%;text-wrap:pretty}.ba-page .key-line{font-size:2.2rem!important;line-height:1.15!important;color:var(--book-blue);font-weight:700;margin:20px 0!important}.ba-page .source-images{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;align-items:center}.ba-page .source-images img{max-width:100%;max-height:230px;object-fit:contain;width:auto;height:auto;min-width:0;border-radius:2px}.ba-page .source-images img+img{max-width:45%}.ba-page.ba-slide-12 .source-images img{max-height:560px;max-width:100%}.ba-page .source-copy:empty{display:none}.ba-slide-10 .source-copy{padding-top:55px}.ba-slide-10 .text-block p:first-child{font-size:1rem;color:#526675}.ba-slide-10 .text-block p:nth-child(2){font-size:clamp(1.65rem,2.8vw,2.65rem);line-height:1.22;color:var(--book-blue);font-weight:700;margin:28px 0}.ba-slide-10 .text-block p:nth-child(3){margin-top:48px;font-size:.85rem}.ba-slide-10 .text-block p:last-child{font-size:1.2rem;color:var(--book-blue)}.ba-slide-10:after{content:"";position:absolute;right:30px;bottom:82px;width:90px;height:90px;border:1px solid var(--book-blue);border-radius:50%;box-shadow:18px -18px 0 -2px var(--book-yellow);opacity:.75;pointer-events:none}.ba-slide-11 .text-block:nth-child(2) p{font-size:.81rem;line-height:1.32;margin-bottom:6px;padding:0 0 6px;border-bottom:1px solid #e5ebee}.ba-slide-15 .text-block:nth-child(3) p{font-size:.86rem;line-height:1.4;margin:0 0 10px}.ba-slide-18 .source-copy{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.ba-slide-18 .source-title{order:-1;flex-basis:100%}.ba-slide-18 .text-block:not(.source-title){flex:1 1 44%;margin:0;padding:20px 0;border-bottom:1px solid #dde5e9}.ba-slide-18 .text-block p{font-size:1rem}.ba-slide-21 .source-images img{max-height:210px;max-width:45%}.ba-slide-21 .text-block:nth-child(2) p{font-size:.72rem;margin:0}.ba-slide-22 .text-block p{font-size:.88rem;line-height:1.42;margin:0 0 10px}.ba-slide-23 .text-block p,.ba-slide-24 .text-block p,.ba-slide-25 .text-block p,.ba-slide-26 .text-block p,.ba-slide-27 .text-block p{font-size:.92rem;line-height:1.45}.ba-cover{background:var(--book-blue);color:#fff;overflow:hidden;padding:34px 42px 40px;display:flex;flex-direction:column;min-height:750px}.ba-cover-top{display:flex;justify-content:space-between;align-items:center;font-size:.78rem}.ba-cover-top img{width:67px;height:67px;padding:7px;background:#fff;border-radius:2px}.ba-cover-title{position:relative;z-index:1;margin-top:72px}.ba-cover-title p{font-size:.95rem;letter-spacing:.08em;color:var(--book-yellow);margin-bottom:18px}.ba-cover-title h2{color:inherit;font-size:clamp(2.25rem,4vw,3.7rem);line-height:1.08;font-weight:400;letter-spacing:-.025em}.ba-cover-art{position:relative;width:245px;height:190px;margin:48px 0 0 auto;flex:1}.ba-cover-art i{position:absolute;top:0;left:0;width:165px;height:165px;border:1px solid #ffffff80;border-radius:50%}.ba-cover-art b{position:absolute;top:28px;left:62px;width:170px;height:170px;background:var(--book-yellow);border-radius:50% 50% 0 50%;transform:rotate(-25deg)}.ba-cover-art span{position:absolute;top:64px;left:6px;width:105px;height:105px;background:#fff;border-radius:50%}.ba-cover-art em{position:absolute;top:100px;left:49px;width:140px;height:1px;background:var(--book-blue);transform:rotate(-45deg)}.ba-cover-bottom{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:54px;font-size:.8rem}.ba-cover-bottom span:last-child{font-size:2rem;color:var(--book-yellow)}.ba-end{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px;text-align:center}.ba-end-art{font-size:8rem;font-weight:700;line-height:1;color:var(--book-blue)}.ba-end p{font-size:1.4rem;color:var(--book-blue)}.ba-end a{font-size:1rem;text-underline-offset:5px;color:var(--book-blue)}.ba-controls{display:flex;justify-content:center;align-items:center;gap:28px;margin-top:18px}.ba-controls button{border:1px solid #c0cfd7;border-radius:50%;width:48px;height:48px;background:transparent;color:var(--book-blue);font:24px/1 Calibri,'Segoe UI',sans-serif;cursor:pointer;transition:background .15s,color .15s}.ba-controls button:hover:not(:disabled){background:var(--book-blue);color:#fff;border-color:var(--book-blue)}.ba-controls button:disabled{opacity:.3;cursor:default}.ba-position{min-width:165px;text-align:center;font-size:.88rem;color:var(--book-blue)}.ba-options{display:flex;justify-content:center;gap:18px;align-items:center;margin:15px 0 0;color:#526675}.ba-options button{border:0;border-bottom:1px solid transparent;padding:10px 0;background:transparent;font:.85rem/1.3 Calibri,'Segoe UI',sans-serif;color:var(--book-blue);cursor:pointer}.ba-options button:hover{border-color:var(--book-blue)}.ba-toc{background:#fff;padding:20px;margin:14px auto 0;max-width:700px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 20px}.ba-toc button{background:none;color:var(--book-blue);border:0;border-bottom:1px solid #dde5e9;text-align:left;font:16px/1.4 Calibri,'Segoe UI',sans-serif;padding:14px 0;cursor:pointer;min-width:0}.ba-toc button span{display:inline-block;margin-right:10px;font-size:12px;color:#526675}.ba-book-section :focus-visible{outline:3px solid var(--book-blue);outline-offset:4px}.ba-cover:focus-visible{outline-color:var(--book-yellow)}.ba-continuous .ba-book{display:block;background:transparent;box-shadow:none}.ba-continuous .ba-book:after,.ba-continuous .ba-book-stage:after{display:none}.ba-continuous .ba-page{display:block!important;max-width:850px;min-height:0;margin:0 auto 25px;padding-bottom:60px;border-radius:3px}.ba-continuous .ba-cover,.ba-continuous .ba-end{display:none!important}.ba-continuous .ba-controls{display:none}.ba-continuous .ba-options{position:relative}.ba-continuous .ba-page .text-block p{font-size:1.08rem;line-height:1.65;margin-bottom:14px}.ba-continuous .ba-page .source-images img{max-height:450px}.ba-continuous .ba-page .source-copy{padding-top:0}.ba-continuous .ba-slide-10:after{display:none}.ba-nojs .ba-controls,.ba-nojs .ba-options{display:none}.ba-book .ba-turning{animation:ba-turn .48s cubic-bezier(.16,1,.3,1);transform-origin:left center}.ba-book.ba-back .ba-turning{animation-name:ba-back;transform-origin:right center}@keyframes ba-turn{from{transform:rotateY(-19deg);opacity:.6}to{transform:rotateY(0);opacity:1}}@keyframes ba-back{from{transform:rotateY(19deg);opacity:.6}to{transform:rotateY(0);opacity:1}}@media(max-width:760px){.ba-book-section{padding:35px 0 50px}.ba-section-top{padding-bottom:30px}.ba-section-top h2{font-size:2rem}.ba-section-art{width:80px;height:80px;margin-right:0;transform:scale(.7);transform-origin:right center}.ba-book-wrap{padding:0 20px}.ba-book{grid-template-columns:1fr}.ba-book:after{display:none}.ba-page{min-height:600px;padding:25px 28px 65px}.ba-cover{min-height:620px;padding:30px}.ba-cover-title{margin-top:55px}.ba-cover-title h2{font-size:3.3rem}.ba-cover-art{margin-top:40px;max-width:100%}.ba-cover-bottom{margin-top:40px}.ba-page .source-title h2{font-size:1.7rem}.ba-page .text-block p{font-size:1rem}.ba-slide-11 .text-block:nth-child(2) p{font-size:.94rem;line-height:1.4;margin-bottom:9px;padding-bottom:9px}.ba-slide-10 .source-copy{padding-top:15px}.ba-slide-10 .text-block p:nth-child(2){font-size:2rem}.ba-page .source-images img{max-height:300px}.ba-toc{grid-template-columns:repeat(2,minmax(0,1fr));padding:14px}.ba-controls{gap:16px}.ba-position{min-width:140px;font-size:.8rem}.ba-options{gap:12px}.ba-options button{font-size:.85rem}.ba-folio{left:28px;right:28px}.ba-continuous .ba-page .text-block p{font-size:1rem}.ba-book .ba-turning{animation-name:ba-mobile;transform-origin:center}@keyframes ba-mobile{from{opacity:.6;transform:translateX(8px)}to{opacity:1;transform:none}}}@media(max-width:360px){.ba-section-art{display:none}.ba-page{padding-left:22px;padding-right:22px}.ba-cover{padding:26px}.ba-cover-title h2{font-size:2.8rem}}@media(prefers-reduced-motion:reduce){.ba-book .ba-turning{animation:none}.ba-controls button{transition:none}}html[data-motion=true] .ba-book .ba-turning{animation:none}html[data-font=true] .ba-page .text-block p{font-size:1.1em;line-height:1.8}html[data-font=true] .ba-book-section{font-family:Arial,sans-serif}html[data-font=true] .ba-book{display:block}html[data-font=true] .ba-page{min-height:0;padding-bottom:65px}html[data-font=true] .ba-book:after{display:none}@media print{.ba-book-section{background:#fff;padding:0}.ba-section-top,.ba-controls,.ba-options,.ba-toc{display:none!important}.ba-book{display:block!important;box-shadow:none!important}.ba-book:after,.ba-book-stage:after{display:none}.ba-page{display:block!important;break-before:page;min-height:0}.ba-cover,.ba-end{display:none!important}.ba-page .text-block p{font-size:12pt!important}}
.ba-diagram{text-align:center;color:var(--book-blue)}.ba-diagram-name{font-size:.85rem;letter-spacing:.06em;margin-bottom:10px!important}.ba-diagram h2{font-size:1.45rem;line-height:1.2;margin-bottom:12px}.ba-diagram-sub{font-size:.85rem;color:#526675;margin-bottom:25px!important}.ba-aps{font-size:1.1rem;line-height:1.3;padding:20px 18px;background:#eff4f6;border-radius:5px;max-width:250px;margin:auto}.ba-aps strong{font-weight:700}.ba-down{font-size:1.7rem;line-height:1.2;margin:10px 0}.ba-decomposition{font-size:1rem;line-height:1.35;font-weight:700;margin:0 0 27px!important}.ba-diagram-branches{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding-top:20px}.ba-diagram-branches:before{content:"";position:absolute;top:0;left:16.6%;right:16.6%;height:1px;background:var(--book-blue)}.ba-diagram-branches>div{position:relative;display:flex;flex-direction:column;align-items:center}.ba-diagram-branches>div:before{content:"";position:absolute;top:-20px;height:12px;width:1px;background:var(--book-blue)}.ba-diagram-branches p{font-size:.82rem;line-height:1.35;margin:0!important;min-height:100px}.ba-diagram-branches>div>span{font-size:1.5rem;color:var(--book-blue);margin:6px 0}.ba-diagram-branches p:last-child{min-height:0;font-size:.79rem}.ba-source-schema{font-size:.7rem;color:#526675;margin-top:12px}.ba-source-schema summary{cursor:pointer}.ba-source-schema .page-content{padding:20px 0}.ba-source-schema .source-images{margin-top:20px}.ba-continuous .ba-diagram-branches p{font-size:1rem!important}.ba-continuous .ba-diagram-branches p:last-child{font-size:.95rem!important}html[data-font=true] .ba-diagram-branches{grid-template-columns:1fr}html[data-font=true] .ba-diagram-branches:before,html[data-font=true] .ba-diagram-branches>div:before{display:none}html[data-font=true] .ba-diagram-branches p{min-height:0;font-size:1.1rem}@media(max-width:360px){.ba-diagram-branches{gap:8px}.ba-diagram-branches p{font-size:.75rem}.ba-diagram-branches p:last-child{font-size:.71rem}.ba-diagram h2{font-size:1.3rem}}

/* A sheet turns around the spine; the real pages stay available underneath. */
.ba-book .ba-turning{animation:none!important}
.ba-turn-sheet{position:absolute;top:0;bottom:24px;left:50%;width:50%;z-index:4;pointer-events:none;transform-style:preserve-3d;transform-origin:left center;animation:ba-sheet-forward .72s cubic-bezier(.45,.05,.2,1) both}
.ba-turn-backward{left:0;transform-origin:right center;animation-name:ba-sheet-backward}
.ba-turn-face{position:absolute;inset:0;backface-visibility:hidden;overflow:hidden;background:#fff;box-shadow:0 0 12px #18374a30}
.ba-turn-face>.ba-page{height:100%;min-height:100%;box-sizing:border-box;margin:0;display:block!important}
.ba-turn-back{transform:rotateY(180deg)}
.ba-turn-face:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#152d422b,transparent 30%,transparent 75%,#152d4212);pointer-events:none}
.ba-turn-single{left:0;width:100%}
@keyframes ba-sheet-forward{from{transform:rotateY(0)}to{transform:rotateY(-180deg)}}
@keyframes ba-sheet-backward{from{transform:rotateY(0)}to{transform:rotateY(180deg)}}
.ba-turn-single.ba-turn-forward{animation-name:ba-sheet-mobile-forward}
.ba-turn-single.ba-turn-backward{animation-name:ba-sheet-mobile-backward}
@keyframes ba-sheet-mobile-forward{from{transform:rotateY(0);opacity:1}to{transform:rotateY(-110deg);opacity:0}}
@keyframes ba-sheet-mobile-backward{from{transform:rotateY(0);opacity:1}to{transform:rotateY(110deg);opacity:0}}
@media(prefers-reduced-motion:reduce){.ba-turn-sheet{display:none;animation:none}}
html[data-motion=true] .ba-turn-sheet,.ba-continuous .ba-turn-sheet{display:none;animation:none}
@media print{.ba-turn-sheet{display:none!important}}
/* Page surfaces follow the selected site theme; source images keep their colours. */
html[data-theme="dark"] .ba-book-section{background:var(--surface-alt)}
html[data-theme="dark"] .ba-book,html[data-theme="dark"] .ba-page,html[data-theme="dark"] .ba-toc,html[data-theme="dark"] .ba-turn-face{background:var(--white)}
html[data-theme="dark"] .ba-cover{background:#16445f;color:#fff}
html[data-theme="dark"] .ba-cover-title p,html[data-theme="dark"] .ba-cover-bottom span:last-child{color:var(--book-yellow)}
html[data-theme="dark"] .ba-running,html[data-theme="dark"] .ba-folio,html[data-theme="dark"] .ba-options,html[data-theme="dark"] .ba-toc button span,html[data-theme="dark"] .ba-diagram-sub,html[data-theme="dark"] .ba-source-schema,html[data-theme="dark"] .ba-slide-10 .text-block p:first-child{color:var(--muted)}
html[data-theme="dark"] .ba-aps{background:var(--pale)}
html[data-theme="dark"] .ba-controls button:hover:not(:disabled){color:var(--on-accent)}
html[data-colors="true"] .ba-controls button{border:2px solid var(--book-blue)}
html[data-colors="true"] .ba-toc button{text-decoration:underline;text-underline-offset:4px}
