.uk-active .circle-container {
    max-height: 1000px;
    transition: 0.5s ease-out;
    transform: scale(0.8); /* 动了会乱*/
    opacity: 1;
    margin: 0 auto;
    transition-delay: 0.5s;
    overflow: visible;
}

.circle-container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
    gap: 5px;
    width: fit-content;
    opacity: 0;
    overflow:hidden;
    max-height: 0;
    transition: 0.5s linear;
    margin: 0 auto;
}

.circle-container img {
    width: 7vw;
    height: 7vw;
    object-fit: cover;
    z-index: 8;
}



.cir-word {
    color: #ffffff;
    cursor: pointer;
    font-weight: 500;
    font-size: 2.5vh;
    position: absolute;
    top: calc(var(--y) * 1%);
    left: calc(var(--x) * 1%);
    transform: rotate(calc(var(--r) * 45deg));
    transition: font-size 0.1s ease-in-out;
    opacity: 0;
    z-index: 10;
}

.cir-word:hover {
    color: #eeeeee;
    font-size: 3vh;
    transition: font-size 1s ease-in-out;
}

.uk-active .cir-word {
    opacity: 1;
    transition: opacity 0.5s linear 0.5s;
}


.center_number {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 4vw;
    color: #f86c35;
    font-weight: 700;
    font-family:'Times New Roman', Times, serif;
    user-select: none;
}

.engineering-part {
    display: none;
}

.engineering-part.part-active {
    display: block;
}

.part-selection{
    display:flex;
    flex-direction: column;
    align-items: center;

    padding-top:3vw;
    width:100%;

}
.pill-radio-container {
    --main-color: rgb(254,114,53); /* 橙色主色 */
    --secondary-color: rgb(255, 14, 14); /* 浅橙色 */
    --text-color: #ffffff; /* 保持白色对比 */
    --pill-bg: #872017; /* 深橙棕背景 */
    box-shadow: 0 0 20px #872017 inset;
    --total-options: 8;

    display: flex;
    position: relative;
    background: var(--pill-bg);
    border-radius: 3rem;
    padding: 0.5rem;
    gap: 1rem;

    width: fit-content;
}

.pill-radio-container input {
    display: none;
}

.pill-radio-container label {
    position: relative;
    padding: 0.6rem 1.5rem;
    border-radius: 3rem;
    cursor: pointer;
    font-weight: 600;
    color: var(--text-color);
    transition: color 0.3s ease-in-out;
    z-index: 2;
}

.pill-radio-container input:checked + label {
    color: #ffffff; /* Keep checked label white */
}

.pill-radio-container label:hover,
.pill-radio-container input:checked + label {
    color: var(--main-color); /* Hover and checked color */
}

.pill-indicator {
    position: absolute;
    bottom: 5px;
    left: 0;
    height: 4px;
    width: calc(100% / var(--total-options));
    background: linear-gradient(
        to right,
        var(--main-color),
        var(--secondary-color)
    );
    border-radius: 2px;
    transition: transform 0.3s ease-in-out;
    z-index: 1;
}

/* Sliding effect */
#CC_domains-button:checked ~ .pill-indicator {
    transform: translateX(40%);
}
#Split_Luciferase-button:checked ~ .pill-indicator {
    transform: translateX(240%);
}
#Split_GFP-button:checked ~ .pill-indicator {
    transform: translateX(425%);
}
#Seq2Affinity_Model-button:checked ~ .pill-indicator {
    transform: translateX(620%);
}
