local addonName, NS = ...

-- ============================================================================
-- VAULTSKINS: BUILT-IN THEMES
-- ============================================================================

local Engine = NS.ThemeEngine
local C = Engine.Color

-- ================================ BASE THEME ================================
Engine:RegisterTheme("Base", {
    hidden = true,
    displayName = "Base",
    category = "System",
    pack = "VaultSkins Core",

    background = C(0.018, 0.025, 0.060, 0.985),
    panel = C(0.035, 0.055, 0.115, 0.96),
    card = C(0.045, 0.065, 0.130, 0.96),
    unlocked = C(0.060, 0.095, 0.175, 0.98),
    reward = C(0.085, 0.055, 0.160, 0.98),
    locked = C(0.025, 0.032, 0.055, 0.94),
    border = C(0.20, 0.34, 0.64, 0.90),
    accent = C(0.53, 0.34, 1.00, 1),
    glow = C(0.32, 0.48, 1.00, 0.22),
    text = C(0.93, 0.95, 1.00, 1),
    muted = C(0.48, 0.55, 0.70, 1),
    success = C(0.35, 0.95, 0.68, 1),
    metal = C(0.42, 0.48, 0.66, 1),
    silver = C(0.72, 0.77, 0.92, 1),
    artTint = C(0.78, 0.82, 1.00, 1),
    shadow = C(0.003, 0.005, 0.014, 0.78),

    artworkProfile = {
        id = "midnight", primaryColor = "accent", secondaryColor = "silver", tertiaryColor = "glow",
        alpha = 1.00, backgroundAlpha = 1.00, cardAlpha = 1.00,
        crestSize = { 174, 86 }, crestY = 16, crestAlpha = 0.58,
        headerSize = { 440, 54 }, headerY = -76, headerAlpha = 0.30,
        watermarkSize = { 220, 220 }, watermarkX = 145, watermarkY = -40, watermarkAlpha = 0.032,
        cornerSize = { 96, 96 }, cornerInset = 12, cornerAlpha = 0.42, bottomCornerAlpha = 0.30,
        cardCornerSize = { 22, 22 }, cardCornerInset = 5, cardCornerAlpha = 0.30, cardCornerMode = "diagonal",
        lockSize = { 58, 58 }, lockAlpha = 0.44,
    },

    frameStyle = {
        ornate = true,
        edgeSize = 18,
        outerShadowAlpha = 0.76,
        originalBorderAlpha = 0.16,
        originalDecorAlpha = 0.95,
        originalDividerAlpha = 0.46,
        backgroundTextureAlpha = 0.62,
        headerBandAlpha = 0.64,
        topGlowAlpha = 0.38,
        centerMistAlpha = 0.10,
        sideGlowAlpha = 0.16,
        topAccentAlpha = 0.66,
        headerDividerAlpha = 0.72,
        bottomAccentAlpha = 0.52,
        cornerAlpha = 0.62,
        crestBorderAlpha = 0.72,
    },

    frameEffectProfile = {
        id = "midnight",
        speed = 1.00,
        idleSpeed = 1.00,
        crestColor = "silver",
        dividerColor = "accent",
        topColor = "glow",
        sideColor = "glow",
        bottomColor = "accent",
        cornerColor = "metal",
        particlePrimary = "accent",
        particleSecondary = "silver",
        particles = true,
        idleParticles = true,
        particleDensity = 1.00,
        top = true,
        sides = true,
        bottom = true,
        corners = true,
        crest = true,
        divider = true,
        idleTrace = true,
        crestMultiplier = 1.00,
        dividerMultiplier = 1.00,
        topMultiplier = 1.00,
        sideMultiplier = 1.00,
        bottomMultiplier = 1.00,
        cornerMultiplier = 1.00,
        particleMultiplier = 1.00,
        sideStagger = 0,
    },

    rowStyle = {
        showArtwork = true,
        artworkAlpha = 0.88,
        artworkBorderAlpha = 0.34,
        panelAlpha = 0.38,
        panelBorderAlpha = 0.44,
        shadeAlpha = 0.34,
        outlineAlpha = 0.52,
        accentAlpha = 0.94,
        topLineAlpha = 0.40,
        bottomLineAlpha = 0.28,
    },

    cardStyle = {
        ornate = true,
        normalEdgeSize = 11,
        selectedEdgeSize = 13,
        lockedBorderAlpha = 0.52,
        unlockedBorderAlpha = 0.92,
        rewardBorderAlpha = 1.00,
        innerBlend = 0.34,
        innerAlpha = 0.98,
        innerBorderAlpha = 0.22,
        selectedInnerBorderAlpha = 0.48,
        shadowBorderAlpha = 0.72,
        headerRewardMultiplier = 1.35,
        headerNormalMultiplier = 1.16,
        headerRewardAlpha = 0.62,
        headerNormalAlpha = 0.38,
        hoverAlpha = 0.22,
        selectedGlowAlpha = 0.42,
        rewardGlowAlpha = 0.24,
    },

    animationStyle = {
        openingGlowAlpha = 0.78,
        topGlowPeak = 0.78,
        sideGlowPeak = 0.72,
        crestGlowPeak = 0.86,
        dividerGlowPeak = 0.62,
        unlockedFlashAlpha = 0.42,
        lockedFlashAlpha = 0.20,
        unlockedSweepAlpha = 0.42,
        lockedSweepAlpha = 0.20,
        unlockedBorderAlpha = 1.00,
        lockedBorderAlpha = 0.72,
        finalGlowAlpha = 0.62,
        jackpotGlowAlpha = 1.00,
    },

    soundProfile = {
        frameOpen = { "UI_WEEKLY_REWARD_OPEN", "UI_BONUS_LOOT_ROLL_START", "IG_MAINMENU_OPEN" },
        open = { "UI_WEEKLY_REWARD_OPEN", "UI_BONUS_LOOT_ROLL_START", "IG_MAINMENU_OPEN" },
        crest = { "UI_70_ARTIFACT_FORGE_APPEARANCE_LOCKED", "IG_MAINMENU_OPTION_CHECKBOX_ON" },
        border = { "UI_BONUS_LOOT_ROLL_START", "IG_MAINMENU_OPTION_CHECKBOX_ON" },
        corner = { "LOOT_WINDOW_COIN_SOUND", "IG_MAINMENU_OPTION_CHECKBOX_ON" },
        frameComplete = { "UI_BONUS_LOOT_ROLL_END", "UI_70_ARTIFACT_FORGE_TRAIT_RANKUP" },
        slot = { "IG_MAINMENU_OPTION_CHECKBOX_ON", "UI_BONUS_LOOT_ROLL_START" },
        rewardQuiet = { "IG_MAINMENU_OPTION_CHECKBOX_ON", "LOOT_WINDOW_COIN_SOUND" },
        rewardNormal = { "UI_BONUS_LOOT_ROLL_END", "LOOT_WINDOW_COIN_SOUND", "IG_MAINMENU_OPTION_CHECKBOX_ON" },
        reward = { "UI_WEEKLY_REWARD_UNLOCK_ITEM", "UI_EPICLOOT_TOAST", "UI_BONUS_LOOT_ROLL_END" },
        final = { "UI_70_ARTIFACT_FORGE_TRAIT_RANKUP", "UI_BONUS_LOOT_ROLL_END" },
        jackpot = { "UI_70_ARTIFACT_FORGE_TRAIT_FINALRANK", "UI_EPICLOOT_TOAST" },
    },
})

-- =========================== CORE ADAPTIVE THEMES ===========================
Engine:RegisterTheme("Midnight", {
    extends = "Base",
    displayName = "Midnight Premium",
    category = "Featured",
    pack = "VaultSkins Core",
    description = "Deep violet, silver metal, and Midnight-inspired ambient light.",
    artworkProfile = { id = "midnight", primaryColor = "accent", secondaryColor = "silver", tertiaryColor = "glow", alpha = 1.00, crestSize = { 174, 86 }, crestY = 16, crestAlpha = 0.58, headerSize = { 440, 54 }, headerY = -76, headerAlpha = 0.30, watermarkSize = { 220, 220 }, watermarkX = 145, watermarkY = -40, watermarkAlpha = 0.032, cornerSize = { 96, 96 }, cornerInset = 12, cornerAlpha = 0.42, bottomCornerAlpha = 0.30, cardCornerSize = { 22, 22 }, cardCornerInset = 5, cardCornerAlpha = 0.30, cardCornerMode = "diagonal", lockSize = { 58, 58 }, lockAlpha = 0.44 },
    frameStyle = { edgeSize = 19, originalDecorAlpha = 0.56, cornerAlpha = 0.72, crestBorderAlpha = 0.80 },
    cardStyle = { normalEdgeSize = 12, selectedEdgeSize = 14 },
    frameEffectProfile = {
        id = "midnight",
        crestColor = "silver",
        dividerColor = "accent",
        topColor = C(0.48, 0.34, 1.00, 1),
        sideColor = C(0.24, 0.52, 1.00, 1),
        bottomColor = C(0.62, 0.36, 1.00, 1),
        particlePrimary = C(0.64, 0.38, 1.00, 1),
        particleSecondary = C(0.74, 0.82, 1.00, 1),
        particleDensity = 1.00,
        secondaryCrestPulse = true,
    },
})

Engine:RegisterTheme("Class", {
    extends = "Midnight",
    displayName = "Class",
    category = "Dynamic",
    pack = "VaultSkins Core",
    description = "Automatically adapts the accent and reward colors to your class.",
    artworkProfile = { id = "class", primaryColor = "accent", secondaryColor = "silver", tertiaryColor = "glow", alpha = 0.96, crestSize = { 164, 82 }, crestY = 15, crestAlpha = 0.54, headerSize = { 420, 52 }, headerY = -76, headerAlpha = 0.27, watermarkSize = { 205, 205 }, watermarkX = 145, watermarkY = -40, watermarkAlpha = 0.028, cornerSize = { 90, 90 }, cornerInset = 13, cornerAlpha = 0.37, bottomCornerAlpha = 0.25, cardCornerSize = { 21, 21 }, cardCornerInset = 5, cardCornerAlpha = 0.27, cardCornerMode = "diagonal", lockSize = { 56, 56 }, lockAlpha = 0.40 },
    frameStyle = { edgeSize = 18, originalDecorAlpha = 0.30, cornerAlpha = 0.70, crestBorderAlpha = 0.82 },
    cardStyle = { normalEdgeSize = 11, selectedEdgeSize = 14 },
    resolver = function(theme, context)
        local classColor = context and context.classColor
        if not classColor then
            return theme
        end

        local r, g, b = classColor.r, classColor.g, classColor.b
        theme.accent = C(r, g, b, 1)
        theme.border = C(r * 0.70, g * 0.70, b * 0.70, 0.95)
        theme.glow = C(r, g, b, 0.22)
        theme.reward = C(0.035 + r * 0.10, 0.045 + g * 0.10, 0.070 + b * 0.10, 0.99)
        theme.unlocked = C(0.030 + r * 0.07, 0.045 + g * 0.07, 0.075 + b * 0.07, 0.99)
        theme.success = C(math.min(1, r + 0.20), math.min(1, g + 0.20), math.min(1, b + 0.20), 1)
        theme.artTint = C(math.min(1, 0.72 + r * 0.25), math.min(1, 0.72 + g * 0.25), math.min(1, 0.72 + b * 0.25), 1)
        theme.frameEffectProfile = theme.frameEffectProfile or {}
        theme.frameEffectProfile.id = "class"
        theme.frameEffectProfile.crestColor = C(math.min(1, r + 0.18), math.min(1, g + 0.18), math.min(1, b + 0.18), 1)
        theme.frameEffectProfile.dividerColor = C(r, g, b, 1)
        theme.frameEffectProfile.topColor = C(r, g, b, 1)
        theme.frameEffectProfile.sideColor = C(math.min(1, r * 0.76 + 0.18), math.min(1, g * 0.76 + 0.18), math.min(1, b * 0.76 + 0.18), 1)
        theme.frameEffectProfile.bottomColor = C(math.min(1, r + 0.10), math.min(1, g + 0.10), math.min(1, b + 0.10), 1)
        theme.frameEffectProfile.particlePrimary = C(r, g, b, 1)
        theme.frameEffectProfile.particleSecondary = C(math.min(1, r + 0.28), math.min(1, g + 0.28), math.min(1, b + 0.28), 1)
        theme.artworkProfile = theme.artworkProfile or {}
        theme.artworkProfile.id = "class"
        theme.artworkProfile.primaryColor = C(r, g, b, 1)
        theme.artworkProfile.secondaryColor = C(math.min(1, r + 0.28), math.min(1, g + 0.28), math.min(1, b + 0.28), 1)
        theme.artworkProfile.tertiaryColor = C(r, g, b, 0.22)
        return theme
    end,
})

-- ============================== FACTION THEMES ==============================
Engine:RegisterTheme("Horde", {
    extends = "Base",
    displayName = "Horde",
    category = "Faction",
    description = "Dark iron, deep crimson, and a strong Horde-red reveal.",
    artworkProfile = { id = "horde", primaryColor = "accent", secondaryColor = "metal", tertiaryColor = "glow", alpha = 1.00, cardAlpha = 1.00, crestSize = { 188, 94 }, crestY = 17, crestAlpha = 0.62, headerSize = { 470, 58 }, headerY = -77, headerAlpha = 0.32, watermarkSize = { 215, 215 }, watermarkX = 150, watermarkY = -42, watermarkAlpha = 0.028, cornerSize = { 108, 108 }, cornerInset = 10, cornerAlpha = 0.48, bottomCornerAlpha = 0.34, cardCornerSize = { 24, 24 }, cardCornerInset = 5, cardCornerAlpha = 0.34, cardCornerMode = "diagonal", lockSize = { 62, 62 }, lockAlpha = 0.48 },
    frameStyle = { edgeSize = 21, originalDecorAlpha = 0.20, cornerAlpha = 0.86, crestBorderAlpha = 0.86, headerBandAlpha = 0.72 },
    cardStyle = { normalEdgeSize = 13, selectedEdgeSize = 15, headerNormalAlpha = 0.44 },
    soundProfile = {
        frameOpen = { "IG_CHARACTER_INFO_OPEN", "IG_MAINMENU_OPEN" },
        crest = { "UI_BONUS_LOOT_ROLL_START", "IG_MAINMENU_OPTION_CHECKBOX_ON" },
        border = { "LOOT_WINDOW_COIN_SOUND", "UI_BONUS_LOOT_ROLL_START" },
        corner = { "LOOT_WINDOW_COIN_SOUND", "IG_MAINMENU_OPTION_CHECKBOX_ON" },
        frameComplete = { "UI_BONUS_LOOT_ROLL_END", "UI_EPICLOOT_TOAST" },
        open = { "IG_CHARACTER_INFO_OPEN", "IG_MAINMENU_OPEN" },
        reward = { "UI_EPICLOOT_TOAST", "UI_BONUS_LOOT_ROLL_END" },
    },
    background = C(0.050, 0.012, 0.012, 0.985),
    panel = C(0.110, 0.025, 0.022, 0.96),
    card = C(0.120, 0.030, 0.025, 0.96),
    unlocked = C(0.170, 0.045, 0.035, 0.98),
    reward = C(0.210, 0.060, 0.030, 0.98),
    locked = C(0.050, 0.022, 0.020, 0.94),
    border = C(0.48, 0.14, 0.09, 0.95),
    accent = C(0.95, 0.22, 0.12, 1),
    glow = C(1.00, 0.18, 0.08, 0.20),
    text = C(1.00, 0.92, 0.87, 1),
    muted = C(0.68, 0.46, 0.42, 1),
    success = C(0.98, 0.72, 0.20, 1),
    metal = C(0.46, 0.28, 0.22, 1),
    silver = C(0.76, 0.54, 0.44, 1),
    artTint = C(1.00, 0.78, 0.70, 1),
    shadow = C(0.020, 0.003, 0.003, 0.78),
    frameEffectProfile = {
        id = "horde",
        speed = 1.10,
        idleSpeed = 1.14,
        crestColor = "accent",
        dividerColor = C(1.00, 0.42, 0.08, 1),
        topColor = C(1.00, 0.18, 0.05, 1),
        sideColor = C(0.86, 0.06, 0.025, 1),
        bottomColor = C(1.00, 0.46, 0.08, 1),
        cornerColor = C(0.92, 0.16, 0.06, 1),
        particlePrimary = C(1.00, 0.34, 0.06, 1),
        particleSecondary = C(0.76, 0.04, 0.02, 1),
        particleDensity = 0.75,
        particleIndices = { 1, 2, 5, 6, 7, 8 },
        crestMultiplier = 1.10,
        bottomMultiplier = 1.12,
        particleMultiplier = 0.92,
        bottomEcho = true,
    },
})

Engine:RegisterTheme("Alliance", {
    extends = "Base",
    displayName = "Alliance",
    category = "Faction",
    description = "Royal blue, bright steel, and a warm gold accent.",
    artworkProfile = { id = "alliance", primaryColor = "accent", secondaryColor = "border", tertiaryColor = "glow", alpha = 1.00, crestSize = { 188, 94 }, crestY = 17, crestAlpha = 0.60, headerSize = { 470, 58 }, headerY = -77, headerAlpha = 0.31, watermarkSize = { 215, 215 }, watermarkX = 150, watermarkY = -42, watermarkAlpha = 0.027, cornerSize = { 104, 104 }, cornerInset = 11, cornerAlpha = 0.44, bottomCornerAlpha = 0.30, cardCornerSize = { 23, 23 }, cardCornerInset = 5, cardCornerAlpha = 0.31, cardCornerMode = "diagonal", lockSize = { 60, 60 }, lockAlpha = 0.45 },
    frameStyle = { edgeSize = 18, originalDecorAlpha = 0.24, cornerAlpha = 0.76, crestBorderAlpha = 0.84, headerBandAlpha = 0.68 },
    cardStyle = { normalEdgeSize = 12, selectedEdgeSize = 14, innerBorderAlpha = 0.28 },
    soundProfile = {
        frameOpen = { "IG_QUEST_LOG_OPEN", "IG_MAINMENU_OPEN" },
        crest = { "UI_70_ARTIFACT_FORGE_TRAIT_RANKUP", "IG_MAINMENU_OPTION_CHECKBOX_ON" },
        border = { "UI_BONUS_LOOT_ROLL_START", "IG_MAINMENU_OPTION_CHECKBOX_ON" },
        corner = { "LOOT_WINDOW_COIN_SOUND", "IG_MAINMENU_OPTION_CHECKBOX_ON" },
        frameComplete = { "UI_70_ARTIFACT_FORGE_TRAIT_RANKUP", "UI_BONUS_LOOT_ROLL_END" },
        open = { "IG_QUEST_LOG_OPEN", "IG_MAINMENU_OPEN" },
        final = { "UI_70_ARTIFACT_FORGE_TRAIT_RANKUP", "UI_BONUS_LOOT_ROLL_END" },
    },
    background = C(0.018, 0.035, 0.075, 0.985),
    panel = C(0.035, 0.080, 0.155, 0.96),
    card = C(0.045, 0.095, 0.175, 0.96),
    unlocked = C(0.055, 0.125, 0.225, 0.98),
    reward = C(0.115, 0.105, 0.190, 0.98),
    locked = C(0.025, 0.045, 0.075, 0.94),
    border = C(0.24, 0.48, 0.82, 0.95),
    accent = C(1.00, 0.76, 0.20, 1),
    glow = C(0.20, 0.48, 1.00, 0.22),
    text = C(0.95, 0.97, 1.00, 1),
    muted = C(0.52, 0.65, 0.80, 1),
    success = C(0.98, 0.82, 0.34, 1),
    metal = C(0.42, 0.50, 0.68, 1),
    silver = C(0.78, 0.84, 0.96, 1),
    artTint = C(0.76, 0.86, 1.00, 1),
    shadow = C(0.003, 0.008, 0.020, 0.78),
    frameEffectProfile = {
        id = "alliance",
        speed = 0.96,
        idleSpeed = 1.08,
        crestColor = "accent",
        dividerColor = "accent",
        topColor = C(1.00, 0.76, 0.20, 1),
        sideColor = C(0.20, 0.50, 1.00, 1),
        bottomColor = C(0.92, 0.72, 0.22, 1),
        cornerColor = "silver",
        particlePrimary = C(1.00, 0.80, 0.28, 1),
        particleSecondary = C(0.72, 0.86, 1.00, 1),
        particleDensity = 0.50,
        particleIndices = { 2, 3, 4, 5 },
        dividerMultiplier = 1.12,
        cornerMultiplier = 0.82,
        idleParticles = false,
        secondaryDividerPulse = true,
    },
})

-- ========================== ARCANE AND FEL THEMES ===========================
Engine:RegisterTheme("Arcane", {
    extends = "Base",
    displayName = "Arcane",
    category = "Magic",
    description = "Bright violet magic with a stronger luminous card treatment.",
    artworkProfile = { id = "arcane", primaryColor = "accent", secondaryColor = "success", tertiaryColor = "glow", alpha = 0.98, backgroundAlpha = 1.00, crestSize = { 160, 92 }, crestY = 14, crestAlpha = 0.56, headerSize = { 420, 52 }, headerY = -76, headerAlpha = 0.28, watermarkSize = { 210, 210 }, watermarkX = 150, watermarkY = -40, watermarkAlpha = 0.036, cornerSize = { 92, 92 }, cornerInset = 14, cornerAlpha = 0.36, bottomCornerAlpha = 0.24, cardCornerSize = { 20, 20 }, cardCornerInset = 5, cardCornerAlpha = 0.27, cardCornerMode = "diagonal", lockSize = { 58, 58 }, lockAlpha = 0.42 },
    frameStyle = { edgeSize = 15, originalDecorAlpha = 0.16, cornerAlpha = 0.64, crestBorderAlpha = 0.88, topGlowAlpha = 0.48 },
    cardStyle = { normalEdgeSize = 9, selectedEdgeSize = 12, rewardGlowAlpha = 0.30 },
    soundProfile = {
        frameOpen = { "UI_70_ARTIFACT_FORGE_APPEARANCE_LOCKED", "UI_BONUS_LOOT_ROLL_START" },
        crest = { "UI_70_ARTIFACT_FORGE_APPEARANCE_LOCKED", "IG_MAINMENU_OPTION_CHECKBOX_ON" },
        border = { "UI_BONUS_LOOT_ROLL_START", "IG_MAINMENU_OPTION_CHECKBOX_ON" },
        corner = { "LOOT_WINDOW_COIN_SOUND", "IG_MAINMENU_OPTION_CHECKBOX_ON" },
        frameComplete = { "UI_70_ARTIFACT_FORGE_TRAIT_RANKUP", "UI_BONUS_LOOT_ROLL_END" },
        open = { "UI_70_ARTIFACT_FORGE_APPEARANCE_LOCKED", "UI_BONUS_LOOT_ROLL_START" },
        reward = { "UI_70_ARTIFACT_FORGE_TRAIT_RANKUP", "UI_EPICLOOT_TOAST" },
    },
    background = C(0.040, 0.018, 0.070, 0.985),
    panel = C(0.085, 0.035, 0.135, 0.96),
    card = C(0.090, 0.042, 0.145, 0.96),
    unlocked = C(0.125, 0.055, 0.195, 0.98),
    reward = C(0.155, 0.060, 0.220, 0.98),
    locked = C(0.045, 0.025, 0.065, 0.94),
    border = C(0.54, 0.25, 0.82, 0.95),
    accent = C(0.88, 0.45, 1.00, 1),
    glow = C(0.70, 0.25, 1.00, 0.22),
    text = C(0.98, 0.93, 1.00, 1),
    muted = C(0.67, 0.52, 0.76, 1),
    success = C(0.42, 0.90, 1.00, 1),
    metal = C(0.48, 0.36, 0.64, 1),
    silver = C(0.84, 0.72, 0.96, 1),
    artTint = C(0.92, 0.78, 1.00, 1),
    shadow = C(0.012, 0.003, 0.020, 0.78),
    frameEffectProfile = {
        id = "arcane",
        speed = 0.82,
        idleSpeed = 0.86,
        crestColor = C(0.94, 0.66, 1.00, 1),
        dividerColor = C(0.62, 0.84, 1.00, 1),
        topColor = C(0.88, 0.45, 1.00, 1),
        sideColor = C(0.45, 0.72, 1.00, 1),
        bottomColor = C(0.78, 0.46, 1.00, 1),
        cornerColor = C(0.88, 0.66, 1.00, 1),
        particlePrimary = C(0.92, 0.58, 1.00, 1),
        particleSecondary = C(0.52, 0.86, 1.00, 1),
        particleDensity = 1.00,
        crestMultiplier = 1.08,
        dividerMultiplier = 1.20,
        topMultiplier = 1.08,
        particleMultiplier = 1.18,
        sideStagger = 0.08,
        secondaryDividerPulse = true,
        secondaryCrestPulse = true,
    },
    animationStyle = {
        unlockedFlashAlpha = 0.50,
        unlockedSweepAlpha = 0.52,
        crestGlowPeak = 0.94,
        finalGlowAlpha = 0.72,
    },
})

Engine:RegisterTheme("Fel", {
    extends = "Base",
    displayName = "Fel",
    category = "Magic",
    description = "Dark fel green, corrupted steel, and vivid reward flashes.",
    artworkProfile = { id = "fel", primaryColor = "accent", secondaryColor = "success", tertiaryColor = "glow", alpha = 1.00, backgroundAlpha = 1.00, crestSize = { 178, 92 }, crestY = 16, crestAlpha = 0.60, headerSize = { 450, 56 }, headerY = -77, headerAlpha = 0.30, watermarkSize = { 215, 215 }, watermarkX = 148, watermarkY = -42, watermarkAlpha = 0.032, cornerSize = { 102, 102 }, cornerInset = 11, cornerAlpha = 0.44, bottomCornerAlpha = 0.30, cardCornerSize = { 23, 23 }, cardCornerInset = 5, cardCornerAlpha = 0.31, cardCornerMode = "diagonal", lockSize = { 60, 60 }, lockAlpha = 0.45 },
    frameStyle = { edgeSize = 19, originalDecorAlpha = 0.16, cornerAlpha = 0.82, crestBorderAlpha = 0.88, sideGlowAlpha = 0.22 },
    cardStyle = { normalEdgeSize = 12, selectedEdgeSize = 14, headerNormalAlpha = 0.44 },
    soundProfile = {
        frameOpen = { "UI_70_ARTIFACT_FORGE_APPEARANCE_LOCKED", "IG_MAINMENU_OPEN" },
        crest = { "UI_70_ARTIFACT_FORGE_APPEARANCE_LOCKED", "IG_MAINMENU_OPTION_CHECKBOX_ON" },
        border = { "UI_BONUS_LOOT_ROLL_START", "IG_MAINMENU_OPTION_CHECKBOX_ON" },
        corner = { "LOOT_WINDOW_COIN_SOUND", "IG_MAINMENU_OPTION_CHECKBOX_ON" },
        frameComplete = { "UI_70_ARTIFACT_FORGE_TRAIT_RANKUP", "UI_BONUS_LOOT_ROLL_END" },
        open = { "UI_70_ARTIFACT_FORGE_APPEARANCE_LOCKED", "IG_MAINMENU_OPEN" },
        reward = { "UI_70_ARTIFACT_FORGE_TRAIT_RANKUP", "UI_BONUS_LOOT_ROLL_END" },
    },
    background = C(0.012, 0.045, 0.020, 0.985),
    panel = C(0.025, 0.090, 0.035, 0.96),
    card = C(0.030, 0.105, 0.040, 0.96),
    unlocked = C(0.045, 0.145, 0.055, 0.98),
    reward = C(0.075, 0.170, 0.045, 0.98),
    locked = C(0.020, 0.050, 0.025, 0.94),
    border = C(0.18, 0.55, 0.20, 0.95),
    accent = C(0.42, 1.00, 0.20, 1),
    glow = C(0.25, 1.00, 0.15, 0.20),
    text = C(0.92, 1.00, 0.90, 1),
    muted = C(0.45, 0.67, 0.46, 1),
    success = C(0.62, 1.00, 0.30, 1),
    metal = C(0.30, 0.50, 0.28, 1),
    silver = C(0.68, 0.86, 0.62, 1),
    artTint = C(0.76, 1.00, 0.70, 1),
    shadow = C(0.002, 0.016, 0.005, 0.78),
    frameEffectProfile = {
        id = "fel",
        speed = 0.88,
        idleSpeed = 0.92,
        crestColor = C(0.54, 1.00, 0.18, 1),
        dividerColor = C(0.38, 1.00, 0.14, 1),
        topColor = C(0.42, 1.00, 0.18, 1),
        sideColor = C(0.22, 0.90, 0.08, 1),
        bottomColor = C(0.68, 1.00, 0.18, 1),
        cornerColor = C(0.36, 0.92, 0.12, 1),
        particlePrimary = C(0.50, 1.00, 0.15, 1),
        particleSecondary = C(0.82, 1.00, 0.24, 1),
        particleDensity = 1.00,
        sideMultiplier = 1.14,
        cornerMultiplier = 1.10,
        particleMultiplier = 1.16,
        sideStagger = 0.05,
        secondaryCornerPulse = true,
    },
})

-- ========================= DRAGON AND LIGHT THEMES ==========================
Engine:RegisterTheme("Bronze", {
    extends = "Base",
    displayName = "Bronze",
    category = "Legacy",
    description = "Warm bronze metal and time-magic amber lighting.",
    artworkProfile = { id = "bronze", primaryColor = "accent", secondaryColor = "silver", tertiaryColor = "glow", alpha = 0.96, crestSize = { 158, 92 }, crestY = 14, crestAlpha = 0.54, headerSize = { 420, 52 }, headerY = -76, headerAlpha = 0.27, watermarkSize = { 205, 205 }, watermarkX = 150, watermarkY = -40, watermarkAlpha = 0.026, cornerSize = { 90, 90 }, cornerInset = 14, cornerAlpha = 0.35, bottomCornerAlpha = 0.23, cardCornerSize = { 20, 20 }, cardCornerInset = 5, cardCornerAlpha = 0.25, cardCornerMode = "diagonal", lockSize = { 56, 56 }, lockAlpha = 0.39 },
    frameStyle = { edgeSize = 17, originalDecorAlpha = 0.22, cornerAlpha = 0.76, crestBorderAlpha = 0.82 },
    cardStyle = { normalEdgeSize = 10, selectedEdgeSize = 12, innerBorderAlpha = 0.30 },
    soundProfile = {
        frameOpen = { "UI_CHROMIE_TIME_SELECT_EXPANSION", "IG_MAINMENU_OPEN" },
        crest = { "UI_CHROMIE_TIME_SELECT_EXPANSION", "IG_MAINMENU_OPTION_CHECKBOX_ON" },
        border = { "LOOT_WINDOW_COIN_SOUND", "UI_BONUS_LOOT_ROLL_START" },
        corner = { "LOOT_WINDOW_COIN_SOUND", "IG_MAINMENU_OPTION_CHECKBOX_ON" },
        frameComplete = { "UI_70_ARTIFACT_FORGE_TRAIT_RANKUP", "UI_BONUS_LOOT_ROLL_END" },
        open = { "UI_CHROMIE_TIME_SELECT_EXPANSION", "IG_MAINMENU_OPEN" },
        final = { "UI_70_ARTIFACT_FORGE_TRAIT_RANKUP", "UI_BONUS_LOOT_ROLL_END" },
    },
    background = C(0.055, 0.035, 0.020, 0.985),
    panel = C(0.110, 0.072, 0.035, 0.96),
    card = C(0.125, 0.080, 0.038, 0.96),
    unlocked = C(0.165, 0.105, 0.045, 0.98),
    reward = C(0.195, 0.115, 0.040, 0.98),
    locked = C(0.055, 0.040, 0.025, 0.94),
    border = C(0.55, 0.34, 0.15, 0.95),
    accent = C(1.00, 0.64, 0.22, 1),
    glow = C(1.00, 0.55, 0.16, 0.20),
    text = C(1.00, 0.94, 0.82, 1),
    muted = C(0.70, 0.56, 0.40, 1),
    success = C(0.96, 0.80, 0.38, 1),
    metal = C(0.56, 0.42, 0.25, 1),
    silver = C(0.88, 0.72, 0.46, 1),
    artTint = C(1.00, 0.86, 0.68, 1),
    shadow = C(0.020, 0.010, 0.003, 0.78),
    frameEffectProfile = {
        id = "bronze",
        speed = 1.08,
        idleSpeed = 1.12,
        crestColor = C(1.00, 0.72, 0.28, 1),
        dividerColor = C(0.94, 0.56, 0.16, 1),
        topColor = C(1.00, 0.62, 0.18, 1),
        sideColor = C(0.84, 0.42, 0.10, 1),
        bottomColor = C(1.00, 0.72, 0.24, 1),
        cornerColor = "metal",
        particlePrimary = C(1.00, 0.68, 0.22, 1),
        particleSecondary = C(0.94, 0.84, 0.52, 1),
        particleDensity = 0.55,
        particleIndices = { 1, 3, 4, 6, 7, 8 },
        crestMultiplier = 1.04,
        bottomMultiplier = 1.08,
        particleMultiplier = 0.82,
    },
})


Engine:RegisterTheme("Sunwell", {
    extends = "Base",
    displayName = "Sunwell",
    category = "Legacy",
    pack = "VaultSkins Core",
    description = "Radiant gold, turquoise crystal light, and elegant Sunwell ornamentation.",
    artworkProfile = { id = "sunwell", primaryColor = "accent", secondaryColor = "silver", tertiaryColor = "glow", alpha = 1.00, backgroundAlpha = 1.00, crestSize = { 176, 88 }, crestY = 15, crestAlpha = 0.62, headerSize = { 454, 56 }, headerY = -76, headerAlpha = 0.32, watermarkSize = { 222, 222 }, watermarkX = 148, watermarkY = -40, watermarkAlpha = 0.036, cornerSize = { 100, 100 }, cornerInset = 12, cornerAlpha = 0.43, bottomCornerAlpha = 0.29, cardCornerSize = { 22, 22 }, cardCornerInset = 5, cardCornerAlpha = 0.31, cardCornerMode = "diagonal", lockSize = { 60, 60 }, lockAlpha = 0.45 },
    frameStyle = { edgeSize = 18, originalDecorAlpha = 0.18, cornerAlpha = 0.78, crestBorderAlpha = 0.90, topGlowAlpha = 0.44, headerBandAlpha = 0.68 },
    cardStyle = { normalEdgeSize = 11, selectedEdgeSize = 14, rewardGlowAlpha = 0.27, innerBorderAlpha = 0.28 },
    soundProfile = {
        frameOpen = { "UI_70_ARTIFACT_FORGE_APPEARANCE_LOCKED", "IG_QUEST_LOG_OPEN" },
        crest = { "UI_70_ARTIFACT_FORGE_TRAIT_RANKUP", "IG_MAINMENU_OPTION_CHECKBOX_ON" },
        border = { "UI_BONUS_LOOT_ROLL_START", "IG_MAINMENU_OPTION_CHECKBOX_ON" },
        corner = { "LOOT_WINDOW_COIN_SOUND", "IG_MAINMENU_OPTION_CHECKBOX_ON" },
        frameComplete = { "UI_70_ARTIFACT_FORGE_TRAIT_RANKUP", "UI_BONUS_LOOT_ROLL_END" },
        reward = { "UI_70_ARTIFACT_FORGE_TRAIT_RANKUP", "UI_EPICLOOT_TOAST" },
    },
    background = C(0.018, 0.050, 0.060, 0.985),
    panel = C(0.035, 0.105, 0.112, 0.96),
    card = C(0.045, 0.120, 0.125, 0.96),
    unlocked = C(0.060, 0.155, 0.160, 0.98),
    reward = C(0.150, 0.145, 0.075, 0.98),
    locked = C(0.022, 0.055, 0.060, 0.94),
    border = C(0.30, 0.68, 0.66, 0.95),
    accent = C(1.00, 0.78, 0.24, 1),
    glow = C(0.18, 0.92, 0.90, 0.22),
    text = C(1.00, 0.97, 0.84, 1),
    muted = C(0.56, 0.72, 0.70, 1),
    success = C(0.55, 1.00, 0.88, 1),
    metal = C(0.45, 0.58, 0.55, 1),
    silver = C(0.95, 0.84, 0.48, 1),
    artTint = C(1.00, 0.92, 0.66, 1),
    shadow = C(0.003, 0.018, 0.020, 0.78),
    frameEffectProfile = {
        id = "sunwell", speed = 0.94, idleSpeed = 1.04,
        crestColor = C(1.00, 0.84, 0.34, 1), dividerColor = C(0.32, 1.00, 0.92, 1),
        topColor = C(1.00, 0.78, 0.22, 1), sideColor = C(0.22, 0.90, 0.86, 1),
        bottomColor = C(1.00, 0.68, 0.18, 1), cornerColor = "silver",
        particlePrimary = C(1.00, 0.84, 0.30, 1), particleSecondary = C(0.42, 1.00, 0.94, 1),
        particleDensity = 0.72, crestMultiplier = 1.12, dividerMultiplier = 1.10,
        particleMultiplier = 0.92, secondaryCrestPulse = true,
    },
})

-- ========================== VOID AND NATURE THEMES ==========================
Engine:RegisterTheme("Void", {
    extends = "Base",
    displayName = "Void",
    category = "Magic",
    pack = "VaultSkins Core",
    description = "Near-black panels, violet void energy, and sharp otherworldly details.",
    artworkProfile = { id = "void", primaryColor = "accent", secondaryColor = "silver", tertiaryColor = "glow", alpha = 1.00, backgroundAlpha = 1.00, crestSize = { 184, 92 }, crestY = 16, crestAlpha = 0.64, headerSize = { 462, 56 }, headerY = -77, headerAlpha = 0.31, watermarkSize = { 224, 224 }, watermarkX = 150, watermarkY = -42, watermarkAlpha = 0.040, cornerSize = { 104, 104 }, cornerInset = 11, cornerAlpha = 0.46, bottomCornerAlpha = 0.31, cardCornerSize = { 23, 23 }, cardCornerInset = 5, cardCornerAlpha = 0.33, cardCornerMode = "diagonal", lockSize = { 61, 61 }, lockAlpha = 0.46 },
    frameStyle = { edgeSize = 19, originalDecorAlpha = 0.12, cornerAlpha = 0.84, crestBorderAlpha = 0.92, sideGlowAlpha = 0.23, centerMistAlpha = 0.08 },
    cardStyle = { normalEdgeSize = 12, selectedEdgeSize = 15, rewardGlowAlpha = 0.30, selectedGlowAlpha = 0.46 },
    soundProfile = {
        frameOpen = { "UI_70_ARTIFACT_FORGE_APPEARANCE_LOCKED", "UI_WEEKLY_REWARD_OPEN" },
        crest = { "UI_70_ARTIFACT_FORGE_APPEARANCE_LOCKED", "IG_MAINMENU_OPTION_CHECKBOX_ON" },
        border = { "UI_BONUS_LOOT_ROLL_START", "IG_MAINMENU_OPTION_CHECKBOX_ON" },
        corner = { "IG_MAINMENU_OPTION_CHECKBOX_ON", "LOOT_WINDOW_COIN_SOUND" },
        frameComplete = { "UI_BONUS_LOOT_ROLL_END", "UI_70_ARTIFACT_FORGE_TRAIT_RANKUP" },
        reward = { "UI_WEEKLY_REWARD_UNLOCK_ITEM", "UI_EPICLOOT_TOAST" },
    },
    background = C(0.012, 0.006, 0.026, 0.99),
    panel = C(0.035, 0.018, 0.070, 0.97),
    card = C(0.046, 0.022, 0.088, 0.97),
    unlocked = C(0.070, 0.030, 0.125, 0.99),
    reward = C(0.115, 0.030, 0.150, 0.99),
    locked = C(0.018, 0.010, 0.035, 0.96),
    border = C(0.38, 0.16, 0.72, 0.96),
    accent = C(0.82, 0.28, 1.00, 1),
    glow = C(0.30, 0.18, 1.00, 0.24),
    text = C(0.96, 0.92, 1.00, 1),
    muted = C(0.58, 0.44, 0.70, 1),
    success = C(0.34, 0.82, 1.00, 1),
    metal = C(0.36, 0.28, 0.52, 1),
    silver = C(0.76, 0.68, 0.94, 1),
    artTint = C(0.88, 0.72, 1.00, 1),
    shadow = C(0.006, 0.001, 0.014, 0.84),
    frameEffectProfile = {
        id = "void", speed = 0.86, idleSpeed = 0.90,
        crestColor = C(0.88, 0.56, 1.00, 1), dividerColor = C(0.40, 0.62, 1.00, 1),
        topColor = C(0.78, 0.24, 1.00, 1), sideColor = C(0.28, 0.22, 0.92, 1),
        bottomColor = C(0.66, 0.20, 0.92, 1), cornerColor = C(0.56, 0.32, 0.88, 1),
        particlePrimary = C(0.82, 0.34, 1.00, 1), particleSecondary = C(0.30, 0.72, 1.00, 1),
        particleDensity = 0.90, sideMultiplier = 1.10, particleMultiplier = 1.08,
        sideStagger = 0.07, secondaryCrestPulse = true, secondaryDividerPulse = true,
    },
})

Engine:RegisterTheme("EmeraldDream", {
    extends = "Base",
    displayName = "Emerald Dream",
    category = "Nature",
    pack = "VaultSkins Core",
    description = "Deep forest panels, emerald life magic, and soft dreamlike moonlight.",
    artworkProfile = { id = "emerald", primaryColor = "accent", secondaryColor = "silver", tertiaryColor = "glow", alpha = 0.98, backgroundAlpha = 1.00, crestSize = { 178, 90 }, crestY = 15, crestAlpha = 0.60, headerSize = { 448, 54 }, headerY = -76, headerAlpha = 0.29, watermarkSize = { 218, 218 }, watermarkX = 148, watermarkY = -42, watermarkAlpha = 0.038, cornerSize = { 100, 100 }, cornerInset = 12, cornerAlpha = 0.42, bottomCornerAlpha = 0.28, cardCornerSize = { 22, 22 }, cardCornerInset = 5, cardCornerAlpha = 0.30, cardCornerMode = "diagonal", lockSize = { 59, 59 }, lockAlpha = 0.43 },
    frameStyle = { edgeSize = 17, originalDecorAlpha = 0.16, cornerAlpha = 0.76, crestBorderAlpha = 0.86, centerMistAlpha = 0.16, sideGlowAlpha = 0.18 },
    cardStyle = { normalEdgeSize = 11, selectedEdgeSize = 13, rewardGlowAlpha = 0.25, headerNormalAlpha = 0.40 },
    soundProfile = {
        frameOpen = { "IG_QUEST_LOG_OPEN", "IG_MAINMENU_OPEN" },
        crest = { "UI_70_ARTIFACT_FORGE_APPEARANCE_LOCKED", "IG_MAINMENU_OPTION_CHECKBOX_ON" },
        border = { "UI_BONUS_LOOT_ROLL_START", "IG_MAINMENU_OPTION_CHECKBOX_ON" },
        corner = { "LOOT_WINDOW_COIN_SOUND", "IG_MAINMENU_OPTION_CHECKBOX_ON" },
        frameComplete = { "UI_70_ARTIFACT_FORGE_TRAIT_RANKUP", "UI_BONUS_LOOT_ROLL_END" },
        reward = { "UI_70_ARTIFACT_FORGE_TRAIT_RANKUP", "UI_BONUS_LOOT_ROLL_END" },
    },
    background = C(0.010, 0.040, 0.027, 0.985),
    panel = C(0.024, 0.082, 0.052, 0.96),
    card = C(0.030, 0.098, 0.060, 0.96),
    unlocked = C(0.042, 0.135, 0.077, 0.98),
    reward = C(0.055, 0.155, 0.095, 0.98),
    locked = C(0.017, 0.046, 0.031, 0.94),
    border = C(0.20, 0.58, 0.36, 0.95),
    accent = C(0.30, 0.96, 0.50, 1),
    glow = C(0.20, 0.84, 0.62, 0.22),
    text = C(0.91, 1.00, 0.93, 1),
    muted = C(0.45, 0.68, 0.54, 1),
    success = C(0.68, 1.00, 0.74, 1),
    metal = C(0.30, 0.48, 0.36, 1),
    silver = C(0.72, 0.92, 0.78, 1),
    artTint = C(0.76, 1.00, 0.82, 1),
    shadow = C(0.002, 0.014, 0.008, 0.80),
    frameEffectProfile = {
        id = "emerald", speed = 1.02, idleSpeed = 1.10,
        crestColor = C(0.58, 1.00, 0.70, 1), dividerColor = C(0.28, 0.92, 0.52, 1),
        topColor = C(0.36, 1.00, 0.58, 1), sideColor = C(0.18, 0.78, 0.44, 1),
        bottomColor = C(0.48, 0.94, 0.62, 1), cornerColor = C(0.42, 0.82, 0.54, 1),
        particlePrimary = C(0.42, 1.00, 0.60, 1), particleSecondary = C(0.76, 1.00, 0.82, 1),
        particleDensity = 0.68, particleIndices = { 1, 2, 4, 6, 8 },
        crestMultiplier = 1.04, particleMultiplier = 0.90, idleParticles = true,
    },
})

-- ========================= TITAN AND FROZEN THEMES ==========================
Engine:RegisterTheme("Titan", {
    extends = "Base",
    displayName = "Titan",
    category = "Legacy",
    pack = "VaultSkins Core",
    description = "Titan-forged slate, ordered blue energy, and precise golden geometry.",
    artworkProfile = { id = "titan", primaryColor = "accent", secondaryColor = "silver", tertiaryColor = "glow", alpha = 0.98, backgroundAlpha = 1.00, crestSize = { 182, 90 }, crestY = 15, crestAlpha = 0.61, headerSize = { 456, 56 }, headerY = -76, headerAlpha = 0.31, watermarkSize = { 222, 222 }, watermarkX = 148, watermarkY = -40, watermarkAlpha = 0.034, cornerSize = { 102, 102 }, cornerInset = 11, cornerAlpha = 0.43, bottomCornerAlpha = 0.29, cardCornerSize = { 22, 22 }, cardCornerInset = 5, cardCornerAlpha = 0.31, cardCornerMode = "diagonal", lockSize = { 60, 60 }, lockAlpha = 0.45 },
    frameStyle = { edgeSize = 18, originalDecorAlpha = 0.20, cornerAlpha = 0.80, crestBorderAlpha = 0.88, headerBandAlpha = 0.70 },
    cardStyle = { normalEdgeSize = 11, selectedEdgeSize = 14, innerBorderAlpha = 0.31, shadowBorderAlpha = 0.76 },
    soundProfile = {
        frameOpen = { "UI_CHROMIE_TIME_SELECT_EXPANSION", "IG_CHARACTER_INFO_OPEN" },
        crest = { "UI_70_ARTIFACT_FORGE_TRAIT_RANKUP", "IG_MAINMENU_OPTION_CHECKBOX_ON" },
        border = { "UI_BONUS_LOOT_ROLL_START", "IG_MAINMENU_OPTION_CHECKBOX_ON" },
        corner = { "LOOT_WINDOW_COIN_SOUND", "IG_MAINMENU_OPTION_CHECKBOX_ON" },
        frameComplete = { "UI_70_ARTIFACT_FORGE_TRAIT_RANKUP", "UI_BONUS_LOOT_ROLL_END" },
        reward = { "UI_70_ARTIFACT_FORGE_TRAIT_RANKUP", "UI_WEEKLY_REWARD_UNLOCK_ITEM" },
    },
    background = C(0.022, 0.032, 0.052, 0.985),
    panel = C(0.045, 0.070, 0.105, 0.96),
    card = C(0.052, 0.082, 0.120, 0.96),
    unlocked = C(0.070, 0.110, 0.155, 0.98),
    reward = C(0.115, 0.120, 0.135, 0.98),
    locked = C(0.028, 0.040, 0.058, 0.94),
    border = C(0.34, 0.52, 0.72, 0.95),
    accent = C(0.88, 0.68, 0.26, 1),
    glow = C(0.28, 0.62, 1.00, 0.21),
    text = C(0.95, 0.97, 1.00, 1),
    muted = C(0.54, 0.64, 0.74, 1),
    success = C(0.52, 0.82, 1.00, 1),
    metal = C(0.42, 0.52, 0.64, 1),
    silver = C(0.80, 0.86, 0.92, 1),
    artTint = C(0.80, 0.88, 1.00, 1),
    shadow = C(0.004, 0.008, 0.016, 0.80),
    frameEffectProfile = {
        id = "titan", speed = 0.98, idleSpeed = 1.08,
        crestColor = C(0.96, 0.78, 0.36, 1), dividerColor = C(0.42, 0.74, 1.00, 1),
        topColor = C(0.86, 0.68, 0.28, 1), sideColor = C(0.32, 0.62, 0.94, 1),
        bottomColor = C(0.76, 0.60, 0.24, 1), cornerColor = "silver",
        particlePrimary = C(0.52, 0.78, 1.00, 1), particleSecondary = C(0.96, 0.80, 0.40, 1),
        particleDensity = 0.58, particleIndices = { 1, 3, 4, 6, 7 },
        dividerMultiplier = 1.10, cornerMultiplier = 0.88, particleMultiplier = 0.82,
    },
})


Engine:RegisterTheme("Frostmourne", {
    extends = "Base",
    displayName = "Frostmourne",
    category = "Legacy",
    pack = "VaultSkins Legends",
    description = "Saronite-black metal, icy runes, and a cold blue reward glow.",
    artworkProfile = { id = "frostmourne", primaryColor = "accent", secondaryColor = "silver", tertiaryColor = "glow", alpha = 1.00, backgroundAlpha = 1.00, crestSize = { 184, 94 }, crestY = 16, crestAlpha = 0.64, headerSize = { 462, 56 }, headerY = -77, headerAlpha = 0.32, watermarkSize = { 226, 226 }, watermarkX = 148, watermarkY = -42, watermarkAlpha = 0.038, cornerSize = { 104, 104 }, cornerInset = 11, cornerAlpha = 0.45, bottomCornerAlpha = 0.30, cardCornerSize = { 23, 23 }, cardCornerInset = 5, cardCornerAlpha = 0.32, cardCornerMode = "diagonal", lockSize = { 61, 61 }, lockAlpha = 0.47 },
    frameStyle = { edgeSize = 19, originalDecorAlpha = 0.15, cornerAlpha = 0.82, crestBorderAlpha = 0.92, topGlowAlpha = 0.48, centerMistAlpha = 0.15 },
    cardStyle = { normalEdgeSize = 12, selectedEdgeSize = 15, rewardGlowAlpha = 0.31, selectedGlowAlpha = 0.46, shadowBorderAlpha = 0.80 },
    soundProfile = {
        frameOpen = { "UI_70_ARTIFACT_FORGE_APPEARANCE_LOCKED", "UI_WEEKLY_REWARD_OPEN" },
        crest = { "UI_70_ARTIFACT_FORGE_APPEARANCE_LOCKED", "IG_MAINMENU_OPTION_CHECKBOX_ON" },
        border = { "UI_BONUS_LOOT_ROLL_START", "IG_MAINMENU_OPTION_CHECKBOX_ON" },
        corner = { "IG_MAINMENU_OPTION_CHECKBOX_ON", "LOOT_WINDOW_COIN_SOUND" },
        frameComplete = { "UI_70_ARTIFACT_FORGE_TRAIT_RANKUP", "UI_BONUS_LOOT_ROLL_END" },
        reward = { "UI_WEEKLY_REWARD_UNLOCK_ITEM", "UI_EPICLOOT_TOAST" },
    },
    background = C(0.008, 0.020, 0.034, 0.99),
    panel = C(0.020, 0.050, 0.078, 0.97),
    card = C(0.026, 0.060, 0.092, 0.97),
    unlocked = C(0.036, 0.086, 0.128, 0.99),
    reward = C(0.045, 0.112, 0.160, 0.99),
    locked = C(0.012, 0.028, 0.043, 0.96),
    border = C(0.30, 0.58, 0.78, 0.96),
    accent = C(0.48, 0.90, 1.00, 1),
    glow = C(0.22, 0.72, 1.00, 0.24),
    text = C(0.92, 0.98, 1.00, 1),
    muted = C(0.46, 0.64, 0.74, 1),
    success = C(0.72, 0.96, 1.00, 1),
    metal = C(0.27, 0.38, 0.48, 1),
    silver = C(0.80, 0.92, 0.98, 1),
    artTint = C(0.76, 0.94, 1.00, 1),
    shadow = C(0.002, 0.008, 0.016, 0.86),
    frameEffectProfile = {
        id = "frostmourne", speed = 0.92, idleSpeed = 0.98,
        crestColor = C(0.74, 0.96, 1.00, 1), dividerColor = C(0.40, 0.82, 1.00, 1),
        topColor = C(0.48, 0.90, 1.00, 1), sideColor = C(0.20, 0.62, 0.94, 1),
        bottomColor = C(0.58, 0.90, 1.00, 1), cornerColor = "silver",
        particlePrimary = C(0.64, 0.94, 1.00, 1), particleSecondary = C(0.90, 0.98, 1.00, 1),
        particleDensity = 0.94, particleIndices = { 1, 2, 3, 5, 6, 8 },
        crestMultiplier = 1.12, sideMultiplier = 1.08, particleMultiplier = 1.10,
        sideStagger = 0.05, secondaryCrestPulse = true,
    },
})

-- ============================ SHADOWLANDS THEMES ============================
Engine:RegisterTheme("Venthyr", {
    extends = "Base",
    displayName = "Venthyr",
    category = "Shadowlands",
    pack = "VaultSkins Legends",
    description = "Black gothic metal, deep crimson anima, and sharp cathedral ornamentation.",
    artworkProfile = { id = "venthyr", primaryColor = "accent", secondaryColor = "silver", tertiaryColor = "glow", alpha = 1.00, backgroundAlpha = 1.00, crestSize = { 188, 94 }, crestY = 17, crestAlpha = 0.65, headerSize = { 468, 58 }, headerY = -77, headerAlpha = 0.33, watermarkSize = { 228, 228 }, watermarkX = 150, watermarkY = -42, watermarkAlpha = 0.040, cornerSize = { 106, 106 }, cornerInset = 10, cornerAlpha = 0.47, bottomCornerAlpha = 0.32, cardCornerSize = { 24, 24 }, cardCornerInset = 5, cardCornerAlpha = 0.34, cardCornerMode = "diagonal", lockSize = { 62, 62 }, lockAlpha = 0.48 },
    frameStyle = { edgeSize = 20, originalDecorAlpha = 0.12, cornerAlpha = 0.86, crestBorderAlpha = 0.94, headerBandAlpha = 0.72, sideGlowAlpha = 0.22 },
    cardStyle = { normalEdgeSize = 13, selectedEdgeSize = 15, rewardGlowAlpha = 0.29, selectedGlowAlpha = 0.45, headerRewardAlpha = 0.68 },
    soundProfile = {
        frameOpen = { "IG_CHARACTER_INFO_OPEN", "UI_WEEKLY_REWARD_OPEN" },
        crest = { "UI_BONUS_LOOT_ROLL_START", "IG_MAINMENU_OPTION_CHECKBOX_ON" },
        border = { "UI_BONUS_LOOT_ROLL_START", "LOOT_WINDOW_COIN_SOUND" },
        corner = { "LOOT_WINDOW_COIN_SOUND", "IG_MAINMENU_OPTION_CHECKBOX_ON" },
        frameComplete = { "UI_BONUS_LOOT_ROLL_END", "UI_EPICLOOT_TOAST" },
        reward = { "UI_EPICLOOT_TOAST", "UI_WEEKLY_REWARD_UNLOCK_ITEM" },
    },
    background = C(0.028, 0.006, 0.010, 0.99),
    panel = C(0.070, 0.016, 0.025, 0.97),
    card = C(0.084, 0.020, 0.030, 0.97),
    unlocked = C(0.118, 0.026, 0.040, 0.99),
    reward = C(0.158, 0.030, 0.045, 0.99),
    locked = C(0.034, 0.012, 0.016, 0.96),
    border = C(0.48, 0.13, 0.18, 0.96),
    accent = C(0.94, 0.18, 0.28, 1),
    glow = C(0.88, 0.06, 0.18, 0.23),
    text = C(1.00, 0.91, 0.92, 1),
    muted = C(0.68, 0.42, 0.46, 1),
    success = C(1.00, 0.55, 0.38, 1),
    metal = C(0.38, 0.24, 0.28, 1),
    silver = C(0.80, 0.66, 0.70, 1),
    artTint = C(1.00, 0.72, 0.76, 1),
    shadow = C(0.018, 0.001, 0.004, 0.86),
    frameEffectProfile = {
        id = "venthyr", speed = 0.88, idleSpeed = 0.92,
        crestColor = C(1.00, 0.34, 0.42, 1), dividerColor = C(0.88, 0.14, 0.24, 1),
        topColor = C(0.96, 0.16, 0.26, 1), sideColor = C(0.70, 0.04, 0.12, 1),
        bottomColor = C(1.00, 0.28, 0.20, 1), cornerColor = C(0.72, 0.22, 0.26, 1),
        particlePrimary = C(1.00, 0.26, 0.34, 1), particleSecondary = C(0.90, 0.58, 0.62, 1),
        particleDensity = 0.78, particleIndices = { 1, 2, 4, 6, 7, 8 },
        crestMultiplier = 1.08, bottomMultiplier = 1.14, cornerMultiplier = 1.06,
        particleMultiplier = 0.96, bottomEcho = true, secondaryCornerPulse = true,
    },
})

-- ======================== NERUBIAN AND ELUNE THEMES =========================
Engine:RegisterTheme("Nerubian", {
    extends = "Base",
    displayName = "Nerubian",
    category = "Midnight",
    pack = "VaultSkins Legends",
    description = "Obsidian webwork, amber royal energy, and angular subterranean geometry.",
    artworkProfile = { id = "nerubian", primaryColor = "accent", secondaryColor = "silver", tertiaryColor = "glow", alpha = 1.00, backgroundAlpha = 1.00, crestSize = { 190, 96 }, crestY = 17, crestAlpha = 0.66, headerSize = { 470, 58 }, headerY = -77, headerAlpha = 0.33, watermarkSize = { 230, 230 }, watermarkX = 148, watermarkY = -42, watermarkAlpha = 0.042, cornerSize = { 108, 108 }, cornerInset = 10, cornerAlpha = 0.48, bottomCornerAlpha = 0.33, cardCornerSize = { 24, 24 }, cardCornerInset = 5, cardCornerAlpha = 0.35, cardCornerMode = "diagonal", lockSize = { 62, 62 }, lockAlpha = 0.49 },
    frameStyle = { edgeSize = 20, originalDecorAlpha = 0.14, cornerAlpha = 0.88, crestBorderAlpha = 0.94, centerMistAlpha = 0.13, topGlowAlpha = 0.42 },
    cardStyle = { normalEdgeSize = 13, selectedEdgeSize = 15, rewardGlowAlpha = 0.28, selectedGlowAlpha = 0.44, innerBorderAlpha = 0.34 },
    soundProfile = {
        frameOpen = { "UI_CHROMIE_TIME_SELECT_EXPANSION", "IG_CHARACTER_INFO_OPEN" },
        crest = { "UI_70_ARTIFACT_FORGE_APPEARANCE_LOCKED", "IG_MAINMENU_OPTION_CHECKBOX_ON" },
        border = { "UI_BONUS_LOOT_ROLL_START", "IG_MAINMENU_OPTION_CHECKBOX_ON" },
        corner = { "LOOT_WINDOW_COIN_SOUND", "IG_MAINMENU_OPTION_CHECKBOX_ON" },
        frameComplete = { "UI_70_ARTIFACT_FORGE_TRAIT_RANKUP", "UI_BONUS_LOOT_ROLL_END" },
        reward = { "UI_WEEKLY_REWARD_UNLOCK_ITEM", "UI_BONUS_LOOT_ROLL_END" },
    },
    background = C(0.026, 0.020, 0.012, 0.99),
    panel = C(0.066, 0.050, 0.022, 0.97),
    card = C(0.078, 0.060, 0.026, 0.97),
    unlocked = C(0.108, 0.080, 0.032, 0.99),
    reward = C(0.148, 0.104, 0.032, 0.99),
    locked = C(0.034, 0.028, 0.018, 0.96),
    border = C(0.50, 0.38, 0.16, 0.96),
    accent = C(1.00, 0.66, 0.18, 1),
    glow = C(0.98, 0.46, 0.08, 0.22),
    text = C(1.00, 0.95, 0.82, 1),
    muted = C(0.68, 0.58, 0.40, 1),
    success = C(0.42, 0.90, 0.72, 1),
    metal = C(0.44, 0.36, 0.24, 1),
    silver = C(0.88, 0.72, 0.40, 1),
    artTint = C(1.00, 0.84, 0.54, 1),
    shadow = C(0.012, 0.008, 0.002, 0.86),
    frameEffectProfile = {
        id = "nerubian", speed = 1.02, idleSpeed = 1.08,
        crestColor = C(1.00, 0.76, 0.28, 1), dividerColor = C(0.98, 0.54, 0.12, 1),
        topColor = C(1.00, 0.66, 0.16, 1), sideColor = C(0.72, 0.42, 0.08, 1),
        bottomColor = C(0.92, 0.50, 0.10, 1), cornerColor = "silver",
        particlePrimary = C(1.00, 0.68, 0.18, 1), particleSecondary = C(0.46, 0.92, 0.74, 1),
        particleDensity = 0.74, particleIndices = { 1, 3, 4, 5, 7, 8 },
        dividerMultiplier = 1.14, cornerMultiplier = 0.96, particleMultiplier = 0.90,
        sideStagger = 0.04, secondaryDividerPulse = true,
    },
})

Engine:RegisterTheme("Elune", {
    extends = "Base",
    displayName = "Elune",
    category = "Nature",
    pack = "VaultSkins Legends",
    description = "Deep indigo night, silver moonlight, and a calm celestial glow.",
    artworkProfile = { id = "elune", primaryColor = "accent", secondaryColor = "silver", tertiaryColor = "glow", alpha = 0.99, backgroundAlpha = 1.00, crestSize = { 180, 92 }, crestY = 16, crestAlpha = 0.62, headerSize = { 456, 56 }, headerY = -76, headerAlpha = 0.31, watermarkSize = { 224, 224 }, watermarkX = 148, watermarkY = -42, watermarkAlpha = 0.040, cornerSize = { 102, 102 }, cornerInset = 11, cornerAlpha = 0.44, bottomCornerAlpha = 0.30, cardCornerSize = { 22, 22 }, cardCornerInset = 5, cardCornerAlpha = 0.31, cardCornerMode = "diagonal", lockSize = { 60, 60 }, lockAlpha = 0.45 },
    frameStyle = { edgeSize = 18, originalDecorAlpha = 0.14, cornerAlpha = 0.80, crestBorderAlpha = 0.90, topGlowAlpha = 0.46, centerMistAlpha = 0.17, sideGlowAlpha = 0.18 },
    cardStyle = { normalEdgeSize = 11, selectedEdgeSize = 14, rewardGlowAlpha = 0.27, selectedGlowAlpha = 0.42, headerNormalAlpha = 0.40 },
    soundProfile = {
        frameOpen = { "IG_QUEST_LOG_OPEN", "UI_70_ARTIFACT_FORGE_APPEARANCE_LOCKED" },
        crest = { "UI_70_ARTIFACT_FORGE_TRAIT_RANKUP", "IG_MAINMENU_OPTION_CHECKBOX_ON" },
        border = { "UI_BONUS_LOOT_ROLL_START", "IG_MAINMENU_OPTION_CHECKBOX_ON" },
        corner = { "LOOT_WINDOW_COIN_SOUND", "IG_MAINMENU_OPTION_CHECKBOX_ON" },
        frameComplete = { "UI_70_ARTIFACT_FORGE_TRAIT_RANKUP", "UI_BONUS_LOOT_ROLL_END" },
        reward = { "UI_70_ARTIFACT_FORGE_TRAIT_RANKUP", "UI_WEEKLY_REWARD_UNLOCK_ITEM" },
    },
    background = C(0.012, 0.014, 0.050, 0.99),
    panel = C(0.028, 0.036, 0.100, 0.97),
    card = C(0.034, 0.044, 0.118, 0.97),
    unlocked = C(0.048, 0.064, 0.158, 0.99),
    reward = C(0.072, 0.078, 0.178, 0.99),
    locked = C(0.018, 0.022, 0.060, 0.96),
    border = C(0.36, 0.46, 0.82, 0.96),
    accent = C(0.68, 0.76, 1.00, 1),
    glow = C(0.38, 0.52, 1.00, 0.23),
    text = C(0.95, 0.96, 1.00, 1),
    muted = C(0.54, 0.58, 0.76, 1),
    success = C(0.72, 0.92, 1.00, 1),
    metal = C(0.38, 0.42, 0.62, 1),
    silver = C(0.86, 0.90, 1.00, 1),
    artTint = C(0.84, 0.88, 1.00, 1),
    shadow = C(0.003, 0.004, 0.020, 0.84),
    frameEffectProfile = {
        id = "elune", speed = 1.00, idleSpeed = 1.12,
        crestColor = C(0.90, 0.94, 1.00, 1), dividerColor = C(0.58, 0.72, 1.00, 1),
        topColor = C(0.72, 0.82, 1.00, 1), sideColor = C(0.36, 0.52, 0.94, 1),
        bottomColor = C(0.62, 0.70, 1.00, 1), cornerColor = "silver",
        particlePrimary = C(0.78, 0.86, 1.00, 1), particleSecondary = C(0.96, 0.98, 1.00, 1),
        particleDensity = 0.66, particleIndices = { 1, 2, 4, 6, 8 },
        crestMultiplier = 1.08, topMultiplier = 1.06, particleMultiplier = 0.86,
        idleParticles = true, secondaryCrestPulse = true,
    },
})


-- ============================== MINIMAL THEME ===============================
Engine:RegisterTheme("Minimal", {
    extends = "Base",
    displayName = "Minimal Dark",
    category = "Utility",
    description = "A quieter, flatter skin for players who want less decoration.",
    artworkProfile = { id = "minimal", primaryColor = "accent", secondaryColor = "border", tertiaryColor = "glow", alpha = 0.70, backgroundAlpha = 0, cardAlpha = 0.70, crestSize = { 120, 60 }, crestY = 11, crestAlpha = 0.24, headerSize = { 360, 42 }, headerY = -76, headerAlpha = 0.18, watermarkAlpha = 0, cornerSize = { 68, 68 }, cornerInset = 17, cornerAlpha = 0.20, bottomCornerAlpha = 0.12, cardCornerSize = { 18, 18 }, cardCornerInset = 6, cardCornerAlpha = 0.16, cardCornerMode = "diagonal", lockSize = { 50, 50 }, lockAlpha = 0.28 },
    soundProfile = {
        frameOpen = { "IG_MAINMENU_OPEN" },
        crest = { "IG_MAINMENU_OPTION_CHECKBOX_ON" },
        border = { "IG_MAINMENU_OPTION_CHECKBOX_ON" },
        corner = { "IG_MAINMENU_OPTION_CHECKBOX_ON" },
        frameComplete = { "IG_MAINMENU_OPTION_CHECKBOX_ON" },
        slot = { "IG_MAINMENU_OPTION_CHECKBOX_ON" },
        reward = { "UI_BONUS_LOOT_ROLL_END", "IG_MAINMENU_OPTION_CHECKBOX_ON" },
        final = { "UI_BONUS_LOOT_ROLL_END", "IG_MAINMENU_OPTION_CHECKBOX_ON" },
    },
    background = C(0.025, 0.027, 0.031, 0.99),
    panel = C(0.055, 0.058, 0.065, 0.97),
    card = C(0.070, 0.073, 0.082, 0.97),
    unlocked = C(0.085, 0.090, 0.100, 0.99),
    reward = C(0.095, 0.100, 0.115, 0.99),
    locked = C(0.040, 0.042, 0.048, 0.96),
    border = C(0.25, 0.27, 0.31, 0.95),
    accent = C(0.82, 0.85, 0.92, 1),
    glow = C(0.85, 0.88, 1.00, 0.10),
    text = C(0.94, 0.95, 0.98, 1),
    muted = C(0.54, 0.56, 0.62, 1),
    success = C(0.45, 0.86, 0.62, 1),
    metal = C(0.34, 0.36, 0.42, 1),
    silver = C(0.72, 0.74, 0.80, 1),
    artTint = C(0.82, 0.84, 0.90, 1),
    shadow = C(0.004, 0.004, 0.006, 0.78),
    frameStyle = {
        ornate = false,
        edgeSize = 2,
        originalDecorAlpha = 0.30,
        topGlowAlpha = 0.16,
        centerMistAlpha = 0.04,
        sideGlowAlpha = 0.05,
        cornerAlpha = 0.24,
        crestBorderAlpha = 0.34,
    },
    rowStyle = {
        artworkAlpha = 0.56,
        artworkBorderAlpha = 0.16,
        shadeAlpha = 0.48,
        accentAlpha = 0.56,
        outlineAlpha = 0.30,
    },
    cardStyle = {
        ornate = false,
        normalEdgeSize = 1,
        selectedEdgeSize = 2,
        rewardGlowAlpha = 0.08,
        selectedGlowAlpha = 0.18,
    },
    animationStyle = {
        topGlowPeak = 0.44,
        sideGlowPeak = 0.30,
        crestGlowPeak = 0.52,
        dividerGlowPeak = 0.34,
        unlockedFlashAlpha = 0.24,
        lockedFlashAlpha = 0.10,
        unlockedSweepAlpha = 0.20,
        lockedSweepAlpha = 0.08,
        finalGlowAlpha = 0.34,
        jackpotGlowAlpha = 0.56,
    },
    frameEffectProfile = {
        id = "minimal",
        speed = 0.92,
        idleSpeed = 1.25,
        crestColor = "accent",
        dividerColor = "border",
        topColor = "accent",
        sideColor = "border",
        bottomColor = "border",
        cornerColor = "border",
        particlePrimary = "accent",
        particleSecondary = "silver",
        particles = false,
        idleParticles = false,
        particleDensity = 0,
        sides = false,
        bottom = false,
        corners = false,
        idleTrace = false,
        crestMultiplier = 0.62,
        dividerMultiplier = 0.58,
        topMultiplier = 0.58,
    },
})

-- ============================= EXTENDED THEMES ==============================
Engine:RegisterTheme("Maldraxxus", {
    extends = "Nerubian",
    displayName = "Maldraxxus",
    category = "Legends",
    pack = "VaultSkins Extended II",
    description = "Necrotic green, bone, and shadowed metal with a plague-forged mood.",
    artworkProfile = { id = "nerubian", primaryColor = "accent", secondaryColor = "silver", tertiaryColor = "glow", alpha = 0.98, crestSize = { 178, 90 }, crestY = 16, crestAlpha = 0.58, headerSize = { 446, 55 }, headerY = -76, headerAlpha = 0.29, watermarkSize = { 216, 216 }, watermarkX = 146, watermarkY = -40, watermarkAlpha = 0.030, cornerSize = { 100, 100 }, cornerInset = 12, cornerAlpha = 0.44, bottomCornerAlpha = 0.32, cardCornerSize = { 23, 23 }, cardCornerInset = 5, cardCornerAlpha = 0.32, cardCornerMode = "diagonal", lockSize = { 60, 60 }, lockAlpha = 0.42 },
    background = C(0.012, 0.024, 0.018, 0.988),
    panel = C(0.024, 0.046, 0.034, 0.968),
    card = C(0.030, 0.056, 0.040, 0.968),
    unlocked = C(0.044, 0.082, 0.056, 0.990),
    reward = C(0.062, 0.104, 0.066, 0.990),
    locked = C(0.014, 0.026, 0.020, 0.950),
    border = C(0.30, 0.52, 0.28, 0.96),
    accent = C(0.60, 0.90, 0.42, 1),
    glow = C(0.56, 0.96, 0.38, 0.22),
    text = C(0.92, 0.98, 0.90, 1),
    muted = C(0.50, 0.66, 0.46, 1),
    success = C(0.76, 1.00, 0.62, 1),
    metal = C(0.34, 0.42, 0.30, 1),
    silver = C(0.82, 0.92, 0.76, 1),
    artTint = C(0.80, 1.00, 0.72, 1),
    shadow = C(0.002, 0.008, 0.003, 0.82),
    frameStyle = { edgeSize = 20, topGlowAlpha = 0.40, centerMistAlpha = 0.12, sideGlowAlpha = 0.18, cornerAlpha = 0.76, crestBorderAlpha = 0.84 },
    cardStyle = { normalEdgeSize = 12, selectedEdgeSize = 14, rewardGlowAlpha = 0.24, selectedGlowAlpha = 0.44 },
    frameEffectProfile = {
        id = "nerubian", speed = 1.02, idleSpeed = 1.04,
        crestColor = C(0.82, 1.00, 0.72, 1), dividerColor = C(0.58, 0.92, 0.44, 1),
        topColor = C(0.54, 0.88, 0.42, 1), sideColor = C(0.38, 0.72, 0.32, 1),
        bottomColor = C(0.72, 1.00, 0.54, 1), cornerColor = C(0.70, 0.86, 0.62, 1),
        particlePrimary = C(0.62, 0.98, 0.46, 1), particleSecondary = C(0.92, 1.00, 0.76, 1),
        particleDensity = 0.84, crestMultiplier = 1.10, dividerMultiplier = 1.06, topMultiplier = 1.04,
        sideMultiplier = 0.94, bottomMultiplier = 1.00, cornerMultiplier = 1.02, particleMultiplier = 0.94,
    },
})

Engine:RegisterTheme("PinkBlossom", {
    extends = "Elune",
    displayName = "Pink Blossom",
    category = "Fantasy",
    pack = "VaultSkins Dream Pack",
    description = "A soft pink-lavender theme with silver highlights and a dreamy glow.",
    artworkProfile = { id = "elune", primaryColor = "accent", secondaryColor = "silver", tertiaryColor = "glow", alpha = 0.98, crestSize = { 176, 88 }, crestY = 15, crestAlpha = 0.58, headerSize = { 438, 54 }, headerY = -76, headerAlpha = 0.28, watermarkSize = { 220, 220 }, watermarkX = 144, watermarkY = -40, watermarkAlpha = 0.032, cornerSize = { 96, 96 }, cornerInset = 12, cornerAlpha = 0.42, bottomCornerAlpha = 0.30, cardCornerSize = { 22, 22 }, cardCornerInset = 5, cardCornerAlpha = 0.30, cardCornerMode = "diagonal", lockSize = { 58, 58 }, lockAlpha = 0.40 },
    background = C(0.060, 0.030, 0.070, 0.988),
    panel = C(0.100, 0.050, 0.105, 0.968),
    card = C(0.118, 0.060, 0.122, 0.968),
    unlocked = C(0.150, 0.082, 0.150, 0.990),
    reward = C(0.190, 0.100, 0.182, 0.990),
    locked = C(0.050, 0.026, 0.058, 0.950),
    border = C(0.72, 0.46, 0.72, 0.96),
    accent = C(1.00, 0.62, 0.84, 1),
    glow = C(1.00, 0.58, 0.92, 0.25),
    text = C(1.00, 0.95, 0.98, 1),
    muted = C(0.72, 0.56, 0.70, 1),
    success = C(1.00, 0.76, 0.90, 1),
    metal = C(0.56, 0.42, 0.56, 1),
    silver = C(0.98, 0.88, 0.95, 1),
    artTint = C(1.00, 0.82, 0.92, 1),
    shadow = C(0.016, 0.006, 0.016, 0.82),
    frameStyle = { edgeSize = 19, backgroundTextureAlpha = 0.64, topGlowAlpha = 0.42, centerMistAlpha = 0.10, sideGlowAlpha = 0.18, cornerAlpha = 0.76, crestBorderAlpha = 0.82 },
    cardStyle = { rewardGlowAlpha = 0.26, selectedGlowAlpha = 0.46, headerNormalAlpha = 0.40, headerRewardAlpha = 0.64 },
    frameEffectProfile = {
        id = "elune", speed = 1.00, idleSpeed = 1.12,
        crestColor = C(1.00, 0.90, 0.96, 1), dividerColor = C(1.00, 0.66, 0.88, 1),
        topColor = C(1.00, 0.66, 0.90, 1), sideColor = C(0.86, 0.56, 1.00, 1),
        bottomColor = C(1.00, 0.78, 0.92, 1), cornerColor = C(0.98, 0.82, 0.92, 1),
        particlePrimary = C(1.00, 0.72, 0.90, 1), particleSecondary = C(1.00, 0.92, 0.98, 1),
        particleDensity = 0.72, particleIndices = { 1, 2, 4, 6, 8 },
        crestMultiplier = 1.06, topMultiplier = 1.04, particleMultiplier = 0.92, secondaryCrestPulse = true,
    },
})

Engine:RegisterTheme("ObsidianPurple", {
    extends = "Void",
    displayName = "Obsidian Purple",
    category = "Dark",
    pack = "VaultSkins Dream Pack",
    description = "Deep black panels stained with rich purple light for a sleek dark fantasy look.",
    artworkProfile = { id = "void", primaryColor = "accent", secondaryColor = "silver", tertiaryColor = "glow", alpha = 1.00, crestSize = { 180, 90 }, crestY = 15, crestAlpha = 0.58, headerSize = { 444, 54 }, headerY = -76, headerAlpha = 0.30, watermarkSize = { 224, 224 }, watermarkX = 145, watermarkY = -42, watermarkAlpha = 0.034, cornerSize = { 100, 100 }, cornerInset = 12, cornerAlpha = 0.44, bottomCornerAlpha = 0.32, cardCornerSize = { 23, 23 }, cardCornerInset = 5, cardCornerAlpha = 0.32, cardCornerMode = "diagonal", lockSize = { 58, 58 }, lockAlpha = 0.42 },
    background = C(0.008, 0.008, 0.015, 0.992),
    panel = C(0.016, 0.016, 0.030, 0.972),
    card = C(0.022, 0.020, 0.038, 0.972),
    unlocked = C(0.038, 0.028, 0.062, 0.992),
    reward = C(0.056, 0.032, 0.092, 0.992),
    locked = C(0.010, 0.010, 0.020, 0.955),
    border = C(0.28, 0.24, 0.40, 0.96),
    accent = C(0.68, 0.34, 1.00, 1),
    glow = C(0.58, 0.28, 1.00, 0.26),
    text = C(0.94, 0.92, 1.00, 1),
    muted = C(0.50, 0.46, 0.64, 1),
    success = C(0.82, 0.66, 1.00, 1),
    metal = C(0.24, 0.24, 0.34, 1),
    silver = C(0.80, 0.78, 0.92, 1),
    artTint = C(0.84, 0.74, 1.00, 1),
    shadow = C(0.001, 0.001, 0.004, 0.86),
    frameStyle = { edgeSize = 20, backgroundTextureAlpha = 0.68, topGlowAlpha = 0.42, centerMistAlpha = 0.12, sideGlowAlpha = 0.19, cornerAlpha = 0.78, crestBorderAlpha = 0.84 },
    cardStyle = { normalEdgeSize = 12, selectedEdgeSize = 14, rewardGlowAlpha = 0.28, selectedGlowAlpha = 0.48, headerNormalAlpha = 0.38, headerRewardAlpha = 0.62 },
    frameEffectProfile = {
        id = "void", speed = 0.98, idleSpeed = 1.10,
        crestColor = C(0.88, 0.78, 1.00, 1), dividerColor = C(0.76, 0.42, 1.00, 1),
        topColor = C(0.66, 0.36, 1.00, 1), sideColor = C(0.38, 0.28, 0.78, 1),
        bottomColor = C(0.82, 0.50, 1.00, 1), cornerColor = C(0.56, 0.48, 0.76, 1),
        particlePrimary = C(0.76, 0.44, 1.00, 1), particleSecondary = C(0.46, 0.72, 1.00, 1),
        particleDensity = 0.86, crestMultiplier = 1.08, dividerMultiplier = 1.04, topMultiplier = 1.04,
        sideMultiplier = 0.94, bottomMultiplier = 1.00, cornerMultiplier = 1.02, particleMultiplier = 0.92,
    },
})

Engine:RegisterTheme("HotPink", {
    extends = "PinkBlossom",
    displayName = "Hot Pink",
    category = "Fantasy",
    pack = "VaultSkins Dream Pack II",
    description = "A brighter vivid pink theme with a stronger neon-magenta glow.",
    artworkProfile = { id = "elune", primaryColor = "accent", secondaryColor = "silver", tertiaryColor = "glow", alpha = 1.00, crestSize = { 178, 90 }, crestY = 15, crestAlpha = 0.60, headerSize = { 440, 54 }, headerY = -76, headerAlpha = 0.30, watermarkSize = { 222, 222 }, watermarkX = 144, watermarkY = -40, watermarkAlpha = 0.034, cornerSize = { 98, 98 }, cornerInset = 12, cornerAlpha = 0.44, bottomCornerAlpha = 0.32, cardCornerSize = { 23, 23 }, cardCornerInset = 5, cardCornerAlpha = 0.32, cardCornerMode = "diagonal", lockSize = { 58, 58 }, lockAlpha = 0.42 },
    background = C(0.075, 0.022, 0.070, 0.989),
    panel = C(0.125, 0.040, 0.108, 0.970),
    card = C(0.150, 0.048, 0.124, 0.970),
    unlocked = C(0.196, 0.066, 0.152, 0.992),
    reward = C(0.238, 0.082, 0.174, 0.992),
    locked = C(0.060, 0.022, 0.054, 0.952),
    border = C(0.84, 0.34, 0.66, 0.97),
    accent = C(1.00, 0.36, 0.72, 1),
    glow = C(1.00, 0.22, 0.78, 0.28),
    text = C(1.00, 0.94, 0.98, 1),
    muted = C(0.76, 0.50, 0.66, 1),
    success = C(1.00, 0.66, 0.82, 1),
    metal = C(0.62, 0.34, 0.50, 1),
    silver = C(1.00, 0.86, 0.94, 1),
    artTint = C(1.00, 0.74, 0.90, 1),
    shadow = C(0.020, 0.004, 0.014, 0.84),
    frameStyle = { edgeSize = 20, backgroundTextureAlpha = 0.66, topGlowAlpha = 0.46, centerMistAlpha = 0.10, sideGlowAlpha = 0.19, cornerAlpha = 0.78, crestBorderAlpha = 0.84 },
    cardStyle = { rewardGlowAlpha = 0.30, selectedGlowAlpha = 0.50, headerNormalAlpha = 0.42, headerRewardAlpha = 0.66 },
    frameEffectProfile = {
        id = "elune", speed = 1.02, idleSpeed = 1.10,
        crestColor = C(1.00, 0.82, 0.92, 1), dividerColor = C(1.00, 0.48, 0.76, 1),
        topColor = C(1.00, 0.42, 0.74, 1), sideColor = C(0.96, 0.34, 0.92, 1),
        bottomColor = C(1.00, 0.62, 0.82, 1), cornerColor = C(1.00, 0.80, 0.90, 1),
        particlePrimary = C(1.00, 0.50, 0.78, 1), particleSecondary = C(1.00, 0.86, 0.96, 1),
        particleDensity = 0.78, particleIndices = { 1, 2, 3, 5, 7, 8 },
        crestMultiplier = 1.08, topMultiplier = 1.06, dividerMultiplier = 1.04, particleMultiplier = 0.96, secondaryCrestPulse = true,
    },
})


Engine:RegisterTheme("RoseGoldLuxe", {
    extends = "Sunwell",
    displayName = "Rose Gold Luxe",
    category = "Luxury",
    pack = "VaultSkins Dream Pack II",
    description = "A premium rose-gold theme with warm metallic highlights and elegant glow.",
    artworkProfile = { id = "sunwell", primaryColor = "accent", secondaryColor = "silver", tertiaryColor = "glow", alpha = 1.00, crestSize = { 184, 92 }, crestY = 16, crestAlpha = 0.60, headerSize = { 456, 56 }, headerY = -76, headerAlpha = 0.30, watermarkSize = { 220, 220 }, watermarkX = 146, watermarkY = -40, watermarkAlpha = 0.032, cornerSize = { 102, 102 }, cornerInset = 11, cornerAlpha = 0.48, bottomCornerAlpha = 0.34, cardCornerSize = { 24, 24 }, cardCornerInset = 5, cardCornerAlpha = 0.34, cardCornerMode = "diagonal", lockSize = { 60, 60 }, lockAlpha = 0.44 },
    background = C(0.052, 0.028, 0.036, 0.988),
    panel = C(0.100, 0.052, 0.060, 0.968),
    card = C(0.118, 0.062, 0.070, 0.968),
    unlocked = C(0.154, 0.086, 0.090, 0.990),
    reward = C(0.196, 0.110, 0.108, 0.990),
    locked = C(0.048, 0.030, 0.032, 0.950),
    border = C(0.76, 0.54, 0.50, 0.97),
    accent = C(0.96, 0.68, 0.72, 1),
    glow = C(1.00, 0.72, 0.76, 0.24),
    text = C(1.00, 0.96, 0.94, 1),
    muted = C(0.74, 0.62, 0.60, 1),
    success = C(1.00, 0.82, 0.78, 1),
    metal = C(0.62, 0.46, 0.42, 1),
    silver = C(1.00, 0.90, 0.86, 1),
    artTint = C(1.00, 0.84, 0.80, 1),
    shadow = C(0.018, 0.010, 0.010, 0.80),
    frameStyle = { edgeSize = 21, backgroundTextureAlpha = 0.64, topGlowAlpha = 0.42, centerMistAlpha = 0.09, sideGlowAlpha = 0.17, cornerAlpha = 0.80, crestBorderAlpha = 0.86, headerBandAlpha = 0.72 },
    cardStyle = { normalEdgeSize = 13, selectedEdgeSize = 15, rewardGlowAlpha = 0.26, selectedGlowAlpha = 0.48, headerNormalAlpha = 0.42, headerRewardAlpha = 0.64 },
    frameEffectProfile = {
        id = "sunwell", speed = 1.00, idleSpeed = 1.06,
        crestColor = C(1.00, 0.92, 0.88, 1), dividerColor = C(1.00, 0.72, 0.72, 1),
        topColor = C(0.96, 0.68, 0.68, 1), sideColor = C(0.82, 0.58, 0.52, 1),
        bottomColor = C(1.00, 0.80, 0.74, 1), cornerColor = C(0.98, 0.84, 0.78, 1),
        particlePrimary = C(1.00, 0.78, 0.76, 1), particleSecondary = C(1.00, 0.92, 0.88, 1),
        particleDensity = 0.76, crestMultiplier = 1.08, dividerMultiplier = 1.04, topMultiplier = 1.04,
        sideMultiplier = 0.94, bottomMultiplier = 1.00, cornerMultiplier = 1.04, particleMultiplier = 0.90, secondaryCrestPulse = true,
    },
})

Engine:RegisterTheme("Blackout", {
    extends = "Minimal",
    displayName = "Blackout",
    category = "Dark",
    pack = "VaultSkins Dark Pack",
    description = "Near-black panels, graphite metal, and a restrained cold-indigo breathing trace.",
    artworkProfile = {
        id = "minimal",
        primaryColor = "accent",
        secondaryColor = "silver",
        tertiaryColor = "glow",
        alpha = 0.78,
        backgroundAlpha = 0.16,
        cardAlpha = 0.62,
        crestSize = { 142, 70 },
        crestY = 12,
        crestAlpha = 0.28,
        headerSize = { 382, 46 },
        headerY = -76,
        headerAlpha = 0.18,
        watermarkSize = { 190, 190 },
        watermarkX = 148,
        watermarkY = -42,
        watermarkAlpha = 0.010,
        cornerSize = { 74, 74 },
        cornerInset = 16,
        cornerAlpha = 0.22,
        bottomCornerAlpha = 0.14,
        cardCornerSize = { 18, 18 },
        cardCornerInset = 6,
        cardCornerAlpha = 0.16,
        cardCornerMode = "diagonal",
        lockSize = { 50, 50 },
        lockAlpha = 0.28,
    },
    background = C(0.004, 0.005, 0.008, 0.995),
    panel = C(0.010, 0.012, 0.017, 0.985),
    card = C(0.014, 0.016, 0.022, 0.985),
    unlocked = C(0.020, 0.024, 0.034, 0.994),
    reward = C(0.024, 0.028, 0.040, 0.994),
    locked = C(0.007, 0.008, 0.012, 0.972),
    border = C(0.25, 0.28, 0.34, 0.96),
    accent = C(0.56, 0.62, 0.76, 1),
    glow = C(0.34, 0.40, 0.62, 0.16),
    text = C(0.92, 0.94, 0.98, 1),
    muted = C(0.48, 0.52, 0.60, 1),
    success = C(0.62, 0.82, 0.72, 1),
    metal = C(0.19, 0.21, 0.27, 1),
    silver = C(0.72, 0.76, 0.84, 1),
    artTint = C(0.62, 0.66, 0.76, 1),
    shadow = C(0.000, 0.000, 0.002, 0.92),
    frameStyle = {
        ornate = false,
        edgeSize = 2,
        outerShadowAlpha = 0.88,
        originalBorderAlpha = 0.08,
        originalDecorAlpha = 0.18,
        originalDividerAlpha = 0.22,
        backgroundTextureAlpha = 0.38,
        headerBandAlpha = 0.54,
        topGlowAlpha = 0.22,
        centerMistAlpha = 0.04,
        sideGlowAlpha = 0.07,
        topAccentAlpha = 0.46,
        headerDividerAlpha = 0.50,
        bottomAccentAlpha = 0.34,
        cornerAlpha = 0.30,
        crestBorderAlpha = 0.42,
    },
    rowStyle = {
        showArtwork = true,
        artworkAlpha = 0.62,
        artworkBorderAlpha = 0.18,
        panelAlpha = 0.54,
        panelBorderAlpha = 0.34,
        shadeAlpha = 0.50,
        outlineAlpha = 0.34,
        accentAlpha = 0.68,
        topLineAlpha = 0.22,
        bottomLineAlpha = 0.18,
    },
    cardStyle = {
        ornate = false,
        normalEdgeSize = 1,
        selectedEdgeSize = 2,
        lockedBorderAlpha = 0.48,
        unlockedBorderAlpha = 0.72,
        rewardBorderAlpha = 0.82,
        innerBlend = 0.46,
        innerAlpha = 0.99,
        innerBorderAlpha = 0.18,
        selectedInnerBorderAlpha = 0.34,
        shadowBorderAlpha = 0.68,
        headerRewardMultiplier = 1.10,
        headerNormalMultiplier = 1.08,
        headerRewardAlpha = 0.28,
        headerNormalAlpha = 0.32,
        hoverAlpha = 0.14,
        selectedGlowAlpha = 0.26,
        rewardGlowAlpha = 0.10,
    },
    animationStyle = {
        openingGlowAlpha = 0.42,
        topGlowPeak = 0.40,
        sideGlowPeak = 0.24,
        crestGlowPeak = 0.46,
        dividerGlowPeak = 0.30,
        unlockedFlashAlpha = 0.20,
        lockedFlashAlpha = 0.08,
        unlockedSweepAlpha = 0.16,
        lockedSweepAlpha = 0.06,
        unlockedBorderAlpha = 0.72,
        lockedBorderAlpha = 0.46,
        finalGlowAlpha = 0.30,
        jackpotGlowAlpha = 0.48,
    },
    frameEffectProfile = {
        id = "minimal",
        speed = 0.88,
        idleSpeed = 1.28,
        crestColor = C(0.72, 0.76, 0.84, 1),
        dividerColor = C(0.48, 0.54, 0.70, 1),
        topColor = C(0.40, 0.46, 0.62, 1),
        sideColor = C(0.28, 0.32, 0.46, 1),
        bottomColor = C(0.42, 0.48, 0.62, 1),
        cornerColor = C(0.34, 0.38, 0.48, 1),
        particlePrimary = C(0.50, 0.56, 0.70, 1),
        particleSecondary = C(0.70, 0.74, 0.82, 1),
        particles = true,
        idleParticles = false,
        particleDensity = 0.18,
        top = true,
        sides = true,
        bottom = false,
        corners = true,
        crest = true,
        divider = true,
        idleTrace = true,
        crestMultiplier = 0.70,
        dividerMultiplier = 0.66,
        topMultiplier = 0.62,
        sideMultiplier = 0.48,
        bottomMultiplier = 0.42,
        cornerMultiplier = 0.56,
        particleMultiplier = 0.34,
        sideStagger = 0.18,
    },
    soundProfile = {
        frameOpen = { "IG_MAINMENU_OPEN" },
        crest = { "IG_MAINMENU_OPTION_CHECKBOX_ON" },
        border = { "IG_MAINMENU_OPTION_CHECKBOX_ON" },
        corner = { "IG_MAINMENU_OPTION_CHECKBOX_ON" },
        frameComplete = { "UI_BONUS_LOOT_ROLL_END", "IG_MAINMENU_OPTION_CHECKBOX_ON" },
        slot = { "IG_MAINMENU_OPTION_CHECKBOX_ON" },
        rewardQuiet = { "IG_MAINMENU_OPTION_CHECKBOX_ON" },
        rewardNormal = { "UI_BONUS_LOOT_ROLL_END", "IG_MAINMENU_OPTION_CHECKBOX_ON" },
        reward = { "UI_BONUS_LOOT_ROLL_END", "IG_MAINMENU_OPTION_CHECKBOX_ON" },
        final = { "UI_BONUS_LOOT_ROLL_END" },
        jackpot = { "UI_BONUS_LOOT_ROLL_END", "UI_70_ARTIFACT_FORGE_TRAIT_RANKUP" },
    },
})
