/* SWAP OS 43.00.0 — UI overlay and viewport-clearance polish. */
:root { --swap-shell13-rail-height: 64px; --swap-shell13-mobile-rail-height: 76px; }
.swap-os-body { padding-bottom: calc(var(--swap-shell13-rail-height) + 22px + env(safe-area-inset-bottom, 0px)); }
.swap-os-body .swap-os-toast {
  right: 18px; bottom: calc(var(--swap-shell13-rail-height) + 18px + env(safe-area-inset-bottom, 0px));
  z-index: 1800; max-width: min(440px, calc(100vw - 36px)); width: max-content;
  overflow-wrap: anywhere; line-height: 1.45; box-shadow: 0 12px 32px rgba(15,23,42,.22);
}
.swap-os-body .swap-network-status { bottom: 12px; right: 14px; z-index: 1700; max-width: calc(100vw - 28px); }
.swap-os-body .swap-desktop-taskbar { max-width: calc(100vw - 32px); }
.swap-os-body .swap-os-content { scroll-margin-bottom: calc(var(--swap-shell13-rail-height) + 20px); }
@media (max-width: 760px) {
  .swap-os-body { padding-bottom: calc(var(--swap-shell13-mobile-rail-height) + 28px + env(safe-area-inset-bottom, 0px)); }
  .swap-os-body .swap-os-content { padding-bottom: calc(var(--swap-shell13-mobile-rail-height) + 24px + env(safe-area-inset-bottom, 0px)) !important; }
  .swap-os-body .swap-os-toast { left: 12px; right: 12px; bottom: calc(var(--swap-shell13-mobile-rail-height) + 18px + env(safe-area-inset-bottom, 0px)); max-width: none; width: auto; }
  .swap-os-body .swap-network-status { right: 10px; bottom: calc(var(--swap-shell13-mobile-rail-height) + 8px + env(safe-area-inset-bottom, 0px)); font-size: 10px; }
  .swap-os-body .swap-mobile-nav { padding-bottom: max(6px, env(safe-area-inset-bottom, 0px)); }
}
@media (prefers-reduced-motion: reduce) {
  .swap-os-body .swap-os-toast { transition: none; }
}
