* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: Arial, sans-serif;
}

body {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
    background: #1e1e2f;
}

.calculator {
    width: 320px;
    background: #2e2e3e;
    border-radius: 15px;
    box-shadow: 0 8px 15px rgba(0,0,0,0.5);
    overflow: hidden;
}

.display {
    background: #1c1c28;
    color: #fff;
    font-size: 2rem;
    text-align: right;
    padding: 20px;
    min-height: 80px;
}

.buttons {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}

button {
    border: none;
    outline: none;
    font-size: 1.2rem;
    padding: 20px;
    cursor: pointer;
    background: #3c3c4f;
    color: #fff;
    transition: 0.2s;
}

button:hover {
    background: #505062;
}

.operator {
    background: #ff9500;
    color: #fff;
}

.operator:hover {
    background: #ffa733;
}

.equal {
    grid-column: span 4;
    background: #28a745;
}

.equal:hover {
    background: #3cc95c;
}

.clear {
    background: #dc3545;
    color: #fff;
}

.clear:hover {
    background: #e85c6b;
}