<Application xmlns="https://github.com/avaloniaui"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             x:Class="PhotoboothUploader.App"
             RequestedThemeVariant="Default">
             <!-- "Default" ThemeVariant follows system theme variant. "Dark" or "Light" are other available options. -->

    <Application.Styles>
        <FluentTheme />
        <Style>
            <Style.Resources>
                <Color x:Key="BrandRose">#FFB6C1</Color>
                <Color x:Key="BrandRoseStrong">#FF69B4</Color>
                <Color x:Key="BrandRoseSoft">#FFE5EC</Color>
                <Color x:Key="BrandGold">#FFD700</Color>
                <Color x:Key="BrandSky">#87CEEB</Color>
                <Color x:Key="BrandSkySoft">#E0F5FF</Color>
                <Color x:Key="BrandNavy">#0F4C75</Color>
                <Color x:Key="BrandSlate">#1F2937</Color>
                <Color x:Key="BrandCream">#FFF8F5</Color>

                <SolidColorBrush x:Key="TextPrimaryBrush" Color="{DynamicResource BrandSlate}" />
                <SolidColorBrush x:Key="TextMutedBrush" Color="#6B7280" />
                <SolidColorBrush x:Key="CardBorderBrush" Color="{DynamicResource BrandRoseSoft}" />
                <SolidColorBrush x:Key="CardBackgroundBrush" Color="#FFFFFF" />
                <SolidColorBrush x:Key="AccentBackgroundBrush" Color="{DynamicResource BrandSkySoft}" />
                <SolidColorBrush x:Key="InputBorderBrush" Color="{DynamicResource BrandRoseSoft}" />
                <SolidColorBrush x:Key="InputBackgroundBrush" Color="#FFFFFF" />
                <SolidColorBrush x:Key="PrimaryButtonBrush" Color="{DynamicResource BrandRoseStrong}" />
                <SolidColorBrush x:Key="PrimaryButtonTextBrush" Color="#FFFFFF" />
                <SolidColorBrush x:Key="SecondaryButtonBrush" Color="{DynamicResource BrandSky}" />
                <SolidColorBrush x:Key="SecondaryButtonTextBrush" Color="{DynamicResource BrandNavy}" />

                <LinearGradientBrush x:Key="WindowBackgroundBrush" StartPoint="0,0" EndPoint="1,1">
                    <GradientStop Color="{DynamicResource BrandCream}" Offset="0" />
                    <GradientStop Color="{DynamicResource BrandRoseSoft}" Offset="0.5" />
                    <GradientStop Color="{DynamicResource BrandSkySoft}" Offset="1" />
                </LinearGradientBrush>
            </Style.Resources>
        </Style>

        <Style Selector="Window">
            <Setter Property="Background" Value="{DynamicResource WindowBackgroundBrush}" />
            <Setter Property="FontFamily" Value="Inter" />
            <Setter Property="Foreground" Value="{DynamicResource TextPrimaryBrush}" />
        </Style>

        <Style Selector="TextBlock.title">
            <Setter Property="FontSize" Value="20" />
            <Setter Property="FontWeight" Value="SemiBold" />
        </Style>

        <Style Selector="TextBlock.subtitle">
            <Setter Property="FontSize" Value="12" />
            <Setter Property="Foreground" Value="{DynamicResource TextMutedBrush}" />
        </Style>

        <Style Selector="Border.card">
            <Setter Property="Background" Value="{DynamicResource CardBackgroundBrush}" />
            <Setter Property="BorderBrush" Value="{DynamicResource CardBorderBrush}" />
            <Setter Property="BorderThickness" Value="1" />
            <Setter Property="CornerRadius" Value="12" />
        </Style>

        <Style Selector="Border.card.accent">
            <Setter Property="Background" Value="{DynamicResource AccentBackgroundBrush}" />
        </Style>

        <Style Selector="TextBox">
            <Setter Property="BorderBrush" Value="{DynamicResource InputBorderBrush}" />
            <Setter Property="Background" Value="{DynamicResource InputBackgroundBrush}" />
            <Setter Property="CornerRadius" Value="8" />
            <Setter Property="Padding" Value="10,8" />
        </Style>

        <Style Selector="Button">
            <Setter Property="CornerRadius" Value="8" />
            <Setter Property="Padding" Value="12,8" />
        </Style>

        <Style Selector="Button.primary">
            <Setter Property="Background" Value="{DynamicResource PrimaryButtonBrush}" />
            <Setter Property="Foreground" Value="{DynamicResource PrimaryButtonTextBrush}" />
        </Style>

        <Style Selector="Button.secondary">
            <Setter Property="Background" Value="{DynamicResource SecondaryButtonBrush}" />
            <Setter Property="Foreground" Value="{DynamicResource SecondaryButtonTextBrush}" />
        </Style>

        <Style Selector="Button.cta">
            <Setter Property="FontSize" Value="16" />
            <Setter Property="FontWeight" Value="SemiBold" />
            <Setter Property="Padding" Value="18,12" />
        </Style>
    </Application.Styles>
</Application>
