import 'package:flutter/material.dart';
import 'package:google_fonts/google_fonts.dart';

import '../main.dart';
import 'box_name.dart';
import 'colors.dart';

class AppStyle {
  // --- Typography ---
  
  static TextStyle display = GoogleFonts.inter(
    fontWeight: FontWeight.w800,
    fontSize: 32,
    color: AppColor.textPrimary,
    letterSpacing: -1,
  );

  static TextStyle headTitle = GoogleFonts.cairo(
    fontWeight: FontWeight.bold,
    fontSize: 24,
    color: AppColor.textPrimary,
  );

  static TextStyle title = GoogleFonts.inter(
    fontWeight: FontWeight.w600,
    fontSize: 16,
    color: AppColor.textPrimary,
  );

  static TextStyle subtitle = GoogleFonts.inter(
    fontWeight: FontWeight.w500,
    fontSize: 14,
    color: AppColor.textSecondary,
  );

  static TextStyle body = GoogleFonts.inter(
    fontWeight: FontWeight.normal,
    fontSize: 14,
    color: AppColor.textPrimary,
  );

  static TextStyle caption = GoogleFonts.inter(
    fontWeight: FontWeight.w400,
    fontSize: 12,
    color: AppColor.textMuted,
  );

  static TextStyle number = GoogleFonts.jetBrainsMono(
    fontWeight: FontWeight.bold,
    fontSize: 15,
    color: AppColor.accent,
  );

  // --- Decorations ---

  static BoxDecoration cardDecoration = BoxDecoration(
    color: AppColor.surface,
    borderRadius: BorderRadius.circular(16),
    border: Border.all(color: AppColor.divider, width: 1),
    boxShadow: const [
      BoxShadow(
        color: AppColor.cardShadow,
        blurRadius: 20,
        offset: Offset(0, 8),
      ),
    ],
  );

  static BoxDecoration elevatedCard = BoxDecoration(
    color: AppColor.surfaceElevated,
    borderRadius: BorderRadius.circular(20),
    border: Border.all(color: AppColor.accentBorder, width: 1),
  );

  static BoxDecoration glassDecoration = BoxDecoration(
    color: AppColor.surfaceGlass,
    borderRadius: BorderRadius.circular(24),
    border: Border.all(color: AppColor.divider, width: 1),
  );

  // --- Legacy Mappings ---
  static TextStyle headTitle2 = headTitle;
  static BoxDecoration boxDecoration = cardDecoration;
  static BoxDecoration boxDecoration1 = elevatedCard;
}

