.zla-btn{position:fixed;z-index:9990;width:52px;height:52px;border-radius:50%;border:0;padding:0;background:#fff;border:1.5px solid rgba(0,0,0,.12);overflow:hidden;box-shadow:0 4px 16px rgba(0,0,0,.28);touch-action:none;cursor:grab;display:grid;place-items:center;transition:opacity .3s,transform .15s;-webkit-tap-highlight-color:transparent}
.zla-btn.idle{opacity:.45}
.zla-btn.drag{cursor:grabbing;transform:scale(1.08)}
.zla-btn.open{opacity:0;pointer-events:none}
.zla-ov{position:fixed;inset:0;z-index:100020;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.18);opacity:0;transition:opacity .2s;direction:rtl}
.zla-ov.on{opacity:1}
.zla-pn{width:min(86vw,330px);padding:16px 12px 10px;border-radius:30px;background:rgba(32,32,30,.9);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 20px 60px rgba(0,0,0,.4);display:grid;grid-template-columns:repeat(3,1fr);gap:4px 2px;transform:scale(.4);opacity:0;transition:transform .28s cubic-bezier(.2,.9,.3,1.15),opacity .2s}
.zla-ov.on .zla-pn{transform:none;opacity:1}
.zla-pn button{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 2px 10px;border-radius:18px;color:#fff;font-size:11.5px;line-height:1.4;text-align:center;-webkit-tap-highlight-color:transparent}
.zla-pn button:active{background:rgba(255,255,255,.14)}
.zla-pn svg{width:28px;height:28px}
.zla-toast{position:fixed;left:50%;bottom:92px;transform:translate(-50%,16px);z-index:100030;background:rgba(28,28,26,.92);color:#fff;font-size:13px;padding:10px 18px;border-radius:24px;opacity:0;pointer-events:none;transition:.25s;max-width:88vw;text-align:center}
.zla-toast.on{opacity:1;transform:translate(-50%,0)}
.zla-ov[hidden]{display:none}

/* square popup (centered) keeps its look; edge popup hugs the right screen edge */
.zla-pn.zla-sq button i{display:contents}
.zla-pn.zla-edge{position:absolute;right:0;top:50%;width:auto;max-height:94vh;overflow-y:auto;scrollbar-width:none;padding:34px 16px 34px 38px;border-radius:50% 0 0 50% / 50% 0 0 50%;grid-template-columns:repeat(2,80px);gap:10px 4px;justify-items:center;transform:translate(100%,-50%);opacity:1;transition:transform .34s cubic-bezier(.2,.85,.25,1);background:rgba(30,30,28,.92)}
.zla-pn.zla-edge::-webkit-scrollbar{display:none}
.zla-pn.zla-edge.zla-c3{grid-template-columns:repeat(3,72px)}
.zla-ov.on .zla-pn.zla-edge{transform:translate(0,-50%)}
.zla-pn.zla-edge button{width:100%;padding:4px 0 2px;gap:5px;transform:translateX(var(--bow,0px));opacity:0;transition:opacity .25s var(--d,0ms),transform .3s var(--d,0ms)}
.zla-ov.on .zla-pn.zla-edge button{opacity:1}
.zla-pn.zla-edge button i{width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.12);display:grid;place-items:center;box-shadow:inset 0 1px 0 rgba(255,255,255,.18)}
.zla-pn.zla-edge button svg{width:23px;height:23px}
.zla-pn.zla-edge button span{font-size:10px;opacity:.9;line-height:1.3;max-width:78px}
.zla-pn.zla-edge button:active i{background:rgba(255,255,255,.28)}
.zla-btn svg{width:100%;height:100%;display:block}
