.TOP_slide {
    position: fixed;
    right: 20px;
    bottom: 165px;
    width: 50px;
    height: 50px;
    border-radius: 0px !important; /* 사각형 */
    background: #FFD400; /* dhlabs 노란색 배경 */
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 10000;
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
    transition: all 0.4s ease-in-out;
}

/* 활성화 시 노출 */
.TOP_slide.active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.progress-rectangle {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
}

.progress-background {
    fill: none;
    stroke: #ffffff;
    opacity: 0.3;
}

.progress-bar {
    fill: none;
    stroke: #000000; /* 검정색 선 */
    stroke-linecap: square;
    stroke-dasharray: 384; /* 사각형 둘레 */
    stroke-dashoffset: 384;
    transition: stroke-dashoffset 0.1s linear;
}

.TOP_slide .top-icon {
    position: relative;
    z-index: 10;
    font-size: 22px;
    color: #000000;
}

/* 모바일 확대 */
@media screen and (max-width: 768px) {
    .TOP_slide {
        width: 50px !important; 
        height: 50px !important;
        right: 15px !important;
        bottom: 15px !important;
    }
    .TOP_slide .top-icon {
        font-size: 15px !important;
    }
}