/* ══════════════════════════════════════════════════════════════════
   TEST2 20260713 (claude) — 상세 모달 정리 · 스탯바 이동 · 난수 투명성 패널 ·
   호버 돋보기 · 층 전환 중첩 제거 · 다크 수집확률 · 오픈 속도
   ══════════════════════════════════════════════════════════════════ */

/* 상세: 코인/믹싱/배출 칩 제거(그 자리에 #gm2-stats), 우측 원본 스탯 그리드 숨김 */
html.gm-test2-page .machine-detail-stage > .mt-4.grid { display: none !important; }

/* 상세 컬럼 균형: 자판기쪽과 카드쪽 좌우 폭 일치 */
@media (min-width: 1024px) {
  html.gm-test2-page div:has(> .machine-detail-stage) {
    grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important;
    align-items: start !important;
  }
}

/* 상세 카드(우측 패널) 컴팩트 정리 — 폼 높이 축소 */
html.gm-test2-page .machine-detail-panel { padding: 18px !important; }
html.gm-test2-page .machine-detail-panel > * + * { margin-top: 12px !important; }
html.gm-test2-page .machine-detail-panel h2 { font-size: 24px !important; line-height: 1.25 !important; margin-top: 4px !important; }
html.gm-test2-page .machine-detail-panel > .flex p:not(.text-violetpop) { margin-top: 6px !important; font-size: 12.5px !important; line-height: 1.55 !important; }
/* 브랜드명(회사) 강조 배지화 */
html.gm-test2-page .machine-detail-panel .text-violetpop {
  display: inline-flex !important; align-items: center !important;
  padding: 3px 10px !important; border-radius: 999px !important;
  background: rgba(127,77,255,.12) !important;
  border: 1.5px solid rgba(127,77,255,.5) !important;
  font-size: 12px !important; letter-spacing: .08em !important;
}
html.gm-dark .machine-detail-panel .text-violetpop {
  background: rgba(166,151,255,.14) !important;
  border-color: rgba(166,151,255,.55) !important;
  color: #cabfff !important;
}
/* 상품 구성 · DRAW CONTROL 박스 패딩 축소 */
html.gm-test2-page .machine-detail-panel > .rounded-\[1\.5rem\] { padding: 12px 14px !important; }
html.gm-test2-page .machine-detail-panel .bg-soft { padding: 6px 10px !important; border-radius: 12px !important; }
/* 주요 상품 카드 컴팩트 */
html.gm-test2-page .machine-detail-panel > div.mt-5:not(.grid) .grid { gap: 8px !important; }
html.gm-test2-page .machine-detail-panel > div.mt-5:not(.grid) .grid > div { padding: 16px 14px 14px !important; border-radius: 18px !important; }
html.gm-test2-page .machine-detail-panel > div.mt-5:not(.grid) .grid img { width: 100% !important; height: auto !important; aspect-ratio: 1 / 1; object-fit: contain !important; }
/* 다크모드 '수집 확률' 글자 안 보임 수정 (라임 배경 위 흰 글자 → 잉크)
   — redesign.css의 .machine-detail-panel .text-ink 규칙보다 특이도 높게 */
body.gm-test2-motion .gm-prototype-detail .machine-detail-panel span.bg-limepop.text-ink,
html.gm-dark .machine-detail-panel .bg-limepop { color: #141221 !important; }

/* 스테이지 헤더 브랜드 칩 */
#gm2-brand {
  display: inline-flex; align-items: center;
  padding: 6px 14px; border-radius: 999px;
  background: #fff; border: 2px solid #1c1a26;
  font-size: 13px; font-weight: 900; letter-spacing: .1em; color: #1c1a26;
  box-shadow: 0 6px 16px rgba(15,12,30,.18);
}
html.gm-dark #gm2-brand { background: #17141f; border-color: rgba(199,255,50,.5); color: #c7ff32; box-shadow: 0 6px 18px rgba(0,0,0,.4); }
#gm2-brand:empty { display: none; }

/* 스탯 바 (자판기 아래, 칩 자리) */
#gm2-stats {
  margin-top: 14px;
  display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 8px;
}
#gm2-stats > div {
  border-radius: 16px; padding: 9px 6px 10px; text-align: center;
  background: #fff; border: 1px solid rgba(28,26,38,.12);
  box-shadow: 0 4px 12px rgba(15,12,30,.06);
}
#gm2-stats span { display: block; font-size: 10.5px; font-weight: 800; opacity: .55; white-space: nowrap; }
#gm2-stats strong { display: block; margin-top: 3px; font-size: 15px; font-weight: 900; white-space: nowrap; }
html.gm-dark #gm2-stats > div { background: rgba(20,17,36,.92); border-color: rgba(199,255,50,.2); color: #f4f1ff; }
html.gm-dark #gm2-stats strong { color: #c7ff32; }
@media (max-width: 560px) {
  #gm2-stats { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

/* 난수(확률) 투명성 패널 */
#gm2-rng {
  display: none; margin-top: 10px; text-align: left;
  border-radius: 16px; padding: 12px 14px;
  background: #0b0918; border: 1px solid rgba(199,255,50,.28);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.03);
}
#gm2-rng.on { display: block; }
#gm2-rng .gm2-rng-head { display: flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 900; color: #c7ff32; }
#gm2-rng .gm2-rng-head small { font-size: 9px; letter-spacing: .16em; color: rgba(244,241,255,.42); font-weight: 800; }
#gm2-rng ol { list-style: none; margin: 9px 0 0; padding: 0; display: grid; gap: 7px; }
#gm2-rng li { display: grid; gap: 2px; animation: gm2RngIn .3s ease both; }
#gm2-rng code { font: 600 11px/1.5 ui-monospace, SFMono-Regular, Menlo, monospace; color: #8ffcff; word-break: break-all; }
#gm2-rng code b { color: #c7ff32; font-weight: 800; }
#gm2-rng em { font-style: normal; font-size: 11px; color: rgba(244,241,255,.6); }
@keyframes gm2RngIn { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }

/* 호버 돋보기 (자판기 위 마우스 → 상품 이미지 확대) */
#gm2-zoom {
  position: fixed; z-index: 80; width: 360px; max-width: 46vw;
  pointer-events: none; opacity: 0; transform: scale(.82);
  transition: opacity .16s ease, transform .22s cubic-bezier(.2,.9,.3,1.18);
  border-radius: 20px; padding: 10px;
  background: #fff; border: 3px solid #1c1a26;
  box-shadow: 0 30px 70px rgba(8,5,24,.45), 0 0 0 4px rgba(199,255,50,.35);
}
#gm2-zoom.on { opacity: 1; transform: scale(1); }
#gm2-zoom img { display: block; width: 100%; height: auto; max-height: 340px; object-fit: contain; border-radius: 14px; background: #fff; }
#gm2-zoom span { display: block; margin-top: 8px; text-align: center; font-size: 12.5px; font-weight: 900; color: #1c1a26; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#gm2-zoom span:empty { display: none; }
@media (hover: none) { #gm2-zoom { display: none !important; } }

/* 층 전환(전체보기 ↔ 1F 큐레이션): 확대/이동/페이드 중첩 제거 */
body.gm-test2-motion .floor-line { opacity: 1 !important; transform: none !important; transition: none !important; }
body.gm-test2-motion .floor-line:has(.machine-wall__track:not(:has(.compact-machine))) { display: none !important; }
/* 큐레이션 캡슐라인 배경 = DAILY POP 박스와 동일 */
body.gm-test2-motion .floor-line--lime,
body.gm-test2-motion .gm-curated-line { background: rgba(255,255,255,.62) !important; }
html.gm-dark body.gm-test2-motion .floor-line--lime,
html.gm-dark body.gm-test2-motion .gm-curated-line { background: rgba(22,19,38,.62) !important; }

/* 상세 오픈 속도: 거대한 backdrop-blur 제거(페인트 비용 大) */
html.gm-test2-page .fixed.inset-0.z-50 {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  background: rgba(10,8,20,.92) !important;
}

/* ══════════ TEST2 20260713 2차 ══════════ */

/* 전체보기↔1F 전환 시 미세 확대 원인 = 스크롤바 사라짐(≈12px) → 항상 고정 */
@media (min-width: 901px) {
  html.gm-test2-page { overflow-y: scroll; scrollbar-gutter: stable; }
}

/* 필터 칩: 전체/HOT/품절임박만 노출, 브랜드는 좌측 카테고리로 이동 */
body.gm-test2-motion .gm-filter-row .gm-filter:nth-child(n+4) { display: none !important; }

/* 좌측 카테고리(제조사) 박스 — 한글·영문 병기 */
#gm2-cats {
  margin-top: 14px; padding: 14px;
  border-radius: 18px;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(28,26,38,.08);
}
html.gm-dark #gm2-cats { background: rgba(20,17,36,.9); border-color: rgba(199,255,50,.16); }
.gm2-cats-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 6px; }
.gm2-cats-head b { font-size: 14px; font-weight: 900; }
.gm2-cats-head button { font-size: 11px; font-weight: 800; text-decoration: underline; opacity: .55; background: none; border: 0; cursor: pointer; color: inherit; padding: 2px; }
#gm2-cats .gm2-cat {
  display: flex; width: 100%; justify-content: space-between; align-items: center;
  padding: 7px 9px; margin-top: 2px;
  border: 0; background: none; border-radius: 10px; cursor: pointer;
  font-weight: 800; font-size: 12.5px; color: inherit; text-align: left;
}
#gm2-cats .gm2-cat small { font-weight: 800; opacity: .48; font-size: 10px; margin-left: 4px; letter-spacing: .05em; }
#gm2-cats .gm2-cat em { font-style: normal; opacity: .5; font-size: 11px; font-weight: 800; }
#gm2-cats .gm2-cat:hover { background: rgba(127,77,255,.1); }
#gm2-cats .gm2-cat.on { background: rgba(199,255,50,.18); }
html.gm-dark #gm2-cats .gm2-cat.on { background: rgba(199,255,50,.14); color: #c7ff32; }

/* 출고 신청: 7열 이미지 그리드 */
.gm2-shipcount { margin-left: 8px; color: #c7ff32; font-weight: 800; font-size: 11.5px; }
.gm2-shipgrid {
  display: grid; grid-template-columns: repeat(7, minmax(0,1fr)); gap: 8px;
  margin-top: 10px; max-height: 44vh; overflow-y: auto; padding: 2px 4px 2px 2px;
}
@media (max-width: 760px) { .gm2-shipgrid { grid-template-columns: repeat(4, minmax(0,1fr)); } }
.gm2-shipcell { position: relative; display: block; cursor: pointer; border-radius: 12px; }
.gm2-shipcell input { position: absolute; opacity: 0; pointer-events: none; }
.gm2-shipcell i {
  display: block; aspect-ratio: 1; border-radius: 12px;
  background-color: #fff; background-size: cover; background-position: center;
  border: 2px solid rgba(255,255,255,.16);
  transition: border-color .15s ease, transform .12s ease, opacity .15s ease;
}
.gm2-shipcell span {
  display: block; margin-top: 4px;
  font-size: 10px; font-weight: 800; text-align: center;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; opacity: .75;
}
.gm2-shipcell:hover i { transform: translateY(-2px); }
.gm2-shipcell:has(input:checked) i {
  border-color: #c7ff32;
  box-shadow: 0 0 0 2px rgba(199,255,50,.35), 0 6px 14px rgba(0,0,0,.3);
}
.gm2-shipcell:has(input:checked):after {
  content: "";
  position: absolute; top: 6px; right: 6px; width: 18px; height: 18px;
  border-radius: 999px; background: #c7ff32;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23141221' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
  background-size: 11px; background-position: center; background-repeat: no-repeat;
  box-shadow: 0 2px 6px rgba(0,0,0,.35);
}
.gm2-shipcell:not(:has(input:checked)) i { opacity: .5; filter: grayscale(.45); }
.gm2-shipcell:not(:has(input:checked)) span { opacity: .4; }

/* 1:1 문의 모달 */
.gm2-inqgrid { display: grid; grid-template-columns: 220px minmax(0,1fr); gap: 10px; }
@media (max-width: 640px) { .gm2-inqgrid { grid-template-columns: minmax(0,1fr); } }
.gm2-inqform select {
  width: 100%; appearance: none; -webkit-appearance: none;
  background: rgba(255,255,255,.06); color: inherit;
  border: 1px solid rgba(255,255,255,.16); border-radius: 12px;
  padding: 10px 12px; font-weight: 700; font-size: 13px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23aaa' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 12px center; background-size: 14px;
}
.gm2-inqform select option { color: #1c1a26; }
.gm2-inqnote ul { margin: 8px 0 0; padding-left: 16px; display: grid; gap: 5px; }
.gm2-inqnote li { font-size: 12px; opacity: .68; line-height: 1.55; }

/* 자판기 카드: 브랜드=사각 간판, 가격·잔여수량=전자식 표시 */
body.gm-test2-motion .compact-machine__info > p {
  display: inline-flex !important; align-items: center !important;
  align-self: flex-start !important;
  padding: 3px 9px !important;
  border: 2px solid currentColor !important; border-radius: 6px !important;
  font-size: 10.5px !important; letter-spacing: .12em !important; font-weight: 900 !important;
}
body.gm-test2-motion .compact-machine__info > div span {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace !important;
  background: #0a0816 !important; color: #c7ff32 !important;
  border: 1px solid rgba(199,255,50,.35) !important; border-radius: 8px !important;
  padding: 4px 9px !important; font-weight: 700 !important; letter-spacing: .06em !important;
  box-shadow: inset 0 0 8px rgba(199,255,50,.12) !important;
  text-shadow: 0 0 6px rgba(199,255,50,.55) !important;
}
body.gm-test2-motion .compact-machine__info > div span + span {
  color: #8ffcff !important; border-color: rgba(143,252,255,.3) !important;
  box-shadow: inset 0 0 8px rgba(143,252,255,.1) !important;
  text-shadow: 0 0 6px rgba(143,252,255,.5) !important;
}
body.gm-test2-motion .compact-machine__info > div span svg { opacity: .7; }

/* 보관함 성능: 화면 밖 카드 렌더 스킵 + 마운트 애니 제거 + 스포트라이트 오프 */
body.gm-test2-motion .showcase-card {
  content-visibility: auto;
  contain-intrinsic-size: 320px 420px;
  contain: layout style paint;
  opacity: 1 !important;
  transform: none !important;
}
body.gm-test2-motion .showcase-card__spotlight { display: none !important; }
/* 쇼케이스는 일단 가로 1줄만 */
body.gm-test2-motion .collection-shelf-grid {
  grid-template-rows: auto !important;
  grid-auto-rows: 0 !important;
  row-gap: 0 !important;
  overflow: hidden !important;
}

/* 추천 모달: 친구 획득 로그 */
.gm2-friendlog {
  margin-top: 12px; padding: 14px 16px;
  border-radius: 16px;
  background: rgba(20,17,36,.75);
  border: 1px solid rgba(199,255,50,.18);
}
.gm2-friendlog b { font-size: 13px; font-weight: 900; color: #c7ff32; }
.gm2-friendlog p { margin: 6px 0 0; font-size: 12px; opacity: .65; line-height: 1.6; }

/* 1F 전환 확대 재수정: expanded에서 카드 최소폭이 트랙을 컬럼(815px) 밖으로 밀어냄 →
   콘텐츠 기반 확장 전면 차단 (전체보기 크기로 고정) */
body.gm-test2-motion .gacha-shop-scene { max-width: 100% !important; min-width: 0 !important; }
body.gm-test2-motion .gm-curated-line,
body.gm-test2-motion .gm-curated-line.floor-line--expanded { max-width: 100% !important; }
@media (min-width: 901px) {
  body.gm-test2-motion .gm-curated-line .machine-wall__track,
  body.gm-test2-motion .gm-curated-line.floor-line--expanded .machine-wall__track {
    grid-template-columns: repeat(4, minmax(0,1fr)) !important;
  }
}
body.gm-test2-motion .gm-curated-line .compact-machine,
body.gm-test2-motion .gm-curated-line .gm2-machine-card {
  min-width: 0 !important;
  max-width: 100% !important;
}

/* 1F 확대 최종 차단: 씬의 가로 크기를 콘텐츠와 무관하게(그리드 컬럼=815px 고정) */
body.gm-test2-motion .gacha-shop-scene { contain: inline-size; }

/* 진짜 원인: 1F 포커스 시 framer가 씬에 inline scale(1.018) 적용 → 무력화 */
body.gm-test2-motion .gacha-shop-scene { transform: none !important; }

/* ══════════ TEST2 20260713 3차 ══════════ */

/* ── 상세 헤더 정리: 뒤로=자판기 좌상단 오버레이, 상태 pill·브랜드칩 제거 ── */
html.gm-test2-page .machine-detail-stage { position: relative !important; }
html.gm-test2-page .machine-detail-stage > .flex.items-center.justify-between {
  position: absolute !important;
  top: 22px !important; left: 22px !important;
  z-index: 30 !important;
  margin: 0 !important; padding: 0 !important;
}
html.gm-test2-page .machine-detail-stage > .flex.items-center.justify-between > .inline-flex { display: none !important; }
#gm2-brand { display: none !important; }
html.gm-test2-page .machine-detail-stage .icon-action {
  background: rgba(11,9,24,.85) !important;
  color: #f4f1ff !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  border-radius: 999px !important;
  box-shadow: 0 8px 20px rgba(0,0,0,.4) !important;
}

/* ── 상세 좌우 균형: 패널을 자판기 높이에 맞춰 스트레치, 코드 패널은 우측 하단 ── */
html.gm-test2-page .machine-detail-panel { display: flex !important; flex-direction: column !important; }
html.gm-test2-page .machine-detail-panel > .mt-auto { margin-top: 12px !important; }

/* ── DRAW CONTROL: 오락실 아케이드 버튼 ── */
html.gm-test2-page .machine-detail-panel button.draw-action {
  min-height: 56px !important;
  padding: 0 26px !important;
  border-radius: 18px !important;
  font-size: 16px !important; font-weight: 900 !important; letter-spacing: .04em !important;
  background: linear-gradient(180deg, #d9ff5e, #b7ef23) !important;
  color: #141221 !important;
  border: 2px solid #0d0b18 !important;
  box-shadow: 0 5px 0 #6d8f12, 0 10px 22px rgba(199,255,50,.28) !important;
  transition: transform .08s ease, box-shadow .08s ease !important;
}
html.gm-test2-page .machine-detail-panel button.draw-action:active {
  transform: translateY(4px) !important;
  box-shadow: 0 1px 0 #6d8f12, 0 4px 10px rgba(199,255,50,.2) !important;
}
html.gm-test2-page .machine-detail-panel button.draw-action--sub {
  background: linear-gradient(180deg, #a184ff, #7f4dff) !important;
  color: #fff !important;
  box-shadow: 0 5px 0 #3d2280, 0 10px 22px rgba(127,77,255,.3) !important;
}
html.gm-test2-page .machine-detail-panel button.draw-action--sub:active {
  box-shadow: 0 1px 0 #3d2280, 0 4px 10px rgba(127,77,255,.2) !important;
}
html.gm-test2-page .machine-detail-panel button.draw-action:disabled {
  filter: grayscale(.6) brightness(.7) !important;
  box-shadow: none !important; transform: none !important;
}
/* 티켓 버튼 (뽑기권 N) — 좌우 절취 노치 */
#gm2-ticket {
  position: relative;
  display: inline-flex; align-items: center; gap: 8px;
  min-height: 56px; padding: 0 22px 0 24px;
  border: 2px dashed rgba(255,209,102,.65);
  border-radius: 14px;
  background:
    radial-gradient(circle 9px at 0 50%, #17141f 96%, transparent) left center / 12px 100% no-repeat,
    radial-gradient(circle 9px at 100% 50%, #17141f 96%, transparent) right center / 12px 100% no-repeat,
    linear-gradient(180deg, #2b2410, #1d1809);
  color: #ffd166;
  font-weight: 900; font-size: 15px; letter-spacing: .04em;
  cursor: pointer;
  box-shadow: 0 6px 16px rgba(255,209,102,.15);
}
#gm2-ticket b {
  min-width: 30px; height: 30px; padding: 0 8px;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 999px;
  background: #ffd166; color: #3d2c05;
  font-size: 15px; font-weight: 900;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
}
#gm2-ticket.off { opacity: .38; cursor: default; filter: grayscale(.5); }

/* ── 카드: 전자 계기판 v2 — 코인=앰버, 잔여=재고에 따라 적/녹, 숫자 확대 ── */
body.gm-test2-motion .compact-machine__info > div span {
  font-family: 'SF Mono', ui-monospace, SFMono-Regular, Menlo, monospace !important;
  font-size: 15px !important;
  padding: 6px 11px !important;
  background: linear-gradient(180deg, #0b0918, #060512) !important;
  border-radius: 9px !important;
  font-weight: 800 !important;
  letter-spacing: .05em !important;
  color: #ffd166 !important;
  border: 1px solid rgba(255,209,102,.45) !important;
  box-shadow: inset 0 0 10px rgba(255,209,102,.14), inset 0 2px 4px rgba(0,0,0,.65) !important;
  text-shadow: 0 0 7px rgba(255,209,102,.7) !important;
}
body.gm-test2-motion .compact-machine__info > div span svg { color: #ffd166 !important; opacity: .9; width: 14px; height: 14px; }
/* 잔여: 기본 녹색 */
body.gm-test2-motion .compact-machine__info > div span + span {
  color: #3ddc84 !important;
  border-color: rgba(61,220,132,.45) !important;
  box-shadow: inset 0 0 10px rgba(61,220,132,.13), inset 0 2px 4px rgba(0,0,0,.65) !important;
  text-shadow: 0 0 7px rgba(61,220,132,.65) !important;
}
body.gm-test2-motion .compact-machine__info > div span + span svg { color: #3ddc84 !important; }
/* 잔여 10개 미만: 적색 경고 */
body.gm-test2-motion .compact-machine[data-gm2-low="1"] .compact-machine__info > div span + span {
  color: #ff6b6b !important;
  border-color: rgba(255,107,107,.5) !important;
  box-shadow: inset 0 0 10px rgba(255,107,107,.16), inset 0 2px 4px rgba(0,0,0,.65) !important;
  text-shadow: 0 0 7px rgba(255,107,107,.7) !important;
}
body.gm-test2-motion .compact-machine[data-gm2-low="1"] .compact-machine__info > div span + span svg { color: #ff6b6b !important; }
/* 브랜드 간판도 전자식 LED 플레이트 */
body.gm-test2-motion .compact-machine__info > p {
  font-family: 'SF Mono', ui-monospace, SFMono-Regular, Menlo, monospace !important;
  background: linear-gradient(180deg, #0b0918, #060512) !important;
  border: 1px solid rgba(143,252,255,.4) !important;
  border-radius: 8px !important;
  padding: 5px 11px !important;
  font-size: 11.5px !important;
  letter-spacing: .18em !important;
  color: #8ffcff !important;
  box-shadow: inset 0 0 10px rgba(143,252,255,.12), inset 0 2px 4px rgba(0,0,0,.6) !important;
  text-shadow: 0 0 7px rgba(143,252,255,.6) !important;
}

/* ── 카테고리: 로고 배지 + 한글/영문 2줄 ── */
#gm2-cats .gm2-cat { gap: 10px; justify-content: flex-start; }
#gm2-cats .gm2-cat-logo {
  flex: 0 0 28px; width: 28px; height: 28px;
  display: inline-flex; align-items: center; justify-content: center;
  position: relative; overflow: hidden; box-sizing: border-box;
  border-radius: 9px;
  background: #fff;
  font-style: normal; font-weight: 900; font-size: 14px;
  box-shadow: inset 0 -3px 6px rgba(0,0,0,.22), 0 2px 6px rgba(0,0,0,.3);
}
#gm2-cats .gm2-cat-logo img {
  position: absolute; inset: 0;
  display: block; width: 100%; height: 100%;
  max-width: none; object-fit: contain;
}
#gm2-cats .gm2-cat-logo--jdream img,
#gm2-cats .gm2-cat-logo--fukuya img,
#gm2-cats .gm2-cat-logo--qualia img {
  inset: 10%; width: 80%; height: 80%;
}
#gm2-cats .gm2-cat-logo--team-saku img {
  inset: -20%; width: 140%; height: 140%;
}
#gm2-cats .gm2-cat-logo--toys-spirits img {
  inset: auto; left: 0; top: -5.1px;
  width: 84.35px; height: 38.15px;
}
#gm2-cats .gm2-cat-logo--ikimon { background: #169442; }
#gm2-cats .gm2-cat-logo--ikimon img {
  inset: auto; left: -4.6px; top: -2px;
  width: 117.4px; height: 30px;
}
#gm2-cats .gm2-cat span { flex: 1 1 auto; min-width: 0; display: block; }
#gm2-cats .gm2-cat span b { display: block; font-size: 12.5px; font-weight: 900; line-height: 1.2; }
#gm2-cats .gm2-cat span small {
  display: block; margin: 2px 0 0 !important;
  font-size: 9.5px !important; font-weight: 800; letter-spacing: .08em;
  opacity: .48; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
#gm2-cats .gm2-cat em { flex: 0 0 auto; }

/* ── 홈↔보관함 전환: 퇴장 뷰 즉시 숨김(겹침 제거) ── */
body.gm-test2-motion.gm2-to-home .collection-hero,
body.gm-test2-motion.gm2-to-home .collection-hero.gm2-collection-hero,
body.gm-test2-motion.gm2-to-home .collection-room,
body.gm-test2-motion.gm2-to-home .collection-summary,
body.gm-test2-motion.gm2-to-home .collection-shelf-grid { display: none !important; }
body.gm-test2-motion.gm2-to-locker .gacha-shop-scene,
body.gm-test2-motion.gm2-to-locker .shop-hero-panel,
body.gm-test2-motion.gm2-to-locker #gm2-hero,
body.gm-test2-motion.gm2-to-locker #gm-banner { display: none !important; }
/* 뷰 루트 전체 스왑: 반대 방향 뷰는 루트째 즉시 숨김 (모든 잔상 일괄 제거) */
body.gm-test2-motion.gm2-to-locker main.shop-scene section.shop-layout:has(.floor-nav) { display: none !important; }
body.gm-test2-motion.gm2-to-home main.shop-scene section.shop-layout:has(.collection-hero):not(:has(.floor-nav)) { display: none !important; }

/* ── 장식 이펙트 전면 제거 (뽑기 연출 제외) ── */
body.gm-test2-motion .floor-line__header:focus,
body.gm-test2-motion .floor-line__header:focus-visible,
body.gm-test2-motion .floor-nav__item:focus,
body.gm-test2-motion .floor-nav__item:focus-visible,
body.gm-test2-motion .compact-machine:focus,
body.gm-test2-motion .compact-machine:focus-visible,
body.gm-test2-motion .floor-line__cta:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}
body.gm-test2-motion .gacha-shop-scene__marquee,
body.gm-test2-motion .gacha-shop-scene__marquee * { animation: none !important; }
body.gm-test2-motion .gm-live-dot { animation: none !important; }
body.gm-test2-motion .compact-machine,
body.gm-test2-motion .gm2-machine-card { transition: none !important; }
body.gm-test2-motion .gm2-machine-card:hover,
body.gm-test2-motion .compact-machine:hover { transform: none !important; }
body.gm-test2-motion .gm2-machine-card:hover .machine-visual--mini,
body.gm-test2-motion .compact-machine:hover .machine-visual--mini { transform: none !important; filter: none !important; }
body.gm-test2-motion .floor-nav__item { transition: none !important; }
body.gm-test2-motion .floor-line__cta { transition: none !important; }
/* 아래로 스크롤해야 보이는 섹션 렌더 지연(속도) */
body.gm-test2-motion #gm-footer { content-visibility: auto; contain-intrinsic-size: 800px 300px; }

/* ══════════ TEST2 20260714 4차 ══════════ */

/* ── 난수 패널: 자판기 바로 아래 고정 크기 + 내부 자동 스크롤 ── */
#gm2-stats { display: none !important; }
#gm2-rng {
  display: block !important;
  height: 300px;
  margin-top: 14px;
  overflow: hidden;
  display: flex !important; flex-direction: column;
}
#gm2-rng ol {
  flex: 1 1 auto;
  overflow-y: auto;
  padding-right: 6px;
  scrollbar-width: thin;
}
#gm2-rng ol:empty:after {
  content: '뽑기를 시작하면 추첨 로그가 실시간으로 기록됩니다.';
  display: block; padding: 12px 2px;
  font-size: 11.5px; color: rgba(244,241,255,.4);
}
#gm2-rng li { animation: none; }

/* ── 라이트모드: 상세 칩(라인업 등) 흰 글씨 → 보라 잉크 ── */
html:not(.gm-dark) .machine-detail-panel .bg-soft .rounded-full,
html:not(.gm-dark) .machine-detail-panel div.mt-5:not(.grid) .grid .rounded-full,
html:not(.gm-dark) .machine-detail-panel .bg-soft span:first-child,
html:not(.gm-dark) .machine-detail-panel div.mt-5:not(.grid) .grid > div > span:first-child {
  color: #5b21b6 !important;
  background: rgba(127,77,255,.08) !important;
  border-color: rgba(127,77,255,.5) !important;
}
/* 스탯 박스는 항상 다크 LED 패널 → 라벨은 모드 불문 밝게 */
.machine-detail-panel .detail-stat span { color: rgba(244,241,255,.55) !important; }

/* ── DRAW CONTROL: 한 줄 배치 ── */
html.gm-test2-page .machine-detail-panel div:has(> button.draw-action) {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 8px !important;
  width: 100% !important;
  align-items: stretch !important;
}
html.gm-test2-page .machine-detail-panel div:has(> div > button.draw-action) {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 10px !important;
}
html.gm-test2-page .machine-detail-panel button.draw-action {
  flex: 1 1 auto !important;
  min-height: 48px !important;
  padding: 0 14px !important;
  font-size: 14.5px !important;
  white-space: nowrap !important;
}
#gm2-ticket { min-height: 48px; padding: 0 16px 0 18px; font-size: 13.5px; flex: 0 0 auto; }
#gm2-ticket b { min-width: 26px; height: 26px; font-size: 13.5px; }

/* ── '시크릿 포함' 강조 칩 ── */
.gm2-secret {
  background: linear-gradient(180deg, #d9ff5e, #b7ef23) !important;
  color: #141221 !important;
  border: 2px solid #141221 !important;
  border-radius: 999px !important;
  padding: 6px 14px !important;
  font-weight: 900 !important;
  font-size: 12.5px !important;
  box-shadow: 0 0 16px rgba(199,255,50,.5) !important;
}
.gm2-secret svg { color: #141221 !important; }

/* ── 카드 계기판/간판: redesign.css보다 특이도 상향(미반영 원인) ── */
body.gm-test2-motion .gm-curated-line .compact-machine .compact-machine__info > div span,
body.gm-test2-motion .gm-curated-line .compact-machine .compact-machine__info > div span:first-child,
body.gm-test2-motion .gm-curated-line .gm2-machine-card .compact-machine__info > div span {
  font-family: 'SF Mono', ui-monospace, SFMono-Regular, Menlo, monospace !important;
  font-size: 15px !important;
  padding: 6px 11px !important;
  background: linear-gradient(180deg, #0b0918, #060512) !important;
  border-radius: 9px !important;
  font-weight: 800 !important;
  letter-spacing: .05em !important;
  color: #ffd166 !important;
  border: 1px solid rgba(255,209,102,.45) !important;
  box-shadow: inset 0 0 10px rgba(255,209,102,.14), inset 0 2px 4px rgba(0,0,0,.65) !important;
  text-shadow: 0 0 7px rgba(255,209,102,.7) !important;
}
body.gm-test2-motion .gm-curated-line .compact-machine .compact-machine__info > div span svg,
body.gm-test2-motion .gm-curated-line .compact-machine .compact-machine__info > div svg {
  color: #ffd166 !important; opacity: .9 !important;
}
body.gm-test2-motion .gm-curated-line .compact-machine .compact-machine__info > div span + span {
  color: #3ddc84 !important;
  border-color: rgba(61,220,132,.45) !important;
  box-shadow: inset 0 0 10px rgba(61,220,132,.13), inset 0 2px 4px rgba(0,0,0,.65) !important;
  text-shadow: 0 0 7px rgba(61,220,132,.65) !important;
}
body.gm-test2-motion .gm-curated-line .compact-machine .compact-machine__info > div span + span svg { color: #3ddc84 !important; }
body.gm-test2-motion .gm-curated-line .compact-machine[data-gm2-low="1"] .compact-machine__info > div span + span {
  color: #ff6b6b !important;
  border-color: rgba(255,107,107,.5) !important;
  box-shadow: inset 0 0 10px rgba(255,107,107,.16), inset 0 2px 4px rgba(0,0,0,.65) !important;
  text-shadow: 0 0 7px rgba(255,107,107,.7) !important;
}
body.gm-test2-motion .gm-curated-line .compact-machine[data-gm2-low="1"] .compact-machine__info > div span + span svg { color: #ff6b6b !important; }
body.gm-test2-motion .gm-curated-line .compact-machine .compact-machine__info > p,
body.gm-test2-motion .gm-curated-line .gm2-machine-card .compact-machine__info p {
  font-family: 'SF Mono', ui-monospace, SFMono-Regular, Menlo, monospace !important;
  background: linear-gradient(180deg, #0b0918, #060512) !important;
  border: 1px solid rgba(143,252,255,.4) !important;
  border-radius: 8px !important;
  padding: 5px 11px !important;
  font-size: 11.5px !important;
  letter-spacing: .18em !important;
  color: #8ffcff !important;
  box-shadow: inset 0 0 10px rgba(143,252,255,.12), inset 0 2px 4px rgba(0,0,0,.6) !important;
  text-shadow: 0 0 7px rgba(143,252,255,.6) !important;
  display: inline-flex !important;
  align-self: flex-start !important;
}

/* ── 구 데모 자판기 잔재(2F/3F) 이중 안전장치 ── */
body.gm-test2-motion .gm-curated-line .machine-wall__track > .compact-machine[data-gm-excluded="1"] { display: none !important; }

/* ── 보관함 이펙트 제거(고정 조명화) + 진입/복귀 속도 ── */
body.gm-test2-motion .collection-room::before,
body.gm-test2-motion .collection-room::after { content: none !important; }
body.gm-test2-motion .showcase-card,
body.gm-test2-motion .showcase-card * { animation: none !important; transition: none !important; }
body.gm-test2-motion .showcase-card__glass { backdrop-filter: none !important; filter: none !important; }
body.gm-test2-motion .collection-hero,
body.gm-test2-motion .collection-summary,
body.gm-test2-motion .collection-room { opacity: 1 !important; transform: none !important; }
/* 홈 복귀 시 마운트 애니메이션 전면 제거 */
body.gm-test2-motion .gacha-shop-scene > *,
body.gm-test2-motion .floor-line,
body.gm-test2-motion .compact-machine,
body.gm-test2-motion .floor-nav__item,
body.gm-test2-motion .shop-hero-panel,
body.gm-test2-motion #gm2-hero { opacity: 1 !important; transform: none !important; }

/* ══════════ TEST2 20260714 5차 — PC 삭제 + 모바일 전면 개편 ══════════ */

/* 상품 구성 박스: PC+모바일 삭제 (난수 테이블 파싱용으로 DOM은 유지) */
html.gm-test2-page .machine-detail-panel > .rounded-\[1\.5rem\]:not(.mt-auto) { display: none !important; }
/* 주요상품 카드의 '라인업' 칩 삭제 + 확률 표시 */
html.gm-test2-page .machine-detail-panel div.mt-5:not(.grid) .grid > div > span:first-child { display: none !important; }
.gm2-odds {
  display: block;
  font-style: normal;
  font-size: 11px; font-weight: 900; letter-spacing: .06em;
  color: #c7ff32;
  margin-bottom: 2px;
}
html:not(.gm-dark) .gm2-odds { color: #65a30d; }
/* 주요상품 위젯 컴팩트 */
html.gm-test2-page .machine-detail-panel div.mt-5:not(.grid) .grid > div { padding: 16px 14px 14px !important; }
html.gm-test2-page .machine-detail-panel div.mt-5:not(.grid) .grid img { width: 100% !important; height: auto !important; aspect-ratio: 1 / 1; }

/* ══ 모바일 (≤900px) ══ */
@media (max-width: 900px) {
  /* 햄버거 축소 */
  #gm-menu-btn { width: 40px !important; height: 40px !important; min-width: 40px !important; transform: scale(.9); }

  /* 층 내비: 4개 한 줄 아이콘 칩 + 카테고리/피드 풀폭 */
  body.gm-test2-motion .floor-nav {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0,1fr)) 40px !important;
    gap: 6px !important;
    align-items: stretch !important;
  }
  body.gm-test2-motion .floor-nav > .floor-nav__item {
    flex-direction: column !important;
    padding: 7px 4px !important;
    gap: 4px !important;
    min-height: 0 !important;
    text-align: center !important;
    align-items: center !important;
  }
  body.gm-test2-motion .floor-nav__item .floor-nav__copy small { display: none !important; }
  body.gm-test2-motion .floor-nav__item .floor-nav__copy strong {
    font-size: 10.5px !important; line-height: 1.15 !important; white-space: nowrap !important;
  }
  body.gm-test2-motion .floor-nav__item svg,
  body.gm-test2-motion .floor-nav__item [class*=icon] { transform: scale(.8); }
  /* 카테고리 → 필터 아이콘 토글 */
  #gm2-catsbtn {
    display: inline-flex; align-items: center; justify-content: center;
    border-radius: 12px;
    background: rgba(20,17,36,.9); border: 1px solid rgba(199,255,50,.25);
    color: #c7ff32; cursor: pointer;
  }
  #gm2-catsbtn svg { width: 18px; height: 18px; }
  #gm2-cats { display: none; grid-column: 1 / -1; margin-top: 4px; }
  #gm2-cats.gm2-open { display: block; }
  /* 실시간 로그: 한 줄 티커(풀폭, 위로 슬라이드) */
  #gm-live-feed { grid-column: 1 / -1 !important; margin-top: 4px !important; padding: 8px 12px !important; }
  #gm-live-feed .gm-feed-head { font-size: 11px !important; margin-bottom: 4px !important; }
  #gm-live-feed ul { height: 26px !important; overflow: hidden !important; display: block !important; }
  #gm-live-feed li {
    height: 26px !important; line-height: 26px !important;
    margin: 0 !important; padding: 0 2px !important;
    white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important;
    animation: gm2TickerIn .35s ease both;
  }
  /* 자판기 2대씩 */
  body.gm-test2-motion .gm-curated-line .machine-wall__track,
  body.gm-test2-motion .gm-curated-line.floor-line--expanded .machine-wall__track {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 10px !important;
  }

  /* ── 상세 모달 재배열: 정보 → 자판기 → 뽑기버튼 → 스탯 → 난수 → 주요상품 ── */
  html.gm-test2-page div:has(> .machine-detail-stage) {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    padding: 12px !important;
  }
  html.gm-test2-page .machine-detail-stage,
  html.gm-test2-page .machine-detail-panel { display: contents !important; }
  html.gm-test2-page .machine-detail-stage > .flex.items-center.justify-between {
    position: static !important; order: 0; margin: 0 0 8px !important;
  }
  html.gm-test2-page .machine-detail-panel > .flex { order: 1; margin: 0 !important; }
  html.gm-test2-page .machine-detail-stage > .mt-5 { order: 2; margin-top: 10px !important; min-height: 0 !important; padding: 10px !important; }
  html.gm-test2-page .machine-detail-panel > .mt-auto { order: 3; margin-top: 10px !important; }
  html.gm-test2-page .machine-detail-panel > .mt-5.grid { order: 4; margin-top: 10px !important; gap: 8px !important; }
  html.gm-test2-page .machine-detail-stage > #gm2-rng { order: 5; margin-top: 10px !important; height: 220px !important; }
  html.gm-test2-page .machine-detail-panel > div.mt-5:not(.grid) { order: 6; margin-top: 12px !important; }
  html.gm-test2-page .machine-detail-panel > .rounded-\[1\.5rem\]:not(.mt-auto) { order: 7; }
  /* 글씨·위젯 확 축소 */
  html.gm-test2-page .machine-detail-panel h2 { font-size: 17px !important; line-height: 1.3 !important; }
  html.gm-test2-page .machine-detail-panel > .flex p:not(.text-violetpop) { font-size: 11px !important; line-height: 1.5 !important; }
  html.gm-test2-page .machine-detail-panel .text-violetpop { font-size: 10px !important; padding: 2px 8px !important; }
  html.gm-test2-page .machine-detail-panel .detail-stat { padding: 8px 10px !important; border-radius: 12px !important; }
  html.gm-test2-page .machine-detail-panel .detail-stat span { font-size: 10px !important; }
  html.gm-test2-page .machine-detail-panel .detail-stat strong { font-size: 14px !important; }
  html.gm-test2-page .machine-detail-panel div.mt-5:not(.grid) h3 { font-size: 13px !important; }
  html.gm-test2-page .machine-detail-panel div.mt-5:not(.grid) .grid { gap: 10px !important; grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
  html.gm-test2-page .machine-detail-panel div.mt-5:not(.grid) .grid > div { padding: 12px 10px !important; }
  html.gm-test2-page .machine-detail-panel div.mt-5:not(.grid) .grid img { width: 100% !important; height: auto !important; aspect-ratio: 1 / 1; }
  html.gm-test2-page .machine-detail-panel div.mt-5:not(.grid) .grid > div > *:last-child { font-size: 10px !important; }
  .gm2-odds { font-size: 9.5px; }
  .gm2-secret { font-size: 10.5px !important; padding: 4px 10px !important; }
  /* 뽑기 버튼 컴팩트(자판기 바로 아래) */
  html.gm-test2-page .machine-detail-panel button.draw-action {
    min-height: 42px !important; font-size: 13px !important; padding: 0 10px !important;
  }
  #gm2-ticket { min-height: 42px; font-size: 12px; padding: 0 12px 0 14px; }
  #gm2-ticket b { min-width: 22px; height: 22px; font-size: 12px; }
  #gm2-rng .gm2-rng-head { font-size: 11px; }
  #gm2-rng code { font-size: 10px !important; }
  #gm2-rng em { font-size: 10px !important; }

  /* 전역 축소: 히어로/헤더/섹션/카드/보관함 */
  body.gm-test2-motion #gm2-hero h1 { font-size: 24px !important; }
  body.gm-test2-motion #gm2-hero p { font-size: 11.5px !important; }
  body.gm-test2-motion .floor-line__copy strong { font-size: 15px !important; }
  body.gm-test2-motion .floor-line__copy small { font-size: 10.5px !important; }
  body.gm-test2-motion .floor-line__cta { font-size: 11px !important; padding: 6px 12px !important; }
  body.gm-test2-motion .gm-filter-row .gm-filter { font-size: 11px !important; padding: 6px 12px !important; }
  body.gm-test2-motion .compact-machine__info h3 { font-size: 12px !important; }
  body.gm-test2-motion .compact-machine__info > p { font-size: 9px !important; padding: 3px 7px !important; letter-spacing: .12em !important; }
  body.gm-test2-motion .gm-curated-line .compact-machine .compact-machine__info > div span { font-size: 12px !important; padding: 4px 8px !important; }
  body.gm-test2-motion .collection-room__header h2 { font-size: 18px !important; }
  body.gm-test2-motion .showcase-card__meta { font-size: 11px !important; }
  body.gm-test2-motion .gacha-shop-scene__marquee { font-size: 10.5px !important; }
  body.gm-test2-motion #gm-footer { font-size: 10.5px !important; }
  /* 탭바 볼드 SVG */
  #gm-tabbar i.gm2-tabsvg { font-size: 0 !important; }
  #gm-tabbar i.gm2-tabsvg svg { width: 22px; height: 22px; display: block; margin: 0 auto; }
  #gm-tabbar button span { font-weight: 900 !important; font-size: 10px !important; }
}
@keyframes gm2TickerIn { from { transform: translateY(100%); opacity: 0; } to { transform: none; opacity: 1; } }
/* PC에선 카테고리 항상 표시 + 필터 버튼 숨김 */
@media (min-width: 901px) {
  #gm2-catsbtn { display: none !important; }
  #gm2-cats { display: block !important; }
}

/* 모바일 층 내비 마감: 아이콘 위·라벨 아래 세로칩 + 필터 버튼 1행 5열 고정 */
@media (max-width: 900px) {
  body.gm-test2-motion .floor-nav > .floor-nav__item {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
  }
  body.gm-test2-motion .floor-nav > .floor-nav__item > * { flex: 0 0 auto !important; width: auto !important; }
  body.gm-test2-motion .floor-nav__item .floor-nav__copy { text-align: center !important; }
  body.gm-test2-motion .floor-nav__item .floor-nav__copy strong {
    overflow: hidden !important; text-overflow: ellipsis !important; max-width: 100% !important; display: block !important;
  }
  #gm2-catsbtn { grid-row: 1 !important; grid-column: 5 !important; }
}

/* ── 결과 모달: 라이트모드 가독 + 나가기 버튼 ── */
html:not(.gm-dark) .reward-modal .reward-card,
html:not(.gm-dark) .reward-modal .reward-card p,
html:not(.gm-dark) .reward-modal .reward-card strong,
html:not(.gm-dark) .reward-modal .reward-card small,
html:not(.gm-dark) .reward-modal .reward-card div { color: #1c1a26 !important; }
html:not(.gm-dark) .reward-modal .reward-card > span.rounded-full {
  color: #5b21b6 !important;
  background: rgba(127,77,255,.1) !important;
  border-color: rgba(127,77,255,.5) !important;
  box-shadow: none !important;
}
.gm2-exit-ic { width: 16px; height: 16px; margin-right: 6px; }
.reward-modal button.ghost-action { display: inline-flex; align-items: center; }

/* ── 보관함 렉 최종 제거: 카드 72개 × filter 글로우 2겹 + 다층 그림자가 주범 ── */
body.gm-test2-motion .product-art__halo { display: none !important; }
body.gm-test2-motion .showcase-card .product-art__image { filter: none !important; }
body.gm-test2-motion .showcase-card,
body.gm-test2-motion .showcase-card * { box-shadow: none !important; }
body.gm-test2-motion .showcase-card { border: 1px solid rgba(255,255,255,.1) !important; }

/* ── 상세 진입 시(뽑기 전) 모든 연출 일시정지 → 뽑기 시작하면 재생 ── */
body.gm-test2-motion .gm-prototype-detail[data-gm-phase="idle"] .machine-detail-stage *,
body.gm-test2-motion .gm-prototype-detail:not([data-gm-phase]) .machine-detail-stage * {
  animation-play-state: paused !important;
}

/* ── 뽑기 버튼: 아이콘 제거, X1 / X5 ── */
html.gm-test2-page .machine-detail-panel button.draw-action svg { display: none !important; }
html.gm-test2-page .machine-detail-panel button.draw-action { letter-spacing: .08em !important; }

/* ── 결과창 마감: 나가기(오른쪽·빨강), 라인업 칩·별 장식 삭제, 라이트 토스트 가독 ── */
.reward-modal button.ghost-action { color: #dc2626 !important; }
html.gm-dark .reward-modal button.ghost-action { color: #ff6b6b !important; }
.reward-modal button.ghost-action .gm2-exit-ic { stroke: currentColor; }
.reward-modal .reward-card > span.rounded-full { display: none !important; }
.reward-modal div:has(> svg.lucide-sparkles) { display: none !important; }
/* 우측 알림 토스트: 어떤 모드든 다크 패널 + 흰 글씨 고정 */
html:not(.gm-dark) [class*="bg-ink/92"] {
  background: rgba(23,21,31,.95) !important;
  color: #fff !important;
}
html:not(.gm-dark) [class*="bg-ink/92"] p { color: #fff !important; }
html:not(.gm-dark) [class*="bg-ink/92"] [class*="text-white/70"] { color: rgba(255,255,255,.72) !important; }

/* ── 뷰 전환 모션 원천 제거: 루트(.shop-layout/.collection-page)의 페이드·낙하 금지 ── */
body.gm-test2-motion main.shop-scene section.shop-layout,
body.gm-test2-motion main.collection-page,
body.gm-test2-motion .collection-page,
body.gm-test2-motion .shop-main-grid,
body.gm-test2-motion .shop-main-grid > * {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}
/* 보관함 루트 실제 클래스는 .collection-page — 방향 숨김 보강 */
body.gm-test2-motion.gm2-to-home main.collection-page,
body.gm-test2-motion.gm2-to-home .collection-page { display: none !important; }
body.gm-test2-motion.gm2-to-locker main.shop-scene section.shop-layout { display: none !important; }
/* 전환 중 푸터 잔상 방지 */
body.gm-test2-motion.gm2-to-home #gm-footer,
body.gm-test2-motion.gm2-to-locker #gm-footer { display: none !important; }

/* ── 모바일 자판기 카드 규격 보정 ── */
@media (max-width: 900px) {
  body.gm-test2-motion .gm-curated-line .machine-visual--prototype.machine-visual--mini {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    aspect-ratio: 216 / 360 !important;
  }
  body.gm-test2-motion .gm-curated-line .gm2-machine-card,
  body.gm-test2-motion .gm-curated-line .compact-machine { overflow: hidden !important; }
  /* 브랜드명·상품명 한 줄 말줄임 */
  body.gm-test2-motion .compact-machine__info > p {
    max-width: 100% !important;
    white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important;
    display: block !important;
  }
  body.gm-test2-motion .compact-machine__info h3 {
    white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important;
    font-size: 11.5px !important;
  }
  /* 금액·잔여 계기판 축소 */
  body.gm-test2-motion .gm-curated-line .compact-machine .compact-machine__info > div { gap: 5px !important; }
  body.gm-test2-motion .gm-curated-line .compact-machine .compact-machine__info > div span,
  body.gm-test2-motion .gm-curated-line .compact-machine .compact-machine__info > div span:first-child {
    font-size: 10.5px !important;
    padding: 3px 6px !important;
    letter-spacing: .02em !important;
  }
  body.gm-test2-motion .gm-curated-line .compact-machine .compact-machine__info > div span svg { width: 10px !important; height: 10px !important; }
}

/* ── 모바일 마감 6차 ── */
@media (max-width: 900px) {
  /* 충전 버튼 세로 줄바꿈 방지 */
  html.gm-test2-page .machine-detail-panel div:has(> button.draw-action) > button {
    white-space: nowrap !important;
  }
  html.gm-test2-page .machine-detail-panel div:has(> button.draw-action) > button:not(.draw-action):not(#gm2-ticket) {
    flex: 0 0 auto !important;
    padding: 0 12px !important;
    font-size: 12.5px !important;
    min-height: 42px !important;
  }
  /* DAILY POP / KIDULT ZONE / PREMIUM 하단 안내 위젯 숨김 */
  body.gm-test2-motion .floor-line__footer { display: none !important; }
  /* 우측 레일(보관함요약·친구초대 이벤트·최근획득·인기라인업) 숨김 — 탭바/햄버거로 접근 가능 */
  body.gm-test2-motion .shop-main-grid > :nth-child(3) { display: none !important; }
  /* 탭바: 얇은 선 + 밝은 색 */
  #gm-tabbar button { color: #efedff !important; }
  #gm-tabbar i.gm2-tabsvg svg { stroke-width: 1.7 !important; width: 23px; height: 23px; }
  #gm-tabbar button span { font-weight: 700 !important; color: #efedff !important; }
}

/* ── 보관함 뒤 상시 검정 오프셋 판 = .collection-page::before 장식 → 완전 삭제 (렉·겹침 원인) ── */
body.gm-test2-motion .collection-page::before,
body.gm-test2-motion .collection-page::after,
body.gm-test2-motion main.collection-page::before,
body.gm-test2-motion main.collection-page::after,
body.gm-test2-motion main.shop-scene section.shop-layout::before,
body.gm-test2-motion main.shop-scene section.shop-layout::after {
  content: none !important;
  display: none !important;
}

/* ── 전체/HOT/품절임박 필터 줄 삭제 (PC+모바일 — 카테고리 사이드바 프록시용으로 DOM만 유지) ── */
body.gm-test2-motion .gm-filter-row { display: none !important; }
/* 커서 추적 돋보기: 이동 시 트랜지션 지연 제거 */
#gm2-zoom.on { transition: opacity .14s ease; }

/* ── 출고 신청 v2: 4열 그리드 + 더보기 + 합산/배송비 + 라이트 가독 ── */
.gm2-shipgrid { grid-template-columns: repeat(4, minmax(0,1fr)) !important; max-height: none !important; overflow: visible !important; }
.gm2-shipcell.gm2-more-hidden { display: none !important; }
.gm2-shipsum { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 8px; }
.gm2-shipsum .gm2-shipcount { margin-left: 0; }
.gm2-shipsum .gm2-shipprice { font-size: 14px; font-weight: 900; color: #c7ff32; }
.gm2-shipsum .gm2-shipfee { font-style: normal; font-size: 11.5px; font-weight: 800; opacity: .75; }
.gm2-shipsum .gm2-shipfee.free { color: #3ddc84; opacity: 1; }
.gm2-shipmore {
  display: block; width: 100%; margin-top: 10px;
  padding: 10px 0; border-radius: 12px;
  border: 1px dashed rgba(199,255,50,.5);
  background: rgba(199,255,50,.08); color: inherit;
  font-weight: 900; font-size: 12.5px; cursor: pointer;
}
/* 라이트모드 가독 */
html:not(.gm-dark) .gm2-shipcell span { color: #1c1a26 !important; opacity: .85 !important; }
html:not(.gm-dark) .gm2-shipcell:not(:has(input:checked)) span { opacity: .5 !important; }
html:not(.gm-dark) .gm2-shipcell i { border-color: rgba(28,26,38,.18) !important; }
html:not(.gm-dark) .gm2-shipsum .gm2-shipprice { color: #4d7c0f !important; }
html:not(.gm-dark) .gm2-shipsum .gm2-shipcount { color: #4d7c0f !important; }
html:not(.gm-dark) .gm2-shipsum .gm2-shipfee { color: #1c1a26 !important; }
html:not(.gm-dark) .gm2-shipsum .gm2-shipfee.free { color: #15803d !important; }
html:not(.gm-dark) .gm2-shipmore { border-color: rgba(101,163,13,.5); background: rgba(101,163,13,.08); color: #3f6212; }

/* ══════════ TEST3 1차 ══════════ */
/* 카드 브랜드 간판 가운데 정렬 */
body.gm-test2-motion .gm-curated-line .compact-machine .compact-machine__info > p,
body.gm-test2-motion .compact-machine__info > p {
  align-self: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
  justify-content: center !important;
  text-align: center !important;
}
/* 전환 중 헤더 '홈' 칩 플래시 — JS 태깅 전에도 즉시 차단 */
body.gm-test2-motion .header-actions button:has(svg.lucide-house) { display: none !important; }
/* 원본 히어로(오늘은 어느 라인에서…) — JS로 숨기기 전 플래시 차단 */
body.gm-test2-motion .shop-hero-panel { display: none !important; }
/* 헤더 칩 상태 전환 애니메이션 제거 */
body.gm-test2-motion .header-actions button,
body.gm-test2-motion .header-action-chip { transition: none !important; }

/* ── 층 포커스: 타 층 라인 완전 제거(블러 모자이크 잔재 금지) + 무빙/블러 차단 ── */
body.gm-test2-motion .floor-line { filter: none !important; }
body.gm-test2-motion main.shop-scene:has(.floor-line--expanded) .floor-line:not(.floor-line--expanded) { display: none !important; }
/* 상단 안내 마퀴 스트립 삭제 */
body.gm-test2-motion .gacha-shop-scene__marquee { display: none !important; }

/* 보관함 칩: 페이지 이동 시 활성 컬러 변화 제거(항상 동일 룩) */
body.gm-test2-motion .header-actions .header-action-chip.bg-violetpop {
  background: rgb(23,21,31) !important;
  color: #f4f1ff !important;
}

/* ══════════ TEST3 2차 ══════════ */
/* 결과 모달 심플화: 빔 이펙트·하단 중복 카드 삭제 (상품+획득 문구+버튼만) */
body.gm-test2-motion .reward-modal .reward-modal__burst { display: none !important; }
body.gm-test2-motion .reward-modal > div.mt-6.grid { display: none !important; }
body.gm-test2-motion .reward-modal .capsule-open-impact { box-shadow: none !important; }
/* 층 내비: 층 번호 태그 + 전체보기 숨김 보강 */
.gm2-floor-tag { display: none !important; }
/* 층 번호는 기존 아이콘 박스 안에 */
body.gm-test2-motion .floor-nav__icon svg { display: none !important; }
body.gm-test2-motion .floor-nav__icon .gm2-floor-num {
  font-style: normal; font-weight: 900; font-size: 14px; letter-spacing: .02em;
}
body.gm-test2-motion .floor-nav > .floor-nav__item[hidden] { display: none !important; }
/* 자판기: 코인 넣기 전 어떤 이펙트도 금지 — 월/트랙/미니 비주얼 이동·페이드·전환 전면 차단 */
body.gm-test2-motion .machine-wall,
body.gm-test2-motion .machine-wall__track,
body.gm-test2-motion .gm-curated-line .machine-visual--mini {
  transform: none !important;
  opacity: 1 !important;
  transition: none !important;
  animation: none !important;
  filter: none !important;
}
@media (max-width: 900px) {
  body.gm-test2-motion .floor-nav__icon .gm2-floor-num { font-size: 12px; }
}

/* ── 층 헤더 위젯 배경 = 최근 획득 카드와 동일 (라이트/다크, 1~3F 공통) ── */
body.gm-test2-motion .gm-curated-line .floor-line__header {
  background: rgba(255,255,255,.82) !important;
  border-color: rgba(28,26,38,.08) !important;
}
html.gm-dark body.gm-test2-motion .gm-curated-line .floor-line__header {
  background: rgba(19,15,36,.92) !important;
  border-color: rgba(199,255,50,.14) !important;
}
html:not(.gm-dark) body.gm-test2-motion .gm-curated-line .floor-line__copy strong { color: #1c1a26 !important; }
html:not(.gm-dark) body.gm-test2-motion .gm-curated-line .floor-line__copy small { color: rgba(28,26,38,.6) !important; }
/* 라이트모드 층 푸터 문구(프리미엄 한정 라인입니다 등) 가독 */
html:not(.gm-dark) body.gm-test2-motion .floor-line__footer,
html:not(.gm-dark) body.gm-test2-motion .floor-line__footer * { color: rgba(28,26,38,.78) !important; }

/* ══════════ TEST3 4차 ══════════ */
/* 뽑기 버튼: 동일 형광색·그림자 제거·플랫 */
html.gm-test2-page .machine-detail-panel button.draw-action,
html.gm-test2-page .machine-detail-panel button.draw-action--sub {
  background: linear-gradient(180deg, #d9ff5e, #b7ef23) !important;
  color: #141221 !important;
  box-shadow: none !important;
  border: 2px solid #0d0b18 !important;
}
html.gm-test2-page .machine-detail-panel button.draw-action:active { transform: none !important; box-shadow: none !important; }
/* 스탯: 내 포인트·무료 뽑기권 위젯 삭제, 2칸 그리드 */
html.gm-test2-page .machine-detail-panel > .mt-5.grid .detail-stat:nth-child(3),
html.gm-test2-page .machine-detail-panel > .mt-5.grid .detail-stat:nth-child(4) { display: none !important; }
html.gm-test2-page .machine-detail-panel > .mt-5.grid { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }

@media (max-width: 900px) {
  /* 상세 순서: 자판기 → 1회가격/잔여 → 뽑기버튼 */
  html.gm-test2-page .machine-detail-panel > .mt-5.grid { order: 3 !important; }
  html.gm-test2-page .machine-detail-panel > .mt-auto { order: 4 !important; }
  /* 상세 하단 스크롤 끝까지 (탭바에 가림) */
  html.gm-test2-page div:has(> .machine-detail-stage) { padding-bottom: 110px !important; }
  /* 라이트모드 자판기 배경 = 흰색 클린 */
  html:not(.gm-dark) body.gm-test2-motion .machine-detail-stage > .mt-5,
  html:not(.gm-dark) .gm-prototype-detail .machine-detail-stage > .mt-5 {
    background: #ffffff !important;
    border-color: rgba(28,26,38,.08) !important;
    box-shadow: none !important;
  }
  /* 층 내비: [필터][1F][2F][3F] — 심볼만, 눌림 해제 */
  body.gm-test2-motion .floor-nav {
    grid-template-columns: 44px repeat(3, minmax(0,1fr)) !important;
  }
  #gm2-catsbtn { grid-row: 1 !important; grid-column: 1 !important; }
  body.gm-test2-motion .floor-nav > .floor-nav__item { padding: 10px 4px !important; }
  body.gm-test2-motion .floor-nav__item .floor-nav__copy { display: none !important; }
  body.gm-test2-motion .floor-nav__item > svg { display: none !important; }
  body.gm-test2-motion .floor-nav__icon .gm2-floor-num { font-size: 13px; }
  /* 실시간 로그: 좌우 풀폭 + 끝쪽 잘린 칩 제거 */
  #gm-live-feed { margin-left: 0 !important; margin-right: 0 !important; width: 100% !important; }
  #gm-live-feed li i { display: none !important; }
  /* 결과 모달 규격 정리 + 라이트 상품명 가독 */
  body.gm-test2-motion .reward-modal { padding: 18px 14px !important; }
  body.gm-test2-motion .reward-modal .capsule-open-impact { width: 100% !important; max-width: 100% !important; padding: 14px 10px !important; }
  body.gm-test2-motion .reward-modal .capsule-open-impact img { max-width: 70% !important; height: auto !important; }
}
/* 라이트모드 결과 상품명(임팩트 카드 내부) 가독 — PC+모바일 */
html:not(.gm-dark) .reward-modal .capsule-open-impact,
html:not(.gm-dark) .reward-modal .capsule-open-impact p,
html:not(.gm-dark) .reward-modal .capsule-open-impact strong,
html:not(.gm-dark) .reward-modal .capsule-open-impact div { color: #1c1a26 !important; }

/* 모바일 내비 컨테이너 좌우 패딩 제거 → 로그/칩이 메인 위젯과 좌우 정렬 */
@media (max-width: 900px) {
  body.gm-test2-motion .floor-nav { padding-left: 0 !important; padding-right: 0 !important; background: transparent !important; border: 0 !important; box-shadow: none !important; }
}

/* ── 모바일 자판기 가운데 정렬 ── */
@media (max-width: 900px) {
  body.gm-test2-motion .gm-curated-line .machine-visual--prototype.machine-visual--mini {
    margin-left: auto !important;
    margin-right: auto !important;
  }
  body.gm-test2-motion .gm-curated-line .compact-machine__body {
    display: grid !important;
    place-items: center !important;
  }
}
/* ── PC 새로고침 회색 스켈레톤: 중복 아님, 장식 전 기본 비주얼(회색 바디+그림자)이 먼저 그려지는 것
      → 장식(data-gm-deco) 완료 전까지 비표시 (플래시·불필요 페인트 제거) ── */
body.gm-test2-motion .gm-curated-line .machine-visual--mini:not([data-gm-deco]) {
  opacity: 0 !important;
  box-shadow: none !important;
}

/* ── PC 자판기 좌우 일치: 비주얼(216px)이 카드 내부 폭 초과(우측 -23px) → 폭 제한+중앙+비율 유지 ── */
body.gm-test2-motion .gm-curated-line .compact-machine__body {
  display: grid !important;
  place-items: center !important;
  overflow: hidden !important;
}
body.gm-test2-motion .gm-curated-line .machine-visual--prototype.machine-visual--mini {
  width: min(100%, 216px) !important;
  height: auto !important;
  aspect-ratio: 216 / 360 !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
/* ── 새로고침 회색 음영의 잔존 원인: 월 자판기 ::before 라디얼 블러 백드롭 → 삭제 ── */
body.gm-test2-motion .gm-curated-line .machine-visual--prototype::before {
  content: none !important;
  display: none !important;
}

/* 진짜 원인: __body가 카드보다 13px 넓음 → 카드 폭으로 클램프 */
body.gm-test2-motion .gm-curated-line .compact-machine {
  overflow: hidden !important;
}
body.gm-test2-motion .gm-curated-line .compact-machine__body {
  width: auto !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* __body 클램프 특이도 상향(gm2-machine-card 스코프 규칙이 우선하던 문제) */
body.gm-test2-motion .gm-curated-line .compact-machine.gm2-machine-card .compact-machine__body,
body.gm-test2-motion .gm-curated-line .gm2-machine-card .compact-machine__body,
body.gm-test2-motion .gm-curated-line .compact-machine[data-gm-curated="1"] .compact-machine__body {
  width: auto !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  transform: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
body.gm-test2-motion .gm-curated-line .compact-machine.gm2-machine-card .machine-visual--prototype.machine-visual--mini,
body.gm-test2-motion .gm-curated-line .gm2-machine-card .machine-visual--prototype.machine-visual--mini {
  width: min(100%, 216px) !important;
  height: auto !important;
  aspect-ratio: 216 / 360 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  transform: none !important;
}

/* 근본 원인: 카드 grid 트랙이 계기판 칩 줄 min-content(193px)에 끌려 카드보다 넓어짐 */
body.gm-test2-motion .gm-curated-line .compact-machine.gm2-machine-card,
body.gm-test2-motion .gm-curated-line .compact-machine[data-gm-curated="1"] {
  grid-template-columns: minmax(0, 1fr) !important;
}
body.gm-test2-motion .gm-curated-line .compact-machine[data-gm-curated="1"] > * {
  min-width: 0 !important;
  max-width: 100% !important;
}
/* 계기판 칩: 카드 내부폭에 맞게 축소 */
body.gm-test2-motion .gm-curated-line .compact-machine .compact-machine__info > div {
  flex-wrap: nowrap !important;
  gap: 6px !important;
  justify-content: center !important;
  min-width: 0 !important;
}
body.gm-test2-motion .gm-curated-line .compact-machine .compact-machine__info > div span,
body.gm-test2-motion .gm-curated-line .compact-machine .compact-machine__info > div span:first-child {
  font-size: 13px !important;
  padding: 4px 8px !important;
  min-width: 0 !important;
  flex: 0 1 auto !important;
  white-space: nowrap !important;
}

/* ── 모바일 푸터 컴팩트 ── */
@media (max-width: 900px) {
  body.gm-test2-motion #gm-footer { padding: 18px 16px 90px !important; }
  body.gm-test2-motion #gm-footer .gm-footer__brand b { font-size: 14px !important; }
  body.gm-test2-motion #gm-footer .gm-footer__brand small { font-size: 10px !important; }
  body.gm-test2-motion #gm-footer .gm-footer__links button { font-size: 11px !important; }
  body.gm-test2-motion #gm-footer .gm-footer__info { font-size: 10px !important; line-height: 1.7 !important; }
  body.gm-test2-motion #gm-footer .gm-footer__note { font-size: 9.5px !important; line-height: 1.6 !important; }
  body.gm-test2-motion #gm-footer .gm-footer__copy { font-size: 9.5px !important; }
}

/* ══════════ TEST3 모바일 헤더/내비 개편 ══════════ */
#gm2-searchbtn { display: none; }
@media (max-width: 900px) {
  /* 검색창 기본 숨김 → 돋보기 토글 */
  body.gm-test2-motion header .mx-auto > *:has(input[placeholder]) { display: none !important; }
  body.gm-test2-motion.gm2-search-open header .mx-auto > *:has(input[placeholder]) { display: flex !important; }
  #gm2-searchbtn {
    display: inline-flex; align-items: center; justify-content: center;
    width: 40px; height: 40px; border-radius: 14px;
    background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.16);
    color: #f4f1ff; cursor: pointer; margin-right: 6px;
  }
  html:not(.gm-dark) #gm2-searchbtn { background: rgba(28,26,38,.06); border-color: rgba(28,26,38,.14); color: #1c1a26; }
  #gm2-searchbtn svg { width: 19px; height: 19px; }
  /* 층 내비: 버튼 박스 제거, 심볼만 */
  body.gm-test2-motion .floor-nav > .floor-nav__item {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 4px !important;
    outline: none !important;
  }
  #gm2-catsbtn { background: transparent !important; border: 0 !important; }
  /* 실시간 로그: 최상단(헤더 앞) 배치 스타일 */
  body.gm-test2-motion > #gm-live-feed,
  .min-h-screen > #gm-live-feed,
  header ~ #gm-live-feed, 
  #gm-live-feed:first-child { border-radius: 0 0 14px 14px; }
  body.gm-test2-motion #gm-live-feed { margin: 0 !important; }
}

/* ── 햄버거 드롭: 아이콘·로그아웃·아바타 ── */
.gm-drop button .gm2-di { width: 16px; height: 16px; margin-right: 9px; vertical-align: -3px; flex: 0 0 auto; }
.gm-drop button { display: flex; align-items: center; }
.gm-drop .gm2-drop-logout { color: #ff6b6b !important; }
.gm-drop .gm-drop__user { display: flex; align-items: center; gap: 10px; }
.gm-drop .gm2-ava { display: inline-flex; flex: 0 0 auto; }
.gm-drop .gm2-ava .gm2-di { width: 30px; height: 30px; margin: 0; opacity: .9; }
.gm-drop .gm2-utxt { display: block; text-align: left; }
.gm-drop .gm2-utxt b, .gm-drop .gm2-utxt small { display: block; }
#gm-me-btn .gm2-di { width: 18px; height: 18px; margin-right: 6px; vertical-align: -4px; }
#gm-me-btn { display: inline-flex !important; align-items: center !important; }
@media (max-width: 900px) {
  /* 햄버거 더 축소 */
  #gm-menu-btn { width: 34px !important; height: 34px !important; min-width: 34px !important; transform: scale(.88); }
  /* 푸터 맨 바닥 — 탭바 높이만큼만 여백 */
  body.gm-test2-motion #gm-footer { padding-bottom: 70px !important; margin-bottom: 0 !important; }
  body.gm-test2-motion #gm-footer .gm-footer__in { padding-bottom: 0 !important; }
  main { padding-bottom: 0 !important; }
}

/* ══════════ TEST3 5차 2026-07-13 — 탭바 단일화·게스트 헤더·한줄 티커·단축아이콘 ══════════ */
/* PC: 층 단축아이콘·필터 라벨 숨김 (기존 층 번호 pill 유지) */
.gm2-floor-ico { display: none; }
#gm2-catsbtn .gm2-sc-box svg { width: 20px; height: 20px; display: block; }
@media (min-width: 901px) {
  #gm2-catsbtn .gm2-sc-lb { display: none; }
}

@media (max-width: 900px) {
  /* 1) 로그인 전: 돋보기·햄버거 숨김 + 헤더에 로그인/가입하기 노출 */
  body.gm2-guest #gm2-searchbtn,
  body.gm2-guest #gm-menu-btn { display: none !important; }
  body.gm2-guest .header-actions #gm-auth-wrap { display: inline-flex !important; gap: 6px; }
  body.gm2-guest #gm-login-btn,
  body.gm2-guest #gm-signup-btn {
    height: 34px; padding: 0 13px !important; border-radius: 11px !important;
    font-size: 12px !important; font-weight: 800 !important; white-space: nowrap;
  }

  /* 2) 실시간 획득 로그: 헤더-메인 사이 한 줄 티커(콘텐츠 좌로 흐름) */
  /* 헤더 바로 아래에 붙어 있을 때만 노출 — React 재렌더로 원래 흐름(1F 큐레이션 위)에 밀려난 순간 노출 방지 */
  #gm-live-feed.gm2-ticker { display: none !important; }
  header + #gm-live-feed.gm2-ticker {
    display: flex !important; align-items: center; gap: 9px;
    margin: 0 !important; padding: 0 12px !important;
    height: 34px; border-radius: 0 !important;
    overflow: hidden; width: 100% !important;
  }
  #gm-live-feed.gm2-ticker .gm-feed-head { margin: 0 !important; font-size: 0 !important; gap: 5px; flex: 0 0 auto; }
  #gm-live-feed.gm2-ticker .gm-feed-head small { font-size: 10px !important; letter-spacing: 1px; }
  #gm-live-feed.gm2-ticker ul { display: none !important; }
  .gm2-ticker-clip { flex: 1 1 auto; min-width: 0; overflow: hidden; }
  .gm2-ticker-track { display: inline-flex; align-items: center; width: max-content; animation: gm2TickerMove 18s linear infinite; }
  .gm2-tk-seg { display: inline-flex; align-items: center; }
  .gm2-ticker-track .gm-feed-item {
    display: inline-flex; align-items: center;
    background: transparent !important; padding: 0 !important; margin: 0 34px 0 0 !important;
    white-space: nowrap; font-size: 11.5px !important;
    height: auto !important; line-height: 34px !important;
    animation: none !important;
  }
  @keyframes gm2TickerMove { from { transform: translateX(0); } to { transform: translateX(-50%); } }

  /* 3) 층 내비 = 단축아이콘 4개 (필터 · 1F · 2F · 3F) */
  body.gm-test2-motion .floor-nav {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 6px !important;
  }
  #gm2-catsbtn { grid-row: 1 !important; grid-column: 1 !important; }
  body.gm-test2-motion .floor-nav > .floor-nav__item,
  body.gm-test2-motion .floor-nav #gm2-catsbtn {
    display: flex !important; flex-direction: column !important;
    align-items: center !important; justify-content: flex-start !important;
    gap: 5px !important; padding: 2px 0 4px !important;
    background: transparent !important; border: 0 !important; box-shadow: none !important;
  }
  body.gm-test2-motion .floor-nav__icon,
  #gm2-catsbtn .gm2-sc-box {
    width: 46px !important; height: 46px !important; border-radius: 15px !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    background: rgba(20, 17, 36, .92) !important;
    border: 1px solid rgba(127, 77, 255, .38) !important;
    box-shadow: none !important; transform: none !important;
    color: #b9a8ff; margin: 0 !important;
  }
  body.gm-test2-motion .floor-nav__icon .gm2-floor-num { display: none !important; }
  body.gm-test2-motion .floor-nav__icon .gm2-floor-ico { display: block; width: 22px; height: 22px; transform: none !important; }
  body.gm-test2-motion .floor-nav__icon .gm2-floor-ico svg { display: block !important; width: 22px; height: 22px; }
  body.gm-test2-motion .floor-nav__item--active .floor-nav__icon {
    background: linear-gradient(180deg, #d9ff5e, #b7ef23) !important;
    border-color: #0d0b18 !important;
    color: #141221;
  }
  body.gm-test2-motion .floor-nav__item .floor-nav__copy { display: block !important; }
  body.gm-test2-motion .floor-nav__item .floor-nav__copy small { display: none !important; }
  body.gm-test2-motion .floor-nav__item .floor-nav__copy strong {
    font-size: 10px !important; font-weight: 800 !important; color: #cfc8ea !important;
    white-space: nowrap !important; line-height: 1.15 !important;
  }
  body.gm-test2-motion .floor-nav__item--active .floor-nav__copy strong { color: #d9ff5e !important; }
  #gm2-catsbtn .gm2-sc-lb { font-size: 10px; font-weight: 800; color: #cfc8ea; line-height: 1.15; }
  /* 라이트 모드 */
  html:not(.gm-dark) body.gm-test2-motion .floor-nav__icon,
  html:not(.gm-dark) #gm2-catsbtn .gm2-sc-box {
    background: #ffffff !important; border-color: rgba(28, 26, 38, .14) !important; color: #6b5bd2;
  }
  html:not(.gm-dark) body.gm-test2-motion .floor-nav__item .floor-nav__copy strong,
  html:not(.gm-dark) #gm2-catsbtn .gm2-sc-lb { color: #55506b !important; }
  html:not(.gm-dark) body.gm-test2-motion .floor-nav__item--active .floor-nav__icon {
    background: linear-gradient(180deg, #d9ff5e, #b7ef23) !important;
    border-color: rgba(28, 26, 38, .5) !important;
    color: #141221;
  }
  html:not(.gm-dark) body.gm-test2-motion .floor-nav__item--active .floor-nav__copy strong { color: #65a30d !important; }
}

/* ══════════ TEST3 6차 2026-07-15 — 카드 폰트·보관함 2열·탭바 고정 ══════════ */
@media (max-width: 900px) {
  /* 자판기 카드: 상품명·가격/잔여 폰트 축소 — 기존 :has()/curated 규칙보다 특이도 상향 */
  body.gm-test2-motion .gm-curated-line .compact-machine .compact-machine__info h3,
  body.gm-test2-motion .compact-machine:has(.machine-visual--prototype) .compact-machine__info h3 {
    font-size: 11px !important; line-height: 1.35 !important;
  }
  body.gm-test2-motion .gm-curated-line .compact-machine .compact-machine__info > div span,
  body.gm-test2-motion .gm-curated-line .compact-machine .compact-machine__info > div span:first-child,
  body.gm-test2-motion .compact-machine:has(.machine-visual--prototype) .compact-machine__info > div span {
    font-size: 11px !important;
    padding: 4px 7px !important;
  }
  /* 보관함 상품 그리드: 2열 */
  body.gm-test2-motion .collection-shelf-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px 10px !important;
  }
  /* 하단 내비바: 항상 바닥 고정 (iOS backdrop-filter+fixed 밀림 방지 — 자체 레이어 승격) */
  #gm-tabbar {
    position: fixed !important; left: 0 !important; right: 0 !important;
    bottom: 0 !important; top: auto !important;
    transform: translateZ(0); -webkit-transform: translateZ(0);
  }
}

/* ============================================================
   PC 좌우 사이드바 스크롤 고정 (2026-07-26)
   .floor-nav / .store-side-panel 에는 원래부터 position:sticky 가 있었지만
   두 곳의 조상이 "스크롤되지 않는 스크롤 컨테이너"라 sticky 가 죽어 있었음.
     1) body{overflow-x:hidden} + html{overflow:auto/scroll}
        → body 가 스크롤 컨테이너가 되고(실제 스크롤은 html), sticky 기준이 body 라 발동 불가
     2) .shop-scene / .shop-scene--wall 의 overflow:hidden
   둘 다 overflow:clip 으로 교체 — 클리핑 결과(가로 스크롤 차단)는 동일하고
   스크롤 컨테이너는 만들지 않음. 좌우 3열 레이아웃 구간(1101px+)에만 적용.
   ============================================================ */
@media (min-width: 1101px) {
  body.gm-test2-motion:not(.gm-modal-open) {
    overflow-x: clip !important;
    overflow-y: visible !important;
  }

  body.gm-test2-motion main.shop-scene,
  body.gm-test2-motion main.shop-scene.shop-scene--wall {
    overflow: clip !important;
  }

  body.gm-test2-motion .shop-main-grid {
    align-items: start !important;
  }

  /* 좌: 층 내비(+카테고리·실시간 로그) · 우: 요약 레일 — 헤더 아래에 붙어 따라 내려옴 */
  body.gm-test2-motion .shop-main-grid > .floor-nav,
  body.gm-test2-motion .shop-main-grid > .store-side-panel {
    position: sticky !important;
    top: 88px !important;
    align-self: start !important;
    max-height: calc(100vh - 104px);
    overflow-y: auto;
    overscroll-behavior: contain;
  }
}

/* ── 20260726) 상세 모달 주요 상품: 가로 2개 · 이미지 확대 ── */
.machine-detail-panel div:has(> .featured-product) {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
}
.machine-detail-panel .featured-product {
  min-height: 0 !important;
  padding: 16px 14px 14px !important;
  align-content: start;
  justify-items: center;
}
.machine-detail-panel .featured-product .product-art {
  width: 100% !important;
  height: auto !important;
  max-width: 230px;
  aspect-ratio: 1 / 1;
  border-radius: 20px;
}
.machine-detail-panel .featured-product .product-art--image .product-art__image {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
  padding: 6px;
}
.machine-detail-panel .featured-product .gm2-odds { font-size: 12.5px; margin-top: 8px; }
.machine-detail-panel .featured-product > p { font-size: 13.5px !important; }
@media (max-width: 600px) {
  .machine-detail-panel .featured-product { padding: 12px 10px !important; }
  .machine-detail-panel .featured-product .gm2-odds { font-size: 11px; }
}

/* 상품명에서 제조사(브랜드) 표기 제거 — 빈 칩이 남지 않도록 */
.compact-machine__info > p:empty,
.machine-visual__sign strong:empty,
.machine-detail-panel p.text-violetpop:empty { display: none !important; }
