 * {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: Arial, sans-serif;
}

body {
    width: 100%;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    background: linear-gradient(45deg, #0a0a0a, #3a4452);
}

.calculator {
    width: 90vw;             /* responsive width */
    max-width: 360px;        /* limit max size */
    padding: 20px;
    border-radius: 16px;
    border: 1px solid #717377;
    background: transparent;
    box-shadow: 0px 3px 15px rgba(113, 115, 119, 0.5);
    display: grid;
    grid-template-rows: auto 1fr;
    gap: 15px;
}

#inputBox {
    width: 100%;
    border: none;
    padding: 15px;
    background: transparent;
    box-shadow: 0px 3px 15px rgba(84, 84, 84, 0.2);
    font-size: 2rem;
    text-align: right;
    color: #ffffff;
}

#inputBox::placeholder {
    color: #ffffff;
}

.buttons {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
}

button {
    border: none;
    aspect-ratio: 1 / 1;     /* keeps buttons square */
    border-radius: 50%;
    background: transparent;
    color: #ffffff;
    font-size: 1.2rem;
    box-shadow: -4px -4px 10px rgba(255, 255, 255, 0.1),
                4px 4px 10px rgba(0, 0, 0, 0.4);
    cursor: pointer;
    transition: background 0.2s ease;
}

button:active {
    background: rgba(255, 255, 255, 0.2); /* tap effect */
}

.equalBtn {
    background-color: #fb7c14;
    color: #fff;
}

.operator {
    color: #fb7c14;
}
