.gacha-title{margin:0 0 4px;color:#f1d28b;font-family:Georgia,'Times New Roman',serif;letter-spacing:2px}
.gacha-hint{margin:0 0 14px;color:#aebbd0}
.gacha-flip-card{position:relative;isolation:isolate;display:block;width:min(240px,64vw,calc((100vh - 230px)*.538));height:auto;aspect-ratio:240/446;margin:4px auto 18px;padding:0;border:0;background:transparent;cursor:pointer;perspective:1100px}
.gacha-card-inner{position:relative;display:block;width:100%;height:100%;transition:transform .8s cubic-bezier(.2,.72,.25,1);transform-style:preserve-3d}
.gacha-flip-card.is-flipped .gacha-card-inner{transform:rotateY(180deg)}
.gacha-card-face{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:14% 13%;box-sizing:border-box;backface-visibility:hidden;-webkit-backface-visibility:hidden;border:0;background:transparent center/100% 100% no-repeat}
.gacha-card-front:before{content:"";position:absolute;inset:4% 7%;z-index:-1;border-radius:10px;background:radial-gradient(circle at 50% 36%,#2b2545,#101626 62%,#070a13);box-shadow:inset 0 0 30px #000c}
.gacha-card-front:after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:var(--card-front) center/100% 100% no-repeat}
.gacha-card-front>*{position:relative;z-index:1}
.gacha-card-back{background-image:var(--card-back)}
.gacha-card-front{transform:rotateY(180deg);z-index:0;color:#e8edf5}
.gacha-result-icon{width:92px;height:92px;object-fit:contain;filter:drop-shadow(0 0 12px #d5a348)}
.gacha-card-front>b{font-size:20px;color:#f5d98c}
.gacha-card-front .item-rarity{font-size:14px}
.gacha-card-front small{max-width:190px;color:#aebbd0;text-align:center;font-size:11px}
.gacha-close-button:disabled{opacity:.4;cursor:not-allowed}
/* 뽑기 → 영상재생(전체화면 오버레이) → 결과발표 순서. 결과창이 열릴 때 살짝 페이드인. */
.gacha-card-grid.gacha-result-in,.gacha-flip-card.gacha-result-in{animation:gachaResultIn .45s ease}
@keyframes gachaResultIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.gacha-card-grid.gacha-result-in,.gacha-flip-card.gacha-result-in{animation:none}}
/* 뽑기 전체화면 인트로 영상 오버레이 — 모달과 별개로 화면 전체를 덮는다. ESC로 스킵 가능. */
.gacha-video-overlay{position:fixed;inset:0;z-index:500;background:#000;display:flex;align-items:center;justify-content:center}
.gacha-video-overlay.hidden{display:none}
.gacha-video-fullscreen{width:100%;height:100%;object-fit:contain;background:#000}
.gacha-video-skip-hint{position:absolute;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));padding:7px 16px;border-radius:20px;background:#000a;color:#e7dcc0;font-size:12px;letter-spacing:.3px;border:1px solid #3a4562;pointer-events:none}
/* 영상 후반부에 뽑은 카드 등급에 따라 색이 변하는 오버레이 글로우 — 등급이 높을수록 진하고 강하게 펄스한다 */
.gacha-video-rarity-glow{position:absolute;inset:0;z-index:501;opacity:0;pointer-events:none;background:radial-gradient(closest-side,var(--grade-glow,transparent),transparent 72%);mix-blend-mode:screen;transition:opacity .5s ease}
.gacha-video-rarity-glow.is-active{opacity:1;animation:gachaVideoGlowPulse 1s ease-in-out infinite alternate}
.gacha-video-rarity-glow.grade-common{--grade-glow:#d8925c4d}
.gacha-video-rarity-glow.grade-normal{--grade-glow:#c3ccd84d}
.gacha-video-rarity-glow.grade-rare{--grade-glow:#3d8bff66}
.gacha-video-rarity-glow.grade-unique{--grade-glow:#ffc54a88}
.gacha-video-rarity-glow.grade-legendary{--grade-glow:#d77bffbb}
.gacha-video-rarity-glow.grade-mystic{--grade-glow:#ff3b3bd9}
@keyframes gachaVideoGlowPulse{from{opacity:.5;transform:scale(1)}to{opacity:1;transform:scale(1.12)}}
@media(prefers-reduced-motion:reduce){.gacha-video-rarity-glow.is-active{animation:none;opacity:.85}}
.shop-actions{display:flex;flex-direction:column;gap:7px;width:100%;align-items:center}
.shop-actions .menu-btn{width:min(210px,100%);font-size:11px}
.gacha-card-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;width:min(620px,calc(100vw - 110px),calc((100vh - 330px)*1.34));min-width:260px;margin:8px auto 16px}
.gacha-mini-card{width:100%;height:auto;margin:0}
.gacha-mini-card .gacha-card-face{padding:16% 12%;gap:5px}
.gacha-mini-card .gacha-card-front:before{border-radius:5px}
.gacha-mini-card .gacha-result-icon{width:48px;height:48px}
.gacha-mini-card .gacha-card-front>b{font-size:11px;text-align:center}
.gacha-mini-card .gacha-card-front .item-rarity,.gacha-mini-card .gacha-card-front small{font-size:9px}
.gacha-reveal-all{margin:0 6px 8px}
@media(max-width:600px){.gacha-card-grid{gap:5px}.gacha-mini-card .gacha-card-front>b{font-size:9px}.gacha-mini-card .gacha-result-icon{width:30px;height:30px}.gacha-mini-card .gacha-card-front small{display:none}}

/* 등급 카드: 공개 후 상위 등급일수록 뒤쪽 후광 */
.gacha-flip-card:before{content:"";position:absolute;inset:-10%;z-index:-1;border-radius:50%;opacity:0;transition:opacity .6s .45s;pointer-events:none;background:radial-gradient(closest-side,var(--grade-glow,transparent),transparent)}
.gacha-flip-card.is-flipped:before{opacity:1}
.gacha-flip-card.grade-rare{--grade-glow:#3d8bff55}
.gacha-flip-card.grade-unique{--grade-glow:#ffc54a77}
.gacha-flip-card.grade-legendary{--grade-glow:#d77bffaa}
.gacha-flip-card.grade-mystic{--grade-glow:#ff3b3bbb}
.gacha-flip-card.grade-legendary.is-flipped:before,.gacha-flip-card.grade-mystic.is-flipped:before{animation:gachaGlow 1.6s ease-in-out .9s infinite alternate}
@keyframes gachaGlow{from{transform:scale(.94)}to{transform:scale(1.06)}}
.rate-info{position:relative;display:inline-block;vertical-align:middle;margin-left:2px}
.rate-info-btn{width:16px;height:16px;padding:0;border-radius:50%;border:1px solid #8a95ab;background:#1c2437;color:#c7d0e0;font-size:10px;line-height:1;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.rate-info-btn:hover,.rate-info-btn:focus-visible{border-color:#f1d28b;color:#f1d28b}
.rate-tooltip{position:absolute;left:50%;bottom:calc(100% + 9px);transform:translateX(-50%) translateY(4px);width:max-content;max-width:min(260px,72vw);padding:8px 12px;border-radius:8px;background:#0d1220;border:1px solid #3a4562;box-shadow:0 6px 18px #000a;font-size:10px;line-height:1.7;font-weight:700;text-align:center;white-space:normal;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s ease,transform .15s ease;z-index:20}
.rate-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:6px solid transparent;border-top-color:#3a4562}
.rate-info:hover .rate-tooltip,.rate-info-btn:focus-visible+.rate-tooltip,.rate-info.is-open .rate-tooltip{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
@media(prefers-reduced-motion:reduce){.gacha-card-inner{transition:none}.gacha-flip-card:before{animation:none!important}}
