/* This anchor shares the clearing's world coordinates, so zooming/panning stays aligned. */
.airdrop-anchor{position:absolute;left:30.5%;top:60%;width:6.5%;min-width:48px;aspect-ratio:1;z-index:12;pointer-events:none}
.airdrop-flight{position:absolute;inset:0;will-change:transform}
.town-scene .airdrop-target{position:absolute;inset:0;display:block;width:100%;height:100%;padding:0;border:0;background:transparent;box-shadow:none;pointer-events:auto;overflow:visible;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.town-scene .airdrop-target:hover,.town-scene .airdrop-target:active{background:transparent;transform:none;box-shadow:none}
.airdrop-target:focus-visible{outline:2px solid #ffd16b;outline-offset:6px;border-radius:12px}
.airdrop-sway{display:block;position:absolute;inset:0;transform-origin:50% -110%;animation:airdrop-sway 3.8s ease-in-out infinite;pointer-events:none}
.airdrop-crate{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 3px 2px #05101566)}
.airdrop-chute{position:absolute;bottom:70%;left:-65%;width:230%;aspect-ratio:180/175;transform-origin:50% 0;transition:opacity .4s,transform .65s;pointer-events:none}
.airdrop-chute>img{position:absolute;top:0;left:0;width:100%;height:auto;filter:brightness(.95)}
.airdrop-chute svg{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#c8ba92;stroke-width:1.2}
.airdrop-timer{position:absolute;bottom:110%;left:50%;transform:translateX(-50%);border-radius:6px;padding:5px 7px;background:#0c202bee;color:#ffe29b;font:700 10px/1.2 system-ui;white-space:nowrap;pointer-events:none}
.airdrop-falling .airdrop-timer{bottom:-28px;background:#162e3ded}
.airdrop-falling .airdrop-target:before{content:'';position:absolute;left:-65%;top:-230%;width:230%;height:330%;pointer-events:auto}
.airdrop-ground-shadow{position:absolute;left:5%;right:5%;bottom:0;height:20%;border-radius:50%;background:#08101770;filter:blur(3px);opacity:.3}
.airdrop-landed .airdrop-ground-shadow{opacity:.8}
.airdrop-landed .airdrop-sway{animation:none;transform:none}
.airdrop-landed .airdrop-chute{opacity:0;transform:translate(35%,-10%) rotate(18deg) scale(.4)}
.airdrop-touchdown .airdrop-crate{animation:airdrop-land .7s cubic-bezier(.2,.75,.3,1)}
.airdrop-dust{position:absolute;inset:0;pointer-events:none}
.airdrop-dust i{position:absolute;left:50%;bottom:4%;width:32%;height:25%;border-radius:50%;background:#bec6b88c;opacity:0;filter:blur(4px);--dust-x:-65px}
.airdrop-dust i:nth-child(2){--dust-x:65px}.airdrop-dust i:nth-child(3){--dust-x:-30px;bottom:20%}.airdrop-dust i:nth-child(4){--dust-x:35px;bottom:25%}.airdrop-dust i:nth-child(5){--dust-x:0px;bottom:35%}
.airdrop-touchdown .airdrop-dust i,.airdrop-gone .airdrop-dust i{animation:airdrop-puff .85s ease-out both}
.airdrop-gone .airdrop-dust i{animation-name:airdrop-expire-puff}
.airdrop-gone .airdrop-flight{animation:airdrop-disappear .45s ease-in both}
[data-has-airdrop]{position:relative}
.airdrop-nav-crate{position:absolute!important;right:-8px!important;top:-5px!important;width:28px!important;height:28px!important;object-fit:contain;z-index:5;pointer-events:none;animation:airdrop-bounce 3.2s ease-in-out infinite;filter:drop-shadow(0 2px 3px #0008)}
.dock-base-art>.airdrop-nav-crate{right:-12px!important;top:-3px!important;width:30px!important;height:30px!important}
#modal .airdrop-reveal{width:min(430px,100%);height:auto;max-height:calc(100dvh - 32px);margin:auto;padding:24px;overflow-y:auto;border:0;border-radius:20px;background:#153541;box-shadow:0 22px 55px #020b1299}
#modal .airdrop-reveal>.modal-close{position:absolute;top:18px;right:18px;width:36px;height:36px;border:0;border-radius:11px;background:#244653;color:#e0edf0;box-shadow:none}
.airdrop-reveal-content{width:100%;min-width:0}
.airdrop-reveal-head{display:flex;align-items:center;gap:16px;min-height:86px;padding-right:38px}
.airdrop-reveal-hero{display:block;flex:none;width:90px;height:90px;object-fit:contain;filter:drop-shadow(0 6px 8px #07192266);animation:airdrop-found .55s cubic-bezier(.2,1.2,.4,1) both}
.airdrop-reveal-title{min-width:0}
.airdrop-reveal .airdrop-eyebrow{display:block;margin:0 0 5px;color:#e6bc70;font-size:9px;font-weight:800;letter-spacing:1.4px;line-height:1.4}
.airdrop-reveal h2{margin:0;color:#ffe6ac;font:700 25px/1.13 Georgia,serif;letter-spacing:0}
.airdrop-rewards-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:21px 0 9px}
.airdrop-rewards-head strong{color:#ffe6ac;font-size:10px;font-weight:800;letter-spacing:1px}
.airdrop-expiry{color:#adc5cb;font-size:11px;white-space:nowrap}
.airdrop-loot{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 16px}
.airdrop-loot[data-reward-count="4"]{grid-template-columns:repeat(2,minmax(0,1fr))}
.airdrop-loot>div{min-width:0;min-height:111px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;padding:10px 5px;border:0;border-radius:12px;background:#224452;text-align:center;box-shadow:0 5px 14px #081a2340;animation:airdrop-reward-in .35s both;animation-delay:var(--reveal-delay)}
.airdrop-loot>div :is(img,svg){flex:none;max-width:36px;max-height:36px}
.airdrop-loot strong{color:#ffdc8b;font-size:15px;line-height:1.2}.airdrop-loot span{max-width:100%;color:#d9e7e9;font-size:10px;line-height:1.25;overflow-wrap:anywhere}
.airdrop-loot .airdrop-special{background:#2c4b5b}
.airdrop-claim{width:100%;min-height:46px;border:0!important;border-radius:11px;background:#ffd166!important;color:#162f3b!important;font-size:13px;font-weight:800;box-shadow:0 4px 0 #c89439!important}
.airdrop-claim:hover:not(:disabled){background:#ffe08b!important}
.airdrop-claim-error:empty{display:none}.airdrop-claim-error{margin:12px 0 0;color:#ffa5a0;font-size:12px;text-align:center}
@keyframes airdrop-sway{0%,100%{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}
@keyframes airdrop-land{0%{transform:scale(1.1,.8)}35%{transform:translateY(-8px) scale(.96,1.05)}65%{transform:scale(1.03,.96)}100%{transform:none}}
@keyframes airdrop-puff{0%{opacity:0;transform:scale(.3)}15%{opacity:.75}100%{opacity:0;transform:translate(var(--dust-x),-20px) scale(2.5)}}
@keyframes airdrop-expire-puff{0%{opacity:0;transform:scale(.5)}15%{opacity:.8}100%{opacity:0;transform:translate(var(--dust-x),-30px) scale(3)}}
@keyframes airdrop-disappear{to{opacity:0;transform:scale(.6) translateY(-12px)}}
@keyframes airdrop-bounce{0%,13%,26%,100%{transform:translateY(0) rotate(0)}6%,20%{transform:translateY(-6px) rotate(-6deg)}}
@keyframes airdrop-found{from{opacity:0;transform:translateY(-45px) rotate(-12deg) scale(.65)}to{opacity:1;transform:none}}
@keyframes airdrop-reward-in{from{opacity:0;transform:translateY(16px) scale(.9)}to{opacity:1;transform:none}}
.reduce-motion .airdrop-anchor *,.reduce-motion .airdrop-nav-crate,.reduce-motion .airdrop-reveal *,.reduce-motion .airdrop-reveal *:before,.airdrop-still *{animation:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){.airdrop-anchor *,.airdrop-nav-crate,.airdrop-reveal *,.airdrop-reveal *:before{animation:none!important;transition:none!important}}
@media(max-width:380px){#modal .airdrop-reveal{padding:20px}.airdrop-reveal-head{gap:10px}.airdrop-reveal-hero{width:76px;height:76px}.airdrop-reveal h2{font-size:22px}}
@media(max-height:650px){#modal .airdrop-reveal{padding-block:18px}.airdrop-reveal-head{min-height:72px}.airdrop-reveal-hero{width:72px;height:72px}.airdrop-rewards-head{margin-top:14px}.airdrop-loot>div{min-height:88px}}
