<?xml version="1.0" encoding="utf-8" ?>
<ResourceDictionary xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
                    xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml">

    <!-- ==================== FONT FAMILIES ==================== -->
    <!-- EN: Font family definitions (cross-platform) -->
    <!-- VI: Định nghĩa font family (đa nền tảng) -->
    <OnPlatform x:Key="FontFamilyRegular" x:TypeArguments="x:String">
        <On Platform="Android, iOS" Value="OpenSansRegular" />
        <On Platform="WinUI" Value="Assets/Fonts/OpenSans-Regular.ttf#Open Sans" />
    </OnPlatform>
    
    <OnPlatform x:Key="FontFamilySemiBold" x:TypeArguments="x:String">
        <On Platform="Android, iOS" Value="OpenSansSemibold" />
        <On Platform="WinUI" Value="Assets/Fonts/OpenSans-Semibold.ttf#Open Sans" />
    </OnPlatform>
    
    <!-- ==================== FONT SIZES (Scalable) ==================== -->
    <!-- EN: Typography scale based on 16px base -->
    <!-- VI: Thang typography dựa trên base 16px -->
    <x:Double x:Key="FontSizeCaption">12</x:Double>
    <x:Double x:Key="FontSizeBody">16</x:Double>
    <x:Double x:Key="FontSizeSubtitle">18</x:Double>
    <x:Double x:Key="FontSizeTitle">24</x:Double>
    <x:Double x:Key="FontSizeHeadline">32</x:Double>
    <x:Double x:Key="FontSizeDisplay">48</x:Double>
    
    <!-- ==================== TEXT STYLES ==================== -->
    <!-- EN: Pre-defined text styles with AppThemeBinding for colors -->
    <!-- VI: Các text style định sẵn với AppThemeBinding cho màu sắc -->
    
    <Style x:Key="TextCaption" TargetType="Label">
        <Setter Property="FontFamily" Value="{StaticResource FontFamilyRegular}" />
        <Setter Property="FontSize" Value="{StaticResource FontSizeCaption}" />
        <Setter Property="TextColor" Value="{AppThemeBinding Light={StaticResource TextSecondaryLight}, Dark={StaticResource TextSecondaryDark}}" />
    </Style>
    
    <Style x:Key="TextBody" TargetType="Label">
        <Setter Property="FontFamily" Value="{StaticResource FontFamilyRegular}" />
        <Setter Property="FontSize" Value="{StaticResource FontSizeBody}" />
        <Setter Property="TextColor" Value="{AppThemeBinding Light={StaticResource TextPrimaryLight}, Dark={StaticResource TextPrimaryDark}}" />
    </Style>
    
    <Style x:Key="TextSubtitle" TargetType="Label">
        <Setter Property="FontFamily" Value="{StaticResource FontFamilySemiBold}" />
        <Setter Property="FontSize" Value="{StaticResource FontSizeSubtitle}" />
        <Setter Property="TextColor" Value="{AppThemeBinding Light={StaticResource TextPrimaryLight}, Dark={StaticResource TextPrimaryDark}}" />
    </Style>
    
    <Style x:Key="TextTitle" TargetType="Label">
        <Setter Property="FontFamily" Value="{StaticResource FontFamilySemiBold}" />
        <Setter Property="FontSize" Value="{StaticResource FontSizeTitle}" />
        <Setter Property="TextColor" Value="{AppThemeBinding Light={StaticResource TextPrimaryLight}, Dark={StaticResource TextPrimaryDark}}" />
    </Style>
    
    <Style x:Key="TextHeadline" TargetType="Label">
        <Setter Property="FontFamily" Value="{StaticResource FontFamilySemiBold}" />
        <Setter Property="FontSize" Value="{StaticResource FontSizeHeadline}" />
        <Setter Property="TextColor" Value="{AppThemeBinding Light={StaticResource TextPrimaryLight}, Dark={StaticResource TextPrimaryDark}}" />
        <Setter Property="SemanticProperties.HeadingLevel" Value="Level1" />
    </Style>

</ResourceDictionary>
