/*==================================================
 RADIO MYNELE V3
==================================================*/

/*==================================================
ROOT
==================================================*/

:root{

    --bg:#07090F;
    --card:#10141E;

    --primary:#6C2CFF;
    --secondary:#2EC5FF;

    --live:#FF3D57;

    --text:#FFFFFF;
    --text2:#AAB2C5;

    --border:rgba(255,255,255,.08);

    --radius:28px;

    --shadow:

        0 20px 60px rgba(0,0,0,.45),

        0 0 60px rgba(108,44,255,.10);

}

/*==================================================
RESET
==================================================*/

*{

    margin:0;

    padding:0;

    box-sizing:border-box;

}

html{

    scroll-behavior:smooth;

}

body{

    background:var(--bg);

    color:var(--text);

    font-family:

        Inter,

        "Segoe UI",

        sans-serif;

    overflow-x:hidden;

    min-height:100vh;

}

/*==================================================
BACKGROUND
==================================================*/

.background{

    position:fixed;

    inset:0;

    overflow:hidden;

    z-index:-2;

}

.glow{

    position:absolute;

    width:520px;

    height:520px;

    border-radius:50%;

    filter:blur(150px);

    opacity:.32;

}

.glow-left{

    background:var(--primary);

    top:-180px;

    left:-120px;

}

.glow-right{

    background:var(--secondary);

    right:-150px;

    bottom:-180px;

}

/*==================================================
APP
==================================================*/

.app{

    width:min(100%,520px);

    margin:auto;

    min-height:100vh;

    padding:28px;

    display:flex;

    flex-direction:column;

    gap:28px;

}

/*==================================================
HEADER
==================================================*/

.header{

    margin-bottom:20px;

}

.logo{

    width:64px;

    height:64px;

    display:block;

    margin:0 auto;

    object-fit:contain;

}

.header h1{

    margin-top:12px;

    font-size:30px;

    font-weight:800;

    letter-spacing:.4px;

    line-height:1.1;

    color:#fff;

}

.header p{

    margin-top:6px;

    color:var(--text2);

    font-size:14px;

    font-weight:500;

    letter-spacing:.3px;

}
/*==================================================
ANIMATION
==================================================*/

@keyframes fadeUp{

    from{

        opacity:0;

        transform:translateY(20px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}












/*==================================================
PLAYER CARD
==================================================*/

.player-card{

    position:relative;

    display:flex;
    flex-direction:column;
    align-items:center;

    background:rgba(16,20,30,.92);

    border:1px solid rgba(255,255,255,.08);

    border-radius:28px;

    padding:22px;

    backdrop-filter:blur(18px);

    overflow:hidden;

    box-shadow:
        0 20px 60px rgba(0,0,0,.45);

}

.player-card::before{

    content:"";

    position:absolute;

    inset:0;

    border-radius:28px;

    border:1px solid rgba(108,44,255,.18);

    pointer-events:none;

}


.player-top{

    display:flex;

    align-items:center;

    gap:12px;

    margin-bottom:24px;

}
/*==================================================
LIVE BADGE
==================================================*/

.live-center{

    display:flex;

    justify-content:center;

    width:100%;

    margin-bottom:14px;

}

.live-badge{

    display:flex;

    align-items:center;

    gap:8px;

    padding:5px 15px;

    border-radius:999px;

    background:rgba(255,61,87,.12);

    border:1px solid rgba(255,61,87,.22);

    color:#fff;

    font-size:12px;

    font-weight:700;

    letter-spacing:.5px;

}

.live-dot{

    width:9px;

    height:9px;

    border-radius:50%;

    background:#3ddc84;

    box-shadow:
        0 0 5px rgba(61,220,132,.45),
        0 0 12px rgba(61,220,132,.20);

    animation:onlinePulse 2.8s ease-in-out infinite;

}

/*==================================================
COVER
==================================================*/

.cover{

    position:relative;

    width:220px;

    height:220px;

    margin:0 auto 30px;

    border-radius:30px;

    overflow:hidden;

    background:#141824;

    border:1px solid rgba(255,255,255,.08);

    box-shadow:
        0 25px 60px rgba(0,0,0,.45),
        0 0 40px rgba(108,44,255,.12);

}

.cover::before{

    content:"";

    position:absolute;

    inset:0;

    border-radius:30px;

    padding:1px;

    background:linear-gradient(
        135deg,
        rgba(255,255,255,.18),
        rgba(108,44,255,.18),
        rgba(46,197,255,.18)
    );

    -webkit-mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);

    -webkit-mask-composite:xor;

    mask-composite:exclude;

    pointer-events:none;

    z-index:2;

}

.cover img{

    width:100%;

    height:100%;

    display:block;

    object-fit:cover;

    border-radius:20px;

    transition:

        transform .45s ease,

        filter .45s ease,

        box-shadow .45s ease;

    filter:

        saturate(1.08)

        contrast(1.05);

}

.radio-playing .cover img{

    animation:coverFloat 5s ease-in-out infinite;

    box-shadow:
        0 0 35px rgba(108,44,255,.30),
        0 0 80px rgba(46,197,255,.18);

}

.cover:hover img{

    transform:scale(1.04);

}

@keyframes coverFloat{

    0%{

        transform:translateY(0) scale(1);

    }

    25%{

        transform:translateY(-2px) scale(1.015);

    }

    50%{

        transform:translateY(0) scale(1.03);

    }

    75%{

        transform:translateY(2px) scale(1.015);

    }

    100%{

        transform:translateY(0) scale(1);

    }

}

/*==================================================
SONG
==================================================*/

.song{

    width:100%;

    text-align:center;

    margin:18px 0 16px;

}

.song h2{

    font-size:27px;

    font-weight:800;

    line-height:1.28;

    color:#fff;

    margin-bottom:8px;

    display:-webkit-box;

    -webkit-box-orient:vertical;

    -webkit-line-clamp:2;

    overflow:hidden;

}

.song p{

    color:var(--text2);

    font-size:16px;

    font-weight:500;

    line-height:1.5;

    display:-webkit-box;

    -webkit-box-orient:vertical;

    -webkit-line-clamp:2;

    overflow:hidden;

}
/*==================================================
VISUALIZER
==================================================*/

.visualizer{

    display:flex;
    justify-content:center;
    align-items:flex-end;
    gap:5px;
    height:42px;

}

.visualizer span{

    width:5px;

    height:10px;

    min-height:10px;

    border-radius:999px;

    background:linear-gradient(
        to top,
        var(--primary),
        var(--secondary)
    );

    transition:height .12s ease;

}


/*==================================================
PLAYER ACTIONS
==================================================*/

.player-actions{

    width:100%;

    display:flex;

    justify-content:center;

    margin:0 0 18px;

}

.icon-button{

    width:56px;

    height:56px;

    border:none;

    border-radius:18px;

    background:#181d2a;

    border:1px solid rgba(255,255,255,.08);

    display:flex;

    justify-content:center;

    align-items:center;

    cursor:pointer;

    transition:.25s;

}

.icon-button:hover{

    transform:translateY(-3px);

    background:linear-gradient(

        135deg,

        var(--primary),

        var(--secondary)

    );

    box-shadow:

        0 12px 30px rgba(108,44,255,.30);

}



.share-button{

    width:38px;

    height:38px;

    border:none;

    border-radius:12px;

    background:rgba(255,255,255,.06);

    color:#fff;

    display:flex;

    align-items:center;

    justify-content:center;

    cursor:pointer;

    transition:.25s ease;

}

.share-button:hover{

    background:rgba(255,255,255,.12);

    transform:translateY(-2px);

}

.share-button:active{

    transform:scale(.95);

}

/*==================================================
PLAY BUTTON
==================================================*/

.play-button{

    width:100%;

    height:60px;

    border:none;

    border-radius:18px;

    display:flex;

    justify-content:center;

    align-items:center;

    gap:12px;

    cursor:pointer;

    color:#fff;

    font-size:18px;

    font-weight:800;

    margin-bottom:18px;

    background:linear-gradient(

        135deg,

        #7C3AED,

        #2563EB

    );

    box-shadow:

        0 18px 40px rgba(108,44,255,.35);

    transition:.25s;

}

.play-button:hover{

    transform:translateY(-3px);

    filter:brightness(1.05);

    box-shadow:

        0 22px 55px rgba(108,44,255,.50);

}


/*==================================================
REMOVE OLD PLAYER ELEMENTS
==================================================*/

.volume,
.player-status,
.listeners,
.status-bar,
.status-progress,
#statusText{

    display:none !important;

}

/*==================================================
HISTORY CARD
==================================================*/

.history-card{

    background:rgba(255,255,255,.04);

    border:1px solid rgba(255,255,255,.08);

    border-radius:24px;

    padding:24px;

    transition:.30s;

}

.history-card h3{

    font-size:22px;

    font-weight:700;

    margin-bottom:20px;

}

#historyList{

    list-style:none;

    display:flex;

    flex-direction:column;

    gap:16px;

}

.history-item{

    display:flex;

    align-items:center;

    gap:14px;

}

.history-cover{

    width:58px;

    height:58px;

    border-radius:14px;

    object-fit:cover;

    flex-shrink:0;

    border:1px solid rgba(255,255,255,.08);

}

.history-info{

    flex:1;

    min-width:0;

}

.history-title{

    font-size:15px;

    font-weight:600;

    white-space:nowrap;

    overflow:hidden;

    text-overflow:ellipsis;

}

.history-time{

    margin-top:4px;

    font-size:13px;

    color:var(--text2);

}

/*==================================================
DOWNLOAD CARD
==================================================*/

.download-card{

    background:rgba(255,255,255,.04);

    border:1px solid rgba(255,255,255,.08);

    border-radius:24px;

    padding:24px;

    transition:.30s;

}

.download-card:hover{

    transform:translateY(-4px);

    border-color:rgba(108,44,255,.35);

    box-shadow:

        0 15px 35px rgba(108,44,255,.18);

}

.download-card h3{

    font-size:22px;

    font-weight:700;

    margin-bottom:12px;

}

.download-card p{

    color:var(--text2);

    line-height:1.7;

    margin-bottom:22px;

}

.download-card a{

    display:flex;

    justify-content:center;

    align-items:center;

    height:58px;

    border-radius:18px;

    text-decoration:none;

    color:#ffffff;

    font-weight:700;

    background:#1B2233;

    border:1px solid rgba(255,255,255,.08);

    transition:.30s;

}

.download-card a:hover{

    transform:translateY(-2px);

    background:linear-gradient(

        135deg,

        var(--primary),

        var(--secondary)

    );

}






.app-banner{

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:24px;

    padding:22px 26px;

    border-radius:26px;

    background:rgba(16,20,30,.88);

    border:1px solid rgba(255,255,255,.08);

    backdrop-filter:blur(20px);

    box-shadow:

        0 18px 50px rgba(0,0,0,.35);

}


.app-info{

    flex:1;

}

.app-label{

    display:inline-block;

    margin-bottom:10px;

    color:#69d7ff;

    font-size:12px;

    font-weight:700;

    letter-spacing:1px;

    text-transform:uppercase;

}

.app-info h2{

    font-size:28px;

    font-weight:800;

    color:#fff;

    margin-bottom:8px;

}

.app-info p{

    color:#AAB2C5;

    font-size:15px;

}


.play-btn{

    padding:16px 24px;

    border-radius:18px;

    text-decoration:none;

    font-size:16px;

    font-weight:700;

    color:#fff;

    background:linear-gradient(
        135deg,
        #6C2CFF,
        #2EC5FF
    );

    transition:.25s;

    white-space:nowrap;

}

.play-btn:hover{

    transform:translateY(-3px);

    filter:brightness(1.05);

    box-shadow:

        0 15px 40px rgba(108,44,255,.35);

}
/*==================================================
FOOTER
==================================================*/

footer{

    text-align:center;

    color:var(--text2);

    font-size:13px;

    padding:8px 0 28px;

}

footer a{

    color:inherit;

    text-decoration:none;

}

footer a:hover{

    color:#ffffff;

}














/*==================================================
SCROLLBAR
==================================================*/

::-webkit-scrollbar{

    width:8px;

}

::-webkit-scrollbar-track{

    background:#0B0F18;

}

::-webkit-scrollbar-thumb{

    background:#343E54;

    border-radius:20px;

}

::-webkit-scrollbar-thumb:hover{

    background:linear-gradient(
        var(--primary),
        var(--secondary)
    );

}

/*==================================================
FADE ANIMATIONS
==================================================*/

.header,
.player-card,
.history-card,
.download-card,
footer{

    animation:fadeUp .8s ease forwards;

}

.player-card{

    animation-delay:.10s;

}

.history-card{

    animation-delay:.20s;

}

.download-card{

    animation-delay:.30s;

}

footer{

    animation-delay:.40s;

}

/*==================================================
HOVER EFFECTS
==================================================*/

.player-card:hover{

    transform:translateY(-4px);

    transition:.35s;

    box-shadow:

        0 30px 80px rgba(0,0,0,.48),

        0 0 60px rgba(108,44,255,.22);

}

.cover img:hover{

    transform:scale(1.04);

}

.history-card:hover{

    border-color:rgba(108,44,255,.25);

}

.download-card:hover{

    border-color:rgba(108,44,255,.30);

}

/*==================================================
LINKS
==================================================*/

a{

    transition:.25s;

}

a:hover{

    opacity:.95;

}

/*==================================================
BUTTON FOCUS
==================================================*/

button{

    outline:none;

}

button:focus-visible,

a:focus-visible,

input:focus-visible{

    outline:2px solid var(--secondary);

    outline-offset:3px;

}

/*==================================================
RESPONSIVE
==================================================*/

@media (max-width:700px){

    .app{

        padding:18px;
        gap:20px;

    }

    .app-banner{

        flex-direction:column;
        align-items:flex-start;
        gap:18px;
        padding:20px;

    }

    .play-btn{

        width:100%;
        justify-content:center;

    }

    .player-card{

        padding:20px 16px;
        border-radius:24px;

    }

    .live-center{

        margin-bottom:12px;

    }

    .live-badge{

        padding:5px 14px;
        font-size:11px;

    }

    .cover{

        width:min(62vw,210px);
        height:min(62vw,210px);
        margin-bottom:18px;

    }



    .visualizer{

        height:36px;
        margin:10px 0 14px;

    }

    .player-actions{

        margin-bottom:14px;

    }

    .icon-button{

        width:50px;
        height:50px;
        border-radius:16px;

    }

    .play-button{

        height:54px;
        margin-bottom:14px;
        border-radius:16px;
        font-size:16px;

    }

    .listeners-card{

        padding:15px;
        gap:12px;
        border-radius:18px;

    }

    .listeners-left{

        gap:12px;

    }

    .listeners-icon{

        width:40px;
        height:40px;
        font-size:18px;

    }

    .listeners-info strong{

        font-size:14px;

    }

    .listeners-info span{

        font-size:12px;

    }

}

@media (max-width:420px){

    .player-card{

        padding:18px 14px;

    }

    .cover{

        width:min(70vw,190px);
        height:min(70vw,190px);

    }

    .live-badge{

        font-size:10px;
        padding:4px 12px;

    }



    .visualizer{

        height:32px;

    }

    .visualizer span{

        width:4px;

    }

    .icon-button{

        width:46px;
        height:46px;
        border-radius:15px;

    }

    .play-button{

        height:50px;
        font-size:15px;
        border-radius:15px;

    }

    .listeners-card{

        padding:14px;

    }

    .listeners-left{

        gap:10px;

    }

    .listeners-icon{

        width:36px;
        height:36px;
        font-size:17px;

    }

    .listeners-info strong{

        font-size:13px;

    }

    .listeners-info span{

        font-size:11px;

    }

    .online-dot{

        width:10px;
        height:10px;

    }

}
/*==================================================
REDUCED MOTION
==================================================*/

@media (prefers-reduced-motion: reduce){

    *{

        animation:none !important;

        transition:none !important;

        scroll-behavior:auto !important;

    }

}












/*==================================================
LISTENERS CARD
==================================================*/


#listeners{

    font-size:24px;
    font-weight:800;

    color:#fff;

    line-height:1;

    background:linear-gradient(
        135deg,
        #6C2CFF,
        #2EC5FF
    );

    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;

}

.listeners-label{

    font-size:11px;

    letter-spacing:1.8px;

    text-transform:uppercase;

    color:#AAB2C5;

}

.listeners-card{

    width:100%;

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:16px;

    padding:18px;

    border-radius:20px;

    background:linear-gradient(

        135deg,

        #171d2b,

        #111723
transition:.30s
    );

    border:1px solid rgba(255,255,255,.08);

}


.listeners-card:hover{

    transform:translateY(-2px);

    border-color:rgba(108,44,255,.30);

    box-shadow:

        0 15px 35px rgba(108,44,255,.18);

}

.listeners-left{

    display:flex;

    align-items:center;

    gap:14px;

}

.listeners-icon{

    width:48px;

    height:48px;

    border-radius:15px;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:22px;

    background:linear-gradient(

        135deg,

        var(--primary),

        var(--secondary)

    );

}

.listeners-info{

    display:flex;

    flex-direction:column;

    gap:4px;

}

.listeners-info strong{

    display:flex;
    flex-direction:column;

    gap:2px;

}

.listeners-info span{

    color:var(--text2);

    font-size:13px;

}










.online-dot{

    width:12px;

    height:12px;

    border-radius:50%;

    background:#3ddc84;

    box-shadow:
        0 0 5px rgba(61,220,132,.45),
        0 0 12px rgba(61,220,132,.20);

    animation:onlinePulse 2.8s ease-in-out infinite;

}


@keyframes onlinePulse{

    0%,100%{

        transform:scale(1);

        opacity:.9;

        box-shadow:
            0 0 5px rgba(61,220,132,.45),
            0 0 12px rgba(61,220,132,.20);

    }

    50%{

        transform:scale(1.08);

        opacity:1;

        box-shadow:
            0 0 8px rgba(61,220,132,.55),
            0 0 16px rgba(61,220,132,.30);

    }

}









.android-banner{

    flex:1;

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:14px;

    padding:14px 18px;

    border-radius:18px;

    text-decoration:none;

    color:#fff;

    background:linear-gradient(
        135deg,
        #1B2233,
        #141A27
    );

    border:1px solid rgba(255,255,255,.08);

    transition:.30s;

}

.android-banner:hover{

    transform:translateY(-2px);

    border-color:rgba(108,44,255,.45);

    box-shadow:
        0 15px 35px rgba(108,44,255,.18);

}

.android-banner-left{

    display:flex;

    align-items:center;

    gap:14px;

}

.android-icon{

    width:48px;

    height:48px;

    border-radius:15px;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:22px;

    background:linear-gradient(
        135deg,
        #34A853,
        #3DDC84
    );

    box-shadow:
        0 8px 20px rgba(61,220,132,.25);

}

.android-banner strong{

    display:block;

    font-size:15px;

    font-weight:700;

}

.android-banner span{

    display:block;

    margin-top:3px;

    color:#AAB2C5;

    font-size:12px;

}

.android-arrow{

    font-size:18px;

    opacity:.75;

    transition:.30s;

}

.android-banner:hover .android-arrow{

    transform:translateX(4px);

    opacity:1;

}










    .song h2{

        font-size:19px;

    }

    .song p{

        font-size:13px;

    }
    
        .song{

        margin:14px 0;

    }

    .song h2{

        font-size:22px;

    }

    .song p{

        font-size:14px;

    }
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    .footer-card{

    background:rgba(255,255,255,.04);

    border:1px solid rgba(255,255,255,.08);

    border-radius:24px;

    padding:28px;

    text-align:center;

    transition:.35s;

}

.footer-card:hover{

    transform:translateY(-4px);

    border-color:rgba(108,44,255,.30);

    box-shadow:

        0 20px 45px rgba(108,44,255,.18);

}

.footer-logo{

    width:72px;

    height:72px;

    margin:auto;

    margin-bottom:18px;

    border-radius:22px;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:30px;

    color:#fff;

    background:linear-gradient(
        135deg,
        #6C2CFF,
        #2EC5FF
    );

}

.footer-card h3{

    font-size:28px;

    font-weight:800;

    margin-bottom:8px;

}

.footer-subtitle{

    color:#AAB2C5;

    margin-bottom:22px;

}

.footer-email{

    display:inline-flex;

    align-items:center;

    gap:10px;

    color:#fff;

    text-decoration:none;

    font-weight:600;

    margin-bottom:24px;

}

.footer-email:hover{

    color:#6C2CFF;

}

.footer-buttons{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:14px;

    margin-bottom:14px;

}

.footer-btn{

    height:54px;

    display:flex;

    justify-content:center;

    align-items:center;

    gap:10px;

    border-radius:16px;

    text-decoration:none;

    color:#fff;

    background:#1B2233;

    border:1px solid rgba(255,255,255,.08);

    transition:.25s;

}

.footer-btn:hover{

    background:linear-gradient(
        135deg,
        #6C2CFF,
        #2EC5FF
    );

    transform:translateY(-2px);

}

.footer-btn-full{

    width:100%;

}

@media(max-width:600px){

    .footer-buttons{

        grid-template-columns:1fr;

    }

}








/*==========================
  COMMUNITY CARD
==========================*/

/*==========================
CHAT BUTTON
==========================*/

.footer-chat{

    display:flex;

    justify-content:space-between;

    align-items:center;

    width:100%;

    margin:18px 0;

    padding:16px 20px;

    border-radius:18px;

    background:linear-gradient(135deg,#6C2CFF,#2E7BFF);

    color:#fff;

    text-decoration:none;

    box-shadow:0 10px 28px rgba(108,44,255,.25);

    transition:.30s;

}

.footer-chat:hover{

    transform:translateY(-2px);

    box-shadow:0 16px 36px rgba(108,44,255,.35);

}

.footer-chat-left{

    display:flex;

    align-items:center;

    gap:14px;

}

.footer-chat-left i{

    font-size:20px;

}

.footer-chat-left span{

    font-size:16px;

    font-weight:700;

}

.footer-chat > i{

    font-size:16px;

    transition:.30s;

}

.footer-chat:hover > i{

    transform:translateX(6px);

}