import 'package:flutter/material.dart'; /// Rtty 移动端主题。 /// /// 设计方向:现代终端卡片美学。深靛蓝底 + 霓虹青绿强调色, /// 用卡片承载命令与输出,强调可读性与触控友好。 class RttyMobileTheme { RttyMobileTheme._(); static const Color background = Color(0xFF0D1117); // 深靛黑 static const Color surface = Color(0xFF161C26); // 卡片底 static const Color surfaceAlt = Color(0xFF1C2430); // 输入区 static const Color border = Color(0xFF2A3442); static const Color primary = Color(0xFF3DDB93); // 霓虹青绿 static const Color primaryDim = Color(0xFF176C4B); static const Color accent = Color(0xFFFFB454); // 琥珀 static const Color danger = Color(0xFFE5534B); static const Color text = Color(0xFFE2E8F0); static const Color textDim = Color(0xFF93A1B3); static const Color textFaint = Color(0xFF5B6878); static const Color commandTag = Color(0xFF7C5CFF); // 命令标签紫 static ThemeData app() { final base = ThemeData.dark(useMaterial3: true); return base.copyWith( scaffoldBackgroundColor: background, colorScheme: ColorScheme.dark( primary: primary, secondary: accent, surface: surface, error: danger, onPrimary: const Color(0xFF07130C), onSurface: text, ), textTheme: base.textTheme.copyWith( bodyMedium: base.textTheme.bodyMedium?.copyWith( color: text, fontSize: 15, height: 1.5, ), ), inputDecorationTheme: InputDecorationTheme( filled: true, fillColor: surfaceAlt, hintStyle: const TextStyle(color: textFaint, fontSize: 15), contentPadding: const EdgeInsets.symmetric(horizontal: 16, vertical: 14), border: OutlineInputBorder( borderRadius: BorderRadius.circular(14), borderSide: BorderSide.none, ), focusedBorder: OutlineInputBorder( borderRadius: BorderRadius.circular(14), borderSide: const BorderSide(color: primaryDim, width: 1.5), ), ), ); } }