@import url('https://fonts.googleapis.com/css2?family=Metamorphous&family=Josefin+Sans:wght@300;400;500;600;700&display=swap');

        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        body {
            font-family: 'Josefin Sans', sans-serif;
            background: #000000;
            min-height: 100vh;
            padding: 0;
        }

        .container {
            display: flex;
            flex-direction: column;
            height: 100vh;
            max-width: 100%;
        }

        .page-header {
            background: #000000;
            padding: 20px;
            text-align: center;
            flex-shrink: 0;
            z-index: 100;
            position: relative;
            overflow: hidden;
        }

        .page-header::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background-image:
                radial-gradient(ellipse at 10% 50%, rgba(212, 175, 55, 0.15) 0%, transparent 50%),
                radial-gradient(ellipse at 90% 50%, rgba(212, 175, 55, 0.15) 0%, transparent 50%),
                radial-gradient(ellipse at 30% 20%, rgba(212, 175, 55, 0.08) 0%, transparent 40%),
                radial-gradient(ellipse at 70% 80%, rgba(212, 175, 55, 0.08) 0%, transparent 40%);
            z-index: 1;
        }

        .page-header::after {
            content: '';
            position: absolute;
            top: -50%;
            left: -10%;
            right: -10%;
            bottom: -50%;
            background-image:
                repeating-linear-gradient(
                    90deg,
                    transparent,
                    transparent 80px,
                    rgba(212, 175, 55, 0.03) 80px,
                    rgba(212, 175, 55, 0.03) 81px
                ),
                repeating-linear-gradient(
                    0deg,
                    transparent,
                    transparent 80px,
                    rgba(212, 175, 55, 0.03) 80px,
                    rgba(212, 175, 55, 0.03) 81px
                );
            transform: perspective(500px) rotateX(60deg);
            z-index: 1;
        }

        .page-header-ornament {
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            pointer-events: none;
            z-index: 2;
        }

        /* Art Nouveau horizontal border lines */
        .page-header-ornament::before {
            content: '';
            position: absolute;
            top: 15px;
            left: 80px;
            right: 80px;
            height: 1px;
            background: #D4AF37;
            z-index: 3;
        }

        .page-header-ornament::after {
            content: '';
            position: absolute;
            bottom: 15px;
            left: 80px;
            right: 80px;
            height: 1px;
            background: #D4AF37;
            z-index: 3;
        }

        /* Art Deco corner ornaments - geometric stepped design */
        .page-header-corner {
            position: absolute;
            width: 60px;
            height: 60px;
            pointer-events: none;
            z-index: 4;
        }

        /* Top-left corner */
        .page-header-corner.top-left {
            top: 0;
            left: 0;
            background:
                /* Outer frame */
                linear-gradient(#D4AF37, #D4AF37) 10px 10px / 2px 45px no-repeat,
                linear-gradient(#D4AF37, #D4AF37) 10px 10px / 45px 2px no-repeat,
                /* Step 1 */
                linear-gradient(#D4AF37, #D4AF37) 18px 18px / 2px 30px no-repeat,
                linear-gradient(#D4AF37, #D4AF37) 18px 18px / 30px 2px no-repeat,
                /* Step 2 */
                linear-gradient(#D4AF37, #D4AF37) 26px 26px / 2px 15px no-repeat,
                linear-gradient(#D4AF37, #D4AF37) 26px 26px / 15px 2px no-repeat,
                /* Small square accent */
                linear-gradient(#D4AF37, #D4AF37) 34px 34px / 6px 6px no-repeat;
        }

        /* Top-right corner - horizontally flipped */
        .page-header-corner.top-right {
            top: 0;
            right: 0;
            transform: scaleX(-1);
        }

        .page-header-corner.top-right {
            background:
                /* Outer frame */
                linear-gradient(#D4AF37, #D4AF37) 10px 10px / 2px 45px no-repeat,
                linear-gradient(#D4AF37, #D4AF37) 10px 10px / 45px 2px no-repeat,
                /* Step 1 */
                linear-gradient(#D4AF37, #D4AF37) 18px 18px / 2px 30px no-repeat,
                linear-gradient(#D4AF37, #D4AF37) 18px 18px / 30px 2px no-repeat,
                /* Step 2 */
                linear-gradient(#D4AF37, #D4AF37) 26px 26px / 2px 15px no-repeat,
                linear-gradient(#D4AF37, #D4AF37) 26px 26px / 15px 2px no-repeat,
                /* Small square accent */
                linear-gradient(#D4AF37, #D4AF37) 34px 34px / 6px 6px no-repeat;
        }

        /* Bottom-left corner - vertically flipped */
        .page-header-corner.bottom-left {
            bottom: 0;
            left: 0;
            transform: scaleY(-1);
        }

        .page-header-corner.bottom-left {
            background:
                /* Outer frame */
                linear-gradient(#D4AF37, #D4AF37) 10px 10px / 2px 45px no-repeat,
                linear-gradient(#D4AF37, #D4AF37) 10px 10px / 45px 2px no-repeat,
                /* Step 1 */
                linear-gradient(#D4AF37, #D4AF37) 18px 18px / 2px 30px no-repeat,
                linear-gradient(#D4AF37, #D4AF37) 18px 18px / 30px 2px no-repeat,
                /* Step 2 */
                linear-gradient(#D4AF37, #D4AF37) 26px 26px / 2px 15px no-repeat,
                linear-gradient(#D4AF37, #D4AF37) 26px 26px / 15px 2px no-repeat,
                /* Small square accent */
                linear-gradient(#D4AF37, #D4AF37) 34px 34px / 6px 6px no-repeat;
        }

        /* Bottom-right corner - both horizontally and vertically flipped */
        .page-header-corner.bottom-right {
            bottom: 0;
            right: 0;
            transform: scale(-1, -1);
        }

        .page-header-corner.bottom-right {
            background:
                /* Outer frame */
                linear-gradient(#D4AF37, #D4AF37) 10px 10px / 2px 45px no-repeat,
                linear-gradient(#D4AF37, #D4AF37) 10px 10px / 45px 2px no-repeat,
                /* Step 1 */
                linear-gradient(#D4AF37, #D4AF37) 18px 18px / 2px 30px no-repeat,
                linear-gradient(#D4AF37, #D4AF37) 18px 18px / 30px 2px no-repeat,
                /* Step 2 */
                linear-gradient(#D4AF37, #D4AF37) 26px 26px / 2px 15px no-repeat,
                linear-gradient(#D4AF37, #D4AF37) 26px 26px / 15px 2px no-repeat,
                /* Small square accent */
                linear-gradient(#D4AF37, #D4AF37) 34px 34px / 6px 6px no-repeat;
        }

        .page-header h1 {
            color: #D4AF37;
            font-size: 2.5em;
            margin-bottom: 10px;
            position: relative;
            z-index: 10;
            text-shadow: 0 0 20px rgba(212, 175, 55, 0.3);
            font-family: 'Metamorphous', cursive;
        }

        .page-header .songs-count {
            color: #D4AF37;
            font-size: 1em;
            opacity: 0.7;
            margin: 0;
            position: relative;
            z-index: 10;
        }

        .content-grid {
            display: grid;
            grid-template-columns: 350px 1fr 250px 200px;
            flex: 1;
            overflow: hidden;
        }

        /* Left sidebar - Orchestra list */
        .sidebar {
            width: 350px;
            background: #000000;
            padding: 20px;
            overflow-y: auto;
            display: flex;
            flex-direction: column;
        }

        #orchestraListContainer {
            flex: 1;
            overflow-y: auto;
        }

        .sidebar h1 {
            color: #D4AF37;
            font-size: 2em;
            margin-bottom: 10px;
            text-align: center;
            flex-shrink: 0;
        }

        .subtitle {
            color: #D4AF37;
            font-size: 0.9em;
            text-align: center;
            margin-bottom: 20px;
            opacity: 0.8;
            flex-shrink: 0;
        }

        .orchestra-list {
            list-style: none;
            padding-top: 20px;
            padding-bottom: 20px;
        }

        .orchestra-item {
            background: #000000;
            color: #D4AF37;
            padding: 4px 8px;
            margin-bottom: -12px;
            cursor: pointer;
            font-weight: 600;
            font-size: 11px;
            transition: all 0.3s ease;
            border: 2px solid #D4AF37;
            border-radius: 8px;
            display: block;
            width: 100%;
            position: relative;
            text-align: center;
            transform-origin: center;
            transform: scale(0.5);
            line-height: 1.2;
            z-index: 1;
        }

        .orchestra-item:hover {
            background: linear-gradient(135deg, #B8941E 0%, #D4AF37 20%, #FFD700 50%, #D4AF37 80%, #B8941E 100%);
            color: #000000;
            border: 3px solid #000000;
        }

        .orchestra-item.size-0 {
            transform: scale(1);
            font-size: 14px;
            padding: 8px 12px;
            box-shadow: 0 0 20px rgba(212, 175, 55, 0.8);
            z-index: 100;
            margin-top: -10px;
            margin-bottom: -10px;
        }

        .orchestra-item.size-1 {
            transform: scale(0.875);
            font-size: 13px;
            padding: 7px 10px;
            z-index: 90;
            margin-top: -8px;
            margin-bottom: -8px;
        }

        .orchestra-item.size-2 {
            transform: scale(0.75);
            font-size: 12px;
            padding: 6px 9px;
            z-index: 80;
            margin-top: -8px;
            margin-bottom: -8px;
        }

        .orchestra-item.size-3 {
            transform: scale(0.625);
            font-size: 11px;
            padding: 5px 8px;
            z-index: 70;
            margin-top: -8px;
            margin-bottom: -8px;
        }

        .orchestra-item.active {
            background: linear-gradient(135deg, #B8941E 0%, #D4AF37 20%, #FFD700 50%, #D4AF37 80%, #B8941E 100%);
            color: #000000;
            border: 3px solid #000000;
            box-shadow: 0 0 15px rgba(255, 215, 0, 0.8), 0 0 25px rgba(255, 215, 0, 0.4);
            animation: pulse-glow 2s ease-in-out infinite;
        }

        @keyframes pulse-glow {
            0%, 100% {
                box-shadow: 0 0 15px rgba(255, 215, 0, 0.8), 0 0 25px rgba(255, 215, 0, 0.4);
            }
            50% {
                box-shadow: 0 0 20px rgba(255, 215, 0, 1), 0 0 35px rgba(255, 215, 0, 0.5);
            }
        }

        /* Particle animation */
        .particle {
            position: absolute;
            width: 4px;
            height: 4px;
            background: #FFD700;
            border-radius: 50%;
            pointer-events: none;
            z-index: 1000;
            box-shadow: 0 0 8px rgba(255, 215, 0, 0.8);
        }

        @keyframes particle-fly {
            0% {
                opacity: 1;
                transform: translate(0, 0) scale(1);
            }
            100% {
                opacity: 0;
                transform: translate(var(--tx), var(--ty)) scale(0.3);
            }
        }

        /* Middle content - Songs list */
        .main-content {
            background: #000000;
            overflow-y: auto;
            padding: 20px;
        }

        /* Filter panel - between songs and singers */
        .filter-panel {
            background: #000000;
            padding: 20px 15px;
            display: flex;
            flex-direction: column;
            overflow-y: auto;
        }

        .clear-filters-btn {
            background: #000000;
            color: #D4AF37;
            border: 3px double #D4AF37;
            border-radius: 8px;
            padding: 0;
            cursor: pointer;
            font-size: 28px;
            font-weight: bold;
            display: block;
            margin: 0 auto 20px;
            transition: all 0.3s ease;
            width: 50px;
            height: 50px;
            line-height: 44px;
            text-align: center;
        }

        .clear-filters-btn:hover {
            background: linear-gradient(135deg, #D4AF37 0%, #FFD700 50%, #D4AF37 100%);
            color: #000000;
            box-shadow: 0 0 15px rgba(212, 175, 55, 0.8);
            transform: rotate(90deg);
        }

        .filter-section {
            margin-bottom: 20px;
            padding: 15px;
            border: 3px double #D4AF37;
            border-radius: 8px;
            background: #000000;
        }

        .filter-label {
            color: #D4AF37;
            font-size: 0.9em;
            margin-bottom: 10px;
            text-align: center;
            opacity: 0.8;
        }

        .genre-filters {
            display: flex;
            flex-direction: column;
            gap: 10px;
            align-items: center;
        }

        .genre-filter-item {
            display: flex;
            align-items: center;
            gap: 8px;
            padding: 8px 12px;
            background: #000000;
            border: 2px solid #D4AF37;
            border-radius: 6px;
            cursor: pointer;
            transition: all 0.3s ease;
            position: relative;
        }

        .genre-filter-item:hover {
            box-shadow: 0 0 15px rgba(212, 175, 55, 0.8);
        }

        .genre-filter-item.active {
            background: linear-gradient(135deg, #D4AF37 0%, #FFD700 50%, #D4AF37 100%);
            border: 2px solid #000000;
            box-shadow: 0 0 20px rgba(212, 175, 55, 0.6);
        }

        .genre-filter-item.active .filter-dot {
            background: #000000;
        }

        .genre-filter-item.disabled {
            opacity: 0.3;
            cursor: not-allowed;
        }

        .genre-filter-item.disabled:hover {
            box-shadow: none;
        }

        .filter-dot {
            width: 6px;
            height: 6px;
            background: #D4AF37;
            border-radius: 50%;
            transition: all 0.3s ease;
        }

        .year-slider-container {
            position: relative;
            padding: 30px 10px;
        }

        .year-line-wrapper {
            position: relative;
            width: 40px;
            height: 200px;
            margin: 0 auto;
            cursor: pointer;
        }

        .year-line {
            width: 4px;
            height: 200px;
            background: linear-gradient(to bottom, #D4AF37, #B8941E);
            position: absolute;
            left: 50%;
            transform: translateX(-50%);
            border-radius: 2px;
            pointer-events: none;
        }

        .year-marker {
            position: absolute;
            left: 50%;
            transform: translateX(-50%);
            color: #D4AF37;
            font-size: 0.85em;
            font-weight: 600;
        }

        .year-marker.start {
            top: -25px;
        }

        .year-marker.end {
            bottom: -25px;
        }

        .year-hover-indicator {
            position: absolute;
            left: calc(50% + 25px);
            transform: translateY(-50%);
            background: #000000;
            color: #D4AF37;
            padding: 4px 8px;
            border: 2px solid #D4AF37;
            border-radius: 4px;
            font-size: 0.85em;
            font-weight: 600;
            pointer-events: none;
            opacity: 0;
            transition: opacity 0.2s;
            white-space: nowrap;
            z-index: 1002;
        }

        .year-line-wrapper:hover .year-hover-indicator {
            opacity: 1;
        }

        .year-selection-indicator {
            position: absolute;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 20px;
            height: 3px;
            background: #000000;
            border: 1px solid #D4AF37;
            pointer-events: none;
            opacity: 0;
            transition: opacity 0.3s;
            z-index: 999;
        }

        .year-selection-indicator.active {
            opacity: 1;
        }

        .year-selection-label {
            position: absolute;
            left: calc(50% + 25px);
            transform: translateY(-50%);
            background: #000000;
            color: #D4AF37;
            padding: 4px 8px;
            border: 2px solid #D4AF37;
            border-radius: 4px;
            font-size: 0.85em;
            font-weight: 600;
            pointer-events: none;
            opacity: 0;
            white-space: nowrap;
            z-index: 1001;
            cursor: default;
            transition: all 0.3s ease;
        }

        .year-selection-label.active {
            opacity: 1;
            pointer-events: auto;
            cursor: pointer;
        }

        .year-selection-label.active:hover {
            background: linear-gradient(135deg, #D4AF37 0%, #FFD700 50%, #D4AF37 100%);
            color: #000000;
            box-shadow: 0 0 10px rgba(212, 175, 55, 0.8);
        }

        .year-range-bar {
            position: absolute;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 40px;
            height: 8px;
            background: #D4AF37;
            border: 3px solid #000000;
            border-radius: 4px;
            cursor: ns-resize;
            z-index: 998;
            transition: all 0.2s;
            opacity: 1;
        }

        .year-range-bar:hover {
            background: #FFD700;
            height: 10px;
            box-shadow: 0 0 15px rgba(212, 175, 55, 0.8);
        }

        .year-range-bar.dragging {
            background: #FFD700;
            height: 10px;
            box-shadow: 0 0 15px rgba(212, 175, 55, 1);
        }

        .year-range-bar.active {
            background: #FFD700;
        }

        .year-range-bar.disabled {
            opacity: 0.3;
            cursor: not-allowed;
            pointer-events: none;
        }

        #minYearBar {
            top: 0;
        }

        #maxYearBar {
            top: 100%;
        }

        /* Letter filter */
        .letter-filters {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(20px, 1fr));
            gap: 3px;
            max-width: 180px;
            margin: 0 auto;
        }

        .letter-filter-item {
            background: #000000;
            color: #D4AF37;
            padding: 4px;
            border: 1px solid #D4AF37;
            border-radius: 3px;
            cursor: pointer;
            transition: all 0.2s ease;
            text-align: center;
            font-size: 10px;
            font-weight: 600;
        }

        .letter-filter-item:hover {
            box-shadow: 0 0 10px rgba(212, 175, 55, 0.6);
        }

        .letter-filter-item.active {
            background: linear-gradient(135deg, #D4AF37 0%, #FFD700 50%, #D4AF37 100%);
            color: #000000;
            border: 1px solid #000000;
        }

        .letter-filter-item.disabled {
            opacity: 0.3;
            cursor: not-allowed;
        }

        /* Right sidebar - Singers list */
        .singers-sidebar {
            background: #000000;
            padding: 20px;
            overflow-y: auto;
            display: flex;
            flex-direction: column;
        }

        .singers-sidebar h2 {
            color: #D4AF37;
            font-size: 1.5em;
            margin-bottom: 10px;
            text-align: center;
            flex-shrink: 0;
        }

        .singers-subtitle {
            color: #D4AF37;
            font-size: 0.8em;
            text-align: center;
            margin-bottom: 20px;
            opacity: 0.6;
            flex-shrink: 0;
        }

        #singersListContainer {
            flex: 1;
            overflow-y: auto;
        }

        .singers-list {
            list-style: none;
            padding-top: 10px;
            padding-bottom: 10px;
        }

        .singer-item {
            background: #000000;
            color: #D4AF37;
            padding: 6px 10px;
            margin-bottom: -6px;
            font-weight: 500;
            font-size: 11px;
            transition: all 0.3s ease;
            border: 2px solid #D4AF37;
            border-radius: 6px;
            display: block;
            width: 100%;
            text-align: center;
            line-height: 1.2;
            z-index: 1;
            cursor: pointer;
            transform-origin: center;
            transform: scale(0.7);
            position: relative;
        }

        .singer-item.singer-size-0 {
            transform: scale(1);
            font-size: 13px;
            padding: 8px 12px;
            box-shadow: 0 0 20px rgba(212, 175, 55, 0.8);
            z-index: 100;
            margin-top: -8px;
            margin-bottom: -8px;
        }

        .singer-item.singer-size-1 {
            transform: scale(0.9);
            font-size: 12px;
            padding: 7px 11px;
            z-index: 90;
            margin-top: -7px;
            margin-bottom: -7px;
        }

        .singer-item.singer-size-2 {
            transform: scale(0.8);
            font-size: 11px;
            padding: 6px 10px;
            z-index: 80;
            margin-top: -6px;
            margin-bottom: -6px;
        }

        .singer-item.singer-size-3 {
            transform: scale(0.7);
            font-size: 11px;
            padding: 6px 10px;
            z-index: 70;
            margin-top: -6px;
            margin-bottom: -6px;
        }

        .singer-item:hover {
            background: linear-gradient(135deg, #D4AF37 0%, #FFD700 50%, #D4AF37 100%);
            color: #000000;
            border: 2px solid #000000;
            box-shadow: 0 0 15px rgba(212, 175, 55, 0.8);
        }

        .singer-item.highlight {
            background: linear-gradient(135deg, #D4AF37 0%, #FFD700 50%, #D4AF37 100%);
            color: #000000;
            border: 2px solid #000000;
            box-shadow: 0 0 15px rgba(212, 175, 55, 0.8);
        }

        .singer-item.selected {
            background: linear-gradient(135deg, #D4AF37 0%, #FFD700 50%, #D4AF37 100%);
            color: #000000;
            border: 3px solid #000000;
            box-shadow: 0 0 12px rgba(255, 215, 0, 0.8), 0 0 20px rgba(255, 215, 0, 0.4);
            font-weight: 700;
            animation: pulse-glow 2s ease-in-out infinite;
        }

        .empty-state {
            text-align: center;
            padding: 60px 20px;
            color: #D4AF37;
            opacity: 0.6;
        }

        .empty-state h2 {
            font-size: 2em;
            margin-bottom: 10px;
        }

        .loading {
            text-align: center;
            padding: 40px;
            color: #D4AF37;
        }

        .spinner {
            border: 3px solid rgba(212, 175, 55, 0.3);
            border-top: 3px solid #D4AF37;
            border-radius: 50%;
            width: 50px;
            height: 50px;
            animation: spin 1s linear infinite;
            margin: 0 auto 20px;
        }

        @keyframes spin {
            0% { transform: rotate(0deg); }
            100% { transform: rotate(360deg); }
        }

        .songs-count {
            color: #D4AF37;
            font-size: 1em;
            opacity: 0.7;
            margin: 0;
        }

        .songs-list {
            list-style: none;
        }

        .song-item {
            background: #000000;
            color: #D4AF37;
            padding: 8px 12px;
            margin-bottom: -6px;
            font-weight: 500;
            font-size: 12px;
            transition: all 0.3s ease;
            border: 2px solid #D4AF37;
            border-radius: 8px;
            display: flex;
            justify-content: space-between;
            align-items: center;
            transform: scale(0.75);
            transform-origin: center;
            cursor: pointer;
            position: relative;
            z-index: 1;
            line-height: 1.3;
        }

        .song-item:hover {
            background: linear-gradient(135deg, #D4AF37 0%, #FFD700 50%, #D4AF37 100%);
            color: #000000;
            border: 3px solid #000000;
            box-shadow: 0 0 12px rgba(255, 215, 0, 0.8), 0 0 20px rgba(255, 215, 0, 0.4);
        }

        .song-item:hover .genre-dot {
            background: #000000;
        }

        .song-item:hover .play-button {
            color: #000000;
        }


        .song-item.song-size-0 {
            transform: scale(1);
            font-size: 14px;
            padding: 10px 15px;
            box-shadow: 0 0 15px rgba(212, 175, 55, 0.6);
            z-index: 100;
            margin-top: -8px;
            margin-bottom: -8px;
        }

        .song-item.song-size-1 {
            transform: scale(0.9);
            font-size: 13px;
            padding: 9px 13px;
            z-index: 90;
            margin-top: -7px;
            margin-bottom: -7px;
        }

        .song-item.song-size-2 {
            transform: scale(0.825);
            font-size: 12px;
            padding: 8px 12px;
            z-index: 80;
            margin-top: -6px;
            margin-bottom: -6px;
        }

        .song-item.selected {
            background: linear-gradient(135deg, #D4AF37 0%, #FFD700 50%, #D4AF37 100%);
            color: #000000;
            border: 3px solid #000000;
            box-shadow: 0 0 12px rgba(255, 215, 0, 0.8), 0 0 20px rgba(255, 215, 0, 0.4);
            animation: pulse-glow 2s ease-in-out infinite;
        }

        /* YouTube popup overlay */
        .youtube-overlay {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: rgba(0, 0, 0, 0.5);
            z-index: 10000;
            display: none;
            align-items: center;
            justify-content: center;
        }

        .youtube-overlay.active {
            display: flex;
        }

        .youtube-popup {
            position: relative;
            width: 45%;
            max-width: 600px;
            background: #000000;
            border: 3px double #D4AF37;
            border-radius: 12px;
            padding: 20px;
            box-shadow: 0 0 30px rgba(212, 175, 55, 0.6);
        }

        .youtube-popup-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 15px;
        }

        .youtube-popup-title {
            color: #D4AF37;
            font-size: 1.2em;
            font-weight: 600;
        }

        .youtube-close-btn {
            background: #000000;
            color: #D4AF37;
            border: 3px double #D4AF37;
            border-radius: 8px;
            width: 40px;
            height: 40px;
            font-size: 24px;
            font-weight: bold;
            cursor: pointer;
            transition: all 0.3s ease;
            line-height: 34px;
            text-align: center;
        }

        .youtube-close-btn:hover {
            background: linear-gradient(135deg, #D4AF37 0%, #FFD700 50%, #D4AF37 100%);
            color: #000000;
            box-shadow: 0 0 15px rgba(212, 175, 55, 0.8);
            transform: rotate(90deg);
        }

        .youtube-search-query {
            color: #D4AF37;
            font-size: 0.9em;
            opacity: 0.7;
            margin-bottom: 10px;
            text-align: center;
            font-style: italic;
        }

        .youtube-iframe-container {
            position: relative;
            width: 100%;
            padding-bottom: 56.25%; /* 16:9 aspect ratio */
            height: 0;
            overflow: hidden;
        }

        .youtube-iframe-container iframe {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            border: none;
            border-radius: 8px;
        }

        .youtube-loading {
            text-align: center;
            color: #D4AF37;
            padding: 40px;
        }

        .youtube-search-link {
            display: inline-block;
            margin-top: 20px;
            padding: 12px 24px;
            background: linear-gradient(135deg, #D4AF37 0%, #FFD700 50%, #D4AF37 100%);
            color: #000000;
            text-decoration: none;
            border: 3px solid #000000;
            border-radius: 8px;
            font-weight: 600;
            transition: all 0.3s ease;
            box-shadow: 0 0 15px rgba(212, 175, 55, 0.5);
        }

        .youtube-search-link:hover {
            box-shadow: 0 0 25px rgba(212, 175, 55, 0.8);
            transform: scale(1.05);
        }

        .song-title {
            font-weight: 600;
            flex: 1;
        }

        .song-meta {
            display: flex;
            gap: 15px;
            font-size: 11px;
            opacity: 0;
            transition: opacity 0.3s ease;
        }

        .song-item:hover .song-meta,
        .song-item.selected .song-meta {
            opacity: 0.8;
        }

        .song-singers {
            font-style: italic;
        }

        .song-genre-dots {
            display: flex;
            gap: 3px;
            align-items: center;
        }

        .genre-dot {
            width: 6px;
            height: 6px;
            background: #D4AF37;
            border-radius: 50%;
            display: inline-block;
        }

        .song-item.selected .genre-dot {
            background: #000000;
        }

        .play-button {
            display: inline-block;
            margin-left: 10px;
            font-size: 10px;
            color: #D4AF37;
            transition: all 0.3s ease;
        }

        .play-button.disabled {
            opacity: 0.3;
            cursor: not-allowed;
        }

        .song-item:hover .play-button {
            transform: scale(1.2);
        }

        .song-item:hover .play-button.disabled {
            transform: none;
        }

        .song-item.selected .play-button {
            color: #000000;
        }

        .song-item.selected .play-button.disabled {
            opacity: 0.3;
        }

        .song-item:hover .play-button.disabled {
            color: #000000;
            opacity: 0.3;
        }

        .thumb-buttons {
            display: inline-flex;
            gap: 8px;
            margin-left: 10px;
        }

        .thumb-button {
            background: none;
            border: none;
            padding: 0;
            font-size: 12px;
            cursor: pointer;
            transition: all 0.2s ease;
            display: inline-flex;
            align-items: center;
            color: transparent;
            text-shadow: 0 0 0 #000000;
        }

        .thumb-button:hover {
            transform: scale(1.15);
        }

        .thumb-count {
            font-size: 8px;
            font-weight: 600;
        }

        .error {
            background: #D4AF37;
            color: #000000;
            padding: 20px;
            margin: 20px;
            border: 2px solid #D4AF37;
            border-radius: 8px;
            text-align: center;
            font-weight: 600;
        }

        /* Hide scrollbars */
        ::-webkit-scrollbar {
            width: 0;
            height: 0;
        }

        /* For Firefox */
        * {
            scrollbar-width: none;
        }

        /* For IE and Edge */
        * {
            -ms-overflow-style: none;
        }

        @media (max-width: 768px) {
            .container {
                grid-template-columns: 1fr;
                grid-template-rows: auto 1fr auto;
            }

            .sidebar {
                border-right: none;
                border-bottom: 2px solid #D4AF37;
                height: auto;
            }

            .singers-sidebar {
                border-top: 2px solid #D4AF37;
                height: auto;
            }
        }