/* Analytics consent bar: non-blocking, equal-weight choices. Apps may override --consent-* tokens. */
.consent{position:fixed;left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:60;max-width:720px;margin:0 auto;padding:14px 16px;background:var(--consent-bg,#fff);color:var(--consent-fg,#1d211f);border:1px solid var(--consent-line,#c9cfc9);border-radius:10px;box-shadow:0 8px 28px rgb(0 0 0 / .14);font-size:15px;line-height:1.45;font-family:inherit}
.consent p{margin:0 0 10px}
.consent a{color:inherit;text-decoration:underline}
.consent-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.consent button{min-height:44px;padding:0 18px;border:1px solid currentColor;border-radius:8px;background:none;color:inherit;font:inherit;font-weight:600;cursor:pointer}
.consent :focus-visible{outline:3px solid var(--consent-focus,#1b5e9e);outline-offset:2px}
@media(max-width:700px){.consent{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));font-size:14px}.consent-actions button{flex:1}}
/* The feedback card waits until a choice is made. */
body:has(.consent) .engage{display:none}
