* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: "Pixelify Sans", sans-serif;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    overflow-x: hidden;
    height: 100vh;
}

/* Layout */
.container {
    display: flex;
    gap: 20px;
    align-items: center;
    transform: scale(1);
    transform-origin: center;
}

/* Game box */
.game-box {
    border: 4px solid black;
    padding: 15px;
    width: 260px;
    text-align: center;

    box-shadow:
        0 0 0 3px #555,
        6px 6px 0px black;
}

/* Title bar */
.title-bar {
    background: #333;
    padding: 6px;
    margin: -15px -15px 12px -15px;
    font-size: 9px;
}

/* Title */
h1 {
    font-size: 12px;
    margin-bottom: 10px;
}

/* Display */
.display {
    font-size: 28px;
    background:#A7C7E7;
    color: #7068BD;

    border: 3px solid black;

    padding: 12px;
    margin-bottom: 10px;

    box-shadow:
        inset 0 0 8px black,
        3px 3px 0px black;

    letter-spacing: 2px;
}

/* Input */
#inputBox {
    font-size: 10px;
    border: 2px solid black;
    background: #A7C7E7;

    padding: 6px;
    margin-bottom: 10px;

    box-shadow: 2px 2px 0px black;
}

/* Keypad */
.keypad {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 4px;
    margin-bottom: 10px;
}

.keypad button {
    font-size: 12px;
    padding: 6px;

    background: #A7C7E7;

    border: 2px solid black;

    box-shadow: 2px 2px 0px black;
    cursor: pointer;
}

/* Main buttons */
button {
    font-size: 10px;
    padding: 6px 10px;
    margin: 4px;

    background: #7068BD;
    color: black;

    border: 2px solid black;

    box-shadow: 3px 3px 0px black;
    cursor: pointer;
}

button:active {
    transform: translate(2px, 2px);
    box-shadow: 1px 1px 0px black;
}

/* Status */
#status {
    font-size: 10px;
    margin-top: 8px;
}

/* History panel */
.history-panel {
    width: 160px;

    background: #7068BD;
    border: 3px solid black;

    padding: 10px;

    box-shadow: 4px 4px 0px black;

    font-size: 10px;
}

.history-panel h3 {
    text-align: center;
    margin-bottom: 8px;
}

/* History content */
#history {
    max-height: 220px;
    overflow-y: auto;
}

.actions button:last-child {
    background: #7068BD;
}


/* 📱 Mobile */
@media (max-width: 500px) {
    .container {
        flex-direction: column;
        transform: scale(0.95);
    }

    .game-box {
        width: 90%;
    }

    .history-panel {
        width: 90%;
    }
}

/* 📲 Tablet */
@media (min-width: 501px) and (max-width: 900px) {
    .container {
        transform: scale(1.1);
    }
}

/* 💻 Laptop */
@media (min-width: 901px) {
    .container {
        transform: scale(1.3);
    }
}