/* Worldbook only. Header dimensions remain intrinsic; no fixed height or viewport JS. */
[data-view="books"].wb-progressive-header #booksBody{padding-top:0;scroll-padding-top:calc(var(--head-top) + 72px);}
[data-view="books"].wb-progressive-header .wb-floating-head{
 position:sticky;top:0;z-index:8;flex-wrap:wrap;row-gap:6px;
 margin:0 -20px 8px;background:transparent;border:0;box-shadow:none;overflow:visible;
}
[data-view="books"] .wb-floating-head>.wb-heading,
[data-view="books"] .wb-floating-head>.head-actions{position:relative;z-index:1;}
[data-view="books"] .wb-floating-head>.wb-heading{flex:1 1 160px;}
[data-view="books"] .wb-floating-head>.head-actions{flex:0 0 auto;margin-left:auto;}
[data-view="books"] .wb-header-glass{
 position:absolute;inset:0 0 -32px;z-index:0;pointer-events:none;visibility:hidden;
 /* Do not add opacity/filter/isolation here: they create a backdrop root. */
}
[data-view="books"] .wb-floating-head.is-scrolled>.wb-header-glass{visibility:visible;}
[data-view="books"] .wb-header-glass>span{
 position:absolute;inset:0;pointer-events:none;border:0;box-shadow:none;
 -webkit-mask-image:var(--wb-mask);mask-image:var(--wb-mask);
}
/* Overlapping feathered bands crossfade distinct blur radii across the height.
   Radius is strongest at the top; the final 1px band reaches zero at the bottom. */
[data-view="books"] .wb-header-blur-1{--wb-radius:1px;--wb-mask:linear-gradient(to bottom,transparent 60%,#000 78%,#000 88%,transparent 100%);}
[data-view="books"] .wb-header-blur-3{--wb-radius:3px;--wb-mask:linear-gradient(to bottom,transparent 42%,#000 60%,#000 72%,transparent 88%);}
[data-view="books"] .wb-header-blur-7{--wb-radius:7px;--wb-mask:linear-gradient(to bottom,transparent 25%,#000 43%,#000 54%,transparent 72%);}
[data-view="books"] .wb-header-blur-12{--wb-radius:12px;--wb-mask:linear-gradient(to bottom,transparent 10%,#000 27%,#000 38%,transparent 55%);}
[data-view="books"] .wb-header-blur-20{--wb-radius:20px;--wb-mask:linear-gradient(to bottom,#000 0%,#000 16%,transparent 34%);}
[data-view="books"] .wb-header-blur{-webkit-backdrop-filter:blur(var(--wb-radius));backdrop-filter:blur(var(--wb-radius));}
[data-view="books"] .wb-header-tint{background:var(--bg,#fff);--wb-mask:linear-gradient(to bottom,#000c 0%,#0009 32%,#0005 58%,#0002 78%,transparent 100%);}
/* Preserve the Android compositor safety rule introduced by 1.7.50.
   Its tint-only fallback is deliberate and is not presented as progressive blur. */
html.canoe-android [data-view="books"] .wb-header-blur{display:none;}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
 [data-view="books"] .wb-header-blur{display:none;}
}
@media (prefers-reduced-transparency:reduce){
 [data-view="books"] .wb-header-blur{display:none;}
 [data-view="books"] .wb-header-tint{--wb-mask:linear-gradient(to bottom,#000 0%,#000 60%,transparent 100%);}
}
