:root[data-theme="light"] {
    --character-name: #0f172a70;
    --character-border: rgba(13, 64, 232, 0.15);
    --character-border-hover: rgba(13, 64, 232, 0.35);
    --race-img-hover: #00a2ff20;
    --tabs-bg-hover: rgba(137, 147, 225, 0.15);
    --tabs-is-toggle: rgba(137, 147, 225, 0.3);
    --text-shdaow: rgba(46, 38, 68, 0.1);
    --text-primary: #1a1a2e;


}

:root[data-theme="dark"] {
    --character-name: #f5f7fa70;
    --character-border: rgba(255, 255, 255, 0.15);
    --character-border-hover: rgba(255, 255, 255, 0.35);
    --race-img-hover: #ffffff20;
    --tabs-bg-hover: rgba(137, 147, 225, 0.3);
    --tabs-is-toggle: rgba(137, 147, 225, 0.6);
    --text-shdaow: rgba(227, 220, 247, 0.2);
    --text-primary: #f1f5f9;
}






body {
    margin-top: 1.4rem;
    padding: 0rem
}

.footer {
    margin-top: -3rem;
}






.top-columns {
    height: auto;
    max-height: none;
    overflow: visible;
    text-align: center;
    padding-left: 2rem;
    padding-right: 2rem;

}









.race-nav {
    align-content: center;
    width: 12vw !important;
}

.race-group-panel {

    align-content: center;
}

.race-btn {
    width: 100%;

    font-family: 'IsYun', 'IsYun', sans-serif !important;
    letter-spacing: 0.1rem;
    font-size: 0.9rem;
    padding: 0.8rem;
    margin: 0.4rem;

    border-radius: 25px;
    border-width: 0.1px;
    border-style: solid;
    border-color: var(--text-primary);
}

.race-btn span.lang-kr {
    font-size: 1rem;

}

.race-btn:hover {
    background-color: var(--tabs-bg-hover);
}

.race-btn.is-active {
    background-color: var(--tabs-is-toggle);
    font-weight: 900;
    color: var(--text-primary);
}











.race-content-title {
    justify-items: center;
    align-content: center;
}


.race-title {
    letter-spacing: 0.4rem;
    text-shadow:
        0 0 5px var(--text-shdaow),
        0 0 10px var(--text-shdaow),
        0 0 15px var(--text-shdaow),
        0 0 20px var(--text-shdaow),
        0 0 30px var(--text-shdaow),
        0 0 30px var(--text-shdaow)
}


.race-img {
    height: 76%;



}

.race-img img {
    object-fit: contain;
    height: auto;
    width: auto;
    max-width: 100%;
    max-height: 100%;
    border-radius: 25px;
}








.race-content-inner {
    align-content: center;
}


.tabs {
    margin-top: 1rem;
    font-size: clamp(0.9rem, 1.5vw, 1.1rem);

}

.tabs .lang-en {
    font-size: clamp(0.8rem, 1.5vw, 0.95rem);
}


.tabs.is-toggle li {
    flex-shrink: 0;

}

.tabs.is-toggle li.is-active a {
    background-color: var(--tabs-is-toggle);

}


.tabs.is-toggle li.is-active span {
    font-weight: 900;
    color: var(--text-primary);

}

.tabs.is-toggle ul {
    justify-content: center;
    flex-wrap: wrap;
    height: auto;
    width: 100%;
}

.tabs a {
    background-color: transparent;
    transition: background-color 0.3s ease;

}

.tabs.is-toggle span {

    flex-shrink: 0;

}


.tabs.is-toggle a:hover {
    background-color: var(--tabs-bg-hover);

}










.box {
    height: calc(100vh - 270px);
    margin-bottom: 0 !important;
    margin-top: 1rem !important;
    padding-top: 1.0rem;
    padding-bottom: 1.3rem;
    padding-right: 1.2rem;
    padding-left: 1.2rem;
    overflow-y: auto;
    overflow-x: hidden;

    -ms-overflow-style: none;
    scrollbar-width: none;
    overflow-y: scroll;
}


.box::-webkit-scrollbar {
    display: none;
}





.tab-content {
    font-size: 1.4rem;
}









.summary {
    padding-left: 4rem;
    padding-right: 4rem;
}


.race-icon {
    font-size: 8rem;

}

.divider {
    justify-self: center;
    border: none;
    border-top: 1px solid var(--text-primary);
    width: 80%;
    opacity: 30%;
    height: 0;
    background-color: transparent;
    margin: 1rem 0;
    margin-bottom: 1rem;
}

.summary-content {
    font-size: 1.2rem;
    line-height: 3rem;

}

.summary-content.lang-kr {
    font-size: 1.4rem;
}





.feature-box {
    text-align: start;
    padding-left: 1.6rem;
    padding-right: 1.6rem;
}

.feature-title {
    font-size: 1.9rem;
    font-weight: bold;

}

.feature-content {

    font-size: 1.1rem;
    line-height: 1rem;

}

.feature-content.lang-kr {
    font-size: 1.2rem;

}

.feature-row {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 0rem;

}

.feature-row:not(:first-child) {
    margin-top: 1rem;

}


.feature-divider {
    margin-right: 1rem;
    flex: 1;
    border-bottom: 6px dotted var(--text-muted);
    height: 1px;
}







.character-title {
    font-size: 1.2rem;
    font-weight: bold;
    opacity: 70%;

}

.character-row {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 0rem;

}

.character-row:not(:first-child) {
    margin-top: 1rem;

}


.character-divider {
    margin-right: 1rem;
    flex: 1;
    border-bottom: 6px dotted var(--text-muted);
    opacity: 70%;
    height: 1px;
}













.grid {
    grid-template-columns: repeat(5, 1fr);

}

.grid .cell {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}


.character-button {
    display: block;
    width: clamp(100px, 8vw, 140px);
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    overflow: hidden;

    background-image: var(--char-image);
    background-repeat: no-repeat;
    background-size: var(--zoom, 220%);
    background-position: var(--focus-x, 50%) var(--focus-y, 20%);

    box-shadow: 0 0 0 1px var(--character-border);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.character-button:hover {
    transform: scale(1.06);
    box-shadow: 0 0 0 2px var(--character-border-hover);
}



.character-name {
    color: var(--character-name);
    font-size: clamp(0.8rem, 1.5vw, 1rem);
}














@media (max-width: 1023px) {

    body {
        margin-top: 4.5rem;
        padding: 0.1rem;
    }

    .footer {
        margin-top: 0rem;
    }


    .top-columns {
        padding: 0.6rem 1rem;
        flex-direction: column
    }



    .race-nav {
        width: 100% !important;
        flex: none !important;
        padding-bottom: 0rem;

    }

    .race-group-panel {

        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }

    .race-btn {
        width: auto;
    }

    .top-columns>.column:last-child {
        width: 100% !important;
        flex: none !important;
    }







    .box {
        margin: 0;
        padding-top: 1.0rem;
        padding-bottom: 1.3rem;
        padding-right: 1.2rem;
        padding-left: 1.2rem;
        overflow-y: auto;
        overflow-x: hidden;
    }






    .summary {
        padding-left: 2rem;
        padding-right: 2rem;
    }





}



@media (max-width: 769px) {

    .race-nav {
        margin-bottom: 1rem;

    }

    .race-img {
        width: 50vw;
    }


    .tabs {
        margin-top: 0.6rem;
        font-size: 1rem;

    }

    .tabs .lang-en {
        font-size: 1rem;
    }




    .summary-content {
        font-size: 1rem;

    }

    .summary-content.lang-kr {
        font-size: 1.2rem;
    }




    .grid {
        grid-template-columns: repeat(5, 1fr);
    }




}



@media (max-width: 480px) {

    .race-img {
        width: 70vw;
    }



}