/* Shared site-wide analytics consent UI — injected by
   js/analytics/index.js, not hand-authored per page. Color tokens
   (--text-secondary, --bg-card, --primary, --border, --text-primary) are
   defined both in core/_variables.css and locally, under the same names,
   by every AI Lab app stylesheet — read bare, no fallback, so an actually
   missing color token stays visibly wrong rather than silently falling
   back to a mismatched default. Structural tokens (spacing/radius/
   duration/touch-target/shadow) aren't guaranteed everywhere this file is
   linked, so those carry an explicit fallback matching core/_variables.css's
   own values.

   Four designs were tried for the "visible notice + reversible control"
   requirement before landing on the plain, state-labeled link below (see
   injectFooterLink()'s own comment in index.js for the full account):
   a full-width bar anchored to the viewport top, then the bottom, then a
   "compact" corner card, then a modal dialog — each defeated by a
   different real page's own fixed-position content or, in the modal's
   case, by blocking interaction with the rest of the page entirely. A
   label on an element already proven safe (structurally identical to
   markup already used on every page) carries none of those risks. */

.bl-privacy-fallback-link {
  /* Only used on pages with neither .site-footer .footer-links nor
     .nav-links (currently just /portfolio/, whose footer predates the
     shared component and which has no shared nav either) — see
     injectFooterLink()'s priority order in index.js. */
  position: fixed;
  right: var(--space-sm, 1rem);
  bottom: var(--space-sm, 1rem);
  z-index: 80;
  padding: 0.35rem 0.65rem;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm, 0.375rem);
  color: var(--text-secondary);
  font-size: 0.75rem;
  text-decoration: none;
  min-block-size: var(--touch-target-min, 44px);
  display: inline-flex;
  align-items: center;
}

.bl-privacy-fallback-link:hover,
.bl-privacy-fallback-link:focus-visible {
  color: var(--text-primary);
  border-color: var(--primary);
}
