@import url('https://fonts.googleapis.com/css2?family=League+Spartan:wght@700&display=swap');

body {
    font-family: 'League Spartan', sans-serif;
    font-size: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    padding: 1.25rem;

    main {
        position: relative;
        max-width: 33.75rem;
        width: 100%;

        .headerApp {
            h1 {
                font-size: 2rem;
                margin-top: 3.125rem;
            }

            p {
                position: absolute;
                right: 6.25rem;
                font-size: 0.875rem;
                top: 8.4%;
            }

            .switch {
                top: 0;
                position: relative;

                label {
                    cursor: pointer;
                    font-size: 0.875rem;
                }

                input[type='radio'] {
                    height: 1.25rem;
                    width: 1.25rem;
                    appearance: none;
                    border-radius: 50%;
                    opacity: 0;
                    cursor: pointer;
                }

                .tri-state-toggle {
                    display: flex;
                    justify-content: center;
                    gap: 0.3105rem;
                    padding: 0.25rem;
                    width: 4.4875rem;
                    border-radius: 3.125rem;

                    #one {
                        opacity: 1;
                    }
                }
            }
        }

        .calcResult {
            margin-top: 2rem;
            margin-bottom: 1.5rem;
            border-radius: 0.7rem;

            #up {
                height: 0.8125rem;
                font-size: 1.475rem;
                padding: 1.25rem;
            }
            #numberRes {
                width: 100%;
                height: 4.8125rem;
                text-align: right;
                padding: 1.25rem;
                font-size: 38px !important;
            }
        }

        .keys {
            padding: 2rem 2rem 2.6875rem 2rem;
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 1.5rem;
            border-radius: 0.7rem;

            button {
                display: grid;
                place-content: center;
                border-radius: 0.375rem;
                border: none;
                max-width: 6.3125rem;
                height: 3.75rem;
            }

            #reset {
                max-width: 100%;
                grid-column: 1 / 3;
            }

            #equal {
                max-width: 100%;
                grid-column: 3 / 5;
            }
        }
    }
}

@media (max-width: 35rem) {
    .keys {
        padding: 0.75rem 0.75rem 2rem 0.75rem !important;
        grid-template-columns: repeat(4, 100%);
        gap: 0.75rem !important;
    }
}