/* Caça-Veado: floresta em camadas à noite */
.arena.hunt{background:linear-gradient(180deg,#0B1022 0%,#1A2238 46%,#141B12 62%);cursor:crosshair}
.hsky{position:absolute;inset:0;pointer-events:none}
.hmoon{position:absolute;right:14%;top:8%;width:54px;height:54px;border-radius:50%;background:#F2E9D0;box-shadow:0 0 30px rgba(242,233,208,.5)}
.hlay{position:absolute;left:0;right:0;bottom:30%;height:60%;pointer-events:none}
.hlay.l2{bottom:24%;height:56%}
.hunt-tr{position:absolute;bottom:0;width:auto}
.hground{position:absolute;left:0;right:0;bottom:0;height:34%;background:linear-gradient(180deg,#24361E,#152212);pointer-events:none}
.hdeer{position:absolute;left:0;top:0;width:120px;height:110px;transform-origin:0 0;pointer-events:none;will-change:transform}
.hdeer svg{width:120px;height:110px;display:block;overflow:visible;transition:transform .4s cubic-bezier(.5,0,.7,1),opacity .6s .5s}
.hdeer.graze .dhd{animation:hgraze 1.6s ease-in-out infinite;transform-box:fill-box;transform-origin:0% 100%}
@keyframes hgraze{0%,100%{transform:none}50%{transform:rotate(38deg) translate(4px,10px)}}
.hdeer.dead svg{transform:rotate(80deg) translate(10px,-30px);opacity:0}
.hdeer.dead .dey{opacity:0}.hdeer.dead .dex{opacity:1}
.hrng{position:absolute;right:-110px;bottom:24%;width:96px;transition:right .4s cubic-bezier(.3,1.3,.5,1);pointer-events:none;z-index:4;text-align:center}
.hrng svg{width:100%;height:auto;display:block}
.hrng span{display:block;font-weight:900;font-size:10px;color:#9EC5FF;background:rgba(0,0,0,.6);border-radius:6px;padding:2px 4px;margin-top:-4px}
.hrng.on{right:6px}
.arena.hunt:has(.hrng.on){box-shadow:inset 0 0 0 4px rgba(45,140,255,.7)}
.hgun{position:absolute;left:50%;bottom:-30px;width:190px;margin-left:-95px;pointer-events:none;z-index:7}
.hgr{transform-origin:50% 100%;transform:rotate(var(--an,0deg));transition:transform .08s}
.hgr svg{width:100%;height:auto;display:block;filter:drop-shadow(0 -6px 18px rgba(0,0,0,.6))}
.hgr .hfl{opacity:0;transform-box:fill-box;transform-origin:center}
.hgr.kick{animation:hkick .22s ease-out}.hgr.kick .hfl{animation:hfl .16s ease-out}
@keyframes hkick{0%{transform:rotate(var(--an,0deg)) translateY(0)}30%{transform:rotate(calc(var(--an,0deg) - 4deg)) translateY(22px)}100%{transform:rotate(var(--an,0deg)) translateY(0)}}
@keyframes hfl{0%{opacity:1;transform:scale(1.3)}100%{opacity:0;transform:scale(.6)}}
.hvig{position:absolute;inset:0;pointer-events:none;z-index:6;background:radial-gradient(ellipse 75% 65% at 50% 45%,transparent 60%,rgba(0,0,0,.65))}
.hcross.aimv{opacity:.85}
.hmsg{position:absolute;left:8px;right:8px;top:22%;text-align:center;font-family:var(--f-display);font-weight:800;font-size:26px;text-shadow:0 2px 0 #000,0 0 10px #000;opacity:0;pointer-events:none;z-index:6}
.hmsg.on{animation:ctmsg 1.3s ease-out forwards}
.hx2{position:absolute;right:14px;top:10px;font-family:var(--f-display);font-weight:800;font-size:20px;color:#FFD23F;text-shadow:0 2px 0 #000;z-index:6}
.hcross{position:absolute;width:56px;height:56px;margin:-28px 0 0 -28px;pointer-events:none;opacity:0;z-index:6}
.hcross svg{width:100%;height:100%}
.hcross.on{animation:hcross .35s ease-out}
.hrng{z-index:8}
@keyframes hcross{0%{opacity:1;transform:scale(1.4)}100%{opacity:0;transform:scale(.8)}}
