/* SWAP OS 43.01.0 — visible overlay separation and safe viewport clearance. */
:root {
  --swap-shell14-desktop-rail: 64px;
  --swap-shell14-mobile-rail: 76px;
}
.swap-os-body {
  padding-bottom: calc(var(--swap-shell14-desktop-rail) + 28px + env(safe-area-inset-bottom, 0px));
}
.swap-os-body .swap-desktop-taskbar {
  z-index: 1500;
  max-width: calc(100vw - 28px);
}
.swap-os-body .swap-os-toast {
  right: 18px;
  bottom: calc(var(--swap-shell14-desktop-rail) + 54px + env(safe-area-inset-bottom, 0px));
  z-index: 1800;
  max-width: min(440px, calc(100vw - 36px));
  overflow-wrap: anywhere;
  line-height: 1.45;
}
.swap-os-body .swap-network-status {
  right: 14px;
  bottom: calc(var(--swap-shell14-desktop-rail) + 8px + env(safe-area-inset-bottom, 0px));
  z-index: 1700;
  max-width: calc(100vw - 28px);
}
.swap-os-body .swap-os-content {
  scroll-margin-bottom: calc(var(--swap-shell14-desktop-rail) + 28px);
}
@media (max-width: 760px) {
  .swap-os-body {
    padding-bottom: calc(var(--swap-shell14-mobile-rail) + 34px + env(safe-area-inset-bottom, 0px));
  }
  .swap-os-body .swap-mobile-nav {
    z-index: 1500;
    padding-bottom: max(6px, env(safe-area-inset-bottom, 0px));
  }
  .swap-os-body .swap-os-content {
    padding-bottom: calc(var(--swap-shell14-mobile-rail) + 30px + env(safe-area-inset-bottom, 0px)) !important;
    scroll-margin-bottom: calc(var(--swap-shell14-mobile-rail) + 30px);
  }
  .swap-os-body .swap-os-toast {
    left: 12px;
    right: 12px;
    bottom: calc(var(--swap-shell14-mobile-rail) + 62px + env(safe-area-inset-bottom, 0px));
    max-width: none;
    width: auto;
  }
  .swap-os-body .swap-network-status {
    right: 10px;
    bottom: calc(var(--swap-shell14-mobile-rail) + 8px + env(safe-area-inset-bottom, 0px));
    font-size: 10px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .swap-os-body .swap-os-toast { transition: none; }
}
