@import url('https://fonts.googleapis.com/css2?family=Aleo:ital,wght@0,100..900;1,100..900&display=swap');




body, html {
            height: 100%;
            margin: 0;
            font-family: 'Pretendard', sans-serif;
            overflow: hidden;
            display: flex;
            justify-content: center;
            align-items: center;
            text-align: center;
            color: white;
        }


body {     
    flex-direction: column;
    min-height: 100vh;
}

.hidden {
    display: none;
}

.visible {
    display: block;
}


        .background {
            background: linear-gradient(to bottom, #000428, #04377d);
            position: absolute;
            width: 100%;
            height: 100%;
            z-index: -1;
            display: flex;
            justify-content: center;
            align-items: center;
            flex-direction: column;
        }
        .stars {
            position: absolute;
            width: 100%;
            height: 100%;
            background: transparent;
            overflow: hidden;
        }
        .star {
            position: absolute;
            background: white;
            border-radius: 50%;
            opacity: 0.8;
            animation: moveStar 20s linear infinite, twinkle 5s infinite alternate;
        }
        
        @keyframes twinkle {
            from { opacity: 0.5; }
            to { opacity: 1; }
        }
        @keyframes moveNebula {
            from { transform: translateY(0) rotate(45deg); }
            to { transform: translateY(-20px) rotate(45deg); }
        }
        @keyframes moveStar {
            from { transform: translate(0, 0); }
            to { transform: translate(200px, 200px); }
        }
      
        @keyframes animateWave {
            from { background-position-x: 0; }
            to { background-position-x: 1000px; }
        }
        .container {
            position: relative;
            z-index: 1;
            padding: 20px;
        }
        h1 {
            font-family: "Aleo", serif;
            font-optical-sizing: auto;
            font-weight:600;   
            margin: 0;
            font-size: 4em;
            text-align: left;
            font-weight: 600;
            
            white-space: pre; /* 줄바꿈을 허용하도록 설정 */
    opacity: 0; /* 초기 opacity 설정 */
    transition: opacity 0.5s ease-in; /* opacity 전환 효과 설정 */
}

 h4 span { font-weight: 200;}
h4 {text-align: left; 
    opacity: 0; /* 초기 opacity 설정 */
    position: relative; /* 초기 위치 설정 */
    top:5px; /* 초기 위로 올려서 보이지 않게 설정 */
    transition: opacity 1s ease-in, top 1s ease-in; /* opacity와 top 전환 효과 설정 */
}

/* 모바일용 스타일 */
@media (max-width: 600px) {
    body {margin:10%;}
    h1 {
        
        font-size: 1.5em; /* 모바일용 텍스트 크기 조정 */        
    }

    h4 {
        font-size: 0.8em; /* 모바일용 텍스트 크기 조정 */        
    }
    h4 span {display: block;}

    
}


 /*커서 원형 
.cursor {
    position: absolute;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #ffffff;
    pointer-events: none;
    transform: translate(-50%, -50%);
    animation: sparkle 1s infinite;
  }
  @keyframes sparkle {
    0% {
      box-shadow: 0 0 10px #ffffff, 0 0 20px #ffffff, 0 0 30px #ffffff, 0 0 40px #ffffff, 0 0 50px #ffffff;
    }
    50% {
      box-shadow: 0 0 5px #ffffff, 0 0 10px #ffffff, 0 0 15px #ffffff, 0 0 20px #ffffff, 0 0 25px #ffffff;
    }
    100% {
      box-shadow: 0 0 10px #ffffff, 0 0 20px #ffffff, 0 0 30px #ffffff, 0 0 40px #ffffff, 0 0 50px #ffffff;
    }
  }*/

.cursor {
    position: absolute;
    width: 15px;
    height: 15px;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="white" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-star"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"/></svg>');
    background-size: contain;
    pointer-events: none;
    transform: translate(-50%, -50%);
    animation: sparkle 1s infinite;
  }
  @keyframes sparkle {
    0% {
      transform: translate(-50%, -50%) scale(1);
      filter: drop-shadow(0 0 5px white) drop-shadow(0 0 10px white);
    }
    50% {
      transform: translate(-50%, -50%) scale(1.2);
      filter: drop-shadow(0 0 10px yellow) drop-shadow(0 0 20px white);
    }
    100% {
      transform: translate(-50%, -50%) scale(1);
      filter: drop-shadow(0 0 5px white) drop-shadow(0 0 10px white);
    }
  }


.controls {
    position: absolute;
    top: 20px;
    right: 20px;
    display: flex;
    align-items: center;
    padding: 5px 10px;
  }
  .controls button, .controls input {
    background: none;
    border: none;
    outline: none;
    cursor: pointer;
    margin: 0 5px;
  }
  .controls button {
    width: 24px;
    height: 24px;
  }
  .controls input[type="range"] {
    -webkit-appearance: none;
    width: 70px;
    height: 1px;
    background: rgba(255, 255, 255, 0.8);
      
  }
  .controls input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 10px;
    height: 10px;
    background: #fff;
    border-radius: 50%;
  }
  .hidden {
    display: none;
  }

footer {
   
    color: #fff;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 20px;
    font-size: 12px;
    font-weight: 200;
    position: fixed;
    width: 100%;
    bottom: 0;
    box-sizing: border-box;
}

footer .footer-left,
footer .footer-right {
    display: flex;
    align-items: center;
}

footer img { display: inline;}
footer strong {padding-right: 5px;}
footer .socials {
    margin-left: 10px;
}

footer .socials a {
    color: #fff;
    text-decoration: none;
    margin: 0 5px;
    font-size: 14px;
}

footer .socials a:hover {
    color: #ddd;
}



/* 모바일용 스타일 */
@media (max-width: 600px) {
    footer {
        flex-direction: column;
        text-align: left; /* 전체 푸터를 왼쪽 정렬로 변경 */
        align-items: flex-start; /* 아이템들을 왼쪽으로 정렬 */
        padding: 10px 20px;
    }

    footer .footer-left,
    footer .footer-right {
        flex-direction: column;
        align-items: flex-start; /* 각 섹션을 왼쪽으로 정렬 */
        margin: 5px 0;
    }

    footer .socials {
        margin: 10px 0;
    }
}
