        :root {
            --primary-grad: linear-gradient(90deg, #F44336 0%, #FF9800 100%);
            --bg-dynamic: #888888;
            --glass: rgba(0, 0, 0, 0.3);
            --text-outline: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
        }
        
        * {
            -webkit-tap-highlight-color: transparent;
            outline: none;
            box-sizing: border-box;
            scrollbar-width: none;
            -ms-overflow-style: none;
        }
        
        *::-webkit-scrollbar {
            width: 0;
            height: 0;
            display: none;
            background: transparent;
        }
        
        body {
            background: #000;
            background: radial-gradient(circle at center, var(--bg-dynamic) 0%, #000 100%);
            transition: background 1s ease;
            display: flex;
            justify-content: center;
            align-items: center;
            height: 100vh;
            height: calc(var(--vh, 1vh) * 100);
            margin: 0;
            font-family: 'Segoe UI', sans-serif;
            color: white;
            overflow: hidden;
            overscroll-behavior-y: none;
            touch-action: none;
        }
        
        #bg-video {
            position: fixed;
            top: 50%;
            left: 50%;
            min-width: 100%;
            min-height: 100%;
            width: auto;
            height: calc(100vh - 40px);
            height: calc((var(--vh, 1vh) * 100) - 40px);
            z-index: -1;
            transform: translate(-50%, -50%);
            object-fit: cover;
            opacity: 0;
            transition: opacity 1s;
            pointer-events: none;
        }
        
        .screen {
            background: var(--glass);
            backdrop-filter: blur(30px);
            -webkit-backdrop-filter: blur(30px);
            
            padding: 20px;
            border-radius: 40px;
            border: 1px solid rgba(255, 255, 255, 0.1);
            width: calc(100vw - 30px);
            max-width: 360px;
            height: calc(100vh - 40px);
            max-height: 580px;
            position: absolute;
            transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.4s;
            display: flex;
            flex-direction: column;
            align-items: center;
            margin-bottom: 0px;
        }
        
        .screen-hidden {
            transform: translateY(100%);
            opacity: 0;
            pointer-events: none;
            visibility: hidden;
        }
        
        .screen-active {
            transform: translateY(0);
            opacity: 1;
            z-index: 10;
            visibility: visible;
        }
        
        #player-screen {
            justify-content: space-between;
            padding-top: 40px;
            padding-bottom: 30px;
        }
        
        .top-group {
            margin-top: 40px;
            text-align: center;
        }
        
        .bars-wrapper {
            width: 30px;
            height: 20px;
            display: flex;
            align-items: flex-end;
            justify-content: center;
            margin-right: 8px;
            flex-shrink: 0;
        }
        
        .playing-bars {
            display: none;
            align-items: flex-end;
            gap: 2px;
        }
        

.track-item.playing .playing-bars {
    display: flex !important;
}


.track-item.active {
    background: rgba(255, 255, 255, 0.15) !important;
}

        
        .bar {
            width: 3px;
            background: white;
            border-radius: 2px;
            animation: bar-wave 0.6s infinite ease-in-out alternate;
        }
        
        .bar:nth-child(2) {
            animation-delay: 0.2s;
        }
        
        .bar:nth-child(3) {
            animation-delay: 0.4s;
        }
        
        @keyframes bar-wave {
            from {
                height: 4px;
            }
            to {
                height: 16px;
            }
        }
        
        #icon {
            width: 65vw;
            height: 65vw;
            max-width: 240px;
            max-height: 240px;
            border-radius: 35px;
            object-fit: cover;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.6);
            margin-bottom: 30px;
        }
        
        .track-info {
            width: 100%;
            text-align: center;
        }
        
        #track-name {
            font-size: 20px;
            font-weight: 700;
            margin: 0;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
            text-shadow: var(--text-outline);
        }
        
        #track-author {
            font-size: 14px;
            margin: 2px 0 0;
            opacity: 0.7;
        }
        
        .list-container {
            width: 100%;
            flex: 1;
            overflow-y: auto;
            padding: 5px;
            -ms-overflow-style: none;
            scrollbar-width: none;
            touch-action: pan-y;
        }
        
        .list-container::-webkit-scrollbar {
            width: 0;
            display: none;
        }
        
        .track-item {
            display: flex;
            align-items: center;
            padding: 10px;
            border-radius: 15px;
            margin-bottom: 8px;
            cursor: pointer;
            background: rgba(255, 255, 255, 0.02);
            transition: 0.2s;
        }
        
        .track-item.active {
            background: rgba(255, 255, 255, 0.12);
        }
        
        .item-icon {
            width: 48px;
            height: 48px;
            border-radius: 10px;
            object-fit: cover;
            margin-right: 12px;
            flex-shrink: 0;
        }
        
        .controls {
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 15px;
            width: 100%;
        }
        
        .btn {
            background: none;
            border: none;
            cursor: pointer;
            color: white;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: transform 0.1s ease;
        }
        
        .btn-side {
            opacity: 0.6;
        }
        
        .btn-play-wrapper {
            position: relative;
            width: 70px;
            height: 70px;
            display: flex;
            justify-content: center;
            align-items: center;
        }
        
        .btn-play {
            background: white;
            color: black !important;
            width: 65px;
            height: 65px;
            border-radius: 50%;
            display: flex;
            justify-content: center;
            align-items: center;
            z-index: 2;
        }
        
        .btn-play svg {
            fill: black !important;
            margin-left: 3px;
        }
        
        .loader {
            position: absolute;
            width: 72px;
            height: 72px;
            border: 3px solid rgba(255, 255, 255, 0.1);
            border-top-color: #F44336;
            border-radius: 50%;
            display: none;
            animation: spin 1s linear infinite;
            z-index: 1;
        }
        
        @keyframes spin {
            to {
                transform: rotate(360deg);
            }
        }
        
        .btn-anim:active {
            transform: scale(0.85);
        }
        
        .progress-container {
            background: rgba(255, 255, 255, 0.1);
            height: 5px;
            border-radius: 10px;
            cursor: pointer;
            width: 100%;
            margin-top: 2px;
        }
        
        .progress {
            background: var(--primary-grad);
            height: 100%;
            width: 0%;
            border-radius: 10px;
        }
        
        .time-info {
            display: flex;
            justify-content: space-between;
            font-size: 11px;
            opacity: 0.5;
            width: 100%;
            margin-top: 4px;
        }
        
        svg {
            fill: currentColor;
        }
        
        #info-modal {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%) scale(0.9);
            background: rgba(0, 0, 0, 0.9);
            backdrop-filter: blur(20px);
            -webkit-backdrop-filter: blur(20px);
            width: 85%;
            padding: 25px;
            border-radius: 30px;
            border: 1px solid rgba(255, 255, 255, 0.1);
            z-index: 100;
            opacity: 0;
            pointer-events: none;
            transition: 0.3s;
            max-height: 85vh;
            overflow-y: auto;
        }
        
        #info-modal.active {
            opacity: 1;
            pointer-events: auto;
            transform: translate(-50%, -50%) scale(1);
        }
        
        .info-item {
            margin-bottom: 12px;
            font-size: 14px;
        }
        
        .info-label {
            font-weight: bold;
            color: #FF9800;
            margin-right: 5px;
        }
        
        .modal-overlay {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: 90;
            display: none;
            background: rgba(0, 0, 0, 0.4);
        }
        
        .bg-switcher {
            display: flex;
            background: rgba(255, 255, 255, 0.05);
            padding: 4px;
            border-radius: 15px;
            margin-top: 8px;
            border: 1px solid rgba(255, 255, 255, 0.1);
        }
        
        .sw-btn {
            flex: 1;
            padding: 10px;
            border-radius: 12px;
            font-size: 13px;
            font-weight: bold;
            cursor: pointer;
            transition: 0.3s;
            text-align: center;
            color: rgba(255, 255, 255, 0.5);
        }
        
        .sw-btn.active {
            background: white;
            color: black;
        }
        
        .sw-btn.disabled {
            opacity: 0.2;
        }
        
        #video-player-container {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, 0.95);
            z-index: 200;
            display: none;
            flex-direction: column;
            justify-content: center;
            align-items: center;
        }
        
        .v-header {
            position: absolute;
            top: 0;
            width: 100%;
            padding: 20px;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }
        
        #full-video {
            width: 100%;
            max-height: 70vh;
            background: #000;
        }
        
        .v-controls {
            width: 90%;
            max-width: 360px;
            margin-top: 20px;
            display: flex;
            flex-direction: column;
            gap: 10px;
        }
        
        .v-bottom-row {
            display: flex;
            align-items: center;
            gap: 15px;
        }
        
        .v-play-btn {
            background: white;
            color: black !important;
            width: 38px;
            height: 38px;
            border-radius: 50%;
            display: flex;
            justify-content: center;
            align-items: center;
            flex-shrink: 0;
        }
        
        .v-play-btn svg {
            fill: black !important;
            width: 20px;
            height: 20px;
        }
        
#toast {
    position: fixed;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%) translateY(100px);
    background: rgba(244, 67, 54, 1);
    color: white;
    padding: 8px 16px;
    border-radius: 30px;
    font-size: 14px;
    z-index: 9999;
    transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), opacity 0.4s ease;
    border: 1px solid rgba(255, 255, 255, 0.1);
    word-wrap: break-word;
    overflow-wrap: break-word;
    white-space: normal;
    max-width: 95vw;
    min-width: 250px;
    width: fit-content;
    text-align: center;
    
    opacity: 0;
    pointer-events: none;
}

#toast.show {
    transform: translateX(-50%) translateY(0);
    
    opacity: 1;
    pointer-events: auto;
}
        
        @media (orientation: landscape) and (max-height: 500px) {
            .screen {
                flex-direction: row !important;
                max-width: 95vw !important;
                padding: 15px 25px !important;
                margin-bottom: 0 !important;
                height: 100% !important;
                max-height: 100% !important;
                margin: 0 !important;
            }
            .top-group {
                display: flex !important;
                flex-direction: row !important;
                align-items: center !important;
                text-align: left !important;
                margin-top: 0 !important;
                flex: 1.3 !important;
                gap: 10px !important;
            }
            #icon {
                width: 110px !important;
                height: 110px !important;
                margin-bottom: 0 !important;
            }
            .track-info {
                text-align: left !important;
                flex: 1 !important;
            }
            #player-screen > div:last-child {
                flex: 1 !important;
                display: flex !important;
                flex-direction: column !important;
       justify-content: flex-end !important; 
        padding-bottom: 0px !important;
        margin-top: 40px !important;
            }
            #back-to-list,
            #open-info {
                top: 15px !important;
            }
            #playlist-screen {
                max-width: 90vw !important;
                height: 90vh !important;
                margin-bottom: 0 !important;
                padding: 10px 20px !important;
                flex-direction: column !important;
            }
            #playlist-screen > div:first-child {
                padding: 5px 10px !important;
                margin-bottom: 5px !important;
            }
            #playlist-screen span {
                font-size: 16px !important;
            }
            #playlist-screen .list-container {
                display: grid !important;
                grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)) !important;
                gap: 10px !important;
                max-height: 60vh !important;
                overflow-y: auto !important;
                padding: 0 5px !important;
            }
            .group-header {
                grid-column: 1 / -1 !important;
            }
            #info-modal {
                width: 90% !important;
                padding: 15px 20px !important;
                top: 50% !important;
                max-height: 90vh !important;
                overflow-y: auto !important;
            }
            #info-modal .info-item {
                margin-bottom: 5px !important;
            }
            #info-modal div[style*="margin-top: 35px"] {
                margin-top: 10px !important;
            }
            #info-modal .bg-switcher {
                margin-top: 5px !important;
            }
            #btn-watch-video {
                margin-top: 10px !important;
                padding: 8px !important;
            }
            .controls {
                gap: 8px !important;
                margin-top: 10px !important;
            }
            .btn-play {
                width: 50px !important;
                height: 50px !important;
            }
            .loader {
                width: 55px !important;
                height: 55px !important;
            }
    #btn-fav {
        top: 15px !important;    
        right: 65px !important;  
        margin: 0 !important;
    }
        }
        
        .group-header {
            width: 100%;
            font-size: 11px;
            font-weight: bold;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            opacity: 0.6;
		    color: var(--bg-dynamic);
		    filter: brightness(1.8); 
		    margin-top: 15px;
		    padding: 5px 10px;
        }
        
        #btn-fav {
            position: absolute;
            top: 25px;
            right: 65px;
            transition: 0.3s;
        }
        
        #btn-fav svg {
            fill: rgba(255, 255, 255, 0.3);
            transition: 0.3s;
        }
        
        #btn-fav.active svg {
            fill: #F44336;
            filter: drop-shadow(0 0 5px rgba(244, 67, 54, 0.5));
        }
        
        #btn-fav {
            position: absolute;
            top: 25px;
            right: 65px;
            transition: 0.3s;
            z-index: 20;
        }
        
        #btn-fav svg {
            fill: rgba(255, 255, 255, 0.3);
            transition: 0.3s;
        }
        
        #btn-fav.active svg {
            fill: #F44336;
            filter: drop-shadow(0 0 5px rgba(244, 67, 54, 0.5));
        }