
/* ---------- 폰트 ---------- */
@font-face { font-family: 'Noto Sans KR'; font-weight: 300; font-display: swap; src: url('../assets/fonts/NotoSansKR-Light-subset.woff2') format('woff2'); }
@font-face { font-family: 'Noto Sans KR'; font-weight: 400; font-display: swap; src: url('../assets/fonts/NotoSansKR-Regular-subset.woff2') format('woff2'); }
@font-face { font-family: 'Noto Sans KR'; font-weight: 500; font-display: swap; src: url('../assets/fonts/NotoSansKR-Medium-subset.woff2') format('woff2'); }
@font-face { font-family: 'Noto Sans KR'; font-weight: 700; font-display: swap; src: url('../assets/fonts/NotoSansKR-Bold-subset.woff2') format('woff2'); }
@font-face { font-family: 'Noto Sans KR Full'; font-weight: 300; font-display: swap; src: url('../assets/fonts/NotoSansKR-Light.woff2') format('woff2'); }
@font-face { font-family: 'Noto Sans KR Full'; font-weight: 400; font-display: swap; src: url('../assets/fonts/NotoSansKR-Regular.woff2') format('woff2'); }
@font-face { font-family: 'Noto Sans KR Full'; font-weight: 500; font-display: swap; src: url('../assets/fonts/NotoSansKR-Medium.woff2') format('woff2'); }
@font-face { font-family: 'Noto Sans KR Full'; font-weight: 700; font-display: swap; src: url('../assets/fonts/NotoSansKR-Bold.woff2') format('woff2'); }
@font-face { font-family: 'Source Han Serif KR'; font-weight: 200; font-display: swap; src: url('../assets/fonts/SourceHanSerifK-ExtraLight-subset.woff2') format('woff2'); }
@font-face { font-family: 'Source Han Serif KR'; font-weight: 400; font-display: swap; src: url('../assets/fonts/SourceHanSerifK-Regular-subset.woff2') format('woff2'); }
@font-face { font-family: 'Source Han Serif KR'; font-weight: 500; font-display: swap; src: url('../assets/fonts/SourceHanSerifK-Medium-subset.woff2') format('woff2'); }
@font-face { font-family: 'Source Han Serif KR'; font-weight: 700; font-display: swap; src: url('../assets/fonts/SourceHanSerifK-Bold-subset.woff2') format('woff2'); }
@font-face { font-family: 'Source Han Serif KR'; font-weight: 900; font-display: swap; src: url('../assets/fonts/SourceHanSerifK-Heavy-subset.woff2') format('woff2'); }
@font-face { font-family: 'Source Han Serif KR Full'; font-weight: 200; font-display: swap; src: url('../assets/fonts/SourceHanSerifK-ExtraLight.woff2') format('woff2'); }
@font-face { font-family: 'Source Han Serif KR Full'; font-weight: 400; font-display: swap; src: url('../assets/fonts/SourceHanSerifK-Regular.woff2') format('woff2'); }
@font-face { font-family: 'Source Han Serif KR Full'; font-weight: 500; font-display: swap; src: url('../assets/fonts/SourceHanSerifK-Medium.woff2') format('woff2'); }
@font-face { font-family: 'Source Han Serif KR Full'; font-weight: 700; font-display: swap; src: url('../assets/fonts/SourceHanSerifK-Bold.woff2') format('woff2'); }
@font-face { font-family: 'Source Han Serif KR Full'; font-weight: 900; font-display: swap; src: url('../assets/fonts/SourceHanSerifK-Heavy.woff2') format('woff2'); }

/* ---------- rem 베이스: 1rem = 10px @1920×1080, 가로·세로 중 작은 쪽에 맞춤 ---------- */
html { font-size: calc(100vw / 192); }
html { font-size: min(calc(100vw / 192), calc(100vh / 108)); }
@media (min-width: 781px) { html.fullpage-off { font-size: calc(var(--content-width, 100vw) / 192); } }
html.fullpage-off { scrollbar-gutter: stable; }
@media (max-width: 780px) { html { font-size: calc(100vw / 39); } html { font-size: calc(var(--content-width, 100vw) / 39); } }

:root {
  --font-sans: 'Noto Sans KR', 'Noto Sans KR Full', 'Noto Sans CJK KR', 'Apple SD Gothic Neo', 'Malgun Gothic', sans-serif;
  --font-serif: 'Source Han Serif KR', 'Source Han Serif KR Full', 'Noto Serif KR', 'Source Han Serif K', serif;
  --font-decorative: 'DXBeautyline', 'Noto Sans KR', 'Noto Sans KR Full', sans-serif;
  --font-mobile: 'DXMobr', 'Noto Sans KR', sans-serif;
  --font-script: 'Sheila', 'Brush Script MT', cursive;
  --color-ink: #222;
  --color-paper: #fdf9f0;
  --color-green: #2f8f5b;
  --color-green-dark: #1f6b43;
  --color-red: #e8645a;
  --color-gold: #d3b56b;
  --header-height: 8.55rem;
  --header-padding-x: 3rem;
}

/* ---------- 리셋 ---------- */
*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
html { -webkit-text-size-adjust: 100%; }
body { font-family: var(--font-sans); color: var(--color-ink); background: #0b0d12; line-height: 1.5; overflow-x: hidden; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
ul, ol { margin: 0; padding: 0; list-style: none; }
h1, h2, h3, h4, p, figure, blockquote, dl, dd { margin: 0; font-weight: inherit; }
figcaption { display: block; }
button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
input, select { font: inherit; }
fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.screen-reader-only { position: absolute; width: 0.1rem; height: 0.1rem; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip { position: fixed; left: 1rem; top: -10rem; z-index: 200; padding: 0.8rem 1.4rem; border-radius: 0.6rem; background: #111; color: #fff; font-size: 1.6rem; transition: top .2s; }
.skip:focus { top: 1rem; }
body.is-locked { overflow: hidden; }
[hidden] { display: none !important; }
picture { display: contents; }
.world__scene-fill { display: none; }
.mobile-top-button { display: none; }

/* ---------- 스테이지(192rem×108rem 좌표계) ---------- */
.stage { position: absolute; left: 50%; top: 50%; width: 192rem; height: 108rem; transform: translate(-50%, -50%); }
.abs { position: absolute; }

html.is-preload *, html.is-preload *::before, html.is-preload *::after { transition: none !important; }

/* ---------- 섹션 공통 ---------- */
.section { position: relative; width: 100%; height: 100vh; height: 100dvh; overflow: hidden; }
.section__background { position: absolute; inset: 0; z-index: 0; }
.section__background-image, .section__background-video { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.section > .stage { z-index: 1; }
.section__background-youtube { position: absolute; inset: 0; overflow: hidden; pointer-events: none; background: #000; }
.section__background-youtube iframe { position: absolute; left: 50%; top: 50%; width: max(100vw, 177.78vh); height: max(56.25vw, 100vh); transform: translate(-50%, -50%); border: 0; pointer-events: none; }
.section__background-youtube::after { content: ''; position: absolute; inset: 0; background: rgba(0,0,0,.25); }
.section__background-youtube::before { content: ''; position: absolute; inset: 0; z-index: 2; background: url('../assets/img/main_bg.jpg') center / cover no-repeat; opacity: 1; transition: opacity .8s ease; }
.section__background-youtube.is-playing::before { opacity: 0; }
.section__background-youtube iframe { width: max(115vw, 204.4vh); height: max(64.7vw, 115vh); }

/* ---------- GNB: 검정 바 + 텍스트 메뉴 + 노란 사전예약 버튼. 좌표 = PSD 2560 px × 0.075 ---------- */
.header { position: fixed; left: 0; top: 0; z-index: 50; width: 100%; height: var(--header-height); background: #000000; }
.header__logo { position: absolute; left: var(--header-padding-x); top: 1.5rem; width: 14.7rem; height: 5.4rem; z-index: 2; }
.header__logo-image { position: absolute; inset: 0; width: 100%; height: 100%; }
.header__menu { position: absolute; left: 0; top: 0; width: 100%; height: 100%; overflow: hidden; }
.header__menu ul { position: absolute; left: 0; top: 0; width: 100%; height: 100%; margin: 0; padding: 0; list-style: none; }
.header__menu li { position: absolute; top: 0; height: 100%; transform: translateX(-50%); }
.header__menu li:nth-child(1) { left: 28.76rem; }
.header__menu li:nth-child(2) { left: 38.74rem; }
.header__menu li:nth-child(3) { left: 49.8rem; }
.header__menu li:nth-child(4) { left: 59.93rem; }
.header__menu li:nth-child(5) { left: 69.94rem; }
.header__menu li:nth-child(6) { left: 80.89rem; }
/* [26.10.14 변경] 공식라운지(외부 링크). 앞 항목들의 글자 사이 간격이 4.2rem 안팎이라 같은 리듬으로 뒀다 */
.header__menu li:nth-child(7) { left: 93.83rem; }
.header__menu a { position: relative; display: block; height: 100%; padding: 3.05rem 0 0; font-family: var(--font-sans); font-size: 2.1rem; font-weight: 500; line-height: 1; letter-spacing: -.01em; color: #ffffff; white-space: nowrap; transition: color .3s; }
.header__menu a::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0.15rem; height: 0.3rem; background: #ffffff; transform: scaleX(0); transform-origin: 50% 50%; transition: transform .3s cubic-bezier(.4,0,.2,1), box-shadow .3s; }
.header__menu a.is-active::after, .header__menu a:hover::after { transform: scaleX(1); }
.header__menu a.is-active { text-shadow: 0 0 1.5rem #fabb00, 0 0 1.5rem #fabb00; }
.header__menu a.is-active::after { box-shadow: 0 0 0.45rem #fabb00, 0 0 1.5rem 0.3rem #fabb00; }
.header__cta { position: absolute; right: var(--header-padding-x); top: 1.65rem; width: 18rem; height: 5.1rem; background: #fabb00; border-radius: 2.55rem; font-family: var(--font-sans); font-size: 2.1rem; font-weight: 500; letter-spacing: -.025em; line-height: 5.1rem; text-align: center; color: #000000; transition: background-color .25s; }
.header__cta:hover { background: #ffcc33; }
.header__hamburger { display: none; }
.header__menu-logo, .header__menu-tools { display: none; }

/* ---------- 우측 플로팅 퀵메뉴 (v2): 프레임·아이콘은 디자이너 export(내장 원본 1.33×, 166×732)를 배치 크기(125×549 @2560 → 9.375×41.175rem)로 축소. 스테이지 우측 3rem·상단 34.95rem(세로 중앙 기준 -19.05rem) ---------- */
.quick-menu { position: fixed; right: 3rem; top: calc(50% - 19.05rem); z-index: 60; width: 9.375rem; height: 41.175rem; background: url('../assets/img/quick_menu_frame.webp') center / 100% 100% no-repeat; }
.quick-menu__button { position: absolute; left: 0; width: 100%; height: 6.2rem; padding: 0; border: 0; background: center / auto no-repeat; background-color: transparent; cursor: pointer; transition: filter .2s, transform .2s; }
.quick-menu__button::before { content: ''; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); background: center / 100% 100% no-repeat; }
.quick-menu__button--up    { top: 3.05rem; }
.quick-menu__button--down  { top: 10.15rem; }
.quick-menu__button--top   { top: 17.9rem; }
.quick-menu__button--share { top: 25.1rem; }
.quick-menu__button--bgm   { top: 32.15rem; }
.quick-menu__button--up::before    { width: 4.18rem; height: 3.78rem; background-image: url('../assets/img/quick_menu_up.webp'); }
.quick-menu__button--down::before  { width: 4.18rem; height: 4.01rem; background-image: url('../assets/img/quick_menu_down.webp'); }
.quick-menu__button--top::before   { width: 4.91rem; height: 3.84rem; background-image: url('../assets/img/quick_menu_top.webp'); }
.quick-menu__button--share::before { width: 4.35rem; height: 4.35rem; background-image: url('../assets/img/quick_menu_share.webp'); }
.quick-menu__button--bgm::before   { width: 4.4rem; height: 4.63rem; background-image: url('../assets/img/quick_menu_bgm_off.webp'); }
.quick-menu__button--bgm.is-on::before { width: 4.18rem; height: 4.46rem; background-image: url('../assets/img/quick_menu_bgm_on.webp'); }
.quick-menu__button:hover::before, .quick-menu__button:focus-visible::before { filter: brightness(1.25) drop-shadow(0 0 0.4rem rgba(255,220,150,.8)); }
.quick-menu__button:active::before { transform: translate(-50%, -50%) scale(.94); }
.quick-menu__button:focus-visible { outline: 0; }
.quick-menu__button::after { content: ''; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); background: #ffe754; opacity: 0; pointer-events: none; transition: opacity .15s;
  -webkit-mask: var(--focus-ring-image) center / 100% 100% no-repeat; mask: var(--focus-ring-image) center / 100% 100% no-repeat; }
.quick-menu__button:focus-visible::after { opacity: 1; }
.quick-menu__button--up::after { width: 5.31rem; height: 4.91rem; --focus-ring-image: url('data:image/png;base64,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'); }
.quick-menu__button--down::after { width: 5.31rem; height: 5.14rem; --focus-ring-image: url('data:image/png;base64,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'); }
.quick-menu__button--top::after { width: 6.04rem; height: 4.97rem; --focus-ring-image: url('data:image/png;base64,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'); }
.quick-menu__button--share::after { width: 5.48rem; height: 5.48rem; --focus-ring-image: url('data:image/png;base64,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'); }
.quick-menu__button--bgm::after { width: 5.53rem; height: 5.76rem; --focus-ring-image: url('data:image/png;base64,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'); }
.quick-menu__button--bgm.is-on::after { width: 5.31rem; height: 5.59rem; --focus-ring-image: url('data:image/png;base64,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'); }
.quick-menu__button[aria-disabled="true"] { pointer-events: none; }
.quick-menu__button[aria-disabled="true"]::before { filter: grayscale(1) brightness(.8); opacity: .9; }
@media (max-width: 780px) { .quick-menu { display: none; } }

/* ---------- 푸터 (v2): 검정 바 124px @2560 → 9.3rem. 로고 세시소프트 146×35 @(1115,1337) / 블루솜 143×23 @(1302,1347), 저작권 16px 흰색 y 1394 ---------- */
:root { --footer-height: 9.3rem; }
.footer { position: relative; height: var(--footer-height); background: #000000; color: #ffffff; font-family: var(--font-sans); }
.footer__inner { position: absolute; left: 50%; top: 0; width: 24.75rem; height: 100%; transform: translateX(-50%); }
.footer__logos { position: absolute; left: 0; top: 1.275rem; width: 100%; height: 2.625rem; margin: 0; }
.footer__logo { position: absolute; display: block; height: auto; }
.footer__logo--sesisoft { left: 0; top: 0; width: 10.95rem; }
.footer__logo--bluesom { left: 14.025rem; top: 0.75rem; width: 10.725rem; }
.footer__copyright { position: absolute; left: 50%; top: 5.55rem; margin: 0; font-size: 1.2rem; font-weight: 400; line-height: 1; white-space: nowrap; transform: translateX(-50%); }
@media (min-width: 781px) { body:not(.fullpage-off) .footer { position: fixed; left: 0; right: 0; bottom: 0; z-index: 5; transform: translateY(100%); } }
body.fullpage-on .footer { position: fixed; left: 0; right: 0; bottom: 0; z-index: 5; transform: translateY(100%); transition: transform .6s cubic-bezier(.4,0,.2,1); }
body.fullpage-on.is-footer-open .footer { transform: none; }
body.fullpage-on .fullpage { transition: transform .6s cubic-bezier(.4,0,.2,1); }
body.fullpage-on.is-footer-open .fullpage { transform: translateY(calc(-1 * var(--footer-height))); }

/* ---------- 공유 레이어 ---------- */
.share { position: fixed; inset: 0; z-index: 90; display: flex; align-items: center; justify-content: center; background: rgba(0,0,0,.55); }
.share__box { position: relative; min-width: 32rem; padding: 2.8rem 2.8rem 2.4rem; border-radius: 1.6rem; background: var(--color-paper); text-align: center; }
.share__box strong { display: block; margin-bottom: 1.6rem; font-size: 2.2rem; font-weight: 700; }
.share__list { display: flex; justify-content: center; gap: 1.6rem; margin: 0; padding: 0; list-style: none; }
.share__icon { display: block; width: 5.25rem; padding: 5.33rem 0 0; border: 0; background: url('../assets/img/event_sns.webp') 0 0 / 22.73rem 5.33rem no-repeat; cursor: pointer; border-radius: 0.83rem 0.83rem 0 0; transition: transform .2s; }
.share__icon--x { background-position: -5.85rem 0; }
.share__icon--facebook { background-position: -11.63rem 0; }
.share__icon--kakao { background-position: -17.48rem 0; }
.share__icon--copy { background-image: url('../assets/img/share_icon_copy.webp'); background-position: 0 0; background-size: 5.25rem 5.33rem; }
.share__icon:hover { transform: translateY(-0.3rem); }
.share__icon:focus-visible { outline: 0.25rem solid var(--sns, #ff6fb5); outline-offset: 0.05rem; }
/* [26.10.14 변경] 공유 레이어에서 인스타그램·페이스북·카카오톡 버튼을 뺐다. 되살릴 때를 위해 아이콘 규칙은 남겨 둔다 */
.share__icon--instagram { --sns: #ce30af; } .share__icon--x { --sns: #020201; } .share__icon--facebook { --sns: #076ef3; } .share__icon--kakao { --sns: #fce307; } .share__icon--copy { --sns: #565c69; }
.share__icon-label { display: block; margin-top: 0.7rem; font-size: 1.3rem; line-height: 1.6rem; color: #444; white-space: nowrap; }
.share__close { position: absolute; right: 1rem; top: 0.6rem; font-size: 2.6rem; line-height: 1; color: #888; }

/* ---------- 팝업: 상자 557×(513|733), 좌표는 상자 좌상단 기준 PSD 값 ---------- */
.popup { position: fixed; inset: 0; z-index: 100; }
.popup__dimmer { position: absolute; inset: 0; background: rgba(0,0,0,.6); }
.popup__box { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 55.7rem; padding: 6rem 6rem 5rem; border: 0.1rem solid #c5ad87; border-radius: 3.4rem; background: #fbf9ed; text-align: center; color: #10100f; word-break: keep-all;
              box-shadow: 0 2rem 6rem rgba(0,0,0,.35); animation: pop-in .35s cubic-bezier(.2,.9,.3,1.2) both; }
@keyframes pop-in { from { opacity: 0; transform: translate(-50%, -46%) scale(.94); } to { opacity: 1; transform: translate(-50%, -50%) scale(1); } }
.popup__box h3 { font-family: var(--font-sans); font-size: 3.6rem; font-weight: 700; line-height: 1.2; letter-spacing: -.02em; }
.popup__lead { margin-top: 1.8rem; font-family: var(--font-sans); font-size: 2.1rem; line-height: 1.35; color: #232221; }
/* [26.10.15 변경] 글자가 살짝 아래로 치우쳐 보여 line-height 로 맞추던 것을 flex 가운데 정렬로 바꿨다.
   한글 글꼴은 위아래 여백이 비대칭이라 height 와 같은 line-height 만으로는 가운데에 오지 않는다 */
.popup__confirm { display: flex; align-items: center; justify-content: center; width: 32.2rem; height: 6rem; margin: 3.8rem auto 0; padding: 0; background: url('../assets/img/popup_button.webp') center / 100% 100% no-repeat; color: #fff; font-size: 3rem; font-weight: 500; line-height: 1; }

/* [26.10.15 변경] 동의 팝업 두 개(필수·선택)는 교체된 전문이 길어 높이를 고정하지 않고 흐름 배치로 둔다.
   본문만 popup__scroll 안에서 넘칠 때 스크롤되고 제목·닫기·확인 버튼은 자리를 지킨다 */
.popup__box--consent { width: 65.3rem; height: auto; padding: 5.6rem 4.2rem 4.4rem; }
.popup__box--consent h3 { padding: 0 3rem; font-size: 3rem; line-height: 1.35; }
/* [26.10.15 변경] 제목의 <br> 는 모바일 전용이다. PC 는 한 줄에 들어가므로 지운다 */
.popup__box--consent h3 br { display: none; }
.popup__scroll { max-height: calc(100vh - 30rem); margin-top: 2.2rem; overflow-y: auto; overscroll-behavior: contain; text-align: left; }
.popup__box--consent .popup__lead { margin-top: 0; font-size: 1.8rem; line-height: 1.55; letter-spacing: -.02em; }
.popup__table { width: 100%; margin: 1.8rem 0 0; border-collapse: collapse; font-family: var(--font-sans); font-size: 1.6rem; line-height: 1.5; letter-spacing: -.03em; color: #1c1c1b; table-layout: fixed; }
.popup__table th, .popup__table td { padding: 1rem 1.2rem; border: 0.1rem solid #c0b8a4; vertical-align: middle; text-align: left; }
.popup__table th { width: 11.4rem; background: #f1efe2; font-weight: 400; }
.popup__note { margin: 1.4rem 0 0; text-align: left; font-size: 1.5rem; line-height: 1.5; letter-spacing: -.02em; color: #5a564e; }
/* [26.10.15 변경] 머리말이 붙는 안내 문구는 머리말과 본문을 나란히 둔다.
   본문이 여러 줄이 돼도 모든 줄이 같은 왼쪽 끝에서 시작한다 (콜론 아래로 들어가지 않음) */
.popup__note--labelled { display: flex; gap: 0.5rem; }
.popup__note-label { flex: none; }
.popup__link { color: #01743f; text-decoration: underline; }
.popup__link:not([href]) { color: #5a564e; text-decoration: none; cursor: default; }
.popup__box--consent .popup__confirm { margin-top: 3rem; }

.popup__box--alert { width: 55.6rem; height: 31.5rem; padding: 6.3rem 3rem 0; }
.popup__message { font-family: var(--font-sans); font-size: 3.6rem; font-weight: 700; line-height: 4.8rem; letter-spacing: -.02em; }
/* [26.10.15 변경] 영문 한 줄 문구(COMING SOON). 한글용 자간(-.02em)은 영문 대문자에 좁아 보여 따로 준다 */
.popup__message--english { letter-spacing: .04em; }
.popup__box--alert .popup__confirm { margin-top: 2.3rem; }
/* [26.10.15 변경] COMING SOON 은 한 줄이라, 두 줄 기준으로 잡힌 알림 상자 높이(31.5rem)를 줄여
   글자 위아래 여백을 6.3rem 으로 맞췄다 */
.popup__box--coming-soon { height: 25.8rem; }
.popup__close-button { z-index: 2; position: absolute; right: 2.25rem; top: 2.025rem; width: 3.075rem; height: 3.075rem; padding: 0; border: 0; background: url('../assets/img/popup_close.webp') center / 100% 100% no-repeat; cursor: pointer; transition: transform .2s; }
.popup__close-button:hover { transform: scale(1.12); }
.popup__close-button:focus-visible { outline: 0.25rem solid #c6ae87; outline-offset: 0.3rem; border-radius: 0.6rem; }

.popup__box--done { width: 55.5rem; height: 73.125rem; padding: 0; overflow: visible; }
.popup__title { position: absolute; left: 1.2rem; top: 2.1rem; width: 54rem; margin: 0; pointer-events: none; }
.popup__title img { display: block; width: 100%; height: 18.675rem; }
.popup__character { position: absolute; left: 3.6rem; top: 16.275rem; width: 54.375rem; height: 40.35rem; max-width: none; pointer-events: none; z-index: 0; }
.popup__date { position: absolute; left: 0; top: 53.25rem; width: 100%; font-family: var(--font-sans); font-size: 2.85rem; font-weight: 400; line-height: 1; color: #060606; }
.popup__done { position: absolute; left: 0; top: 56.55rem; width: 100%; font-family: var(--font-sans); font-size: 3.6rem; font-weight: 700; line-height: 1; letter-spacing: -.05em; color: #060606; }
.popup__box--done .popup__date, .popup__box--done .popup__done { z-index: 1; }
.popup__box--done .popup__confirm { position: absolute; left: 5.625rem; top: 62.325rem; width: 21.45rem; height: 6.15rem; margin: 0; z-index: 1; background: #000000; border: 0.15rem solid #000000; border-radius: 0; font-family: var(--font-sans); font-size: 2.7rem; font-weight: 500; color: #ffffff; }
.popup__box--done .popup__confirm--event { left: 28.425rem; background: transparent; color: #000000; font-size: 2.4rem; letter-spacing: -.02em; white-space: nowrap; }
.popup__box--done .popup__confirm:hover { background: #222222; }
.popup__box--done .popup__confirm--event:hover { background: rgba(0,0,0,.06); }

.popup__box--video { width: min(112rem, 92vw); padding: 0; border: 0; background: #000; border-radius: 1.2rem; overflow: visible; }
.popup__video { position: relative; aspect-ratio: 16 / 9; }
.popup__video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; border-radius: 1.2rem; }
.popup__close { position: absolute; right: -0.8rem; top: -4.8rem; font-size: 4rem; line-height: 1; color: #fff; }

/* ---------- 스토어 배지 ---------- */
/* [26.10.14 변경] 원스토어가 추가돼 3 종이 됐다. 에셋이 PC·모바일 공용이라 폭 100%·높이 auto 로 통일 */
.badges { display: flex; justify-content: center; gap: 3.1rem; }
.badge img { display: block; width: 100%; height: auto; }
.badge { transition: transform .2s; }
.badge:hover { transform: translateY(-0.2rem); }
/* [26.10.15 변경] 준비 중 팝업으로 돌린 배지는 href 가 없어 손가락 커서가 안 떠서 따로 지정한다 */
.badge[role="button"] { cursor: pointer; }

/* ---------- 키보드 포커스 (GNB) ---------- */
.header__logo:focus-visible { outline: 0.25rem solid #fee79b; outline-offset: 0.4rem; border-radius: 0.8rem; }
.header__menu a:focus-visible { outline: 0.25rem solid #fee79b; outline-offset: 0.2rem; border-radius: 0.8rem; }
.header__cta:focus-visible { outline: 0.25rem solid #ffffff; outline-offset: 0.3rem; }

/* ---------- 커스텀 스크롤바. Chrome 121+ 는 scrollbar-color 지정 시 ::-webkit-scrollbar 를 무시하므로 둘을 동시에 쓰지 않는다 ---------- */
::-webkit-scrollbar { width: 1.2rem; height: 1.2rem; }
::-webkit-scrollbar-track { background: #0f1119; }
::-webkit-scrollbar-thumb { background: linear-gradient(180deg, #f3d98a 0%, #c99a3c 55%, #a97b25 100%); border: 0.3rem solid #0f1119; border-radius: 0.6rem; background-clip: padding-box; }
::-webkit-scrollbar-thumb:hover { background: linear-gradient(180deg, #fff0b3 0%, #e0b24f 55%, #c08f2e 100%); background-clip: padding-box; }
::-webkit-scrollbar-corner { background: #0f1119; }
@supports not selector(::-webkit-scrollbar) { html { scrollbar-width: thin; scrollbar-color: #d4ad50 #0f1119; } }

.reveal-dev-panel { position: fixed; right: 1.6rem; bottom: 1.6rem; z-index: 300; width: 25rem; border-radius: 1rem; background: rgba(18, 20, 26, .94); color: #eef0f5; font-family: var(--font-sans); box-shadow: 0 0.6rem 2rem rgba(0,0,0,.45); }
.reveal-dev-panel__toggle { display: block; width: 100%; padding: 0.9rem 1.2rem; border: 0; border-radius: 1rem 1rem 0 0; background: #b3341f; color: #fff; font-family: inherit; font-size: 1.4rem; font-weight: 700; letter-spacing: .02em; text-align: left; cursor: pointer; }
.reveal-dev-panel__toggle::before { content: '● '; }
.reveal-dev-panel.is-collapsed .reveal-dev-panel__body { display: none; }
.reveal-dev-panel.is-collapsed .reveal-dev-panel__toggle { border-radius: 1rem; }
.reveal-dev-panel__body { padding: 1.2rem; }
.reveal-dev-panel__title { margin: 0 0 0.5rem; font-size: 1.4rem; font-weight: 700; }
.reveal-dev-panel__state { margin: 0 0 1rem; font-size: 1.25rem; line-height: 1.7rem; color: #aeb6c6; }
.reveal-dev-panel__state output { color: #ffd76a; font-weight: 500; }
.reveal-dev-panel__buttons { display: flex; gap: 0.6rem; }
.reveal-dev-panel__buttons button { flex: 1; padding: 0.7rem 0; border: 0.1rem solid #4a5163; border-radius: 0.6rem; background: #262b36; color: #d7dbe4; font-family: inherit; font-size: 1.2rem; cursor: pointer; }
.reveal-dev-panel__buttons button.is-on { border-color: #ffd76a; background: #3a3524; color: #ffd76a; }
.reveal-dev-panel__buttons button:hover { border-color: #6c7488; }
