import 'package:flutter/material.dart'; import 'app_colors.dart'; class AppTheme { static ThemeData get lightTheme { return ThemeData( useMaterial3: true, scaffoldBackgroundColor: AppColors.bgBase, primaryColor: AppColors.primaryIndigo, colorScheme: ColorScheme.fromSeed( seedColor: AppColors.primaryIndigo, primary: AppColors.primaryIndigo, secondary: AppColors.primaryPurple, surface: AppColors.bgBase, background: AppColors.bgBase, ), // We will rely on system fonts for now, to replicate 'Inter' look // we can adjust weights later. fontFamilyFallback: const [ 'Inter', 'Roboto', 'PingFang SC', 'Helvetica Neue', ], textTheme: const TextTheme( // h1 / Large Headings displayLarge: TextStyle( color: AppColors.textPrimary, fontSize: 32, fontWeight: FontWeight.w700, // Bold letterSpacing: -0.5, ), // h2 / Subheadings displayMedium: TextStyle( color: AppColors.textPrimary, fontSize: 24, fontWeight: FontWeight.w600, // Semi-bold ), // Body Text bodyLarge: TextStyle( color: AppColors.textPrimary, fontSize: 16, fontWeight: FontWeight.w400, // Normal height: 1.5, ), bodyMedium: TextStyle( color: AppColors.textSecondary, fontSize: 14, fontWeight: FontWeight.w400, ), // Small captions bodySmall: TextStyle(color: AppColors.textLight, fontSize: 12), // Button Text labelLarge: TextStyle( color: Colors.white, fontSize: 16, fontWeight: FontWeight.w600, letterSpacing: 0.5, ), ), ); } // Animation Curves from CSS // --ease-smooth: cubic-bezier(0.4, 0, 0.2, 1); static const Curve easeSmooth = Cubic(0.4, 0, 0.2, 1); // --ease-bounce: cubic-bezier(0.34, 1.56, 0.64, 1); static const Curve easeBounce = Cubic(0.34, 1.56, 0.64, 1); }