body {
    margin: 0;
    width: 100dvw;
    height: 100dvh;
    overflow-x: hidden;
    user-select: none;
}

.app {
    display: flex;
    align-items: center;
    flex-direction: column;
}

select {
    padding: 8px 12px;
    font-size: 16px;
    border: 2px solid #888;
    border-radius: 6px;
    background-color: #f9f9f9;
    color: #333;
}

button {
    margin: 10px;
    padding: 10px 20px;
    background-color: #656565;
    color: #fff;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: background-color 200ms ease;
}

button:hover {
    background-color: #656565;
    box-shadow: 1px 1px 2px #202020;
}

button:active {
    background-color: #656565;
    box-shadow: inset 1px 1px 10px #202020;
}

#infoDisplay {
    display: flex;
    align-items: center;
    justify-content: center;
}

canvas {
    border-radius: 10px;
    border: 1px solid black;
    margin: 10px;
}

#remoteCanvas {
    border: 1px solid var(--remote-color);
}

#userCanvas {
    border: 1px solid var(--user-color);
    touch-action: none;
}

progress {
    appearance: none;
    width: 300px;
    min-height: 20px;
}

#remoteHpDisplay::-webkit-progress-value {
    background: var(--remote-color);
}

#remoteHpDisplay::-moz-progress-bar {
    background: var(--remote-color);
}

#remoteHpDisplay::-webkit-progress-bar {
    background: #eee;
}

#hpDisplay::-webkit-progress-value {
    background: var(--user-color);
}

#hpDisplay::-moz-progress-bar {
    background: var(--user-color);
}

#hpDisplay::-webkit-progress-bar {
    background: #eee;
}

#playerTypeDisplay {
    font-size: 25px;
    font-weight: bolder;
}

dialog {
    width: 50dvw;
    max-width: 350px;
    border-radius: 5px;
    border-color: rgb(0 0 0 / 0.3);
    display: flex;
    align-items: center;
}

dialog>button {
    border: 1px solid var(--user-color);
    width: 100px;
}

dialog>button:hover {
    border: 1px solid var(--remote-color);
}

dialog>button:active {
    background-color: var(--remote-color);
}