/* GP 상점 바텀시트 */
.shop-sheet{position:fixed;inset:0;z-index:11200;pointer-events:none;}
.shop-sheet.open{pointer-events:auto;}
.shop-dim{position:absolute;inset:0;background:rgba(0,0,0,.6);opacity:0;transition:opacity .2s;backdrop-filter:blur(2px);}
.shop-sheet.open .shop-dim{opacity:1;}
.shop-card{position:absolute;left:0;right:0;bottom:0;max-width:520px;margin:0 auto;
  background:linear-gradient(180deg,#16171c,#0c0c0f);
  border:1px solid rgba(255,255,255,.08);border-bottom:none;
  border-radius:22px 22px 0 0;padding:10px 16px calc(20px + env(safe-area-inset-bottom));
  transform:translateY(100%);transition:transform .26s cubic-bezier(.2,.8,.2,1);}
.shop-sheet.open .shop-card{transform:translateY(0);}
.shop-grip{width:38px;height:4px;border-radius:99px;background:rgba(255,255,255,.22);margin:6px auto 12px;}
.shop-head{display:flex;align-items:center;justify-content:space-between;margin:0 4px 12px;}
.shop-title{font-size:15px;font-weight:800;color:#fff;}
.shop-bal{font-size:13px;font-weight:900;color:#c9d1e0;background:rgba(201,209,224,.12);
  border:1px solid rgba(201,209,224,.3);padding:4px 10px;border-radius:99px;}
.shop-head-right{display:flex;align-items:center;gap:8px;}
.shop-charge{border:none;border-radius:99px;padding:5px 12px;font-size:13px;font-weight:900;cursor:pointer;
  background:linear-gradient(135deg,#5b8cff,#3d6bff);color:#fff;}
.shop-list{display:flex;flex-direction:column;gap:10px;max-height:64vh;overflow-y:auto;}
.shop-group-label{font-size:12px;font-weight:800;color:#9aa0ad;margin:8px 2px 0;letter-spacing:-.2px;}
.shop-group-label:first-child{margin-top:0;}
.si-buy.owned{background:rgba(255,255,255,.06);color:#8b909b;border:1px solid rgba(255,255,255,.1);cursor:default;}
.shop-item{display:flex;align-items:center;gap:12px;padding:13px 13px;border-radius:14px;
  background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07);}
.si-emoji{font-size:24px;width:42px;height:42px;flex:none;border-radius:11px;
  display:flex;align-items:center;justify-content:center;background:rgba(201,209,224,.1);
  border:1px solid rgba(201,209,224,.25);}
.si-mid{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1;}
.si-name{font-size:14px;font-weight:800;color:#fff;}
.si-owned{font-size:10.5px;font-weight:800;color:#0a0a0b;background:#c9d1e0;
  padding:1px 6px;border-radius:99px;margin-left:4px;}
.si-desc{font-size:11.5px;color:#9aa0ad;line-height:1.35;}
.si-buy{flex:none;padding:9px 12px;border-radius:10px;border:none;cursor:pointer;
  font-size:12.5px;font-weight:800;background:linear-gradient(135deg,#c9d1e0,#dfe5f0);color:#0a0a0b;}
.si-buy.no{background:#26262a;color:#6b7280;cursor:default;}
.shop-note{margin-top:14px;text-align:center;font-size:11.5px;color:#6b7280;}

/* 부활 버튼 (격파 댓글) */
.revive-btn{margin-left:8px;padding:3px 10px;border-radius:99px;border:1px solid rgba(201,209,224,.5);
  background:rgba(201,209,224,.12);color:#c9d1e0;font-size:11px;font-weight:800;cursor:pointer;
  animation:revPulse 1.8s ease-in-out infinite;}
@keyframes revPulse{0%,100%{box-shadow:0 0 0 0 rgba(201,209,224,.3)}50%{box-shadow:0 0 10px 2px rgba(201,209,224,.25)}}

/* 사용처 안내 + 보유 강조 (중복 구매 방지) */
.si-use { display:block; margin-top:3px; font-size:11px; color:#7d86ff; line-height:1.45; }
.si-owned {
  display:inline-block; margin-left:6px; padding:1.5px 8px; border-radius:999px;
  background:#2a2410; border:1px solid #f5c34255; color:#f5c342;
  font-size:10.5px; font-weight:900; vertical-align:1px;
}
.shop-item.has-owned { background:rgba(245,195,66,.045); border-radius:12px; }

/* 상점 탭 (구매 / 보유) */
.shop-tabs { display:flex; gap:6px; padding:2px 0 10px; }
.shop-tab {
  flex:1; padding:9px 0; border-radius:11px; cursor:pointer;
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.09);
  color:#8a8f9c; font-size:13px; font-weight:800; font-family:inherit;
}
.shop-tab.on { background:rgba(125,134,255,.14); border-color:#7d86ff66; color:#dfe3f5; }
.shop-tab b { color:#f5c342; margin-left:2px; }
.shop-inv-empty { padding:34px 12px; text-align:center; color:#7a8090; font-size:13.5px; line-height:1.7; }
.shop-inv-empty small { color:#565c69; }

/* 탭 전환 — hidden 속성은 display:flex에 지므로 클래스로 끈다 */
.shop-list.off { display: none !important; }

/* 시트 닫기 — ✕ 버튼 + 상단부 드래그 */
.shop-grip, .shop-head, .shop-tabs { touch-action: none; }  /* 드래그 제스처 전용 영역 */
