.release-launcher {
  position: fixed; right: max(24px, env(safe-area-inset-right)); bottom: max(24px, env(safe-area-inset-bottom)); z-index: 60;
  display: flex; align-items: center; gap: 12px; min-height: 56px; padding: 10px 16px;
  background: var(--ink); color: var(--canvas); border: 1px solid var(--ink); box-shadow: 4px 4px 0 var(--accent);
  font-family: var(--font); text-decoration: none; animation: updates-arrive .45s .6s both;
  transition: transform .25s, box-shadow .25s;
}
.release-launcher:hover { color: var(--canvas); transform: translateY(-2px); box-shadow: 4px 6px 0 var(--accent); }
.release-launcher:focus-visible { outline: 3px solid var(--accent-light); outline-offset: 6px; }
.release-launcher svg { width: 24px; height: 24px; color: var(--accent-light); flex: none; }
.release-launcher span { display: flex; flex-direction: column; }
.release-launcher strong { font-size: 16px; line-height: 20px; font-weight: 500; }
.release-launcher small { font-size: 12px; line-height: 16px; opacity: .78; }
body:has(#z1-cookie-bar) .release-launcher,
body:has(.navmenu[open]) .release-launcher,
.release-launcher.action-overlap { visibility: hidden; pointer-events: none; }
body:has(.release-launcher) footer { padding-bottom: calc(96px + env(safe-area-inset-bottom)); }
@keyframes updates-arrive { from { opacity: 0; translate: 0 8px; } to { opacity: 1; translate: 0 0; } }
@media (max-width: 760px) {
  .release-launcher { right: calc(16px + env(safe-area-inset-right)); bottom: calc(16px + env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion: reduce) { .release-launcher { animation: none; transition: none; } }
