body {
    touch-action: none;
    margin: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
    width: 100vw;
    overflow: hidden;
    background: #0b0b0b;
    max-width: 100%;
    max-height: 100%;
    font-family: segoe ui, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

/* Common styles for header, timer, and button */
.game-title, #timer, #restartButton {
    position: absolute;
    text-transform: uppercase;
    font-weight: bold;
    border-radius: 3px;
    color: #2a2a2a;
    background-color: rgba(255, 255, 255, 0.9);

}

.red {
    background-color: rgba(255, 130, 118, 0.7) !important;
}

.game-title {
    text-align: center;
    padding: .25em 2em;
    font-size: 2em;
    letter-spacing: .25em;
    top: .5em;
    font-weight: 100;
    position: fixed;

}

.footer {
    text-align: center;
    background-color: #ffffff;
    padding: .5em 1em;
    position: fixed;
    bottom: 1em;
    width: fit-content;
    border-radius: 3px;
    z-index: 100;
    font-size: .9em;
    font-weight: 700;
    font-family: monospace;
    letter-spacing: .25px;

}

#timer {
    top: 1em;
    left: 1em;
    padding: .5em 1em;
    font-size: 1.25rem;
    z-index: 999;

}

#restartButton {
    top: 1em;
    right: 1em;
    padding: .5em 1em;
    font-size: 1.25rem;
    transition: .5s;
    border: none;
    cursor: pointer;
    z-index: 1000;

}

#restartButton:hover {
    background-color: rgba(255, 255, 255, 0.75);
}

a, a:visited {
    text-decoration: none;
    color: inherit;
}

.footer .bi-heart {
    color: rgb(246, 71, 71);
    width: 1.25em;
    float: left;
    margin-right: .5em;
}
/* torch.js: transparent layer lit over the game canvas; "screen" only ever
   lightens, so the player, trail and finish dots underneath stay visible. */
#torchLayer {
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
    mix-blend-mode: screen;
}
