:root {
    --calculator-width: 5;
    --button-size: 45px;
}

.calculator {
    display: grid;
    grid-template-columns: repeat(var(--calculator-width), var(--button-size));
    grid-template-rows: 70px;
    grid-auto-rows: var(--button-size);
    gap: 5px;

    font-size: 24px;
}

.calculator .display {
    grid-column: span var(--calculator-width);

    border: 1px solid var(--grayHover);
    background-color: white;

    border-radius: 3px;
    padding: 5px;
    line-height: 1.3;

    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: space-between;
}

.calculator .button {
    border-radius: 3px;
    cursor: pointer;

    display: flex;
    justify-content: center;
    align-items: center;
}

.calculator .display .helper,
.calculator .display .main {
    flex: 0 0 1.3em;
    max-width: 100%;
    overflow: hidden;
}

.calculator .display .helper {
    font-size: 14px;
    color: var(--grayHover);
}

.calculator .display .main {
    font-size: 36px;
}