import 'package:flutter/material.dart'; import 'package:google_fonts/google_fonts.dart'; /// Ground Suite's single visual language: a dark tactical operations deck. const panelBackground = Color(0xD912141A); const panelBorder = Color(0x1AFFFFFF); const textPrimary = Color(0xFFF8FAFC); const textSecondary = Color(0xFF94A3B8); const accentOrange = Color(0xFFF97316); const accentMint = Color(0xFF34D399); const statusGreen = Color(0xFF10B981); const statusRed = Color(0xFFEF4444); const tacticalBlack = Color(0xFF000000); const tacticalTransparent = Color(0x00000000); ThemeData groundSuiteDarkTheme() { final base = ThemeData.dark(useMaterial3: true); final interTextTheme = GoogleFonts.interTextTheme( base.textTheme, ).apply(bodyColor: textPrimary, displayColor: textPrimary); return base.copyWith( scaffoldBackgroundColor: tacticalBlack, cardColor: panelBackground, colorScheme: const ColorScheme.dark( primary: accentMint, onPrimary: tacticalBlack, secondary: accentOrange, onSecondary: tacticalBlack, surface: panelBackground, onSurface: textPrimary, error: statusRed, onError: textPrimary, outline: panelBorder, ), textTheme: interTextTheme.copyWith( displayLarge: interTextTheme.displayLarge?.copyWith(color: textPrimary), displayMedium: interTextTheme.displayMedium?.copyWith(color: textPrimary), headlineLarge: interTextTheme.headlineLarge?.copyWith(color: textPrimary), headlineMedium: interTextTheme.headlineMedium?.copyWith( color: textPrimary, ), headlineSmall: interTextTheme.headlineSmall?.copyWith(color: textPrimary), titleLarge: interTextTheme.titleLarge?.copyWith(color: textPrimary), titleMedium: interTextTheme.titleMedium?.copyWith(color: textPrimary), titleSmall: interTextTheme.titleSmall?.copyWith(color: textPrimary), bodyLarge: interTextTheme.bodyLarge?.copyWith(color: textPrimary), bodyMedium: interTextTheme.bodyMedium?.copyWith(color: textPrimary), bodySmall: interTextTheme.bodySmall?.copyWith(color: textSecondary), labelLarge: interTextTheme.labelLarge?.copyWith(color: textPrimary), labelMedium: interTextTheme.labelMedium?.copyWith(color: textSecondary), labelSmall: interTextTheme.labelSmall?.copyWith(color: textSecondary), ), cardTheme: const CardThemeData(color: panelBackground, elevation: 0), dividerTheme: const DividerThemeData(color: panelBorder), progressIndicatorTheme: ProgressIndicatorThemeData( color: accentMint, linearTrackColor: textSecondary.withValues(alpha: .2), ), chipTheme: ChipThemeData( backgroundColor: tacticalTransparent, selectedColor: accentMint.withValues(alpha: .1), side: const BorderSide(color: panelBorder), shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(12)), labelStyle: GoogleFonts.inter(color: textSecondary), secondaryLabelStyle: GoogleFonts.inter(color: textPrimary), ), ); }