/* Reusable support button. Keep this file beside support-button-sprite.svg. */
.zp-support-button{box-sizing:border-box;position:relative;isolation:isolate;display:inline-flex;align-items:center;gap:8px;min-height:74px;padding:0 21px 0 4px;border:1px solid #74b95270;border-top-color:#b7ff9466;border-radius:20px;background:linear-gradient(145deg,#2d3b268f,#1c1d1de8 48%,#161915f5);box-shadow:inset 0 1px 0 #d8ffc51a,inset 0 -1px 0 #0008,0 7px 26px #0004,0 0 34px #95ff6008;color:#e6f4e0!important;font-family:Inter,"Avenir Next",system-ui,sans-serif;text-align:left;text-decoration:none!important;line-height:1.2;vertical-align:middle;outline-offset:6px;-webkit-tap-highlight-color:transparent;transition:transform .3s cubic-bezier(.2,.9,.3,1.3),border-color .25s,box-shadow .25s,background .25s}
.zp-support-button::before{content:"";position:absolute;z-index:-1;inset:0;border-radius:inherit;background:linear-gradient(120deg,#b4ff8f12,transparent 48%,#95ff6006);pointer-events:none}
.zp-support-button__sprite{box-sizing:content-box;display:block;flex:0 0 96px;width:96px;height:108px;background-image:url('./support-button-sprite.svg');background-repeat:no-repeat;background-size:2304px 108px;animation:zp-support-heart 1.8s steps(24,end) infinite;pointer-events:none}
.zp-support-button__copy{display:block;padding:13px 0 14px}
.zp-support-button__label{display:block;font-size:13px;font-weight:620;letter-spacing:.05px;white-space:nowrap}
.zp-support-button__note{display:block;margin-top:6px;color:#9cba8d;font-size:9px;font-weight:400;letter-spacing:.3px;white-space:nowrap}
.zp-support-button__arrow{display:block;width:14px;height:14px;flex:0 0 14px;margin-left:15px;color:#a6e487;transition:transform .3s,color .25s}
.zp-support-button__arrow svg{display:block;width:100%;height:100%;overflow:visible}
.zp-support-button:hover,.zp-support-button:focus-visible{transform:translateY(-3px);border-color:#aaff80a6;background:linear-gradient(145deg,#37512ac9,#21251ef5 52%,#1c2418);box-shadow:inset 0 1px 0 #d8ffc52b,inset 0 -1px 0 #0008,0 12px 32px #0005,0 0 32px #95ff601c}
.zp-support-button:focus-visible{outline:2px solid #b7ff93}
.zp-support-button:hover .zp-support-button__arrow,.zp-support-button:focus-visible .zp-support-button__arrow{transform:translate(2px,-2px);color:#d2ffbc}
.zp-support-button:active{transform:translateY(0) scale(.98)}
.home-support{display:flex;justify-content:center;margin:28px 0 0}
.home-motion-paused .zp-support-button__sprite,[data-support-motion="off"] .zp-support-button__sprite{animation:none;background-position:0 0}
@keyframes zp-support-heart{to{background-position-x:-2304px}}
@media(max-width:650px){.home-support{margin-top:25px}.zp-support-button{min-height:70px;padding-right:18px}.zp-support-button__arrow{margin-left:12px}}
@media(prefers-reduced-motion:reduce){.zp-support-button,.zp-support-button__arrow{transition:none}.zp-support-button:hover,.zp-support-button:focus-visible,.zp-support-button:active{transform:none}.zp-support-button__sprite{animation:none;background-position:0 0}}

/* Chunky extruded sprite with binary drips and pointer parallax. */
.zp-support-button{border-radius:14px;gap:6px;perspective:500px;max-width:100%}
.zp-support-button__sprite{transform:perspective(380px) rotateX(var(--heart-rx,0deg)) rotateY(var(--heart-ry,0deg)) translate(var(--heart-x,0px),var(--heart-y,0px));transform-origin:50% 40%;transition:transform .18s ease-out;filter:drop-shadow(0 4px 8px #80ff4120)}
.zp-support-button:hover .zp-support-button__sprite{animation-duration:1.2s;filter:drop-shadow(0 4px 12px #8cff5355)}
.home-support{flex-direction:column;align-items:center;gap:19px}
.home-support-message{max-width:590px;margin:0 auto;color:#aab7a4;font-size:12px;line-height:1.85;text-wrap:pretty;font-weight:400}
.home-support-message p{margin:0}
.home-support-message cite{display:block;margin-top:10px;color:#a6e985;font-size:11px;font-style:normal;letter-spacing:.35px}
.home-motion-paused .zp-support-button__sprite,[data-support-motion="off"] .zp-support-button__sprite{transform:none;transition:none}
@media(max-width:650px){.home-support-message{font-size:11px;line-height:1.85;max-width:420px}.home-support{gap:17px}}
@media(prefers-reduced-motion:reduce){.zp-support-button__sprite{transform:none!important;transition:none}}
