seperate the clearing functionality (the stuff that clears all the images and stuff) and give it to me in copy paste form tailored as a void named CleanUp().

private void Theme(Color mainStart, Color mainEnd, Color accentsStart, Color accentsEnd, Color textcolor)
{
void SetGradient(Control control, Color startColor, Color endColor)
{
if (control == null || control.Width == 0 || control.Height == 0)
return;


    Bitmap bmp = new Bitmap(control.Width, control.Height);
    using (Graphics g = Graphics.FromImage(bmp))
    {
        using (var brush = new System.Drawing.Drawing2D.LinearGradientBrush(
            new Rectangle(0, 0, bmp.Width, bmp.Height),
            startColor,
            endColor,
            System.Drawing.Drawing2D.LinearGradientMode.Vertical))
        {
            g.FillRectangle(brush, 0, 0, bmp.Width, bmp.Height);
        }
    }
    control.BackgroundImage = bmp;
    control.BackgroundImageLayout = ImageLayout.Stretch;
}

Color GetContrastingTextColor(Color background, Color fallback)
{
    double luminance = (0.2126 * background.R + 0.7152 * background.G + 0.0722 * background.B) / 255;

    if (luminance > 0.7)
        return Color.FromArgb(255, 30, 30, 30);
    else
        return fallback;
}

// Clear all backgrounds and images first

// Clear Panels
var allPanels = new Panel[]
{
panel1, panel2, panel3, panel4, panel5, panel6, panel7, panel8, panel9, panel10, indexpnl
};
foreach (var pnl in allPanels)
{
if (pnl != null)
{
pnl.BackgroundImage = null;
pnl.BackColor = Color.Transparent;
}
}


// Clear Labels background and images
var labels = new Label[]
{
label1, label2, label3, label4, label5, label6, label7, label8,
label9, label10, label11, label12, label13, label14, label15,
label16, label17, label18, label19, label20, label21, label22,
label23, label24, label25, label26, label27, label28, label29,
label30, label31, label32, label33, label34, label35, label36,
label41, MyLink
};
foreach (var lbl in labels)
{
if (lbl != null)
{
lbl.BackgroundImage = null;
lbl.BackColor = Color.Transparent;
}
}


// Clear PictureBoxes images and backgrounds
var pictures = new PictureBox[]
{
pictureBox1, pictureBox2, pictureBox3, pictureBox4, pictureBox5,
pictureBox6, pictureBox7, pictureBox8, pictureBox9, pictureBox10, OffMap
};
foreach (var pb in pictures)
{
if (pb != null)
{
pb.Image = null;
pb.BackgroundImage = null;
pb.BackColor = Color.Transparent;
}
}


// Clear MenuStrip background and images
if (menuStrip1 != null)
{
    menuStrip1.BackgroundImage = null;
    menuStrip1.BackColor = Color.Transparent;
}

// Clear ToolStripMenuItems background and images
var menuItems = new ToolStripMenuItem[]
{
fileToolStripMenuItem, serverToolStripMenuItem, fishSpeechToolStripMenuItem, sTARTToolStripMenuItem,
whisperTurboToolStripMenuItem, sTARTToolStripMenuItem1, editToolStripMenuItem, settingsToolStripMenuItem,
formSettingsToolStripMenuItem, topmostToolStripMenuItem, yESToolStripMenuItem, nOToolStripMenuItem,
commSettingsToolStripMenuItem, chatComboToolStripMenuItem, oNToolStripMenuItem, oFFToolStripMenuItem,
partyModeToolStripMenuItem, oNToolStripMenuItem1, oFFToolStripMenuItem1, helpToolStripMenuItem,
pushToTalkToolStripMenuItem, enableToolStripMenuItem, disableToolStripMenuItem, aboutToolStripMenuItem,
toolsToolStripMenuItem, importToolStripMenuItem, voiceToolStripMenuItem, matchRecordToolStripMenuItem,
voiceToolStripMenuItem1, recordToolStripMenuItem, stopRecordToolStripMenuItem, keypadderToolStripMenuItem,
confirmModeToolStripMenuItem, tTSBaseToolStripMenuItem, fishSpeechToolStripMenuItem1, zonosToolStripMenuItem,
viewToolStripMenuItem, tTSToolStripMenuItem, fishSpeechToolStripMenuItem2, zonosToolStripMenuItem1,
constructiveChunksToolStripMenuItem, constructiveTokensToolStripMenuItem, ollamaToolStripMenuItem,
longGenerationsModeToolStripMenuItem, translationModeToolStripMenuItem, spellCheckModeToolStripMenuItem,
debugToolStripMenuItem, sTTToolStripMenuItem, oNToolStripMenuItem2, oFFToolStripMenuItem2,
portableChatboxToolStripMenuItem, oNToolStripMenuItem3, oFFToolStripMenuItem3, indexTTSToolStripMenuItem,
sTARTToolStripMenuItem2, recentPlayersToolStripMenuItem, incrementalSeedingToolStripMenuItem,
stateToolStripMenuItem, oFFToolStripMenuItem4, previewModeToolStripMenuItem, oNToolStripMenuItem4,
oFFToolStripMenuItem5, finetuneModelToolStripMenuItem, fishSpeechToolStripMenuItem3, toolStripMenuItem3,
makeToolStripMenuItem, startTrainToolStripMenuItem, outputsToolStripMenuItem, cacheOutputsToolStripMenuItem,
setDirectorytToolStripMenuItem,extrasToolStripMenuItem, themeToolStripMenuItem, rollDiceToolStripMenuItem, customizeToolStripMenuItem,
};
foreach (var item in menuItems)
{
if (item != null)
{
item.BackgroundImage = null;
item.BackColor = Color.Transparent;
}
}


// Clear StatusStrip and its labels background & images
if (statusStrip1 != null)
{
    statusStrip1.BackgroundImage = null;
    statusStrip1.BackColor = Color.Transparent;
}
if (toolStripStatusLabel1 != null)
    toolStripStatusLabel1.BackgroundImage = null;
if (toolStripStatusLabel2 != null)
    toolStripStatusLabel2.BackgroundImage = null;
if (toolStripProgressBar1 != null)
    toolStripProgressBar1.BackgroundImage = null;

// Clear ListBox background & images
if (VoicesList != null)
{
    VoicesList.BackgroundImage = null;
    //VoicesList.BackColor = Color.Transparent;
}

// Clear TextBox backgrounds & images
var textBoxes = new TextBox[]
{
textBox1, textBox2, textBox3, RepBox, TopPBox, MaxTokenBox, ChunkBox, TempBox,
HappyBox, AngryBox, ShockedBox, ScaredBox, GrossBox, SadBox, NeutralBox,
OtherBox, SpeechSpeedBox, CFGBox, SearchBox
};
foreach (var tb in textBoxes)
{
if (tb != null)
{
tb.BackgroundImage = null;
tb.BackColor = Color.White; // TextBoxes typically have white bg by default, will override later
}
}


// Clear ComboBox background & images
var combos = new ComboBox[]
{
Previews, comboBox1, comboBox2, comboBox4, comboBoxModels, TranslationMdl, SpellCheckMdl, comboBoxOutputDevices, comboBoxInputDevices
};
foreach (var cb in combos)
{
if (cb != null)
{
cb.BackgroundImage = null;
cb.BackColor = Color.White; // Default white, will override below
}
}


// Clear Buttons background & images
var buttons = new Button[]
{
F3B, button2, button4, button3, ListenButton, button7, button6,
Key_1_NUM, F2B, Key_16_ZERO, Key_15, Key_8_PLUS, Key_14_THREE,
Key_13_TWO, Key_12_ONE, Key_11_SIX, Key_FIVE, Key_9_FOUR,
Key_7_NINE, Key_6_EIGHT, Key_5_SEVEN, Key_4_MIN, Key_3_MULTI,
Key_2_SLASH, button5, F3BB, F8B, F7B, F6B, F5B, F4B, F12B,
F11B, F10B, F9B, F1B, button1, button13, button12, button8,
button10, button11, HP, SP, SN, HN, SHN, SHP, GN, GP, NN,
NP, AN, AP, SCN, SCP, ON, OP, button9, CFGN, CFGP, SPSN,
SPSP, button16, button17, SpeakerAP, Bum, button14, LookButton
};
foreach (var btn in buttons)
{
if (btn != null)
{
btn.BackgroundImage = null;
btn.Image = null;
btn.FlatAppearance.BorderColor = Color.Empty;
btn.FlatAppearance.BorderSize = 0;
btn.BackColor = Color.Transparent;
}
}


// Clear CheckBoxes background & images
var checkBoxes = new CheckBox[]
{
EnabPrefix, AutoEmote, checkBox3
};
foreach (var cb in checkBoxes)
{
if (cb != null)
{
cb.BackgroundImage = null;
cb.BackColor = Color.Transparent;
}
}


// Now re-apply colors and gradients

// Labels ForeColor
foreach (var lbl in labels)
{
    if (lbl != null)
    {
        lbl.ForeColor = textcolor;
    }
}

// Panels gradient background
foreach (var pnl in allPanels)
{
    if (pnl != null)
    {
        SetGradient(pnl, mainStart, mainEnd);
    }
}

// PictureBoxes BackColor transparent (without background/image)
foreach (var pb in pictures)
{
    if (pb != null)
    {
        pb.BackColor = Color.Transparent;
    }
}

// MenuStrip and ToolStripMenuItems coloring
if (menuStrip1 != null)
{
    menuStrip1.BackColor = accentsStart;
    menuStrip1.ForeColor = GetContrastingTextColor(accentsStart, textcolor);
}
foreach (var item in menuItems)
{
    if (item != null)
    {
        item.BackColor = accentsStart;
        item.ForeColor = GetContrastingTextColor(accentsStart, textcolor);
    }
}

// StatusStrip and labels coloring
if (statusStrip1 != null)
{
    statusStrip1.BackColor = accentsEnd;
    statusStrip1.ForeColor = GetContrastingTextColor(accentsEnd, textcolor);
}
if (toolStripStatusLabel1 != null)
{
    toolStripStatusLabel1.ForeColor = textcolor;
}
if (toolStripStatusLabel2 != null)
{
    toolStripStatusLabel2.ForeColor = textcolor;
}
if (toolStripProgressBar1 != null)
{
    toolStripProgressBar1.BackColor = accentsStart;
    toolStripProgressBar1.ForeColor = textcolor;
}

// ListBox VoicesList
if (VoicesList != null)
{
    VoicesList.BackColor = mainStart;
    VoicesList.ForeColor = GetContrastingTextColor(mainStart, textcolor);
}

// TextBoxes coloring
foreach (var tb in textBoxes)
{
    if (tb != null)
    {
        tb.BackColor = mainEnd;
        tb.ForeColor = GetContrastingTextColor(mainEnd, textcolor);
        tb.BorderStyle = BorderStyle.FixedSingle;
    }
}

// ComboBoxes coloring
foreach (var cb in combos)
{
    if (cb != null)
    {
        cb.BackColor = mainEnd;
        cb.ForeColor = GetContrastingTextColor(mainEnd, textcolor);
    }
}

// Buttons gradient background and colors
foreach (var btn in buttons)
{
    if (btn == null) continue;

    SetGradient(btn, accentsStart, accentsEnd);

    Color midColor = Color.FromArgb(
        (accentsStart.R + accentsEnd.R) / 2,
        (accentsStart.G + accentsEnd.G) / 2,
        (accentsStart.B + accentsEnd.B) / 2);

    btn.ForeColor = GetContrastingTextColor(midColor, textcolor);
    btn.FlatAppearance.BorderColor = DarkenColor(midColor, 0.3f);
    btn.FlatAppearance.BorderSize = 1;
    btn.FlatStyle = FlatStyle.Flat;
}

// CheckBoxes coloring
foreach (var cb in checkBoxes)
{
    if (cb != null)
    {
        cb.ForeColor = textcolor;
        cb.BackColor = Color.Transparent;
    }
}

// Set form background gradient
Bitmap formBmp = new Bitmap(this.Width, this.Height);
using (Graphics g = Graphics.FromImage(formBmp))
{
    using (var brush = new System.Drawing.Drawing2D.LinearGradientBrush(
        new Rectangle(0, 0, formBmp.Width, formBmp.Height),
        mainStart,
        accentsStart,
        System.Drawing.Drawing2D.LinearGradientMode.Vertical))
    {
        g.FillRectangle(brush, 0, 0, formBmp.Width, formBmp.Height);
    }
}
this.BackgroundImage = formBmp;
this.BackgroundImageLayout = ImageLayout.Stretch;
}