Kaynağa Gözat

[修复] 简单实现了Compose界面的自定义,某些选项仍不可用

HapeLee 10 ay önce
ebeveyn
işleme
ce0fc89ba0
20 değiştirilmiş dosya ile 1465 ekleme ve 1288 silme
  1. 1 0
      app/build.gradle
  2. 46 58
      app/src/main/java/io/legado/app/ui/theme/AppTheme.kt
  3. 1 18
      app/src/main/java/io/legado/app/ui/theme/AppThemeMode.kt
  4. 27 0
      app/src/main/java/io/legado/app/ui/theme/BaseColorScheme.kt
  5. 0 1208
      app/src/main/java/io/legado/app/ui/theme/ColorSchemes.kt
  6. 53 0
      app/src/main/java/io/legado/app/ui/theme/CustomColorScheme.kt
  7. 25 4
      app/src/main/java/io/legado/app/ui/theme/ThemeState.kt
  8. 109 0
      app/src/main/java/io/legado/app/ui/theme/colorScheme/AugustColorScheme.kt
  9. 109 0
      app/src/main/java/io/legado/app/ui/theme/colorScheme/CarlottaColorScheme.kt
  10. 109 0
      app/src/main/java/io/legado/app/ui/theme/colorScheme/ElinkColorScheme.kt
  11. 110 0
      app/src/main/java/io/legado/app/ui/theme/colorScheme/GRColorScheme.kt
  12. 109 0
      app/src/main/java/io/legado/app/ui/theme/colorScheme/KoharuColorScheme.kt
  13. 110 0
      app/src/main/java/io/legado/app/ui/theme/colorScheme/LemonColorScheme.kt
  14. 109 0
      app/src/main/java/io/legado/app/ui/theme/colorScheme/MujikaColorScheme.kt
  15. 109 0
      app/src/main/java/io/legado/app/ui/theme/colorScheme/PhoebeColorScheme.kt
  16. 109 0
      app/src/main/java/io/legado/app/ui/theme/colorScheme/SoraColorScheme.kt
  17. 110 0
      app/src/main/java/io/legado/app/ui/theme/colorScheme/TransparentColorScheme.kt
  18. 108 0
      app/src/main/java/io/legado/app/ui/theme/colorScheme/WHColorScheme.kt
  19. 109 0
      app/src/main/java/io/legado/app/ui/theme/colorScheme/YuukaColorScheme.kt
  20. 2 0
      gradle/libs.versions.toml

+ 1 - 0
app/build.gradle

@@ -383,5 +383,6 @@ dependencies {
     implementation(libs.koin.compose.viewmodel)
     implementation(libs.koin.compose.viewmodel)
 
 
     implementation(libs.reorderable)
     implementation(libs.reorderable)
+    implementation(libs.material.kolor)
 
 
 }
 }

+ 46 - 58
app/src/main/java/io/legado/app/ui/theme/AppTheme.kt

@@ -7,40 +7,27 @@ import androidx.compose.material3.MaterialExpressiveTheme
 import androidx.compose.material3.MotionScheme
 import androidx.compose.material3.MotionScheme
 import androidx.compose.material3.Shapes
 import androidx.compose.material3.Shapes
 import androidx.compose.material3.Typography
 import androidx.compose.material3.Typography
-import androidx.compose.material3.darkColorScheme
 import androidx.compose.material3.dynamicDarkColorScheme
 import androidx.compose.material3.dynamicDarkColorScheme
 import androidx.compose.material3.dynamicLightColorScheme
 import androidx.compose.material3.dynamicLightColorScheme
-import androidx.compose.material3.lightColorScheme
 import androidx.compose.runtime.Composable
 import androidx.compose.runtime.Composable
 import androidx.compose.runtime.collectAsState
 import androidx.compose.runtime.collectAsState
 import androidx.compose.runtime.getValue
 import androidx.compose.runtime.getValue
-import androidx.compose.ui.graphics.Color
 import androidx.compose.ui.platform.LocalContext
 import androidx.compose.ui.platform.LocalContext
+import com.materialkolor.PaletteStyle
 import io.legado.app.help.config.AppConfig
 import io.legado.app.help.config.AppConfig
-import io.legado.app.ui.theme.AppColorSchemes.AugustDarkColorScheme
-import io.legado.app.ui.theme.AppColorSchemes.AugustLightColorScheme
-import io.legado.app.ui.theme.AppColorSchemes.CarlottaDarkColorScheme
-import io.legado.app.ui.theme.AppColorSchemes.CarlottaLightColorScheme
-import io.legado.app.ui.theme.AppColorSchemes.ElinkDarkColorScheme
-import io.legado.app.ui.theme.AppColorSchemes.ElinkLightColorScheme
-import io.legado.app.ui.theme.AppColorSchemes.GRDarkColorScheme
-import io.legado.app.ui.theme.AppColorSchemes.GRLightColorScheme
-import io.legado.app.ui.theme.AppColorSchemes.KoharuDarkColorScheme
-import io.legado.app.ui.theme.AppColorSchemes.KoharuLightColorScheme
-import io.legado.app.ui.theme.AppColorSchemes.LemonDarkColorScheme
-import io.legado.app.ui.theme.AppColorSchemes.LemonLightColorScheme
-import io.legado.app.ui.theme.AppColorSchemes.MujikaDarkColorScheme
-import io.legado.app.ui.theme.AppColorSchemes.MujikaLightColorScheme
-import io.legado.app.ui.theme.AppColorSchemes.PhoebeDarkColorScheme
-import io.legado.app.ui.theme.AppColorSchemes.PhoebeLightColorScheme
-import io.legado.app.ui.theme.AppColorSchemes.SoraDarkColorScheme
-import io.legado.app.ui.theme.AppColorSchemes.SoraLightColorScheme
-import io.legado.app.ui.theme.AppColorSchemes.TransparentDarkColorScheme
-import io.legado.app.ui.theme.AppColorSchemes.TransparentLightColorScheme
-import io.legado.app.ui.theme.AppColorSchemes.WHDarkColorScheme
-import io.legado.app.ui.theme.AppColorSchemes.WHLightColorScheme
-import io.legado.app.ui.theme.AppColorSchemes.YuukaDarkColorScheme
-import io.legado.app.ui.theme.AppColorSchemes.YuukaLightColorScheme
+import io.legado.app.lib.theme.primaryColor
+import io.legado.app.ui.theme.colorScheme.AugustColorScheme
+import io.legado.app.ui.theme.colorScheme.CarlottaColorScheme
+import io.legado.app.ui.theme.colorScheme.ElinkColorScheme
+import io.legado.app.ui.theme.colorScheme.GRColorScheme
+import io.legado.app.ui.theme.colorScheme.KoharuColorScheme
+import io.legado.app.ui.theme.colorScheme.LemonColorScheme
+import io.legado.app.ui.theme.colorScheme.MujikaColorScheme
+import io.legado.app.ui.theme.colorScheme.PhoebeColorScheme
+import io.legado.app.ui.theme.colorScheme.SoraColorScheme
+import io.legado.app.ui.theme.colorScheme.TransparentColorScheme
+import io.legado.app.ui.theme.colorScheme.WHColorScheme
+import io.legado.app.ui.theme.colorScheme.YuukaColorScheme
 
 
 @OptIn(ExperimentalMaterial3ExpressiveApi::class)
 @OptIn(ExperimentalMaterial3ExpressiveApi::class)
 @Composable
 @Composable
@@ -49,49 +36,50 @@ fun AppTheme(
     content: @Composable () -> Unit
     content: @Composable () -> Unit
 ) {
 ) {
     val context = LocalContext.current
     val context = LocalContext.current
-    val motionScheme = MotionScheme.expressive()
     val appThemeMode by ThemeState.themeMode.collectAsState()
     val appThemeMode by ThemeState.themeMode.collectAsState()
+    val isAmoled = AppConfig.pureBlack
 
 
-    var colorScheme = when (appThemeMode) {
-        AppThemeMode.Dynamic, AppThemeMode.ContentBased -> {
+    val colorScheme = when (appThemeMode) {
+        AppThemeMode.Dynamic -> {
             if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
             if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
                 if (darkTheme) dynamicDarkColorScheme(context) else dynamicLightColorScheme(context)
                 if (darkTheme) dynamicDarkColorScheme(context) else dynamicLightColorScheme(context)
             } else {
             } else {
-                if (darkTheme) darkColorScheme() else lightColorScheme()
+                GRColorScheme.getColorScheme(darkTheme, isAmoled)
             }
             }
         }
         }
-        AppThemeMode.GR -> if (darkTheme) GRDarkColorScheme else GRLightColorScheme
-        AppThemeMode.Lemon -> if (darkTheme) LemonDarkColorScheme else LemonLightColorScheme
-        AppThemeMode.WH -> if (darkTheme) WHDarkColorScheme else WHLightColorScheme
-        AppThemeMode.Elink -> if (darkTheme) ElinkDarkColorScheme else ElinkLightColorScheme
-        AppThemeMode.Sora -> if (darkTheme) SoraDarkColorScheme else SoraLightColorScheme
-        AppThemeMode.August -> if (darkTheme) AugustDarkColorScheme else AugustLightColorScheme
-        AppThemeMode.Carlotta -> if (darkTheme) CarlottaDarkColorScheme else CarlottaLightColorScheme
-        AppThemeMode.Koharu -> if (darkTheme) KoharuDarkColorScheme else KoharuLightColorScheme
-        AppThemeMode.Yuuka -> if (darkTheme) YuukaDarkColorScheme else YuukaLightColorScheme
-        AppThemeMode.Phoebe -> if (darkTheme) PhoebeDarkColorScheme else PhoebeLightColorScheme
-        AppThemeMode.Mujika -> if (darkTheme) MujikaDarkColorScheme else MujikaLightColorScheme
-        AppThemeMode.Transparent -> if (darkTheme) TransparentDarkColorScheme else TransparentLightColorScheme
-    }
-
-    if (darkTheme && AppConfig.pureBlack) {
-        colorScheme = colorScheme.copy(
-            background = Color.Black,
-            surface = Color.Black
-        )
+        AppThemeMode.CUSTOM -> {
+            CustomColorScheme(
+                context = context,
+                seed = context.primaryColor,
+                style = PaletteStyle.Vibrant,
+            ).getColorScheme(darkTheme, isAmoled)
+        }
+        else -> {
+            val scheme = colorSchemes.getOrDefault(appThemeMode, GRColorScheme)
+            scheme.getColorScheme(darkTheme, isAmoled)
+        }
     }
     }
 
 
     MaterialExpressiveTheme(
     MaterialExpressiveTheme(
         colorScheme = colorScheme,
         colorScheme = colorScheme,
-        typography = AppTypography,
-        motionScheme = motionScheme,
-        shapes = AppShapes,
+        typography = Typography(),
+        motionScheme = MotionScheme.expressive(),
+        shapes = Shapes(),
         content = content
         content = content
     )
     )
 }
 }
 
 
-// Material3 Typography
-val AppTypography = Typography()
-
-// Material3 Shapes
-val AppShapes = Shapes()
+private val colorSchemes: Map<AppThemeMode, BaseColorScheme> = mapOf(
+    AppThemeMode.GR to GRColorScheme,
+    AppThemeMode.Lemon to LemonColorScheme,
+    AppThemeMode.WH to WHColorScheme,
+    AppThemeMode.Elink to ElinkColorScheme,
+    AppThemeMode.Sora to SoraColorScheme,
+    AppThemeMode.August to AugustColorScheme,
+    AppThemeMode.Carlotta to CarlottaColorScheme,
+    AppThemeMode.Koharu to KoharuColorScheme,
+    AppThemeMode.Yuuka to YuukaColorScheme,
+    AppThemeMode.Phoebe to PhoebeColorScheme,
+    AppThemeMode.Mujika to MujikaColorScheme,
+    AppThemeMode.Transparent to TransparentColorScheme,
+)

+ 1 - 18
app/src/main/java/io/legado/app/ui/theme/AppThemeMode.kt

@@ -13,24 +13,7 @@ enum class AppThemeMode {
     Yuuka,
     Yuuka,
     Phoebe,
     Phoebe,
     Mujika,
     Mujika,
-    ContentBased,
+    CUSTOM,
     Transparent
     Transparent
 }
 }
 
 
-fun resolveThemeMode(value: String): AppThemeMode = when (value) {
-    "0" -> AppThemeMode.Dynamic
-    "1" -> AppThemeMode.GR
-    "2" -> AppThemeMode.Lemon
-    "3" -> AppThemeMode.WH
-    "4" -> AppThemeMode.Elink
-    "5" -> AppThemeMode.Sora
-    "6" -> AppThemeMode.August
-    "7" -> AppThemeMode.Carlotta
-    "8" -> AppThemeMode.Koharu
-    "9" -> AppThemeMode.Yuuka
-    "10" -> AppThemeMode.Phoebe
-    "11" -> AppThemeMode.Mujika
-    "12" -> AppThemeMode.ContentBased
-    "13" -> AppThemeMode.Transparent
-    else -> AppThemeMode.Dynamic
-}

+ 27 - 0
app/src/main/java/io/legado/app/ui/theme/BaseColorScheme.kt

@@ -0,0 +1,27 @@
+package io.legado.app.ui.theme
+
+import androidx.compose.material3.ColorScheme
+import androidx.compose.runtime.Composable
+import androidx.compose.runtime.ReadOnlyComposable
+import androidx.compose.ui.graphics.Color
+
+abstract class BaseColorScheme {
+    abstract val lightScheme: ColorScheme
+    abstract val darkScheme: ColorScheme
+
+    @Composable
+    @ReadOnlyComposable
+    fun getColorScheme(
+        darkTheme: Boolean,
+        isAmoled: Boolean,
+    ): ColorScheme {
+        var scheme = if (darkTheme) darkScheme else lightScheme
+        if (darkTheme && isAmoled) {
+            scheme = scheme.copy(
+                background = Color.Black,
+                surface = Color.Black,
+            )
+        }
+        return scheme
+    }
+}

+ 0 - 1208
app/src/main/java/io/legado/app/ui/theme/ColorSchemes.kt

@@ -1,1208 +0,0 @@
-package io.legado.app.ui.theme
-
-import androidx.compose.material3.darkColorScheme
-import androidx.compose.material3.lightColorScheme
-import androidx.compose.ui.graphics.Color
-
-object AppColorSchemes {
-    val GRLightColorScheme = lightColorScheme(
-        primary = Color(0xFF4C662B),
-        onPrimary = Color(0xFFFFFFFF),
-        primaryContainer = Color(0xFFCDEDA3),
-        onPrimaryContainer = Color(0xFF354E16),
-        secondary = Color(0xFF586249),
-        onSecondary = Color(0xFFFFFFFF),
-        secondaryContainer = Color(0xFFDCE7C8),
-        onSecondaryContainer = Color(0xFF404A33),
-        tertiary = Color(0xFF386663),
-        onTertiary = Color(0xFFFFFFFF),
-        tertiaryContainer = Color(0xFFBCECE7),
-        onTertiaryContainer = Color(0xFF1F4E4B),
-        error = Color(0xFFBA1A1A),
-        onError = Color(0xFFFFFFFF),
-        errorContainer = Color(0xFFFFDAD6),
-        onErrorContainer = Color(0xFF93000A),
-        background = Color(0xFFF9FAEF),
-        onBackground = Color(0xFF1A1C16),
-        surface = Color(0xFFF9FAEF),
-        onSurface = Color(0xFF1A1C16),
-        surfaceVariant = Color(0xFFE1E4D5),
-        onSurfaceVariant = Color(0xFF44483D),
-        outline = Color(0xFF75796C),
-        outlineVariant = Color(0xFFC5C8BA),
-        scrim = Color(0xFF000000),
-        inverseSurface = Color(0xFF2F312A),
-        inverseOnSurface = Color(0xFFF1F2E6),
-        inversePrimary = Color(0xFFB1D18A),
-        primaryFixed = Color(0xFFCDEDA3),
-        onPrimaryFixed = Color(0xFF102000),
-        primaryFixedDim = Color(0xFFB1D18A),
-        onPrimaryFixedVariant = Color(0xFF354E16),
-        secondaryFixed = Color(0xFFDCE7C8),
-        onSecondaryFixed = Color(0xFF181E0B),
-        secondaryFixedDim = Color(0xFFBFCBAD),
-        onSecondaryFixedVariant = Color(0xFF404A33),
-        tertiaryFixed = Color(0xFFBCECE7),
-        onTertiaryFixed = Color(0xFF00201E),
-        tertiaryFixedDim = Color(0xFFA0D0CB),
-        onTertiaryFixedVariant = Color(0xFF1F4E4B),
-        surfaceDim = Color(0xFFDADBD0),
-        surfaceBright = Color(0xFFF9FAEF),
-        surfaceContainerLowest = Color(0xFFFFFFFF),
-        surfaceContainerLow = Color(0xFFF3F4E9),
-        surfaceContainer = Color(0xFFEEEFE3),
-        surfaceContainerHigh = Color(0xFFE8E9DE),
-        surfaceContainerHighest = Color(0xFFE2E3D8),
-    )
-
-    val GRDarkColorScheme = darkColorScheme(
-        primary = Color(0xFFB1D18A),
-        onPrimary = Color(0xFF1F3701),
-        primaryContainer = Color(0xFF354E16),
-        onPrimaryContainer = Color(0xFFCDEDA3),
-        secondary = Color(0xFFBFCBAD),
-        onSecondary = Color(0xFF2A331E),
-        secondaryContainer = Color(0xFF404A33),
-        onSecondaryContainer = Color(0xFFDCE7C8),
-        tertiary = Color(0xFFA0D0CB),
-        onTertiary = Color(0xFF003735),
-        tertiaryContainer = Color(0xFF1F4E4B),
-        onTertiaryContainer = Color(0xFFBCECE7),
-        error = Color(0xFFFFB4AB),
-        onError = Color(0xFF690005),
-        errorContainer = Color(0xFF93000A),
-        onErrorContainer = Color(0xFFFFDAD6),
-        background = Color(0xFF12140E),
-        onBackground = Color(0xFFE2E3D8),
-        surface = Color(0xFF12140E),
-        onSurface = Color(0xFFE2E3D8),
-        surfaceVariant = Color(0xFF44483D),
-        onSurfaceVariant = Color(0xFFC5C8BA),
-        outline = Color(0xFF8F9285),
-        outlineVariant = Color(0xFF44483D),
-        scrim = Color(0xFF000000),
-        inverseSurface = Color(0xFFE2E3D8),
-        inverseOnSurface = Color(0xFF2F312A),
-        inversePrimary = Color(0xFF4C662B),
-        primaryFixed = Color(0xFFCDEDA3),
-        onPrimaryFixed = Color(0xFF102000),
-        primaryFixedDim = Color(0xFFB1D18A),
-        onPrimaryFixedVariant = Color(0xFF354E16),
-        secondaryFixed = Color(0xFFDCE7C8),
-        onSecondaryFixed = Color(0xFF181E0B),
-        secondaryFixedDim = Color(0xFFBFCBAD),
-        onSecondaryFixedVariant = Color(0xFF404A33),
-        tertiaryFixed = Color(0xFFBCECE7),
-        onTertiaryFixed = Color(0xFF00201E),
-        tertiaryFixedDim = Color(0xFFA0D0CB),
-        onTertiaryFixedVariant = Color(0xFF1F4E4B),
-        surfaceDim = Color(0xFF12140E),
-        surfaceBright = Color(0xFF383A32),
-        surfaceContainerLowest = Color(0xFF0C0F09),
-        surfaceContainerLow = Color(0xFF1A1C16),
-        surfaceContainer = Color(0xFF1E201A),
-        surfaceContainerHigh = Color(0xFF282B24),
-        surfaceContainerHighest = Color(0xFF33362E),
-    )
-
-    val LemonLightColorScheme = lightColorScheme(
-        primary = Color(0xFF6D5E0F),
-        onPrimary = Color(0xFFFFFFFF),
-        primaryContainer = Color(0xFFF8E287),
-        onPrimaryContainer = Color(0xFF534600),
-        secondary = Color(0xFF665E40),
-        onSecondary = Color(0xFFFFFFFF),
-        secondaryContainer = Color(0xFFEEE2BC),
-        onSecondaryContainer = Color(0xFF4E472A),
-        tertiary = Color(0xFF43664E),
-        onTertiary = Color(0xFFFFFFFF),
-        tertiaryContainer = Color(0xFFC5ECCE),
-        onTertiaryContainer = Color(0xFF2C4E38),
-        error = Color(0xFFBA1A1A),
-        onError = Color(0xFFFFFFFF),
-        errorContainer = Color(0xFFFFDAD6),
-        onErrorContainer = Color(0xFF93000A),
-        background = Color(0xFFFFF9EE),
-        onBackground = Color(0xFF1E1B13),
-        surface = Color(0xFFFFF9EE),
-        onSurface = Color(0xFF1E1B13),
-        surfaceVariant = Color(0xFFEAE2D0),
-        onSurfaceVariant = Color(0xFF4B4739),
-        outline = Color(0xFF7C7767),
-        outlineVariant = Color(0xFFCDC6B4),
-        scrim = Color(0xFF000000),
-        inverseSurface = Color(0xFF333027),
-        inverseOnSurface = Color(0xFFF7F0E2),
-        inversePrimary = Color(0xFFDBC66E),
-        primaryFixed = Color(0xFFF8E287),
-        onPrimaryFixed = Color(0xFF221B00),
-        primaryFixedDim = Color(0xFFDBC66E),
-        onPrimaryFixedVariant = Color(0xFF534600),
-        secondaryFixed = Color(0xFFEEE2BC),
-        onSecondaryFixed = Color(0xFF201B04),
-        secondaryFixedDim = Color(0xFFD1C6A1),
-        onSecondaryFixedVariant = Color(0xFF4E472A),
-        tertiaryFixed = Color(0xFFC5ECCE),
-        onTertiaryFixed = Color(0xFF002111),
-        tertiaryFixedDim = Color(0xFFA9D0B3),
-        onTertiaryFixedVariant = Color(0xFF2C4E38),
-        surfaceDim = Color(0xFFE0D9CC),
-        surfaceBright = Color(0xFFFFF9EE),
-        surfaceContainerLowest = Color(0xFFFFFFFF),
-        surfaceContainerLow = Color(0xFFFAF3E5),
-        surfaceContainer = Color(0xFFF4EDDF),
-        surfaceContainerHigh = Color(0xFFEEE8DA),
-        surfaceContainerHighest = Color(0xFFE8E2D4),
-    )
-
-    val LemonDarkColorScheme = darkColorScheme(
-        primary = Color(0xFFDBC66E),
-        onPrimary = Color(0xFF3A3000),
-        primaryContainer = Color(0xFF534600),
-        onPrimaryContainer = Color(0xFFF8E287),
-        secondary = Color(0xFFD1C6A1),
-        onSecondary = Color(0xFF363016),
-        secondaryContainer = Color(0xFF4E472A),
-        onSecondaryContainer = Color(0xFFEEE2BC),
-        tertiary = Color(0xFFA9D0B3),
-        onTertiary = Color(0xFF143723),
-        tertiaryContainer = Color(0xFF2C4E38),
-        onTertiaryContainer = Color(0xFFC5ECCE),
-        error = Color(0xFFFFB4AB),
-        onError = Color(0xFF690005),
-        errorContainer = Color(0xFF93000A),
-        onErrorContainer = Color(0xFFFFDAD6),
-        background = Color(0xFF15130B),
-        onBackground = Color(0xFFE8E2D4),
-        surface = Color(0xFF15130B),
-        onSurface = Color(0xFFE8E2D4),
-        surfaceVariant = Color(0xFF4B4739),
-        onSurfaceVariant = Color(0xFFCDC6B4),
-        outline = Color(0xFF969080),
-        outlineVariant = Color(0xFF4B4739),
-        scrim = Color(0xFF000000),
-        inverseSurface = Color(0xFFE8E2D4),
-        inverseOnSurface = Color(0xFF333027),
-        inversePrimary = Color(0xFF6D5E0F),
-        primaryFixed = Color(0xFFF8E287),
-        onPrimaryFixed = Color(0xFF221B00),
-        primaryFixedDim = Color(0xFFDBC66E),
-        onPrimaryFixedVariant = Color(0xFF534600),
-        secondaryFixed = Color(0xFFEEE2BC),
-        onSecondaryFixed = Color(0xFF201B04),
-        secondaryFixedDim = Color(0xFFD1C6A1),
-        onSecondaryFixedVariant = Color(0xFF4E472A),
-        tertiaryFixed = Color(0xFFC5ECCE),
-        onTertiaryFixed = Color(0xFF002111),
-        tertiaryFixedDim = Color(0xFFA9D0B3),
-        onTertiaryFixedVariant = Color(0xFF2C4E38),
-        surfaceDim = Color(0xFF15130B),
-        surfaceBright = Color(0xFF3C3930),
-        surfaceContainerLowest = Color(0xFF100E07),
-        surfaceContainerLow = Color(0xFF1E1B13),
-        surfaceContainer = Color(0xFF222017),
-        surfaceContainerHigh = Color(0xFF2D2A21),
-        surfaceContainerHighest = Color(0xFF38352B),
-    )
-
-    val WHLightColorScheme = lightColorScheme(
-        primary = Color(0xFF5C5C5C),
-        onPrimary = Color(0xFFFFFFFF),
-        primaryContainer = Color(0xFF747474),
-        onPrimaryContainer = Color(0xFFFEFCFC),
-        secondary = Color(0xFF5F5E5E),
-        onSecondary = Color(0xFFFFFFFF),
-        secondaryContainer = Color(0xFFE2DFDE),
-        onSecondaryContainer = Color(0xFF636262),
-        tertiary = Color(0xFF5E5B5D),
-        onTertiary = Color(0xFFFFFFFF),
-        tertiaryContainer = Color(0xFF777375),
-        onTertiaryContainer = Color(0xFFFFFBFF),
-        error = Color(0xFFBA1A1A),
-        onError = Color(0xFFFFFFFF),
-        errorContainer = Color(0xFFFFDAD6),
-        onErrorContainer = Color(0xFF93000A),
-        background = Color(0xFFFAFAFA),
-        onBackground = Color(0xFF1C1B1B),
-        surface = Color(0xFFF8F8F8),
-        onSurface = Color(0xFF1C1B1B),
-        surfaceVariant = Color(0xFFE0E3E3),
-        onSurfaceVariant = Color(0xFF444748),
-        outline = Color(0xFF747878),
-        outlineVariant = Color(0xFFC4C7C7),
-        scrim = Color(0xFF000000),
-        inverseSurface = Color(0xFF313030),
-        inverseOnSurface = Color(0xFFF4F0EF),
-        inversePrimary = Color(0xFFC7C6C6),
-        primaryFixed = Color(0xFFE3E2E2),
-        onPrimaryFixed = Color(0xFF1A1C1C),
-        primaryFixedDim = Color(0xFFC7C6C6),
-        onPrimaryFixedVariant = Color(0xFF454747),
-        secondaryFixed = Color(0xFFE2DFDE),
-        onSecondaryFixed = Color(0xFF1C1B1B),
-        secondaryFixedDim = Color(0xFFC6C6C6),
-        onSecondaryFixedVariant = Color(0xFF474747),
-        tertiaryFixed = Color(0xFFE5E2E4),
-        onTertiaryFixed = Color(0xFF1C1B1D),
-        tertiaryFixedDim = Color(0xFFC9C5C7),
-        onTertiaryFixedVariant = Color(0xFF494648),
-        surfaceDim = Color(0xFFDDD9D8),
-        surfaceBright = Color(0xFFF8F8F8),
-        surfaceContainerLowest = Color(0xFFFFFFFF),
-        surfaceContainerLow = Color(0xFFF7F3F2),
-        surfaceContainer = Color(0xFFF1EDEC),
-        surfaceContainerHigh = Color(0xFFEBE7E7),
-        surfaceContainerHighest = Color(0xFFE5E2E1),
-    )
-
-    val WHDarkColorScheme = darkColorScheme(
-        primary = Color(0xFFC7C6C6),
-        onPrimary = Color(0xFF303031),
-        primaryContainer = Color(0xFF919090),
-        onPrimaryContainer = Color(0xFF050606),
-        secondary = Color(0xFFC8C6C5),
-        onSecondary = Color(0xFF303030),
-        secondaryContainer = Color(0xFF474746),
-        onSecondaryContainer = Color(0xFFB7B5B4),
-        tertiary = Color(0xFFCBC5C7),
-        onTertiary = Color(0xFF323031),
-        tertiaryContainer = Color(0xFF948F91),
-        onTertiaryContainer = Color(0xFF060506),
-        error = Color(0xFFFFB4AB),
-        onError = Color(0xFF690005),
-        errorContainer = Color(0xFF93000A),
-        onErrorContainer = Color(0xFFFFDAD6),
-        background = Color(0xFF141313),
-        onBackground = Color(0xFFE5E2E1),
-        surface = Color(0xFF141313),
-        onSurface = Color(0xFFE5E2E1),
-        surfaceVariant = Color(0xFF444748),
-        onSurfaceVariant = Color(0xFFC4C7C7),
-        outline = Color(0xFF8E918F),
-        outlineVariant = Color(0xFF444748),
-        scrim = Color(0xFF000000),
-        inverseSurface = Color(0xFFE5E2E1),
-        inverseOnSurface = Color(0xFF313030),
-        inversePrimary = Color(0xFF5E5E5E),
-        primaryFixed = Color(0xFFE3E2E2),
-        onPrimaryFixed = Color(0xFF1A1C1C),
-        primaryFixedDim = Color(0xFFC7C6C6),
-        onPrimaryFixedVariant = Color(0xFF454747),
-        secondaryFixed = Color(0xFFE2DFDE),
-        onSecondaryFixed = Color(0xFF1C1B1B),
-        secondaryFixedDim = Color(0xFFC6C6C6),
-        onSecondaryFixedVariant = Color(0xFF474747),
-        tertiaryFixed = Color(0xFFE5E2E4),
-        onTertiaryFixed = Color(0xFF1C1B1D),
-        tertiaryFixedDim = Color(0xFFC9C5C7),
-        onTertiaryFixedVariant = Color(0xFF494648),
-        surfaceDim = Color(0xFF141313),
-        surfaceBright = Color(0xFF3A3939),
-        surfaceContainerLowest = Color(0xFF0E0E0E),
-        surfaceContainerLow = Color(0xFF1C1B1B),
-        surfaceContainer = Color(0xFF201F1F),
-        surfaceContainerHigh = Color(0xFF2A2A2A),
-        surfaceContainerHighest = Color(0xFF353434),
-    )
-
-    val ElinkLightColorScheme = lightColorScheme(
-        primary = Color(0xFF000000),
-        onPrimary = Color(0xFFFFFFFF),
-        primaryContainer = Color(0xFF000000),
-        onPrimaryContainer = Color(0xFFFFFFFF),
-        secondary = Color(0xFF000000),
-        onSecondary = Color(0xFFFFFFFF),
-        secondaryContainer = Color(0xFF808080),
-        onSecondaryContainer = Color(0xFFFFFFFF),
-        tertiary = Color(0xFF000000),
-        onTertiary = Color(0xFFFFFFFF),
-        tertiaryContainer = Color(0xFF000000),
-        onTertiaryContainer = Color(0xFFFFFFFF),
-        error = Color(0xFFBA1A1A),
-        onError = Color(0xFFFFFFFF),
-        errorContainer = Color(0xFFFFDAD6),
-        onErrorContainer = Color(0xFF93000A),
-        background = Color(0xFFFFFFFF),
-        onBackground = Color(0xFF000000),
-        surface = Color(0xFFFFFFFF),
-        onSurface = Color(0xFF000000),
-        surfaceVariant = Color(0xFFFFFFFF),
-        onSurfaceVariant = Color(0xFF000000),
-        outline = Color(0xFF000000),
-        outlineVariant = Color(0xFF000000),
-        scrim = Color(0xFF000000),
-        inverseSurface = Color(0xFF313030),
-        inverseOnSurface = Color(0xFFFFFFFF),
-        inversePrimary = Color(0xFFFFFFFF),
-        primaryFixed = Color(0xFFFFFFFF),
-        onPrimaryFixed = Color(0xFF1A1C1C),
-        primaryFixedDim = Color(0xFFC6C6C7),
-        onPrimaryFixedVariant = Color(0xFF454747),
-        secondaryFixed = Color(0xFFE2E2E2),
-        onSecondaryFixed = Color(0xFF1B1B1B),
-        secondaryFixedDim = Color(0xFFC6C6C6),
-        onSecondaryFixedVariant = Color(0xFF474747),
-        tertiaryFixed = Color(0xFFFFFFFF),
-        onTertiaryFixed = Color(0xFF1B1B1B),
-        tertiaryFixedDim = Color(0xFFC6C6C6),
-        onTertiaryFixedVariant = Color(0xFF474747),
-        surfaceDim = Color(0xFFFFFFFF),
-        surfaceBright = Color(0xFFFFFFFF),
-        surfaceContainerLowest = Color(0xFFFFFFFF),
-        surfaceContainerLow = Color(0xFFFFFFFF),
-        surfaceContainer = Color(0xFFFFFFFF),
-        surfaceContainerHigh = Color(0xFFFFFFFF),
-        surfaceContainerHighest = Color(0xFFFFFFFF),
-    )
-
-    val ElinkDarkColorScheme = darkColorScheme(
-        primary = Color(0xFFFFFFFF),
-        onPrimary = Color(0xFF000000),
-        primaryContainer = Color(0xFFFFFFFF),
-        onPrimaryContainer = Color(0xFF000000),
-        secondary = Color(0xFFFFFFFF),
-        onSecondary = Color(0xFF000000),
-        secondaryContainer = Color(0xFF808080),
-        onSecondaryContainer = Color(0xFFFFFFFF),
-        tertiary = Color(0xFFFFFFFF),
-        onTertiary = Color(0xFF000000),
-        tertiaryContainer = Color(0xFFFFFFFF),
-        onTertiaryContainer = Color(0xFF000000),
-        error = Color(0xFFFFB4AB),
-        onError = Color(0xFF690005),
-        errorContainer = Color(0xFF93000A),
-        onErrorContainer = Color(0xFFFFDAD6),
-        background = Color(0xFF000000),
-        onBackground = Color(0xFFFFFFFF),
-        surface = Color(0xFF000000),
-        onSurface = Color(0xFFFFFFFF),
-        surfaceVariant = Color(0xFF444846),
-        onSurfaceVariant = Color(0xFFC4C7C5),
-        outline = Color(0xFF8E918F),
-        outlineVariant = Color(0xFF444846),
-        scrim = Color(0xFF000000),
-        inverseSurface = Color(0xFFE5E2E1),
-        inverseOnSurface = Color(0xFF313030),
-        inversePrimary = Color(0xFF5D5F5F),
-        primaryFixed = Color(0xFFE2E2E2),
-        onPrimaryFixed = Color(0xFF1A1C1C),
-        primaryFixedDim = Color(0xFFC6C6C7),
-        onPrimaryFixedVariant = Color(0xFF454747),
-        secondaryFixed = Color(0xFFE2E2E2),
-        onSecondaryFixed = Color(0xFF1B1B1B),
-        secondaryFixedDim = Color(0xFFC6C6C6),
-        onSecondaryFixedVariant = Color(0xFF474747),
-        tertiaryFixed = Color(0xFFE2E2E2),
-        onTertiaryFixed = Color(0xFF1B1B1B),
-        tertiaryFixedDim = Color(0xFFC6C6C6),
-        onTertiaryFixedVariant = Color(0xFF474747),
-        surfaceDim = Color(0xFF141313),
-        surfaceBright = Color(0xFF3A3939),
-        surfaceContainerLowest = Color(0xFF0E0E0E),
-        surfaceContainerLow = Color(0xFF1C1B1B),
-        surfaceContainer = Color(0xFF000000),
-        surfaceContainerHigh = Color(0xFF2A2A2A),
-        surfaceContainerHighest = Color(0xFF353434),
-    )
-
-    val SoraLightColorScheme = lightColorScheme(
-        primary = Color(0xFF3B608F),
-        onPrimary = Color(0xFFFFFFFF),
-        primaryContainer = Color(0xFFD4E3FF),
-        onPrimaryContainer = Color(0xFF214876),
-        secondary = Color(0xFF545F71),
-        onSecondary = Color(0xFFFFFFFF),
-        secondaryContainer = Color(0xFFD8E3F8),
-        onSecondaryContainer = Color(0xFF3D4758),
-        tertiary = Color(0xFF6D5677),
-        onTertiary = Color(0xFFFFFFFF),
-        tertiaryContainer = Color(0xFFF6D9FF),
-        onTertiaryContainer = Color(0xFF543F5E),
-        error = Color(0xFFBA1A1A),
-        onError = Color(0xFFFFFFFF),
-        errorContainer = Color(0xFFFFDAD6),
-        onErrorContainer = Color(0xFF93000A),
-        background = Color(0xFFF8F9FF),
-        onBackground = Color(0xFF191C20),
-        surface = Color(0xFFF8F9FF),
-        onSurface = Color(0xFF191C20),
-        surfaceVariant = Color(0xFFDFE2EB),
-        onSurfaceVariant = Color(0xFF43474E),
-        outline = Color(0xFF73777F),
-        outlineVariant = Color(0xFFC3C6CF),
-        scrim = Color(0xFF000000),
-        inverseSurface = Color(0xFF2E3035),
-        inverseOnSurface = Color(0xFFF0F0F7),
-        inversePrimary = Color(0xFFA5C9FE),
-        primaryFixed = Color(0xFFD4E3FF),
-        onPrimaryFixed = Color(0xFF001C38),
-        primaryFixedDim = Color(0xFFA5C9FE),
-        onPrimaryFixedVariant = Color(0xFF214876),
-        secondaryFixed = Color(0xFFD8E3F8),
-        onSecondaryFixed = Color(0xFF111C2B),
-        secondaryFixedDim = Color(0xFFBCC7DC),
-        onSecondaryFixedVariant = Color(0xFF3D4758),
-        tertiaryFixed = Color(0xFFF6D9FF),
-        onTertiaryFixed = Color(0xFF271731),
-        tertiaryFixedDim = Color(0xFFD9BDE3),
-        onTertiaryFixedVariant = Color(0xFF543F5E),
-        surfaceDim = Color(0xFFD9DAE0),
-        surfaceBright = Color(0xFFF8F9FF),
-        surfaceContainerLowest = Color(0xFFFFFFFF),
-        surfaceContainerLow = Color(0xFFF2F3FA),
-        surfaceContainer = Color(0xFFEDEDF4),
-        surfaceContainerHigh = Color(0xFFE7E8EE),
-        surfaceContainerHighest = Color(0xFFE1E2E9),
-    )
-
-    val SoraDarkColorScheme = darkColorScheme(
-        primary = Color(0xFFA5C9FE),
-        onPrimary = Color(0xFF00315D),
-        primaryContainer = Color(0xFF214876),
-        onPrimaryContainer = Color(0xFFD4E3FF),
-        secondary = Color(0xFFBCC7DC),
-        onSecondary = Color(0xFF263141),
-        secondaryContainer = Color(0xFF3D4758),
-        onSecondaryContainer = Color(0xFFD8E3F8),
-        tertiary = Color(0xFFD9BDE3),
-        onTertiary = Color(0xFF3D2946),
-        tertiaryContainer = Color(0xFF543F5E),
-        onTertiaryContainer = Color(0xFFF6D9FF),
-        error = Color(0xFFFFB4AB),
-        onError = Color(0xFF690005),
-        errorContainer = Color(0xFF93000A),
-        onErrorContainer = Color(0xFFFFDAD6),
-        background = Color(0xFF111318),
-        onBackground = Color(0xFFE1E2E9),
-        surface = Color(0xFF111318),
-        onSurface = Color(0xFFE1E2E9),
-        surfaceVariant = Color(0xFF43474E),
-        onSurfaceVariant = Color(0xFFC3C6CF),
-        outline = Color(0xFF8D9199),
-        outlineVariant = Color(0xFF43474E),
-        scrim = Color(0xFF000000),
-        inverseSurface = Color(0xFFE1E2E9),
-        inverseOnSurface = Color(0xFF2E3035),
-        inversePrimary = Color(0xFF3B608F),
-        primaryFixed = Color(0xFFD4E3FF),
-        onPrimaryFixed = Color(0xFF001C38),
-        primaryFixedDim = Color(0xFFA5C9FE),
-        onPrimaryFixedVariant = Color(0xFF214876),
-        secondaryFixed = Color(0xFFD8E3F8),
-        onSecondaryFixed = Color(0xFF111C2B),
-        secondaryFixedDim = Color(0xFFBCC7DC),
-        onSecondaryFixedVariant = Color(0xFF3D4758),
-        tertiaryFixed = Color(0xFFF6D9FF),
-        onTertiaryFixed = Color(0xFF271731),
-        tertiaryFixedDim = Color(0xFFD9BDE3),
-        onTertiaryFixedVariant = Color(0xFF543F5E),
-        surfaceDim = Color(0xFF111318),
-        surfaceBright = Color(0xFF37393E),
-        surfaceContainerLowest = Color(0xFF0C0E13),
-        surfaceContainerLow = Color(0xFF191C20),
-        surfaceContainer = Color(0xFF1D2024),
-        surfaceContainerHigh = Color(0xFF282A2F),
-        surfaceContainerHighest = Color(0xFF32353A),
-    )
-
-    val AugustLightColorScheme = lightColorScheme(
-        primary = Color(0xFF8F4C37),
-        onPrimary = Color(0xFFFFFFFF),
-        primaryContainer = Color(0xFFFFDBD1),
-        onPrimaryContainer = Color(0xFF723522),
-        secondary = Color(0xFF77574D),
-        onSecondary = Color(0xFFFFFFFF),
-        secondaryContainer = Color(0xFFFFDBD1),
-        onSecondaryContainer = Color(0xFF5D4037),
-        tertiary = Color(0xFF6B5D2F),
-        onTertiary = Color(0xFFFFFFFF),
-        tertiaryContainer = Color(0xFFF5E1A7),
-        onTertiaryContainer = Color(0xFF524619),
-        error = Color(0xFFBA1A1A),
-        onError = Color(0xFFFFFFFF),
-        errorContainer = Color(0xFFFFDAD6),
-        onErrorContainer = Color(0xFF93000A),
-        background = Color(0xFFFFF8F6),
-        onBackground = Color(0xFF231917),
-        surface = Color(0xFFFFF8F6),
-        onSurface = Color(0xFF231917),
-        surfaceVariant = Color(0xFFF5DED7),
-        onSurfaceVariant = Color(0xFF53433F),
-        outline = Color(0xFF85736E),
-        outlineVariant = Color(0xFFD8C2BC),
-        scrim = Color(0xFF000000),
-        inverseSurface = Color(0xFF392E2B),
-        inverseOnSurface = Color(0xFFFFEDE8),
-        inversePrimary = Color(0xFFFFB59F),
-        primaryFixed = Color(0xFFFFDBD1),
-        onPrimaryFixed = Color(0xFF3A0B01),
-        primaryFixedDim = Color(0xFFFFB59F),
-        onPrimaryFixedVariant = Color(0xFF723522),
-        secondaryFixed = Color(0xFFFFDBD1),
-        onSecondaryFixed = Color(0xFF2C150E),
-        secondaryFixedDim = Color(0xFFE7BDB2),
-        onSecondaryFixedVariant = Color(0xFF5D4037),
-        tertiaryFixed = Color(0xFFF5E1A7),
-        onTertiaryFixed = Color(0xFF231B00),
-        tertiaryFixedDim = Color(0xFFD8C68D),
-        onTertiaryFixedVariant = Color(0xFF524619),
-        surfaceDim = Color(0xFFE8D6D2),
-        surfaceBright = Color(0xFFFFF8F6),
-        surfaceContainerLowest = Color(0xFFFFFFFF),
-        surfaceContainerLow = Color(0xFFFFF1ED),
-        surfaceContainer = Color(0xFFFCEAE5),
-        surfaceContainerHigh = Color(0xFFF7E4E0),
-        surfaceContainerHighest = Color(0xFFF1DFDA),
-    )
-
-    val AugustDarkColorScheme = darkColorScheme(
-        primary = Color(0xFFFFB59F),
-        onPrimary = Color(0xFF561F0E),
-        primaryContainer = Color(0xFF723522),
-        onPrimaryContainer = Color(0xFFFFDBD1),
-        secondary = Color(0xFFE7BDB2),
-        onSecondary = Color(0xFF442A22),
-        secondaryContainer = Color(0xFF5D4037),
-        onSecondaryContainer = Color(0xFFFFDBD1),
-        tertiary = Color(0xFFD8C68D),
-        onTertiary = Color(0xFF3A2F05),
-        tertiaryContainer = Color(0xFF524619),
-        onTertiaryContainer = Color(0xFFF5E1A7),
-        error = Color(0xFFFFB4AB),
-        onError = Color(0xFF690005),
-        errorContainer = Color(0xFF93000A),
-        onErrorContainer = Color(0xFFFFDAD6),
-        background = Color(0xFF1A110F),
-        onBackground = Color(0xFFF1DFDA),
-        surface = Color(0xFF1A110F),
-        onSurface = Color(0xFFF1DFDA),
-        surfaceVariant = Color(0xFF53433F),
-        onSurfaceVariant = Color(0xFFD8C2BC),
-        outline = Color(0xFFA08C87),
-        outlineVariant = Color(0xFF53433F),
-        scrim = Color(0xFF000000),
-        inverseSurface = Color(0xFFF1DFDA),
-        inverseOnSurface = Color(0xFF392E2B),
-        inversePrimary = Color(0xFF8F4C37),
-        primaryFixed = Color(0xFFFFDBD1),
-        onPrimaryFixed = Color(0xFF3A0B01),
-        primaryFixedDim = Color(0xFFFFB59F),
-        onPrimaryFixedVariant = Color(0xFF723522),
-        secondaryFixed = Color(0xFFFFDBD1),
-        onSecondaryFixed = Color(0xFF2C150E),
-        secondaryFixedDim = Color(0xFFE7BDB2),
-        onSecondaryFixedVariant = Color(0xFF5D4037),
-        tertiaryFixed = Color(0xFFF5E1A7),
-        onTertiaryFixed = Color(0xFF231B00),
-        tertiaryFixedDim = Color(0xFFD8C68D),
-        onTertiaryFixedVariant = Color(0xFF524619),
-        surfaceDim = Color(0xFF1A110F),
-        surfaceBright = Color(0xFF423734),
-        surfaceContainerLowest = Color(0xFF140C0A),
-        surfaceContainerLow = Color(0xFF231917),
-        surfaceContainer = Color(0xFF271D1B),
-        surfaceContainerHigh = Color(0xFF322825),
-        surfaceContainerHighest = Color(0xFF3D322F),
-    )
-
-    val CarlottaLightColorScheme = lightColorScheme(
-        primary = Color(0xFF8B4A62),
-        onPrimary = Color(0xFFFFFFFF),
-        primaryContainer = Color(0xFFFFD9E3),
-        onPrimaryContainer = Color(0xFF6F334A),
-        secondary = Color(0xFF74565F),
-        onSecondary = Color(0xFFFFFFFF),
-        secondaryContainer = Color(0xFFFFD9E3),
-        onSecondaryContainer = Color(0xFF5A3F48),
-        tertiary = Color(0xFF7D5635),
-        onTertiary = Color(0xFFFFFFFF),
-        tertiaryContainer = Color(0xFFFFDCC2),
-        onTertiaryContainer = Color(0xFF623F20),
-        error = Color(0xFFBA1A1A),
-        onError = Color(0xFFFFFFFF),
-        errorContainer = Color(0xFFFFDAD6),
-        onErrorContainer = Color(0xFF93000A),
-        background = Color(0xFFFFF8F8),
-        onBackground = Color(0xFF22191C),
-        surface = Color(0xFFFFF8F8),
-        onSurface = Color(0xFF22191C),
-        surfaceVariant = Color(0xFFF2DDE2),
-        onSurfaceVariant = Color(0xFF514347),
-        outline = Color(0xFF837377),
-        outlineVariant = Color(0xFFD5C2C6),
-        scrim = Color(0xFF000000),
-        inverseSurface = Color(0xFF372E30),
-        inverseOnSurface = Color(0xFFFDEDF0),
-        inversePrimary = Color(0xFFFFB0CA),
-        primaryFixed = Color(0xFFFFD9E3),
-        onPrimaryFixed = Color(0xFF39071E),
-        primaryFixedDim = Color(0xFFFFB0CA),
-        onPrimaryFixedVariant = Color(0xFF6F334A),
-        secondaryFixed = Color(0xFFFFD9E3),
-        onSecondaryFixed = Color(0xFF2B151D),
-        secondaryFixedDim = Color(0xFFE2BDC7),
-        onSecondaryFixedVariant = Color(0xFF5A3F48),
-        tertiaryFixed = Color(0xFFFFDCC2),
-        onTertiaryFixed = Color(0xFF2E1500),
-        tertiaryFixedDim = Color(0xFFEFBC94),
-        onTertiaryFixedVariant = Color(0xFF623F20),
-        surfaceDim = Color(0xFFE6D6D9),
-        surfaceBright = Color(0xFFFFF8F8),
-        surfaceContainerLowest = Color(0xFFFFFFFF),
-        surfaceContainerLow = Color(0xFFFFF0F2),
-        surfaceContainer = Color(0xFFFAEAED),
-        surfaceContainerHigh = Color(0xFFF4E4E7),
-        surfaceContainerHighest = Color(0xFFEFDFE2),
-    )
-
-    val CarlottaDarkColorScheme = darkColorScheme(
-        primary = Color(0xFFFFB0CA),
-        onPrimary = Color(0xFF541D33),
-        primaryContainer = Color(0xFF6F334A),
-        onPrimaryContainer = Color(0xFFFFD9E3),
-        secondary = Color(0xFFE2BDC7),
-        onSecondary = Color(0xFF422931),
-        secondaryContainer = Color(0xFF5A3F48),
-        onSecondaryContainer = Color(0xFFFFD9E3),
-        tertiary = Color(0xFFEFBC94),
-        onTertiary = Color(0xFF48290C),
-        tertiaryContainer = Color(0xFF623F20),
-        onTertiaryContainer = Color(0xFFFFDCC2),
-        error = Color(0xFFFFB4AB),
-        onError = Color(0xFF690005),
-        errorContainer = Color(0xFF93000A),
-        onErrorContainer = Color(0xFFFFDAD6),
-        background = Color(0xFF191114),
-        onBackground = Color(0xFFEFDFE2),
-        surface = Color(0xFF191114),
-        onSurface = Color(0xFFEFDFE2),
-        surfaceVariant = Color(0xFF514347),
-        onSurfaceVariant = Color(0xFFD5C2C6),
-        outline = Color(0xFF9E8C90),
-        outlineVariant = Color(0xFF514347),
-        scrim = Color(0xFF000000),
-        inverseSurface = Color(0xFFEFDFE2),
-        inverseOnSurface = Color(0xFF372E30),
-        inversePrimary = Color(0xFF8B4A62),
-        primaryFixed = Color(0xFFFFD9E3),
-        onPrimaryFixed = Color(0xFF39071E),
-        primaryFixedDim = Color(0xFFFFB0CA),
-        onPrimaryFixedVariant = Color(0xFF6F334A),
-        secondaryFixed = Color(0xFFFFD9E3),
-        onSecondaryFixed = Color(0xFF2B151D),
-        secondaryFixedDim = Color(0xFFE2BDC7),
-        onSecondaryFixedVariant = Color(0xFF5A3F48),
-        tertiaryFixed = Color(0xFFFFDCC2),
-        onTertiaryFixed = Color(0xFF2E1500),
-        tertiaryFixedDim = Color(0xFFEFBC94),
-        onTertiaryFixedVariant = Color(0xFF623F20),
-        surfaceDim = Color(0xFF191114),
-        surfaceBright = Color(0xFF403739),
-        surfaceContainerLowest = Color(0xFF140C0E),
-        surfaceContainerLow = Color(0xFF22191C),
-        surfaceContainer = Color(0xFF261D20),
-        surfaceContainerHigh = Color(0xFF31282A),
-        surfaceContainerHighest = Color(0xFF3C3235),
-    )
-
-    val KoharuLightColorScheme = lightColorScheme(
-        primary = Color(0xFF8F4A4D),
-        onPrimary = Color(0xFFFFFFFF),
-        primaryContainer = Color(0xFFFFDADA),
-        onPrimaryContainer = Color(0xFF3B080E),
-        secondary = Color(0xFF765657),
-        onSecondary = Color(0xFFFFFFFF),
-        secondaryContainer = Color(0xFFFFDADA),
-        onSecondaryContainer = Color(0xFF2C1516),
-        tertiary = Color(0xFF755A2F),
-        onTertiary = Color(0xFFFFFFFF),
-        tertiaryContainer = Color(0xFFFFDDB0),
-        onTertiaryContainer = Color(0xFF291800),
-        error = Color(0xFFBA1A1A),
-        onError = Color(0xFFFFFFFF),
-        errorContainer = Color(0xFFFFDAD6),
-        onErrorContainer = Color(0xFF93000A),
-        background = Color(0xFFFFF8F7),
-        onBackground = Color(0xFF221919),
-        surface = Color(0xFFFFF8F7),
-        onSurface = Color(0xFF221919),
-        surfaceVariant = Color(0xFFF4DDDD),
-        onSurfaceVariant = Color(0xFF524343),
-        outline = Color(0xFF857373),
-        outlineVariant = Color(0xFFD7C1C1),
-        scrim = Color(0xFF000000),
-        inverseSurface = Color(0xFF382E2E),
-        inverseOnSurface = Color(0xFFFFEDEC),
-        inversePrimary = Color(0xFFFFB3B4),
-        primaryFixed = Color(0xFFFFDADA),
-        onPrimaryFixed = Color(0xFF3B080E),
-        primaryFixedDim = Color(0xFFFFB3B4),
-        onPrimaryFixedVariant = Color(0xFF733337),
-        secondaryFixed = Color(0xFFFFDADA),
-        onSecondaryFixed = Color(0xFF2C1516),
-        secondaryFixedDim = Color(0xFFE6BDBD),
-        onSecondaryFixedVariant = Color(0xFF5D3F40),
-        tertiaryFixed = Color(0xFFFFDDB0),
-        onTertiaryFixed = Color(0xFF291800),
-        tertiaryFixedDim = Color(0xFFE6C18D),
-        onTertiaryFixedVariant = Color(0xFF5B421A),
-        surfaceDim = Color(0xFFE8D6D6),
-        surfaceBright = Color(0xFFFFF8F7),
-        surfaceContainerLowest = Color(0xFFFFFFFF),
-        surfaceContainerLow = Color(0xFFFFF0F0),
-        surfaceContainer = Color(0xFFFCEAE9),
-        surfaceContainerHigh = Color(0xFFF6E4E4),
-        surfaceContainerHighest = Color(0xFFF0DEDE),
-    )
-
-    val KoharuDarkColorScheme = darkColorScheme(
-        primary = Color(0xFFFFB3B4),
-        onPrimary = Color(0xFF561D22),
-        primaryContainer = Color(0xFF733337),
-        onPrimaryContainer = Color(0xFFFFDADA),
-        secondary = Color(0xFFE6BDBD),
-        onSecondary = Color(0xFF44292A),
-        secondaryContainer = Color(0xFF5D3F40),
-        onSecondaryContainer = Color(0xFFFFDADA),
-        tertiary = Color(0xFFE6C18D),
-        onTertiary = Color(0xFF422C05),
-        tertiaryContainer = Color(0xFF5B421A),
-        onTertiaryContainer = Color(0xFFFFDDB0),
-        error = Color(0xFFFFB4AB),
-        onError = Color(0xFF690005),
-        errorContainer = Color(0xFF93000A),
-        onErrorContainer = Color(0xFFFFDAD6),
-        background = Color(0xFF1A1111),
-        onBackground = Color(0xFFF0DEDE),
-        surface = Color(0xFF1A1111),
-        onSurface = Color(0xFFF0DEDE),
-        surfaceVariant = Color(0xFF524343),
-        onSurfaceVariant = Color(0xFFD7C1C1),
-        outline = Color(0xFF9F8C8C),
-        outlineVariant = Color(0xFF524343),
-        scrim = Color(0xFF000000),
-        inverseSurface = Color(0xFFF0DEDE),
-        inverseOnSurface = Color(0xFF382E2E),
-        inversePrimary = Color(0xFF8F4A4D),
-        primaryFixed = Color(0xFFFFDADA),
-        onPrimaryFixed = Color(0xFF3B080E),
-        primaryFixedDim = Color(0xFFFFB3B4),
-        onPrimaryFixedVariant = Color(0xFF733337),
-        secondaryFixed = Color(0xFFFFDADA),
-        onSecondaryFixed = Color(0xFF2C1516),
-        secondaryFixedDim = Color(0xFFE6BDBD),
-        onSecondaryFixedVariant = Color(0xFF5D3F40),
-        tertiaryFixed = Color(0xFFFFDDB0),
-        onTertiaryFixed = Color(0xFF291800),
-        tertiaryFixedDim = Color(0xFFE6C18D),
-        onTertiaryFixedVariant = Color(0xFF5B421A),
-        surfaceDim = Color(0xFF1A1111),
-        surfaceBright = Color(0xFF413737),
-        surfaceContainerLowest = Color(0xFF140C0C),
-        surfaceContainerLow = Color(0xFF221919),
-        surfaceContainer = Color(0xFF271D1D),
-        surfaceContainerHigh = Color(0xFF322828),
-        surfaceContainerHighest = Color(0xFF3D3232),
-    )
-
-    val YuukaLightColorScheme = lightColorScheme(
-        primary = Color(0xFF565992),
-        onPrimary = Color(0xFFFFFFFF),
-        primaryContainer = Color(0xFFE0E0FF),
-        onPrimaryContainer = Color(0xFF3E4278),
-        secondary = Color(0xFF5C5D72),
-        onSecondary = Color(0xFFFFFFFF),
-        secondaryContainer = Color(0xFFE1E0F9),
-        onSecondaryContainer = Color(0xFF444559),
-        tertiary = Color(0xFF78536B),
-        onTertiary = Color(0xFFFFFFFF),
-        tertiaryContainer = Color(0xFFFFD8EE),
-        onTertiaryContainer = Color(0xFF5E3C52),
-        error = Color(0xFFBA1A1A),
-        onError = Color(0xFFFFFFFF),
-        errorContainer = Color(0xFFFFDAD6),
-        onErrorContainer = Color(0xFF93000A),
-        background = Color(0xFFFBF8FF),
-        onBackground = Color(0xFF1B1B21),
-        surface = Color(0xFFFBF8FF),
-        onSurface = Color(0xFF1B1B21),
-        surfaceVariant = Color(0xFFE4E1EC),
-        onSurfaceVariant = Color(0xFF46464F),
-        outline = Color(0xFF777680),
-        outlineVariant = Color(0xFFC7C5D0),
-        scrim = Color(0xFF000000),
-        inverseSurface = Color(0xFF303036),
-        inverseOnSurface = Color(0xFFF2EFF7),
-        inversePrimary = Color(0xFFBFC2FF),
-        primaryFixed = Color(0xFFE0E0FF),
-        onPrimaryFixed = Color(0xFF11144B),
-        primaryFixedDim = Color(0xFFBFC2FF),
-        onPrimaryFixedVariant = Color(0xFF3E4278),
-        secondaryFixed = Color(0xFFE1E0F9),
-        onSecondaryFixed = Color(0xFF191A2C),
-        secondaryFixedDim = Color(0xFFC5C4DD),
-        onSecondaryFixedVariant = Color(0xFF444559),
-        tertiaryFixed = Color(0xFFFFD8EE),
-        onTertiaryFixed = Color(0xFF2E1126),
-        tertiaryFixedDim = Color(0xFFE8B9D5),
-        onTertiaryFixedVariant = Color(0xFF5E3C52),
-        surfaceDim = Color(0xFFDBD9E0),
-        surfaceBright = Color(0xFFFBF8FF),
-        surfaceContainerLowest = Color(0xFFFFFFFF),
-        surfaceContainerLow = Color(0xFFF5F2FA),
-        surfaceContainer = Color(0xFFF0ECF4),
-        surfaceContainerHigh = Color(0xFFEAE7EF),
-        surfaceContainerHighest = Color(0xFFE4E1E9),
-    )
-
-    val YuukaDarkColorScheme = darkColorScheme(
-        primary = Color(0xFFBFC2FF),
-        onPrimary = Color(0xFF272B60),
-        primaryContainer = Color(0xFF3E4278),
-        onPrimaryContainer = Color(0xFFE0E0FF),
-        secondary = Color(0xFFC5C4DD),
-        onSecondary = Color(0xFF2E2F42),
-        secondaryContainer = Color(0xFF444559),
-        onSecondaryContainer = Color(0xFFE1E0F9),
-        tertiary = Color(0xFFE8B9D5),
-        onTertiary = Color(0xFF46263B),
-        tertiaryContainer = Color(0xFF5E3C52),
-        onTertiaryContainer = Color(0xFFFFD8EE),
-        error = Color(0xFFFFB4AB),
-        onError = Color(0xFF690005),
-        errorContainer = Color(0xFF93000A),
-        onErrorContainer = Color(0xFFFFDAD6),
-        background = Color(0xFF131318),
-        onBackground = Color(0xFFE4E1E9),
-        surface = Color(0xFF131318),
-        onSurface = Color(0xFFE4E1E9),
-        surfaceVariant = Color(0xFF46464F),
-        onSurfaceVariant = Color(0xFFC7C5D0),
-        outline = Color(0xFF918F9A),
-        outlineVariant = Color(0xFF46464F),
-        scrim = Color(0xFF000000),
-        inverseSurface = Color(0xFFE4E1E9),
-        inverseOnSurface = Color(0xFF303036),
-        inversePrimary = Color(0xFF565992),
-        primaryFixed = Color(0xFFE0E0FF),
-        onPrimaryFixed = Color(0xFF11144B),
-        primaryFixedDim = Color(0xFFBFC2FF),
-        onPrimaryFixedVariant = Color(0xFF3E4278),
-        secondaryFixed = Color(0xFFE1E0F9),
-        onSecondaryFixed = Color(0xFF191A2C),
-        secondaryFixedDim = Color(0xFFC5C4DD),
-        onSecondaryFixedVariant = Color(0xFF444559),
-        tertiaryFixed = Color(0xFFFFD8EE),
-        onTertiaryFixed = Color(0xFF2E1126),
-        tertiaryFixedDim = Color(0xFFE8B9D5),
-        onTertiaryFixedVariant = Color(0xFF5E3C52),
-        surfaceDim = Color(0xFF131318),
-        surfaceBright = Color(0xFF39393F),
-        surfaceContainerLowest = Color(0xFF0E0E13),
-        surfaceContainerLow = Color(0xFF1B1B21),
-        surfaceContainer = Color(0xFF1F1F25),
-        surfaceContainerHigh = Color(0xFF2A292F),
-        surfaceContainerHighest = Color(0xFF34343A),
-    )
-
-    val PhoebeLightColorScheme = lightColorScheme(
-        primary = Color(0xFF6B5E10),
-        onPrimary = Color(0xFFFFFFFF),
-        primaryContainer = Color(0xFFF6E388),
-        onPrimaryContainer = Color(0xFF524700),
-        secondary = Color(0xFF475D92),
-        onSecondary = Color(0xFFFFFFFF),
-        secondaryContainer = Color(0xFFD9E2FF),
-        onSecondaryContainer = Color(0xFF2F4578),
-        tertiary = Color(0xFF01677D),
-        onTertiary = Color(0xFFFFFFFF),
-        tertiaryContainer = Color(0xFFB3EBFF),
-        onTertiaryContainer = Color(0xFF004E5F),
-        error = Color(0xFFBA1A1A),
-        onError = Color(0xFFFFFFFF),
-        errorContainer = Color(0xFFFFDAD6),
-        onErrorContainer = Color(0xFF93000A),
-        background = Color(0xFFFFF9EC),
-        onBackground = Color(0xFF1E1C13),
-        surface = Color(0xFFFFF9EC),
-        onSurface = Color(0xFF1E1C13),
-        surfaceVariant = Color(0xFFE9E2D0),
-        onSurfaceVariant = Color(0xFF4A4739),
-        outline = Color(0xFF7C7768),
-        outlineVariant = Color(0xFFCCC6B4),
-        scrim = Color(0xFF000000),
-        inverseSurface = Color(0xFF333027),
-        inverseOnSurface = Color(0xFFF6F0E2),
-        inversePrimary = Color(0xFFD9C76F),
-        primaryFixed = Color(0xFFF6E388),
-        onPrimaryFixed = Color(0xFF211B00),
-        primaryFixedDim = Color(0xFFD9C76F),
-        onPrimaryFixedVariant = Color(0xFF524700),
-        secondaryFixed = Color(0xFFD9E2FF),
-        onSecondaryFixed = Color(0xFF001946),
-        secondaryFixedDim = Color(0xFFB1C5FF),
-        onSecondaryFixedVariant = Color(0xFF2F4578),
-        tertiaryFixed = Color(0xFFB3EBFF),
-        onTertiaryFixed = Color(0xFF001F27),
-        tertiaryFixedDim = Color(0xFF86D1EA),
-        onTertiaryFixedVariant = Color(0xFF004E5F),
-        surfaceDim = Color(0xFFDFDACC),
-        surfaceBright = Color(0xFFFFF9EC),
-        surfaceContainerLowest = Color(0xFFFFFFFF),
-        surfaceContainerLow = Color(0xFFF9F3E5),
-        surfaceContainer = Color(0xFFF4EDDF),
-        surfaceContainerHigh = Color(0xFFEEE8DA),
-        surfaceContainerHighest = Color(0xFFE8E2D4),
-    )
-
-    val PhoebeDarkColorScheme = darkColorScheme(
-        primary = Color(0xFFD9C76F),
-        onPrimary = Color(0xFF383000),
-        primaryContainer = Color(0xFF524700),
-        onPrimaryContainer = Color(0xFFF6E388),
-        secondary = Color(0xFFB1C5FF),
-        onSecondary = Color(0xFF162E60),
-        secondaryContainer = Color(0xFF2F4578),
-        onSecondaryContainer = Color(0xFFD9E2FF),
-        tertiary = Color(0xFF86D1EA),
-        onTertiary = Color(0xFF003642),
-        tertiaryContainer = Color(0xFF004E5F),
-        onTertiaryContainer = Color(0xFFB3EBFF),
-        error = Color(0xFFFFB4AB),
-        onError = Color(0xFF690005),
-        errorContainer = Color(0xFF93000A),
-        onErrorContainer = Color(0xFFFFDAD6),
-        background = Color(0xFF15130C),
-        onBackground = Color(0xFFE8E2D4),
-        surface = Color(0xFF15130C),
-        onSurface = Color(0xFFE8E2D4),
-        surfaceVariant = Color(0xFF4A4739),
-        onSurfaceVariant = Color(0xFFCCC6B4),
-        outline = Color(0xFF969180),
-        outlineVariant = Color(0xFF4A4739),
-        scrim = Color(0xFF000000),
-        inverseSurface = Color(0xFFE8E2D4),
-        inverseOnSurface = Color(0xFF333027),
-        inversePrimary = Color(0xFF6B5E10),
-        primaryFixed = Color(0xFFF6E388),
-        onPrimaryFixed = Color(0xFF211B00),
-        primaryFixedDim = Color(0xFFD9C76F),
-        onPrimaryFixedVariant = Color(0xFF524700),
-        secondaryFixed = Color(0xFFD9E2FF),
-        onSecondaryFixed = Color(0xFF001946),
-        secondaryFixedDim = Color(0xFFB1C5FF),
-        onSecondaryFixedVariant = Color(0xFF2F4578),
-        tertiaryFixed = Color(0xFFB3EBFF),
-        onTertiaryFixed = Color(0xFF001F27),
-        tertiaryFixedDim = Color(0xFF86D1EA),
-        onTertiaryFixedVariant = Color(0xFF004E5F),
-        surfaceDim = Color(0xFF15130C),
-        surfaceBright = Color(0xFF3C3930),
-        surfaceContainerLowest = Color(0xFF100E07),
-        surfaceContainerLow = Color(0xFF1E1C13),
-        surfaceContainer = Color(0xFF222017),
-        surfaceContainerHigh = Color(0xFF2C2A21),
-        surfaceContainerHighest = Color(0xFF37352B),
-    )
-
-    val MujikaLightColorScheme = lightColorScheme(
-        primary = Color(0xFF8E4958),
-        onPrimary = Color(0xFFFFFFFF),
-        primaryContainer = Color(0xFFFFD9DF),
-        onPrimaryContainer = Color(0xFF713341),
-        secondary = Color(0xFF75565C),
-        onSecondary = Color(0xFFFFFFFF),
-        secondaryContainer = Color(0xFFFFD9DF),
-        onSecondaryContainer = Color(0xFF5C3F44),
-        tertiary = Color(0xFF4D5C92),
-        onTertiary = Color(0xFFFFFFFF),
-        tertiaryContainer = Color(0xFFDCE1FF),
-        onTertiaryContainer = Color(0xFF354479),
-        error = Color(0xFFBA1A1A),
-        onError = Color(0xFFFFFFFF),
-        errorContainer = Color(0xFFFFDAD6),
-        onErrorContainer = Color(0xFF93000A),
-        background = Color(0xFFFFF8F7),
-        onBackground = Color(0xFF22191B),
-        surface = Color(0xFFFFF8F7),
-        onSurface = Color(0xFF22191B),
-        surfaceVariant = Color(0xFFF3DDE0),
-        onSurfaceVariant = Color(0xFF524345),
-        outline = Color(0xFF847375),
-        outlineVariant = Color(0xFFD6C2C4),
-        scrim = Color(0xFF000000),
-        inverseSurface = Color(0xFF382E2F),
-        inverseOnSurface = Color(0xFFFEEDEE),
-        inversePrimary = Color(0xFFFFB1C0),
-        primaryFixed = Color(0xFFFFD9DF),
-        onPrimaryFixed = Color(0xFF3A0717),
-        primaryFixedDim = Color(0xFFFFB1C0),
-        onPrimaryFixedVariant = Color(0xFF713341),
-        secondaryFixed = Color(0xFFFFD9DF),
-        onSecondaryFixed = Color(0xFF2B151A),
-        secondaryFixedDim = Color(0xFFE4BDC3),
-        onSecondaryFixedVariant = Color(0xFF5C3F44),
-        tertiaryFixed = Color(0xFFDCE1FF),
-        onTertiaryFixed = Color(0xFF04174B),
-        tertiaryFixedDim = Color(0xFFB6C4FF),
-        onTertiaryFixedVariant = Color(0xFF354479),
-        surfaceDim = Color(0xFFE7D6D8),
-        surfaceBright = Color(0xFFFFF8F7),
-        surfaceContainerLowest = Color(0xFFFFFFFF),
-        surfaceContainerLow = Color(0xFFFFF0F1),
-        surfaceContainer = Color(0xFFFBEAEB),
-        surfaceContainerHigh = Color(0xFFF5E4E6),
-        surfaceContainerHighest = Color(0xFFEFDEE0),
-    )
-
-    val MujikaDarkColorScheme = darkColorScheme(
-        primary = Color(0xFFFFB1C0),
-        onPrimary = Color(0xFF551D2B),
-        primaryContainer = Color(0xFF713341),
-        onPrimaryContainer = Color(0xFFFFD9DF),
-        secondary = Color(0xFFE4BDC3),
-        onSecondary = Color(0xFF43292E),
-        secondaryContainer = Color(0xFF5C3F44),
-        onSecondaryContainer = Color(0xFFFFD9DF),
-        tertiary = Color(0xFFB6C4FF),
-        onTertiary = Color(0xFF1D2D61),
-        tertiaryContainer = Color(0xFF354479),
-        onTertiaryContainer = Color(0xFFDCE1FF),
-        error = Color(0xFFFFB4AB),
-        onError = Color(0xFF690005),
-        errorContainer = Color(0xFF93000A),
-        onErrorContainer = Color(0xFFFFDAD6),
-        background = Color(0xFF191113),
-        onBackground = Color(0xFFEFDEE0),
-        surface = Color(0xFF191113),
-        onSurface = Color(0xFFEFDEE0),
-        surfaceVariant = Color(0xFF524345),
-        onSurfaceVariant = Color(0xFFD6C2C4),
-        outline = Color(0xFF9F8C8F),
-        outlineVariant = Color(0xFF524345),
-        scrim = Color(0xFF000000),
-        inverseSurface = Color(0xFFEFDEE0),
-        inverseOnSurface = Color(0xFF382E2F),
-        inversePrimary = Color(0xFF8E4958),
-        primaryFixed = Color(0xFFFFD9DF),
-        onPrimaryFixed = Color(0xFF3A0717),
-        primaryFixedDim = Color(0xFFFFB1C0),
-        onPrimaryFixedVariant = Color(0xFF713341),
-        secondaryFixed = Color(0xFFFFD9DF),
-        onSecondaryFixed = Color(0xFF2B151A),
-        secondaryFixedDim = Color(0xFFE4BDC3),
-        onSecondaryFixedVariant = Color(0xFF5C3F44),
-        tertiaryFixed = Color(0xFFDCE1FF),
-        onTertiaryFixed = Color(0xFF04174B),
-        tertiaryFixedDim = Color(0xFFB6C4FF),
-        onTertiaryFixedVariant = Color(0xFF354479),
-        surfaceDim = Color(0xFF191113),
-        surfaceBright = Color(0xFF413738),
-        surfaceContainerLowest = Color(0xFF140C0D),
-        surfaceContainerLow = Color(0xFF22191B),
-        surfaceContainer = Color(0xFF261D1F),
-        surfaceContainerHigh = Color(0xFF312829),
-        surfaceContainerHighest = Color(0xFF3C3234),
-    )
-
-    val TransparentLightColorScheme = lightColorScheme(
-        primary = Color(0xFF000000),
-        onPrimary = Color(0xFFFFFFFF),
-        primaryContainer = Color(0xB0FFFFFF),
-        onPrimaryContainer = Color(0xFF000000),
-        secondary = Color(0xFF000000),
-        onSecondary = Color(0xB0FFFFFF),
-        secondaryContainer = Color(0xB0FFFFFF),
-        onSecondaryContainer = Color(0xFF000000),
-        tertiary = Color(0xFF000000),
-        onTertiary = Color(0xFF000000),
-        tertiaryContainer = Color(0xB0FFFFFF),
-        onTertiaryContainer = Color(0xFF000000),
-        error = Color(0xFFBA1A1A),
-        onError = Color(0xFFFFFFFF),
-        errorContainer = Color(0xFFFFDAD6),
-        onErrorContainer = Color(0xFF93000A),
-        background = Color(0x00FFFFFF),
-        onBackground = Color(0xFF1E1C13),
-        surface = Color(0x00FFFFFF),
-        onSurface = Color(0xFF1E1C13),
-        surfaceVariant = Color(0x1A000000),
-        onSurfaceVariant = Color(0x80000000),
-        outline = Color(0xFF7C7768),
-        outlineVariant = Color(0xFFCCC6B4),
-        scrim = Color(0x33000000),
-        inverseSurface = Color(0xFF333027),
-        inverseOnSurface = Color(0xFFF6F0E2),
-        inversePrimary = Color(0xA0FFFFFF),
-        // Material 3.1+ Fixed Colors
-        primaryFixed = Color(0xA0FFFFFF),
-        onPrimaryFixed = Color(0xFF211B00),
-        primaryFixedDim = Color(0xB0FFFFFF),
-        onPrimaryFixedVariant = Color(0xB0FFFFFF),
-        secondaryFixed = Color(0xB0FFFFFF),
-        onSecondaryFixed = Color(0xFF000000),
-        secondaryFixedDim = Color(0xB0FFFFFF),
-        onSecondaryFixedVariant = Color(0xB0FFFFFF),
-        tertiaryFixed = Color(0xB0FFFFFF),
-        onTertiaryFixed = Color(0xFF000000),
-        tertiaryFixedDim = Color(0xB0FFFFFF),
-        onTertiaryFixedVariant = Color(0xB0FFFFFF),
-        surfaceDim = Color(0x1AFFFFFF),
-        surfaceBright = Color(0x33FFFFFF),
-        surfaceContainerLowest = Color(0x0DFFFFFF),
-        surfaceContainerLow = Color(0x1AFFFFFF),
-        surfaceContainer = Color(0x33FFFFFF),
-        surfaceContainerHigh = Color(0x4DFFFFFF),
-        surfaceContainerHighest = Color(0x66FFFFFF),
-    )
-
-    val TransparentDarkColorScheme = darkColorScheme(
-        primary = Color(0xA0FFFFFF),
-        onPrimary = Color(0xFF000000),
-        primaryContainer = Color(0x80FFFFFF),
-        onPrimaryContainer = Color(0xFF000000),
-        secondary = Color(0x80FFFFFF),
-        onSecondary = Color(0xFF000000),
-        secondaryContainer = Color(0xA0FFFFFF),
-        onSecondaryContainer = Color(0xFF000000),
-        tertiary = Color(0x80FFFFFF),
-        onTertiary = Color(0xFF000000),
-        tertiaryContainer = Color(0x40FFFFFF),
-        onTertiaryContainer = Color(0xFF000000),
-        error = Color(0xFFCF6679),
-        onError = Color(0xFF000000),
-        errorContainer = Color(0xFF8B0000),
-        onErrorContainer = Color(0xFFFFFFFF),
-        background = Color(0x00000000),
-        onBackground = Color(0xFFEDE6FF),
-        surface = Color(0x00FFFFFF),
-        onSurface = Color(0xFFEDE6FF),
-        surfaceVariant = Color(0x40FFFFFF),
-        onSurfaceVariant = Color(0xB3FFFFFF),
-        outline = Color(0x8AFFFFFF),
-        outlineVariant = Color(0x33FFFFFF),
-        scrim = Color(0x66000000),
-        inverseSurface = Color(0xFFFFF9EC),
-        inverseOnSurface = Color(0xFF1E1C13),
-        inversePrimary = Color(0xA0FFFFFF),
-        primaryFixed = Color(0xA0FFFFFF),
-        onPrimaryFixed = Color(0xFF000000),
-        primaryFixedDim = Color(0xA0FFFFFF),
-        onPrimaryFixedVariant = Color(0xA0FFFFFF),
-        secondaryFixed = Color(0xA0FFFFFF),
-        onSecondaryFixed = Color(0xFF000000),
-        secondaryFixedDim = Color(0xA0FFFFFF),
-        onSecondaryFixedVariant = Color(0xA0FFFFFF),
-        tertiaryFixed = Color(0xA0FFFFFF),
-        onTertiaryFixed = Color(0xFF000000),
-        tertiaryFixedDim = Color(0xA0FFFFFF),
-        onTertiaryFixedVariant = Color(0xA0FFFFFF),
-        surfaceDim = Color(0x1AFFFFFF),
-        surfaceBright = Color(0x33FFFFFF),
-        surfaceContainerLowest = Color(0x0DFFFFFF),
-        surfaceContainerLow = Color(0x1AFFFFFF),
-        surfaceContainer = Color(0x33FFFFFF),
-        surfaceContainerHigh = Color(0x4DFFFFFF),
-        surfaceContainerHighest = Color(0x66FFFFFF),
-    )
-}

+ 53 - 0
app/src/main/java/io/legado/app/ui/theme/CustomColorScheme.kt

@@ -0,0 +1,53 @@
+package io.legado.app.ui.theme
+
+import android.app.UiModeManager
+import android.content.Context
+import android.os.Build
+import androidx.compose.ui.graphics.Color
+import androidx.core.content.getSystemService
+import com.materialkolor.Contrast
+import com.materialkolor.PaletteStyle
+import com.materialkolor.dynamicColorScheme
+
+internal class CustomColorScheme(
+    context: Context,
+    seed: Int,
+    style: PaletteStyle,
+) : BaseColorScheme() {
+    private val custom = CustomCompatColorScheme(context, seed, style)
+
+    override val darkScheme
+        get() = custom.darkScheme
+
+    override val lightScheme
+        get() = custom.lightScheme
+}
+
+private class CustomCompatColorScheme(
+    context: Context,
+    seed: Int,
+    style: PaletteStyle,
+) : BaseColorScheme() {
+    override val lightScheme = dynamicColorScheme(
+        seedColor = Color(seed),
+        isDark = false,
+        isAmoled = false,
+        style = style,
+        contrastLevel = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) {
+            context.getSystemService<UiModeManager>()?.contrast?.toDouble() ?: Contrast.Default.value
+        } else {
+            Contrast.Default.value
+        },
+    )
+    override val darkScheme = dynamicColorScheme(
+        seedColor = Color(seed),
+        isDark = true,
+        isAmoled = false,
+        style = style,
+        contrastLevel = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) {
+            context.getSystemService<UiModeManager>()?.contrast?.toDouble() ?: Contrast.Default.value
+        } else {
+            Contrast.Default.value
+        },
+    )
+}

+ 25 - 4
app/src/main/java/io/legado/app/ui/theme/ThemeState.kt

@@ -3,14 +3,35 @@ package io.legado.app.ui.theme
 import io.legado.app.help.config.AppConfig
 import io.legado.app.help.config.AppConfig
 import kotlinx.coroutines.flow.MutableStateFlow
 import kotlinx.coroutines.flow.MutableStateFlow
 import kotlinx.coroutines.flow.StateFlow
 import kotlinx.coroutines.flow.StateFlow
+import kotlinx.coroutines.flow.asStateFlow
 
 
 object ThemeState {
 object ThemeState {
-    private val _themeMode =
-        MutableStateFlow(resolveThemeMode(AppConfig.AppTheme.toString()))
 
 
-    val themeMode: StateFlow<AppThemeMode> = _themeMode
+    private val _themeMode = MutableStateFlow(resolveThemeMode(AppConfig.AppTheme.toString()))
+    val themeMode: StateFlow<AppThemeMode> = _themeMode.asStateFlow()
 
 
     fun updateThemeMode() {
     fun updateThemeMode() {
-        _themeMode.value = resolveThemeMode(AppConfig.AppTheme.toString())
+        val newMode = resolveThemeMode(AppConfig.AppTheme.toString())
+        if (_themeMode.value != newMode) {
+            _themeMode.value = newMode
+        }
     }
     }
 }
 }
+
+fun resolveThemeMode(value: String): AppThemeMode = when (value) {
+    "0" -> AppThemeMode.Dynamic
+    "1" -> AppThemeMode.GR
+    "2" -> AppThemeMode.Lemon
+    "3" -> AppThemeMode.WH
+    "4" -> AppThemeMode.Elink
+    "5" -> AppThemeMode.Sora
+    "6" -> AppThemeMode.August
+    "7" -> AppThemeMode.Carlotta
+    "8" -> AppThemeMode.Koharu
+    "9" -> AppThemeMode.Yuuka
+    "10" -> AppThemeMode.Phoebe
+    "11" -> AppThemeMode.Mujika
+    "12" -> AppThemeMode.CUSTOM
+    "13" -> AppThemeMode.Transparent
+    else -> AppThemeMode.Dynamic
+}

+ 109 - 0
app/src/main/java/io/legado/app/ui/theme/colorScheme/AugustColorScheme.kt

@@ -0,0 +1,109 @@
+package io.legado.app.ui.theme.colorScheme
+
+import androidx.compose.material3.darkColorScheme
+import androidx.compose.material3.lightColorScheme
+import androidx.compose.ui.graphics.Color
+import io.legado.app.ui.theme.BaseColorScheme
+
+internal object AugustColorScheme : BaseColorScheme() {
+
+    override val lightScheme = lightColorScheme(
+        primary = Color(0xFF8F4C37),
+        onPrimary = Color(0xFFFFFFFF),
+        primaryContainer = Color(0xFFFFDBD1),
+        onPrimaryContainer = Color(0xFF723522),
+        secondary = Color(0xFF77574D),
+        onSecondary = Color(0xFFFFFFFF),
+        secondaryContainer = Color(0xFFFFDBD1),
+        onSecondaryContainer = Color(0xFF5D4037),
+        tertiary = Color(0xFF6B5D2F),
+        onTertiary = Color(0xFFFFFFFF),
+        tertiaryContainer = Color(0xFFF5E1A7),
+        onTertiaryContainer = Color(0xFF524619),
+        error = Color(0xFFBA1A1A),
+        onError = Color(0xFFFFFFFF),
+        errorContainer = Color(0xFFFFDAD6),
+        onErrorContainer = Color(0xFF93000A),
+        background = Color(0xFFFFF8F6),
+        onBackground = Color(0xFF231917),
+        surface = Color(0xFFFFF8F6),
+        onSurface = Color(0xFF231917),
+        surfaceVariant = Color(0xFFF5DED7),
+        onSurfaceVariant = Color(0xFF53433F),
+        outline = Color(0xFF85736E),
+        outlineVariant = Color(0xFFD8C2BC),
+        scrim = Color(0xFF000000),
+        inverseSurface = Color(0xFF392E2B),
+        inverseOnSurface = Color(0xFFFFEDE8),
+        inversePrimary = Color(0xFFFFB59F),
+        primaryFixed = Color(0xFFFFDBD1),
+        onPrimaryFixed = Color(0xFF3A0B01),
+        primaryFixedDim = Color(0xFFFFB59F),
+        onPrimaryFixedVariant = Color(0xFF723522),
+        secondaryFixed = Color(0xFFFFDBD1),
+        onSecondaryFixed = Color(0xFF2C150E),
+        secondaryFixedDim = Color(0xFFE7BDB2),
+        onSecondaryFixedVariant = Color(0xFF5D4037),
+        tertiaryFixed = Color(0xFFF5E1A7),
+        onTertiaryFixed = Color(0xFF231B00),
+        tertiaryFixedDim = Color(0xFFD8C68D),
+        onTertiaryFixedVariant = Color(0xFF524619),
+        surfaceDim = Color(0xFFE8D6D2),
+        surfaceBright = Color(0xFFFFF8F6),
+        surfaceContainerLowest = Color(0xFFFFFFFF),
+        surfaceContainerLow = Color(0xFFFFF1ED),
+        surfaceContainer = Color(0xFFFCEAE5),
+        surfaceContainerHigh = Color(0xFFF7E4E0),
+        surfaceContainerHighest = Color(0xFFF1DFDA),
+    )
+
+    override val darkScheme = darkColorScheme(
+        primary = Color(0xFFFFB59F),
+        onPrimary = Color(0xFF561F0E),
+        primaryContainer = Color(0xFF723522),
+        onPrimaryContainer = Color(0xFFFFDBD1),
+        secondary = Color(0xFFE7BDB2),
+        onSecondary = Color(0xFF442A22),
+        secondaryContainer = Color(0xFF5D4037),
+        onSecondaryContainer = Color(0xFFFFDBD1),
+        tertiary = Color(0xFFD8C68D),
+        onTertiary = Color(0xFF3A2F05),
+        tertiaryContainer = Color(0xFF524619),
+        onTertiaryContainer = Color(0xFFF5E1A7),
+        error = Color(0xFFFFB4AB),
+        onError = Color(0xFF690005),
+        errorContainer = Color(0xFF93000A),
+        onErrorContainer = Color(0xFFFFDAD6),
+        background = Color(0xFF1A110F),
+        onBackground = Color(0xFFF1DFDA),
+        surface = Color(0xFF1A110F),
+        onSurface = Color(0xFFF1DFDA),
+        surfaceVariant = Color(0xFF53433F),
+        onSurfaceVariant = Color(0xFFD8C2BC),
+        outline = Color(0xFFA08C87),
+        outlineVariant = Color(0xFF53433F),
+        scrim = Color(0xFF000000),
+        inverseSurface = Color(0xFFF1DFDA),
+        inverseOnSurface = Color(0xFF392E2B),
+        inversePrimary = Color(0xFF8F4C37),
+        primaryFixed = Color(0xFFFFDBD1),
+        onPrimaryFixed = Color(0xFF3A0B01),
+        primaryFixedDim = Color(0xFFFFB59F),
+        onPrimaryFixedVariant = Color(0xFF723522),
+        secondaryFixed = Color(0xFFFFDBD1),
+        onSecondaryFixed = Color(0xFF2C150E),
+        secondaryFixedDim = Color(0xFFE7BDB2),
+        onSecondaryFixedVariant = Color(0xFF5D4037),
+        tertiaryFixed = Color(0xFFF5E1A7),
+        onTertiaryFixed = Color(0xFF231B00),
+        tertiaryFixedDim = Color(0xFFD8C68D),
+        onTertiaryFixedVariant = Color(0xFF524619),
+        surfaceDim = Color(0xFF1A110F),
+        surfaceBright = Color(0xFF423734),
+        surfaceContainerLowest = Color(0xFF140C0A),
+        surfaceContainerLow = Color(0xFF231917),
+        surfaceContainer = Color(0xFF271D1B),
+        surfaceContainerHigh = Color(0xFF322825),
+        surfaceContainerHighest = Color(0xFF3D322F),
+    )
+}

+ 109 - 0
app/src/main/java/io/legado/app/ui/theme/colorScheme/CarlottaColorScheme.kt

@@ -0,0 +1,109 @@
+package io.legado.app.ui.theme.colorScheme
+
+import androidx.compose.material3.darkColorScheme
+import androidx.compose.material3.lightColorScheme
+import androidx.compose.ui.graphics.Color
+import io.legado.app.ui.theme.BaseColorScheme
+
+internal object CarlottaColorScheme : BaseColorScheme() {
+
+    override val lightScheme = lightColorScheme(
+        primary = Color(0xFF8B4A62),
+        onPrimary = Color(0xFFFFFFFF),
+        primaryContainer = Color(0xFFFFD9E3),
+        onPrimaryContainer = Color(0xFF6F334A),
+        secondary = Color(0xFF74565F),
+        onSecondary = Color(0xFFFFFFFF),
+        secondaryContainer = Color(0xFFFFD9E3),
+        onSecondaryContainer = Color(0xFF5A3F48),
+        tertiary = Color(0xFF7D5635),
+        onTertiary = Color(0xFFFFFFFF),
+        tertiaryContainer = Color(0xFFFFDCC2),
+        onTertiaryContainer = Color(0xFF623F20),
+        error = Color(0xFFBA1A1A),
+        onError = Color(0xFFFFFFFF),
+        errorContainer = Color(0xFFFFDAD6),
+        onErrorContainer = Color(0xFF93000A),
+        background = Color(0xFFFFF8F8),
+        onBackground = Color(0xFF22191C),
+        surface = Color(0xFFFFF8F8),
+        onSurface = Color(0xFF22191C),
+        surfaceVariant = Color(0xFFF2DDE2),
+        onSurfaceVariant = Color(0xFF514347),
+        outline = Color(0xFF837377),
+        outlineVariant = Color(0xFFD5C2C6),
+        scrim = Color(0xFF000000),
+        inverseSurface = Color(0xFF372E30),
+        inverseOnSurface = Color(0xFFFDEDF0),
+        inversePrimary = Color(0xFFFFB0CA),
+        primaryFixed = Color(0xFFFFD9E3),
+        onPrimaryFixed = Color(0xFF39071E),
+        primaryFixedDim = Color(0xFFFFB0CA),
+        onPrimaryFixedVariant = Color(0xFF6F334A),
+        secondaryFixed = Color(0xFFFFD9E3),
+        onSecondaryFixed = Color(0xFF2B151D),
+        secondaryFixedDim = Color(0xFFE2BDC7),
+        onSecondaryFixedVariant = Color(0xFF5A3F48),
+        tertiaryFixed = Color(0xFFFFDCC2),
+        onTertiaryFixed = Color(0xFF2E1500),
+        tertiaryFixedDim = Color(0xFFEFBC94),
+        onTertiaryFixedVariant = Color(0xFF623F20),
+        surfaceDim = Color(0xFFE6D6D9),
+        surfaceBright = Color(0xFFFFF8F8),
+        surfaceContainerLowest = Color(0xFFFFFFFF),
+        surfaceContainerLow = Color(0xFFFFF0F2),
+        surfaceContainer = Color(0xFFFAEAED),
+        surfaceContainerHigh = Color(0xFFF4E4E7),
+        surfaceContainerHighest = Color(0xFFEFDFE2),
+    )
+
+    override val darkScheme = darkColorScheme(
+        primary = Color(0xFFFFB0CA),
+        onPrimary = Color(0xFF541D33),
+        primaryContainer = Color(0xFF6F334A),
+        onPrimaryContainer = Color(0xFFFFD9E3),
+        secondary = Color(0xFFE2BDC7),
+        onSecondary = Color(0xFF422931),
+        secondaryContainer = Color(0xFF5A3F48),
+        onSecondaryContainer = Color(0xFFFFD9E3),
+        tertiary = Color(0xFFEFBC94),
+        onTertiary = Color(0xFF48290C),
+        tertiaryContainer = Color(0xFF623F20),
+        onTertiaryContainer = Color(0xFFFFDCC2),
+        error = Color(0xFFFFB4AB),
+        onError = Color(0xFF690005),
+        errorContainer = Color(0xFF93000A),
+        onErrorContainer = Color(0xFFFFDAD6),
+        background = Color(0xFF191114),
+        onBackground = Color(0xFFEFDFE2),
+        surface = Color(0xFF191114),
+        onSurface = Color(0xFFEFDFE2),
+        surfaceVariant = Color(0xFF514347),
+        onSurfaceVariant = Color(0xFFD5C2C6),
+        outline = Color(0xFF9E8C90),
+        outlineVariant = Color(0xFF514347),
+        scrim = Color(0xFF000000),
+        inverseSurface = Color(0xFFEFDFE2),
+        inverseOnSurface = Color(0xFF372E30),
+        inversePrimary = Color(0xFF8B4A62),
+        primaryFixed = Color(0xFFFFD9E3),
+        onPrimaryFixed = Color(0xFF39071E),
+        primaryFixedDim = Color(0xFFFFB0CA),
+        onPrimaryFixedVariant = Color(0xFF6F334A),
+        secondaryFixed = Color(0xFFFFD9E3),
+        onSecondaryFixed = Color(0xFF2B151D),
+        secondaryFixedDim = Color(0xFFE2BDC7),
+        onSecondaryFixedVariant = Color(0xFF5A3F48),
+        tertiaryFixed = Color(0xFFFFDCC2),
+        onTertiaryFixed = Color(0xFF2E1500),
+        tertiaryFixedDim = Color(0xFFEFBC94),
+        onTertiaryFixedVariant = Color(0xFF623F20),
+        surfaceDim = Color(0xFF191114),
+        surfaceBright = Color(0xFF403739),
+        surfaceContainerLowest = Color(0xFF140C0E),
+        surfaceContainerLow = Color(0xFF22191C),
+        surfaceContainer = Color(0xFF261D20),
+        surfaceContainerHigh = Color(0xFF31282A),
+        surfaceContainerHighest = Color(0xFF3C3235),
+    )
+}

+ 109 - 0
app/src/main/java/io/legado/app/ui/theme/colorScheme/ElinkColorScheme.kt

@@ -0,0 +1,109 @@
+package io.legado.app.ui.theme.colorScheme
+
+import androidx.compose.material3.darkColorScheme
+import androidx.compose.material3.lightColorScheme
+import androidx.compose.ui.graphics.Color
+import io.legado.app.ui.theme.BaseColorScheme
+
+internal object ElinkColorScheme : BaseColorScheme() {
+
+    override val lightScheme = lightColorScheme(
+        primary = Color(0xFF000000),
+        onPrimary = Color(0xFFFFFFFF),
+        primaryContainer = Color(0xFF000000),
+        onPrimaryContainer = Color(0xFFFFFFFF),
+        secondary = Color(0xFF000000),
+        onSecondary = Color(0xFFFFFFFF),
+        secondaryContainer = Color(0xFF808080),
+        onSecondaryContainer = Color(0xFFFFFFFF),
+        tertiary = Color(0xFF000000),
+        onTertiary = Color(0xFFFFFFFF),
+        tertiaryContainer = Color(0xFF000000),
+        onTertiaryContainer = Color(0xFFFFFFFF),
+        error = Color(0xFFBA1A1A),
+        onError = Color(0xFFFFFFFF),
+        errorContainer = Color(0xFFFFDAD6),
+        onErrorContainer = Color(0xFF93000A),
+        background = Color(0xFFFFFFFF),
+        onBackground = Color(0xFF000000),
+        surface = Color(0xFFFFFFFF),
+        onSurface = Color(0xFF000000),
+        surfaceVariant = Color(0xFFFFFFFF),
+        onSurfaceVariant = Color(0xFF000000),
+        outline = Color(0xFF000000),
+        outlineVariant = Color(0xFF000000),
+        scrim = Color(0xFF000000),
+        inverseSurface = Color(0xFF313030),
+        inverseOnSurface = Color(0xFFFFFFFF),
+        inversePrimary = Color(0xFFFFFFFF),
+        primaryFixed = Color(0xFFFFFFFF),
+        onPrimaryFixed = Color(0xFF1A1C1C),
+        primaryFixedDim = Color(0xFFC6C6C7),
+        onPrimaryFixedVariant = Color(0xFF454747),
+        secondaryFixed = Color(0xFFE2E2E2),
+        onSecondaryFixed = Color(0xFF1B1B1B),
+        secondaryFixedDim = Color(0xFFC6C6C6),
+        onSecondaryFixedVariant = Color(0xFF474747),
+        tertiaryFixed = Color(0xFFFFFFFF),
+        onTertiaryFixed = Color(0xFF1B1B1B),
+        tertiaryFixedDim = Color(0xFFC6C6C6),
+        onTertiaryFixedVariant = Color(0xFF474747),
+        surfaceDim = Color(0xFFFFFFFF),
+        surfaceBright = Color(0xFFFFFFFF),
+        surfaceContainerLowest = Color(0xFFFFFFFF),
+        surfaceContainerLow = Color(0xFFFFFFFF),
+        surfaceContainer = Color(0xFFFFFFFF),
+        surfaceContainerHigh = Color(0xFFFFFFFF),
+        surfaceContainerHighest = Color(0xFFFFFFFF),
+    )
+
+    override val darkScheme = darkColorScheme(
+        primary = Color(0xFFFFFFFF),
+        onPrimary = Color(0xFF000000),
+        primaryContainer = Color(0xFFFFFFFF),
+        onPrimaryContainer = Color(0xFF000000),
+        secondary = Color(0xFFFFFFFF),
+        onSecondary = Color(0xFF000000),
+        secondaryContainer = Color(0xFF808080),
+        onSecondaryContainer = Color(0xFFFFFFFF),
+        tertiary = Color(0xFFFFFFFF),
+        onTertiary = Color(0xFF000000),
+        tertiaryContainer = Color(0xFFFFFFFF),
+        onTertiaryContainer = Color(0xFF000000),
+        error = Color(0xFFFFB4AB),
+        onError = Color(0xFF690005),
+        errorContainer = Color(0xFF93000A),
+        onErrorContainer = Color(0xFFFFDAD6),
+        background = Color(0xFF000000),
+        onBackground = Color(0xFFFFFFFF),
+        surface = Color(0xFF000000),
+        onSurface = Color(0xFFFFFFFF),
+        surfaceVariant = Color(0xFF444846),
+        onSurfaceVariant = Color(0xFFC4C7C5),
+        outline = Color(0xFF8E918F),
+        outlineVariant = Color(0xFF444846),
+        scrim = Color(0xFF000000),
+        inverseSurface = Color(0xFFE5E2E1),
+        inverseOnSurface = Color(0xFF313030),
+        inversePrimary = Color(0xFF5D5F5F),
+        primaryFixed = Color(0xFFE2E2E2),
+        onPrimaryFixed = Color(0xFF1A1C1C),
+        primaryFixedDim = Color(0xFFC6C6C7),
+        onPrimaryFixedVariant = Color(0xFF454747),
+        secondaryFixed = Color(0xFFE2E2E2),
+        onSecondaryFixed = Color(0xFF1B1B1B),
+        secondaryFixedDim = Color(0xFFC6C6C6),
+        onSecondaryFixedVariant = Color(0xFF474747),
+        tertiaryFixed = Color(0xFFE2E2E2),
+        onTertiaryFixed = Color(0xFF1B1B1B),
+        tertiaryFixedDim = Color(0xFFC6C6C6),
+        onTertiaryFixedVariant = Color(0xFF474747),
+        surfaceDim = Color(0xFF141313),
+        surfaceBright = Color(0xFF3A3939),
+        surfaceContainerLowest = Color(0xFF0E0E0E),
+        surfaceContainerLow = Color(0xFF1C1B1B),
+        surfaceContainer = Color(0xFF000000),
+        surfaceContainerHigh = Color(0xFF2A2A2A),
+        surfaceContainerHighest = Color(0xFF353434),
+    )
+}

+ 110 - 0
app/src/main/java/io/legado/app/ui/theme/colorScheme/GRColorScheme.kt

@@ -0,0 +1,110 @@
+package io.legado.app.ui.theme.colorScheme
+
+import androidx.compose.material3.darkColorScheme
+import androidx.compose.material3.lightColorScheme
+import androidx.compose.ui.graphics.Color
+import io.legado.app.ui.theme.BaseColorScheme
+
+internal object GRColorScheme : BaseColorScheme(){
+
+    override val lightScheme = lightColorScheme(
+        primary = Color(0xFF4C662B),
+        onPrimary = Color(0xFFFFFFFF),
+        primaryContainer = Color(0xFFCDEDA3),
+        onPrimaryContainer = Color(0xFF354E16),
+        secondary = Color(0xFF586249),
+        onSecondary = Color(0xFFFFFFFF),
+        secondaryContainer = Color(0xFFDCE7C8),
+        onSecondaryContainer = Color(0xFF404A33),
+        tertiary = Color(0xFF386663),
+        onTertiary = Color(0xFFFFFFFF),
+        tertiaryContainer = Color(0xFFBCECE7),
+        onTertiaryContainer = Color(0xFF1F4E4B),
+        error = Color(0xFFBA1A1A),
+        onError = Color(0xFFFFFFFF),
+        errorContainer = Color(0xFFFFDAD6),
+        onErrorContainer = Color(0xFF93000A),
+        background = Color(0xFFF9FAEF),
+        onBackground = Color(0xFF1A1C16),
+        surface = Color(0xFFF9FAEF),
+        onSurface = Color(0xFF1A1C16),
+        surfaceVariant = Color(0xFFE1E4D5),
+        onSurfaceVariant = Color(0xFF44483D),
+        outline = Color(0xFF75796C),
+        outlineVariant = Color(0xFFC5C8BA),
+        scrim = Color(0xFF000000),
+        inverseSurface = Color(0xFF2F312A),
+        inverseOnSurface = Color(0xFFF1F2E6),
+        inversePrimary = Color(0xFFB1D18A),
+        primaryFixed = Color(0xFFCDEDA3),
+        onPrimaryFixed = Color(0xFF102000),
+        primaryFixedDim = Color(0xFFB1D18A),
+        onPrimaryFixedVariant = Color(0xFF354E16),
+        secondaryFixed = Color(0xFFDCE7C8),
+        onSecondaryFixed = Color(0xFF181E0B),
+        secondaryFixedDim = Color(0xFFBFCBAD),
+        onSecondaryFixedVariant = Color(0xFF404A33),
+        tertiaryFixed = Color(0xFFBCECE7),
+        onTertiaryFixed = Color(0xFF00201E),
+        tertiaryFixedDim = Color(0xFFA0D0CB),
+        onTertiaryFixedVariant = Color(0xFF1F4E4B),
+        surfaceDim = Color(0xFFDADBD0),
+        surfaceBright = Color(0xFFF9FAEF),
+        surfaceContainerLowest = Color(0xFFFFFFFF),
+        surfaceContainerLow = Color(0xFFF3F4E9),
+        surfaceContainer = Color(0xFFEEEFE3),
+        surfaceContainerHigh = Color(0xFFE8E9DE),
+        surfaceContainerHighest = Color(0xFFE2E3D8),
+    )
+
+    override val darkScheme = darkColorScheme(
+        primary = Color(0xFFB1D18A),
+        onPrimary = Color(0xFF1F3701),
+        primaryContainer = Color(0xFF354E16),
+        onPrimaryContainer = Color(0xFFCDEDA3),
+        secondary = Color(0xFFBFCBAD),
+        onSecondary = Color(0xFF2A331E),
+        secondaryContainer = Color(0xFF404A33),
+        onSecondaryContainer = Color(0xFFDCE7C8),
+        tertiary = Color(0xFFA0D0CB),
+        onTertiary = Color(0xFF003735),
+        tertiaryContainer = Color(0xFF1F4E4B),
+        onTertiaryContainer = Color(0xFFBCECE7),
+        error = Color(0xFFFFB4AB),
+        onError = Color(0xFF690005),
+        errorContainer = Color(0xFF93000A),
+        onErrorContainer = Color(0xFFFFDAD6),
+        background = Color(0xFF12140E),
+        onBackground = Color(0xFFE2E3D8),
+        surface = Color(0xFF12140E),
+        onSurface = Color(0xFFE2E3D8),
+        surfaceVariant = Color(0xFF44483D),
+        onSurfaceVariant = Color(0xFFC5C8BA),
+        outline = Color(0xFF8F9285),
+        outlineVariant = Color(0xFF44483D),
+        scrim = Color(0xFF000000),
+        inverseSurface = Color(0xFFE2E3D8),
+        inverseOnSurface = Color(0xFF2F312A),
+        inversePrimary = Color(0xFF4C662B),
+        primaryFixed = Color(0xFFCDEDA3),
+        onPrimaryFixed = Color(0xFF102000),
+        primaryFixedDim = Color(0xFFB1D18A),
+        onPrimaryFixedVariant = Color(0xFF354E16),
+        secondaryFixed = Color(0xFFDCE7C8),
+        onSecondaryFixed = Color(0xFF181E0B),
+        secondaryFixedDim = Color(0xFFBFCBAD),
+        onSecondaryFixedVariant = Color(0xFF404A33),
+        tertiaryFixed = Color(0xFFBCECE7),
+        onTertiaryFixed = Color(0xFF00201E),
+        tertiaryFixedDim = Color(0xFFA0D0CB),
+        onTertiaryFixedVariant = Color(0xFF1F4E4B),
+        surfaceDim = Color(0xFF12140E),
+        surfaceBright = Color(0xFF383A32),
+        surfaceContainerLowest = Color(0xFF0C0F09),
+        surfaceContainerLow = Color(0xFF1A1C16),
+        surfaceContainer = Color(0xFF1E201A),
+        surfaceContainerHigh = Color(0xFF282B24),
+        surfaceContainerHighest = Color(0xFF33362E),
+    )
+
+}

+ 109 - 0
app/src/main/java/io/legado/app/ui/theme/colorScheme/KoharuColorScheme.kt

@@ -0,0 +1,109 @@
+package io.legado.app.ui.theme.colorScheme
+
+import androidx.compose.material3.darkColorScheme
+import androidx.compose.material3.lightColorScheme
+import androidx.compose.ui.graphics.Color
+import io.legado.app.ui.theme.BaseColorScheme
+
+internal object KoharuColorScheme : BaseColorScheme() {
+
+    override val lightScheme = lightColorScheme(
+        primary = Color(0xFF8F4A4D),
+        onPrimary = Color(0xFFFFFFFF),
+        primaryContainer = Color(0xFFFFDADA),
+        onPrimaryContainer = Color(0xFF3B080E),
+        secondary = Color(0xFF765657),
+        onSecondary = Color(0xFFFFFFFF),
+        secondaryContainer = Color(0xFFFFDADA),
+        onSecondaryContainer = Color(0xFF2C1516),
+        tertiary = Color(0xFF755A2F),
+        onTertiary = Color(0xFFFFFFFF),
+        tertiaryContainer = Color(0xFFFFDDB0),
+        onTertiaryContainer = Color(0xFF291800),
+        error = Color(0xFFBA1A1A),
+        onError = Color(0xFFFFFFFF),
+        errorContainer = Color(0xFFFFDAD6),
+        onErrorContainer = Color(0xFF93000A),
+        background = Color(0xFFFFF8F7),
+        onBackground = Color(0xFF221919),
+        surface = Color(0xFFFFF8F7),
+        onSurface = Color(0xFF221919),
+        surfaceVariant = Color(0xFFF4DDDD),
+        onSurfaceVariant = Color(0xFF524343),
+        outline = Color(0xFF857373),
+        outlineVariant = Color(0xFFD7C1C1),
+        scrim = Color(0xFF000000),
+        inverseSurface = Color(0xFF382E2E),
+        inverseOnSurface = Color(0xFFFFEDEC),
+        inversePrimary = Color(0xFFFFB3B4),
+        primaryFixed = Color(0xFFFFDADA),
+        onPrimaryFixed = Color(0xFF3B080E),
+        primaryFixedDim = Color(0xFFFFB3B4),
+        onPrimaryFixedVariant = Color(0xFF733337),
+        secondaryFixed = Color(0xFFFFDADA),
+        onSecondaryFixed = Color(0xFF2C1516),
+        secondaryFixedDim = Color(0xFFE6BDBD),
+        onSecondaryFixedVariant = Color(0xFF5D3F40),
+        tertiaryFixed = Color(0xFFFFDDB0),
+        onTertiaryFixed = Color(0xFF291800),
+        tertiaryFixedDim = Color(0xFFE6C18D),
+        onTertiaryFixedVariant = Color(0xFF5B421A),
+        surfaceDim = Color(0xFFE8D6D6),
+        surfaceBright = Color(0xFFFFF8F7),
+        surfaceContainerLowest = Color(0xFFFFFFFF),
+        surfaceContainerLow = Color(0xFFFFF0F0),
+        surfaceContainer = Color(0xFFFCEAE9),
+        surfaceContainerHigh = Color(0xFFF6E4E4),
+        surfaceContainerHighest = Color(0xFFF0DEDE),
+    )
+
+    override val darkScheme = darkColorScheme(
+        primary = Color(0xFFFFB3B4),
+        onPrimary = Color(0xFF561D22),
+        primaryContainer = Color(0xFF733337),
+        onPrimaryContainer = Color(0xFFFFDADA),
+        secondary = Color(0xFFE6BDBD),
+        onSecondary = Color(0xFF44292A),
+        secondaryContainer = Color(0xFF5D3F40),
+        onSecondaryContainer = Color(0xFFFFDADA),
+        tertiary = Color(0xFFE6C18D),
+        onTertiary = Color(0xFF422C05),
+        tertiaryContainer = Color(0xFF5B421A),
+        onTertiaryContainer = Color(0xFFFFDDB0),
+        error = Color(0xFFFFB4AB),
+        onError = Color(0xFF690005),
+        errorContainer = Color(0xFF93000A),
+        onErrorContainer = Color(0xFFFFDAD6),
+        background = Color(0xFF1A1111),
+        onBackground = Color(0xFFF0DEDE),
+        surface = Color(0xFF1A1111),
+        onSurface = Color(0xFFF0DEDE),
+        surfaceVariant = Color(0xFF524343),
+        onSurfaceVariant = Color(0xFFD7C1C1),
+        outline = Color(0xFF9F8C8C),
+        outlineVariant = Color(0xFF524343),
+        scrim = Color(0xFF000000),
+        inverseSurface = Color(0xFFF0DEDE),
+        inverseOnSurface = Color(0xFF382E2E),
+        inversePrimary = Color(0xFF8F4A4D),
+        primaryFixed = Color(0xFFFFDADA),
+        onPrimaryFixed = Color(0xFF3B080E),
+        primaryFixedDim = Color(0xFFFFB3B4),
+        onPrimaryFixedVariant = Color(0xFF733337),
+        secondaryFixed = Color(0xFFFFDADA),
+        onSecondaryFixed = Color(0xFF2C1516),
+        secondaryFixedDim = Color(0xFFE6BDBD),
+        onSecondaryFixedVariant = Color(0xFF5D3F40),
+        tertiaryFixed = Color(0xFFFFDDB0),
+        onTertiaryFixed = Color(0xFF291800),
+        tertiaryFixedDim = Color(0xFFE6C18D),
+        onTertiaryFixedVariant = Color(0xFF5B421A),
+        surfaceDim = Color(0xFF1A1111),
+        surfaceBright = Color(0xFF413737),
+        surfaceContainerLowest = Color(0xFF140C0C),
+        surfaceContainerLow = Color(0xFF221919),
+        surfaceContainer = Color(0xFF271D1D),
+        surfaceContainerHigh = Color(0xFF322828),
+        surfaceContainerHighest = Color(0xFF3D3232),
+    )
+}

+ 110 - 0
app/src/main/java/io/legado/app/ui/theme/colorScheme/LemonColorScheme.kt

@@ -0,0 +1,110 @@
+package io.legado.app.ui.theme.colorScheme
+
+import androidx.compose.material3.darkColorScheme
+import androidx.compose.material3.lightColorScheme
+import androidx.compose.ui.graphics.Color
+import io.legado.app.ui.theme.BaseColorScheme
+
+internal object LemonColorScheme : BaseColorScheme() {
+
+    override val lightScheme = lightColorScheme(
+        primary = Color(0xFF6D5E0F),
+        onPrimary = Color(0xFFFFFFFF),
+        primaryContainer = Color(0xFFF8E287),
+        onPrimaryContainer = Color(0xFF534600),
+        secondary = Color(0xFF665E40),
+        onSecondary = Color(0xFFFFFFFF),
+        secondaryContainer = Color(0xFFEEE2BC),
+        onSecondaryContainer = Color(0xFF4E472A),
+        tertiary = Color(0xFF43664E),
+        onTertiary = Color(0xFFFFFFFF),
+        tertiaryContainer = Color(0xFFC5ECCE),
+        onTertiaryContainer = Color(0xFF2C4E38),
+        error = Color(0xFFBA1A1A),
+        onError = Color(0xFFFFFFFF),
+        errorContainer = Color(0xFFFFDAD6),
+        onErrorContainer = Color(0xFF93000A),
+        background = Color(0xFFFFF9EE),
+        onBackground = Color(0xFF1E1B13),
+        surface = Color(0xFFFFF9EE),
+        onSurface = Color(0xFF1E1B13),
+        surfaceVariant = Color(0xFFEAE2D0),
+        onSurfaceVariant = Color(0xFF4B4739),
+        outline = Color(0xFF7C7767),
+        outlineVariant = Color(0xFFCDC6B4),
+        scrim = Color(0xFF000000),
+        inverseSurface = Color(0xFF333027),
+        inverseOnSurface = Color(0xFFF7F0E2),
+        inversePrimary = Color(0xFFDBC66E),
+        primaryFixed = Color(0xFFF8E287),
+        onPrimaryFixed = Color(0xFF221B00),
+        primaryFixedDim = Color(0xFFDBC66E),
+        onPrimaryFixedVariant = Color(0xFF534600),
+        secondaryFixed = Color(0xFFEEE2BC),
+        onSecondaryFixed = Color(0xFF201B04),
+        secondaryFixedDim = Color(0xFFD1C6A1),
+        onSecondaryFixedVariant = Color(0xFF4E472A),
+        tertiaryFixed = Color(0xFFC5ECCE),
+        onTertiaryFixed = Color(0xFF002111),
+        tertiaryFixedDim = Color(0xFFA9D0B3),
+        onTertiaryFixedVariant = Color(0xFF2C4E38),
+        surfaceDim = Color(0xFFE0D9CC),
+        surfaceBright = Color(0xFFFFF9EE),
+        surfaceContainerLowest = Color(0xFFFFFFFF),
+        surfaceContainerLow = Color(0xFFFAF3E5),
+        surfaceContainer = Color(0xFFF4EDDF),
+        surfaceContainerHigh = Color(0xFFEEE8DA),
+        surfaceContainerHighest = Color(0xFFE8E2D4),
+    )
+
+    override val darkScheme = darkColorScheme(
+        primary = Color(0xFFDBC66E),
+        onPrimary = Color(0xFF3A3000),
+        primaryContainer = Color(0xFF534600),
+        onPrimaryContainer = Color(0xFFF8E287),
+        secondary = Color(0xFFD1C6A1),
+        onSecondary = Color(0xFF363016),
+        secondaryContainer = Color(0xFF4E472A),
+        onSecondaryContainer = Color(0xFFEEE2BC),
+        tertiary = Color(0xFFA9D0B3),
+        onTertiary = Color(0xFF143723),
+        tertiaryContainer = Color(0xFF2C4E38),
+        onTertiaryContainer = Color(0xFFC5ECCE),
+        error = Color(0xFFFFB4AB),
+        onError = Color(0xFF690005),
+        errorContainer = Color(0xFF93000A),
+        onErrorContainer = Color(0xFFFFDAD6),
+        background = Color(0xFF15130B),
+        onBackground = Color(0xFFE8E2D4),
+        surface = Color(0xFF15130B),
+        onSurface = Color(0xFFE8E2D4),
+        surfaceVariant = Color(0xFF4B4739),
+        onSurfaceVariant = Color(0xFFCDC6B4),
+        outline = Color(0xFF969080),
+        outlineVariant = Color(0xFF4B4739),
+        scrim = Color(0xFF000000),
+        inverseSurface = Color(0xFFE8E2D4),
+        inverseOnSurface = Color(0xFF333027),
+        inversePrimary = Color(0xFF6D5E0F),
+        primaryFixed = Color(0xFFF8E287),
+        onPrimaryFixed = Color(0xFF221B00),
+        primaryFixedDim = Color(0xFFDBC66E),
+        onPrimaryFixedVariant = Color(0xFF534600),
+        secondaryFixed = Color(0xFFEEE2BC),
+        onSecondaryFixed = Color(0xFF201B04),
+        secondaryFixedDim = Color(0xFFD1C6A1),
+        onSecondaryFixedVariant = Color(0xFF4E472A),
+        tertiaryFixed = Color(0xFFC5ECCE),
+        onTertiaryFixed = Color(0xFF002111),
+        tertiaryFixedDim = Color(0xFFA9D0B3),
+        onTertiaryFixedVariant = Color(0xFF2C4E38),
+        surfaceDim = Color(0xFF15130B),
+        surfaceBright = Color(0xFF3C3930),
+        surfaceContainerLowest = Color(0xFF100E07),
+        surfaceContainerLow = Color(0xFF1E1B13),
+        surfaceContainer = Color(0xFF222017),
+        surfaceContainerHigh = Color(0xFF2D2A21),
+        surfaceContainerHighest = Color(0xFF38352B),
+    )
+
+}

+ 109 - 0
app/src/main/java/io/legado/app/ui/theme/colorScheme/MujikaColorScheme.kt

@@ -0,0 +1,109 @@
+package io.legado.app.ui.theme.colorScheme
+
+import androidx.compose.material3.darkColorScheme
+import androidx.compose.material3.lightColorScheme
+import androidx.compose.ui.graphics.Color
+import io.legado.app.ui.theme.BaseColorScheme
+
+internal object MujikaColorScheme : BaseColorScheme() {
+
+    override val lightScheme = lightColorScheme(
+        primary = Color(0xFF8E4958),
+        onPrimary = Color(0xFFFFFFFF),
+        primaryContainer = Color(0xFFFFD9DF),
+        onPrimaryContainer = Color(0xFF713341),
+        secondary = Color(0xFF75565C),
+        onSecondary = Color(0xFFFFFFFF),
+        secondaryContainer = Color(0xFFFFD9DF),
+        onSecondaryContainer = Color(0xFF5C3F44),
+        tertiary = Color(0xFF4D5C92),
+        onTertiary = Color(0xFFFFFFFF),
+        tertiaryContainer = Color(0xFFDCE1FF),
+        onTertiaryContainer = Color(0xFF354479),
+        error = Color(0xFFBA1A1A),
+        onError = Color(0xFFFFFFFF),
+        errorContainer = Color(0xFFFFDAD6),
+        onErrorContainer = Color(0xFF93000A),
+        background = Color(0xFFFFF8F7),
+        onBackground = Color(0xFF22191B),
+        surface = Color(0xFFFFF8F7),
+        onSurface = Color(0xFF22191B),
+        surfaceVariant = Color(0xFFF3DDE0),
+        onSurfaceVariant = Color(0xFF524345),
+        outline = Color(0xFF847375),
+        outlineVariant = Color(0xFFD6C2C4),
+        scrim = Color(0xFF000000),
+        inverseSurface = Color(0xFF382E2F),
+        inverseOnSurface = Color(0xFFFEEDEE),
+        inversePrimary = Color(0xFFFFB1C0),
+        primaryFixed = Color(0xFFFFD9DF),
+        onPrimaryFixed = Color(0xFF3A0717),
+        primaryFixedDim = Color(0xFFFFB1C0),
+        onPrimaryFixedVariant = Color(0xFF713341),
+        secondaryFixed = Color(0xFFFFD9DF),
+        onSecondaryFixed = Color(0xFF2B151A),
+        secondaryFixedDim = Color(0xFFE4BDC3),
+        onSecondaryFixedVariant = Color(0xFF5C3F44),
+        tertiaryFixed = Color(0xFFDCE1FF),
+        onTertiaryFixed = Color(0xFF04174B),
+        tertiaryFixedDim = Color(0xFFB6C4FF),
+        onTertiaryFixedVariant = Color(0xFF354479),
+        surfaceDim = Color(0xFFE7D6D8),
+        surfaceBright = Color(0xFFFFF8F7),
+        surfaceContainerLowest = Color(0xFFFFFFFF),
+        surfaceContainerLow = Color(0xFFFFF0F1),
+        surfaceContainer = Color(0xFFFBEAEB),
+        surfaceContainerHigh = Color(0xFFF5E4E6),
+        surfaceContainerHighest = Color(0xFFEFDEE0),
+    )
+
+    override val darkScheme = darkColorScheme(
+        primary = Color(0xFFFFB1C0),
+        onPrimary = Color(0xFF551D2B),
+        primaryContainer = Color(0xFF713341),
+        onPrimaryContainer = Color(0xFFFFD9DF),
+        secondary = Color(0xFFE4BDC3),
+        onSecondary = Color(0xFF43292E),
+        secondaryContainer = Color(0xFF5C3F44),
+        onSecondaryContainer = Color(0xFFFFD9DF),
+        tertiary = Color(0xFFB6C4FF),
+        onTertiary = Color(0xFF1D2D61),
+        tertiaryContainer = Color(0xFF354479),
+        onTertiaryContainer = Color(0xFFDCE1FF),
+        error = Color(0xFFFFB4AB),
+        onError = Color(0xFF690005),
+        errorContainer = Color(0xFF93000A),
+        onErrorContainer = Color(0xFFFFDAD6),
+        background = Color(0xFF191113),
+        onBackground = Color(0xFFEFDEE0),
+        surface = Color(0xFF191113),
+        onSurface = Color(0xFFEFDEE0),
+        surfaceVariant = Color(0xFF524345),
+        onSurfaceVariant = Color(0xFFD6C2C4),
+        outline = Color(0xFF9F8C8F),
+        outlineVariant = Color(0xFF524345),
+        scrim = Color(0xFF000000),
+        inverseSurface = Color(0xFFEFDEE0),
+        inverseOnSurface = Color(0xFF382E2F),
+        inversePrimary = Color(0xFF8E4958),
+        primaryFixed = Color(0xFFFFD9DF),
+        onPrimaryFixed = Color(0xFF3A0717),
+        primaryFixedDim = Color(0xFFFFB1C0),
+        onPrimaryFixedVariant = Color(0xFF713341),
+        secondaryFixed = Color(0xFFFFD9DF),
+        onSecondaryFixed = Color(0xFF2B151A),
+        secondaryFixedDim = Color(0xFFE4BDC3),
+        onSecondaryFixedVariant = Color(0xFF5C3F44),
+        tertiaryFixed = Color(0xFFDCE1FF),
+        onTertiaryFixed = Color(0xFF04174B),
+        tertiaryFixedDim = Color(0xFFB6C4FF),
+        onTertiaryFixedVariant = Color(0xFF354479),
+        surfaceDim = Color(0xFF191113),
+        surfaceBright = Color(0xFF413738),
+        surfaceContainerLowest = Color(0xFF140C0D),
+        surfaceContainerLow = Color(0xFF22191B),
+        surfaceContainer = Color(0xFF261D1F),
+        surfaceContainerHigh = Color(0xFF312829),
+        surfaceContainerHighest = Color(0xFF3C3234),
+    )
+}

+ 109 - 0
app/src/main/java/io/legado/app/ui/theme/colorScheme/PhoebeColorScheme.kt

@@ -0,0 +1,109 @@
+package io.legado.app.ui.theme.colorScheme
+
+import androidx.compose.material3.darkColorScheme
+import androidx.compose.material3.lightColorScheme
+import androidx.compose.ui.graphics.Color
+import io.legado.app.ui.theme.BaseColorScheme
+
+internal object PhoebeColorScheme : BaseColorScheme() {
+
+    override val lightScheme = lightColorScheme(
+        primary = Color(0xFF6B5E10),
+        onPrimary = Color(0xFFFFFFFF),
+        primaryContainer = Color(0xFFF6E388),
+        onPrimaryContainer = Color(0xFF524700),
+        secondary = Color(0xFF475D92),
+        onSecondary = Color(0xFFFFFFFF),
+        secondaryContainer = Color(0xFFD9E2FF),
+        onSecondaryContainer = Color(0xFF2F4578),
+        tertiary = Color(0xFF01677D),
+        onTertiary = Color(0xFFFFFFFF),
+        tertiaryContainer = Color(0xFFB3EBFF),
+        onTertiaryContainer = Color(0xFF004E5F),
+        error = Color(0xFFBA1A1A),
+        onError = Color(0xFFFFFFFF),
+        errorContainer = Color(0xFFFFDAD6),
+        onErrorContainer = Color(0xFF93000A),
+        background = Color(0xFFFFF9EC),
+        onBackground = Color(0xFF1E1C13),
+        surface = Color(0xFFFFF9EC),
+        onSurface = Color(0xFF1E1C13),
+        surfaceVariant = Color(0xFFE9E2D0),
+        onSurfaceVariant = Color(0xFF4A4739),
+        outline = Color(0xFF7C7768),
+        outlineVariant = Color(0xFFCCC6B4),
+        scrim = Color(0xFF000000),
+        inverseSurface = Color(0xFF333027),
+        inverseOnSurface = Color(0xFFF6F0E2),
+        inversePrimary = Color(0xFFD9C76F),
+        primaryFixed = Color(0xFFF6E388),
+        onPrimaryFixed = Color(0xFF211B00),
+        primaryFixedDim = Color(0xFFD9C76F),
+        onPrimaryFixedVariant = Color(0xFF524700),
+        secondaryFixed = Color(0xFFD9E2FF),
+        onSecondaryFixed = Color(0xFF001946),
+        secondaryFixedDim = Color(0xFFB1C5FF),
+        onSecondaryFixedVariant = Color(0xFF2F4578),
+        tertiaryFixed = Color(0xFFB3EBFF),
+        onTertiaryFixed = Color(0xFF001F27),
+        tertiaryFixedDim = Color(0xFF86D1EA),
+        onTertiaryFixedVariant = Color(0xFF004E5F),
+        surfaceDim = Color(0xFFDFDACC),
+        surfaceBright = Color(0xFFFFF9EC),
+        surfaceContainerLowest = Color(0xFFFFFFFF),
+        surfaceContainerLow = Color(0xFFF9F3E5),
+        surfaceContainer = Color(0xFFF4EDDF),
+        surfaceContainerHigh = Color(0xFFEEE8DA),
+        surfaceContainerHighest = Color(0xFFE8E2D4),
+    )
+
+    override val darkScheme = darkColorScheme(
+        primary = Color(0xFFD9C76F),
+        onPrimary = Color(0xFF383000),
+        primaryContainer = Color(0xFF524700),
+        onPrimaryContainer = Color(0xFFF6E388),
+        secondary = Color(0xFFB1C5FF),
+        onSecondary = Color(0xFF162E60),
+        secondaryContainer = Color(0xFF2F4578),
+        onSecondaryContainer = Color(0xFFD9E2FF),
+        tertiary = Color(0xFF86D1EA),
+        onTertiary = Color(0xFF003642),
+        tertiaryContainer = Color(0xFF004E5F),
+        onTertiaryContainer = Color(0xFFB3EBFF),
+        error = Color(0xFFFFB4AB),
+        onError = Color(0xFF690005),
+        errorContainer = Color(0xFF93000A),
+        onErrorContainer = Color(0xFFFFDAD6),
+        background = Color(0xFF15130C),
+        onBackground = Color(0xFFE8E2D4),
+        surface = Color(0xFF15130C),
+        onSurface = Color(0xFFE8E2D4),
+        surfaceVariant = Color(0xFF4A4739),
+        onSurfaceVariant = Color(0xFFCCC6B4),
+        outline = Color(0xFF969180),
+        outlineVariant = Color(0xFF4A4739),
+        scrim = Color(0xFF000000),
+        inverseSurface = Color(0xFFE8E2D4),
+        inverseOnSurface = Color(0xFF333027),
+        inversePrimary = Color(0xFF6B5E10),
+        primaryFixed = Color(0xFFF6E388),
+        onPrimaryFixed = Color(0xFF211B00),
+        primaryFixedDim = Color(0xFFD9C76F),
+        onPrimaryFixedVariant = Color(0xFF524700),
+        secondaryFixed = Color(0xFFD9E2FF),
+        onSecondaryFixed = Color(0xFF001946),
+        secondaryFixedDim = Color(0xFFB1C5FF),
+        onSecondaryFixedVariant = Color(0xFF2F4578),
+        tertiaryFixed = Color(0xFFB3EBFF),
+        onTertiaryFixed = Color(0xFF001F27),
+        tertiaryFixedDim = Color(0xFF86D1EA),
+        onTertiaryFixedVariant = Color(0xFF004E5F),
+        surfaceDim = Color(0xFF15130C),
+        surfaceBright = Color(0xFF3C3930),
+        surfaceContainerLowest = Color(0xFF100E07),
+        surfaceContainerLow = Color(0xFF1E1C13),
+        surfaceContainer = Color(0xFF222017),
+        surfaceContainerHigh = Color(0xFF2C2A21),
+        surfaceContainerHighest = Color(0xFF37352B),
+    )
+}

+ 109 - 0
app/src/main/java/io/legado/app/ui/theme/colorScheme/SoraColorScheme.kt

@@ -0,0 +1,109 @@
+package io.legado.app.ui.theme.colorScheme
+
+import androidx.compose.material3.darkColorScheme
+import androidx.compose.material3.lightColorScheme
+import androidx.compose.ui.graphics.Color
+import io.legado.app.ui.theme.BaseColorScheme
+
+internal object SoraColorScheme : BaseColorScheme() {
+
+    override val lightScheme = lightColorScheme(
+        primary = Color(0xFF3B608F),
+        onPrimary = Color(0xFFFFFFFF),
+        primaryContainer = Color(0xFFD4E3FF),
+        onPrimaryContainer = Color(0xFF214876),
+        secondary = Color(0xFF545F71),
+        onSecondary = Color(0xFFFFFFFF),
+        secondaryContainer = Color(0xFFD8E3F8),
+        onSecondaryContainer = Color(0xFF3D4758),
+        tertiary = Color(0xFF6D5677),
+        onTertiary = Color(0xFFFFFFFF),
+        tertiaryContainer = Color(0xFFF6D9FF),
+        onTertiaryContainer = Color(0xFF543F5E),
+        error = Color(0xFFBA1A1A),
+        onError = Color(0xFFFFFFFF),
+        errorContainer = Color(0xFFFFDAD6),
+        onErrorContainer = Color(0xFF93000A),
+        background = Color(0xFFF8F9FF),
+        onBackground = Color(0xFF191C20),
+        surface = Color(0xFFF8F9FF),
+        onSurface = Color(0xFF191C20),
+        surfaceVariant = Color(0xFFDFE2EB),
+        onSurfaceVariant = Color(0xFF43474E),
+        outline = Color(0xFF73777F),
+        outlineVariant = Color(0xFFC3C6CF),
+        scrim = Color(0xFF000000),
+        inverseSurface = Color(0xFF2E3035),
+        inverseOnSurface = Color(0xFFF0F0F7),
+        inversePrimary = Color(0xFFA5C9FE),
+        primaryFixed = Color(0xFFD4E3FF),
+        onPrimaryFixed = Color(0xFF001C38),
+        primaryFixedDim = Color(0xFFA5C9FE),
+        onPrimaryFixedVariant = Color(0xFF214876),
+        secondaryFixed = Color(0xFFD8E3F8),
+        onSecondaryFixed = Color(0xFF111C2B),
+        secondaryFixedDim = Color(0xFFBCC7DC),
+        onSecondaryFixedVariant = Color(0xFF3D4758),
+        tertiaryFixed = Color(0xFFF6D9FF),
+        onTertiaryFixed = Color(0xFF271731),
+        tertiaryFixedDim = Color(0xFFD9BDE3),
+        onTertiaryFixedVariant = Color(0xFF543F5E),
+        surfaceDim = Color(0xFFD9DAE0),
+        surfaceBright = Color(0xFFF8F9FF),
+        surfaceContainerLowest = Color(0xFFFFFFFF),
+        surfaceContainerLow = Color(0xFFF2F3FA),
+        surfaceContainer = Color(0xFFEDEDF4),
+        surfaceContainerHigh = Color(0xFFE7E8EE),
+        surfaceContainerHighest = Color(0xFFE1E2E9),
+    )
+
+    override val darkScheme = darkColorScheme(
+        primary = Color(0xFFA5C9FE),
+        onPrimary = Color(0xFF00315D),
+        primaryContainer = Color(0xFF214876),
+        onPrimaryContainer = Color(0xFFD4E3FF),
+        secondary = Color(0xFFBCC7DC),
+        onSecondary = Color(0xFF263141),
+        secondaryContainer = Color(0xFF3D4758),
+        onSecondaryContainer = Color(0xFFD8E3F8),
+        tertiary = Color(0xFFD9BDE3),
+        onTertiary = Color(0xFF3D2946),
+        tertiaryContainer = Color(0xFF543F5E),
+        onTertiaryContainer = Color(0xFFF6D9FF),
+        error = Color(0xFFFFB4AB),
+        onError = Color(0xFF690005),
+        errorContainer = Color(0xFF93000A),
+        onErrorContainer = Color(0xFFFFDAD6),
+        background = Color(0xFF111318),
+        onBackground = Color(0xFFE1E2E9),
+        surface = Color(0xFF111318),
+        onSurface = Color(0xFFE1E2E9),
+        surfaceVariant = Color(0xFF43474E),
+        onSurfaceVariant = Color(0xFFC3C6CF),
+        outline = Color(0xFF8D9199),
+        outlineVariant = Color(0xFF43474E),
+        scrim = Color(0xFF000000),
+        inverseSurface = Color(0xFFE1E2E9),
+        inverseOnSurface = Color(0xFF2E3035),
+        inversePrimary = Color(0xFF3B608F),
+        primaryFixed = Color(0xFFD4E3FF),
+        onPrimaryFixed = Color(0xFF001C38),
+        primaryFixedDim = Color(0xFFA5C9FE),
+        onPrimaryFixedVariant = Color(0xFF214876),
+        secondaryFixed = Color(0xFFD8E3F8),
+        onSecondaryFixed = Color(0xFF111C2B),
+        secondaryFixedDim = Color(0xFFBCC7DC),
+        onSecondaryFixedVariant = Color(0xFF3D4758),
+        tertiaryFixed = Color(0xFFF6D9FF),
+        onTertiaryFixed = Color(0xFF271731),
+        tertiaryFixedDim = Color(0xFFD9BDE3),
+        onTertiaryFixedVariant = Color(0xFF543F5E),
+        surfaceDim = Color(0xFF111318),
+        surfaceBright = Color(0xFF37393E),
+        surfaceContainerLowest = Color(0xFF0C0E13),
+        surfaceContainerLow = Color(0xFF191C20),
+        surfaceContainer = Color(0xFF1D2024),
+        surfaceContainerHigh = Color(0xFF282A2F),
+        surfaceContainerHighest = Color(0xFF32353A),
+    )
+}

+ 110 - 0
app/src/main/java/io/legado/app/ui/theme/colorScheme/TransparentColorScheme.kt

@@ -0,0 +1,110 @@
+package io.legado.app.ui.theme.colorScheme
+
+import androidx.compose.material3.darkColorScheme
+import androidx.compose.material3.lightColorScheme
+import androidx.compose.ui.graphics.Color
+import io.legado.app.ui.theme.BaseColorScheme
+
+internal object TransparentColorScheme : BaseColorScheme() {
+
+    override val lightScheme = lightColorScheme(
+        primary = Color(0xFF000000),
+        onPrimary = Color(0xFFFFFFFF),
+        primaryContainer = Color(0xB0FFFFFF),
+        onPrimaryContainer = Color(0xFF000000),
+        secondary = Color(0xFF000000),
+        onSecondary = Color(0xB0FFFFFF),
+        secondaryContainer = Color(0xB0FFFFFF),
+        onSecondaryContainer = Color(0xFF000000),
+        tertiary = Color(0xFF000000),
+        onTertiary = Color(0xFF000000),
+        tertiaryContainer = Color(0xB0FFFFFF),
+        onTertiaryContainer = Color(0xFF000000),
+        error = Color(0xFFBA1A1A),
+        onError = Color(0xFFFFFFFF),
+        errorContainer = Color(0xFFFFDAD6),
+        onErrorContainer = Color(0xFF93000A),
+        background = Color(0x00FFFFFF),
+        onBackground = Color(0xFF1E1C13),
+        surface = Color(0x00FFFFFF),
+        onSurface = Color(0xFF1E1C13),
+        surfaceVariant = Color(0x1A000000),
+        onSurfaceVariant = Color(0x80000000),
+        outline = Color(0xFF7C7768),
+        outlineVariant = Color(0xFFCCC6B4),
+        scrim = Color(0x33000000),
+        inverseSurface = Color(0xFF333027),
+        inverseOnSurface = Color(0xFFF6F0E2),
+        inversePrimary = Color(0xA0FFFFFF),
+        // Material 3.1+ Fixed Colors
+        primaryFixed = Color(0xA0FFFFFF),
+        onPrimaryFixed = Color(0xFF211B00),
+        primaryFixedDim = Color(0xB0FFFFFF),
+        onPrimaryFixedVariant = Color(0xB0FFFFFF),
+        secondaryFixed = Color(0xB0FFFFFF),
+        onSecondaryFixed = Color(0xFF000000),
+        secondaryFixedDim = Color(0xB0FFFFFF),
+        onSecondaryFixedVariant = Color(0xB0FFFFFF),
+        tertiaryFixed = Color(0xB0FFFFFF),
+        onTertiaryFixed = Color(0xFF000000),
+        tertiaryFixedDim = Color(0xB0FFFFFF),
+        onTertiaryFixedVariant = Color(0xB0FFFFFF),
+        surfaceDim = Color(0x1AFFFFFF),
+        surfaceBright = Color(0x33FFFFFF),
+        surfaceContainerLowest = Color(0x0DFFFFFF),
+        surfaceContainerLow = Color(0x1AFFFFFF),
+        surfaceContainer = Color(0x33FFFFFF),
+        surfaceContainerHigh = Color(0x4DFFFFFF),
+        surfaceContainerHighest = Color(0x66FFFFFF),
+    )
+
+    override val darkScheme = darkColorScheme(
+        primary = Color(0xA0FFFFFF),
+        onPrimary = Color(0xFF000000),
+        primaryContainer = Color(0x80FFFFFF),
+        onPrimaryContainer = Color(0xFF000000),
+        secondary = Color(0x80FFFFFF),
+        onSecondary = Color(0xFF000000),
+        secondaryContainer = Color(0xA0FFFFFF),
+        onSecondaryContainer = Color(0xFF000000),
+        tertiary = Color(0x80FFFFFF),
+        onTertiary = Color(0xFF000000),
+        tertiaryContainer = Color(0x40FFFFFF),
+        onTertiaryContainer = Color(0xFF000000),
+        error = Color(0xFFCF6679),
+        onError = Color(0xFF000000),
+        errorContainer = Color(0xFF8B0000),
+        onErrorContainer = Color(0xFFFFFFFF),
+        background = Color(0x00000000),
+        onBackground = Color(0xFFEDE6FF),
+        surface = Color(0x00FFFFFF),
+        onSurface = Color(0xFFEDE6FF),
+        surfaceVariant = Color(0x40FFFFFF),
+        onSurfaceVariant = Color(0xB3FFFFFF),
+        outline = Color(0x8AFFFFFF),
+        outlineVariant = Color(0x33FFFFFF),
+        scrim = Color(0x66000000),
+        inverseSurface = Color(0xFFFFF9EC),
+        inverseOnSurface = Color(0xFF1E1C13),
+        inversePrimary = Color(0xA0FFFFFF),
+        primaryFixed = Color(0xA0FFFFFF),
+        onPrimaryFixed = Color(0xFF000000),
+        primaryFixedDim = Color(0xA0FFFFFF),
+        onPrimaryFixedVariant = Color(0xA0FFFFFF),
+        secondaryFixed = Color(0xA0FFFFFF),
+        onSecondaryFixed = Color(0xFF000000),
+        secondaryFixedDim = Color(0xA0FFFFFF),
+        onSecondaryFixedVariant = Color(0xA0FFFFFF),
+        tertiaryFixed = Color(0xA0FFFFFF),
+        onTertiaryFixed = Color(0xFF000000),
+        tertiaryFixedDim = Color(0xA0FFFFFF),
+        onTertiaryFixedVariant = Color(0xA0FFFFFF),
+        surfaceDim = Color(0x1AFFFFFF),
+        surfaceBright = Color(0x33FFFFFF),
+        surfaceContainerLowest = Color(0x0DFFFFFF),
+        surfaceContainerLow = Color(0x1AFFFFFF),
+        surfaceContainer = Color(0x33FFFFFF),
+        surfaceContainerHigh = Color(0x4DFFFFFF),
+        surfaceContainerHighest = Color(0x66FFFFFF),
+    )
+}

+ 108 - 0
app/src/main/java/io/legado/app/ui/theme/colorScheme/WHColorScheme.kt

@@ -0,0 +1,108 @@
+package io.legado.app.ui.theme.colorScheme
+
+import androidx.compose.material3.darkColorScheme
+import androidx.compose.material3.lightColorScheme
+import androidx.compose.ui.graphics.Color
+import io.legado.app.ui.theme.BaseColorScheme
+
+internal object WHColorScheme: BaseColorScheme() {
+    override val lightScheme = lightColorScheme(
+        primary = Color(0xFF5C5C5C),
+        onPrimary = Color(0xFFFFFFFF),
+        primaryContainer = Color(0xFF747474),
+        onPrimaryContainer = Color(0xFFFEFCFC),
+        secondary = Color(0xFF5F5E5E),
+        onSecondary = Color(0xFFFFFFFF),
+        secondaryContainer = Color(0xFFE2DFDE),
+        onSecondaryContainer = Color(0xFF636262),
+        tertiary = Color(0xFF5E5B5D),
+        onTertiary = Color(0xFFFFFFFF),
+        tertiaryContainer = Color(0xFF777375),
+        onTertiaryContainer = Color(0xFFFFFBFF),
+        error = Color(0xFFBA1A1A),
+        onError = Color(0xFFFFFFFF),
+        errorContainer = Color(0xFFFFDAD6),
+        onErrorContainer = Color(0xFF93000A),
+        background = Color(0xFFFAFAFA),
+        onBackground = Color(0xFF1C1B1B),
+        surface = Color(0xFFF8F8F8),
+        onSurface = Color(0xFF1C1B1B),
+        surfaceVariant = Color(0xFFE0E3E3),
+        onSurfaceVariant = Color(0xFF444748),
+        outline = Color(0xFF747878),
+        outlineVariant = Color(0xFFC4C7C7),
+        scrim = Color(0xFF000000),
+        inverseSurface = Color(0xFF313030),
+        inverseOnSurface = Color(0xFFF4F0EF),
+        inversePrimary = Color(0xFFC7C6C6),
+        primaryFixed = Color(0xFFE3E2E2),
+        onPrimaryFixed = Color(0xFF1A1C1C),
+        primaryFixedDim = Color(0xFFC7C6C6),
+        onPrimaryFixedVariant = Color(0xFF454747),
+        secondaryFixed = Color(0xFFE2DFDE),
+        onSecondaryFixed = Color(0xFF1C1B1B),
+        secondaryFixedDim = Color(0xFFC6C6C6),
+        onSecondaryFixedVariant = Color(0xFF474747),
+        tertiaryFixed = Color(0xFFE5E2E4),
+        onTertiaryFixed = Color(0xFF1C1B1D),
+        tertiaryFixedDim = Color(0xFFC9C5C7),
+        onTertiaryFixedVariant = Color(0xFF494648),
+        surfaceDim = Color(0xFFDDD9D8),
+        surfaceBright = Color(0xFFF8F8F8),
+        surfaceContainerLowest = Color(0xFFFFFFFF),
+        surfaceContainerLow = Color(0xFFF7F3F2),
+        surfaceContainer = Color(0xFFF1EDEC),
+        surfaceContainerHigh = Color(0xFFEBE7E7),
+        surfaceContainerHighest = Color(0xFFE5E2E1),
+    )
+
+    override val darkScheme = darkColorScheme(
+        primary = Color(0xFFC7C6C6),
+        onPrimary = Color(0xFF303031),
+        primaryContainer = Color(0xFF919090),
+        onPrimaryContainer = Color(0xFF050606),
+        secondary = Color(0xFFC8C6C5),
+        onSecondary = Color(0xFF303030),
+        secondaryContainer = Color(0xFF474746),
+        onSecondaryContainer = Color(0xFFB7B5B4),
+        tertiary = Color(0xFFCBC5C7),
+        onTertiary = Color(0xFF323031),
+        tertiaryContainer = Color(0xFF948F91),
+        onTertiaryContainer = Color(0xFF060506),
+        error = Color(0xFFFFB4AB),
+        onError = Color(0xFF690005),
+        errorContainer = Color(0xFF93000A),
+        onErrorContainer = Color(0xFFFFDAD6),
+        background = Color(0xFF141313),
+        onBackground = Color(0xFFE5E2E1),
+        surface = Color(0xFF141313),
+        onSurface = Color(0xFFE5E2E1),
+        surfaceVariant = Color(0xFF444748),
+        onSurfaceVariant = Color(0xFFC4C7C7),
+        outline = Color(0xFF8E918F),
+        outlineVariant = Color(0xFF444748),
+        scrim = Color(0xFF000000),
+        inverseSurface = Color(0xFFE5E2E1),
+        inverseOnSurface = Color(0xFF313030),
+        inversePrimary = Color(0xFF5E5E5E),
+        primaryFixed = Color(0xFFE3E2E2),
+        onPrimaryFixed = Color(0xFF1A1C1C),
+        primaryFixedDim = Color(0xFFC7C6C6),
+        onPrimaryFixedVariant = Color(0xFF454747),
+        secondaryFixed = Color(0xFFE2DFDE),
+        onSecondaryFixed = Color(0xFF1C1B1B),
+        secondaryFixedDim = Color(0xFFC6C6C6),
+        onSecondaryFixedVariant = Color(0xFF474747),
+        tertiaryFixed = Color(0xFFE5E2E4),
+        onTertiaryFixed = Color(0xFF1C1B1D),
+        tertiaryFixedDim = Color(0xFFC9C5C7),
+        onTertiaryFixedVariant = Color(0xFF494648),
+        surfaceDim = Color(0xFF141313),
+        surfaceBright = Color(0xFF3A3939),
+        surfaceContainerLowest = Color(0xFF0E0E0E),
+        surfaceContainerLow = Color(0xFF1C1B1B),
+        surfaceContainer = Color(0xFF201F1F),
+        surfaceContainerHigh = Color(0xFF2A2A2A),
+        surfaceContainerHighest = Color(0xFF353434),
+    )
+}

+ 109 - 0
app/src/main/java/io/legado/app/ui/theme/colorScheme/YuukaColorScheme.kt

@@ -0,0 +1,109 @@
+package io.legado.app.ui.theme.colorScheme
+
+import androidx.compose.material3.darkColorScheme
+import androidx.compose.material3.lightColorScheme
+import androidx.compose.ui.graphics.Color
+import io.legado.app.ui.theme.BaseColorScheme
+
+internal object YuukaColorScheme : BaseColorScheme() {
+
+    override val lightScheme = lightColorScheme(
+        primary = Color(0xFF565992),
+        onPrimary = Color(0xFFFFFFFF),
+        primaryContainer = Color(0xFFE0E0FF),
+        onPrimaryContainer = Color(0xFF3E4278),
+        secondary = Color(0xFF5C5D72),
+        onSecondary = Color(0xFFFFFFFF),
+        secondaryContainer = Color(0xFFE1E0F9),
+        onSecondaryContainer = Color(0xFF444559),
+        tertiary = Color(0xFF78536B),
+        onTertiary = Color(0xFFFFFFFF),
+        tertiaryContainer = Color(0xFFFFD8EE),
+        onTertiaryContainer = Color(0xFF5E3C52),
+        error = Color(0xFFBA1A1A),
+        onError = Color(0xFFFFFFFF),
+        errorContainer = Color(0xFFFFDAD6),
+        onErrorContainer = Color(0xFF93000A),
+        background = Color(0xFFFBF8FF),
+        onBackground = Color(0xFF1B1B21),
+        surface = Color(0xFFFBF8FF),
+        onSurface = Color(0xFF1B1B21),
+        surfaceVariant = Color(0xFFE4E1EC),
+        onSurfaceVariant = Color(0xFF46464F),
+        outline = Color(0xFF777680),
+        outlineVariant = Color(0xFFC7C5D0),
+        scrim = Color(0xFF000000),
+        inverseSurface = Color(0xFF303036),
+        inverseOnSurface = Color(0xFFF2EFF7),
+        inversePrimary = Color(0xFFBFC2FF),
+        primaryFixed = Color(0xFFE0E0FF),
+        onPrimaryFixed = Color(0xFF11144B),
+        primaryFixedDim = Color(0xFFBFC2FF),
+        onPrimaryFixedVariant = Color(0xFF3E4278),
+        secondaryFixed = Color(0xFFE1E0F9),
+        onSecondaryFixed = Color(0xFF191A2C),
+        secondaryFixedDim = Color(0xFFC5C4DD),
+        onSecondaryFixedVariant = Color(0xFF444559),
+        tertiaryFixed = Color(0xFFFFD8EE),
+        onTertiaryFixed = Color(0xFF2E1126),
+        tertiaryFixedDim = Color(0xFFE8B9D5),
+        onTertiaryFixedVariant = Color(0xFF5E3C52),
+        surfaceDim = Color(0xFFDBD9E0),
+        surfaceBright = Color(0xFFFBF8FF),
+        surfaceContainerLowest = Color(0xFFFFFFFF),
+        surfaceContainerLow = Color(0xFFF5F2FA),
+        surfaceContainer = Color(0xFFF0ECF4),
+        surfaceContainerHigh = Color(0xFFEAE7EF),
+        surfaceContainerHighest = Color(0xFFE4E1E9),
+    )
+
+    override val darkScheme = darkColorScheme(
+        primary = Color(0xFFBFC2FF),
+        onPrimary = Color(0xFF272B60),
+        primaryContainer = Color(0xFF3E4278),
+        onPrimaryContainer = Color(0xFFE0E0FF),
+        secondary = Color(0xFFC5C4DD),
+        onSecondary = Color(0xFF2E2F42),
+        secondaryContainer = Color(0xFF444559),
+        onSecondaryContainer = Color(0xFFE1E0F9),
+        tertiary = Color(0xFFE8B9D5),
+        onTertiary = Color(0xFF46263B),
+        tertiaryContainer = Color(0xFF5E3C52),
+        onTertiaryContainer = Color(0xFFFFD8EE),
+        error = Color(0xFFFFB4AB),
+        onError = Color(0xFF690005),
+        errorContainer = Color(0xFF93000A),
+        onErrorContainer = Color(0xFFFFDAD6),
+        background = Color(0xFF131318),
+        onBackground = Color(0xFFE4E1E9),
+        surface = Color(0xFF131318),
+        onSurface = Color(0xFFE4E1E9),
+        surfaceVariant = Color(0xFF46464F),
+        onSurfaceVariant = Color(0xFFC7C5D0),
+        outline = Color(0xFF918F9A),
+        outlineVariant = Color(0xFF46464F),
+        scrim = Color(0xFF000000),
+        inverseSurface = Color(0xFFE4E1E9),
+        inverseOnSurface = Color(0xFF303036),
+        inversePrimary = Color(0xFF565992),
+        primaryFixed = Color(0xFFE0E0FF),
+        onPrimaryFixed = Color(0xFF11144B),
+        primaryFixedDim = Color(0xFFBFC2FF),
+        onPrimaryFixedVariant = Color(0xFF3E4278),
+        secondaryFixed = Color(0xFFE1E0F9),
+        onSecondaryFixed = Color(0xFF191A2C),
+        secondaryFixedDim = Color(0xFFC5C4DD),
+        onSecondaryFixedVariant = Color(0xFF444559),
+        tertiaryFixed = Color(0xFFFFD8EE),
+        onTertiaryFixed = Color(0xFF2E1126),
+        tertiaryFixedDim = Color(0xFFE8B9D5),
+        onTertiaryFixedVariant = Color(0xFF5E3C52),
+        surfaceDim = Color(0xFF131318),
+        surfaceBright = Color(0xFF39393F),
+        surfaceContainerLowest = Color(0xFF0E0E13),
+        surfaceContainerLow = Color(0xFF1B1B21),
+        surfaceContainer = Color(0xFF1F1F25),
+        surfaceContainerHigh = Color(0xFF2A292F),
+        surfaceContainerHighest = Color(0xFF34343A),
+    )
+}

+ 2 - 0
gradle/libs.versions.toml

@@ -42,6 +42,7 @@ markwon = "4.6.2"
 material = "1.14.0-alpha08"
 material = "1.14.0-alpha08"
 material3 = "1.5.0-alpha11"
 material3 = "1.5.0-alpha11"
 material3IconsExtended = "1.7.8"
 material3IconsExtended = "1.7.8"
+materialKolor = "4.0.5"
 media = "1.7.1"
 media = "1.7.1"
 media3 = "1.8.0"
 media3 = "1.8.0"
 nanoHttpd = "2.3.1"
 nanoHttpd = "2.3.1"
@@ -139,6 +140,7 @@ lifecycle-common-java8 = { module = "androidx.lifecycle:lifecycle-common-java8",
 lifecycle-service = { module = "androidx.lifecycle:lifecycle-service", version.ref = "lifecycle" }
 lifecycle-service = { module = "androidx.lifecycle:lifecycle-service", version.ref = "lifecycle" }
 
 
 markdown-compose = { module = "com.mikepenz:markdown-compose", version.ref = "markdownCompose" }
 markdown-compose = { module = "com.mikepenz:markdown-compose", version.ref = "markdownCompose" }
+material-kolor = { module = "com.materialkolor:material-kolor", version.ref = "materialKolor" }
 media-media = { module = "androidx.media:media", version.ref = "media" }
 media-media = { module = "androidx.media:media", version.ref = "media" }
 media3-datasource-okhttp = { module = "androidx.media3:media3-datasource-okhttp", version.ref = "media3" }
 media3-datasource-okhttp = { module = "androidx.media3:media3-datasource-okhttp", version.ref = "media3" }
 media3-exoplayer = { module = "androidx.media3:media3-exoplayer", version.ref = "media3" }
 media3-exoplayer = { module = "androidx.media3:media3-exoplayer", version.ref = "media3" }