/* Platform Interaction Launcher visual contract. Semantic actions and targets are consumer supplied. */
.ds-uix-interaction-launcher {
  --uix-launcher-size: clamp(3rem, 4.25vw, 3.75rem);
  --uix-launcher-gap: .45rem;
  position: fixed;
  z-index: 1040;
  right: max(1rem, env(safe-area-inset-right));
  bottom: max(1rem, env(safe-area-inset-bottom));
  display: grid;
  grid-template-columns: repeat(2, var(--uix-launcher-size));
  grid-template-areas: "primary primary" "session messages";
  justify-items: center;
  gap: var(--uix-launcher-gap) .65rem;
  inline-size: calc(var(--uix-launcher-size) * 2 + .65rem);
  isolation: isolate;
}
.ds-uix-interaction-launcher[data-uix-launcher-mode="docked"] { position: absolute; }
.ds-uix-interaction-launcher[data-uix-launcher-mode="collapsed"] .ds-uix-interaction-launcher__item:not([data-uix-launcher-primary]) { display: none; }
.ds-uix-interaction-launcher__item {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  inline-size: var(--uix-launcher-size);
  block-size: var(--uix-launcher-size);
  min-inline-size: 2.75rem;
  min-block-size: 2.75rem;
  padding: 0;
  border: 1px solid var(--ds-glass-border, rgba(31,41,55,.10));
  border-radius: 50%;
  color: var(--ds-color-text, #1f2933);
  background: var(--uix-glass-background, rgba(255,255,255,.70));
  background-image: var(--ds-liquid-backdrop, linear-gradient(135deg,rgba(255,255,255,.76),rgba(255,255,255,.56)));
  box-shadow: inset 0 1px 0 var(--ds-glass-highlight,rgba(255,255,255,.5)), var(--uix-card-shadow,0 10px 30px rgba(0,0,0,.08));
  -webkit-backdrop-filter: blur(var(--uix-glass-blur,18px)) saturate(var(--ds-glass-saturation,1.08));
  backdrop-filter: blur(var(--uix-glass-blur,18px)) saturate(var(--ds-glass-saturation,1.08));
  text-decoration: none;
  cursor: pointer;
  transition: transform var(--ds-motion-fast,120ms) var(--ds-motion-ease,ease), box-shadow var(--ds-motion-fast,120ms) var(--ds-motion-ease,ease);
}
.ds-uix-interaction-launcher__item[data-uix-launcher-primary] { grid-area: primary; }
.ds-uix-interaction-launcher__item[data-uix-launcher-action="AUTH_SESSION"] { grid-area: session; }
.ds-uix-interaction-launcher__item[data-uix-launcher-action="PRIVATE_MESSAGES"] { grid-area: messages; }
.ds-uix-interaction-launcher__item:hover { transform: translateY(-2px); }
.ds-uix-interaction-launcher__item:focus-visible { outline: 3px solid var(--ds-color-focus,#315efb); outline-offset: 3px; }
.ds-uix-interaction-launcher__item[aria-disabled="true"],
.ds-uix-interaction-launcher__item[data-uix-launcher-state="unavailable"] { opacity: .48; cursor: default; transform: none; }
.ds-uix-interaction-launcher__icon { font-size: clamp(1rem,1.7vw,1.3rem); line-height: 1; pointer-events: none; }
.ds-uix-interaction-launcher__badge {
  position: absolute;
  inset-block-start: -.2rem;
  inset-inline-end: -.2rem;
  display: inline-grid;
  place-items: center;
  min-inline-size: 1.25rem;
  block-size: 1.25rem;
  padding-inline: .28rem;
  border: 2px solid rgba(255,255,255,.92);
  border-radius: 999px;
  background: var(--ds-color-danger,#c62828);
  color: #fff;
  font-size: .68rem;
  font-weight: 700;
  line-height: 1;
}
.ds-uix-interaction-launcher__badge[hidden] { display: none; }
@media (max-width: 640px) {
  .ds-uix-interaction-launcher:not([data-uix-launcher-mode="floating"]) {
    right: max(.65rem,env(safe-area-inset-right));
    bottom: max(.65rem,env(safe-area-inset-bottom));
    --uix-launcher-size: 3rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ds-uix-interaction-launcher__item { transition: none; }
  .ds-uix-interaction-launcher__item:hover { transform: none; }
}
@media (prefers-reduced-transparency: reduce) {
  .ds-uix-interaction-launcher__item { background: var(--ds-color-surface,#fff); background-image: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
}
