@font-face {
    font-family: 'DePixelHalbfett';
    src: url('/fonts/DePixelHalbfett.otf') format('opentype');
    font-display: swap;
}

* {
    box-sizing: border-box;
}

body {
    background-color:rgb(190, 238, 250);
    justify-content: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    font-family: DePixelHalbfett;
    font-size: 10px;
    margin: 30px;
    gap: 5px;
    overflow-x: hidden;
}

img {
    image-rendering: pixelated;
    image-rendering: crisp-edges;
    -ms-interpolation-mode: nearest-neighbor;
}

/*---------- Characters ----------*/
.character {
    position: absolute;
    z-index: 3;
    user-select: none;
    transition: transform 0.2s ease;
    transform-origin: center bottom;
    width: 7%;
}

.character:hover {
    transform: scale(1.1);
}

/*---------- room ----------*/
.room-container {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
}

.room {
    display: block;
    width: 100%;
    max-width: 800px;
    height: auto;
    z-index: 2;
}

.door {
    position: absolute;
    width: 22%;
    height: auto;
    z-index: 2;
    transition: transform 0.2s ease;
    transform-origin: center bottom;
}

.door:hover {
    transform: scale(1.08);
}

.door-link {
    position: absolute;
    z-index: 3;
    cursor: pointer;
    text-decoration: none;
    display: flex;
    justify-content: center;
    align-items: center;
    left: 10%;
    top: 18%;
    width: 22%;
    height: 45%;
}

.door-text {
    font-family: 'DePixelHalbfett';
    font-size: 12px;
    color: #fff;
    pointer-events: none;
    white-space: nowrap;
    margin-top: -20%;
}

.door-link:hover {
    transform: scale(1.1);
}

.furniture {
    position: absolute;
    z-index: 2;
    transition: transform 0.2s ease;
    transform-origin: center bottom;
    user-select: none;
}

.furniture:hover {
    transform: scale(1.05);
}

/*---------- Clouds ----------*/
.cloud {
    position: absolute;
    top: 10%;
    width: 150px;
    height: auto;
    z-index: 1;
    animation: cloudMove 20s linear infinite;
}

.cloud:nth-child(2) {
    animation-delay: -5s;
    top: 20%;
    width: 100px;
}

.cloud:nth-child(3) {
    animation-delay: -10s;
    top: 30%;
    width: 120px;
}

.cloud:nth-child(4) {
    animation-delay: -12s;
    top: 40%;
    width: 200px;
}

.cloud:nth-child(5) {
    animation-delay: -5s;
    top: 60%;
    width: 250px;
}

.cloud:nth-child(6) {
    animation-delay: -15s;
    top: 70%;
    width: 300px;
}

.cloud:nth-child(7) {
    animation-delay: -10s;
    top: 90%;
    width: 400px;
}

@keyframes cloudMove {
    0% {
        left: -200px;
    }
    100% {
        left: 100vw;
    }
}

