/* font */
@font-face {
  font-family: 'Pretendard';
  src: url('https://cdn.banggooso.com/assets/fonts/PretendardVariable.woff2') format('woff2');
  font-weight: 400;
}

@font-face {
  font-family: 'Pretendard';
  src: url('https://cdn.banggooso.com/assets/fonts/PretendardVariable.woff2') format('woff2');
  font-weight: 500;
}

@font-face {
  font-family: 'Pretendard';
  src: url('https://cdn.banggooso.com/assets/fonts/PretendardVariable.woff2') format('woff2');
  font-weight: 600;
}

@font-face {
  font-family: 'Pretendard';
  src: url('https://cdn.banggooso.com/assets/fonts/PretendardVariable.woff2') format('woff2');
  font-weight: 700;
}

@font-face {
  font-family: 'Pretendard';
  src: url('https://cdn.banggooso.com/assets/fonts/PretendardVariable.woff2') format('woff2');
  font-weight: 800;
}

* {
  box-sizing: border-box;
  transform: skew(0deg);
  letter-spacing: normal;
}

button,
li,
ul,
dt,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
div,
a,
p,
span,
b {
  transform: skew(0);
}

body,
html {
  font-size: 16px;
  font-family: 'Pretendard';
}

.hidden {
  display: none !important;
}

a,
button,
.cursor-pointer {
  cursor: pointer;
}

@media (max-width: 500px) {
  body,
  html {
    font-size: 3.2vw;
  }
}

img {
  user-select: none;
  -webkit-user-drag: none; /* Safari, Chrome */
  -khtml-user-drag: none; /* 옛날 Konqueror 브라우저 */
  -moz-user-drag: none; /* Firefox */
  -o-user-drag: none; /* 구형 Opera */
  -webkit-user-drag: none;
  user-select: none; /* 텍스트처럼 선택 방지 */
  -webkit-touch-callout: none;
}

/* 로딩 페이지 */
.game-wrapper .loading-wrap {
  padding-top: 4.0625rem;
  width: 100%;
  height: 100%;
  position: absolute;
  background: url(https://cdn.banggooso.com/assets/images/game290/chat/bg.png) no-repeat center / 100% 100% !important;
  left: 0;
  top: 0;
  z-index: 99999;
  display: none;
}

.game-wrapper .loading-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  justify-content: center;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.game-wrapper .loading-content .machine {
  width: 9.5rem;
  margin-bottom: 2rem;
}

.game-wrapper .loading-content .loading-bar {
  border-radius: 0.625rem;
  background: rgba(0, 0, 0, 0.1);
  height: 0.375rem;
  width: 22.5rem;
  margin-bottom: 2rem;
  position: relative;
  overflow: hidden;
  --progress-width: 0%; /* 광고없으니 0부터 시작 */
  --progress-transition: width 0.3s ease-out;
}

.game-wrapper .loading-content .loading-bar::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: var(--progress-width);
  background-color: #fa67ae;
  transition: var(--progress-transition);
}

.game-wrapper .loading-content .loading-text {
  color: #000;
  text-align: center;
  font-family: 'Pretendard';
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 140%;
  letter-spacing: -0.0175rem;
}

.game-wrapper .loading-content .loading-text span {
  color: #fa67ae;
}

.game-wrapper .loading-bottom {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  position: absolute;
  width: 100%;
  left: 50%;
  transform: translateX(-50%);
  bottom: 9.25rem;
}

.game-wrapper .loading-bottom img {
  width: 1.375rem;
  height: 1.25rem;
}

.game-wrapper .loading-bottom .loading-bottom-text {
  color: #6464fa;
  text-align: center;
  font-family: 'Pretendard';
  font-size: 1.125rem;
  font-style: normal;
  font-weight: 700;
  line-height: 130%; /* 1.4625rem */
  letter-spacing: -0.01125rem;
}

/* 로딩 실패 페이지 */
.game-wrapper .fail-content {
  display: none;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.game-wrapper .fail-content .fail-character-box {
  display: flex;
  justify-content: center;
  align-items: center;
}

.game-wrapper .fail-content .fail-character {
  width: 9.75rem;
}

.game-wrapper .fail-content .fail-message-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
  margin-bottom: 1.5rem;
}

.game-wrapper .fail-content .fail-title {
  color: #fa67ae;
  text-align: center;
  font-family: 'Pretendard';
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 140%; /* 2.45rem */
  letter-spacing: -0.0175rem;
}

.game-wrapper .fail-content .fail-description {
  color: #000;
  text-align: center;
  font-family: 'Pretendard';
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 140%; /* 1.75rem */
  letter-spacing: -0.0125rem;
}

.game-wrapper .fail-content .retry-button {
  display: flex;
  width: 15rem;
  margin: 0 auto;
  padding: 1.25rem 0.5rem;
  justify-content: center;
  align-items: center;
  gap: 0.25rem;
  border-radius: 1.25rem;
  background: #000;
  cursor: pointer;
}

.game-wrapper .fail-content .retry-button:active {
  opacity: 0.6;
}

.game-wrapper .fail-content .retry-button img {
  width: 1.5rem;
}

.game-wrapper .fail-content .retry-button span {
  color: #fff;
  text-align: center;
  font-family: 'Pretendard';
  font-size: 1.75rem;
  font-weight: 700;
  letter-spacing: -0.0175rem;
}

/* common */
.game-wrapper .game-intro {
  padding: 0;
}

.game-wrapper .game-intro .share-sns-list {
  padding: 2.62rem 0 2.5rem 0;
}

.game-wrapper .share-sns-list {
  display: flex;
  padding: 3.75rem 0 2.5rem 0;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  margin: 0;
}

.game-wrapper .share-sns-list .list-title {
  display: flex;
  align-items: center;
  margin: 0;
}

.game-wrapper .share-sns-list .list-title > span {
  color: #222;
  text-align: center;
  font-family: 'Pretendard';
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.625rem;
  letter-spacing: -0.015rem;
}

.game-wrapper .share-sns-list .list-title .countBox {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.game-wrapper .share-sns-list .list-title .countBox .countImg {
  width: 1.375rem;
  height: 1.375rem;
  background: url(https://cdn.banggooso.com/assets/images/game284/common/share.png) no-repeat center / contain;
  padding-bottom: 0;
}

.game-wrapper .share-sns-list .list-title .countBox .countNumber {
  color: #000;
  text-align: center;
  font-family: 'Pretendard';
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.25rem;
  letter-spacing: -0.0125rem;
}

.game-wrapper .share-sns-list .list {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 0.75rem;
}

.game-wrapper .share-sns-list .list li {
  margin: 0;
}

.game-wrapper .game-intro .share-sns-list .list .btn-share {
  background-color: #fa67ae;
}

.game-wrapper .share-sns-list .list .btn-share {
  width: 3.375rem;
  height: 3.375rem;
  background-color: #222;
  border-radius: 100%;
}

.game-wrapper .share-sns-list .list .btn-share.kakao {
  background-image: url(https://cdn.banggooso.com/assets/images/game279/share/kakao.png);
  background-size: 1.36125rem;
}

.game-wrapper .share-sns-list .list .btn-share.instagram {
  background-image: url(https://cdn.banggooso.com/assets/images/game279/share/instagram.png);
  background-size: 1.61081rem;
}

.game-wrapper .share-sns-list .list .btn-share.twitter {
  background-image: url(https://cdn.banggooso.com/assets/images/game279/share/twitter.png);
  background-size: 1.5525rem;
}

.game-wrapper .share-sns-list .list .btn-share.facebook {
  background-image: url(https://cdn.banggooso.com/assets/images/game279/share/facebook.png);
  background-size: 0.7425rem;
}

.game-wrapper .share-sns-list .list .btn-share.link-copy {
  background-image: url(https://cdn.banggooso.com/assets/images/game279/share/link.png);
  background-size: 1.591rem;
}

/* header */
.game-wrapper.basic .app-header {
  position: absolute;
  display: flex;
  width: 100%;
  height: 4.0625rem;
  padding: 0 0.5px;
  align-items: center;
  z-index: 999;
  border-bottom: 0;
  background-color: transparent;
}

.game-wrapper.basic .app-header.intro {
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(3px);
}

.game-wrapper.basic .app-header.step {
  background: #fffafc;
  backdrop-filter: blur(3px);
}

.game-wrapper.basic .app-header .app-header-btn.back {
  width: 0.9rem;
  left: 1.5rem;
  background: url(https://cdn.banggooso.com/assets/images/game284/common/back.png) no-repeat center / contain;
}

.game-wrapper.basic .app-header .app-logo {
  width: 7.25rem;
  background: url(https://cdn.banggooso.com/assets/images/common/logo_2024.png) no-repeat center / contain;
}

/* intro */
.game-intro .content {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 4.0625rem 0 8.25rem;
  height: 100%;
}

.game-intro {
  height: auto;
  padding-bottom: 0rem;
  background: linear-gradient(180deg, #f5a1c9 -17.36%, #ffd3e8 58.92%);
}

.game-intro .intro-interact-light-box {
  width: 7.5rem;
  margin: 1.85rem auto 0;
}

.game-intro .intro-interact-light-box img {
  width: 100%;
}

.game-intro .intro-title-box {
  width: 28.1875rem;
  margin: 0.8rem auto 0;
}

.game-intro .intro-title-box img {
  width: 100%;
}

.game-intro .intro-line-box {
  width: 100%;
  display: flex;
  margin-top: 0.7rem;
}

.game-intro .intro-line-box img {
  width: 100%;
}

.game-intro .intro-rolling-box {
  width: 100%;
  margin-top: 1.38rem;
}

.game-intro .intro-rolling-box img {
  width: 100%;
}

.game-intro .start-button {
  width: 19.875rem;
  height: 4.75rem;
  margin: 1.5rem 0 2.5rem;
  background: url(https://cdn.banggooso.com/assets/images/game290/intro/intro-btn.png) no-repeat center / contain;
}

.game-intro .start-button p {
  color: #fff;
  text-align: center;
  text-shadow: 0 0 3px #fff, 0 0 10px rgba(255, 0, 123, 0.64);
  font-family: 'Pretendard';
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 130%;
  letter-spacing: -0.035rem;
}

.game-intro .start-button:active {
  opacity: 0.6;
}

.game-intro .game-count {
  display: flex;
  width: 27.5rem;
  padding-bottom: 1.8rem;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
  margin-bottom: 0;
}

.game-intro .game-count .count-label {
  color: #000;
  text-align: center;
  font-family: 'Pretendard';
  font-size: 1.375rem;
  font-weight: 500;
  letter-spacing: -0.01375rem;
}

.game-intro .game-count .count-label::before {
  content: none;
}

.game-intro .game-count .count-num {
  color: #000;
  text-align: center;
  font-family: 'Pretendard';
  font-size: 2.5rem;
  font-weight: 600;
  letter-spacing: -0.025rem;
  line-height: normal;
}

/* 챗봇 페이지 스타일 */
.chat-content {
  display: flex;
  flex-direction: column;
  height: 100vh;
  padding-top: 4.0625rem;
  position: relative;
  flex: 1;
  background: #fffafc;
}

/* 프로그레스 바 */
.progress-bar-container {
  position: absolute;
  left: 0;
  top: 4.0625rem;
  width: 100%;
  padding: 0.75rem 1.5rem 2rem;
  background: linear-gradient(180deg, #fffafc 10%, rgba(255, 250, 252, 0.5) 64%, rgba(255, 250, 252, 0) 100%);
  z-index: 1;
}

.progress-bar {
  width: 100%;
  height: 0.25rem;
  border-radius: 0.625rem;
  background: rgba(0, 0, 0, 0.1);
  overflow: hidden;
}

.progress-fill {
  height: 100%;
  background: #fa67ae;
  width: 0%;
  transition: width 0.3s ease;
}

/* 메시지 영역 */
.chat-messages {
  flex: 1;
  padding: 3.75rem 1.5rem 16rem;
  overflow-x: hidden;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  position: relative;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.chat-messages::-webkit-scrollbar {
  display: none;
}

.message-wrapper {
  display: flex;
  align-items: flex-start;
}

.message-wrapper.question {
  flex-direction: row;
}

.message-wrapper.user {
  flex-direction: row-reverse;
}

.message-content {
  max-width: 25rem;
  padding: 1rem 1.25rem;
  font-family: 'Pretendard';
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 140%;
  white-space: pre-line;
  border-radius: 1.25rem;
  word-break: break-word;
}

.message-wrapper.question .message-content {
  border: 1px solid rgba(0, 0, 0, 0.2);
  background: #fff;
  border-bottom-left-radius: 0;
}

.message-wrapper.user .message-content {
  background: #fa67ae;
  color: #fff;
  border-bottom-right-radius: 0;
}

/* 입력 영역 */
.chat-input {
  width: 100%;
  padding: 1.25rem;
  will-change: transform;
  transform: translateZ(0);
  backface-visibility: hidden;
}

.input-container {
  display: flex;
  height: 4.75rem;
  padding: 0.5rem 0.5rem 0.5rem 1.75rem;
  justify-content: space-between;
  align-items: center;
  align-self: stretch;
  border-radius: 3.625rem;
  border: 1px solid #ccc;
  background: #fff;
}

.message-input {
  width: 100%;
  background-color: transparent;
  border: none;
  outline: none;
  color: #000;
  font-family: 'Pretendard';
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: -0.015rem;
  border-radius: 0.1px;
}

.message-input::placeholder {
  opacity: 0.3;
}

.send-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.75rem;
  height: 3.75rem;
  padding: 1rem 1.625rem;
  border-radius: 7rem;
  background: #fa67ae;
}

.send-button.disabled {
  cursor: not-allowed;
  background: linear-gradient(0deg, #e9e9ea 0%, #e9e9ea 100%), #fa67ae;
}

.send-button img {
  width: 1.375rem;
  height: 1.625rem;
  flex-shrink: 0;
}

/* MBTI 버튼 */
.mbti-wrapper {
  display: flex;
  flex-direction: column;
  width: 100%;
  padding: 0 1.75rem;
  gap: 1rem;
}

.mbti-grid {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.mbti-row {
  display: flex;
  gap: 1rem;
  justify-content: space-between;
}

.mbti-button {
  display: flex;
  align-items: center;
  padding: 1.25rem 0.5rem;
  justify-content: center;
  flex: 1;
  border-radius: 1rem;
  border: 1px solid rgba(0, 0, 0, 0.2);
  background: #fff;
  cursor: pointer;
  font-family: 'Pretendard';
  letter-spacing: -0.015rem;
  font-size: 1.5rem;
  font-weight: 700;
  color: #000;
  text-align: center;
  opacity: 1;
}

.mbti-button.selected {
  color: #fff;
  background: #fa67ae;
}

.mbti-button.disabled {
  opacity: 0.6;
}

/* 성격 선택 버튼 */
.personality-wrapper {
  display: flex;
  flex-direction: column;
  width: 100%;
  padding: 0 1.75rem;
  gap: 1rem;
}

.personality-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.75rem;
}

.personality-button {
  display: flex;
  align-items: center;
  padding: 1rem 0.5rem;
  justify-content: center;
  border-radius: 1rem;
  border: 1px solid rgba(0, 0, 0, 0.2);
  background: #fff;
  cursor: pointer;
  font-family: 'Pretendard';
  letter-spacing: -0.015rem;
  font-size: 1.25rem;
  font-weight: 700;
  color: #000;
  text-align: center;
  opacity: 1;
  transition: all 0.2s ease;
}

.personality-button.selected {
  color: #fff;
  background: linear-gradient(0deg, #fa67ae 0%, #fa67ae 100%), #fff;
}

.personality-button.disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.generate-button-container {
  position: fixed;
  bottom: 9.8rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1000;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.75rem;
}

.generate-guide-text {
  color: #fa67ae;
  text-align: center;
  font-family: 'Pretendard';
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 120%;
  letter-spacing: -0.01375rem;
  opacity: 0;
  white-space: pre-line;
}

.generate-button-container.show-guide .generate-guide-text {
  opacity: 1;
}

.generate-result-button {
  width: 24.75rem;
  cursor: pointer;
  padding: 1.25rem 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  border-radius: 1.25rem;
  background: #000;
  border: 1px solid transparent;
}

.generate-result-button.disabled {
  border-radius: 2.375rem;
  border: 1px solid rgba(0, 0, 0, 0.2);
  background: #fff;
}

.generate-result-button.disabled p {
  color: #000;
  opacity: 0.3;
}

.generate-result-button p {
  color: #fff;
  text-align: center;
  font-family: 'Pretendard';
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: -0.015rem;
}

.generate-button-icon {
  width: 1.5625rem;
  height: 1.5rem;
  flex-shrink: 0;
}

/* 결과 페이지 */
.game-wrapper.basic .game-result {
  padding: 13.5rem 0 0 0;
}

.result-wrap {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
}

/* 결과 고정 헤더 영역 */
.result-header-container {
  height: auto;
  width: 100%;
  padding: 4.0625rem 0 0 0;
  z-index: 999;
  background: url(https://cdn.banggooso.com/assets/images/game290/result/result-header-bg.png) no-repeat center / 100%
    100% !important;
  position: absolute;
}

.result-header-container .result-header-title-box {
  display: flex;
  width: 28.25rem;
  margin: 0 auto;
  padding: 1.25rem 1.5rem 4.125rem 1.5rem;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  align-self: stretch;
}

.result-header-container .result-header-title-box .dot-deco {
  width: 5rem;
}

.result-header-container .result-header-title-box p {
  color: #000;
  text-align: center;
  font-family: 'Pretendard';
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 130%;
  letter-spacing: -0.0175rem;
}

.result-header-container .result-header-title-box span {
  padding: 0 0.5rem;
  gap: 0.5rem;
  background: #000;
  color: #fff;
  margin-right: 0.12rem;
}

.result-content {
  overflow-x: hidden;
  overflow-y: auto;
  scroll-behavior: smooth;
  height: 100%;
  background-color: #fff;
}

/* 캡쳐 영역 */
.result-content .capture-wrap {
  background-color: #fff;
  position: relative;
  padding: 0.56rem 1.5rem 0;
}

.result-content .img-object {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}

/* 결과 컨텐츠 내용 영역 */
.result-content .capture-wrap .result-content-body {
  width: 100%;
}

.result-content-body .result-header-text-image {
  width: 100%;
}

/* 결과 컨텐츠 내용 헤더 영역 */
.result-content-body .content-body-header {
  display: inline-flex;
  padding: 0.125rem 0.625rem;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  background: #000;
}

.result-content-body .content-body-header p {
  color: #fff;
  font-family: 'Pretendard';
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 130%;
  letter-spacing: -0.01875rem;
}

.result-content-body .content-body-header .heart-1 {
  width: 1.3125rem;
  height: 1.125rem;
  aspect-ratio: 7/6;
}

.result-content-body .content-body-header .partner-name {
  color: #fa67ae;
}

/* ai 가이드 텍스트  */
.result-content-body .ai-guide-text-box {
  margin: 0.5rem auto 1.25rem;
  display: flex;
  align-items: center;
  gap: 0.25rem;
  opacity: 0.5;
}

.result-content-body .ai-guide-text-box img {
  width: 0.75rem;
  height: 0.75rem;
}

.result-content-body .ai-guide-text-box p {
  color: #000;
  font-family: 'Pretendard';
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: -0.01125rem;
}

.result-content-body .ai-guide-text-box span {
  font-weight: 700;
}

/* 한줄 데코 */
.result-content-body .line {
  width: 100%;
  margin: 1.25rem 0;
}

/* 두줄 데코 */
.result-content-body .double-line {
  width: 100%;
  margin-bottom: 2.5rem;
}

/* 연애 스타일 영역 */
.result-content-body .style-box {
  padding: 0 0.75rem 2.5rem;
}

.result-content-body .name-style-box {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.result-content-body .name-style-box:nth-child(2) {
  margin-top: 1.25rem;
}

.result-content-body .name-style-box .style-header {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  color: #000;
  text-align: center;
  font-family: 'Pretendard';
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 130%;
  letter-spacing: -0.01375rem;
}

.result-content-body .name-style-box .style-header img {
  width: 1.196rem;
  height: 1.05rem;
  flex-shrink: 0;
  aspect-ratio: 19.14/16.8;
}

.result-content-body .name-style-box .style-description {
  color: #000;
  font-family: 'Pretendard';
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 140%; /* 1.925rem */
  letter-spacing: -0.01375rem;
}

.result-content-body .style-box .style-description-2 {
  color: #000;
  font-family: 'Pretendard';
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 140%; /* 1.925rem */
  letter-spacing: -0.01375rem;
}

/* 반한 포인트 영역 */
.result-content-body .crush-point-box {
  padding-bottom: 1.5rem;
}

.crush-point-box .crush-point-title {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.crush-point-box .crush-point-title {
  color: #000;
  font-family: 'Pretendard';
  font-size: 1.625rem;
  font-weight: 700;
  line-height: 130%; /* 2.1125rem */
  letter-spacing: -0.01625rem;
}

.crush-point-box .crush-point-title img {
  width: 2.25rem;
}

.crush-point-box .relationship-details {
  padding: 2.5rem 0.75rem 0;
}

.result-content-body .relationship-row {
  display: flex;
  gap: 2.5rem;
}

.result-content-body .relationship-row .section-header {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 8.25rem;
  gap: 0.25rem;
}

.result-content-body .relationship-row .section-header .section-my,
.result-content-body .relationship-row .section-header .section-partner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
}

.result-content-body .relationship-row .section-header .ring-icon {
  width: 1.5rem;
  height: 1.5rem;
  flex-shrink: 0;
}

.result-content-body .relationship-row .section-header p {
  color: #000;
  text-align: center;
  font-family: 'Pretendard';
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 130%; /* 1.7875rem */
  letter-spacing: -0.01375rem;
}

.result-content-body .relationship-row .detail-items {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.result-content-body .relationship-row .detail-item {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  min-width: 8.75rem;
}

.result-content-body .relationship-row .detail-item .heart-icon {
  width: 1.0625rem;
  position: relative;
  top: 0.5rem;
}

.result-content-body .relationship-row .detail-item p {
  color: #000;
  font-family: 'Pretendard';
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 140%; /* 1.925rem */
  letter-spacing: -0.01375rem;
}

/* 고백의 순간 영역 */
.result-content-body .confession-story-box {
  margin-bottom: 2.5rem;
}

.confession-story-box .confession-header {
  display: flex;
  padding: 1rem 0 0.5rem 1.375rem;
  align-items: center;
  gap: 0.625rem;
  align-self: stretch;
  border-radius: 1.25rem 1.25rem 0 0;
  background-color: #fa67ae;
}

.confession-story-box .confession-header p {
  color: #fff;
  font-family: 'Pretendard';
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 130%; /* 1.95rem */
  letter-spacing: -0.015rem;
}

.confession-story-box .confession-description-box {
  border-radius: 0 0 1.25rem 1.25rem;
  border: 1px solid rgba(0, 0, 0, 0.2);
  background: #fff;
  display: flex;
  padding: 1.875rem 1.5rem;
  flex-direction: column;
  gap: 1rem;
  align-self: stretch;
}

.confession-description-box p {
  color: #000;
  font-family: 'Pretendard';
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 140%; /* 1.75rem */
  letter-spacing: -0.0125rem;
}

.confession-story-box .confession-description-box span {
  font-weight: 700;
}

/* 싸울 때 모습 영역 */
.result-content-body .conflict-box {
}

.conflict-box .conflict-header {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  margin-bottom: 1.25rem;
}

.conflict-box .conflict-header img {
  display: flex;
  width: 2.25rem;
  height: 2.25rem;
  align-items: center;
}

.conflict-box .conflict-header p {
  color: #000;
  font-family: 'Pretendard';
  font-size: 1.625rem;
  font-weight: 700;
  line-height: 130%;
  letter-spacing: -0.01625rem;
}

.conflict-box .conflict-description {
  color: #000;
  font-family: 'Pretendard';
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 140%;
  letter-spacing: -0.01375rem;
}

.conflict-box .conflict-description span {
  font-weight: 700;
}

/* 대화 영역 */
.result-content-body .message-box {
  padding: 0 0.75rem;
  margin-bottom: 2.5rem;
}

.message-box .right-area {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.25rem;
}

.message-box .left-area {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.25rem;
}

.message-box .message-box-name {
  color: #000;
  text-align: center;
  font-family: 'Pretendard';
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 130%; /* 1.625rem */
  letter-spacing: -0.0125rem;
}

.message-box .chat-bubble {
  display: flex;
  padding: 0.75rem 1.25rem;
  justify-content: center;
  align-items: center;
  gap: 0.625rem;
  border-radius: 1.25rem 1.25rem 0 1.25rem;
  max-width: 23rem;
}

.message-box .chat-bubble p {
  color: #fff;
  text-align: center;
  font-family: 'Pretendard';
  font-size: 1.375rem;
  font-weight: 700;
  letter-spacing: -0.01375rem;
}

.message-box .chat-bubble.user {
  background-color: #fa67ae;
  margin: 0.5rem 0;
}
.message-box .chat-bubble.partner {
  background-color: #000;
  margin: 0.5rem 0;
  border-radius: 1.25rem 1.25rem 1.25rem 0;
}

.message-box .chat-bubble.user p {
  text-align: right;
}
.message-box .chat-bubble.partner p {
  text-align: left;
}

.message-box .chat-bubble.user p,
.message-box .chat-bubble.partner p {
  color: #fff;
}

.message-box .chat-bubble.think {
  border-radius: 1.25rem;
  border: 1px dashed #ccc;
  background: #f5f4f5;
}

.message-box .chat-bubble.think p {
  color: #000;
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: -0.0125rem;
  opacity: 0.5;
}

.message-box .right-area .chat-bubble.think p {
  text-align: right;
}

.message-box .left-area .chat-bubble.think p {
  text-align: left;
}

.message-box .right-area .right-bubble,
.message-box .left-area .left-bubble {
  width: 1.125rem;
}

/* 오늘 일어날 일 영역 */
.result-content-body .episode-box {
  margin-bottom: 1.25rem;
}

.episode-box .episode-header {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  margin-bottom: 1.25rem;
}

.episode-box .episode-header img {
  display: flex;
  width: 2.25rem;
}

.episode-box .episode-header p {
  color: #000;
  font-family: 'Pretendard';
  font-size: 1.625rem;
  font-weight: 700;
  line-height: 130%; /* 2.1125rem */
  letter-spacing: -0.01625rem;
}

.episode-box .episode-description {
  display: flex;
  padding: 1.25rem;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
  align-self: stretch;
  background: #f5f4f5;
}

.episode-box .episode-description li {
  padding-left: 1.25rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
}

.episode-box .episode-description li::before {
  content: '•';
  position: absolute;
  left: 0;
  top: 0;
  color: #333;
  font-size: 1.25rem;
  line-height: 120%;
}

.episode-box .episode-description li p {
  color: #000;
  font-family: 'Pretendard';
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 140%; /* 1.75rem */
  letter-spacing: -0.0125rem;
}

.episode-box .episode-description li span {
  font-weight: 700;
}

/* cta 영역 */
.result-content-body .cta-button {
  display: flex;
  width: 24.75rem;
  padding: 1rem 0.5rem;
  justify-content: center;
  align-items: center;
  border-radius: 1.25rem;
  background: #000;
  margin: 0 auto;
  cursor: pointer;
}

.cta-button p {
  color: #fff;
  text-align: center;
  font-family: 'Pretendard';
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 140%; /* 2.1rem */
  letter-spacing: -0.015rem;
}

.cta-button p span {
  color: #fa67ae;
}

/* 푸터 영역 */
.result-content .footer {
  padding-top: 7.75rem;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.result-content .footer::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(https://cdn.banggooso.com/assets/images/game290/chat/bg.png) top center;
  background-size: 100% auto;
  z-index: -1;
  pointer-events: none;
}

.result-content .footer .result-receipt {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.result-content .footer .share-guide-image {
  width: 26.1875rem;
}

.result-content .footer .restart-btn {
  display: flex;
  width: 15rem;
  padding: 1.25rem 0.5rem;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  border-radius: 1.25rem;
  background: #000;
}

.result-content .footer .restart-btn:active {
  opacity: 0.6;
}

.result-content .footer .restart-btn p {
  color: #fff;
  text-align: center;
  font-family: 'Pretendard';
  font-size: 1.75rem;
  font-weight: 700;
  letter-spacing: -0.0175rem;
}

.result-content .footer .restart-btn img {
  width: 1.5rem;
  height: 1.5rem;
  flex-shrink: 0;
  aspect-ratio: 1/1;
}

.result-content .footer .deliberate-container {
  width: 100%;
  padding: 0 1.5rem;
  margin-top: 4.25rem;
}

.result-content .footer .deliberate-container .deliberate-box {
  border-radius: 1rem;
  border: 1px solid rgba(0, 0, 0, 0.2);
  width: 100%;
  background-color: #fff;
}

.deliberate-box .deliberate-header {
  display: flex;
  flex-direction: column;
  padding: 0.94rem 1.25rem;
  gap: 0.25rem;
  position: relative;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}

.deliberate-box .deliberate-header:has(+ .deliberate-text-box.collapsed) {
  border-bottom: none;
}

.deliberate-box .deliberate-header p {
  color: #000;
  font-family: 'Pretendard';
  font-size: 1.125rem;
  font-weight: 700;
}

.deliberate-box .deliberate-header span {
  color: #000;
  font-family: 'Pretendard';
  font-size: 0.75rem;
  font-weight: 500;
  opacity: 0.5;
}

.deliberate-box .deliberate-header .toggle-arrow-button {
  width: 1rem;
  height: 1rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 1.75rem;
  background-color: transparent;
}

.deliberate-box .deliberate-header .toggle-arrow-button .toggle-arrow {
  width: 100%;
  transition: transform 0.3s ease;
}

.deliberate-box .deliberate-header .toggle-arrow-button .toggle-arrow.rotated {
  transform: rotate(180deg);
}

.deliberate-box .deliberate-text-box {
  width: 100%;
  padding: 1.75rem 1.06rem;
  max-height: 1000px;
  overflow: hidden;
  transition: max-height 0.3s ease, padding 0.3s ease;
}

.deliberate-box .deliberate-text-box.collapsed {
  max-height: 0;
  padding-top: 0;
  padding-bottom: 0;
}

.deliberate-box .deliberate-text-box .deliberate-text {
  width: 100%;
}

.result-content .footer .content-more-wrap {
  display: flex;
  padding-top: 2.5rem;
  flex-direction: column;
  align-items: flex-start;
  gap: 2.1875rem;
  align-self: stretch;
  margin-top: 4.25rem;
  background: #222;
}

.result-content .footer .content-more-wrap .contents-more {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  background-color: unset;
  border-radius: unset;
  margin: 0;
}

.result-content .footer .content-more-wrap .contents-more .contents-main {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.33331rem;
  margin: 0;
  padding: 0 2rem;
}

.result-content .footer .content-more-wrap .contents-more .contents-main .contents-logo {
  width: 8.75rem;
  height: 1.875rem;
  background: url(https://cdn.banggooso.com/assets/images/game279/common/logo_w.png) no-repeat center / cover;
}

.result-content .footer .content-more-wrap .contents-more .contents-main .contents-logo img {
  display: none;
}

.result-content .footer .content-more-wrap .contents-more .contents-main .sub-text {
  color: #fff;
  font-family: 'Pretendard';
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 2.16669rem;
  letter-spacing: -0.06rem;
  margin: 0;
}

.result-content .footer .content-more-wrap .contents-more .contents-list {
  display: flex;
  flex-direction: column;
  align-items: center;
  border-left: unset;
  margin: 0;
  padding: 0;
  flex-basis: unset;
}

.result-content .footer .content-more-wrap .contents-more .contents-list .game-btn {
  display: flex;
  width: 31.25rem;
  padding: 1.66669rem 2rem;
  justify-content: space-between;
  align-items: center;
  gap: 10rem;
  background-color: unset;
  border-radius: unset;
  margin: 0;
  border: unset;
  border-top: 1px solid rgba(255, 255, 255, 0.5);
}

.result-content .footer .content-more-wrap .contents-more .contents-list .game-btn::before {
  width: 2rem;
  height: 2rem;
  right: 2rem;
  left: unset;
  background: url(https://cdn.banggooso.com/assets/images/game279/common/arrow_right_g.png) no-repeat center / cover;
}

.result-content .footer .content-more-wrap .contents-more .contents-list .game-btn a {
  color: #fff;
  font-family: 'Pretendard';
  font-size: 1.375rem;
  font-weight: 500;
}

.result-content .footer .content-more-wrap .recommend-list.page-full {
  margin: 0;
  width: 100%;
}

.result-content .footer .content-more-wrap .recommend-list .inner .title {
  color: #fff;
  font-family: 'Pretendard';
  font-size: 1.50013rem;
  font-weight: 600;
  letter-spacing: -0.033rem;
  padding: 0;
  margin: 0;
  padding-left: 1.46rem;
  margin-bottom: 0.48rem;
}

.result-content .footer .content-more-wrap .recommend-list .swiper-container {
  padding: 0 0 3.25rem 2.15rem;
}

.result-content .footer .content-more-wrap .recommend-list .swiper-slide {
  width: 10.83406rem;
  height: 13.33425rem;
}

.result-content .footer .content-more-wrap .recommend-list .slide-box .img-box {
  height: 10.83406rem;
}

.result-content .footer .content-more-wrap .recommend-list .slide-box .slide-text {
  color: #222;
  font-family: 'Pretendard';
  font-size: 1.00006rem;
  font-weight: 500;
  letter-spacing: -0.022rem;
}

.result-content .footer .content-more-wrap .recommend-list .btn-wrap {
  padding-bottom: 4.01rem;
}

.result-content .footer .content-more-wrap .recommend-list .btn-wrap .btn-white-round {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 15.25106rem;
  height: 4.00025rem;
  color: #2b2b2b;
  text-align: center;
  font-family: 'Pretendard';
  font-size: 1.25006rem;
  font-weight: 700;
  letter-spacing: -0.0275rem;
}
