/* V795io — restrained panel motion shared by Admin, Exhibitor, Public and Touchscreen.
   Navigation and selection state are unchanged; this file only animates panel reveal/close. */
:root{
  --expo-planit-panel-motion-duration:240ms;
  --expo-planit-panel-fade-duration:170ms;
  --expo-planit-panel-motion-ease:cubic-bezier(.22,.78,.24,1);
}

/* Active tab content receives a subtle reveal on every format, including desktop. */
.workspaceTabsShell > .workspacePanel.workspacePanelActive,
body.publicDirectoryMode #publicDirectoryShell > #keyCard.publicDirectoryPanelActive,
body.publicDirectoryMode #publicDirectoryShell > #standsCard.publicDirectoryPanelActive,
body.publicDirectoryMode #publicDirectoryShell > #websiteLinksCard.publicDirectoryPanelActive,
body.publicDirectoryMode #publicDirectoryShell > #visitorListCard.publicDirectoryPanelActive,
body.touchscreenMode #standsCard.touchscreenPanelActive,
body.touchscreenMode #keyCard.touchscreenPanelActive{
  animation:expoPlanitPanelContentRevealV795io 210ms var(--expo-planit-panel-motion-ease) both;
}

@keyframes expoPlanitPanelContentRevealV795io{
  from{opacity:.18;transform:translate3d(0,8px,0);}
  to{opacity:1;transform:translate3d(0,0,0);}
}

/* Responsive tab window: animate the split and slide the information shell into view. */
@media (max-width:980px), (max-width:1180px) and (pointer:coarse){
  body.responsiveWorkspaceV795io:not(.touchscreenMode) main{
    transition:
      grid-template-rows var(--expo-planit-panel-motion-duration) var(--expo-planit-panel-motion-ease),
      grid-template-columns var(--expo-planit-panel-motion-duration) var(--expo-planit-panel-motion-ease),
      gap var(--expo-planit-panel-motion-duration) var(--expo-planit-panel-motion-ease)!important;
  }

  body.responsiveWorkspaceV795io:not(.touchscreenMode) #adminWorkspaceShell,
  body.responsiveWorkspaceV795io:not(.touchscreenMode) #viewerWorkspaceShell,
  body.responsiveWorkspaceV795io.publicDirectoryMode:not(.touchscreenMode) #publicDirectoryShell{
    transform-origin:50% 100%!important;
    will-change:transform,opacity!important;
    transition:
      transform var(--expo-planit-panel-motion-duration) var(--expo-planit-panel-motion-ease),
      opacity var(--expo-planit-panel-fade-duration) ease-out,
      visibility 0s linear 0s!important;
  }

  body.responsiveWorkspaceV795io.responsiveWorkspacePanelCollapsed:not(.touchscreenMode) #adminWorkspaceShell,
  body.responsiveWorkspaceV795io.responsiveWorkspacePanelCollapsed:not(.touchscreenMode) #viewerWorkspaceShell,
  body.responsiveWorkspaceV795io.responsiveWorkspacePanelCollapsed.publicDirectoryMode:not(.touchscreenMode) #publicDirectoryShell{
    transition-delay:0ms,0ms,var(--expo-planit-panel-motion-duration)!important;
  }

  body.responsiveWorkspaceV795io:not(.responsiveWorkspacePanelCollapsed):not(.touchscreenMode) #adminWorkspaceShell,
  body.responsiveWorkspaceV795io:not(.responsiveWorkspacePanelCollapsed):not(.touchscreenMode) #viewerWorkspaceShell,
  body.responsiveWorkspaceV795io:not(.responsiveWorkspacePanelCollapsed).publicDirectoryMode:not(.touchscreenMode) #publicDirectoryShell{
    transition-delay:0ms,48ms,0ms!important;
  }
}

/* Public/Exhibitor/Touchscreen exhibitor information overlay. */
.publicInfoOverlay{
  opacity:0;
  transition:opacity 180ms ease-out!important;
}
.publicInfoOverlay .publicInfoDialog{
  opacity:.35;
  transform:translate3d(0,18px,0) scale(.985);
  transform-origin:50% 100%;
  transition:
    transform 220ms var(--expo-planit-panel-motion-ease),
    opacity 165ms ease-out!important;
  will-change:transform,opacity;
}
.publicInfoOverlay.is-open{
  opacity:1;
}
.publicInfoOverlay.is-open .publicInfoDialog{
  opacity:1;
  transform:translate3d(0,0,0) scale(1);
}
.publicInfoOverlay.is-closing{
  pointer-events:none!important;
}

@media (prefers-reduced-motion:reduce){
  .workspaceTabsShell > .workspacePanel.workspacePanelActive,
  body.publicDirectoryMode #publicDirectoryShell > .publicDirectoryPanelActive,
  body.touchscreenMode #standsCard.touchscreenPanelActive,
  body.touchscreenMode #keyCard.touchscreenPanelActive{
    animation:none!important;
  }
  body.responsiveWorkspaceV795io:not(.touchscreenMode) main,
  body.responsiveWorkspaceV795io:not(.touchscreenMode) #adminWorkspaceShell,
  body.responsiveWorkspaceV795io:not(.touchscreenMode) #viewerWorkspaceShell,
  body.responsiveWorkspaceV795io.publicDirectoryMode:not(.touchscreenMode) #publicDirectoryShell,
  .publicInfoOverlay,
  .publicInfoOverlay .publicInfoDialog{
    transition:none!important;
  }
}
