*{
    box-sizing:border-box;
    font-family:Inter,Arial,sans-serif;
}


body{

    margin:0;

    min-height:100vh;

    padding:40px 20px;
	overflow-x:hidden;
    background:
    radial-gradient(circle at top,#ede9fe,#fff 45%);

}


/* MAIN */

.wrapper{

    width:100%;

    max-width:1200px;

    margin:auto;

    background:white;

    padding:45px;

    border-radius:30px;

    box-shadow:
    0 30px 90px rgba(99,102,241,.20);

}



/* BRAND */


.brand{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:25px;

    margin-bottom:45px;

}


.brand img{

    width:180px;

    max-width:40%;

}


.brand h1{

    margin:0;

    font-size:55px;

    line-height:1;


    background:
    linear-gradient(
    90deg,
    #2563eb,
    #a855f7
    );


    -webkit-background-clip:text;

    color:transparent;

}


.brand p{

    margin-top:10px;

    font-size:24px;

    font-weight:800;

    color:#8b5cf6;

}





/* TRACK AREA */


.tracks{


    display:grid;

    grid-template-columns:1fr 80px 1fr;

    gap:25px;

    align-items:center;


}


.track-card{

    padding:25px;

    border-radius:22px;

    border:1px solid #ddd6fe;


    background:

    linear-gradient(
    180deg,
    #fff,
    #fafaff
    );

}


.track-card h3{

    display:flex;

    align-items:center;

    gap:10px;

    margin-top:0;

    color:#4f46e5;

}


.track-card h3 img{

    width:28px;

}




.vs{

    width:70px;

    height:70px;

    margin:auto;


    border-radius:50%;


    display:flex;

    align-items:center;

    justify-content:center;


    border:2px solid #8b5cf6;


    color:#7c3aed;

    font-size:24px;

    font-weight:900;

}




/* ==================
SELECT2 PREMIUM
================== */


.select2-container{

    width:100%!important;

}


.select2-container--default
.select2-selection--single{


    width:100%!important;

    height:60px!important;


    display:flex!important;

    align-items:center;


    background:#fff!important;


    border:

    2px solid #e5e7ff!important;


    border-radius:18px!important;


    box-shadow:

    0 10px 25px rgba(99,102,241,.12);


}



.select2-container--default
.select2-selection__rendered{

    padding-left:20px!important;

    padding-right:40px!important;


    color:#111827!important;

    font-size:15px;

    font-weight:700;


    overflow:hidden;

    text-overflow:ellipsis;

    white-space:nowrap;

}



.select2-container--default
.select2-selection__arrow{

    height:60px!important;

    right:15px!important;

}



.select2-dropdown{


    border:none!important;

    border-radius:18px!important;

    overflow:hidden;


    box-shadow:

    0 20px 50px rgba(0,0,0,.15);


}


.select2-search{

    padding:15px;

}


.select2-search__field{


    height:48px;

    border-radius:14px!important;

    border:

    1px solid #ddd6fe!important;


    padding:12px!important;

    outline:none;

}



.select2-results__option{


    padding:14px 18px!important;

    font-weight:600;

}



.select2-container--default
.select2-results__option--highlighted[aria-selected]{


    background:

    linear-gradient(
    90deg,
    #2563eb,
    #a855f7
    )!important;


    color:white!important;

}





/* MODE */


.title{

    text-align:center;

    margin:45px 0 25px;

}


.mode{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:25px;

}


.mode button{

    min-height:120px;

    border-radius:22px;

    border:1px solid #ddd6fe;

    background:white;

    cursor:pointer;


    display:flex;

    flex-direction:row;

    align-items:center;

    justify-content:center;

    gap:10px;


    text-align:center;


    font-size:17px;

    font-weight:700;


    transition:.25s;

}


.mode button img{

    width:45px;

    height:45px;

    display:block;

    object-fit:contain;

}


.mode button strong{

    display:block;

    font-size:18px;

    line-height:1;

}


.mode button span{

    display:block;

    font-size:14px;

    color:#6b7280;

}



.mode .active{
    background: #f6f6f670;
    box-shadow: 0 10px 10px #8b5cf610;

}

.icon,
.title-icon,
.btn-icon{

width:35px;
height:35px;
object-fit:contain;

}


.mode img{

width:45px;
height:45px;
object-fit:contain;

}




/* BUTTON */


.analyze{

    width:100%;

    margin-top:35px;

    padding:22px;

    border:0;
	cursor:pointer;
    border-radius:18px;


    display:flex;

    align-items:center;

    justify-content:center;

    gap:12px;


    cursor:pointer;


    background:
    linear-gradient(
        90deg,
        #2563eb,
        #a855f7
    );


    color:white;

    font-size:22px;

    font-weight:900;


    box-shadow:
    0 15px 35px rgba(139,92,246,.35);


    transition:
    .25s ease;

}


/* AI icon inside button */

.analyze img{

    width:32px;

    height:32px;

    object-fit:contain;


    filter:
    brightness(0)
    invert(1)
    drop-shadow(
        0 3px 8px rgba(255,255,255,.4)
    );

}


/* hover */

.analyze:hover{

    transform:
    translateY(-3px);


    box-shadow:
    0 20px 45px rgba(139,92,246,.55);

}



/* click */

.analyze:active{

    transform:scale(.97);

}



/* RESULT */


.result-box{

    margin-top:40px;

    padding:30px;

    border-radius:25px;

    border:1px solid #eee;


    display:flex;

    gap:40px;

    align-items:center;

}



.circle{

    width:180px;

    height:180px;

    border-radius:50%;


    display:flex;

    align-items:center;

    justify-content:center;


    background:

    conic-gradient(

        #8b5cf6 calc(var(--percent) * 1%),

        #eee 0

    );


    position:relative;

}



.circle-inner{

    width:140px;

    height:140px;


    background:white;


    border-radius:50%;


    display:flex;

    flex-direction:column;

    align-items:center;

    justify-content:center;


    font-size:42px;

    font-weight:900;

}



.circle-inner span{

    font-size:12px;

    margin-top:5px;

    color:#666;

}

.circle.allow{

background:

conic-gradient(

#22c55e calc(var(--percent) * 1%),

#e5e7eb 0

);

}



.circle.reject{

background:

conic-gradient(

#ff3158 calc(var(--percent) * 1%),

#e5e7eb 0

);

}



.grid{


    margin-top:30px;


    display:grid;

    grid-template-columns:1fr 1fr;

    gap:25px;

}


.song-card{

    padding:25px;

    border-radius:22px;

    box-shadow:
    0 15px 40px #ddd6fe;

}


.param{

    display:flex;

    justify-content:space-between;

    padding:12px 0;

    border-bottom:1px solid #eee;

}




/* MOBILE */


@media(max-width:900px){


.wrapper{

    padding:25px;

}


.brand{

    flex-direction:column;

    text-align:center;

}


.brand img{

    width:150px;

}


.brand h1{

    font-size:42px;

}



.tracks{

    grid-template-columns:1fr;

}


.mode{

    grid-template-columns:1fr;

}


.grid{

    grid-template-columns:1fr;

}


.result-box{

    flex-direction:column;

    text-align:center;

}



}



@media(max-width:480px){


body{

    padding:15px;

}


.brand h1{

    font-size:34px;

}


.brand p{

    font-size:18px;

}


.track-card{

    padding:18px;

}


.analyze{

    font-size:18px;

}


}