/* Installed overlay or native-titlebar fallback reserves the same tab row. */
 html[data-whdj-titlebar] body{padding-top:calc(var(--whdj-body-padding,0px) + var(--whdj-titlebar-height,33px) + var(--whdj-announce-height,0px))!important}
 html[data-whdj-titlebar] #app{min-height:calc(100vh - var(--whdj-titlebar-height,33px) - var(--whdj-announce-height,0px))}
 html[data-whdj-titlebar] .chain-page,
 html[data-whdj-titlebar] .sr-page,
 html[data-whdj-titlebar] .topic-hub,
 html[data-whdj-titlebar] .performance-page,
 html[data-whdj-titlebar] .sm-page,
 html[data-whdj-titlebar] .icard-view,
 html[data-whdj-titlebar] .indexv2-scope.v2-home{height:calc(100vh - var(--whdj-titlebar-height,33px) - var(--whdj-announce-height,0px))}
 html[data-whdj-titlebar] .reader-shell{height:calc(100dvh - 58px - var(--whdj-titlebar-height,33px) - var(--whdj-announce-height,0px))}
 html[data-whdj-titlebar][data-whdj-notebook] body > .stage{height:calc(100vh - 46px - var(--whdj-titlebar-height,33px) - var(--whdj-announce-height,0px))}

/* Site-wide floating widgets live in each tab page; hide the shell copy while a tab page is shown so it is never a dead, duplicate button. */
html[data-whdj-tab-active] body>:is(#whdj-feedback-host,#whdj-quicknote-host){display:none!important}
