        .scrollbar-hide::-webkit-scrollbar { display: none; }
        .scrollbar-hide { -ms-overflow-style: none; scrollbar-width: none; }
        
        /* Custom Scrollbar untuk Modal */
        .custom-scrollbar::-webkit-scrollbar { width: 6px; }
        .custom-scrollbar::-webkit-scrollbar-track { background: transparent; }
        .custom-scrollbar::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 10px; }
        .dark .custom-scrollbar::-webkit-scrollbar-thumb { background: #475569; }

        .glass-nav { background: rgba(255, 255, 255, 0.85); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-bottom: 1px solid rgba(255,255,255,0.3); }
        .dark .glass-nav { background: rgba(15, 23, 42, 0.85); border-bottom: 1px solid rgba(255,255,255,0.05); }

        .floating-audio-player {
            --audio-origin-x: right;
            --audio-origin-y: top;
            position: fixed;
            right: 18px;
            top: 520px;
            width: 48px;
            height: 48px;
            z-index: 70;
            opacity: 0.2;
            overflow: hidden;
            border-radius: 999px;
            background: rgba(15, 23, 42, 0.95);
            box-shadow: 0 18px 45px rgba(15, 23, 42, 0.24);
            transform-origin: var(--audio-origin-x) var(--audio-origin-y);
            transition:
                left 0.38s ease,
                top 0.38s ease,
                width 0.38s ease,
                height 0.38s ease,
                border-radius 0.38s ease,
                opacity 0.25s ease,
                background-color 0.35s ease,
                box-shadow 0.35s ease;
            touch-action: none;
        }
        .dark .floating-audio-player {
            background: rgba(30, 41, 59, 0.95);
        }
        .floating-audio-player.is-expanded,
        .floating-audio-player.is-dragging,
        .floating-audio-player:hover {
            opacity: 1;
        }
        .floating-audio-player.is-expanded {
            width: min(300px, calc(100vw - 32px));
            height: 190px;
            border-radius: 24px;
            background: rgba(255, 255, 255, 0.95);
            box-shadow: 0 24px 60px rgba(15, 23, 42, 0.28);
        }
        .dark .floating-audio-player.is-expanded {
            background: rgba(15, 23, 42, 0.95);
        }
        .floating-audio-player.is-dragging {
            transition: none;
        }
        .floating-audio-player .audio-player-compact {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            border-radius: inherit;
            opacity: 1;
            transform: scale(1);
            transform-origin: var(--audio-origin-x) var(--audio-origin-y);
            transition: opacity 0.16s ease 0.08s, transform 0.24s ease !important;
        }
        .floating-audio-player.is-expanded .audio-player-compact {
            opacity: 0;
            pointer-events: none;
            transform: scale(0.72);
            transition-delay: 0s;
        }
        .audio-player-panel {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            border-radius: inherit !important;
            opacity: 0;
            pointer-events: none;
            transform: scale(0.96);
            transform-origin: var(--audio-origin-x) var(--audio-origin-y);
            transition: opacity 0.18s ease 0.12s, transform 0.32s ease 0.04s;
        }
        .floating-audio-player.is-expanded .audio-player-panel {
            opacity: 1;
            pointer-events: auto;
            transform: scale(1);
        }
        .audio-seekbar {
            -webkit-appearance: none;
            appearance: none;
            height: 5px;
            border-radius: 999px;
            background: linear-gradient(to right, #14b8a6 0%, #14b8a6 var(--seek-progress, 0%), #e7e5e4 var(--seek-progress, 0%), #e7e5e4 100%);
            outline: none;
        }
        .dark .audio-seekbar {
            background: linear-gradient(to right, #2dd4bf 0%, #2dd4bf var(--seek-progress, 0%), #334155 var(--seek-progress, 0%), #334155 100%);
        }
        .audio-seekbar::-webkit-slider-thumb {
            -webkit-appearance: none;
            width: 14px;
            height: 14px;
            border-radius: 999px;
            background: #14b8a6;
            border: 2px solid white;
            box-shadow: 0 2px 8px rgba(15, 23, 42, 0.25);
            cursor: pointer;
        }
        .audio-seekbar::-moz-range-thumb {
            width: 14px;
            height: 14px;
            border-radius: 999px;
            background: #14b8a6;
            border: 2px solid white;
            box-shadow: 0 2px 8px rgba(15, 23, 42, 0.25);
            cursor: pointer;
        }
        @media (max-width: 640px) {
            .floating-audio-player {
                right: 14px;
                top: 610px;
            }
            .floating-audio-player.is-expanded {
                width: min(278px, calc(100vw - 28px));
                height: 190px;
            }
        }
