 /* ╔══════════════════════════════════════════════════════════════╗
       ║  MUSIC PLAYER — CSS                                         ║
       ║  Search this comment to jump straight here                  ║
       ╚══════════════════════════════════════════════════════════════╝ */

        /* ── TOAST NOTIFICATION (always visible, bottom-left) ── */
        #music-toast {
            position: fixed;
            bottom: 24px;
            left: 24px;
            z-index: 9999;
            display: flex;
            align-items: center;
            gap: 12px;
            background: rgba(20, 8, 0, 0.88);
            border: 3px solid #C08800;
            border-radius: 50px;
            padding: 10px 20px 10px 14px;
            box-shadow: 0 6px 0 rgba(0, 0, 0, 0.5), 0 10px 28px rgba(0, 0, 0, 0.55);
            cursor: pointer;
            transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.25s;
            max-width: min(320px, calc(100vw - 48px));
            animation: toastSlideIn 0.65s cubic-bezier(0.34, 1.56, 0.64, 1) both;
        }

        @keyframes toastSlideIn {
            from {
                opacity: 0;
                transform: translateY(40px) scale(0.85);
            }

            to {
                opacity: 1;
                transform: translateY(0) scale(1);
            }
        }

        #music-toast:hover {
            transform: translateY(-4px) scale(1.03);
            box-shadow: 0 10px 0 rgba(0, 0, 0, 0.5), 0 16px 36px rgba(0, 0, 0, 0.6);
        }

        /* spinning vinyl disc on the toast */
        .toast-vinyl {
            width: 38px;
            height: 38px;
            border-radius: 50%;
            flex-shrink: 0;
            background: radial-gradient(circle at 50%,
                    #1a0a00 0%, #1a0a00 22%,
                    #3a1800 24%, #2a1000 36%,
                    #3a1800 38%, #1a0a00 52%,
                    #3a1800 54%, #2a1000 66%,
                    #1a0a00 68%, #1a0a00 100%);
            border: 2px solid #C08800;
            box-shadow: inset 0 0 0 3px rgba(0, 0, 0, 0.4);
            position: relative;
            animation: spinVinyl 3s linear infinite;
        }

        .toast-vinyl.paused {
            animation-play-state: paused;
        }

        .toast-vinyl::after {
            content: '';
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 9px;
            height: 9px;
            border-radius: 50%;
            background: #FFD050;
            border: 1.5px solid #C08800;
        }

        @keyframes spinVinyl {
            to {
                transform: rotate(360deg);
            }
        }

        /* music note icon */
        .toast-note {
            font-size: 17px;
            flex-shrink: 0;
            animation: noteBounce 1.2s ease-in-out infinite;
        }

        @keyframes noteBounce {

            0%,
            100% {
                transform: translateY(0) rotate(-8deg);
            }

            50% {
                transform: translateY(-4px) rotate(8deg);
            }
        }

        /* song info text */
        .toast-info {
            overflow: hidden;
            display: flex;
            flex-direction: column;
            gap: 1px;
            min-width: 0;
        }

        .toast-now-playing {
            font-family: 'Fredoka One', cursive;
            font-size: 9px;
            letter-spacing: 3px;
            color: rgba(255, 190, 50, 0.65);
            text-transform: uppercase;
            white-space: nowrap;
        }

        .toast-song-name {
            font-family: 'Fredoka One', cursive;
            font-size: 14px;
            letter-spacing: 0.5px;
            color: #FFE060;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        /* ── MODAL OVERLAY ── */
        #music-modal {
            position: fixed;
            inset: 0;
            z-index: 10000;
            background: rgba(8, 2, 0, 0.82);
            display: flex;
            align-items: center;
            justify-content: center;
            opacity: 0;
            pointer-events: none;
            transition: opacity 0.3s ease;
            backdrop-filter: blur(6px);
        }

        #music-modal.open {
            opacity: 1;
            pointer-events: all;
        }

        /* modal card */
        .modal-card {
            background: linear-gradient(145deg, #1E0A00, #2C1200);
            border: 4px solid #C08800;
            border-radius: 28px;
            box-shadow: 0 10px 0 #5A3000, 0 20px 60px rgba(0, 0, 0, 0.7);
            padding: clamp(24px, 5vw, 44px);
            display: flex;
            align-items: center;
            gap: clamp(24px, 5vw, 48px);
            max-width: min(600px, calc(100vw - 40px));
            width: 100%;
            position: relative;
            transform: scale(0.8) translateY(30px);
            transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
        }

        #music-modal.open .modal-card {
            transform: scale(1) translateY(0);
        }

        @media (max-width: 520px) {
            .modal-card {
                flex-direction: column;
                text-align: center;
            }
        }

        /* close button */
        .modal-close {
            position: absolute;
            top: 14px;
            right: 18px;
            font-family: 'Fredoka One', cursive;
            font-size: 22px;
            color: rgba(255, 190, 50, 0.7);
            cursor: pointer;
            line-height: 1;
            transition: color 0.2s, transform 0.2s;
            background: none;
            border: none;
        }

        .modal-close:hover {
            color: #FFE060;
            transform: scale(1.2) rotate(10deg);
        }

        /* big vinyl in modal */
        .modal-vinyl {
            width: clamp(120px, 22vw, 190px);
            height: clamp(120px, 22vw, 190px);
            border-radius: 50%;
            flex-shrink: 0;
            background:
                radial-gradient(circle at 50%,
                    #0a0400 0%, #0a0400 16%,
                    #C08800 17%, #C08800 21%,
                    #1a0900 22%, #1a0900 34%,
                    #2e1200 36%, #1a0900 48%,
                    #2e1200 50%, #1a0900 62%,
                    #2e1200 64%, #1a0900 76%,
                    #C08800 78%, #C08800 81%,
                    #1a0900 82%, #1a0900 100%);
            border: 4px solid #C08800;
            box-shadow: 0 0 0 6px rgba(192, 136, 0, 0.2), 0 8px 30px rgba(0, 0, 0, 0.6);
            position: relative;
            animation: spinVinyl 2.8s linear infinite;
        }

        .modal-vinyl.paused {
            animation-play-state: paused;
        }

        /* label dot */
        .modal-vinyl::after {
            content: '';
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 18px;
            height: 18px;
            border-radius: 50%;
            background: #FFD050;
            border: 3px solid #C08800;
        }

        /* info side of modal */
        .modal-info {
            display: flex;
            flex-direction: column;
            gap: 14px;
            flex: 1;
            min-width: 0;
        }

        .modal-label {
            font-family: 'Fredoka One', cursive;
            font-size: 11px;
            letter-spacing: 4px;
            color: rgba(255, 190, 50, 0.6);
            text-transform: uppercase;
        }

        .modal-title {
            font-family: 'Fredoka One', cursive;
            font-size: clamp(18px, 3.5vw, 28px);
            color: #FFE060;
            line-height: 1.2;
            -webkit-text-stroke: 1px rgba(130, 60, 0, 0.3);
        }

        .modal-artist {
            font-family: 'Nunito', sans-serif;
            font-weight: 700;
            font-size: clamp(12px, 1.8vw, 16px);
            color: rgba(255, 210, 140, 0.7);
        }

        /* progress bar */
        .modal-progress-wrap {
            width: 100%;
            height: 6px;
            background: rgba(255, 180, 50, 0.18);
            border-radius: 6px;
            overflow: hidden;
            cursor: pointer;
        }

        .modal-progress-bar {
            height: 100%;
            width: 0%;
            background: linear-gradient(90deg, #FFB800, #FFE060);
            border-radius: 6px;
            transition: width 0.5s linear;
        }

        /* play/pause button */
        .modal-playpause {
            font-family: 'Fredoka One', cursive;
            font-size: clamp(14px, 2.2vw, 18px);
            letter-spacing: 2px;
            color: #1A0600;
            background: linear-gradient(160deg, #FFE050, #FFBA00, #FFE050);
            border: 3px solid #7A3C00;
            border-radius: 50px;
            padding: 10px 28px;
            cursor: pointer;
            box-shadow: 0 5px 0 #562A00, 0 8px 20px rgba(0, 0, 0, 0.4);
            transition: transform 0.15s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.15s;
            align-self: flex-start;
        }

        @media (max-width: 520px) {
            .modal-playpause {
                align-self: center;
            }
        }

        .modal-playpause:hover {
            transform: translateY(-3px) scale(1.05);
            box-shadow: 0 8px 0 #562A00;
        }

        .modal-playpause:active {
            transform: translateY(3px);
            box-shadow: 0 1px 0 #562A00;
        }

        /* ╚══════════════════════════════════════════════════════════════╝
       END MUSIC PLAYER CSS */