import 'package:flutter/material.dart'; /// 自 `desgin/funymee_home.pen` 抽取的色值与尺寸(390×844 基准)。 abstract final class PencilTheme { /// FunyMee Home (bi8Au) 玻璃按钮填充 #c4c4c499 static const Color homeGlassFill = Color(0x99C4C4C4); static const Color homeTextPrimary = Colors.white; static const Color homeTabDivider = Color(0x66FFFFFF); /// Home 积分数字(顶栏胶囊、Create Now 上方预估)共用投影。 static const List homeCreditsTextShadows = [ Shadow( offset: Offset(0, 1), blurRadius: 4, color: Color(0x73000000), ), Shadow( offset: Offset(0, 0), blurRadius: 8, color: Color(0x40000000), ), ]; static const Color gemYellow = Color(0xFFFFD60A); /// 旧版 Create Now 磨砂底(当前 [PencilCreateNowButton] 与 pen `aHMps` 白半透明一致;保留供参考)。 static const Color createPillFill = Color(0x4DFFFFFF); static const Color createPlusDisc = Color(0xFFFFD60A); /// 黄→白渐变页(suXxr / WBRp4 / EYsUi / 5J8Po) static const LinearGradient yellowWhitePageGradient = LinearGradient( begin: Alignment.topCenter, end: Alignment.bottomCenter, colors: [ Color(0xFFFDE047), Color(0xFFFCFCFC), Color(0xFFFFFFFF), ], stops: [0, 0.3,1], ); static const Color ink = Color(0xFF171717); static const Color inkMuted = Color(0xFF404040); static const Color inkSoft = Color(0xFF525252); static const Color underlineGold = Color(0xFFC99304); static const Color stone900 = Color(0xFF1C1917); static const Color stone600 = Color(0xFF57534E); static const Color stone700 = Color(0xFF44403C); static const Color expiryBg = Color(0xFFFFFBEB); static const Color expiryBorder = Color(0xFFFDE68A); static const Color expiryHead = Color(0xFF92400E); static const Color expiryBody = Color(0xFF78350F); static const Color cardThumbBg = Color(0xFFF5F5F4); static const Color downloadPillBorder = Color(0xFFD4D4D4); static const Color downloadPillInk = Color(0xFF171717); static const Color profileAvatarRing = Color(0xFFFBBF24); static const Color profileAvatarIcon = Color(0xFFCA8A04); static const Color profileCredits = Color(0xFFB45309); static const Color genHintBorder = Color(0xFFFDE68A); static const Color genHintTitle = Color(0xFF44403C); static const Color genSlotBorder = Color(0xFFF5D08A); static const Color genNavBackStroke = Color(0xFFE7E5E4); /// 支付方式行选中描边(`funymee_home.pen` optApple / zL8hY) static const Color paymentMethodSelectedStroke = Color(0xFF3B82F6); /// 单选未选中描边 static const Color paymentRadioOffStroke = Color(0xFFD6D3D1); /// `zL8hY` 底部表单主体渐变(pen rotation 180,上→下) static const LinearGradient paymentSheetBodyGradient = LinearGradient( begin: Alignment.topCenter, end: Alignment.bottomCenter, colors: [ Color(0xFFFDE047), Color(0xFFFEF9C3), Color(0xFFFFFBEB), Color(0xFFFFFBF0), ], stops: [0, 0.22, 0.65, 1], ); /// 第三方支付弹窗顶部遮罩:纯黑半透明(modal scrim,与 `p7kQm` 一致) static const Color paymentModalDimScrim = Color(0x80000000); /// `zL8hY` 外阴影 `#B4530918`,offset (0,-4),blur 20 static const List paymentSheetOuterShadow = [ BoxShadow( color: Color(0x18B45309), offset: Offset(0, -4), blurRadius: 20, ), ]; /// 摘要卡钻石图标 `gemSum` #EAB308 static const Color paymentSummaryGem = Color(0xFFEAB308); /// 摘要卡赠送积分 `#16A34A` static const Color paymentSummaryBonusGreen = Color(0xFF16A34A); /// 摘要卡 “Credits” 标签 `#78716C` static const Color paymentSummaryCreditsLabel = Color(0xFF78716C); /// 摘要卡投影 `#0000000D`,offset (0,4),blur 16 static const List paymentSummaryCardShadow = [ BoxShadow( color: Color(0x0D000000), offset: Offset(0, 4), blurRadius: 16, ), ]; /// `payCta` 金渐变 `#EAB308` → `#CA8A04` static const LinearGradient paymentPayButtonGradient = LinearGradient( begin: Alignment.topCenter, end: Alignment.bottomCenter, colors: [ Color(0xFFEAB308), Color(0xFFCA8A04), ], ); /// `payCta` 投影 `#B4530940`,offset (0,6),blur 14 static const List paymentPayButtonShadow = [ BoxShadow( color: Color(0x40B45309), offset: Offset(0, 6), blurRadius: 14, ), ]; /// App Store 行图标色 `icBag` #007AFF static const Color paymentAppStoreIconBlue = Color(0xFF007AFF); /// Credit Record 流水行卡片(`funymee_home.pen` listCr / ez9wP) static const LinearGradient creditRecordRowGradient = LinearGradient( begin: Alignment.centerLeft, end: Alignment.centerRight, colors: [ Color(0xFFFDE047), Color(0xFFF59E0B), ], ); /// 设计宽度用于按比例缩放(可选)。 static const double designWidth = 390; /// [MainScreen] 使用 [Scaffold.extendBody] 时,M3 [NavigationBar] 浮在内容上方; /// 内容区默认高度为 80(与 Flutter `navigation_bar.dart` 一致),外加系统底边安全区。 static double mainTabBottomChromeReserve(BuildContext context) { return 80 + MediaQuery.paddingOf(context).bottom; } }