/* BaBooks 0.3.0 - scoped styles; avoids modifying SWELL core templates. */
:root{--bab-blue:#008cf0;--bab-ink:#233248;--bab-muted:#687789;--bab-line:#e0e8f1;--bab-surface:#f6f9fc;--bab-shadow:0 5px 18px rgba(22,46,83,.055)}
.bab-wrap,.bab-reader{max-width:1160px;margin:28px auto 58px;padding:0 18px;color:var(--bab-ink);font-family:inherit;line-height:1.75}
.bab-wrap *,.bab-reader *{box-sizing:border-box}.bab-wrap a,.bab-reader a{text-decoration:none}.bab-wrap a:hover,.bab-reader a:hover{text-decoration:underline}.bab-wrap button,.bab-reader button,.bab-wrap select,.bab-reader select,.bab-wrap input{font:inherit}
.bab-section{margin:38px 0}.bab-section-heading{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:0 0 17px}.bab-section-heading h2,.bab-work-toc h2,.bab-work-credits h2{border:0;border-left:4px solid var(--bab-blue);border-radius:0;background:transparent;color:#172e4e;padding:0 0 0 12px;margin:0;font-size:1.25rem;line-height:1.4}.bab-section-heading>a{font-size:.85rem;color:#007ad3;white-space:nowrap}.bab-empty,.bab-small{color:var(--bab-muted);font-size:.88rem}
.bab-button{background:var(--bab-blue);color:#fff!important;border:1px solid var(--bab-blue);padding:10px 20px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;font-weight:600;cursor:pointer;text-decoration:none!important;min-height:43px;transition:background-color .16s}.bab-button:hover{background:#006fbf}.bab-button--ghost{background:#fff;color:#0874be!important;border-color:#b7d7ec}.bab-button--ghost:hover{background:#ecf7ff}.bab-button:focus-visible,.bab-wrap a:focus-visible,.bab-reader a:focus-visible,.bab-reader button:focus-visible{outline:3px solid #ffa33a;outline-offset:3px}
.bab-featured{position:relative;margin-bottom:26px}.bab-feature{display:grid;grid-template-columns:55% 45%;background:#fff;min-height:305px;overflow:hidden;border:1px solid var(--bab-line);border-radius:12px;box-shadow:var(--bab-shadow)}.bab-feature[hidden]{display:none}.bab-feature__visual{background:#e9f3fb;min-height:290px}.bab-feature__visual img{width:100%;height:100%;min-height:290px;object-fit:cover}.bab-feature__copy{padding:30px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.bab-feature__copy h2{border:0;background:none;padding:0;margin:10px 0;color:var(--bab-ink);font-size:clamp(1.3rem,3vw,2rem);line-height:1.45}.bab-feature__copy p{line-height:1.85;color:#526173;margin:0 0 20px}.bab-eyebrow{display:inline-flex;background:#e5f4ff;color:#007acc;padding:3px 9px;border-radius:5px;font-size:.82rem;font-weight:700}.bab-featured__nav{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);display:flex;gap:12px;align-items:center;background:rgba(255,255,255,.94);border-radius:40px;padding:4px 8px}.bab-featured__nav button{background:none;border:0;padding:3px 9px;cursor:pointer;color:#007acc}
.bab-categories{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.bab-categories a{display:flex;justify-content:space-between;align-items:center;padding:20px 16px;background:var(--bab-surface);border:1px solid var(--bab-line);color:#18375b;border-radius:8px;font-weight:700;min-height:78px}
.bab-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.bab-card{min-width:0;border:1px solid var(--bab-line);border-radius:9px;overflow:hidden;background:white;box-shadow:var(--bab-shadow)}.bab-card__image{display:block;width:100%;aspect-ratio:3/2;background:#e6f1fa;overflow:hidden}.bab-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .2s}.bab-card__image:hover img{transform:scale(1.025)}.bab-cover-fallback{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:linear-gradient(140deg,#d8eaf7,#f7fbff);color:#2472b0;font-size:1.3rem;font-weight:700;min-height:140px}.bab-card__body{padding:12px}.bab-tags{display:flex;gap:5px;flex-wrap:wrap}.bab-tags span{color:#1265a3;background:#e6f2fb;font-size:.73rem;border-radius:4px;padding:1px 7px;font-weight:600}.bab-tags span+span{background:#f0f2f5;color:#586778}.bab-card__title{font-size:.96rem!important;line-height:1.5;margin:9px 0 5px;padding:0!important;background:none!important;border:0!important;box-shadow:none!important}.bab-card__title a{color:inherit}.bab-card__chapter,.bab-card__date{color:var(--bab-muted);font-size:.79rem;margin:4px 0}.bab-card__chapter{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bab-home-cols{display:grid;grid-template-columns:minmax(0,3fr) minmax(230px,1.1fr);gap:28px}.bab-home-cols .bab-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.bab-home-side{padding-top:26px}.bab-side-panel{background:#fff;border:1px solid var(--bab-line);border-radius:8px;padding:15px;margin-bottom:16px}.bab-side-panel .bab-section-heading h2{font-size:1.06rem}.bab-news{list-style:none;padding:0;margin:0}.bab-news li{border-top:1px solid var(--bab-line);padding:11px 0}.bab-news li:first-child{border:0}.bab-news time{display:block;color:var(--bab-muted);font-size:.75rem}.bab-news a{color:#253b55;font-size:.88rem}
.bab-filters{display:flex;gap:9px;flex-wrap:wrap;background:var(--bab-surface);border-radius:9px;padding:14px;margin:12px 0}.bab-filters input,.bab-filters select{height:43px;min-width:125px;border-radius:6px;border:1px solid #cfdae6;background:white;color:#273e54;padding:6px 9px}.bab-filters input{min-width:210px;flex:1}.bab-results{font-size:.85rem;color:var(--bab-muted)}.bab-pagination{display:flex;justify-content:center;gap:9px;margin:30px}.bab-pagination>*{border:1px solid var(--bab-line);padding:4px 11px;border-radius:5px}.bab-pagination [aria-current]{background:var(--bab-blue);color:white}
.bab-breadcrumb{font-size:.82rem;color:var(--bab-muted);margin-bottom:24px}.bab-breadcrumb a{color:#1879c3}.bab-work-top{display:grid;grid-template-columns:minmax(165px,270px) minmax(0,1fr);gap:32px;margin-bottom:35px}.bab-work-cover{width:100%;align-self:start;aspect-ratio:3/4;background:#edf5fa;border-radius:8px;overflow:hidden;border:1px solid var(--bab-line)}.bab-work-cover img{display:block;width:100%;height:100%;object-fit:contain}.bab-work-summary h1{font-size:clamp(1.45rem,3vw,2.15rem);color:#162d4a;line-height:1.4;margin:12px 0}.bab-work-abstract{line-height:1.95;font-size:.96rem;overflow-wrap:anywhere}.bab-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:20px}.bab-warning{background:#fff9e6;border-left:4px solid #eab33d;padding:12px;border-radius:5px}.bab-work-credits,.bab-work-toc{margin:28px 0;border:1px solid var(--bab-line);border-radius:9px;padding:23px;background:white}.bab-work-credits dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px;margin:18px 0 0}.bab-work-credits dl>div{display:grid;grid-template-columns:95px minmax(0,1fr);border-bottom:1px solid #edf1f6;padding:6px 0}.bab-work-credits dt{color:var(--bab-muted)}.bab-work-credits dd{margin:0;overflow-wrap:anywhere}.bab-toc-list{margin:16px 0 0;padding:0;list-style:none}.bab-toc-list li:not(.bab-toc-volume){border-bottom:1px solid #edf1f6}.bab-toc-list li a{display:flex;justify-content:space-between;gap:18px;padding:12px 0;color:#234968}.bab-toc-list time{color:var(--bab-muted);font-size:.79rem;white-space:nowrap}.bab-toc-volume{font-weight:bold;color:#0b6ebc;margin-top:18px;padding:9px 0;background:#f5faff}
.bab-reader{max-width:1000px;margin-top:10px}.bab-reader-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--bab-line);padding:16px 0;gap:10px;font-size:.85rem}.bab-reader-workname{font-weight:700;text-align:center}.bab-reader-heading{text-align:center;margin:25px 0}.bab-reader-heading p{color:var(--bab-muted);margin:0}.bab-reader-heading h1{font-size:1.5rem;margin:7px 0;border:0;background:none;padding:0}.bab-reader-controls{display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap;background:#f0f5fa;padding:12px;border-radius:8px;margin-bottom:25px}.bab-reader-controls label{font-size:.85rem}.bab-reader-controls select{border:1px solid #cfdae6;border-radius:5px;background:#fff;padding:5px;margin-left:5px}.bab-reader-body{transition:background .2s;border-radius:9px}.bab-reader[data-theme="sepia"] .bab-reader-body{background:#f8f1e7;padding:20px}.bab-reader[data-theme="dark"] .bab-reader-body{background:#1d2531;color:#eef1f6;padding:20px}.bab-reader .bab-prose{max-width:680px;margin:0 auto;line-height:1.95;font-size:var(--bab-font-size,16px);overflow-wrap:anywhere}.bab-reader .bab-prose h2,.bab-reader .bab-prose h3{border:0;background:transparent;color:inherit;font-weight:700;box-shadow:none}.bab-reader[data-writing="vertical"] .bab-prose{writing-mode:vertical-rl;text-orientation:mixed;max-width:none;width:100%;height:min(75vh,780px);overflow-x:auto;overflow-y:hidden;padding:12px 18px;line-height:2}.bab-reader[data-writing="vertical"] .bab-prose p{margin:0 0 0 1.4em}.bab-reader .bab-prose ruby{ruby-position:over}.bab-reader .bab-prose img{max-width:100%;height:auto}.bab-pages{display:flex;flex-direction:column;align-items:center;gap:4px;margin:0 auto;max-width:850px}.bab-page{display:block;padding:0;margin:0;border:0;background:transparent;max-width:100%;cursor:zoom-in;line-height:0}.bab-page img{display:block;width:100%;height:auto;max-height:none;object-fit:contain}.bab-pages--gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.bab-pages--gallery .bab-page{border:1px solid var(--bab-line);border-radius:7px;overflow:hidden}.bab-page[hidden]{display:none}.bab-pages[data-mode="slide"]{max-width:900px}.bab-page-nav{display:flex;justify-content:center;align-items:center;gap:20px;margin:20px}.bab-page-nav[hidden]{display:none}.bab-page-nav button,.bab-resume{border:1px solid #b5d8f4;color:#0569b1;background:#eff8ff;border-radius:6px;padding:7px 15px;cursor:pointer}.bab-reader-bottom{border-top:1px solid var(--bab-line);display:flex;justify-content:space-between;gap:18px;margin-top:40px;padding:25px 0}.bab-reader-disclaimer{text-align:center}.bab-lightbox[hidden]{display:none}.bab-lightbox{position:fixed;z-index:100000;inset:0;background:rgba(12,16,21,.96);display:flex;align-items:center;justify-content:center;padding:35px 12px}.bab-lightbox img{display:block;max-width:100%;max-height:95%;object-fit:contain}.bab-lightbox button{position:absolute;right:20px;top:10px;background:#fff;border:none;color:#111;border-radius:50%;height:38px;width:38px;cursor:pointer;font-size:26px}.bab-lightbox-open{overflow:hidden}
.bab-local-list{display:grid;gap:9px;margin:14px 0}.bab-local-row{display:flex;justify-content:space-between;align-items:center;gap:9px;border:1px solid var(--bab-line);border-radius:7px;background:#fff;padding:8px}.bab-local-row a{display:flex;gap:12px;align-items:center;color:#193d63;min-width:0;flex:1;font-size:.89rem}.bab-local-row img,.bab-browser-fallback{width:54px;height:62px;object-fit:cover;flex-shrink:0;background:#edf4fb}.bab-browser-fallback{font-size:.6rem;display:flex;align-items:center;justify-content:center}.bab-local-remove{background:white;border:1px solid var(--bab-line);border-radius:5px;padding:6px 8px;cursor:pointer;color:#546576;font-size:.82rem}.bab-local-list--mini .bab-local-row{padding:5px}.bab-local-list--mini .bab-local-row img{width:42px;height:48px}
.bab-creator-bio{margin:16px 0 40px}.bab-archive{min-height:350px}
@media(max-width:900px){.bab-home-cols{grid-template-columns:1fr}.bab-home-cols .bab-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.bab-home-side{padding-top:0}.bab-categories{grid-template-columns:repeat(2,minmax(0,1fr))}.bab-work-top{gap:18px}}
@media(max-width:650px){.bab-wrap,.bab-reader{padding:0 13px;margin-top:18px}.bab-grid,.bab-home-cols .bab-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.bab-feature{grid-template-columns:1fr}.bab-feature__visual,.bab-feature__visual img{min-height:170px;max-height:220px}.bab-feature__copy{padding:18px}.bab-feature__copy h2{font-size:1.3rem}.bab-featured__nav{bottom:auto;top:160px}.bab-categories{gap:8px}.bab-categories a{min-height:58px;padding:10px;font-size:.88rem}.bab-section-heading h2{font-size:1.12rem}.bab-work-top{grid-template-columns:1fr}.bab-work-cover{max-width:210px;margin:0 auto}.bab-work-credits dl{grid-template-columns:1fr}.bab-work-credits,.bab-work-toc{padding:15px}.bab-toc-list li a{display:block}.bab-toc-list time{display:block}.bab-reader-top{font-size:.77rem}.bab-reader-heading h1{font-size:1.25rem}.bab-reader-controls{gap:8px}.bab-filters input,.bab-filters select,.bab-filters button{flex:1 1 42%;min-width:0}.bab-card__body{padding:9px}.bab-card__title{font-size:.87rem!important}.bab-card__chapter,.bab-card__date{font-size:.72rem}.bab-work-summary h1{font-size:1.5rem}}
@media(prefers-reduced-motion:reduce){.bab-card__image img,.bab-button,.bab-reader-body{transition:none}}


/* BaBooks Core 0.4.0 — scoped UI improvements, without overriding SWELL header/footer */
.bab-wrap,.bab-reader{--bab-focus:#006fd6;color:#26384d}
.bab-wrap :focus-visible,.bab-reader :focus-visible,.bab-lightbox :focus-visible{outline:3px solid var(--bab-focus)!important;outline-offset:3px}
.bab-reader{max-width:1060px;line-height:1.8}
.bab-reader-top{gap:16px;flex-wrap:wrap;line-height:1.6}
.bab-reader-workname{min-width:0;overflow-wrap:anywhere}
.bab-reader-controls{background:#eaf4fd;color:#233a50;border:1px solid #cbdceb;position:relative;gap:14px}
.bab-reader-controls select{min-height:42px;min-width:98px;font-size:16px;color:#182f45}
.bab-reader-controls label{font-weight:600}
.bab-reader .bab-prose{font-size:var(--bab-font-size,18px);line-height:2.05;letter-spacing:.01em}
.bab-reader[data-theme="dark"] .bab-reader-body,.bab-reader[data-theme="dark"] .bab-prose{color:#f2f5fa}
.bab-reader[data-theme="dark"] .bab-prose a{color:#8dccff}
.bab-page-nav button,.bab-pdf-toolbar button,.bab-pdf-toolbar input{min-height:44px}
.bab-page-nav button:disabled,.bab-pdf-toolbar button:disabled{opacity:.45;cursor:not-allowed}
.bab-reader-bottom a{min-height:44px;display:inline-flex;align-items:center}
.bab-pdf{background:#fff;border:1px solid #cddde9;border-radius:11px;overflow:hidden;box-shadow:0 5px 22px rgba(20,56,80,.06)}
.bab-pdf-heading{padding:17px 20px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;border-bottom:1px solid #dce6ee}
.bab-pdf-heading strong{font-size:1.15rem}.bab-pdf-heading span{color:#526d86;font-size:.83rem}
.bab-pdf-toolbar{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;padding:13px 16px;background:#f3f7fb;border-bottom:1px solid #dce6ee}
.bab-pdf-toolbar label{font-weight:600}.bab-pdf-toolbar input{width:74px;border:1px solid #aebfd1;border-radius:7px;padding:6px;color:#182f45;background:#fff;text-align:center}
.bab-pdf-toolbar button{background:#fff;color:#075eab;border:1px solid #b4cee5;border-radius:7px;padding:8px 17px;font-weight:700;cursor:pointer}
.bab-pdf iframe{display:block;width:100%;height:min(79vh,900px);min-height:430px;border:0;background:#f2f4f7}
.bab-pdf-fallback{padding:14px 20px;border-top:1px solid #dce6ee;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
.bab-pdf-fallback p{margin:0;color:#475c70;font-size:.85rem;flex:1}
.bab-pdf>.bab-small{font-size:.77rem;padding:0 20px 14px;margin:0;color:#53687e}
.bab-media-error{background:#fff7e9;border-left:4px solid #c48100;padding:17px 20px;border-radius:5px}
.bab-external-manga{overflow-x:auto;min-width:0}.bab-external-manga .bab-small{color:#516b80}
.bab-card__image{aspect-ratio:3/4}.bab-card__image img{object-fit:cover}
.bab-card__title a,.bab-toc-list a{text-underline-offset:3px}
.bab-toc-list li a{min-height:44px;align-items:center}
.bab-local-row .bab-local-remove{min-height:40px}
@media(max-width:650px){.bab-reader-controls{justify-content:flex-start}.bab-reader-controls label{display:flex;align-items:center;justify-content:space-between;min-width:44%;flex:1}.bab-reader .bab-prose{font-size:var(--bab-font-size,18px)}.bab-pdf iframe{height:72vh;min-height:350px}.bab-pdf-heading{padding:14px}.bab-pdf-fallback{padding:13px}.bab-pdf-toolbar{gap:8px}.bab-reader-top{justify-content:center}.bab-pdf-toolbar button{flex:1;min-width:90px}.bab-reader-bottom{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.bab-wrap *, .bab-reader *{scroll-behavior:auto!important}}

/* BaBooks Core 0.4.1: comic page-mode compatibility. */
.bab-pages[data-mode="slide"],.bab-pages[data-mode="spread"]{display:flex;align-items:center;justify-content:center;margin:0 auto;gap:12px;max-width:min(1120px,100%);min-height:220px}
.bab-pages[data-mode="slide"] .bab-page,.bab-pages[data-mode="spread"] .bab-page{flex:0 1 auto;min-width:0;max-width:100%;width:auto}
.bab-pages[data-mode="slide"] .bab-page img{display:block;width:auto;max-width:100%;max-height:84vh;height:auto;object-fit:contain;margin-inline:auto}
.bab-pages[data-mode="spread"]{flex-direction:row;align-items:stretch;gap:4px;background:#eaf0f5;border-radius:8px;padding:10px}
.bab-pages[data-mode="spread"][data-direction="rtl"]{flex-direction:row-reverse}
.bab-pages[data-mode="spread"] .bab-page{flex:0 1 50%;width:50%;display:flex;justify-content:center;align-items:center}
.bab-pages[data-mode="spread"] .bab-page:only-of-type{flex:0 1 50%}
.bab-pages[data-mode="spread"] .bab-page img{width:auto;max-width:100%;max-height:82vh;object-fit:contain}
.bab-pages .bab-page[hidden]{display:none!important}
.bab-reader-mode-note{flex:1 1 100%;text-align:center}
.bab-reader .bab-page-nav{gap:12px;margin:16px auto 26px;flex-wrap:wrap}
.bab-reader .bab-page-nav button{min-width:104px;min-height:44px;font-weight:600;background:#f4faff}
.bab-reader .bab-page-nav [data-page-count]{font-variant-numeric:tabular-nums;min-width:88px;text-align:center}
.bab-reader[data-theme="dark"] .bab-pages[data-mode="spread"]{background:#121b26}
@media(max-width:370px){.bab-feature__copy h2{font-size:1.18rem}.bab-categories a{padding:9px 7px}.bab-reader-controls label{flex-basis:100%;min-width:0}}


/* BaBooks 0.4.2 — one cohesive homepage layout.  This deliberately targets only
   BaBooks markup: unrelated SWELL post lists/blocks stay in theme control. */
.bab-wrap.bab-home,
.bab-wrap.bab-catalog {
  box-sizing: border-box;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  width: min(1480px, calc(100vw - 48px));
  max-width: none;
  margin: 24px 0 64px;
  padding: 0;
  overflow: visible;
}
.bab-home, .bab-home *, .bab-catalog, .bab-catalog * {min-width: 0; box-sizing: border-box}
.bab-home .bab-featured {margin: 0 0 38px}
.bab-home .bab-feature {width:100%;}
.bab-home .bab-feature__visual {display:flex;justify-content:center;align-items:center;min-width:0;overflow:hidden;background:#edf3f8}
.bab-home .bab-feature__visual img {display:block;width:100%;height:100%;min-height:290px;max-width:100%;object-fit:contain;object-position:center}
.bab-home .bab-feature__copy {min-width:0}
.bab-home .bab-discovery {display:block;margin:0 0 44px}
.bab-home .bab-discovery .bab-section-heading {margin-bottom:18px}
.bab-home .bab-categories {margin:0;gap:14px}
.bab-home .bab-categories a {min-height:84px;gap:10px;min-width:0}
.bab-home .bab-home-content {width:100%;display:flex;flex-direction:column;gap:40px;margin:0;padding:0}
.bab-home .bab-home-content > .bab-section {margin:0;width:100%}
.bab-home .bab-section-heading {margin:0 0 18px;width:100%;}
.bab-home .bab-section-heading h2,
.bab-catalog .bab-section-heading h2,
.bab-home .bab-side-panel .bab-section-heading h2 {
  position:relative;
  display:block;
  flex:0 1 auto;
  border:none!important;
  border-left:4px solid var(--bab-blue)!important;
  border-bottom:0!important;
  border-radius:0!important;
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  padding:0 0 0 12px!important;
  margin:0!important;
  width:auto!important;
  font-size:clamp(1.12rem,1.3vw,1.32rem)!important;
  line-height:1.5!important;
  text-decoration:none!important;
  color:#172e4e!important;
}
.bab-home .bab-section-heading h2::before,
.bab-home .bab-section-heading h2::after,
.bab-home .bab-card__title::before,
.bab-home .bab-card__title::after,
.bab-home .bab-card__title a::before,
.bab-home .bab-card__title a::after,
.bab-catalog .bab-card__title::before,
.bab-catalog .bab-card__title::after,
.bab-catalog .bab-card__title a::before,
.bab-catalog .bab-card__title a::after {
  display:none!important;content:none!important;border:0!important;box-shadow:none!important;
}
.bab-home .bab-section-heading>a {margin-left:auto;flex-shrink:0}
.bab-home .bab-home-content .bab-grid {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;gap:18px;width:100%;}
/* Deliberately same card dimensions across Recently Updated / Newly Published. */
.bab-home .bab-card,
.bab-catalog .bab-card {display:flex;flex-direction:column;min-width:0;width:100%;margin:0;overflow:hidden;border-radius:9px}
.bab-home .bab-card__image,
.bab-catalog .bab-card__image {display:flex;justify-content:center;align-items:center;position:relative;width:100%;height:auto;aspect-ratio:4/3;background:#eef3f8;overflow:hidden;padding:10px;border:0}
.bab-home .bab-card__image img,
.bab-catalog .bab-card__image img {display:block;position:relative;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain!important;object-position:center;transition:none;border:0!important;box-shadow:none!important}
.bab-home .bab-card__image:hover img,
.bab-catalog .bab-card__image:hover img {transform:none}
.bab-home .bab-cover-fallback,
.bab-catalog .bab-cover-fallback {display:flex;justify-content:center;align-items:center;min-height:0;max-width:100%;height:100%;font-size:clamp(.95rem,1.7vw,1.25rem)!important;line-height:1.5!important;letter-spacing:.01em;overflow:hidden;text-align:center;word-break:keep-all}
.bab-home .bab-card__body,.bab-catalog .bab-card__body {padding:13px 14px 15px;display:flex;flex-direction:column;align-items:stretch;gap:4px;flex:1}
.bab-home .bab-card__title,.bab-catalog .bab-card__title {
  display:block!important;width:100%!important;flex:0 0 auto;
  margin:8px 0 3px!important;padding:0!important;
  background:none!important;background-image:none!important;
  border:0!important;border-bottom:0!important;box-shadow:none!important;
  font-weight:700!important;font-size:.96rem!important;line-height:1.58!important;
  text-decoration:none!important;color:#18375b;overflow-wrap:anywhere;
}
.bab-home .bab-card__title a,.bab-catalog .bab-card__title a {
  display:inline!important;margin:0!important;padding:0!important;
  color:inherit!important;border:0!important;border-bottom:0!important;
  background:none!important;box-shadow:none!important;text-decoration:none!important;
}
.bab-home .bab-card__title a:hover,.bab-catalog .bab-card__title a:hover {color:#0878c6!important;text-decoration:underline!important;text-underline-offset:3px}
.bab-home .bab-card__chapter,.bab-catalog .bab-card__chapter {margin:0;white-space:normal;overflow-wrap:anywhere}
.bab-home .bab-card__date,.bab-catalog .bab-card__date {margin:auto 0 0;padding-top:8px}
.bab-home .bab-home-panels {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;width:100%;margin-top:42px;align-items:stretch}
.bab-home .bab-side-panel {margin:0;padding:22px;min-width:0}
.bab-home .bab-side-panel .bab-section-heading {margin-bottom:14px}
.bab-home .bab-side-panel .bab-section-heading h2 {font-size:1.08rem!important}
.bab-home .bab-news li {margin:0;padding:13px 0}
.bab-home .bab-shelf-mini {overflow-wrap:anywhere}
.bab-home .bab-side-panel .bab-small {margin:10px 0 0}
@media (max-width:1300px){.bab-home .bab-home-content .bab-grid {grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:980px){
  .bab-wrap.bab-home,.bab-wrap.bab-catalog {width:calc(100vw - 38px)}
  .bab-home .bab-home-content .bab-grid {grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
  .bab-home .bab-home-content {gap:34px}
  .bab-home .bab-discovery {margin-bottom:34px}
}
@media (max-width:650px){
  .bab-wrap.bab-home,.bab-wrap.bab-catalog {width:calc(100vw - 28px);margin-top:18px;margin-bottom:38px;padding:0}
  .bab-home .bab-feature {grid-template-columns:minmax(0,1fr);min-height:0}
  .bab-home .bab-feature__visual,.bab-home .bab-feature__visual img {height:195px;max-height:215px;min-height:0}
  .bab-home .bab-feature__copy {padding:18px}
  .bab-home .bab-featured {margin-bottom:30px}
  .bab-home .bab-featured__nav {top:162px;bottom:auto}
  .bab-home .bab-discovery {margin-bottom:32px}
  .bab-home .bab-categories {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .bab-home .bab-categories a {min-height:68px;padding:12px}
  .bab-home .bab-home-content .bab-grid,.bab-catalog .bab-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .bab-home .bab-home-content {gap:32px}
  .bab-home .bab-section-heading {gap:8px;margin-bottom:14px}
  .bab-home .bab-section-heading h2,.bab-catalog .bab-section-heading h2 {font-size:1.05rem!important}
  .bab-home .bab-section-heading>a {font-size:.75rem;white-space:nowrap}
  .bab-home .bab-card__image,.bab-catalog .bab-card__image {aspect-ratio:1/1;padding:8px}
  .bab-home .bab-card__body,.bab-catalog .bab-card__body {padding:10px;gap:3px}
  .bab-home .bab-card__title,.bab-catalog .bab-card__title {font-size:.87rem!important;line-height:1.5!important;margin:5px 0 3px!important}
  .bab-home .bab-card__date,.bab-catalog .bab-card__date {font-size:.71rem}
  .bab-home .bab-home-panels {grid-template-columns:minmax(0,1fr);gap:14px;margin-top:32px}
  .bab-home .bab-side-panel {padding:17px}
}
@media(max-width:370px){
  .bab-wrap.bab-home,.bab-wrap.bab-catalog {width:calc(100vw - 20px)}
  .bab-home .bab-section-heading h2 {font-size:.98rem!important}
  .bab-home .bab-card__body {padding:8px}
}


/* BaBooks Core 0.5.1 — discoverability, readable news; confined to BaBooks DOM. */
.bab-home .bab-genres-section{margin:0 0 42px;width:100%}
.bab-home .bab-genres-section .bab-section-heading{margin-bottom:18px}
.bab-genres-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;width:100%}
.bab-genre-card{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:center;gap:5px 10px;padding:16px 17px;min-height:86px;border:1px solid #dce6f1;border-radius:9px;background:#fff;color:#1b3554!important;text-decoration:none!important;box-shadow:0 2px 8px rgba(20,60,100,.025);transition:background-color .16s,border-color .16s}
.bab-genre-card:hover{background:#f2f8ff;border-color:#99c8ef;text-decoration:none!important}
.bab-genre-card:focus-visible{outline:3px solid #007ccd;outline-offset:3px}
.bab-genre-card__name{grid-column:1;grid-row:1;font-weight:700;line-height:1.5;overflow-wrap:anywhere}
.bab-genre-card__count{grid-column:1;grid-row:2;color:#60748a;font-size:.78rem;line-height:1.5}
.bab-genre-card__arrow{grid-column:2;grid-row:1/3;font-size:1.08rem;color:#0085d4}
.bab-wrap.bab-news-page,.bab-wrap.bab-genres-page{box-sizing:border-box;width:min(1180px,calc(100vw - 48px));max-width:none;position:relative;left:50%;transform:translateX(-50%);margin:24px 0 48px;padding:0}
.bab-genres-page .bab-section-heading,.bab-news-page .bab-section-heading{margin-bottom:20px}
.bab-genres-page .bab-section-heading h2,.bab-news-page .bab-section-heading h2{margin:0!important;padding:0 0 0 12px!important;border:0!important;border-left:4px solid #008fe6!important;background:none!important;box-shadow:none!important;font-size:1.35rem!important;color:#173554!important}
.bab-news-page .bab-news{border:1px solid #dce6f1;border-radius:10px;background:#fff;padding:4px 20px}
.bab-news-page .bab-news li{padding:15px 0}
.bab-news-page .bab-news a{font-size:.97rem;line-height:1.7}
.bab-news-more{margin-top:18px;text-align:right}
.bab-news-more a{font-size:.9rem}
@media(max-width:1280px){.bab-genres-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:900px){.bab-genres-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){
 .bab-genres-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .bab-genre-card{padding:12px 13px;min-height:76px}
 .bab-home .bab-genres-section{margin-bottom:32px}
 .bab-wrap.bab-news-page,.bab-wrap.bab-genres-page{width:calc(100vw - 28px);margin-top:20px}
 .bab-news-page .bab-news{padding:4px 13px}
}

/* BaBooks 0.6.0: stable hero sizing; confined to BaBooks pages, no SWELL global overrides. */
.bab-home .bab-featured {max-width:100%;min-width:0}
.bab-home .bab-feature {
  grid-template-columns:minmax(0,52%) minmax(0,48%);
  height:clamp(310px,30vw,420px);
  min-height:0!important;
  max-height:420px;
  align-items:stretch;
}
.bab-home .bab-feature__visual {
  position:relative;display:flex;align-items:center;justify-content:center;
  height:100%;min-height:0!important;max-height:420px;
  overflow:hidden;background:linear-gradient(135deg,#e5f0fa,#f1f6fc);
}
.bab-home .bab-feature__visual img,
.bab-home .bab-feature__visual>img {
  display:block;width:100%!important;height:100%!important;
  min-height:0!important;max-height:420px!important;
  max-width:100%!important;object-fit:contain!important;object-position:center;
}
.bab-home .bab-feature__copy {padding:clamp(20px,2.5vw,38px);min-height:0;overflow-wrap:anywhere}
.bab-home .bab-feature__copy p {display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden;max-width:100%}
.bab-home .bab-feature__copy h2 {word-break:normal;overflow-wrap:anywhere}
.bab-home .bab-feature__visual .bab-cover-fallback{min-height:0}
.bab-series .bab-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.bab-work-toc.bab-upcoming{margin-top:20px}
.bab-upcoming-list{padding:0;margin:12px 0;list-style:none;display:grid;gap:10px}
.bab-upcoming-list li{list-style:none;margin:0;display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;align-items:center;border-bottom:1px solid #e4eaf2;padding:13px 0}
.bab-upcoming-list time{font-size:.88rem;color:#52677b;font-variant-numeric:tabular-nums}
.bab-wrap.bab-schedule{width:min(1080px,calc(100vw - 40px));max-width:none;margin-inline:auto}
.bab-reader[data-width="narrow"] .bab-prose{max-width:550px}
.bab-reader[data-width="wide"] .bab-prose{max-width:830px}
.bab-reader[data-writing="vertical"] .bab-prose{max-width:none}
@media (max-width:900px) and (min-width:651px){
 .bab-home .bab-feature{height:350px;max-height:350px}
 .bab-home .bab-feature__visual,.bab-home .bab-feature__visual img{max-height:350px!important}
}
@media(max-width:650px){
 .bab-home .bab-feature{display:grid;grid-template-columns:minmax(0,1fr);height:auto;max-height:none;min-height:0}
 .bab-home .bab-feature__visual {height:clamp(180px,50vw,255px);max-height:255px;min-height:0}
 .bab-home .bab-feature__visual img,.bab-home .bab-feature__visual>img{height:100%!important;max-height:255px!important;min-height:0!important}
 .bab-home .bab-feature__copy{padding:18px}
 .bab-home .bab-feature__copy p{-webkit-line-clamp:3}
 .bab-home .bab-featured__nav{top:145px;bottom:auto}
 .bab-series .bab-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .bab-upcoming-list li{align-items:flex-start;flex-direction:column;gap:4px}
 .bab-reader-controls label{flex-wrap:wrap}
}
