* {
    box-sizing: border-box;
}

body {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    margin: 0;
    background-color: #333;
    font-family: Arial, sans-serif;
}

.container {
    background-color: #444;
    padding: 2vw;
    border-radius: 1vw;
    width: 70vw;
}

h1 {
    text-align: center;
    color: #a8c7e6;
    margin-bottom: 2vh;
    padding-bottom: 5vh;
    font-size: 4vw;
}

.translation-area {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1vw;
    position: relative;
}

select {
    padding: 1vw;
    width: 30vw;
    border: 0.2vw solid #666;
    border-radius: 0.5vw;
    background-color: #444;
    color: #000000;
    font-size: 1vw;
    margin-bottom: 1vh;
}

textarea {
    width: 30vw;
    height: 25vh;
    padding: 1vw;
    border: 0.2vw solid #666;
    border-radius: 0.5vw;
    background-color: #555;
    color: #fff;
    font-size: 1vw;
    resize: none;
}

.column {
    display: flex;
    flex-direction: column;
    align-items: stretch;
}

.select2-container {
    width: 30vw !important;
    margin-bottom: 1vh;
}

.select2-container--default .select2-selection--single {
    background-color: #444;
    border: 0.2vw solid #666;
    border-radius: 0.5vw;
    height: calc(2vw + 2vh);
    padding: 1vw;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #fff;
    line-height: normal;
    padding: 0;
    font-size: 1vw;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 100%;
    right: 1vw;
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-color: #fff transparent transparent transparent;
}

.select2-dropdown {
    background-color: #444;
    border: 0.2vw solid #666;
    border-radius: 0.5vw;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
    background-color: #555;
    border: 0.2vw solid #666 !important;
    border-radius: 0.5vw;
    color: #fff;
    font-size: 1vw;
    padding: 1vw;
}

.select2-container--default .select2-results__option {
    color: #fff;
    font-size: 1vw;
    padding: 1vw;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: #a8c7e6;
    color: #ffffff;
}

.select2-container--default .select2-results__option[aria-selected=true] {
    background-color: #666;
}

.textarea-container {
    position: relative;
    width: 30vw;
}

.char-counter {
    position: absolute;
    bottom: 0.5vw;
    right: 0.5vw;
    color: #999;
    font-size: 0.8vw;
    padding: 0.2vw;
    background-color: rgba(85, 85, 85, 0.8);
    border-radius: 0.3vw;
}

.copy-button {
    position: absolute;
    bottom: 1vw;
    right: 1vw;
    width: 2vw;
    height: 2.2vw;
    cursor: pointer;
    background-color: rgba(85, 85, 85, 0.8);
    border-radius: 0.3vw;
    padding: 0.4vw;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.2s;
}

.copy-button:hover {
    background-color: #999;
}

.copy-button svg {
    width: 100%;
    height: 100%;
}

.swap-button {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 0.5vh;
    width: 2.5vw;
    height: 2.5vw;
    cursor: pointer;
    background-color: rgba(85, 85, 85, 0.8);
    border-radius: 0.5vw;
    padding: 0.5vw;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.2s;
}

.swap-button:hover {
    background-color: #999;
}

.swap-button svg {
    width: 80%;
    height: 80%;
    display: block;
    margin: auto;
}