// 暖记阴影系统 — soft / medium / float // 对齐 spec §1 阴影 token: // --elev-soft: 0 2px 12px rgba(45,36,32,0.06) // --elev-medium: 0 4px 20px rgba(45,36,32,0.08) // --elev-float: 0 8px 32px rgba(45,36,32,0.12) import 'package:flutter/material.dart'; class AppShadows { AppShadows._(); /// 柔和阴影 — 卡片默认 static List soft(BuildContext context) { final isDark = Theme.of(context).brightness == Brightness.dark; return [ BoxShadow( color: isDark ? Colors.black.withValues(alpha: 0.3) : const Color(0xFF2D2420).withValues(alpha: 0.06), offset: const Offset(0, 2), blurRadius: 12, ), ]; } /// 中等阴影 — 浮动元素、FAB static List medium(BuildContext context) { final isDark = Theme.of(context).brightness == Brightness.dark; return [ BoxShadow( color: isDark ? Colors.black.withValues(alpha: 0.4) : const Color(0xFF2D2420).withValues(alpha: 0.08), offset: const Offset(0, 4), blurRadius: 20, ), ]; } /// 浮动阴影 — 弹窗、底部面板 static List floating(BuildContext context) { final isDark = Theme.of(context).brightness == Brightness.dark; return [ BoxShadow( color: isDark ? Colors.black.withValues(alpha: 0.5) : const Color(0xFF2D2420).withValues(alpha: 0.12), offset: const Offset(0, 8), blurRadius: 32, ), ]; } }