.kk-gift-layer { position:fixed; inset:0; pointer-events:none; z-index:35; }
.kk-gift-stack { position:fixed; width:60px; height:54px; background:none; border:0; padding:0; cursor:grab; pointer-events:auto; touch-action:none; user-select:none; -webkit-user-select:none; }
.kk-gift-stack:active { cursor:grabbing; }
.kk-gift-stack:focus-visible { outline:2px solid #ffe295; border-radius:10px; }
.kk-gift-picture { position:relative; display:inline-flex; align-items:center; justify-content:center; width:48px; height:48px; flex-shrink:0; font-size:32px; }
.kk-gift-picture img { width:100%; height:100%; object-fit:contain; filter:drop-shadow(0 2px 3px #0007); }
.kk-gift-stack > .kk-gift-picture { position:absolute; top:0; left:0; transform:translate(calc(var(--layer)*5px),calc(var(--layer)*3px)) rotate(calc(var(--layer)*-7deg)); }
.kk-gift-count { position:absolute; right:0; bottom:0; border-radius:10px; background:#302518; color:#ffe7a0; font:700 11px/18px system-ui; padding:0 5px; }
.kk-gift-romantic::before,.kk-gift-romantic::after { content:'✦'; position:absolute; z-index:2; color:#fff3b3; text-shadow:0 0 5px #ff83c8; font-size:12px; pointer-events:none; animation:kk-gift-shine 3.6s ease-in-out infinite; }
.kk-gift-romantic::before { top:1px; right:2px; }
.kk-gift-romantic::after { bottom:2px; left:0; animation-delay:1.8s; font-size:9px; }
@keyframes kk-gift-shine { 0%,100% { opacity:.25; transform:scale(.6); } 50% { opacity:1; transform:scale(1.15); } }
.kk-gift-dialog { margin:auto; box-sizing:border-box; border:1px solid #caaa66; border-radius:18px; padding:20px; background:#f6efde; color:#32251a; width:min(400px,85vw); max-height:75vh; overflow:auto; z-index:10000; }
.kk-gift-dialog::backdrop { background:#0009; }
.kk-gift-dialog h2 { font:700 19px/1.4 system-ui; margin:0 0 12px; }
.kk-gift-close { cursor:pointer; background:#315c3e; color:white; border:0; padding:8px 16px; border-radius:8px; }
.kk-gift-row { display:flex; align-items:center; gap:12px; border-bottom:1px solid #0002; padding:12px 0; font:14px/1.5 system-ui; }
@media(prefers-reduced-motion:reduce) { .kk-gift-romantic::before,.kk-gift-romantic::after { animation:none; opacity:.8; } }

/* Contents move; the seat/drag transform on the frame stays authoritative. */
.kk-gift-picture[data-gift-id] > :is(img,.kk-gift-symbol){transform-origin:50% 80%;animation:kk-gift-bob 4.8s ease-in-out infinite}
.kk-gift-picture[data-gift-id]::before,.kk-gift-picture[data-gift-id]::after{content:'✦';position:absolute;z-index:2;pointer-events:none;color:#ffe8a1;text-shadow:0 0 4px #bf784f66;font-size:10px;line-height:1;animation:kk-gift-twinkle 4s ease-in-out infinite}
.kk-gift-picture[data-gift-id]::before{top:3px;right:1px}
.kk-gift-picture[data-gift-id]::after{bottom:4px;left:1px;font-size:7px;animation-delay:-2s}
.kk-gift-picture:is([data-gift-id="cay"],[data-gift-id="kahve"])::before,.kk-gift-picture:is([data-gift-id="cay"],[data-gift-id="kahve"])::after{content:'';top:0;left:40%;right:auto;bottom:auto;width:6px;height:18px;border-left:2px solid #f6eee1bd;border-radius:50%;animation:kk-gift-steam 3.6s ease-out infinite}
.kk-gift-picture:is([data-gift-id="cay"],[data-gift-id="kahve"])::after{left:56%;animation-delay:-1.8s;height:14px}
.kk-gift-picture:is([data-gift-id="patates"],[data-gift-id="burger"],[data-gift-id="taco"],[data-gift-id="donut"],[data-gift-id="simit"]) > :is(img,.kk-gift-symbol){animation-name:kk-gift-wiggle;animation-duration:5.4s}
.kk-gift-picture[data-gift-id="misir"]::before,.kk-gift-picture[data-gift-id="misir"]::after{content:'•';font-size:14px;color:#fff0a7;animation:kk-gift-pop 3.4s ease-out infinite}
.kk-gift-picture[data-gift-id="misir"]::after{animation-delay:-1.7s}
.kk-gift-picture:is([data-gift-id="milkshake"],[data-gift-id="dondurma"],[data-gift-id="pamuk"],[data-gift-id="pasta"])::before,.kk-gift-picture:is([data-gift-id="milkshake"],[data-gift-id="dondurma"],[data-gift-id="pamuk"],[data-gift-id="pasta"])::after{color:#ffcfdd;text-shadow:0 0 4px #fff3c4}
.kk-gift-picture:is([data-gift-id="kalp"],[data-gift-id="ciklet"]) > :is(img,.kk-gift-symbol){animation:kk-gift-heart 3s ease-in-out infinite}
.kk-gift-picture:is([data-gift-id="cicek"],[data-gift-id="buket"],[data-gift-id="ayicik"],[data-gift-id="hediye"]) > :is(img,.kk-gift-symbol){animation:kk-gift-sway 4.6s ease-in-out infinite}
.kk-gift-picture[data-gift-id="atesli"] > :is(img,.kk-gift-symbol){animation:kk-gift-flame 2.8s ease-in-out infinite}
.kk-gift-picture:is([data-gift-id="spor_araba"],[data-gift-id="yaris_arabasi"]) > :is(img,.kk-gift-symbol){animation:kk-gift-drive 3.8s ease-in-out infinite}
.kk-gift-picture:is([data-gift-id="luks_yat"],[data-gift-id="premium_yat"]) > :is(img,.kk-gift-symbol){animation:kk-gift-sail 4.2s ease-in-out infinite}
.kk-gift-picture:is([data-gift-id="ozel_jet"],[data-gift-id="premium_jet"]) > :is(img,.kk-gift-symbol){animation:kk-gift-fly 4.4s ease-in-out infinite}
@keyframes kk-gift-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
@keyframes kk-gift-twinkle{0%,100%{opacity:.12;transform:scale(.45) rotate(0)}50%{opacity:.95;transform:scale(1.1) rotate(45deg)}}
@keyframes kk-gift-steam{0%{opacity:0;transform:translateY(2px) scale(.7)}30%{opacity:.65}100%{opacity:0;transform:translate(3px,-12px) scale(1.15)}}
@keyframes kk-gift-wiggle{0%,65%,100%{transform:rotate(0)}75%{transform:rotate(-3deg)}85%{transform:rotate(3deg)}}
@keyframes kk-gift-pop{0%,20%,100%{opacity:0;transform:translateY(4px) scale(.5)}45%{opacity:.9;transform:translateY(-3px) scale(1)}75%{opacity:0;transform:translateY(-8px) scale(.6)}}
@keyframes kk-gift-heart{0%,38%,100%{transform:scale(1)}50%{transform:scale(1.055)}62%{transform:scale(1)}74%{transform:scale(1.035)}}
@keyframes kk-gift-sway{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}
@keyframes kk-gift-flame{0%,100%{transform:scale(1) rotate(-1deg)}50%{transform:scale(.97,1.045) rotate(1deg)}}
@keyframes kk-gift-drive{0%,100%{transform:translateX(-1px) rotate(-1deg)}50%{transform:translateX(2px) rotate(1deg)}}
@keyframes kk-gift-sail{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-2px) rotate(2deg)}}
@keyframes kk-gift-fly{0%,100%{transform:translate(-1px,1px) rotate(-2deg)}50%{transform:translate(2px,-2px) rotate(1deg)}}
/* Only the newest visible layer moves, so covered gifts do not waste frames. */
.kk-gift-stack > .kk-gift-picture:not([data-gift-layer="0"]) > :is(img,.kk-gift-symbol),.kk-gift-stack > .kk-gift-picture:not([data-gift-layer="0"])::before,.kk-gift-stack > .kk-gift-picture:not([data-gift-layer="0"])::after{animation:none;opacity:1}
.kk-gift-stack > .kk-gift-picture:not([data-gift-layer="0"])::before,.kk-gift-stack > .kk-gift-picture:not([data-gift-layer="0"])::after{display:none}
@media(prefers-reduced-motion:reduce){
 .kk-gift-picture[data-gift-id] > :is(img,.kk-gift-symbol),.kk-gift-picture[data-gift-id]::before,.kk-gift-picture[data-gift-id]::after{animation:none!important;transition:none!important}
 .kk-gift-picture:is([data-gift-id="cay"],[data-gift-id="kahve"])::before,.kk-gift-picture:is([data-gift-id="cay"],[data-gift-id="kahve"])::after{opacity:.3}
}
