/* v0.2.3: geometry, navigation, robust content, original aesthetic preserved */
.cbo-root .cbo-backdrop{
  height: min(90dvh, 1000px) !important;
  min-height:0 !important;max-height:1000px !important;
  padding:clamp(8px,1.1vh,16px) clamp(8px,1.2vw,20px) !important;
  margin-top:0 !important;
}
.cbo-root .cbo-reader-shell{
  display:grid !important;
  grid-template-rows:auto minmax(0,1fr) auto;
  width:100%!important;max-width:1560px!important;
  height:100%!important;min-height:0!important;max-height:none!important;
  margin-inline:auto!important;gap:0;
}
.cbo-root .cbo-toolbar{
  flex:none!important;min-height:54px!important;height:auto!important;
  padding:2px clamp(5px,1.2vw,22px) 9px !important;
}
.cbo-root .cbo-reader-body{
  display:flex!important;justify-content:center!important;align-items:center!important;
  min-height:0!important;height:100%!important;
  width:100%!important;
  padding:4px 0!important;
  overflow:visible!important;
}
.cbo-root .cbo-book-spread{
  flex:none!important;align-self:center!important;
  width:min(100%, 1500px, calc((90dvh - 142px) * 2.07))!important;
  max-width:1500px!important;
  height:auto!important;min-height:0!important;max-height:100%!important;
  aspect-ratio:2.07/1!important;
  margin:0 auto!important;
}
.cbo-root .cbo-book-shadow{left:50%;transform:translateX(-50%);bottom:0;}
.cbo-root .cbo-reader-footer{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:center!important;justify-content:stretch!important;
  gap:8px!important;
  flex:none!important;
  min-height:48px!important;height:auto!important;
  width:min(100%, 1500px, calc((90dvh - 142px) * 2.07))!important;
  margin:0 auto!important;
  padding:4px 0 0!important;
}
.cbo-root .cbo-footer-prev{justify-self:start!important;}
.cbo-root .cbo-footer-next{justify-self:end!important;}
.cbo-root .cbo-progress{min-width:0!important;}
.cbo-root .cbo-edge-arrow{display:none!important;}
.cbo-root .cbo-page-body{min-height:0!important;overflow:hidden;}
.cbo-root .cbo-chapter-title{
  max-width:100%!important;width:100%;height:100%!important;
  min-height:0!important;box-sizing:border-box;
  padding:2px clamp(5px,.8vw,12px) 4px!important;
  gap:clamp(5px,1vh,11px)!important;
  justify-content:center!important;
}
.cbo-root .cbo-chapter-title:before{
  width:min(180px,36%)!important;height:clamp(38px,7vh,82px)!important;
  margin:0 auto 4px!important;
}
.cbo-root .cbo-chapter-symbol{font-size:clamp(26px,4vh,42px)!important;margin:0!important;line-height:1!important;}
.cbo-root .cbo-chapter-title h2{
  max-width:100%!important;
  font-size:clamp(20px,2.25vw,35px)!important;
  line-height:1.13!important;overflow-wrap:break-word;
  margin:0!important;
}
.cbo-root .cbo-chapter-title p{font-size:clamp(13px,1.25vw,18px)!important;line-height:1.25!important;}
.cbo-root .cbo-decor-line{line-height:1!important;font-size:14px!important;}
.cbo-root .cbo-quiz,.cbo-root .cbo-explore,.cbo-root .cbo-highlights,.cbo-root .cbo-ending,
.cbo-root .cbo-answer-page{
  max-width:100%!important;
  width:100%;height:auto!important;min-height:0;
  padding:4px 0!important;
  margin:0 auto!important;
  overflow:visible!important;
  justify-content:center!important;
  gap:clamp(6px,1vh,12px)!important;
}
.cbo-root .cbo-quiz h2{font-size:clamp(21px,2.1vw,32px)!important;line-height:1.15!important;}
.cbo-root .cbo-quiz-symbol{font-size:clamp(22px,2.4vw,30px)!important;}
.cbo-root .cbo-quiz-option{min-height:37px!important;padding:8px 11px!important;font-size:clamp(13px,1.02vw,15px)!important;}
.cbo-root .cbo-quiz-lead{margin-bottom:3px!important;}
.cbo-root .cbo-answer-page{display:flex;flex-direction:column;align-items:center;text-align:center;}
.cbo-root .cbo-answer-ornament{font:normal clamp(37px,6vw,66px)/1 Georgia,serif;color:#a78046;}
.cbo-root .cbo-answer-page h2{font:normal clamp(22px,2.2vw,35px)/1.17 Georgia,serif;color:#493524;margin:0!important;}
.cbo-root .cbo-answer-page p{font:normal clamp(15px,1.18vw,18px)/1.57 Georgia,serif;color:#564333;max-width:39ch;margin:7px 0!important;}
.cbo-root .cbo-answer-page .cbo-secondary-link{font-size:13px;}
.cbo-root .cbo-condensed{gap:4px!important;}
.cbo-root .cbo-condensed.cbo-chapter-title:before{display:none!important;}
.cbo-root .cbo-condensed .cbo-chapter-symbol,.cbo-root .cbo-condensed .cbo-quiz-symbol{display:none!important;}
.cbo-root .cbo-condensed p{line-height:1.33!important;}
/* Emergency fallback only on unusually short screens or exceptionally long customised content. */
.cbo-root .cbo-overflow-fallback{overflow-y:auto!important;overscroll-behavior:contain;max-height:100%!important;}
@media(max-width:980px){
 .cbo-root .cbo-backdrop{height:min(90dvh,1000px)!important;padding:7px!important;}
 .cbo-root .cbo-toolbar{min-height:42px!important;padding:2px 5px 6px!important;}
 .cbo-root .cbo-reader-footer{min-height:42px!important;width:min(100%, calc((90dvh - 115px) * .77))!important;}
 .cbo-root .cbo-reader-footer .cbo-btn{display:inline-flex!important;min-width:37px!important;min-height:34px!important;font-size:0!important;padding:6px 8px!important;}
 .cbo-root .cbo-reader-footer .cbo-btn:before{font-size:17px!important;}
 .cbo-root .cbo-progress-icons{gap:1px!important;}
 .cbo-root .cbo-book-spread{
   width:min(100%,670px,calc((90dvh - 115px) * .77))!important;
   height:auto!important;aspect-ratio:.77/1!important;
   min-height:0!important;max-height:100%!important;
 }
 .cbo-root .cbo-chapter-title h2{font-size:clamp(20px,4.7vw,32px)!important;}
 .cbo-root .cbo-chapter-title:before{height:50px!important;}
 .cbo-root .cbo-quiz h2{font-size:clamp(20px,4.7vw,30px)!important;}
 .cbo-root .cbo-answer-page p{font-size:clamp(14px,3vw,17px)!important;}
}
@media(max-width:650px){
 .cbo-root .cbo-page{padding:9px clamp(14px,4.5vw,23px) 8px!important;}
 .cbo-root .cbo-page-body{padding:5px 0 4px!important;}
 .cbo-root .cbo-chapter-title h2{font-size:clamp(19px,6vw,28px)!important;}
 .cbo-root .cbo-chapter-title:before{height:37px!important;}
 .cbo-root .cbo-quiz h2{font-size:clamp(19px,5vw,26px)!important;}
 .cbo-root .cbo-quiz-option{padding:6px 8px!important;min-height:32px!important;}
 .cbo-root .cbo-quiz-symbol{display:none!important;}
}
@media (max-height:620px){
 .cbo-root .cbo-toolbar{min-height:36px!important;}
 .cbo-root .cbo-reader-footer{min-height:37px!important;}
 .cbo-root .cbo-chapter-title:before{display:none!important;}
 .cbo-root .cbo-chapter-symbol{font-size:28px!important;}
 .cbo-root .cbo-chapter-title h2{font-size:clamp(18px,2.2vw,28px)!important;}
}

/* Narrow containers and phones must not widen the grid to fit the toolbar. */
.cbo-root .cbo-reader-shell,.cbo-root .cbo-reader-body,.cbo-root .cbo-toolbar,.cbo-root .cbo-reader-footer,.cbo-root .cbo-book-spread{min-width:0!important;}
@media(max-width:650px){
 .cbo-root .cbo-toolbar{gap:3px!important;}
 .cbo-root .cbo-brand{min-width:0!important;flex:1 1 0!important;gap:4px!important;}
 .cbo-root .cbo-brand .cbo-logo{display:none!important;}
 .cbo-root .cbo-brand strong{font-size:clamp(11px,4vw,15px)!important;letter-spacing:.02em!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
 .cbo-root .cbo-brand small{display:none!important;}
 .cbo-root .cbo-toolbar-actions{flex:0 0 auto;gap:2px!important;}
 .cbo-root .cbo-toolbar-actions .cbo-tool{padding:3px 7px!important;min-height:30px!important;font-size:12px!important;}
 .cbo-root .cbo-toolbar-actions .cbo-tool span{display:none!important;}
 .cbo-root .cbo-reader-footer .cbo-btn{min-width:34px!important;}
}
/* Taller portrait screens have room for a slightly taller book without scrolling. */
@media (max-width:980px) and (min-height:700px){
 .cbo-root .cbo-book-spread{aspect-ratio:.70/1!important;}
}


/* v0.2.4: the hero should fit comfortably into the first screen. */
.cbo-root .cbo-landing{
  height:min(80dvh,760px)!important;
  min-height:0!important;
  max-height:min(80dvh,760px)!important;
  aspect-ratio:auto!important;
  padding:clamp(10px,1.6vh,19px) clamp(13px,1.5vw,26px)!important;
  background-size:cover,cover!important;
  background-position:center center,center center!important;
}
.cbo-root .cbo-landing-top{height:27px;min-height:0;padding:0 0 6px!important;}
.cbo-root .cbo-cover-stage{
  display:flex!important;align-items:center!important;justify-content:flex-end!important;
  height:calc(100% - 27px)!important;min-height:0!important;
  padding:0 clamp(5px,1.8vw,30px)!important;
  gap:0!important;
}
.cbo-root .cbo-landing-copy{
  margin:0!important;align-self:center!important;
  width:min(460px,39%)!important;
  max-width:min(460px,39%)!important;
  padding:clamp(14px,1.8vw,27px)!important;
  overflow:visible!important;
}
.cbo-root .cbo-landing-copy h2{font-size:clamp(29px,3.1vw,52px)!important;margin:8px 0!important;line-height:1.03!important;}
.cbo-root .cbo-landing-copy p{font-size:clamp(13px,.95vw,16px)!important;line-height:1.45!important;margin:7px 0!important;}
.cbo-root .cbo-landing-copy p:nth-of-type(1){font-size:clamp(16px,1.3vw,21px)!important;line-height:1.25!important;}
.cbo-root .cbo-landing-copy .cbo-overline{font-size:10px!important;}
.cbo-root .cbo-landing-copy .cbo-quiet-note{margin-top:10px!important;}
.cbo-root .cbo-landing-copy .cbo-btn{min-height:40px;padding:9px 15px!important;}
@media(max-width:980px){
 .cbo-root .cbo-landing{height:min(79dvh,680px)!important;max-height:min(79dvh,680px)!important;}
 .cbo-root .cbo-cover-stage{justify-content:center!important;}
 .cbo-root .cbo-landing-copy{width:min(95%,580px)!important;max-width:min(95%,580px)!important;margin:auto!important;}
}
@media(max-width:600px){
 .cbo-root .cbo-landing{height:min(78dvh,630px)!important;max-height:min(78dvh,630px)!important;background-position:center top,40% top!important;}
 .cbo-root .cbo-cover-stage{align-items:flex-end!important;padding:0 2px 10px!important;}
 .cbo-root .cbo-landing-copy{padding:12px 14px!important;max-width:100%!important;width:100%!important;}
 .cbo-root .cbo-landing-copy h2{font-size:clamp(26px,7vw,37px)!important;}
 .cbo-root .cbo-landing-copy p{font-size:12px!important;}
}
