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

body {
    background-image: linear-gradient(to right top, #040304, #0b0a0c, #100f12, #141417, #17181c, #17181d, #17191d, #17191e, #15161a, #131316, #101012, #0c0c0d);
    min-height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
}

#calculator_wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    border-radius: 2rem;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.1) 50%, rgba(0, 0, 0, 0.1) 50%);
    padding: 2rem 1.5rem;
    box-shadow: 0 0 5px rgba(0,0,0,0.3), 
                0 0 10px rgba(126, 126, 126, 0.2);
}

.output_window {
    width: 100%;
    height: 60px;
    background: rgba(94, 92, 92, 0.08);
    margin: 1rem;
    border-radius: 1rem;
    cursor: pointer;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    color: white;
    font-size: 1.5rem;
    padding-right: 1rem;
}

table {
    border-spacing: 1rem;
    width: 100%;
}

td {
    text-align: center;
    vertical-align: middle;
    color: white;
    border-radius: 50%;
    cursor: pointer;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.1) 50%, rgba(0, 0, 0, 0.1) 50%);
    box-shadow: 0 0 5px rgba(0,0,0,0.3), 
                0 0 10px rgba(131, 130, 130, 0.2);
    height: 60px;
    width: 60px;
    font-size: 1.2rem;
    transition: 0.2s all ease-in;
}

.buttons:hover {
    background: rgba(63, 62, 62, 0.3);
    transform: scale(1.15);
}

.buttons:active {
    background: rgba(121, 116, 116, 0.3);
    transform: scale(0.9);
}

@media (max-width: 768px) {
    #calculator_wrapper {
        width: 92vw;
        max-width: 380px;
        border-radius: 1.5rem;
        padding: 1rem 0.75rem;
    }

    .output_window {
        height: 50px;
        font-size: 1.2rem;
        padding-right: 0.75rem;
    }

    table {
        border-spacing: 0.35rem;
        width: 100%;
    }

    td {
        height: 48px;
        font-size: 1rem;
    }
}