/* ==========================================================================
   모바일 (≤780px) — 시안 780×1688 PSD. 분기점·좌표계 모두 시안 폭 780 기준
   좌표 = PSD px ÷ 20 = rem (1rem = 10px @ 390 뷰포트, 780 뷰포트에서는 시안과 CSS px 1:1)
   화면 폭 = 39rem 고정. 세로는 콘텐츠만큼 늘어난다 (풀페이지 없이 일반 스크롤)
   ========================================================================== */
@media (max-width: 780px) {

/* ---------- 공통 ---------- */
.section { height: auto; min-height: 84.4rem; }
.stage { position: relative; left: auto; top: auto; width: 39rem; height: 84.4rem; margin: 0 auto; transform: none; }
.section--main > .stage, .section--preregistration > .stage, .section--event > .stage,
.section--world > .stage, .section--character > .stage, .section--intro > .stage {
  position: relative; left: auto; right: auto; top: auto; bottom: auto; width: 39rem; height: 84.4rem; aspect-ratio: auto; margin: 0 auto; transform: none; }
.quick-menu { display: none; }
html.fullpage-off { scrollbar-gutter: auto; }
::-webkit-scrollbar { width: 0.5rem; height: 0.5rem; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { border: 0; border-radius: 0.25rem; background: linear-gradient(180deg, #f3d98a 0%, #c99a3c 55%, #a97b25 100%); background-clip: border-box; }
::-webkit-scrollbar-thumb:hover { background: linear-gradient(180deg, #fff0b3 0%, #e0b24f 55%, #c08f2e 100%); }
::-webkit-scrollbar-corner { background: transparent; }
@supports not selector(::-webkit-scrollbar) { html { scrollbar-width: thin; scrollbar-color: #c99a3c transparent; } }
.reveal-dev-panel { display: none; }

/* ---------- GNB ---------- */
:root { --header-height: 6.4rem; }
.header { height: 6.4rem; }
.header__logo { left: 1.6rem; top: 1.4rem; width: 9.8rem; height: 3.6rem; }
.header__cta { left: 23.35rem; right: auto; top: 1.3rem; width: 9.75rem; height: 3.8rem; border-radius: 1.9rem; font-size: 1.4rem; letter-spacing: -.025em; line-height: 3.8rem; }
.header__hamburger { display: block; position: absolute; left: 33.35rem; top: 0.95rem; width: 4.9rem; height: 4.5rem; padding: 0; border: 0; background: none; z-index: 3; cursor: pointer; }
.header__hamburger-icon { display: block; position: absolute; left: 50%; top: 50%; background: center / 100% 100% no-repeat;
  transition: opacity .2s ease, transform .32s cubic-bezier(.2,.7,.3,1); }
.header__hamburger-icon--open { width: 2.4rem; height: 2rem; margin: -1rem 0 0 -1.2rem; background-image: url('../assets/img/mobile_menu_open.webp'); }
.header__hamburger-icon--close { width: 2.4rem; height: 2.5rem; margin: -1.25rem 0 0 -1.2rem; background-image: url('../assets/img/mobile_menu_close.webp'); opacity: 0; transform: rotate(-90deg) scale(.55); }
.header__hamburger[aria-expanded="true"] .header__hamburger-icon--open { opacity: 0; transform: rotate(90deg) scale(.55); }
.header__hamburger[aria-expanded="true"] .header__hamburger-icon--close { opacity: 1; transform: none; }
.header__hamburger:active .header__hamburger-icon { transform: scale(.88); }
.header__hamburger[aria-expanded="true"]:active .header__hamburger-icon--close { transform: scale(.88); }
.header:has(.header__menu.is-open) { background: transparent; }
.header:has(.header__menu.is-open) .header__logo, .header:has(.header__menu.is-open) .header__cta { visibility: hidden; }

/* ---------- 전체메뉴 ---------- */
.header__menu { display: block; position: fixed; left: 0; top: 0; width: 100%; height: 100%; overflow-y: auto; background: #000000;
  visibility: hidden; opacity: 0; transition: opacity .22s ease, visibility 0s .22s; }
.header__menu.is-open { visibility: visible; opacity: 1; transition: opacity .22s ease; }
.header__menu-logo, .header__menu li, .header__menu-tools { opacity: 0; translate: 0 0.6rem; transition: opacity .3s ease, translate .3s ease; }
.header__menu.is-open .header__menu-logo, .header__menu.is-open li, .header__menu.is-open .header__menu-tools { opacity: 1; translate: none; }
.header__menu.is-open .header__menu-logo { transition-delay: .04s; }
.header__menu.is-open li:nth-child(1) { transition-delay: .08s; }
.header__menu.is-open li:nth-child(2) { transition-delay: .12s; }
.header__menu.is-open li:nth-child(3) { transition-delay: .16s; }
.header__menu.is-open li:nth-child(4) { transition-delay: .2s; }
.header__menu.is-open li:nth-child(5) { transition-delay: .24s; }
.header__menu.is-open li:nth-child(6) { transition-delay: .28s; }
.header__menu.is-open li:nth-child(7) { transition-delay: .32s; }
.header__menu.is-open .header__menu-tools { transition-delay: .36s; }
@media (prefers-reduced-motion: reduce) {
  .header__hamburger-icon, .header__menu, .header__menu-logo, .header__menu li, .header__menu-tools { transition: none !important; }
  .header__menu-logo, .header__menu li, .header__menu-tools { translate: none; opacity: 1; }
}
.header__menu-logo { display: block; position: absolute; left: 11.8rem; top: 6.4rem; width: 15.4rem; height: 5.65rem; }
.header__menu ul { position: absolute; left: 0; top: 0; width: 100%; height: auto; }
.header__menu li { position: absolute; width: 100%; height: 6rem; transform: none; }
.header__menu li:nth-child(1) { left: 0; top: 14.2rem; }
.header__menu li:nth-child(2) { left: 0; top: 20.2rem; }
.header__menu li:nth-child(3) { left: 0; top: 26.2rem; }
.header__menu li:nth-child(4) { left: 0; top: 32.2rem; }
.header__menu li:nth-child(5) { left: 0; top: 38.2rem; }
.header__menu li:nth-child(6) { left: 0; top: 44.2rem; }
/* [26.10.14 변경] 공식라운지 추가. 항목이 한 칸 늘어 아래 도구 블록도 6rem 내렸다(52.8 → 58.8rem) */
.header__menu li:nth-child(7) { left: 0; top: 50.2rem; }
.header__menu a { display: flex; align-items: center; justify-content: center; height: 100%; padding: 0; font-size: 2rem; font-weight: 500; letter-spacing: -.01em; text-align: center; }
.header__menu a::after { display: none; }
.header__menu a.is-active { text-shadow: 0 0 0.9rem #fabb00, 0 0 0.9rem #fabb00; }
.header__menu li.is-active::before, .header__menu li.is-active::after { content: ''; position: absolute; top: 50%; width: 6.4rem; height: 1.2rem; margin-top: -0.6rem; background: center / 100% 100% no-repeat; filter: drop-shadow(0 0 0.25rem #fabb00) drop-shadow(0 0 0.7rem #fabb00) drop-shadow(0 0 0.7rem #fabb00); }
.header__menu li.is-active::before { left: 5.9rem; background-image: url('../assets/img/mobile_menu_decoration_left.webp'); }
.header__menu li.is-active::after { left: 26.7rem; background-image: url('../assets/img/mobile_menu_decoration_right.webp'); }
.header__menu-tools { display: block; position: absolute; left: 0; top: 58.8rem; width: 100%; height: 11.6rem; }
.header__menu-tools::before { content: ''; position: absolute; left: 50%; top: 0; width: 28.95rem; height: 1.2rem; margin-left: -14.475rem; background: url('../assets/img/mobile_menu_divider.webp') center / 100% 100% no-repeat; }
.header__menu-tool { position: absolute; top: 3.6rem; width: 8rem; height: 8rem; padding: 0; border: 0; background: center / 100% 100% no-repeat; background-color: transparent; cursor: pointer; }
.header__menu-tool--share { left: 10.3rem; background-image: url('../assets/img/mobile_menu_share.webp'); }
.header__menu-tool--sound { left: 20.7rem; background-image: url('../assets/img/mobile_menu_sound_off.webp'); }
.header__menu-tool--sound.is-on { background-image: url('../assets/img/mobile_menu_sound_on.webp'); }
.header__menu-tool:active { transform: scale(.94); }

/* ---------- 1. 메인 ---------- */
.section--main .section__background-image { object-position: center; }
.section--main .section__background-video { left: 0; top: 0; right: 0; bottom: 0;
  width: 100%; height: 100%; object-fit: cover; object-position: center; }
.section--main .section__background-image { transition: opacity .45s ease; }
.main__title { left: 2.35rem; top: 15.1rem; width: 34rem; height: 16.75rem; aspect-ratio: auto; }
.main__title-glow { display: none; }
.main__subtitle { left: 0.2rem; top: 13.95rem; width: 33.65rem; height: 2.95rem; }
.main__effects { left: -0.35rem; top: -0.5rem; right: auto; bottom: auto; width: 34.85rem; height: 10.9rem; background: url('../assets/img/mobile_main_sparkles.webp') center / 100% 100% no-repeat; mix-blend-mode: plus-lighter; }
.main__effects i { display: none; }
.main__play-button { left: 14rem; top: 37.9rem; width: 10.8rem; height: 10.9rem; aspect-ratio: auto; }
.main__pre-register-button { left: 2.75rem; top: 54.65rem; width: 33.5rem; height: 8.6rem; aspect-ratio: auto; }
.main__play-button-image--on, .main__pre-register-button-image--on { display: none; }
/* [26.10.14 변경] 모바일은 1단 App Store·Google Play, 2단 원스토어 가운데 정렬로 두 줄이다.
   한 줄 폭(25.75rem)이 묶음 폭과 딱 떨어지면 반올림으로 줄바꿈이 날 수 있어 0.05rem 만 여유를 주고
   가운데가 시안과 같도록 left 를 그만큼 당겼다 */
.section--main .badges { left: 6.725rem; top: 64.05rem; width: 25.8rem; flex-wrap: wrap; column-gap: 0.6rem; row-gap: 0.45rem; }
.section--main .badge--apple { width: 12.55rem; }
.section--main .badge--google { width: 12.6rem; }
.section--main .badge--one-store { width: 12.5rem; }
.focus-ring::after { display: none; }
.focus-ring:focus-visible { outline: 0.3rem solid #ffe27a; outline-offset: 0.2rem; }

/* ---------- 2. 사전예약 ---------- */
.preregistration__character { left: 14.15rem; top: 3.75rem; width: 24.85rem; height: 49.55rem; }
.preregistration__glow--character { left: 12.7rem; top: 1.9rem; width: 26.3rem; height: 53.25rem; }
.preregistration__frog { left: 32.35rem; top: 8.65rem; width: 6.65rem; height: 6.65rem; }
.preregistration__glow--frog { left: 30.55rem; top: 6.9rem; width: 8.45rem; height: 10rem; }
.preregistration__character, .preregistration__glow--character { translate: 0 var(--float-y); }
.preregistration__frog, .preregistration__glow--frog { translate: 0 var(--float-y); }
.preregistration__veil { display: block; position: absolute; left: 0; top: 0; width: 39rem; height: 84.4rem; pointer-events: none;
  background: linear-gradient(to bottom, rgba(249,247,240,0.005) 24.88%, rgba(249,247,240,0.016) 26.07%, rgba(249,247,240,0.046) 27.25%, rgba(249,247,240,0.105) 28.44%, rgba(249,247,240,0.217) 29.62%, rgba(249,247,240,0.387) 30.81%, rgba(249,247,240,0.593) 31.99%, rgba(249,247,240,0.784) 33.18%, rgba(249,247,240,0.915) 34.36%, rgba(249,247,240,0.978) 35.55%, rgba(249,247,240,0.994) 36.73%, rgba(249,247,240,1.000) 37.91%, rgba(249,247,240,1.000) 39.10%); }
.preregistration__title { left: 0.2rem; top: 15.3rem; width: 26.15rem; }
.preregistration__title img { height: 14.25rem; }
.preregistration__form { width: 39rem; height: 84.4rem; }
.rewards { position: absolute; left: 1rem; top: 29.25rem; width: 36.95rem; height: 12.2rem; }
/* 보상 아이콘이 카드 테두리 밖으로 나와서 카드마다 높이가 다르다 (페이지 7.3rem / 스토어 5.9rem) */
.reward { position: absolute; left: 0; top: 0; width: 36.95rem; height: 7.3rem; padding: 0; border: 0; background: none; }
.reward--store { top: 6rem; height: 5.9rem; }
.reward__card { display: block; width: 100%; height: 100%; }
/* PSD 문구 폭(186px)보다 실제 렌더가 2.5% 넓어 PSD 타입 상자(9.3rem)로는 줄바꿈이 난다. 아이콘 앞까지 11.65rem 확보 */
.reward__items { left: 14.25rem; top: 1.1rem; width: 11.65rem; text-align: left; font-size: 1.1rem; line-height: 1.4rem; white-space: nowrap; }
.reward--store .reward__items { left: 14.3rem; top: 0.95rem; }
.preregistration__store { left: 6.15rem; top: 42.95rem; width: 32rem; height: 2.1rem; }
.preregistration__store label { gap: 0.75rem; height: 2.1rem; font-size: 1.8rem; white-space: nowrap; }
.preregistration__store label:nth-of-type(2) { left: 13.9rem; }
.preregistration__store i { width: 2.1rem; height: 2.1rem; border-width: 0.1rem; }
.preregistration__store input:checked + i::after { width: 1.35rem; height: 1.35rem; }
.preregistration__phone { left: 1.1rem; top: 46.9rem; width: 36.8rem; height: 5rem; border-width: 0.1rem; border-radius: 0.8rem; }
.preregistration__prefix { width: 11rem; height: calc(100% - 0.6rem); margin-left: 0.35rem; border-radius: 0.6rem 0 0 0.6rem; }
/* .preregistration__prefix::after { left: 8.65rem; top: 2rem; border-width: 0.575rem; border-top-width: 0.8rem; border-bottom-width: 0; } */
.preregistration__prefix select { padding-left: 3.35rem; font-size: 2.4rem; cursor: default; opacity: 1; }
.preregistration__phone input { min-width: 0; padding: 0 2.2rem 0 1.15rem; font-size: 1.6rem; letter-spacing: -.025em; }
.preregistration__phone input::placeholder { font-size: 1.5rem; letter-spacing: -.03em; }
.preregistration__phone input:-webkit-autofill, .preregistration__phone input:autofill { font-size: 1.6rem !important; }
.preregistration__prefix select:-webkit-autofill, .preregistration__prefix select:autofill { font-size: 2.4rem !important; }
.preregistration__agree { left: 2.3rem; top: 53.7rem; width: 34.4rem; height: 12.2rem; }
.preregistration__agree label { height: 2.2rem; font-size: 1.6rem; letter-spacing: -.025em; }
/* [26.10.15 변경] 동의 문구가 길어져 자세히보기 버튼에 닿지 않도록 한 호 줄였다 */
.preregistration__agree ul label { font-size: 1.28rem; letter-spacing: -.04em; }
.preregistration__agree label i { width: 2.15rem; height: 2.2rem; margin-right: 0.75rem; border-width: 0.1rem; }
.preregistration__agree-all { font-size: 1.6rem !important; letter-spacing: -.025em; }
.preregistration__agree ul li:nth-child(1) label { top: 3.2rem; }
.preregistration__agree ul li:nth-child(2) label { top: 6.4rem; }
.preregistration__agree ul li:nth-child(3) label { top: 9.6rem; }
.preregistration__agree input:checked + i::after { width: 0.5rem; height: 1rem; border-width: 0 0.2rem 0.2rem 0; }
.preregistration__detail-button { left: 25.65rem; width: 8.75rem; height: 2.2rem; border-width: 0.1rem; background: transparent; font-size: 1.2rem; }
.preregistration__agree ul li:nth-child(2) .preregistration__detail-button { top: 6.4rem; }
.preregistration__agree ul li:nth-child(3) .preregistration__detail-button { top: 9.6rem; }
.preregistration__submit { left: 0.7rem; top: 67.4rem; width: 37.6rem; height: 6.5rem; }
.preregistration__submit-image--on { display: none; }
/* [26.10.14 변경] 원스토어 추가로 두 줄이 됐다 */
.badges--pre { left: 6.625rem; top: 75.45rem; width: 25.8rem; flex-wrap: wrap; column-gap: 0.6rem; row-gap: 0.45rem; }
.badges--pre .badge--apple { width: 12.55rem; }
.badges--pre .badge--google { width: 12.6rem; }
.badges--pre .badge--one-store { width: 12.5rem; }

/* ---------- 3. 이벤트 ---------- */
.event__character { left: 0; top: 5.95rem; width: 33rem; height: 70.45rem; }
.event__glow--character { left: 0; top: 4.05rem; width: 33.55rem; height: 74.25rem; }
.event__character, .event__glow--character { translate: 0 var(--float-y); }
.event__veil { display: block; position: absolute; left: 0; top: 0; width: 39rem; height: 84.4rem; pointer-events: none;
  background: linear-gradient(to bottom, rgba(249,247,240,0.005) 24.88%, rgba(249,247,240,0.016) 26.07%, rgba(249,247,240,0.046) 27.25%, rgba(249,247,240,0.105) 28.44%, rgba(249,247,240,0.217) 29.62%, rgba(249,247,240,0.387) 30.81%, rgba(249,247,240,0.593) 31.99%, rgba(249,247,240,0.784) 33.18%, rgba(249,247,240,0.915) 34.36%, rgba(249,247,240,0.978) 35.55%, rgba(249,247,240,0.994) 36.73%, rgba(249,247,240,1.000) 37.91%, rgba(249,247,240,1.000) 39.10%); }
.event__title { left: 9.85rem; top: 14.7rem; width: 29.15rem; height: 17.25rem; }
.event__sub-heading { left: 3.3rem; top: 33.3rem; width: 32.4rem; height: 1.65rem; }
.event__description { left: 0; top: 35.75rem; width: 39rem; font-size: 1.4rem; line-height: 1.8rem; letter-spacing: -.025em; text-align: center; }
.event__description span { display: block; }
.event__description span + span::before { content: none; }
.event__card--prize { left: 3.4rem; top: 40.9rem; width: 32.2rem; height: 35.25rem; }
.event__card--prize .event__card-frame { width: 100%; height: 100%; }
.event__card--prize .event__card-label { left: 12.1rem; top: 3.8rem; width: 8rem; height: 2.95rem; }
.event__prizes::before { content: ''; position: absolute; left: 5.3rem; top: 7.35rem; width: 20.4rem; height: 11.2rem; background: url('../assets/img/mobile_event_prize_art.webp') center / 100% 100% no-repeat; }
.event__prize-icon { display: none; }
.event__prize { width: 100%; height: auto; margin: 0; text-align: left; }
.event__prize:nth-child(1) { left: 0; top: 19.35rem; }
.event__prize:nth-child(2) { left: 0; top: 21.55rem; }
.event__prize:nth-child(3) { left: 0; top: 23.75rem; }
.event__prize-name { position: absolute; left: 4.6rem; top: 0; width: auto; height: 1.7rem; font-size: 1.4rem; line-height: 1.7rem; }
.event__prize-name span { display: inline; }
.event__prize-name span + span::before { content: ' '; }
.event__prize-count { left: 22.15rem; top: 0; width: 5.5rem; height: 1.7rem; translate: none; border-width: 0.05rem; border-radius: 0.85rem; font-size: 1.2rem; line-height: 1.6rem; text-align: center; }
.event__how-to-open { display: inline-flex; align-items: center; justify-content: center; gap: 0.7rem; position: absolute; left: 6.05rem; top: 27.7rem; width: 20.1rem; height: 3.7rem; padding: 0; border: 0; border-radius: 1.85rem; background: #000000; color: #ffffff; font-family: var(--font-sans); font-size: 1.6rem; font-weight: 500; letter-spacing: -.025em; line-height: 1; cursor: pointer; }
.event__how-to-open img { display: block; width: 1.7rem; height: 1.4rem; }
.event__card--how-to { display: block; position: fixed; left: 0; top: 0; z-index: 70; width: 100%; height: 100%; overflow-y: auto; background: #faf7f0;
  visibility: hidden; opacity: 0; transition: opacity .22s ease, visibility 0s .22s; }
.event__card--how-to.is-open { visibility: visible; opacity: 1; transition: opacity .22s ease; }
.event__card--how-to .event__card-frame { display: none; }
.event__card--how-to .event__card-label { left: 14.45rem; top: 9.6rem; width: 10.1rem; height: 2.45rem; }
.event__card--how-to .event__card-label img { width: 100%; height: 100%; }
.event__how-to-close { display: block; position: absolute; left: 33.35rem; top: 0.95rem; width: 4.9rem; height: 4.5rem; padding: 0; border: 0; background: url('../assets/img/mobile_event_close.webp') center / 2.4rem 2.5rem no-repeat; background-color: transparent; cursor: pointer; }
.event__steps { position: static; }
.event__step-item:nth-child(1) { left: 1.2rem; top: 14.45rem; }
.event__step-item { left: 1.2rem; top: 14.45rem; width: 36.6rem; height: 14.6rem; margin: 0; text-align: center; background: url('../assets/img/mobile_event_step_frame.webp') center / 100% 100% no-repeat; }
.event__step-item:nth-child(2) { left: 1.2rem; top: 30.65rem; }
.event__step-item:nth-child(3) { left: 1.2rem; top: 46.85rem; }
.event__step-item + .event__step-item::before { display: none; }
.event__step-number { height: 2.35rem; margin: 1.8rem auto 0; }
.event__step-text { margin: 1.45rem 0 0; font-size: 1.4rem; line-height: 1.8rem; }
.event__step-text br { display: none; }
.event__step-text br + em::before { content: ' '; }
.event__step-button { gap: 0.7rem; width: 20.1rem; height: 3.7rem; margin-top: 1.8rem; border-radius: 1.85rem; font-size: 1.6rem; }
.event__step-button img { height: 1.4rem; }

/* ---------- 4. 세계관 ---------- */
.world { left: 0; top: 0; width: 39rem; height: 84.4rem; }
.world__ring, .world__illustrations, .world__clock-hand-box { -webkit-mask-image: none; mask-image: none; }
.world__faint-clock { left: 20.2rem; top: 0; width: 18.8rem; height: 13.2rem;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 6.5rem);
  mask-image: linear-gradient(to bottom, transparent 0, #000 6.5rem); }
.world__ring { left: 0; top: 43.05rem; width: 39rem; height: 41.35rem; }

.world__illustrations { inset: auto; left: 0; top: 53.25rem; width: 39rem; height: 31.2rem; }
.world__scene { left: 0; top: 0; width: 39rem; height: 31.2rem;
  -webkit-mask: url('data:image/webp;base64,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B4pTIOu6hqa3HoRdG2Bq00Hak9xMq5dA2/DMyZQa6kDdr6lMx1cL+r7bZIpEgcJPNxH7UJB4oZdJKE6ByOsamsJykHmt968bDkIfVfhXNdRROlxT/RpPLWj91l9SKArUfuovUF0DuTe0/XlbQPCzA37WeJD8hCI/p4mB5uG26md4poPqb/4JTi9B90f/kOIMCL++4Y8sAenXlPsBgfbhmcP3gfofsirABKsCfV1rAiS7WhPgnsqaAGutCtDXqiAnyJoA0c7WBDgnsybAPKsCYwtrAqSXtSbAQ7U1AdZZFaCrVYHWquD//vfff//9999///3333///ffff//9999///3333///ffff//9999///3333///ffff//9999///3333///ffff//9999///3333///ffff//9999///3333///ffff//9/18Yp1kV/mZVCABWUDggcgQAAHB8AJ0BKgwDcAI+MRiLRCIhoRCUACADBLS3cLtPEX8A/AD4Y/AfgB+gGoAfgB+gFp/5QF+AfgBe6aN/oB/APwA+v3v8AswIECBAgP8ZYDx1NHMO7LJkx5IZhZVBE1nTp06dOnTp06dOnTfGn3QwQv7nVq1atV25V3fT5PAtWeEGugWdOnTp06dN9aN0giBtTp06dOnTp06OuRQH/7yrVtP3ECBAgQIECA4FWj/zuyyZMmTJkyZMmSzPSgP/3lWrafuIECBAgQHAq0hMUilkyZMmTJkyZMmTJZnpQH/7zKx06dOnTo4k5R3ZZMmTJkyZMmTJkyZMlmelbRpvQtdAs6b609ifUOHDhw4cOHDhw4cOG/NMXRYf0cM31DhkbAX3ECBAgQIECBAgQIECBAgODwPREpwzfT8KtH/gDlDhw4cOHDhw4cOHDhw4cOGRaCt6tyUusJOUbMwkyZMmTJkyZMmTJkyZMmTJksrQVvVuSlk28INdAs6dOnTp06dOnTp06dOnTfSwCuq7zZ+d2WTJkyZMmTJkyZMmTJkyZMmTJjx4HoiU4ZvqHDhw4cOHDhw4cOHDhw4cOHDhvx4HnodDhw4cOHDhw4cOHDhw4cOHDhw4cMlIpZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJjwAAP7rjmhJpYTzAqqIJYP//m2AuaYzCo//FoAZCIaP//zcE3ozwAYtMe0bAH7JqVb+9RNdD9k1QTsAqbT9LlCZ4dsfzfm5YoSF7jHiAN2TVBOwDaAsgqJ2CBnR/N+bligAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=') 0 0 / 100% 100% no-repeat;
  mask: url('data:image/webp;base64,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B4pTIOu6hqa3HoRdG2Bq00Hak9xMq5dA2/DMyZQa6kDdr6lMx1cL+r7bZIpEgcJPNxH7UJB4oZdJKE6ByOsamsJykHmt968bDkIfVfhXNdRROlxT/RpPLWj91l9SKArUfuovUF0DuTe0/XlbQPCzA37WeJD8hCI/p4mB5uG26md4poPqb/4JTi9B90f/kOIMCL++4Y8sAenXlPsBgfbhmcP3gfofsirABKsCfV1rAiS7WhPgnsqaAGutCtDXqiAnyJoA0c7WBDgnsybAPKsCYwtrAqSXtSbAQ7U1AdZZFaCrVYHWquD//vfff//9999///3333///ffff//9999///3333///ffff//9999///3333///ffff//9999///3333///ffff//9999///3333///ffff//9999///3333///ffff//9/18Yp1kV/mZVCABWUDggcgQAAHB8AJ0BKgwDcAI+MRiLRCIhoRCUACADBLS3cLtPEX8A/AD4Y/AfgB+gGoAfgB+gFp/5QF+AfgBe6aN/oB/APwA+v3v8AswIECBAgP8ZYDx1NHMO7LJkx5IZhZVBE1nTp06dOnTp06dOnTfGn3QwQv7nVq1atV25V3fT5PAtWeEGugWdOnTp06dN9aN0giBtTp06dOnTp06OuRQH/7yrVtP3ECBAgQIECA4FWj/zuyyZMmTJkyZMmSzPSgP/3lWrafuIECBAgQHAq0hMUilkyZMmTJkyZMmTJZnpQH/7zKx06dOnTo4k5R3ZZMmTJkyZMmTJkyZMlmelbRpvQtdAs6b609ifUOHDhw4cOHDhw4cOG/NMXRYf0cM31DhkbAX3ECBAgQIECBAgQIECBAgODwPREpwzfT8KtH/gDlDhw4cOHDhw4cOHDhw4cOGRaCt6tyUusJOUbMwkyZMmTJkyZMmTJkyZMmTJksrQVvVuSlk28INdAs6dOnTp06dOnTp06dOnTfSwCuq7zZ+d2WTJkyZMmTJkyZMmTJkyZMmTJjx4HoiU4ZvqHDhw4cOHDhw4cOHDhw4cOHDhvx4HnodDhw4cOHDhw4cOHDhw4cOHDhw4cMlIpZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJkyZMmTJjwAAP7rjmhJpYTzAqqIJYP//m2AuaYzCo//FoAZCIaP//zcE3ozwAYtMe0bAH7JqVb+9RNdD9k1QTsAqbT9LlCZ4dsfzfm5YoSF7jHiAN2TVBOwDaAsgqJ2CBnR/N+bligAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=') 0 0 / 100% 100% no-repeat; }
.world__illustration { left: 0; top: 0; width: 39rem; height: 31.2rem; }
.world__illustration--2 { background: none; }
.world__illustration--2 .world__scene-fill { display: block; position: absolute; left: 0; top: 0; width: 39rem; height: 31.2rem; background: #ffcb80; }
.world__scene-background { left: 0; top: 0; width: 39rem; height: 31.2rem; }
.world__scene-character--1, .world__scene-character--2, .world__scene-character--squirrel {
  left: 0; top: 0; width: 39rem; height: 31.2rem; }
.world__illustration-shadow { left: 0; top: 53.3rem; width: 38.75rem; height: 17.05rem; }

.world__clock-hand-box { left: 0; top: 0; width: 39rem; height: 84.4rem; filter: none; }
.world__clock-hand { left: 8.05rem; top: 59.25rem; width: 17.6rem; height: 23rem;
  transform-origin: 65.34% 72.61%; transform: rotate(var(--clock-hand-rotation, 0deg));
  transition: transform 1.1s cubic-bezier(.34, 1.3, .64, 1); }

.world__chapter-list { left: 0; top: 0; width: 39rem; height: 84.4rem; }
.world__chapter-button { left: 0; top: 0; width: 8rem; height: 8rem; margin: 0; transform: none;
  transition: translate 1.1s cubic-bezier(.34, 1.3, .64, 1); }
.world.is-easter-egg .world__chapter-button { transition: translate 1.1s cubic-bezier(.34, 1.3, .64, 1) .35s; }
.world__chapter-button--1 { translate: 1.2rem 51.1rem; }
.world__chapter-button--2 { translate: 15.5rem 46.6rem; }
.world__chapter-button--3 { translate: 29.8rem 51.1rem; }
.world.is-easter-egg .world__chapter-button--1 { translate: 10.25rem 46.6rem; }
.world.is-easter-egg .world__chapter-button--2 { translate: 20.7rem 46.6rem; }
.world.is-easter-egg .world__chapter-button--3 { translate: 29.8rem 51.1rem; }
.world__chapter-button--hidden { translate: 1.2rem 51.1rem; transform: none; }
.world.is-easter-egg .world__chapter-button--hidden { transform: none; }
.world__chapter-button::before { display: none; }
@keyframes world-invite-pulse-mobile {
  0%, 56%  { scale: 1; }
  70%      { scale: 1.08; }
  84%      { scale: 1; }
  91%      { scale: 1.04; }
  98%,100% { scale: 1; }
}
@keyframes world-invite-halo-mobile {
  0%, 56%       { filter: drop-shadow(0 0 .3rem rgba(255,224,160,0))
                          drop-shadow(0 0 .9rem rgba(255,224,160,0))
                          drop-shadow(0 0 1.8rem rgba(255,224,160,0)); }
  70%           { filter: drop-shadow(0 0 .3rem rgba(255,224,160,1))
                          drop-shadow(0 0 .9rem rgba(255,224,160,.9))
                          drop-shadow(0 0 1.8rem rgba(255,224,160,.6)); }
  84%           { filter: drop-shadow(0 0 .3rem rgba(255,224,160,0))
                          drop-shadow(0 0 .9rem rgba(255,224,160,0))
                          drop-shadow(0 0 1.8rem rgba(255,224,160,0)); }
  91%           { filter: drop-shadow(0 0 .3rem rgba(255,224,160,.5))
                          drop-shadow(0 0 .9rem rgba(255,224,160,.45))
                          drop-shadow(0 0 1.8rem rgba(255,224,160,.3)); }
  98%, 100%     { filter: drop-shadow(0 0 .3rem rgba(255,224,160,0))
                          drop-shadow(0 0 .9rem rgba(255,224,160,0))
                          drop-shadow(0 0 1.8rem rgba(255,224,160,0)); }
}

.world[data-active-chapter="1"]:not(.is-easter-egg) .world__chapter-button--3:not(.is-active),
.world[data-active-chapter="2"]:not(.is-easter-egg) .world__chapter-button--3:not(.is-active) {
  animation: world-invite-pulse-mobile 1.6s linear infinite,
             world-invite-halo-mobile 1.6s linear infinite; }

.world.is-easter-egg .world__clock-hand { transition: transform 1.6s cubic-bezier(.45, 0, .2, 1) .35s; }
.world[data-reveal="spin"] .world__illustration--hidden,
.world[data-reveal="wipe"] .world__illustration--hidden {
  -webkit-mask-image: radial-gradient(circle at 50.1% 72.8%, #000 calc(34rem * min(1, max(0, var(--reveal-progress))) - 4.5rem), transparent calc(34rem * min(1, max(0, var(--reveal-progress)))));
          mask-image: radial-gradient(circle at 50.1% 72.8%, #000 calc(34rem * min(1, max(0, var(--reveal-progress))) - 4.5rem), transparent calc(34rem * min(1, max(0, var(--reveal-progress))))); }
.world[data-reveal="spin"] .world__illustration--hidden { transition: --reveal-progress 1.6s cubic-bezier(.45, 0, .2, 1); }
.world[data-reveal="wipe"] .world__illustration--hidden { transition: --reveal-progress 1.1s cubic-bezier(.34, 1.3, .64, 1); }
.world[data-reveal="spin"].is-easter-egg .world__illustration--hidden { transition: --reveal-progress 1.6s cubic-bezier(.45, 0, .2, 1) .35s; }
.world[data-reveal="wipe"].is-easter-egg .world__illustration--hidden { transition: --reveal-progress 1.1s cubic-bezier(.34, 1.3, .64, 1) .35s; }
.world__illustration--hidden-ghost { display: none; }
.world__chapter-button--hidden { opacity: 0; transform: scale(.6);
  transition: opacity .45s ease, transform .6s cubic-bezier(.34, 1.3, .64, 1); }
.world.is-easter-egg .world__chapter-button--hidden { opacity: 1; transform: scale(1);
  transition: opacity .45s ease .35s, transform .6s cubic-bezier(.34, 1.3, .64, 1) .35s;
  animation: world-invite-pulse-mobile 1.6s linear 2.2s infinite,
             world-invite-halo-mobile 1.6s linear 2.2s infinite; }
.world.is-easter-egg .world__chapter-button--hidden::before {
  content: ''; display: block; position: absolute; inset: 0; z-index: 2; pointer-events: none;
  background-image: linear-gradient(112deg, rgba(255,226,150,0) 38%, rgba(255,236,180,.85) 46%,
                                            #ffffff 50%, rgba(255,236,180,.85) 54%,
                                            rgba(255,226,150,0) 62%);
  background-repeat: no-repeat; background-size: 320% 100%; background-position: 140% 0;
  filter: drop-shadow(0 0 0.35rem rgba(255,226,150,1))
          drop-shadow(0 0 1rem rgba(255,200,90,.85))
          drop-shadow(0 0 2rem rgba(255,190,70,.5));
  -webkit-mask: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgCAYAAACLz2ctAAAFeElEQVR4nO3dy2tcZRyH8SeZahultbb10lpsEXTjZSFuFMQLKAhuBBF0I+hCXKg7wb9AXLjRnQtBVARBxI1423hBF4r6J9habbXYWo2tqU3GxW+GxDTNOaed+O1kng+E0GSSng5P3/dc3jMz1e/3kVKm0xugyWaAijJARRmgogxQUQaoKANUlAEqygAVZYCKMkBFGaCiDFBRBqgoA1SUASrKABVlgIoyQEUZoKIMUFEGqCgDVJQBKsoAFWWAijJARRmgogxQUQaoKANUlAEqygAVZYCKMkBFGaCiDFBRBqgoA1SUASrKABVlgIoyQEUZoKIMUFEGqCgDVJQBKsoAFWWAijJARW1Ib8CY6QEbgQtY+blbAOaBk8Ac0P//Nm08GWCzC4EZKrxrgfuAW4EbqCCXmgW+Az4A3gP+oYL8g4pTy0z1+/4nPYMNwHYqtqeB66kYNw6+t/w/7xQV2SkWR8AF4GfgAeB3KsT5td/08WGAp+sBlwI3Aq8C26gRsEdFdXyFn5kGLqam5qll35sHjgG/AvcDh6mR0hERA1xuBtgFfAjsADYPvj47+HgdeBn4e9nPbQWeowLbwelTM1SIR4FvgceBA6Pd9PFkgItmgGeBJ4DLqZHsLyqaZ4CvgD+BE5x+cNEb/PxlwNvATdR0vZI54FPgYeDISP8FY8gASw/YC3wOXEkFdhh4CviMivBki98zDewGXgNuZ+WRkMHvewx4v+XvXbcMsEa6vcAnwJ7B1w4CzwNvUAcOXUwDVwPfUAcxZ7IfuAv4gQneH/Q0DFxCTZvD+PYB91BHr8v39dpYoKbqppHtKuAj4DbqAGUieSWkjlAfosI7QMW3j7OLb2iOivrEKo/pUQcsN3PmqXrdcwouPWAncB3wBaPZL9sNfM/q0zDUFHwL8NsI/s6x4xRc5oGfgF+oqxejsNrot9Tm5oesX07Bi/qMLj61ZICKMkBFGeDa2ZTegHFggGtjBnh08LnJRK+OMcC1cRHw5ODzauaBQ0zwlRADHL1pYAvtRr854E3O7aT3WDPA0ZqmlnO9RS3RajJc4tX2nOG6Y4Cj06OufrxELcdqurx2kloAMbvG23Ve81LcaPSoxQwfUxGeaS3g0Dx1vflO4Mc13bLznJfizs0UtRT/Cmplyx7aLSw4yOKKm4nmFHz2etSSqheBL2kf3yzwAhXfRJ+CAUfAs7V0yt1Fu5POw5uTDgHvMMFHvksZYHdL42s76g33+e6l7gPpusp63fIgpLud1L0je2mOr0+NdMN9vn047f6H+4DdbAIepA46muIbXuV4BbgD41uRI2A3O6iX3tjd8LhTwNfAI9TddcfxdWJW5D5gez3gGuq0S5NDVHz7meDrvG04Bbe3hZpOtzQ8bpa6pXOiFxm0ZYDtDa/zNu37zQHv4mmWVgywm7bP10S/2kEXBqgoA1SUASrKABVlgIoyQEUZoKIMUFFeC26vT720bpOjuPCgNVfDtDdF3WrZNGssUO8J4hPbggEqyim4m6bbLWHx3ZLUggG2dyFwN4sRDj8Pg5safByjluwbYQtOwe1tp956Ydvgz0vfkmvpk3iECX7N564cAbvZTPOCVF/mtwPPAyrKABVlgIoyQEUZYDfe5TZiHgW3t0C9ukGf1e+M81pwB54H7GYrzbdlei24AwNUlPuAijJARRmgogxQUQaoKANUlAEqygAVZYCKMkBFGaCiDFBRBqgoA1SUASrKABVlgIoyQEUZoKIMUFEGqCgDVJQBKsoAFWWAijJARRmgogxQUQaoKANUlAEqygAVZYCKMkBFGaCiDFBRBqgoA1SUASrKABVlgIoyQEUZoKIMUFEGqCgDVJQBKsoAFWWAijJARRmgogxQUf8Ctonxl+coB4IAAAAASUVORK5CYII=') center / 100% 100% no-repeat;
          mask: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgCAYAAACLz2ctAAAFeElEQVR4nO3dy2tcZRyH8SeZahultbb10lpsEXTjZSFuFMQLKAhuBBF0I+hCXKg7wb9AXLjRnQtBVARBxI1423hBF4r6J9habbXYWo2tqU3GxW+GxDTNOaed+O1kng+E0GSSng5P3/dc3jMz1e/3kVKm0xugyWaAijJARRmgogxQUQaoKANUlAEqygAVZYCKMkBFGaCiDFBRBqgoA1SUASrKABVlgIoyQEUZoKIMUFEGqCgDVJQBKsoAFWWAijJARRmgogxQUQaoKANUlAEqygAVZYCKMkBFGaCiDFBRBqgoA1SUASrKABVlgIoyQEUZoKIMUFEGqCgDVJQBKsoAFWWAijJARW1Ib8CY6QEbgQtY+blbAOaBk8Ac0P//Nm08GWCzC4EZKrxrgfuAW4EbqCCXmgW+Az4A3gP+oYL8g4pTy0z1+/4nPYMNwHYqtqeB66kYNw6+t/w/7xQV2SkWR8AF4GfgAeB3KsT5td/08WGAp+sBlwI3Aq8C26gRsEdFdXyFn5kGLqam5qll35sHjgG/AvcDh6mR0hERA1xuBtgFfAjsADYPvj47+HgdeBn4e9nPbQWeowLbwelTM1SIR4FvgceBA6Pd9PFkgItmgGeBJ4DLqZHsLyqaZ4CvgD+BE5x+cNEb/PxlwNvATdR0vZI54FPgYeDISP8FY8gASw/YC3wOXEkFdhh4CviMivBki98zDewGXgNuZ+WRkMHvewx4v+XvXbcMsEa6vcAnwJ7B1w4CzwNvUAcOXUwDVwPfUAcxZ7IfuAv4gQneH/Q0DFxCTZvD+PYB91BHr8v39dpYoKbqppHtKuAj4DbqAGUieSWkjlAfosI7QMW3j7OLb2iOivrEKo/pUQcsN3PmqXrdcwouPWAncB3wBaPZL9sNfM/q0zDUFHwL8NsI/s6x4xRc5oGfgF+oqxejsNrot9Tm5oesX07Bi/qMLj61ZICKMkBFGeDa2ZTegHFggGtjBnh08LnJRK+OMcC1cRHw5ODzauaBQ0zwlRADHL1pYAvtRr854E3O7aT3WDPA0ZqmlnO9RS3RajJc4tX2nOG6Y4Cj06OufrxELcdqurx2kloAMbvG23Ve81LcaPSoxQwfUxGeaS3g0Dx1vflO4Mc13bLznJfizs0UtRT/Cmplyx7aLSw4yOKKm4nmFHz2etSSqheBL2kf3yzwAhXfRJ+CAUfAs7V0yt1Fu5POw5uTDgHvMMFHvksZYHdL42s76g33+e6l7gPpusp63fIgpLud1L0je2mOr0+NdMN9vn047f6H+4DdbAIepA46muIbXuV4BbgD41uRI2A3O6iX3tjd8LhTwNfAI9TddcfxdWJW5D5gez3gGuq0S5NDVHz7meDrvG04Bbe3hZpOtzQ8bpa6pXOiFxm0ZYDtDa/zNu37zQHv4mmWVgywm7bP10S/2kEXBqgoA1SUASrKABVlgIoyQEUZoKIMUFFeC26vT720bpOjuPCgNVfDtDdF3WrZNGssUO8J4hPbggEqyim4m6bbLWHx3ZLUggG2dyFwN4sRDj8Pg5safByjluwbYQtOwe1tp956Ydvgz0vfkmvpk3iECX7N564cAbvZTPOCVF/mtwPPAyrKABVlgIoyQEUZYDfe5TZiHgW3t0C9ukGf1e+M81pwB54H7GYrzbdlei24AwNUlPuAijJARRmgogxQUQaoKANUlAEqygAVZYCKMkBFGaCiDFBRBqgoA1SUASrKABVlgIoyQEUZoKIMUFEGqCgDVJQBKsoAFWWAijJARRmgogxQUQaoKANUlAEqygAVZYCKMkBFGaCiDFBRBqgoA1SUASrKABVlgIoyQEUZoKIMUFEGqCgDVJQBKsoAFWWAijJARRmgogxQUf8Ctonxl+coB4IAAAAASUVORK5CYII=') center / 100% 100% no-repeat;
  animation: world-hidden-shine-mobile 1.6s linear 2.2s infinite; }
@keyframes world-hidden-shine-mobile {
  0%, 44%      { background-position: 140% 0; opacity: 1; }
  78%          { background-position: 20% 0; opacity: 1; }
  78.01%       { background-position: 140% 0; opacity: .55; }
  95%          { background-position: 20% 0; opacity: .55; }
  95.01%, 100% { background-position: 140% 0; opacity: 1; }
}
.world__easter-egg:hover:not(:focus-visible) { text-shadow: none; }
.world__easter-egg:hover:not(:focus-visible)::before { opacity: 0; }
.world__easter-egg:hover:not(:focus-visible)::after { opacity: 0; animation: none; }
@media (prefers-reduced-motion: reduce) {
  .event__card--how-to, .event__card--how-to.is-open { transition: none; }
  .world__clock-hand, .world.is-easter-egg .world__clock-hand { transition: none; }
  .world[data-reveal="spin"] .world__illustration--hidden,
  .world[data-reveal="wipe"] .world__illustration--hidden { transition: none; }
  .world__chapter-button--hidden, .world.is-easter-egg .world__chapter-button--hidden { animation: none; transition: none; filter: none; }
  .world.is-easter-egg .world__chapter-button--hidden::before { animation: none; background-image: none; }
  .world[data-active-chapter="1"]:not(.is-easter-egg) .world__chapter-button--3:not(.is-active),
  .world[data-active-chapter="2"]:not(.is-easter-egg) .world__chapter-button--3:not(.is-active) { animation: none; }
  .world__chapter-button { transition: none; }
}

.world__text { left: 0; top: 0; width: 39rem; height: 84.4rem; }
.world__chapter-number { left: 0; top: 9.4rem; width: 100%; text-align: center; font-size: 1.6rem; line-height: 1.7rem; letter-spacing: -.025em; }
.world__chapter-bar { left: 15.3rem; top: 11.45rem; width: 8.4rem; height: 0.7rem; }
.world__title { left: 0; top: 14.1rem; width: 100%; height: 2.5rem; text-align: center; }
.world__title-image { display: inline-block; height: 100%; width: auto; }
.world__body { left: 0; top: 18.9rem; width: 39rem; text-align: center; font-size: 1.3rem; line-height: 1.7rem; letter-spacing: -.05em; }
.world__body p + p { margin-top: 1.7rem; }
.world__title-glitch { left: 2.6rem; top: 9.9rem; width: 33.85rem; height: 10.9rem;
  background-image: url('../assets/img/mobile_world_title_glitch.webp'); background-size: 100% 100%; }
.world.is-easter-egg .world__clock-hand { left: 8.05rem; top: 59.25rem; width: 17.6rem; height: 23rem; }

/* ---------- 5. 캐릭터 ---------- */

.section--character { touch-action: pan-y; -webkit-user-select: none; user-select: none; }
.section--character img { -webkit-user-drag: none; }
.character__visual { left: 0; top: 0; width: 39rem; height: 84.4rem; }
.character__panel-clip { left: 0; top: 0; width: 39rem; height: 84.4rem;
  clip-path: polygon(0 0, 39rem 0, 39rem 32.76rem, 0 54.36rem); }
.character__panel-clip > .character__silhouette { margin-top: 0; }
.character__illustration-clip { left: 0; top: 0; width: 39rem; height: 84.4rem;
  clip-path: polygon(0 0, 39rem 0, 39rem 32.76rem, 0 54.36rem); }
.character__illustration { margin: 0; }
.character__pet { left: -6.15rem; top: 28.4rem; width: 25.65rem; height: 22.35rem; }
@keyframes character-pet-leap-in {
    0% { transform: translate(-22rem, -3rem) rotate(-10deg); opacity: 0; filter: blur(0.12rem); }
   12% { transform: translate(-14.6rem, -6.4rem) rotate(-8deg); opacity: 1; filter: blur(0.09rem); }
   25% { transform: translate(-9.4rem, -7.6rem) rotate(-5deg); opacity: 1; filter: blur(0.05rem); }
   40% { transform: translate(-5.2rem, -7.2rem) rotate(-2deg); opacity: 1; filter: blur(0.02rem); }
   55% { transform: translate(-2.6rem, -5.4rem) rotate(1deg); opacity: 1; filter: blur(0.02rem); }
   70% { transform: translate(-1rem, -2.6rem) rotate(2deg); opacity: 1; filter: blur(0.04rem); }
   82% { transform: translate(0, 0) rotate(0deg); opacity: 1; filter: blur(0rem); }
   90% { transform: translate(0, -0.7rem) rotate(0deg); opacity: 1; filter: blur(0rem); }
  100% { transform: translate(0, 0) rotate(0deg); opacity: 1; filter: blur(0rem); }
}
.character__visual:not(.is-switching) .character__pet {
  transform-origin: 50% 82%;
  animation: character-pet-leap-in .72s linear both, ch-float-pet 4.4s ease-in-out 1.1s infinite; }
.character__visual.is-switching .character__pet { transform: translate(-3rem, 1.2rem); }
.character__pet { transition: opacity .3s ease-out, transform .3s ease-out, translate .5s ease-out; }
@media (prefers-reduced-motion: reduce) {
  .character__visual:not(.is-switching) .character__pet { animation: none; }
  .character__visual.is-switching .character__pet { transform: none; }
}
.character__panel--stroke { display: block; left: 0; top: 0; width: 39rem; height: 84.4rem;
  background: var(--character-fill); transition: background-color .45s ease; pointer-events: none;
  clip-path: polygon(39rem 33.26rem, 39rem 33.46rem, 0 55.06rem, 0 54.86rem); }
.character__panel--stroke polygon { display: none; }

.character__navigation { left: 0; top: 0; width: 39rem; height: 14.5rem; z-index: 3; }
.character__arrow { top: 9.8rem; width: 3.3rem; height: 3.1rem; background: center / 100% 100% no-repeat;
  -webkit-mask: none; mask: none; transition: transform .15s; }
.character__arrow--up { left: 1.15rem; background-image: url('../assets/img/mobile_character_arrow_previous.webp'); }
.character__arrow--down { left: 34.55rem; top: 9.8rem; background-image: url('../assets/img/mobile_character_arrow_next.webp'); }
.character__arrow:hover { transform: none; }
.character__arrow:active { transform: scale(.9); }
.character__navigation ul { left: 6.05rem; top: 8.3rem; width: 26.9rem; display: flex; gap: 1.1rem; }
.character__navigation li { width: 5.9rem; height: 5.95rem; margin: 0; }
.character__icon { width: 5.9rem; height: 5.95rem; }
.character__icon::after { inset: 0.4rem; }
.character__icon::before { inset: 0.275rem; }
.character__icon.is-active::before { inset: 0.617rem; }
.character__icon img { left: 0; top: 0; width: 100%; height: 100%; clip-path: circle(2.567rem at var(--center-x, 50%) var(--center-y, 50%)); }
.character__icon.is-active img { clip-path: circle(2.267rem at var(--center-x, 50%) var(--center-y, 50%)); }
.character__icon { background: transparent; }
.character__navigation li::after { left: -0.5rem; top: -0.4rem; width: 7.15rem; height: 6.6rem;
  background-image: url('../assets/img/mobile_character_ring_active.webp'); }

.character__quote { left: 0; top: 44.05rem; width: 39rem; height: 10.65rem; font-size: 1.4rem; line-height: 1.8rem; letter-spacing: -.025em; }
.character__quote i { left: 22.95rem; width: 16.05rem; height: 1.75rem; background: none;
  -webkit-mask: none; mask: none; background-image: url('../assets/img/mobile_character_quote_line.webp'); background-size: 100% 100%; background-repeat: no-repeat; }
.character__quote i:first-child { top: 0; }
.character__quote i:last-child { top: 8.9rem; }
.character__quote span { left: 27.95rem; top: 2.85rem; }

.character__english-name { top: 57.95rem; }
.character__gene { left: 2.35rem; top: 60.7rem; height: 2.5rem; gap: 0.8rem; }
.character__gene dt { width: 8.1rem; height: 2.5rem; font-size: 1.6rem;
  -webkit-mask-image: url('data:image/webp;base64,UklGRqICAABXRUJQVlA4WAoAAAAQAAAAoQAAMQAAQUxQSEMBAAABkINt2/F1T7ZtTDXZnGq0Odvc2m2stds1267NNv/Gk7/3W+45Iti4bSOJqvasMzM/IImUQhCkQfLKYgRVyWN0DcEfV1k6GENzijJ4/AWBc8UpTDEKD9bC0hlH3aJ0T4HgCEHVjMShjhDnX1BwvZAJxuKvp4BoRtOSkiSNPTi4SFIl4/FkJ8HhOyA8KKGHIRX7pTDG5ETvCyo7oHDLF0oYlb++n1g8wMJryh91MbAqPghgZL45vlFcgobH3mQwuJLJ6BqdcwPDK3TO9PFdJOF7ZZTe8sf2Iwd6rxOZcvrA/AGXVWWcEwupbOOb+igUlGNd+qpufKsPsv+GyADAVbCtFPVdfDsJFAXHohJJNw7GH08S4ARwV5CqoTjQFqNzikQ47B1+UpjEcUpiRcK5/UUhh2TUDsKsIrwTz98ueE+NAZ68EwBWUDggOAEAANAJAJ0BKqIAMgA+MRiKQ6IhoRNONAAgAwSzgEtlrWdVWgPEBoAPMB5xv8d9QG8AegB5ZnsqALVG2HtQ3AMgsM3fmzqkzzJp2A8WdUkcVslpGm9hGiJ4AAD+++6P/3q//7z+//3yAyumyvl2/rvT3B+dW9aRWKdySe3bYaw5UiZ/2GD35TooarX8C8N852MlsYO8VeN/u2M7dln8u7/xHl/tK7eTFsbBq/xqycf8/3YLMyTjnqREP191xepGc8BPwkrIPN1EwpHvwz/ofpvD+D9TQBI0FAkkUVrFxU5ZtjuwEMIP2AWQi87vTOEC7zibAWG7dnl0rzogXvgPf8EO76lUFCSb/B/7hPuzbGVtmTP9qA2D5FhH+/+SjVF0xBRovEfetYIAi3CvMbkyKcW5J8UzOnLVgAAAAA=='); mask-image: url('data:image/webp;base64,UklGRqICAABXRUJQVlA4WAoAAAAQAAAAoQAAMQAAQUxQSEMBAAABkINt2/F1T7ZtTDXZnGq0Odvc2m2stds1267NNv/Gk7/3W+45Iti4bSOJqvasMzM/IImUQhCkQfLKYgRVyWN0DcEfV1k6GENzijJ4/AWBc8UpTDEKD9bC0hlH3aJ0T4HgCEHVjMShjhDnX1BwvZAJxuKvp4BoRtOSkiSNPTi4SFIl4/FkJ8HhOyA8KKGHIRX7pTDG5ETvCyo7oHDLF0oYlb++n1g8wMJryh91MbAqPghgZL45vlFcgobH3mQwuJLJ6BqdcwPDK3TO9PFdJOF7ZZTe8sf2Iwd6rxOZcvrA/AGXVWWcEwupbOOb+igUlGNd+qpufKsPsv+GyADAVbCtFPVdfDsJFAXHohJJNw7GH08S4ARwV5CqoTjQFqNzikQ47B1+UpjEcUpiRcK5/UUhh2TUDsKsIrwTz98ueE+NAZ68EwBWUDggOAEAANAJAJ0BKqIAMgA+MRiKQ6IhoRNONAAgAwSzgEtlrWdVWgPEBoAPMB5xv8d9QG8AegB5ZnsqALVG2HtQ3AMgsM3fmzqkzzJp2A8WdUkcVslpGm9hGiJ4AAD+++6P/3q//7z+//3yAyumyvl2/rvT3B+dW9aRWKdySe3bYaw5UiZ/2GD35TooarX8C8N852MlsYO8VeN/u2M7dln8u7/xHl/tK7eTFsbBq/xqycf8/3YLMyTjnqREP191xepGc8BPwkrIPN1EwpHvwz/ofpvD+D9TQBI0FAkkUVrFxU5ZtjuwEMIP2AWQi87vTOEC7zibAWG7dnl0rzogXvgPf8EO76lUFCSb/B/7hPuzbGVtmTP9qA2D5FhH+/+SjVF0xBRovEfetYIAi3CvMbkyKcW5J8UzOnLVgAAAAA=='); }
.character__gene dd { font-size: 1.8rem; }
.character__description { left: 2.4rem; top: 65.25rem; width: 36.4rem; font-size: 1.3rem; line-height: 1.7rem; letter-spacing: -.062em; filter: none; }
.character__description p + p { margin-top: 1.7rem; }

/* ---------- 6. 게임소개 ---------- */
.section--intro { min-height: 76.35rem; }
.section--intro > .stage { height: 76.35rem; }
.section--intro .section__background-image { object-position: top; }
.section--intro .section__background::before { content: ''; position: absolute; left: 0; top: 0; z-index: 1;
  width: 100%; height: 4rem; pointer-events: none;
  background: linear-gradient(to bottom, #f9f7f0 0, rgba(249,247,240,0) 100%); }
.intro__title { left: 10.85rem; top: 14rem; width: 17.3rem; height: 4.7rem; }
.intro__carousel { left: 0; top: 22.7rem; width: 39rem; height: 19.15rem; }
.intro__card::after { box-shadow: inset 0 0 0 0.1rem #cfb45c; }
.intro__arrow { top: 23.4rem; width: 3.6rem; height: 4rem; transition: transform .15s; }
.intro__arrow--prev { left: 4.7rem; background-image: url('../assets/img/mobile_intro_arrow_prev.webp'); }
.intro__arrow--next { left: 30.7rem; background-image: url('../assets/img/mobile_intro_arrow_next.webp'); }
.intro__arrow:hover, .intro__arrow:focus-visible { transform: none; filter: none; }
.intro__arrow:active { transform: scale(.92); }
.intro__indicators { top: 47.275rem; gap: 1.6rem; }
.intro__indicator { width: 1.6rem; height: 1.6rem; box-shadow: inset 0 0 0 0.1rem #d6c2aa; }
.intro__indicator::after { width: 1rem; height: 1rem; background: #6a4519; }
.intro__indicator:hover { box-shadow: inset 0 0 0 0.1rem #d6c2aa; }

/* ---------- 탭 영역 넓히기 ---------- */
.intro__indicator::before,
.intro__arrow::before,
.character__arrow::before,
.preregistration__detail-button::before,
.mobile-top-button::before,
.event__how-to-open::before,
.event__step-button::before {
  content: ''; position: absolute; z-index: 1; }
.intro__indicator::before { inset: -1.4rem -0.7rem; }
.intro__arrow::before { inset: -0.4rem; }
.character__arrow::before { inset: -0.7rem; }
.preregistration__detail-button::before { inset: -0.8rem -0.4rem; }
.mobile-top-button::before { inset: -0.2rem; }
.event__how-to-open::before { inset: -0.35rem 0; }
.event__step-button::before { inset: -0.3rem 0; }
.event__how-to-open, .event__step-button { position: relative; }

/* ---------- TOP 버튼 ---------- */
.mobile-top-button { display: block; position: fixed; right: 1.2rem; bottom: 3.9rem; z-index: 40; width: 4rem; height: 6.6rem; padding: 0; border: 0; background: url('../assets/img/mobile_top_button.webp') center / 100% 100% no-repeat; background-color: transparent; cursor: pointer; }
.mobile-top-button:active { transform: scale(.94); }

/* ---------- PV 영상 (시안 01_메인_MO_03) ---------- */
.popup__dimmer { background: rgba(0,0,0,.8); }
.popup__box--video { width: 39rem; padding: 0; border: 0; border-radius: 0; background: #000; }
.popup__video iframe { border-radius: 0; }
.popup__box--video .popup__close { right: 2rem; top: -4.35rem; width: 2.4rem; height: 2.5rem; padding: 0; border: 0;
  font-size: 0; line-height: 0; color: transparent; background: url('../assets/img/mobile_menu_close.webp') center / 100% 100% no-repeat; }

/* ---------- 팝업 (시안 02_팝업_MO) ---------- */
.popup__dimmer { background: rgba(0,0,0,.8); }
.popup { overflow-y: auto; }
.popup__dimmer { position: fixed; }
@keyframes popup-in-mobile { from { opacity: 0; transform: translateX(-50%) translateY(0.8rem); } to { opacity: 1; transform: translateX(-50%); } }
.popup__box { --popup-height: 20.9rem; --popup-shift: 4rem;
  left: 50%; top: max(1.5rem, calc(50% - var(--popup-height) / 2 - var(--popup-shift))); transform: translateX(-50%);
  animation-name: popup-in-mobile; margin-bottom: 1.5rem;
  width: 36.7rem; padding: 0; border-width: 0.1rem; border-color: #c6ae87; border-radius: 2.4rem; background: #fbf9ed; box-shadow: none; }
.popup .popup__box h3:not(.popup__title) { position: absolute; left: 0; top: 4.8rem; width: 100%; margin: 0; font-size: 2rem; line-height: 2.6rem; letter-spacing: -.045em; color: #060606; }
.popup .popup__lead { position: absolute; left: 0; top: 8.05rem; width: 100%; margin: 0; font-size: 1.4rem; line-height: 1.8rem; letter-spacing: -.035em; color: #212121; }
.popup .popup__lead span { display: block; }
.popup .popup__confirm { position: absolute; left: 8.3rem; width: 20.1rem; height: 4.1rem; margin: 0; border-radius: 0; background: #000000; font-size: 1.8rem; font-weight: 500; letter-spacing: -.025em; line-height: 1; color: #ffffff; }
.popup .popup__close-button { right: 1.95rem; top: 2rem; width: 2rem; height: 2rem; background-image: url('../assets/img/mobile_popup_close.webp'); }
.popup .popup__box--alert { --popup-height: 20.9rem; --popup-shift: 4rem; width: 36.7rem; height: 20.9rem; padding: 0; }
.popup .popup__message { position: absolute; left: 0; top: 4.9rem; width: 100%; margin: 0; font-size: 2rem; line-height: 2.6rem; letter-spacing: -.045em; color: #060606; }
.popup .popup__box--alert .popup__confirm { top: 12.8rem; }
/* [26.10.15 변경] COMING SOON 한 줄에 맞춰 상자 높이와 버튼 위치를 다시 잡았다 (위아래 여백 4.9rem) */
.popup .popup__box--coming-soon { --popup-height: 18.8rem; height: 18.8rem; }
.popup .popup__box--coming-soon .popup__confirm { top: 9.8rem; }
/* [26.10.15 변경] 동의 팝업 두 개는 교체된 전문이 길어 절대배치를 풀었다.
   상자가 화면보다 길어지면 팝업 영역(.popup) 자체가 세로로 스크롤된다 */
.popup .popup__box--consent { position: relative; left: auto; top: auto; transform: none;
  width: 36.7rem; height: auto; margin: 1.5rem auto; padding: 4.4rem 2.4rem 2.6rem; animation-name: popup-in-mobile-flow; }
@keyframes popup-in-mobile-flow { from { opacity: 0; transform: translateY(0.8rem); } to { opacity: 1; transform: none; } }
.popup .popup__box--consent h3:not(.popup__title) { position: static; width: auto; padding: 0 2.2rem; font-size: 1.8rem; line-height: 2.4rem; letter-spacing: -.045em; }
/* [26.10.15 변경] 좁은 폭에서 제목이 어중간하게 끊겨서, '야생소녀: 리버스' 뒤로 내린다 */
.popup .popup__box--consent h3 br { display: inline; }
.popup .popup__box--consent .popup__scroll { max-height: none; margin-top: 1.4rem; overflow: visible; }
.popup .popup__box--consent .popup__lead { position: static; width: auto; font-size: 1.3rem; line-height: 1.8rem; letter-spacing: -.035em; }
.popup .popup__table { margin-top: 1.2rem; font-size: 1.2rem; line-height: 1.6rem; letter-spacing: -.045em; }
.popup .popup__table th, .popup .popup__table td { padding: 0.7rem 0.8rem; border-width: 0.1rem; }
.popup .popup__table th { width: 8.4rem; }
.popup .popup__note { margin-top: 1rem; font-size: 1.15rem; line-height: 1.6rem; letter-spacing: -.035em; }
/* [26.10.15 변경] 안내 문구의 <br> 는 PC 가독성용이다. 모바일은 폭이 좁아 그냥 흘려 쓴다 */
.popup .popup__note br { display: none; }
/* [26.10.15 변경] '문자 발송 위탁:' 은 모바일에서도 PC 와 같은 꼴로 둔다.
   머리말과 본문을 나란히 놓고, 본문 두 줄이 NHN 과 같은 왼쪽 끝에서 시작한다.
   모바일은 rem 이 화면 폭에 비례(폭/39)해서 320~780 어디서든 2 줄로 같게 떨어진다.
   base.css 의 .popup__note--labelled 규칙을 그대로 쓰므로 여기서는 <br> 만 되살린다 */
.popup .popup__note--labelled br { display: inline; }
.popup .popup__box--consent .popup__confirm { position: static; margin: 2.2rem auto 0; }
.popup .popup__box--done { --popup-height: 50.85rem; --popup-shift: 6.3rem; width: 36.7rem; height: 50.85rem; padding: 0; }
.popup .popup__box--done .popup__title { left: 0.25rem; top: 1.35rem; width: 36rem; }
.popup .popup__box--done .popup__title img { height: 12.45rem; }
.popup .popup__character { left: 1.6rem; top: 11rem; width: 36.15rem; height: 26.9rem; }
.popup .popup__date { top: 35.9rem; font-size: 2rem; line-height: 2.6rem; letter-spacing: -.025em; }
.popup .popup__done { top: 37.85rem; font-size: 2.7rem; line-height: 3.5rem; letter-spacing: -.045em; }
.popup .popup__box--done .popup__confirm { left: 3.7rem; top: 42.6rem; width: 14.3rem; height: 4.1rem; border-width: 0.1rem; font-size: 1.6rem; line-height: 1; }
.popup .popup__box--done .popup__confirm--event { left: 18.7rem; background: transparent; border-color: #000000; color: #000000; }

/* ---------- 푸터 ---------- */
:root { --footer-height: 8.05rem; }
.footer__inner { left: 0; width: 100%; transform: none; }
.footer__logos { top: 1.6rem; height: 2.7rem; }
.footer__logo--sesisoft { left: 10.2rem; top: 0; width: 8.15rem; }
.footer__logo--bluesom { left: 20.7rem; top: 0.55rem; width: 8rem; }
.footer__copyright { top: 4.7rem; font-size: 1rem; opacity: .5; }

}
