.float-container {
    position: fixed;
    z-index: 1000;
    width: 100vw;
    height: 0;
}

.float-container.ondrag {
    height: 100vh;
}

.float-icon {
    position: fixed;
    cursor: move;
    background: rgba(200, 220, 240, 1);
    color: black;
    font-size: 28px;
    width: 40px;
    height: 40px;
    padding: 5px 5px 5px 5px;
    margin: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
    user-select: none;
    z-index: 1000;
    top: 50%;
    transform: translateY(-50%);
    left: auto;
    right: 0;
}

.float-icon:hover,
.float-icon.highlight {
    background: rgba(200, 220, 240, 1);
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2), 0 0 10px rgba(0, 0, 0, 0.1);
}

.float-container:not(.ondrag) .float-icon.highlight:not(:hover) {
    animation: pulse 1s ease-in 3;
}

@keyframes pulse {
    0% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.5);
    }

    100% {
        transform: scale(1);
    }
}

.float-content {
    position: fixed;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(200, 220, 240, 0.9);
    color: black;
    padding: 10px;
    border-radius: 5px;
    box-shadow: 0 2px 10px rgba(61, 60, 60, 0.1);
    z-index: 1000;
    max-width: min(600px, calc(100vw - 60px));
    max-height: 80vh;
}

.float-content.show {
    display: block;
    animation: fadeIn 0.3s ease-in-out;
}

.float-content:not(.show) {
    display: none;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(-50%) translateX(-5px);
    }

    to {
        opacity: 1;
        transform: translateY(-50%) translateX(5px);
    }
}
