/* World-space animal encounter: feet and package share the authored path surface. */
.map-event-gift .map-event-scene{width:18%;height:9%;min-width:0;max-width:none;aspect-ratio:auto;transform:translate(-50%,-50%)}
.map-event-gift .map-event-ground{inset:auto;left:57.5%;top:48%;width:38%;height:42%;z-index:4}
.map-event-gift .map-event-weather{display:none}
.map-event-hare,.map-event-robin{position:absolute;background-repeat:no-repeat;background-size:400% 200%;pointer-events:none;image-rendering:auto;transform:translate3d(var(--gift-dx,0%),calc(-1 * var(--gift-foot,90.039%) + var(--gift-dy,0%)),0);animation:none}
.map-event-hare{left:2%;top:83%;width:30%;aspect-ratio:384/512;background-image:url('assets/wildlife-hare-v65.webp');z-index:6}
.map-event-hare-shadow{position:absolute;left:5%;top:80.8%;width:24%;height:5%;border-radius:50%;background:radial-gradient(ellipse,#29455770,transparent 71%);pointer-events:none;z-index:1;transform-origin:center}
.map-event-robin{left:43%;top:30%;width:20%;aspect-ratio:384/512;background-image:url('assets/wildlife-robin-v65.webp');z-index:7;--gift-foot:75.586%}
.map-event-robin-perch{position:absolute;left:53%;top:30%;width:12%;height:53%;pointer-events:none;z-index:2}
.map-event-robin-perch::before{content:'';position:absolute;left:55%;top:0;width:9%;height:100%;border-radius:40%;background:linear-gradient(90deg,#49392e,#9a7552 55%,#564332);transform:rotate(-5deg);transform-origin:bottom}
.map-event-robin-perch::after{content:'';position:absolute;left:0;top:-1%;width:100%;height:4%;border-radius:50%;background:linear-gradient(#f0f6f6 0 26%,#9a7653 30% 60%,#5f4531 70%);transform:rotate(-7deg)}
.map-event-parcel{position:absolute;left:calc(76.5% - var(--gift-give-progress,0) * 19%);bottom:14%;width:25%!important;height:auto!important;aspect-ratio:1;min-width:calc(48px * var(--world-ui-scale,1))!important;min-height:calc(48px * var(--world-ui-scale,1))!important;padding:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;z-index:3;pointer-events:auto;touch-action:none;transform:translate(calc(-50% + var(--parcel-drag-x,0px)),var(--parcel-drag-y,0px));cursor:grab;isolation:isolate;animation:none}
.map-event-parcel::before{content:'';position:absolute;left:25%;right:25%;bottom:-1.5%;height:8%;border-radius:50%;background:radial-gradient(ellipse,#213c5370,transparent 72%);z-index:-1;pointer-events:none}
.map-event-parcel img{width:100%;height:100%;object-fit:contain;pointer-events:none;filter:drop-shadow(0 1px 1px #2543593b);transform:scale(.55);transform-origin:center bottom}
.map-event-parcel:disabled{opacity:1;pointer-events:none}.map-event-parcel:focus-visible{outline:calc(3px * var(--world-ui-scale,1)) solid #ffd17a;outline-offset:calc(3px * var(--world-ui-scale,1))}
.map-event-gift[data-phase=offered] .map-event-parcel,.map-event-gift[data-phase=deferred] .map-event-parcel{clip-path:inset(0 0 35%)}
.map-event-gift:is([data-phase=found],[data-phase=returned]) .map-event-ground{visibility:hidden}
.map-event-gift-snow{position:absolute;left:calc(var(--map-event-segment) * 33.333%);top:0;width:33.334%;height:100%;background:url('assets/storm-drift-v97.webp') calc(var(--map-event-segment) * 50%) center/300% 100% no-repeat;pointer-events:none}
.map-event-gift-snow[data-cleared=true]{visibility:hidden}
.map-event-gift .map-event-snow-segment{left:50%;top:50%;width:calc(64px * var(--world-ui-scale,1))!important;height:calc(64px * var(--world-ui-scale,1))!important;max-width:none!important;max-height:none!important;transform:translate(-50%,-50%);background:none!important;z-index:2;border-radius:50%!important}
.map-event-gift .map-event-snow-segment::after{content:'↔';position:absolute;inset:22%;display:grid;place-items:center;border:calc(1px * var(--world-ui-scale,1)) solid #fff4caaa;border-radius:50%;background:#35576a57;color:#fff7dc;font:700 calc(20px * var(--world-ui-scale,1))/1 system-ui;pointer-events:none}
.map-event-gift .map-event-snow-segment span,.map-event-gift .map-event-snow-segment:disabled,.map-event-gift .map-event-snow-segment[data-cleared=true]{display:none}
.map-event-gift[data-calm=true] :is(.map-event-hare,.map-event-robin,.map-event-parcel){animation:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){.map-event-gift *{animation:none!important;transition:none!important}}
