.floating-case-tool {
  position: fixed;
  left: max(18px, env(safe-area-inset-left));
  bottom: var(--floating-case-tool-bottom, max(20px, calc(env(safe-area-inset-bottom) + 12px)));
  z-index: 90;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 56px;
  padding: 7px 16px 7px 8px;
  border: 1px solid rgba(255, 177, 187, .72);
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(135deg, #e43b52 0%, #b31632 52%, #72091d 100%);
  box-shadow: 0 16px 38px rgba(112, 9, 29, .38), 0 0 0 5px rgba(228, 59, 82, .10);
  font-family: Tahoma, Arial, sans-serif;
  text-decoration: none;
  isolation: isolate;
  animation: floating-case-motion 3s ease-in-out infinite;
}

.floating-case-tool:hover,
.floating-case-tool:focus-visible {
  color: #fff;
  background: linear-gradient(135deg, #f04b61 0%, #c41c39 52%, #810b22 100%);
  box-shadow: 0 20px 46px rgba(112, 9, 29, .48), 0 0 0 6px rgba(228, 59, 82, .14);
  outline: 2px solid #fff;
  outline-offset: 3px;
}

.floating-case-tool__symbol {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #8d1027;
  background: #fff;
  font: 800 1.25rem/1 Arial, sans-serif;
}

.floating-case-tool__label {
  color: #fff;
  font-size: .88rem;
  font-weight: 800;
  line-height: 1.35;
  white-space: nowrap;
}

@keyframes floating-case-motion {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-4px); }
}

@media (max-width: 520px) {
  .floating-case-tool {
    left: 12px;
    bottom: var(--floating-case-tool-bottom, max(14px, calc(env(safe-area-inset-bottom) + 8px)));
    min-height: 52px;
    padding: 6px 12px 6px 7px;
  }

  .floating-case-tool__symbol {
    width: 38px;
    height: 38px;
    flex-basis: 38px;
    font-size: 1.1rem;
  }

  .floating-case-tool__label { font-size: .8rem; }
}

@media (prefers-reduced-motion: reduce) {
  .floating-case-tool { animation: none; }
}

@media print {
  .floating-case-tool { display: none !important; }
}
