from bs4 import BeautifulSoup

def extract_dynamic_css_classes(html: str, selector: str, prefix: str = "css-") -> list:
    soup = BeautifulSoup(html, "html.parser")
    el = soup.select_one(selector)
    if not el:
        return []

    class_list = el.get("class", [])
    dynamic_classes = [cls for cls in class_list if cls.startswith(prefix)]
    return dynamic_classes

async def get_dynamic_css_class_from_selector(page, selector: str, prefix="css-") -> list:
    locator = page.locator(selector)
    if await locator.count() == 0:
        return []

    class_attr = await locator.first.get_attribute("class")
    if not class_attr:
        return []

    classes = class_attr.split()
    return [cls for cls in classes if cls.startswith(prefix)]
