/* ID Library mobile bottom tab bar (v2build/bottom_nav.py). Mobile only (<=820px); desktop keeps the header nav. No inline styles. */
.bnav{display:none}
@media (max-width:820px){
 :root{--bnav-h:58px;--bnav-safe:env(safe-area-inset-bottom,0px)}
 body.has-bnav{padding-bottom:calc(76px + var(--bnav-h) + var(--bnav-safe))}
 body.plain.has-bnav{padding-bottom:calc(var(--bnav-h) + var(--bnav-safe) + 12px)}
 .bnav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:70;height:calc(var(--bnav-h) + var(--bnav-safe));
  padding:0 4px var(--bnav-safe);background:rgba(6,8,12,.97);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-top:1px solid rgba(25,230,255,.22);box-shadow:0 -8px 24px rgba(0,0,0,.55)}
 .bnav a{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;min-height:48px;
  color:#8E9AA6;font:600 10.5px/1 "Space Grotesk",Inter,sans-serif;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;-webkit-tap-highlight-color:transparent}
 .bnav svg{width:22px;height:22px}
 .bnav a.on{color:#19E6FF;text-shadow:0 0 10px rgba(25,230,255,.55)}
 .bnav a.on svg{filter:drop-shadow(0 0 6px rgba(25,230,255,.7))}
 .bnav a.on::before{content:"";position:absolute;top:0;width:30px;height:2px;border-radius:2px;background:#19E6FF;box-shadow:0 0 10px #19E6FF}
 .bnav a:active{color:#F2F5F8}
 .bnav a:focus-visible{outline:2px solid #19E6FF;outline-offset:-4px;border-radius:10px}
 /* stack: player bar sits directly on top of the tab bar; preview dock above both */
 .has-bnav .pbar{bottom:calc(var(--bnav-h) + var(--bnav-safe))}
 .has-bnav .dock{bottom:calc(76px + var(--bnav-h) + var(--bnav-safe))}
 /* the Submit tab replaces the floating Submit button on mobile */
 .has-bnav .fab-submit{display:none!important}
}
@media print{.bnav{display:none!important}}
