body {
    margin: 0;
    min-height: 100vh;

    background-color: #1d1b1c;

    display: flex;
    flex-direction: column;
    align-items: center;

    overflow-x: hidden;
}

.logo {
    display: flex;
    justify-content: center;
    align-items: center;

    margin: 10px 0;
    z-index: 10;
}

.logo img {
    width: min(40vw, 550px);
    height: auto;

    image-rendering: pixelated;
}

/* ========================= */
/* GŁÓWNY UKŁAD */
/* ========================= */

.container {
    display: flex;
    justify-content: center;
    align-items: flex-start;

    gap: clamp(10px, 1vw, 20px);

    width: min(95vw, 1450px);

    z-index: 3;
}

/* ========================= */
/* CANVASY */
/* ========================= */

.notes-panel {
    width: min(17vw, 250px);
    height: auto;

    flex-shrink: 0;
}

#game {
    width: min(48vw, 700px);
    height: auto;

    flex-shrink: 0;
}

.inventory {
    width: min(27vw, 400px);
    height: auto;

    flex-shrink: 0;
}

canvas {
    display: block;
    image-rendering: pixelated;
}

/* ========================= */
/* START BUTTON */
/* ========================= */

.startButton {
    position: absolute;

    top: 50%;
    left: 50%;

    transform: translate(-50%, -50%);

    padding: 15px 30px;

    font-size: 24px;
    cursor: pointer;

    background-color: #7b2d8b;
    color: #000;

    border: 4px solid #b45fd4;

    font-family: "Courier New", monospace;
    letter-spacing: 4px;
    text-transform: uppercase;

    box-shadow:
        0 0 20px #b45fd4,
        0 0 40px #7b2d8b;

    transition: .2s;

    z-index: 100;
}

.startButton:hover {
    background-color: #b45fd4;

    box-shadow:
        0 0 30px #d480ff,
        0 0 60px #b45fd4;

    transform: translate(-50%, -50%) scale(1.08);
}

.startButton:active {
    transform: translate(-50%, -50%) scale(0.95);
}

/* ========================= */
/* TENTACLES */
/* ========================= */

.bg_foto {
    position: fixed;
    bottom: 0;

    z-index: 2;
    pointer-events: none;
}

.bg_foto--left {
    left: 0;
}

.bg_foto--right {
    right: 0;
}

.bg_foto img {
    width: min(18vw, 300px);
    height: auto;

    display: block;
    image-rendering: pixelated;
}

.bg_foto--right img {
    transform: scaleX(-1);
}

/* ========================= */
/* TABLET */
/* ========================= */

@media (max-width: 1200px) {

    .container {
        width: 98vw;
        gap: 12px;
    }

    .notes-panel {
        width: 180px;
    }

    #game {
        width: 500px;
    }

    .inventory {
        width: 290px;
    }

    .bg_foto img {
        width: 180px;
    }
}