/* A 320 x 50 creative, six pixels of separation, and the measured app navigation. */
html[data-barae-footer-document]{--barae-nav-height:0px;--barae-footer-nav-height:0px;--barae-ad-height:0px;--barae-footer-height:calc(var(--barae-footer-nav-height) + var(--barae-ad-height));--ad-height:var(--barae-ad-height)!important;--ad-reserve:var(--barae-ad-height)!important}
body[data-barae-footer]{--barae-nav-height:var(--barae-footer-nav-height)!important;--ad-height:var(--barae-ad-height)!important;--ad-reserve:var(--barae-ad-height)!important}
html[data-barae-footer-document] body[data-barae-footer] :is(.barae-footer-ad,#advertising-slot,#croisee-finale .ac-ad-area){box-sizing:border-box!important;position:fixed!important;inset:auto 0 var(--barae-footer-nav-height)!important;z-index:9000!important;width:100%!important;min-width:0!important;max-width:none!important;height:56px!important;min-height:56px!important;max-height:56px!important;margin:0!important;padding:2px 0 3px!important;gap:0!important;border:0!important;border-top:1px solid var(--game-border,#80808040)!important;background:var(--barae-ad-background,#faf7f0)!important;box-shadow:none!important;align-items:center!important;justify-content:center!important;text-align:center!important;line-height:normal!important}
body[data-barae-footer] .barae-footer-backdrop{box-sizing:border-box;position:fixed;inset:auto 0 0;height:var(--barae-footer-height);z-index:8990;background:var(--barae-ad-background,#faf7f0);pointer-events:none}
body[data-barae-footer] .barae-footer-backdrop[hidden]{display:none!important}
body[data-barae-footer] .barae-footer-ad>:is(.ad-label,.advertising-label,.bg-ad-label,.db-ad-label,.ac-ad-label,.ad-caption),body[data-barae-footer] .lc-ad-dock>span:first-child{display:none!important}
body[data-barae-footer] .barae-footer-ad>:is(.ad-frame,#ad-frame,#ad-banner,#ad-card,.ad-slot,.bg-ad-slot,.lc-ad-slot,.db-ad-slot,.ac-ad-slot){box-sizing:border-box!important;flex:0 0 auto!important;width:320px!important;min-width:320px!important;max-width:none!important;height:50px!important;min-height:50px!important;max-height:50px!important;margin:0 auto!important;padding:0!important;border:0!important;background:transparent!important}
body[data-barae-footer] .barae-pilot-nav{box-sizing:border-box!important;position:fixed!important;inset:auto 0 0!important;z-index:20000!important;width:100%!important;max-width:none!important;height:auto!important;margin:0!important;transform:none!important;background:#fff!important;isolation:isolate}
/* A transformed phone shell would make fixed descendants relative to that shell. */
body[data-barae-footer]>.db-phone{left:0!important;right:0!important;margin-inline:auto!important;transform:none!important}
body[data-barae-footer] .db-bottom-dock:has(>.db-ad-area){box-sizing:border-box!important;height:var(--barae-footer-height)!important;min-height:var(--barae-footer-height)!important;padding-bottom:0!important;box-shadow:none!important}
/* Document pages reserve the rail once, inside their scrolling content. */
body[data-barae-footer]:has(>main.bg-shell),body[data-barae-footer]:has(>#la-chaine){padding-bottom:calc(var(--barae-footer-height) + 12px)!important}
body[data-barae-footer][data-barae-leaderboard]{padding-bottom:0!important}
body[data-barae-footer][data-barae-leaderboard] #barae-leaderboard-page{padding-bottom:calc(var(--barae-footer-height) + 12px)!important}
/* Fixed-height games give the space released by the smaller rail back to play. */
body[data-barae-footer]:not([data-barae-leaderboard])>.app:has(>.workspace){height:calc(100dvh - var(--barae-footer-height))!important;min-height:0!important;grid-template-rows:auto minmax(0,1fr)!important}
body[data-barae-footer]:not([data-barae-leaderboard])>.app>.workspace{grid-row:2}
body[data-barae-footer]:not([data-barae-leaderboard]) #croisee-finale{height:calc(var(--db-viewport-height,100dvh) - var(--barae-footer-height))!important;min-height:0!important}
body[data-barae-footer][data-mode]:not([data-barae-leaderboard])>.app-shell{height:calc(var(--app-height,100dvh) - var(--barae-footer-height))!important;min-height:0!important}
body[data-barae-footer] :is(.toast,#toast,.db-toast,.ac-toast){bottom:calc(var(--barae-footer-height) + 12px)!important}
html[data-barae-privacy-discrete] #workspace>.qv-privacy-clearance{display:none!important}
/* A standalone game has no common navigation to carry the device safe area. */
html[data-barae-footer-document] body[data-barae-footer]:not(:has(.barae-pilot-nav)) :is(.barae-footer-ad,#advertising-slot,#croisee-finale .ac-ad-area){height:calc(56px + env(safe-area-inset-bottom,0px))!important;min-height:calc(56px + env(safe-area-inset-bottom,0px))!important;max-height:calc(56px + env(safe-area-inset-bottom,0px))!important;padding-bottom:calc(3px + env(safe-area-inset-bottom,0px))!important}
/* Empty/pending/refused rails have no visible line, shadow or reserved space.
   Keep their child container measurable: display:none would prevent a first ad. */
html[data-barae-footer-document] body[data-barae-footer] :is(.barae-footer-ad,#advertising-slot,#croisee-finale .ac-ad-area)[data-barae-footer-slot="empty"]{height:0!important;min-height:0!important;max-height:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;overflow:hidden!important;visibility:hidden!important;pointer-events:none!important}
html[data-barae-footer-document] body[data-barae-footer] :is(.barae-footer-ad,#advertising-slot,#croisee-finale .ac-ad-area)[data-barae-footer-slot="filled"]{visibility:visible!important;pointer-events:auto!important;overflow:visible!important}
/* A fixed rail must not leave its previous native footer row behind. */
body[data-barae-party] .site-footer:has(>.barae-footer-ad){height:0!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;background:transparent!important;flex:0 0 0!important}
/* Tekkit's flex home previously used the area occupied by a filled banner. */
body[data-barae-party="tekkit"]{height:calc(100dvh - var(--barae-footer-height))!important}
body[data-barae-party="tekkit"] .app-shell{height:calc(100dvh - var(--barae-footer-height))!important;min-height:0!important;max-height:none!important}
body[data-barae-party="tekkit"] .game-content{min-height:0!important}
body[data-barae-party="tekkit"] .home,body[data-barae-party="tekkit"] .setup{overflow-y:auto!important;overscroll-behavior:contain}
/* Babel's home must keep the same available height as its game surface. */
body[data-barae-party="babel"] #app[data-screen="home"],body[data-barae-party="babel"] .home{height:var(--play-height)!important;min-height:0!important}
