Private/UI/Get-PSMBColorPalette.ps1

function Get-PSMBColorPalette {
    <#
    .SYNOPSIS
        Returns the color palette for premium menu rendering.
    .DESCRIPTION
        Returns a hashtable of ANSI 24-bit escape code strings using a light
        olive green / teal color scheme. On non-interactive hosts, returns empty
        strings so callers degrade gracefully.
    #>

    [CmdletBinding()]
    [OutputType([hashtable])]
    param()

    $esc = [char]27

    if ($PSVersionTable.PSVersion.Major -ge 7) {
        return @{
            Text = "${esc}[38;2;224;231;222m"   # soft greenish white
            Subtext = "${esc}[38;2;170;183;166m"   # muted sage gray
            Dim = "${esc}[38;2;108;120;105m"   # dim olive gray
            Amber = "${esc}[38;2;168;213;162m"   # primary accent (light olive green)
            Rose = "${esc}[38;2;94;234;212m"    # secondary accent (teal)
            Green = "${esc}[38;2;134;239;172m"   # success green
            Red = "${esc}[38;2;251;113;133m"   # error red
            Yellow = "${esc}[38;2;253;224;71m"    # warning yellow
            Peach = "${esc}[38;2;129;199;132m"   # warm mid-green
            Teal = "${esc}[38;2;94;234;212m"    # cool teal accent
            Surface = "${esc}[38;2;60;68;58m"      # border/surface color
            BgSelect = "${esc}[48;2;40;52;38m"      # selected row background
            Bold = "${esc}[1m"
            Italic = "${esc}[3m"
            DimStyle = "${esc}[2m"
            Reset = "${esc}[0m"
        }
    }

    $empty = @{}
    foreach ($key in @('Text', 'Subtext', 'Dim', 'Amber', 'Rose', 'Green', 'Red', 'Yellow', 'Peach', 'Teal', 'Surface', 'BgSelect', 'Bold', 'Italic', 'DimStyle', 'Reset')) {
        $empty[$key] = ''
    }
    return $empty
}