/* 폰트 불러오기 */
@import url('https://fonts.googleapis.com/css2?family=Great+Vibes&display=swap');
@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard.css');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+KR:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap');

/* 기본 초기화 */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body, html {
    width: 100%;
    height: 100%;
    overflow: hidden; /* 스크롤바 방지 */
    background-color: #000; /* 영상 로딩 전 기본 배경색 */
    font-family: 'Pretendard', sans-serif; /* 기본 폰트 지정 */
    color: #ffffff;
}

/* 메인 화면 전체 래퍼 */
.main-wrapper {
    position: relative;
    width: 100%;
    height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

/* 배경 비디오 스타일 */
.bg-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover; /* 화면 비율에 맞게 꽉 채움 */
    z-index: 0; /* 텍스트 뒤로 배치 */
}

/* 중앙 컨텐츠 스타일 */
.content-container {
    text-align: center;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* 메인 로고 텍스트 (Pristina 대체 폰트 적용) */
.main-logo {
    font-family: 'Great Vibes', cursive;
    font-size: 5.5rem; /* 영상과 비슷한 크기로 조정 */
    font-weight: 400;
    letter-spacing: 2px;
    margin-bottom: 25px;
    text-shadow: 0 0 10px rgba(255, 255, 255, 0.3); /* 살짝 빛나는 효과 */
}

/* 설명 텍스트 */
.description {
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.6;
    margin-bottom: 40px;
    opacity: 0.9;
}


/* 시작 버튼 */
.start-btn {
    display: inline-flex;
    padding: 7px 24px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    border-radius: 50px;
    background: #2D4EF5;
    color: #ffffff;
    font-family: 'Pretendard', sans-serif;
    font-size: 1.1rem;
    font-weight: 700;
    border: none;
    cursor: pointer;
    transition: transform 0.3s ease; 
}

/* 버튼 마우스 오버 효과: 오른쪽으로 5px 이동 */
.start-btn:hover {
    transform: translateX(5px);
}

/* 하단 출처 태그 */
.footer-tag {
    position: absolute;
    bottom: 40px;
    z-index: 1;
}

.footer-tag img {
    height: 36px; /* 이미지 크기 적절히 조절 */
    opacity: 0.8;
    transition: opacity 0.3s;
}

.footer-tag img:hover {
    opacity: 1;
}

/* =========================================
   질문 화면 스타일
========================================= */
#question-screen {
    width: 100%;
    height: calc(100vh - 100px);
    display: flex;
    flex-direction: column;
    position: fixed; 
    top: 100px;
    left: 0;
    z-index: 20;
    background-color: #000;
    overflow-y: auto; 
    -webkit-overflow-scrolling: touch;
}

.bg-video-question {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    object-fit: cover;
    z-index: -1;
}

.top-banner {
    width: 100%;
    height: 33vh;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 50px; 
    background-color: transparent;
    position: relative;
    z-index: 10;
    box-sizing: border-box;
    margin-bottom: 40px;
}

/* 사각형 안에 가둬진 배너 비디오 스타일*/
#banner-video {
    width: 100%;     
    max-width: 600px;            
    max-height: 340px;
    object-fit: cover;
    border-radius: 4px;      
}

/* 하단 질문 영역 (2/3 비율 화면 고정 및 스크롤 개방) */
.bottom-question-area {
    width: 100%;
    min-height: 33vh;            
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding-top: 370px;           
    padding-bottom: 100px;   
    box-sizing: border-box;
    margin-bottom: 100px;
}

.question-content {
    position: relative;
    z-index: 10;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    max-width: 900px;
    margin-top: 30px;
}

/* 질문 박스 */
.question-box {
    display: inline-flex;
    padding: 30px 80px;
    flex-direction: row; 
    justify-content: center;
    align-items: center;
    gap: 20px;
    border: 7px solid #929B9A;
    background: linear-gradient(180deg, #97BBFE 0%, #2D33F5 100%);
    box-shadow: 1px 1px 1px 8px rgba(0, 0, 0, 0.25) inset;
    border-radius: 7px;
    margin-bottom: 40px;
}

.question-cursor {
    height: 1.3rem; /* 텍스트 크기에 맞춤 */
    width: auto;
    filter: drop-shadow(2px 2px 2px rgba(0,0,0,0.5));
}

#question-text {
    font-family: 'Noto Serif KR', serif;
    text-align: center;
    font-size: 1.3rem;
    font-weight: 700;
    color: #ffffff;
    margin: 0;
}

/* 선택지 영역 (중앙 정렬 블록) */
.options-container {
    display: flex;
    flex-direction: column;
    gap: 20px;  
    width: fit-content; 
    margin: 0 auto; 
}

/* 선택지 버튼 (텍스트 크게 변경) */
.option-btn {
    background: transparent;
    border: none;
    color: #ffffff;
    font-family: 'Pretendard', sans-serif;
    font-size: 1.25rem;  
    font-weight: 500;
    padding: 10px 20px;
    text-align: left;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 18px; 
    transition: transform 0.3s ease;
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.8);
}

/* 선택지 호버 효과 */
.option-btn:hover {
    transform: translateX(10px);
    background: transparent;
}

/* 하단 출처 태그 (가로 중앙 정렬 고정) */
.bottom-question-area .footer-tag {
    position: relative; 
    margin-top: 100px; 
    margin-bottom: 150px;
    z-index: 20;
}

.bottom-question-area .footer-tag img {
    height: 32px;
}

/* =========================================
   결과 화면 스타일
========================================= */


#result-screen {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    flex-direction: column;
    align-items: center;
    z-index: 0;
    object-fit: cover;
    background-color: #000;
    overflow-y: auto; /* 내용이 길 경우 스크롤 허용 */
    padding-top: 100px; 
    padding-bottom: 80px;
}


.bg-video {
    position: fixed; 
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    object-fit: cover;
    z-index: 1;
}

.result-content {
    position: relative;
    z-index: 10;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    max-width: 1000px;
    gap: 40px;
    margin-bottom: 80px;
}

/* 상단 헤더 (결과 박스 + 로고 영역) */
.result-header {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 30px;
    width: 100%;
    margin-bottom: 0;
}

/* 결과 박스 */
.result-title-box {
    display: inline-flex;
    padding: 30px 40px;
    justify-content: center;
    align-items: center;
    color: #ffffff;
    font-family: 'Pretendard', sans-serif;
    font-size: 1.2rem;
    font-weight: 400;
    border: 4px solid #929B9A;
    background: linear-gradient(180deg, #97BBFE 0%, #2D33F5 100%);
    box-shadow: 1px 1px 1px 6px rgba(0, 0, 0, 0.25) inset;
    border-radius: 7px;
}

/* 결과 로고 영역 */
.result-logo-area {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
}

#result-logo-img {
    height: auto; /* 로고 크기 적절히 조절 */
    width: 500px;
    max-height: 600px;
}

#result-series-name {
    margin-top: 18px;
    font-size: 1.2rem;
    color: #ffffff;
    font-weight: 400;
}

/* 캐러셀 배너 (슬라이드 애니메이션 적용) */
.carousel-banner {
    width: 100%;
    max-width: 600px;
    height: 340px;
    overflow: hidden;
    margin-bottom: 0; 
    position: relative;
}

/* 이미지가 한 줄로 이어지는 트랙 */
.carousel-track {
    display: flex;
    flex-wrap: nowrap;
    width: 100%;
    height: 100%;
    transition: transform 0.5s ease-in-out;
}

.carousel-track img {
    flex: 0 0 100%;    
    width: 100%;  
    height: 100%; 
    object-fit: contain;
    background: #000; 
}

/* 플랫폼 & 한국어 지원 O */
.platform-area {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 15px;
    margin-bottom: 0;
}

.platform-area img {
    height: 20px; /* 플랫폼 로고 크기 */
    opacity: 0.9;
}

.korean-tag-img {
    height: 24px;
    margin-left: 10px; 
    object-fit: contain;
}

.catchphrase-box {
    margin: 20px 0;
    padding: 20px 60px;
    text-align: center;
    white-space: pre-line; /* \n 줄바꿈 적용 */
    font-family: "Noto Serif JP", "Pretendard", sans-serif;
    font-size: 1.2rem;
    font-weight: 600, 300;
    color: white; 
    border: 4px solid #929B9A;
    background: linear-gradient(180deg, #97BBFE 0%, #2D33F5 100%);
    box-shadow: 1px 1px 1px 6px rgba(0, 0, 0, 0.25) inset;
    border-radius: 7px;
}

/* 게임 설명 텍스트 */
.result-description {
    font-family: 'Pretendard', sans-serif;
    color: #ffffff;
    font-size: 1.05rem;
    line-height: 1.6;
    text-align: center;
    max-width: 700px;
    margin-bottom: 40px;
    text-shadow: 1px 1px 2px rgba(0,0,0,0.8);
}

/* 메인으로 돌아가기 버튼 */
.back-btn {
    display: flex;
    padding: 7px 24px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    border-radius: 50px;
    background: #2D33F5;
    color: #ffffff;
    font-family: 'Pretendard', sans-serif;
    font-size: 1.1rem;
    font-weight: 700;
    border: none;
    cursor: pointer;
    transition: transform 0.3s ease, background 0.3s ease;
}

.back-btn:hover {
    background: #1e24cc;
    transform: translateY(-3px);
}

/* 하단 태그 (결과 화면용 위치 조정) */
#result-screen .footer-tag {
    position: relative;
    margin-top: auto; 
}

#result-screen .footer-tag img {
    height: 22px; 
}


/* =========================================
   📱 모바일(반응형) 디자인 수정
   ========================================= */
@media screen and (max-width: 768px) {
  
  /* 1. 시작 화면*/
  .main-logo {
    font-size: 3.0rem;
  }
  .description {
    font-size: 1rem; 
    padding: 0 20px; 
  }
  .start-btn {
    font-size: 1.2rem;
    padding: 12px 30px; 
  }

  /* 2. 질문 화면 (#question-screen 내부) */
.question-box {
    max-width: 380px;
    padding: 20px 25px;  
    gap: 10px;   
    border-width: 4px;   
    box-shadow: 1px 1px 1px 4px rgba(0, 0, 0, 0.25) inset;
    margin-bottom: 25px;   
  }

  /* 2. 손가락 커서 크기 축소 */
  .question-cursor {
    height: 1.1rem;
  }

  /* 3. 질문 텍스트 크기 축소 */
  #question-text {
    font-size: 1.2rem;
      weight: 260;
  }
    
  .options-container {
    width: 90%;   
    gap: 10px; 
  }
      
  .option-btn {
    font-size: 1.12rem; 
    padding: 12px 20px;
  }
  

  .footer-tag img {
    height: 24px;
  }


  /* ---------------------------------------
       결과 시리즈 및 로고 (완벽한 세로 배치)
     --------------------------------------- */

    
  .result-content {
    display: flex;
    flex-direction: column;
    align-items: center; 
    width: 100%;
    padding: 10px 0;
  }

  .result-header {
    display: flex;
    flex-direction: column; 
    align-items: center;
    gap: 15px;             
    width: 100%;
    margin-bottom: 20px;
  }

  /* 로고와 이름을 세로로 묶어주는 영역 */
  .result-logo-area {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
  }

  #result-logo-img {
    width: 100%;
    max-width: 270px;
    height: auto;
    object-fit: contain;
    margin-top: 50px;
  }

  #result-series-name {
    font-size: 0.9rem;
    text-align: center;
    margin: 0;
  }

  /* ---------------------------------------
     [2] 플랫폼 로고 (간격 좁게, 사이즈 작게)
     --------------------------------------- */
  .platform-area {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 8px;  
    margin: 15px 0;
    width: 100%;
  }

  .platform-area img {
    height: 15px;  
    width: auto;
  }

  /* ---------------------------------------
     [3] 캐치프레이즈 박스 (더 축소)
     --------------------------------------- */
  #catchphrase-box {
    width: 85%;            /* 가로 너비 축소 */
    padding: 25px 16px;    /* 내부 여백 축소로 부피 줄임 */
    font-size: 0.95rem;    /* 글자 크기 축소 */
    margin-bottom: 20px;
    text-align: center;
  }

  /* ---------------------------------------
     [4] 설명 (수정 없음 - 화면 유지)
     --------------------------------------- */
  #result-desc-text {
    font-size: 0.95rem;
    line-height: 1.6;
    padding: 0 25px;
    text-align: center;
    word-break: keep-all; 
  }

  /* ---------------------------------------
     [5] Back to main 버튼 (더 작게)
     --------------------------------------- */
  .back-btn {
    font-size: 1rem; 
    padding: 10px 24px;
    margin-top: 30px;
    margin-bottom: 50px;
  }

  /* 🖼️ 캐러셀 모바일 크기 유지 */
  .carousel-banner {
    width: 330px;
    height: 200px;
    margin: 10px auto;
  }

    .carousel-track{
        width: 100%;
        height: 100%;
    }
    
  .carousel-track img {
    width: 100%;
    height: auto;
  }
}
