@font-face { font-family: 'Aclonica'; /* Choose a name for your font */ src: url('storage/font-family/Aclonica-Regular.ttf') format('truetype'); /* Replace with the actual path */ } @font-face { font-family: 'Roboto'; /* Choose a name for your font */ src: url('storage/font-family/Roboto-VariableFont_wdth,wght.ttf') format('truetype'); /* Replace with the actual path */ } @font-face { font-family: 'Poppins'; /* Choose a name for your font */ src: url('storage/font-family/Poppins-Bold.ttf') format('truetype'); /* Replace with the actual path */ } @font-face { font-family: 'Akaya Telivigala'; /* Choose a name for your font */ src: url('storage/font-family/AkayaTelivigala-Regular.ttf') format('truetype'); /* Replace with the actual path */ } * { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; } /* Dark mode styles */ body.dark-mode { background: url('../storage/frontend/bg/E.jpg') center center no-repeat; background-size: cover; color: black; overflow: hidden; } :root{ /* Dark Mode */ --background: #03070d; --list: #070c12; --icon: #dcdee1; --side-bar: #070c12; --list-info: #8eb2e8; --text: #4736c7; --info: orange; /* light Mode */ --light-background: #ffffff; --light-list: #ecf0f1; --light-icon: #2C2C2C; --light-side-bar: #ecf0f1; --light-list-info: #8eb2e8; --light-text: #2c3e50; --light-info: #3498db; } body.dark-mode header { background: transparent; backdrop-filter: blur(7px); } body.dark-mode .notification-text { color: black; } body.dark-mode .menu-icon svg { fill: black; } body.dark-mode footer { background: white; box-shadow: 0 -5px 10px rgba(0, 0, 0, 0.2); } body { display: flex; justify-content: center; align-items: center; min-height: 100vh; background: var(--background); /* background: radial-gradient(circle at top, #2b2b2b, #000); */ background-size: cover; padding: 5px; overflow: hidden; } body::after, body::before { position: absolute; width: 150px; height: 120px; content: ''; background-color: #4736c7; top: 0; right: 0; border-radius: 10px 30px 600px 100px; filter: blur(80px); pointer-events: none; } .container { max-width: 900px; width: 100%; text-align: center; padding: 0; align-items: center; } h1 { color: white; margin-bottom: 30px; text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3); font-size: 2.8rem; } .player-container { background: rgba(0, 0, 0, 0.5); border-radius: 15px; overflow: hidden; box-shadow: 0 15px 35px rgba(0, 0, 0, 0.5); position: relative; padding: 10px; width: 100%; text-align: left; } .video-container { position: relative; padding-top: 56.25%; /* 16:9 Aspect Ratio */ height: 0; overflow: hidden; border-radius: 10px; margin-bottom: 20px; } #player { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: none; } .controls { position: fixed; top: 75%; width: 100%; display: flex; align-items: center; justify-content: space-between; padding: 15px; background: transparent; border-radius: 10px; } .play-pause { position: relative; display: flex; align-items: center; justify-content: center; width: 60px; height: 60px; background: #ff0000; border-radius: 50%; cursor: pointer; transition: all 0.3s; box-shadow: 0 5px 15px rgba(255, 0, 0, 0.4); } .play-pause:hover { transform: scale(1.1); background: #ff3333; } .play-pause-2 { position: relative; display: flex; align-items: center; justify-content: center; width: 50px; height: 50px; background: rgba(15, 5, 35, 0.7); border-radius: 50%; cursor: pointer; margin-top: 5px; transition: all 0.3s; box-shadow: 0 5px 15px black; border: none; } .play-pause svg { font-size: 28px; color: white; } .play-pause-2 svg { font-size: 28px; fill: white; } .play-pause-3 { position: relative; display: flex; align-items: center; justify-content: center; width: 50px; height: 50px; background: rgba(15, 5, 35, 0.7); border-radius: 50%; cursor: pointer; margin-top: 5px; transition: all 0.3s; box-shadow: 0 5px 15px black; } .play-pause-3 svg { font-size: 28px; fill: white; } .menu-back { position: relative; display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; background: transparent; border-radius: 50%; cursor: pointer; margin-top: 5px; transition: all 0.3s; } .menu-back svg { width: 36px; height: 36px; fill: white; } body.dark-mode .menu-back svg { fill: black; } .progress-container { flex-grow: 1; display: flex; column-gap: 6px; margin: 0 20px; } .progress-bar { width: 100%; height: 5px; background: rgba(255, 255, 255, 0.2); border-radius: 10px; overflow: hidden; position: relative; cursor: pointer; margin-bottom: 5px; } .progress { height: 100%; width: 0%; background: #ff0000; border-radius: 10px; transition: width 0.1s; } body.dark-mode .progress-bar { background: rgba(0, 0, 0, 0.4); } body.dark-mode .progress { background: #0084ff; } .time { display: flex; column-gap: 5px; justify-content: space-between; color: white; font-size: 14px; font-weight: 500; } body.dark-mode .time { color: black; } .current-time { color: white; margin-top: -10px; } body.dark-mode .current-time { color: blue; } .duration { color: white; margin-top: -10px; } body.dark-mode .duration { color: blue; } .track-info { color: white; padding: 15px; background: rgba(40, 40, 40, 0.9); border-radius: 10px; margin-top: 20px; text-align: left; } .track-info h2 { font-size: 1.5rem; margin-bottom: 10px; color: #ffcc00; } .track-info p { margin: 8px 0; font-size: 1.1rem; color: #ddd; } .features { display: flex; flex-wrap: wrap; justify-content: center; gap: 20px; margin-top: 30px; } .feature { background: rgba(0, 0, 0, 0.7); color: white; padding: 20px; border-radius: 10px; flex: 1; min-width: 200px; max-width: 250px; box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3); } .feature i { font-size: 2.5rem; color: #ffcc00; margin-bottom: 15px; } .feature h3 { margin-bottom: 10px; color: #ffcc00; } @media (max-width: 768px) { .controls { flex-direction: column; gap: 15px; } .play-pause { order: -1; } .progress-container { width: 100%; } } .api-info { background: rgba(255, 255, 255, 0.1); border-radius: 10px; padding: 20px; margin-top: 30px; text-align: left; color: white; } .api-info h3 { color: #ffcc00; margin-bottom: 15px; font-size: 1.4rem; } .api-info p { margin-bottom: 10px; line-height: 1.6; } .api-info code { background: rgba(0, 0, 0, 0.5); padding: 2px 6px; border-radius: 4px; font-family: monospace; } .profile { width: 100%; height: 50%; position: relative; text-align: center; justify-content: center; border-radius: 50%; margin-top: -30%; margin-bottom: 10%; } .profile img { border-radius: 50%; width: 30%; height: 100%; box-shadow: 0 0 10px black } header { position: fixed; top: 0; left: 0; width: 100%; height: 10%; display: flex; background: transparent; backdrop-filter: blur(7px); padding: 5%; text-align: center; z-index: 1000; transition: 0.2s; } .app-name { position: fixed; margin-top: 12px; font-size: 1.2rem; left: 40%; color: white; text-align: center; font-family: 'Akaya Telivigala', sans-serif; } body.dark-mode .app-name { color: darkblue; } .singer-name { position: relative; font-size: 1.6rem; margin-top: 10px; margin-left: 20px; color: white; text-align: center; font-family: 'Akaya Telivigala', sans-serif; } body.dark-mode .song-title { color: darkblue; } body.dark-mode .singer-name { color: darkblue; } .full-lyrics { position: fixed; top: 0; left: 0; width: 100%; height: 100%; padding-top: 2%; background: var(--background); background-size: cover; z-index: 100; display: flex; flex-direction: column; opacity: 0; pointer-events: none; transition: opacity 0.5s ease; } body.dark-mode .full-lyrics { background: white; } .full-lyrics.active { opacity: 1; pointer-events: all; } .full-header { padding: 10px; display: flex; align-items: center; border-bottom: 1px solid rgba(255, 255, 255, 0.1); } .close-lyrics { margin-left: auto; width: 40px; height: 40px; border-radius: 50%; background: transparent; display: flex; justify-content: center; align-items: center; cursor: pointer; transition: all 0.3s ease; } .close-lyrics:hover { background: rgba(76, 201, 240, 0.3); transform: rotate(90deg); } .full-content { flex: 1; padding: 10px; margin-top: 20px; overflow-y: auto; } .full-content h2 { margin-bottom: 20px; color: #4cc9f0; font-size: 23px; text-align: center; } .song-title { position: fixed; font-size: 23px; left: 30%; display: none; margin-bottom: 20px; color: #4cc9f0; text-align: center; } .full-content .line-1 { font-size: 1.1rem; font-weight: 400; line-height: 2; margin-bottom: 15px; opacity: 0.8; max-width: 700px; margin: 0 auto 20px; margin-left: 15px; text-align: left; color: white; } .full-content .line-1 .span { color: orange; font-weight: bold; } body.dark-mode .full-content .line-1 .span { color: blue; font-weight: bold; } .full-content .line-2 .span { color: orange; font-weight: bold; } body.dark-mode .full-content .line-2 .span { color: blue; font-weight: bold; } .full-content .line-2 { font-size: 1.1rem; font-weight: 400; line-height: 2; margin-bottom: 15px; opacity: 0.8; max-width: 700px; margin: 0 auto 20px; margin-left: 50px; color: white; } body.dark-mode .full-content .line-1 { color: black; font-weight: bold; } body.dark-mode .full-content .line-2 { color: black; font-weight: bold; } .control-btn { width: 50px; height: 50px; border-radius: 50%; display: flex; justify-content: center; align-items: center; margin: 0 10px; cursor: pointer; transition: all 0.3s ease; position: relative; } .control-btn:hover { background: transparent; transform: scale(1.1); } .control-btn svg { font-size: 1.2rem; fill: white; } #viewLyrics { fill: white; } .cord-open-icon .svg-3 { fill: orange; width: 25px; height: 25px; transition: 1s; left: 80%; top: 30%; position: fixed; z-index: 9999; } #closeLyrics { fill: black stroke: black; } body.dark-mode #closeLyrics { fill: black; stroke: black; } .audio-selector { position: relative; } .dropdown { position: absolute; bottom: 60px; left: 20px; width: 160px; background: rgba(0, 0, 0, 0.9); backdrop-filter: blur(20px); border-radius: 15px; overflow: hidden; box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5); transform: translateY(10px); opacity: 0; pointer-events: none; transition: all 0.3s ease; z-index: 10; } body.dark-mode .dropdown-item { background: rgba(255, 255, 255, 1); backdrop-filter: blur(20px); } .dropdown.active { transform: translateY(0); opacity: 1; pointer-events: all; background: rgba(0, 0, 0, 0.9); backdrop-filter: blur(20px); } body.dark-mode .dropdown.active { background: rgba(255, 255, 255, 1); backdrop-filter: blur(20px); } .dropdown-item { padding: 10px 10px; display: flex; justify-content: space-between; align-items: center; cursor: pointer; color: white; transition: background 0.3s ease; } body.dark-mode .dropdown-item { color: black; opacity: 1; } .dropdown-item:hover { background: rgba(76, 201, 240, 0.2); } .dropdown-item.selected { color: yellow; background: black; border-bottom-right-radius: 10px; border-bottom-left-radius: 10px; } body.dark-mode .dropdown-item.selected { color: blue; background: orange; border-bottom-right-radius: 10px; border-bottom-left-radius: 10px; } .dropdown-item.selected .check { display: block; } .dropdown-item .check { display: none; } .dropdown-item.selected .check svg { width: 21px; height: 21px; stroke: orange; } .dropdown-item.selected .check svg { width: 21px; height: 21px; fill: orange; } body.dark-mode .dropdown-item.selected .check svg { width: 26px; height: 26px; stroke: blue; } body.dark-mode .dropdown-item.selected .check svg { width: 26px; height: 26px; fill: blue; } .dropdown-item .check svg { width: 26px; height: 26px; stroke: white; } .dropdown-item .check svg { width: 26px; height: 26px; fill: white; } body.dark-mode .dropdown-item .check svg { width: 26px; height: 26px; stroke: black; } body.dark-mode .dropdown-item .check svg { width: 26px; height: 26px; fill: black; } .album-art.playing { animation: rotate 20s linear infinite; } @keyframes rotate { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .play-icon { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3rem; color: rgba(255, 255, 255, 0.8); z-index: 3; opacity: 0; transition: opacity 0.3s ease; } .album-container:hover .play-icon { opacity: 1; }