.kxn{position:fixed;inset:0;z-index:9000;pointer-events:none}.kxn-stack{position:absolute;top:max(10px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);width:min(420px,calc(100vw - 20px));display:flex;flex-direction:column;gap:8px}.kxn-toast{pointer-events:auto;position:relative;display:flex;align-items:center;gap:11px;width:100%;text-align:left;overflow:hidden;border:3px solid var(--kx-ink,#2b1840);border-radius:18px;background:var(--kx-paper,#fff);color:var(--kx-ink,#2b1840);padding:9px 12px 11px 9px;box-shadow:3px 4px 0 var(--kx-ink,#2b1840),0 10px 28px rgba(43,24,64,.18);font-family:var(--kx-body,system-ui);cursor:pointer;animation:kxn-in .5s cubic-bezier(.2,1.35,.4,1) both}.kxn-toast:active{transform:translateY(2px);box-shadow:1px 2px 0 var(--kx-ink,#2b1840)}.kxn-toast.leaving{animation:kxn-out .3s ease-in forwards}.kxn-toast.sale{background:linear-gradient(100deg,var(--kx-sun-bg,#fff4c2),#fff 70%)}.kxn-toast.heart{background:linear-gradient(100deg,var(--kx-pink-bg,#ffe2ef),#fff 70%);padding-top:7px;padding-bottom:9px}.kxn-toast.real{background:linear-gradient(100deg,#b8f0cf,var(--kx-mint-bg,#d4f7e5) 45%,#fff);border-color:var(--kx-go-dark,#16853f);box-shadow:3px 4px 0 var(--kx-go-dark,#16853f),0 12px 34px rgba(22,133,63,.35);padding:12px 14px 14px 11px;animation:kxn-in .55s cubic-bezier(.2,1.35,.4,1) both,kxn-wiggle .6s ease-in-out .5s 2}.kxn-thumb{position:relative;flex:none;width:52px;height:52px;border-radius:14px;border:2px solid var(--kx-ink,#2b1840);background:#fff;display:grid;place-items:center}.kxn-toast.heart .kxn-thumb{width:44px;height:44px;border-radius:12px}.kxn-toast.real .kxn-thumb{width:60px;height:60px;border-color:var(--kx-go-dark,#16853f)}.kxn-thumb canvas{max-width:100%;max-height:100%;border-radius:11px}.kxn-thumb-ico{font-size:26px;line-height:1}.kxn-badge{position:absolute;right:-9px;bottom:-8px;font-style:normal;font-size:17px;line-height:1;background:#fff;border:2px solid var(--kx-ink,#2b1840);border-radius:999px;width:26px;height:26px;display:grid;place-items:center;animation:kxn-pop .45s cubic-bezier(.2,1.6,.4,1) .25s both}.kxn-toast.real .kxn-badge{border-color:var(--kx-go-dark,#16853f)}.kxn-txt{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:1px}.kxn-txt b{font-family:var(--kx-display,system-ui);font-weight:600;font-size:15px;line-height:1.2;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.kxn-toast.heart .kxn-txt b{font-size:14px}.kxn-toast.real .kxn-txt b{font-size:17px;color:#0d5e2b}.kxn-txt small{font-size:12px;font-weight:600;color:var(--kx-ink-soft,#5b4a73);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kxn-real{align-self:flex-start;font-style:normal;font-size:10px;font-weight:800;letter-spacing:.08em;color:#fff;background:var(--kx-go,#22b35e);border:2px solid var(--kx-go-dark,#16853f);padding:1px 8px;margin-bottom:2px}.kxn-amt,.kxn-real{border-radius:999px}.kxn-amt{flex:none;font-family:var(--kx-display,system-ui);font-weight:700;font-size:15px;padding:4px 10px;border:2px solid var(--kx-ink,#2b1840);background:var(--kx-sun,#ffd23f);box-shadow:0 2px 0 var(--kx-ink,#2b1840);white-space:nowrap;animation:kxn-pop .45s cubic-bezier(.2,1.6,.4,1) .18s both}.kxn-toast.real .kxn-amt{font-size:20px;padding:5px 12px;color:#fff;background:var(--kx-go,#22b35e);border-color:var(--kx-go-dark,#16853f);box-shadow:0 3px 0 var(--kx-go-dark,#16853f)}.kxn-timer{position:absolute;left:0;bottom:0;height:4px;width:100%;transform-origin:left;background:var(--kx-ink,#2b1840);opacity:.14;animation:kxn-timer var(--ttl,4s) linear forwards}.kxn-toast.real .kxn-timer{background:var(--kx-go-dark,#16853f);opacity:.35}.kxn-fx{overflow:hidden;pointer-events:none}.kxn-fx,.kxn-glow{position:absolute;inset:0}.kxn-glow{border-radius:0;animation:kxn-glow 1.6s ease-out forwards}.kxn-fx.sale .kxn-glow{box-shadow:inset 0 0 0 0 rgba(255,201,74,0);--glow:inset 0 0 70px 6px rgba(255,201,74,.55)}.kxn-fx.real .kxn-glow{--glow:inset 0 0 110px 14px rgba(34,179,94,.55);animation-duration:2.6s}.kxn-fx.heart .kxn-glow{--glow:inset 0 0 50px 2px rgba(255,79,154,.28)}.kxn-coin{position:absolute;top:calc(max(10px, env(safe-area-inset-top)) + 30px);left:calc(50% - min(210px, 50vw - 10px) + 34px);width:20px;height:20px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff3b0 0 14%,#ffcc33 40%,#e39a10 100%);border:2px solid #9a6408;box-shadow:inset 0 0 0 2.5px rgba(255,246,196,.7),0 2px 0 rgba(43,24,64,.35);animation:kxn-coin 1.1s cubic-bezier(.2,.7,.4,1) both}.kxn-coin:after{content:"";position:absolute;inset:5px;border-radius:50%;border:1.5px solid rgba(154,100,8,.55)}.kxn-fx.real .kxn-coin{width:24px;height:24px;animation-duration:1.4s}.kxn-heart{position:absolute;top:calc(max(10px, env(safe-area-inset-top)) + 30px);left:calc(50% - min(210px, 50vw - 10px) + 26px);font-size:16px;animation:kxn-heart 1.2s ease-out both}.kxn-conf{position:absolute;top:-16px;height:10px;border-radius:2px;border:1.5px solid rgba(43,24,64,.5);animation:kxn-fall 2.4s cubic-bezier(.25,.6,.45,1) both}@keyframes kxn-in{0%{transform:translateY(-120%) scale(.92);opacity:0}to{transform:none;opacity:1}}@keyframes kxn-out{to{transform:translateY(-70%) scale(.95);opacity:0}}@keyframes kxn-wiggle{0%,to{rotate:0deg}30%{rotate:-1.4deg}70%{rotate:1.4deg}}@keyframes kxn-pop{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes kxn-timer{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes kxn-glow{0%{box-shadow:inset 0 0 0 0 transparent}25%{box-shadow:var(--glow)}to{box-shadow:inset 0 0 0 0 transparent}}@keyframes kxn-coin{0%{transform:translate(0) scale(.3) rotate(0);opacity:0}10%{opacity:1}75%{opacity:1}35%{transform:translate(calc(var(--dx) * .45),-18px) scale(1.15) rotate(calc(var(--r) * .4))}to{transform:translate(var(--dx),calc(var(--dy) + 40px)) scale(.8) rotate(var(--r));opacity:0}}@keyframes kxn-heart{0%{transform:translate(0) scale(.4);opacity:0}20%{opacity:1}to{transform:translate(var(--dx),70px) scale(1.2);opacity:0}}@keyframes kxn-fall{0%{transform:translate(0) rotate(0);opacity:1}85%{opacity:1}to{transform:translate(var(--dx),105vh) rotate(var(--r));opacity:0}}@media (prefers-reduced-motion:reduce){.kxn-toast,.kxn-toast.real{animation:kxn-fade .2s both}.kxn-coin,.kxn-conf,.kxn-heart{display:none}.kxn-glow{animation-duration:.8s}}@keyframes kxn-fade{0%{opacity:0}to{opacity:1}}