/* The viewport and navigation always remain physical 100% surfaces. Only the
   active public content has compact density; its logical box fills the same
   available physical area. Administrative and touch layouts retain 100%. */
@media(min-width:901px){
 html.nd-density-managed body.studio-shell>.main{width:100%!important;max-width:none!important;margin-inline:0!important}
}
 html.nd-density-compact{zoom:1;min-height:100%}
 html.nd-density-compact body.studio-shell{min-height:100dvh}
 html.nd-density-compact body.studio-shell>.main,
 html.nd-density-compact body.studio-shell>.footer{
  zoom:.8;width:100%!important;max-width:none!important;margin-inline:0!important;
 }
 html.nd-density-compact body.studio-shell>.main{
  min-height:calc((var(--nd-viewport-height,100dvh) - var(--nd-shell-header-height,76px) - var(--nd-density-footer-height,0px)) / .8);
 }
 html.nd-density-compact body.studio-shell[data-page="create"]>.main#app{
  height:calc((var(--nd-viewport-height,100dvh) - var(--nd-shell-header-height,76px)) / .8)!important;
  min-height:0!important;
 }
 html.nd-density-compact.nd-context-child body.studio-shell>.main{padding-top:0!important}
 html.nd-density-compact.nd-context-child body.studio-shell[data-page="create"] .gen-workbench{
  height:calc(100% - 3.25rem)!important;
 }
 /* Viewport-positioned surfaces escape the content density exactly once. Their
    existing physical rectangle/anchor calculations can keep using root scale1. */
 html.nd-density-compact body.studio-shell>.main :is(dialog,[popover],.gen-settings,[role="dialog"][aria-modal="true"]){zoom:1.25}
 html.nd-density-compact .side-nav .nav-label{white-space:normal;overflow-wrap:break-word}
 html.nd-density-compact .nd-density-readable{font-size:var(--nd-readable-size)!important}
