@font-face {
    font-family: 'ME123-Font-Title';
    src: url('../assets/fonts/ME123-Font-Title.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'ME1-Font-Dialogue';
    src: url('../assets/fonts/ME1-Font-Dialogue.otf') format('opentype');
    font-weight: normal;
    font-style: normal;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    background: #000000;
    margin: 0;
    padding: 0;
    min-height: 100vh;
    font-family: 'Georgia', serif;
    width: 100%;
    overflow-x: hidden;
    position: relative;
}

.title {
    position: fixed;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    width: 90%;
    max-width: 800px;
    font-size: 2rem;
    font-weight: bold;
    z-index: 100;
    font-family: 'ME123-Font-Title', serif;
    background: linear-gradient(90deg,
            #ff0000 0%, #ff7f00 14%, #ffff00 28%,
            #00ff00 42%, #0000ff 57%, #4b0082 71%,
            #9400d3 85%, #ff0000 100%);
    background-size: 200% 100%;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
    animation: rainbowShift 10s linear infinite;
    letter-spacing: clamp(1px, 0.5vw, 3px);
    padding: 0 10px;
    text-align: center;
    white-space: normal;
    word-wrap: break-word;
    filter: drop-shadow(0 0 10px rgba(255, 255, 255, 0.3));
}

@keyframes rainbowShift {
    0% {
        background-position: 0% 50%;
    }

    100% {
        background-position: 200% 50%;
    }
}

#starfield {
    width: 100vw;
    height: 100vh;
    position: relative;
    cursor: crosshair;
    padding-top: clamp(80px, 15vh, 150px);
    padding-bottom: 120px;
    z-index: 1;
}