/* Non-blocking feedback card. Apps may override colors via --engage-* tokens. */
.engage{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:50;width:min(340px,calc(100vw - 32px));padding:16px 16px 14px;background:var(--engage-bg,#fff);color:var(--engage-fg,#1d211f);border:1px solid var(--engage-line,#c9cfc9);border-radius:10px;box-shadow:0 8px 28px rgb(0 0 0 / .14);max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain;font-size:15px;line-height:1.4;font-family:inherit;animation:engage-in .22s cubic-bezier(.2,.8,.2,1)}
@keyframes engage-in{from{opacity:0;transform:translateY(8px)}}
@media (prefers-reduced-motion:reduce){.engage{animation:none}}
.engage-x{position:absolute;top:4px;right:4px;width:44px;height:44px;border:0;background:none;font-size:22px;color:inherit;cursor:pointer}
.engage-q{margin:0 36px 10px 0;font-weight:600}
.engage-yn{display:flex;gap:8px}
.engage button:not(.engage-x){min-height:44px;padding:0 16px;border:1px solid currentColor;border-radius:8px;background:none;color:inherit;font:inherit;cursor:pointer}
.engage-send{margin-top:8px}
.engage-chips{display:grid;gap:4px}
.engage-chips label{display:flex;gap:8px;align-items:center;min-height:36px}
.engage textarea{width:100%;box-sizing:border-box;margin-top:8px;padding:8px;font-size:16px;line-height:1.4;font-family:inherit;border:1px solid var(--engage-line,#8a938c);border-radius:6px}
.engage-note{margin:4px 0 0;font-size:13px;opacity:.75}
.engage :focus-visible{outline:3px solid var(--engage-focus,#1b5e9e);outline-offset:2px}
@media(max-width:700px){.engage{left:12px;right:12px;width:auto;bottom:calc(12px + env(safe-area-inset-bottom,0px));padding:12px 14px}.engage-q{font-size:.95rem}}
