:root {
    --foreground-color: #ffffff;
    --background-color: #1d1d1d;

    --button-bg-color: #4CAF50;
    --button-bg-color-hover: color-mix(in srgb, var(--button-bg-color), #000000 10%);
    --button-bg-color-active: color-mix(in srgb, var(--button-bg-color), #000000 20%);
}

* {
    box-sizing: border-box;
    padding: 0;
    margin: 0;
}

body {
    font-family: Arial, sans-serif;
    background-color: var(--background-color);
    color: var(--foreground-color);
    padding: 20px;
}

h1 {
    text-align: center;
    margin-bottom: 20px;
}

#search {
    margin-bottom: 20px;
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    gap: 10px;

    &>div {
        display: flex;
        align-items: center;
        border-radius: 20px;
    }

    #search-input {
        padding: 20px;
        font-size: 16px;
        width: 200px;
        border-radius: 20px 0 0 20px;
        border: none;
        outline: none;
    }

    #search-button {
        padding: 20px 40px;
        font-size: 16px;
        cursor: pointer;
        border-radius: 0 20px 20px 0;
        border: none;
        background-color: var(--button-bg-color);

        &:hover {
            background-color: var(--button-bg-color-hover);
        }

        &:active {
            background-color: var(--button-bg-color-active);
        }
    }

    #error-message {
        color: red;
        font-weight: bold;
        align-self: center;
    }

    &:has(#search-input:focus)>div {
        outline: 2px solid #ffffff;
    }
}

#pokemon-container {
    display: flex;
    align-items: center;
    justify-content: center;
}

.pokemon {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.error {
    color: red;
    font-weight: bold;
}

.hidden {
    display: none;
}