<?xml version="1.0"
      encoding="utf-8"?>

<Styles xmlns="https://github.com/avaloniaui"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <Styles.Resources>
        <!-- Global override brushes -->
        <SolidColorBrush x:Key="ThemeBackgroundBrush"
                         Color="{DynamicResource CyberBlack}" />
        <SolidColorBrush x:Key="ThemeForegroundBrush"
                         Color="{DynamicResource CyberTextPrimary}" />
        <SolidColorBrush x:Key="ThemeBorderHighBrush"
                         Color="{DynamicResource CyberNeonCyan}" />
        <SolidColorBrush x:Key="ThemeBorderLowBrush"
                         Color="{DynamicResource CyberNeonMagenta}" />
        <SolidColorBrush x:Key="ThemeAccentBrush"
                         Color="{DynamicResource CyberNeonMagenta}" />
        <SolidColorBrush x:Key="ThemeAccentForegroundBrush"
                         Color="{DynamicResource CyberBlack}" />
    </Styles.Resources>

    <Style Selector="Window">
        <Setter Property="Background"
                Value="{DynamicResource CyberBackgroundPrimaryBrush}" />
        <Setter Property="Foreground"
                Value="{DynamicResource CyberTextPrimaryBrush}" />
    </Style>

    <Style Selector="Panel">
        <Setter Property="Background"
                Value="{DynamicResource CyberBackgroundPrimaryBrush}" />
    </Style>

    <Style Selector="Border">
        <Setter Property="BorderBrush"
                Value="{DynamicResource CyberNeonCyanBrush}" />
        <Setter Property="BorderThickness"
                Value="1" />
    </Style>

    <Style Selector="TextBlock">
        <Setter Property="Foreground"
                Value="{DynamicResource CyberTextPrimaryBrush}" />
    </Style>

    <Style Selector="TextBlock.heading">
        <Setter Property="Foreground"
                Value="{DynamicResource CyberNeonMagentaBrush}" />
    </Style>
    <Style Selector="TextBlock.subheading">
        <Setter Property="Foreground"
                Value="{DynamicResource CyberNeonLimeBrush}" />
    </Style>

    <Style Selector="Button">
        <Setter Property="Background"
                Value="{DynamicResource CyberBackgroundTertiaryBrush}" />
        <Setter Property="Foreground"
                Value="{DynamicResource CyberNeonCyanBrush}" />
        <Setter Property="BorderBrush"
                Value="{DynamicResource CyberNeonMagentaBrush}" />
        <Setter Property="BorderThickness"
                Value="1" />
        <Setter Property="Padding"
                Value="2,0" />
    </Style>
    <Style Selector="Button:pointerover">
        <Setter Property="Foreground"
                Value="{DynamicResource CyberNeonMagentaBrush}" />
        <Setter Property="BorderBrush"
                Value="{DynamicResource CyberNeonCyanBrush}" />
    </Style>
    <Style Selector="Button:pressed">
        <Setter Property="Background"
                Value="{DynamicResource CyberDarkGray3}" />
        <Setter Property="Foreground"
                Value="{DynamicResource CyberNeonYellowBrush}" />
        <Setter Property="BorderBrush"
                Value="{DynamicResource CyberNeonYellowBrush}" />
    </Style>

    <Style Selector="TextBox">
        <Setter Property="Background"
                Value="{DynamicResource CyberBackgroundTertiaryBrush}" />
        <Setter Property="Foreground"
                Value="{DynamicResource CyberTextPrimaryBrush}" />
        <Setter Property="BorderBrush"
                Value="{DynamicResource CyberNeonCyanBrush}" />
        <Setter Property="BorderThickness"
                Value="1" />
    </Style>
    <Style Selector="TextBox:focus">
        <Setter Property="BorderBrush"
                Value="{DynamicResource CyberNeonMagentaBrush}" />
        <Setter Property="BorderThickness"
                Value="2" />
    </Style>

    <Style Selector="ListBoxItem:selected">
        <Setter Property="Background"
                Value="{DynamicResource CyberBackgroundSecondaryBrush}" />
        <Setter Property="Foreground"
                Value="{DynamicResource CyberNeonMagentaBrush}" />
        <Setter Property="BorderBrush"
                Value="{DynamicResource CyberNeonMagentaBrush}" />
        <Setter Property="BorderThickness"
                Value="1" />
    </Style>
    <Style Selector="ListBoxItem:pointerover">
        <Setter Property="Foreground"
                Value="{DynamicResource CyberNeonCyanBrush}" />
    </Style>

    <Style Selector="ProgressBar">
        <Setter Property="Foreground"
                Value="{DynamicResource CyberNeonLimeBrush}" />
        <Setter Property="Background"
                Value="{DynamicResource CyberBackgroundSecondaryBrush}" />
    </Style>

    <Style Selector="TextBlock.status-success">
        <Setter Property="Foreground"
                Value="{DynamicResource CyberTextSuccessBrush}" />
    </Style>
    <Style Selector="TextBlock.status-error">
        <Setter Property="Foreground"
                Value="{DynamicResource CyberTextDangerBrush}" />
    </Style>
    <Style Selector="TextBlock.status-warn">
        <Setter Property="Foreground"
                Value="{DynamicResource CyberTextWarningBrush}" />
    </Style>

    <!-- Container controls - force black backgrounds -->
    <Style Selector="DockPanel">
        <Setter Property="Background"
                Value="{DynamicResource CyberBackgroundPrimaryBrush}" />
    </Style>

    <Style Selector="Grid">
        <Setter Property="Background"
                Value="{DynamicResource CyberBackgroundPrimaryBrush}" />
    </Style>

    <Style Selector="StackPanel">
        <Setter Property="Background"
                Value="{DynamicResource CyberBackgroundPrimaryBrush}" />
    </Style>

    <Style Selector="ScrollViewer">
        <Setter Property="Background"
                Value="{DynamicResource CyberBackgroundPrimaryBrush}" />
    </Style>

    <Style Selector="ListBox">
        <Setter Property="Background"
                Value="{DynamicResource CyberBackgroundPrimaryBrush}" />
        <Setter Property="Foreground"
                Value="{DynamicResource CyberTextPrimaryBrush}" />
    </Style>

    <Style Selector="TreeView">
        <Setter Property="Background"
                Value="{DynamicResource CyberBackgroundPrimaryBrush}" />
        <Setter Property="Foreground"
                Value="{DynamicResource CyberTextPrimaryBrush}" />
    </Style>

    <Style Selector="Menu">
        <Setter Property="Background"
                Value="{DynamicResource CyberBackgroundPrimaryBrush}" />
        <Setter Property="Foreground"
                Value="{DynamicResource CyberTextPrimaryBrush}" />
    </Style>

    <Style Selector="MenuItem">
        <Setter Property="Background"
                Value="{DynamicResource CyberBackgroundPrimaryBrush}" />
        <Setter Property="Foreground"
                Value="{DynamicResource CyberTextPrimaryBrush}" />
    </Style>

    <Style Selector="MenuItem:selected">
        <Setter Property="Background"
                Value="{DynamicResource CyberBackgroundSecondaryBrush}" />
        <Setter Property="Foreground"
                Value="{DynamicResource CyberNeonMagentaBrush}" />
    </Style>

    <Style Selector="MenuItem:pointerover">
        <Setter Property="Background"
                Value="{DynamicResource CyberBackgroundTertiaryBrush}" />
        <Setter Property="Foreground"
                Value="{DynamicResource CyberNeonCyanBrush}" />
    </Style>

    <Style Selector="DataGrid">
        <Setter Property="Background"
                Value="{DynamicResource CyberBackgroundPrimaryBrush}" />
        <Setter Property="Foreground"
                Value="{DynamicResource CyberTextPrimaryBrush}" />
    </Style>

    <Style Selector="UserControl">
        <Setter Property="Background"
                Value="{DynamicResource CyberBackgroundPrimaryBrush}" />
    </Style>
</Styles>