/* One visual sequence; shell owns expiry and business state. */
.bgl-hit-layer{position:absolute;inset:0;z-index:20;perspective:1400px;pointer-events:none}
.bgl-hit-shade{position:absolute;inset:0;background:#01070cbd;opacity:1}
.bgl-hit-window{position:absolute;left:50%;top:50%;width:980px;min-height:500px;padding:36px 70px 38px;transform:translate(-50%,-50%);text-align:center;border:2px solid #e4c17c;border-radius:22px;background:linear-gradient(145deg,#16241ff5,#07100ffb 64%,#2f2919f7);box-shadow:0 0 0 8px #e4c17c0a,0 28px 100px #0009,inset 0 1px 0 #ffedbe55;color:#eedbb0}
.bgl-hit-window::before{content:"";position:absolute;left:16%;right:16%;top:-2px;height:3px;background:linear-gradient(90deg,transparent,#fff4d0,transparent)}
.bgl-hit-kicker{font-size:22px;letter-spacing:5px;color:#ceb684}
.bgl-hit-icon{width:112px;height:112px;margin:26px auto 20px;color:#f0d49a}
.bgl-hit-window h2{font-size:68px;line-height:1.2;font-weight:750;margin:0;overflow-wrap:anywhere}
.bgl-hit-window.is-long h2{font-size:48px}
.bgl-hit-actor,.bgl-hit-reward{font-size:30px;line-height:1.35;margin:22px 0;color:#e8d2a5;overflow-wrap:anywhere}
.bgl-hit-progress{font-size:22px;margin-top:30px;color:#a59f8b;border-top:1px solid #dec38733;padding-top:22px}
.bgl-hit-progress strong{font-size:28px;color:#ecd7a6;margin-left:14px;font-variant-numeric:tabular-nums}
.bgl-hit-ring{position:absolute;left:50%;top:50%;width:520px;height:520px;margin:-260px;border:2px solid #f5d68d;border-radius:50%;opacity:0;pointer-events:none}
.bgl-hit-flight{position:absolute;left:var(--hit-x);top:var(--hit-y);width:var(--hit-width);height:var(--hit-height);perspective:1000px;opacity:0;transform-origin:center}
.bgl-hit-flip,.bgl-hit-front,.bgl-hit-back{position:absolute;inset:0;transform-style:preserve-3d}
.bgl-hit-front,.bgl-hit-back{backface-visibility:hidden;-webkit-backface-visibility:hidden}
.bgl-hit-back{transform:rotateY(180deg)}
.bgl-hit-front>.bgl-cell,.bgl-hit-back>.bgl-cell{width:100%;height:100%;margin:0}
.bgl-hit-origin{visibility:hidden;animation:bgl-hit-return 1.9s both}
.bgl-hit-layer.is-animated .bgl-hit-shade{animation:bgl-hit-dim .75s .6s both}
.bgl-hit-layer.is-animated .bgl-hit-window{animation:bgl-hit-popup .65s .25s cubic-bezier(.2,.75,.2,1) both}
.bgl-hit-layer.is-animated.has-flight .bgl-hit-window{animation-delay:1.6s}
.bgl-hit-layer.is-animated .bgl-hit-ring{animation:bgl-hit-pulse 1.25s .35s ease-out both}
.bgl-hit-layer.is-animated.has-flight .bgl-hit-ring{animation-delay:1.2s}
.bgl-hit-layer.is-animated .bgl-hit-flight{animation:bgl-hit-travel 1.9s cubic-bezier(.24,.66,.26,1) both}
.bgl-hit-layer.is-animated .bgl-hit-flip{animation:bgl-hit-turn .9s cubic-bezier(.4,0,.2,1) both}
@keyframes bgl-hit-turn{from{transform:rotateY(0)}to{transform:rotateY(180deg)}}
@keyframes bgl-hit-travel{0%,40%{opacity:1;left:var(--hit-x);top:var(--hit-y);transform:scale(1);filter:drop-shadow(0 0 0 #edcf8c00)}75%,88%{opacity:1;left:835px;top:355px;transform:scale(1.65);filter:drop-shadow(0 0 28px #edcf8c88)}100%{opacity:0;left:835px;top:355px;transform:scale(1.75);filter:drop-shadow(0 0 28px #edcf8c88)}}
@keyframes bgl-hit-popup{from{opacity:0;transform:translate(-50%,-50%) scale(.82)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes bgl-hit-dim{from{opacity:0}to{opacity:1}}
@keyframes bgl-hit-pulse{0%{opacity:0;transform:scale(.4)}12%{opacity:.65}100%{opacity:0;transform:scale(2.5)}}
@keyframes bgl-hit-return{0%,95%{visibility:hidden}100%{visibility:visible}}
.bgl-hit-back>.bgl-cell{background:linear-gradient(135deg,#614b2b,#2c2212 68%,#614b2b)}
@media(prefers-reduced-motion:reduce){.bgl-hit-layer .bgl-hit-window,.bgl-hit-layer .bgl-hit-shade{opacity:1;animation:none!important}.bgl-hit-flight,.bgl-hit-ring{display:none}.bgl-hit-origin{visibility:visible}}
