button{
    height: 80px;
    width: 100px;
    font-size: x-large;
    font-family: cursive;
    border: none;
    border-radius: 40px;
    background-color: black;
    color: aliceblue;
}
input{
    width: 400px;
    height: 60px;
    margin-top: 30px;
    margin-left: 35px;
    margin-bottom: 10px;
    border: none;
    border-radius: 20px;
    background-color: rgb(8, 8, 8);
    color: aliceblue;
    font-size: xx-large;
}
.main{
    border: none;
    height: 582px;
    width: 480px;
    background-color: rgb(27, 27, 27);
    border-radius: 20px;
    margin-left: 35%;
    margin-top: 40px;
}
.button{
    margin-top: 10px;
    margin-left: 32px;
}
body{
    height: 100%;
    width: 100%;
    background-color: rgb(20, 0, 20);
}
button {
    /* Consider using viewport units or percentages for width/height */
    width: 23vw; /* Example: 23% of viewport width */
    height: 10vw; /* Example: 10% of viewport width */
    font-size: 5vw; /* Example: 5% of viewport width */
    margin: 1vw; /* Example: 1% of viewport width */
    /* ... other button styles ... */
}

input {
    width: 90vw; /* Example: 90% of viewport width */
    height: 15vw; /* Example: 15% of viewport width */
    margin-bottom: 2vw;
    font-size: 8vw;
    /* ... other input styles ... */
}
.main {
    width: 95vw; /* Make the main container take up most of the viewport width */
    height: auto; /* Let height adjust automatically */
    /* You might want to use flexbox here to center the calculator */
    display: flex;
    flex-direction: column;
    align-items: center; /* Center horizontally */
    justify-content: center; /* Center vertically if main is a certain height */
    margin: 0 auto; /* Center the main div on the page */
    padding: 2vw; /* Add some padding around the content */
}

/* Styles for button rows using flexbox */
.button-row { /* Add this class to your <div> elements containing buttons */
    display: flex;
    justify-content: space-around; /* Distribute space evenly */
    width: 100%; /* Take full width of the parent */
    margin-bottom: 1vw; /* Space between rows */
}
@media (max-width: 600px) {
    button {
        width: 22vw;
        height: 12vw;
        font-size: 6vw;
    }

    input {
        width: 90vw;
        height: 18vw;
        font-size: 10vw;
    }

    .main {
        width: 98vw;
    }
}
@media (min-width: 1024px) {
    button {
        width: 80px; /* Revert to fixed size or different relative size for larger screens */
        height: 80px;
        font-size: x-large;
    }

    input {
        width: 400px;
        height: 60px;
        font-size: x-large;
    }

    .main {
        width: 450px; /* Max width for larger screens */
    }
}
body {
    margin: 0;
    padding: 0;
    display: flex; /* Use flexbox to center the main content on the page */
    justify-content: center;
    align-items: center;
    min-height: 100vh; /* Ensure body takes full viewport height */
}