:root {
    --slot-size: 64px;
    --color-bg-select: rgba(0, 0, 0, 0.1);
    --color-bg-select: rgba(0, 200, 0, 0.1);
    --color-border-select: rgb(0, 200, 0);
}

body {
    font-family: 'IBM VGA 8x16', monospace;
}

.button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc(var(--slot-size) - 6px);
    margin: 3px;
    border: 3px solid gray;
    cursor: pointer;
    position: relative;
}

.button:hover {
    background-color: var(--color-bg-select);
}

.button.active {
    background-color: var(--color-bg-select);
    border-color: var(--color-border-select);
}

.button.disabled {
    opacity: 0.3;
    pointer-events: none;
}

.icon {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.keyBinding {
    font-weight: bold;
    color: black;
    position: absolute;
    top: 5px;
    right: 5px;
    text-shadow: rgb(255, 255, 255) 1px 0px 0px, rgb(255, 255, 255) 0.540302px 0.841471px 0px, rgb(255, 255, 255) -0.416147px 0.909297px 0px, rgb(255, 255, 255) -0.989992px 0.14112px 0px, rgb(255, 255, 255) -0.653644px -0.756802px 0px, rgb(255, 255, 255) 0.283662px -0.958924px 0px, rgb(255, 255, 255) 0.96017px -0.279415px 0px;
}

.controls {
    position: fixed;
    width: calc(var(--slot-size) * 9);
    height: var(--slot-size);
    border: 1px solid gray;
    background: white;
    bottom: 10px;
    left: 0;
    right: 0;
    display: flex;
    margin: auto;
}