<UserControl x:Class="NexusShell.Controls.NexusBottomDock"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:converters="clr-namespace:NexusShell.Converters"
             x:Name="DockRoot"
             HorizontalAlignment="Stretch">
    <UserControl.Resources>
        <converters:DockActiveConverter x:Key="DockActive"/>
        <Duration x:Key="DockHoverDuration">0:0:0.18</Duration>
        <CubicEase x:Key="DockEase" EasingMode="EaseInOut"/>

        <!-- Base Win11-height silhouette -->
        <PathGeometry x:Key="NexusUnifiedDockShape"
                      Figures="M 0,48 C 3,48 30,46 59,0 L 1861,0 C 1890,46 1917,48 1920,48 Z"/>
        <PathGeometry x:Key="NexusDockTopSilhouette"
                      Figures="M 0,48 C 3,48 30,46 59,0 L 1861,0 C 1890,46 1917,48 1920,48"/>
        <!-- Icon shelf — same profile, taller, width matches icon row only -->
        <PathGeometry x:Key="NexusIconShelfShape"
                      Figures="M 0,68 C 3,68 30,65 59,0 L 605,0 C 634,65 661,68 664,68 Z"/>
        <PathGeometry x:Key="NexusIconShelfTopSilhouette"
                      Figures="M 0,68 C 3,68 30,65 59,0 L 605,0 C 634,65 661,68 664,68"/>

        <Style x:Key="NexusDockSpecIconStyle" TargetType="Button">
            <Setter Property="Background" Value="Transparent"/>
            <Setter Property="BorderThickness" Value="0"/>
            <Setter Property="Cursor" Value="Hand"/>
            <Setter Property="Padding" Value="0"/>
            <Setter Property="Width" Value="54"/>
            <Setter Property="Height" Value="54"/>
            <Setter Property="HorizontalAlignment" Value="Center"/>
            <Setter Property="VerticalAlignment" Value="Center"/>
            <Setter Property="Panel.ZIndex" Value="1"/>
            <Setter Property="RenderTransformOrigin" Value="0.5,0.85"/>
            <Setter Property="Opacity" Value="0"/>
            <Setter Property="RenderTransform">
                <Setter.Value>
                    <TransformGroup>
                        <ScaleTransform ScaleX="0.6" ScaleY="0.6"/>
                        <TranslateTransform Y="0"/>
                    </TransformGroup>
                </Setter.Value>
            </Setter>
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="Button">
                        <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
            <Style.Triggers>
                <Trigger Property="IsMouseOver" Value="True">
                    <Setter Property="Panel.ZIndex" Value="120"/>
                    <Trigger.EnterActions>
                        <BeginStoryboard>
                            <Storyboard>
                                <DoubleAnimation Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)"
                                                 To="1.26" Duration="{StaticResource DockHoverDuration}" EasingFunction="{StaticResource DockEase}"/>
                                <DoubleAnimation Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)"
                                                 To="1.26" Duration="{StaticResource DockHoverDuration}" EasingFunction="{StaticResource DockEase}"/>
                                <DoubleAnimation Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[1].(TranslateTransform.Y)"
                                                 To="-12" Duration="{StaticResource DockHoverDuration}" EasingFunction="{StaticResource DockEase}"/>
                            </Storyboard>
                        </BeginStoryboard>
                    </Trigger.EnterActions>
                    <Trigger.ExitActions>
                        <BeginStoryboard>
                            <Storyboard>
                                <DoubleAnimation Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)" To="1" Duration="{StaticResource DockHoverDuration}"/>
                                <DoubleAnimation Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)" To="1" Duration="{StaticResource DockHoverDuration}"/>
                                <DoubleAnimation Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[1].(TranslateTransform.Y)" To="0" Duration="{StaticResource DockHoverDuration}"/>
                            </Storyboard>
                        </BeginStoryboard>
                    </Trigger.ExitActions>
                </Trigger>
            </Style.Triggers>
        </Style>
    </UserControl.Resources>

        <!-- Full-width premium dock — reference glass, glow, shadow -->
        <Grid Margin="0,0,0,0" ClipToBounds="False" VerticalAlignment="Bottom"
              Height="84" HorizontalAlignment="Stretch" RenderTransformOrigin="0.5,1" Opacity="0">
            <Grid.RenderTransform>
                <TransformGroup>
                    <ScaleTransform/>
                    <TranslateTransform Y="8"/>
                </TransformGroup>
            </Grid.RenderTransform>
            <Grid.Triggers>
                <EventTrigger RoutedEvent="Loaded">
                    <BeginStoryboard Storyboard="{StaticResource NexusDockRiseStoryboard}"/>
                </EventTrigger>
            </Grid.Triggers>

            <!-- Drop shadow under dock -->
            <Viewbox Stretch="Fill" VerticalAlignment="Bottom" Height="48" Margin="0,0,0,-2" IsHitTestVisible="False">
                <Canvas Width="1920" Height="48">
                    <Path Fill="{DynamicResource NexusShellDockShadowBrush}" Data="{StaticResource NexusUnifiedDockShape}" Opacity="0.55">
                        <Path.RenderTransform>
                            <TranslateTransform Y="4"/>
                        </Path.RenderTransform>
                        <Path.Effect>
                            <BlurEffect Radius="14"/>
                        </Path.Effect>
                    </Path>
                </Canvas>
            </Viewbox>

            <!-- Outer ambient glow -->
            <Viewbox Stretch="Fill" VerticalAlignment="Bottom" Height="48" IsHitTestVisible="False">
                <Canvas Width="1920" Height="48">
                    <Path Opacity="0.22" Fill="{DynamicResource NexusShellDockAmbientGlowPurpleBrush}" Data="{StaticResource NexusUnifiedDockShape}">
                        <Path.Effect>
                            <BlurEffect Radius="28"/>
                        </Path.Effect>
                    </Path>
                    <Path Opacity="0.18" Fill="{DynamicResource NexusShellDockAmbientGlowCyanBrush}" Data="{StaticResource NexusUnifiedDockShape}">
                        <Path.Effect>
                            <BlurEffect Radius="32"/>
                        </Path.Effect>
                    </Path>
                </Canvas>
            </Viewbox>

            <!-- Floor glow -->
            <Border Height="16" VerticalAlignment="Bottom" Opacity="0.38" IsHitTestVisible="False">
                <Border.Triggers>
                    <EventTrigger RoutedEvent="Loaded">
                        <BeginStoryboard Storyboard="{StaticResource NexusDockFloorBreathStoryboard}"/>
                    </EventTrigger>
                </Border.Triggers>
                <Border.Background>
                    <DynamicResource ResourceKey="NexusShellDockFloorGlowBrush"/>
                </Border.Background>
                <Border.Effect>
                    <BlurEffect Radius="42"/>
                </Border.Effect>
            </Border>

            <!-- Dock body -->
            <Viewbox Stretch="Fill" VerticalAlignment="Bottom" Height="48">
                <Grid Width="1920" Height="48" ClipToBounds="True">
                    <Grid.Clip>
                        <StaticResource ResourceKey="NexusUnifiedDockShape"/>
                    </Grid.Clip>

                    <Path Fill="{DynamicResource NexusDockGlassFillGradient}" Data="{StaticResource NexusUnifiedDockShape}"/>
                    <Path IsHitTestVisible="False" Opacity="0.65" Data="{StaticResource NexusUnifiedDockShape}">
                        <Path.Fill>
                            <DynamicResource ResourceKey="NexusDockInnerShadowGradient"/>
                        </Path.Fill>
                    </Path>
                    <Path IsHitTestVisible="False" Opacity="0.5" Data="{StaticResource NexusUnifiedDockShape}">
                        <Path.Fill>
                            <DynamicResource ResourceKey="NexusDockWingVignetteGradient"/>
                        </Path.Fill>
                    </Path>
                    <Path IsHitTestVisible="False" Opacity="0.4" Data="{StaticResource NexusUnifiedDockShape}">
                        <Path.Fill>
                            <LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
                                <GradientStop Color="#66000000" Offset="0"/>
                                <GradientStop Color="#00000000" Offset="0.5"/>
                            </LinearGradientBrush>
                        </Path.Fill>
                    </Path>
                    <Path IsHitTestVisible="False" Opacity="0.85" Data="{StaticResource NexusUnifiedDockShape}">
                        <Path.Fill>
                            <LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,0.45">
                                <GradientStop Color="#1AFFFFFF" Offset="0"/>
                                <GradientStop Color="#00FFFFFF" Offset="1"/>
                            </LinearGradientBrush>
                        </Path.Fill>
                    </Path>
                    <Path IsHitTestVisible="False" Opacity="0.35" Data="{StaticResource NexusUnifiedDockShape}">
                        <Path.Fill>
                            <DynamicResource ResourceKey="NexusDockSheenGradient"/>
                        </Path.Fill>
                    </Path>
                    <!-- Bottom neon -->
                    <Path IsHitTestVisible="False" Opacity="0.9"
                          Data="M 63,46 L 1857,46"
                          StrokeThickness="1.5" StrokeStartLineCap="Round" StrokeEndLineCap="Round">
                        <Path.Stroke>
                            <DynamicResource ResourceKey="NexusDockRimGradient"/>
                        </Path.Stroke>
                        <Path.Effect>
                            <BlurEffect Radius="3"/>
                        </Path.Effect>
                    </Path>
                    <!-- Top silhouette rim — one continuous line over wings + plateau -->
                    <Path IsHitTestVisible="False" Opacity="0.92"
                          Data="{StaticResource NexusDockTopSilhouette}"
                          Stroke="{DynamicResource NexusDockRimGradient}"
                          StrokeThickness="1.6" StrokeLineJoin="Round"
                          StrokeStartLineCap="Round" StrokeEndLineCap="Round">
                        <Path.Effect>
                            <DropShadowEffect Color="#00D9FF" BlurRadius="12" ShadowDepth="0" Opacity="0.7"/>
                        </Path.Effect>
                    </Path>
                    <!-- Gradient rim -->
                    <Path Stroke="{DynamicResource NexusDockRimGradient}" StrokeThickness="1.4"
                          StrokeLineJoin="Round" StrokeStartLineCap="Round" StrokeEndLineCap="Round"
                          Fill="Transparent" Data="{StaticResource NexusUnifiedDockShape}">
                        <Path.Effect>
                            <DropShadowEffect Color="#00D9FF" BlurRadius="10" ShadowDepth="0" Opacity="0.55"/>
                        </Path.Effect>
                    </Path>
                    <Path Stroke="#18FFFFFF" StrokeThickness="0.6" StrokeLineJoin="Round"
                          Fill="Transparent"
                          Data="{StaticResource NexusUnifiedDockShape}" Opacity="0.35"/>

                    <!-- Base band: profile + tray only (Win11 height) -->
                    <Grid ClipToBounds="True" Height="48" VerticalAlignment="Bottom">
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="300"/>
                            <ColumnDefinition Width="*"/>
                            <ColumnDefinition Width="300"/>
                        </Grid.ColumnDefinitions>

                        <!-- Subtle straight zone dividers -->
                        <Border Grid.Column="0" HorizontalAlignment="Right" Width="1" Height="34"
                                VerticalAlignment="Center"
                                Background="{DynamicResource NexusDockZoneDividerBrush}"/>

                        <!-- Profile -->
                        <StackPanel Grid.Column="0" Orientation="Horizontal"
                                    VerticalAlignment="Center" HorizontalAlignment="Left"
                                    Margin="68,0,6,0">
                            <Grid Width="28" Height="28" Margin="0,0,6,0">
                                <Border Width="28" Height="28" CornerRadius="14" ClipToBounds="True"
                                        BorderBrush="{DynamicResource NexusShellDockProfileRingBrush}" BorderThickness="1">
                                    <Image Source="{Binding UserAvatarUri}" Stretch="UniformToFill"
                                           RenderOptions.BitmapScalingMode="HighQuality"/>
                                </Border>
                                <Ellipse Width="6" Height="6" Fill="#22C55E" HorizontalAlignment="Right"
                                         VerticalAlignment="Bottom" Margin="0,0,1,1"
                                         Stroke="{DynamicResource NexusShellDockOnlineRingBrush}" StrokeThickness="1"
                                         RenderTransformOrigin="0.5,0.5">
                                    <Ellipse.RenderTransform>
                                        <ScaleTransform ScaleX="1" ScaleY="1"/>
                                    </Ellipse.RenderTransform>
                                    <Ellipse.Triggers>
                                        <EventTrigger RoutedEvent="Loaded">
                                            <BeginStoryboard Storyboard="{StaticResource NexusOnlinePulseStoryboard}"/>
                                        </EventTrigger>
                                    </Ellipse.Triggers>
                                </Ellipse>
                            </Grid>
                            <StackPanel VerticalAlignment="Center">
                                <TextBlock Text="{Binding UserDisplayName}" FontSize="13" FontWeight="SemiBold"
                                           Foreground="{DynamicResource NexusShellDockTextPrimaryBrush}"
                                           TextTrimming="CharacterEllipsis" MaxWidth="130"/>
                                <TextBlock Text="{Binding UserRole}" FontSize="10" Margin="0,0,0,0"
                                           Foreground="{DynamicResource NexusShellDockTextSecondaryBrush}" Opacity="0.75"/>
                            </StackPanel>
                        </StackPanel>

                        <!-- Tray -->
                        <Grid Grid.Column="2" VerticalAlignment="Center" Margin="6,0,68,0">
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="*"/>
                                <ColumnDefinition Width="Auto"/>
                                <ColumnDefinition Width="Auto"/>
                            </Grid.ColumnDefinitions>
                            <StackPanel Grid.Column="0" Orientation="Horizontal" VerticalAlignment="Center"
                                        HorizontalAlignment="Right" Margin="0,0,4,0">
                                <Viewbox Width="14" Height="14" Margin="0,0,8,0" Opacity="0.92">
                                    <Path Data="M8,12 L12,8 L16,12" Stroke="{DynamicResource NexusShellIconBrush}" StrokeThickness="1.8"
                                          StrokeStartLineCap="Round" StrokeEndLineCap="Round" Fill="Transparent"/>
                                </Viewbox>
                                <Viewbox Width="14" Height="14" Margin="0,0,8,0" Opacity="0.92">
                                    <Path Data="M10,16 C6,14 3,11 3,8 C3,5 6,2 10,2 C14,2 17,5 17,8 C17,11 14,14 10,16 Z M10,14 C12.8,14 15,11.8 15,9 L5,9 C5,11.8 7.2,14 10,14 Z"
                                          Fill="{DynamicResource NexusShellIconBrush}"/>
                                </Viewbox>
                                <Viewbox Width="14" Height="14" Margin="0,0,8,0" Opacity="0.92">
                                    <Path Data="M3,10 L3,8 C3,5 6,3 10,3 C14,3 17,5 17,8 L17,10 M6,10 L6,13 L14,13 L14,10"
                                          Stroke="{DynamicResource NexusShellIconBrush}" StrokeThickness="1.4" Fill="Transparent"
                                          StrokeStartLineCap="Round" StrokeEndLineCap="Round"/>
                                </Viewbox>
                                <Viewbox Width="14" Height="14" Margin="0,0,0,0" Opacity="0.92">
                                    <Grid Width="20" Height="12">
                                        <Rectangle Width="18" Height="10" RadiusX="2" RadiusY="2"
                                                   Stroke="{DynamicResource NexusShellIconBrush}" StrokeThickness="1.2" Fill="Transparent"/>
                                        <Rectangle Width="13" Height="6" RadiusX="1" RadiusY="1"
                                                   Fill="{DynamicResource NexusShellIconBrush}" Margin="2,2,0,0"/>
                                    </Grid>
                                </Viewbox>
                            </StackPanel>
                            <Border Grid.Column="1" Width="1" Height="28" Margin="6,0,6,0"
                                    VerticalAlignment="Center" Background="{DynamicResource NexusDockZoneDividerBrush}"/>
                            <StackPanel Grid.Column="2" VerticalAlignment="Center" MinWidth="64">
                                <TextBlock Text="{Binding ClockText}" FontSize="14" FontWeight="SemiBold"
                                           Foreground="{DynamicResource NexusShellDockTextPrimaryBrush}" HorizontalAlignment="Right"/>
                                <TextBlock Text="{Binding DockDateText}" FontSize="10" Margin="0,0,0,0"
                                           Foreground="{DynamicResource NexusShellDockTextSecondaryBrush}"
                                           Opacity="0.75" HorizontalAlignment="Right"/>
                            </StackPanel>
                        </Grid>
                    </Grid>
                </Grid>
            </Viewbox>

            <!-- Icon shelf + icons — screen-centered -->
            <Grid VerticalAlignment="Bottom" Height="80" ClipToBounds="False"
                  HorizontalAlignment="Stretch">
                <Grid HorizontalAlignment="Center" VerticalAlignment="Bottom"
                      Width="664" Height="68" ClipToBounds="False">
                    <!-- Elevated glass shelf (icon-length only) -->
                    <Viewbox Width="664" Height="68" Stretch="None"
                             HorizontalAlignment="Center" VerticalAlignment="Bottom"
                             IsHitTestVisible="False">
                        <Grid Width="664" Height="68" ClipToBounds="True">
                            <Grid.Clip>
                                <StaticResource ResourceKey="NexusIconShelfShape"/>
                            </Grid.Clip>
                        <Path Fill="{DynamicResource NexusShellDockShelfShadowBrush}" Data="{StaticResource NexusIconShelfShape}" Opacity="0.4">
                            <Path.RenderTransform>
                                <TranslateTransform Y="2"/>
                            </Path.RenderTransform>
                            <Path.Effect>
                                <BlurEffect Radius="6"/>
                            </Path.Effect>
                        </Path>
                        <Path Fill="{DynamicResource NexusDockElevatedGlassFillGradient}" Data="{StaticResource NexusIconShelfShape}"/>
                        <Path IsHitTestVisible="False" Opacity="0.5" Data="{StaticResource NexusIconShelfShape}">
                            <Path.Fill>
                                <DynamicResource ResourceKey="NexusDockInnerShadowGradient"/>
                            </Path.Fill>
                        </Path>
                        <Path IsHitTestVisible="False" Opacity="0.8" Data="{StaticResource NexusIconShelfShape}">
                            <Path.Fill>
                                <LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,0.42">
                                    <GradientStop Color="#28FFFFFF" Offset="0"/>
                                    <GradientStop Color="#00FFFFFF" Offset="1"/>
                                </LinearGradientBrush>
                            </Path.Fill>
                        </Path>
                        <Path IsHitTestVisible="False" Opacity="0.35" Data="{StaticResource NexusIconShelfShape}">
                            <Path.Fill>
                                <DynamicResource ResourceKey="NexusDockSheenGradient"/>
                            </Path.Fill>
                        </Path>
                        <Path IsHitTestVisible="False" Opacity="0.9"
                              Data="M 63,66 L 601,66"
                              StrokeThickness="1.2" StrokeStartLineCap="Round" StrokeEndLineCap="Round">
                            <Path.Stroke>
                                <DynamicResource ResourceKey="NexusDockRimGradient"/>
                            </Path.Stroke>
                            <Path.Effect>
                                <BlurEffect Radius="2"/>
                            </Path.Effect>
                        </Path>
                        <Path Stroke="{DynamicResource NexusDockRimGradient}" StrokeThickness="1.2"
                          StrokeLineJoin="Round" Fill="Transparent"
                          Data="{StaticResource NexusIconShelfShape}" Opacity="0.85"/>
                        </Grid>
                    </Viewbox>

                    <Canvas Width="664" Height="68" VerticalAlignment="Bottom" IsHitTestVisible="False">
                        <Path Data="{StaticResource NexusIconShelfTopSilhouette}"
                              Stroke="{DynamicResource NexusDockRimGradient}"
                              StrokeThickness="1.5" StrokeLineJoin="Round"
                              StrokeStartLineCap="Round" StrokeEndLineCap="Round" Opacity="0.95">
                            <Path.Effect>
                                <DropShadowEffect Color="#00D9FF" BlurRadius="12" ShadowDepth="0" Opacity="0.75"/>
                            </Path.Effect>
                        </Path>
                    </Canvas>

                    <ItemsControl x:Name="DockIcons"
                                  Width="664"
                                  ItemsSource="{Binding DockItems}"
                                  AlternationCount="16"
                                  HorizontalAlignment="Center" VerticalAlignment="Center"
                                  Margin="0,2,0,0"
                                  ClipToBounds="False">
                    <ItemsControl.ItemsPanel>
                        <ItemsPanelTemplate>
                            <StackPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center"/>
                        </ItemsPanelTemplate>
                    </ItemsControl.ItemsPanel>
                    <ItemsControl.ItemContainerStyle>
                        <Style TargetType="ContentPresenter">
                            <Setter Property="Margin" Value="7,0"/>
                            <Setter Property="VerticalAlignment" Value="Center"/>
                        </Style>
                    </ItemsControl.ItemContainerStyle>
                    <ItemsControl.ItemTemplate>
                        <DataTemplate>
                            <Button Style="{StaticResource NexusDockSpecIconStyle}"
                                    Command="{Binding DataContext.DockItemCommand, ElementName=DockRoot}"
                                    CommandParameter="{Binding Label}">
                                <Grid Width="54" Height="54" ClipToBounds="False">
                                    <Border VerticalAlignment="Center" HorizontalAlignment="Center"
                                            Width="72" Height="22" CornerRadius="12" Opacity="0" IsHitTestVisible="False">
                                        <Border.Style>
                                            <Style TargetType="Border">
                                                <Setter Property="Visibility" Value="Collapsed"/>
                                                <Style.Triggers>
                                                    <DataTrigger Binding="{Binding IsPrimary}" Value="True">
                                                        <Setter Property="Visibility" Value="Visible"/>
                                                    </DataTrigger>
                                                </Style.Triggers>
                                            </Style>
                                        </Border.Style>
                                        <Border.Background>
                                            <RadialGradientBrush GradientOrigin="0.5,1" Center="0.5,1" RadiusX="0.9" RadiusY="1">
                                                <GradientStop Color="#A000D9FF" Offset="0"/>
                                                <GradientStop Color="#0000D9FF" Offset="1"/>
                                            </RadialGradientBrush>
                                        </Border.Background>
                                        <Border.Triggers>
                                            <EventTrigger RoutedEvent="Loaded">
                                                <BeginStoryboard Storyboard="{StaticResource NexusDockPrimaryGlowPulseStoryboard}"/>
                                            </EventTrigger>
                                        </Border.Triggers>
                                        <Border.Effect>
                                            <BlurEffect Radius="28"/>
                                        </Border.Effect>
                                    </Border>
                                    <Border VerticalAlignment="Center" HorizontalAlignment="Center">
                                        <Border.Style>
                                            <Style TargetType="Border" BasedOn="{StaticResource NexusDockGlassTileStyle}">
                                                <Style.Triggers>
                                                    <DataTrigger Binding="{Binding IsPrimary}" Value="True">
                                                        <Setter Property="Width" Value="54"/>
                                                        <Setter Property="Height" Value="54"/>
                                                        <Setter Property="CornerRadius" Value="15"/>
                                                        <Setter Property="Background">
                                                            <Setter.Value>
                                                                <LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
                                                                    <GradientStop Color="#8A4FFF" Offset="0"/>
                                                                    <GradientStop Color="#00D9FF" Offset="1"/>
                                                                </LinearGradientBrush>
                                                            </Setter.Value>
                                                        </Setter>
                                                        <Setter Property="BorderBrush" Value="#8800D9FF"/>
                                                        <Setter Property="Effect">
                                                            <Setter.Value>
                                                                <DropShadowEffect Color="#00D9FF" BlurRadius="28" ShadowDepth="0" Opacity="0.65"/>
                                                            </Setter.Value>
                                                        </Setter>
                                                    </DataTrigger>
                                                    <DataTrigger Value="True">
                                                        <DataTrigger.Binding>
                                                            <MultiBinding Converter="{StaticResource DockActive}">
                                                                <Binding Path="Label"/>
                                                                <Binding Path="DataContext.ActiveDockLabel" ElementName="DockRoot"/>
                                                            </MultiBinding>
                                                        </DataTrigger.Binding>
                                                        <Setter Property="BorderBrush" Value="#8800D9FF"/>
                                                        <Setter Property="Background" Value="#2200D9FF"/>
                                                        <Setter Property="Effect">
                                                            <Setter.Value>
                                                                <DropShadowEffect Color="#8A4FFF" BlurRadius="20" ShadowDepth="0" Opacity="0.5"/>
                                                            </Setter.Value>
                                                        </Setter>
                                                    </DataTrigger>
                                                    <DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorType=Button}, Path=IsMouseOver}" Value="True">
                                                        <Setter Property="Effect">
                                                            <Setter.Value>
                                                                <DropShadowEffect Color="#00D9FF" BlurRadius="22" ShadowDepth="4" Direction="270" Opacity="0.85"/>
                                                            </Setter.Value>
                                                        </Setter>
                                                    </DataTrigger>
                                                </Style.Triggers>
                                            </Style>
                                        </Border.Style>
                                        <ContentControl DataContext="{Binding}" Style="{StaticResource NexusDockIconVisualStyle}"/>
                                    </Border>
                                </Grid>
                            </Button>
                        </DataTemplate>
                    </ItemsControl.ItemTemplate>
                </ItemsControl>
                </Grid>
            </Grid>
        </Grid>
</UserControl>
