#balloons-container {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    pointer-events: none;
    z-index: 9998 !important;
    overflow: hidden;
}
.balloon {
    position: absolute;
    bottom: -140px;
    pointer-events: auto;
    cursor: pointer;
    will-change: transform;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
    transition: transform 0.1s;
}
.balloon svg {
    display: block;
    width: 100%;
    height: auto;
    filter: drop-shadow(0 4px 6px rgba(0, 0, 0, .15));
}
.balloon:hover { transform: scale(1.08); }
.balloon.pop {
    animation: balloon-pop 0.35s ease-out forwards;
    pointer-events: none;
}
@keyframes balloon-pop {
    0%   { transform: scale(1);   opacity: 1; }
    50%  { transform: scale(1.4); opacity: .8; }
    100% { transform: scale(0);   opacity: 0; }
}
.pop-text {
    position: absolute;
    font: 700 16px/1 system-ui, sans-serif;
    color: #e53935;
    pointer-events: none;
    text-shadow: 0 2px 4px rgba(255, 255, 255, .9);
    animation: pop-text-float 0.9s ease-out forwards;
    z-index: 10000;
}
@keyframes pop-text-float {
    0%   { transform: translateY(0)     scale(0.6); opacity: 0; }
    20%  { transform: translateY(-8px)  scale(1.1); opacity: 1; }
    100% { transform: translateY(-70px) scale(1);   opacity: 0; }
}
@media (max-width: 767px) {
    .balloon svg { filter: none; }
}
@media (prefers-reduced-motion: reduce) {
    #balloons-container { display: none !important; }
}