/* 비니또리 미니게임 전용 스킨 — 게임 로직과 본편 CSS는 수정하지 않음 */
#bt-heart-game {
  position: fixed; inset: 0; z-index: 99999;
  display: grid; place-items: center;
  padding: 14px;
  background: rgba(66, 34, 60, .12);
  font-family: 'DOSPilgi','휴먼매직체','Malgun Gothic',sans-serif;
  color: #8b4772;
}
#bt-heart-game[hidden],#bt-heart-game .hg-overlay[hidden] {display:none!important}
#bt-heart-game * {box-sizing:border-box}
#bt-heart-game .hg-frame {
  position:relative;
  width:min(84vw,650px);
  padding:13px 15px 11px;
  border:3px solid #cb79a7;
  border-radius:11px;
  background:#fffaf1;
  box-shadow:0 0 0 5px #fff8e7,0 0 0 7px #d99abb,5px 7px 0 #a86b94aa;
}
#bt-heart-game .hg-frame::before {
  content:'♥  ✦  ♡  ✿  ♥';
  position:absolute;top:-17px;right:18px;
  font-size:17px;letter-spacing:5px;color:#d873a9;
  text-shadow:1px 1px #fff;
  pointer-events:none;
}
#bt-heart-game .hg-top {
  display:flex;justify-content:space-between;align-items:center;gap:8px;
  padding:1px 4px 7px;
  font-family:'휴먼매직체','DOSPilgi','Malgun Gothic',sans-serif;
  font-size:clamp(12px,1.8vw,18px);font-weight:bold;
  color:#a14c80;
}
#bt-heart-game .hg-meter {
  height:12px;margin:0 0 9px;
  border:2px solid #dba5c1;border-radius:3px;
  background:#fff;overflow:hidden;
}
#bt-heart-game .hg-fill {
  height:100%;width:0%;
  background:repeating-linear-gradient(90deg,#f5a3cb 0 13px,#f8bdd8 13px 17px);
  transition:width .15s;
}
#bt-heart-game .hg-field {
  position:relative;height:min(43vh,300px);min-height:210px;
  overflow:hidden;touch-action:none;
  border:2px solid #d99aba;border-radius:5px;
  background-color:#fff6ec;
  background-image:
    radial-gradient(#f4d6e6 1px,transparent 1px),
    linear-gradient(180deg,#fff9f4,#fff0e5);
  background-size:17px 17px,100% 100%;
}
#bt-heart-game .hg-field::after {
  content:'';position:absolute;inset:7px;
  border:1px dashed #eec6d8;border-radius:2px;
  pointer-events:none;
}
#bt-heart-game .hg-item {
  position:absolute;display:grid;place-items:center;
  will-change:transform;pointer-events:none;
  font-size:clamp(27px,4.8vw,40px);line-height:1;
}
#bt-heart-game .hg-item.special {
  width:65px;height:80px;
  filter:drop-shadow(1px 2px 1px #e2a4bd);
}
#bt-heart-game .hg-item.special img{width:100%;height:100%;object-fit:contain}
#bt-heart-game .hg-basket {
  position:absolute;bottom:5px;left:0;width:76px;height:55px;
  font-size:43px;text-align:center;pointer-events:none;
  filter:drop-shadow(0 3px 2px #9c4b7a66);
}
#bt-heart-game .hg-popup {
  position:absolute;top:22%;left:0;width:100%;text-align:center;
  color:#c34e8c;font-size:clamp(18px,4vw,30px);font-weight:bold;
  text-shadow:2px 2px #fff;pointer-events:none;
}
#bt-heart-game .hg-overlay {
  position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;
  flex-direction:column;text-align:center;gap:9px;padding:16px;
  background:rgba(255,250,242,.95);
}
#bt-heart-game .hg-overlay::before {
  content:'♡  ✦  ♡';
  font-size:21px;letter-spacing:8px;color:#db91b5;
}
#bt-heart-game .hg-overlay h2 {
  margin:0;
  font-family:'휴먼매직체','DOSPilgi','Malgun Gothic',sans-serif;
  font-size:clamp(22px,3.5vw,29px);
  color:#b5528d;
  text-shadow:1px 2px #f4d6e5;
}
#bt-heart-game .hg-overlay p {
  margin:0;line-height:1.6;
  font-size:clamp(12px,1.6vw,15px);
  color:#88536f;
}
#bt-heart-game button {
  border:2px solid #b75b91;border-radius:5px;
  padding:7px 17px;
  background:#f5b5d4;color:#81345f;
  box-shadow:2px 3px 0 #b47b9c;
  font:inherit;font-weight:bold;cursor:pointer;
}
#bt-heart-game button:hover{background:#ffe1ee}
#bt-heart-game button:active{transform:translate(1px,2px);box-shadow:1px 1px 0 #b47b9c}
#bt-heart-game .hg-actions{display:flex;flex-wrap:wrap;gap:9px;justify-content:center}
#bt-heart-game .hg-hint {
  text-align:center;font-size:clamp(10px,1.3vw,12px);
  margin:8px 0 0;color:#a46d8e;
}
#bt-heart-game .hg-spark {
  position:absolute;pointer-events:none;
  animation:hg-pop .6s ease-out forwards;
  color:#ef4e9b;font-size:24px;
}
@keyframes hg-pop {
  from{opacity:1;transform:translate(0,0) scale(.7)}
  to{opacity:0;transform:translate(var(--dx),var(--dy)) scale(1.7)}
}
@media(max-width:480px) {
  #bt-heart-game{padding:10px}
  #bt-heart-game .hg-frame{width:96vw;padding:10px 9px 9px}
  #bt-heart-game .hg-field{height:43vh;min-height:220px}
  #bt-heart-game .hg-top{font-size:12px}
  #bt-heart-game .hg-item.special{width:55px;height:68px}
  #bt-heart-game .hg-overlay{padding:10px;gap:7px}
}

/* 미니게임 아이템은 컬러 이모지로 표시 */
#bt-heart-game .hg-item,
#bt-heart-game .hg-basket {
  font-family:
    'Apple Color Emoji',
    'Segoe UI Emoji',
    'Noto Color Emoji',
    sans-serif;
}
