*{
  text-align: center;
  font-size:18px;
  margin: 0px;
  padding: 0px;
  list-style: none;
}
a {
    color: #673DE6;
}
a:active{
  color: #000000;
  text-shadow: 1px 1px #333333;
}
a:hover {
    cursor: pointer;
    color: #673DE6;
    text-decoration: underline;
}
audio{
  float:center;
  width:60%;
  margin:auto;
  min-width: 350px;
  min-height: 25px;
}
body {
    margin: 0px;
    padding: 0px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    width: 100vw;
    height: 100vh;
    min-height: 675px;
    min-height: -webkit-fill-available;
    background-color: #F4F5FF;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: transparent;
}
.body {
    margin: 0px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100vw;
    height: 100vh;
    min-height: 675px;
    background-color: #F4F5FF;
}
content{
  padding-top: 64px;
}
nav{
  clear: both;
  margin-bottom: 0px;
}

span{
  color:#ffffff;

}


/*
audio::-internal-media-controls-download-button {
    display:none;
}

audio::-webkit-media-controls-enclosure {
    overflow:hidden;
}

audio::-webkit-media-controls-panel {
    width: calc(100% + 30px);
}
*/


#rating_control{
  float:left;
  height:80px;
}
/*updated*/
#search{
  padding-top: 25px;
  border-radius: 15px;
  background-color: #006fba;
}
.album{
  width:150px;
  height: 250px;
  margin:25px;
  padding: 25px;
  float:left;
  display:inline-block;
  border:1px solid black;
  color:#ffffff;
}
.artist{
  color:#ffffff;
  width: 225px;
  height: 38px;
  float: left;
}
.box{
  text-align: center;
  margin: auto;
  width:100%;
}
.center{
  color:#ffffff;
}

.crop{
	border-radius: 10px;
  width: 80px;
  height: 80px;
  overflow: hidden;
  float:left;
  text-align: center;
  border: 1px solid black;
  margin: 2px;
}

.page{
  display:inline;
  width:100%;
  min-height:150px;

}

.radio_controls{
  border-radius: 10px;
  width:40px;
  height:40px;
  margin:auto;
  margin-top: 25px;
  background-color: #ffffff;
}

.rating_box{
  border-radius: 10px;
  border:1px solid black;
  margin:2px;float:left;
  padding: auto;
  width:80px;
  height:80px;
  background-color: #ffffff;
}
.song{
  color:#ffffff;
}
.song:hover{
  color:black;
  text-shadow:1px 1px #333333;
  text-decoration:none;
}
/*
class: title
*/
.title{
  display:inline-block;
  width:100%;
  font-size: 28px;
  text-shadow:2px 1px #000000;
  color:  #5DC8FF;
  font-family: "Times New Roman", Georgia, Serif;
  font-weight: bold;
}

.play{margin: 0px 0 0 0px;}
.stop{margin: -90px 0 0 -90px;}
.pause{margin: 0px 0 0 0px;}
.info{margin: -270px 0 0 -180px;}

@media screen and (max-width: 580px) and (min-width: 0px) {
    body{
        color:white;
        margin:0;
        padding:0;
        background:#F4F5FF;
        min-height: 100vh;
        min-height: -webkit-fill-available;
    }
    button{
        min-width:44px;
        min-height:44px;
    }
    h1, p, .link-container {
        width: 100%;
        box-sizing: border-box;
    }
    
    .radio_control{
        width:100%;
        max-width: 50px;
        height: auto;
    }
    .radio_button{
        width:auto;
        min-width: 44px;
        min-height: 44px;
        flex: 0 0 auto;
    }
    .stretch{
        width:100%;
    }
    .link-container {
        padding: 10px;
        margin: 10px 0;
    box-sizing: border-box;
    display: flex;
        flex-direction: column;
        align-items: center;
    }
    .track-info {
        width: 100%;
        padding: 0 10px;
        box-sizing: border-box;
    }
    .player-controls {
        width: 100%;
        padding: 0 10px;
        box-sizing: border-box;
    }
    .button-controls {
        display: flex;
        justify-content: center;
        gap: 8px;
        flex-wrap: wrap;
        width: 100%;
    }
    progress {
        width: 100%;
        height: 10px;
    }
    .volume-control {
        width: 100%;
        padding: 10px 0;
    }
    .volume-control input[type="range"] {
        width: 100%;
        height: 8px;
    }
}
@media screen and (min-width: 650px) and (min-height: 0px) and (max-height: 750px) {
    button{
        min-width:50px;
    }
    .link-container {
        margin-top: 12px;
        width:100%;
    }
    #album_picture{
        width:100%;
        max-width:640px;
    }
    h1 {    
        margin-top: 0px;
        margin-bottom: 0px;
    }
    .radio_button{
        width:20%;
    }
    .radio_control{
        width:100%;
    }
    .stretch{
        width:100%;
    }
}

#album_picture{
  width: 200px;
  height: 200px;
  object-fit: cover;
  border-radius: 10px;
  border: 1px solid black;
  margin: 10px;
}
button{
    min-width:150px;
}
p {
    width: 100%;
    left: 0px;
    font-size: 16px;
    font-family: 'DM Sans', sans-serif;
    font-weight: 400;
    letter-spacing: 0px;
    text-align: center;
    vertical-align: top;
    max-width: 550px;
    color: #727586;
    margin: 0px;
}
h1 {
    font-family: 'DM Sans', sans-serif;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 0px;
    text-align: center;
    margin: 8px;
    color: #333333;
}
#current_time, #total_time {
    color: #333333;
    font-size: 14px;
}
#genrename {
    color: #727586;
}
.radio_control{
    width:80px; 
    height:80px;
}
.content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    color: #333333;
}
#content {
    color: #333333;
    width: 100%;
    min-height: 50px;
}

/* Override inline styles from API content */
#content span[style*="color:black"],
#content span[style*="color: black"],
#content span[style*="color:black;"],
#content span[style*="color: black;"],
#content span[style*="color:black "],
#content span[style*="color: black "] {
    color: #333333 !important;
}

#content .box,
#content .page {
    width: 100%;
    color: inherit;
}

#content .box span,
#content .page span {
    color: inherit;
    display: inline-block;
    cursor: pointer;
    transition: color 0.2s ease;
}

#content .box span:hover,
#content .page span:hover {
    color: #673DE6;
    text-decoration: underline;
}

/* Ensure all text in content is visible */
#content .box *,
#content .page * {
    color: inherit;
}

#content img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 10px auto;
}
.ic-launch  {
    margin-left: 10.5px;
    width: 21px !important;
    height: 20px !important;
}
.link-container {
    margin-top: 32px;
    margin-bottom: 32px;
    width: 100%;
    max-width: 685px;
    display: flex;
    flex-direction: column;
    align-items: center;
    box-sizing: border-box;
}
.album-artwork {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin-bottom: 20px;
}
.track-info {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    padding: 0 20px;
    margin-bottom: 20px;
    box-sizing: border-box;
}
.player-controls {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    padding: 0 20px;
    box-sizing: border-box;
}
.player-controls > div {
    width: 100%;
    margin-bottom: 15px;
}
.button-controls {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
    flex-wrap: wrap;
    width: 100%;
}
.volume-control {
    width: 100%;
    max-width: 300px;
    padding: 10px 0;
}
.volume-control input[type="range"] {
    width: 100%;
    height: 6px;
    -webkit-appearance: none;
    appearance: none;
    background: #ddd;
    border-radius: 3px;
    outline: none;
}
.volume-control input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 18px;
    height: 18px;
    background: #5DC8FF;
    cursor: pointer;
    border-radius: 50%;
}
.volume-control input[type="range"]::-moz-range-thumb {
    width: 18px;
    height: 18px;
    background: #5DC8FF;
    cursor: pointer;
    border-radius: 50%;
    border: none;
}
.radio_button {
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
}
.radio_button:active {
    opacity: 0.7;
}
progress {
    width: 100%;
    height: 8px;
    -webkit-appearance: none;
    appearance: none;
    border: none;
    border-radius: 4px;
    background: #ddd;
}
progress::-webkit-progress-bar {
    background: #ddd;
    border-radius: 4px;
}
progress::-webkit-progress-value {
    background: #5DC8FF;
    border-radius: 4px;
}
progress::-moz-progress-bar {
    background: #5DC8FF;
    border-radius: 4px;
}
.link {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    font-family: 'DM Sans', sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 14px;
    color: #673DE6;
    margin-top: 8px;
    text-decoration: none;
}
.main-image {
    width: 100%;
    max-width: 650px;
    max-height: 406px;
    height: auto;
}
header {
    width: 100vw;
    align-self: stretch;
    flex-shrink: 0;
    position: relative;
    margin: 0;
    padding: 0;
    overflow: visible;
}
.navigation {
    width: 100%;
    min-width: 100%;
    height: 90px;
    display: flex;
    margin: 0;
    padding: 0 20px;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    background-color: #36344D;
    box-shadow: 0 2px 8px rgba(0,0,0,0.2);
    box-sizing: border-box;
    overflow: visible;
}
.navigation ul {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 30px;
    list-style: none;
    margin: 0;
    padding: 0;
    height: auto;
    overflow: visible;
}
.navigation ul li {
    display: flex;
    align-items: center;
    overflow: visible;
}
.navigation ul li a {
    color: #effeff;
    text-decoration: none;
    font-size: 20px;
    font-weight: 600;
    padding: 15px 20px;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: all 0.3s ease;
    border-radius: 5px;
}
.navigation ul li a:hover {
    background-color: #4a4863;
    color: #ffffff;
    text-decoration: none;
}
.navigation ul li img {
    margin-right: 10px;
}

/* Dark Mode Support */
@media (prefers-color-scheme: dark) {
    body, .body {
        background-color: #1a1a1a;
        color: #e0e0e0;
    }
    
    p {
        color: #d0d0d0;
    }
    
    h1 {
        color: #ffffff;
    }
    
    .title {
        color: #5DC8FF;
    }
    
    .title_artist {
        color: #5DC8FF;
    }
    
    #genrename {
        color: #b0b0b0;
    }
    
    #current_time, #total_time {
        color: #e0e0e0;
    }
    
    a {
        color: #8a9fff;
    }
    
    a:hover {
        color: #a0b0ff;
    }
    
    a:active {
        color: #ffffff;
        text-shadow: 1px 1px #000000;
    }
    
    .link {
        color: #8a9fff;
    }
    
    .link:hover {
        color: #a0b0ff;
    }
    
    #content {
        color: #e0e0e0 !important;
        background-color: transparent;
    }
    
    .content {
        color: #e0e0e0;
    }
    
    /* Override inline black colors in dark mode */
    #content span[style*="color:black"],
    #content span[style*="color: black"],
    #content span[style*="color:black;"],
    #content span[style*="color: black;"],
    #content span[style*="color:black "],
    #content span[style*="color: black "] {
        color: #e0e0e0 !important;
    }
    
    #content .box,
    #content .page {
        color: #e0e0e0;
    }
    
    #content .box span,
    #content .page span {
        color: #e0e0e0 !important;
    }
    
    #content .box span:hover,
    #content .page span:hover {
        color: #8a9fff;
    }
    
    /* Ensure all content text is visible in dark mode */
    #content .box *,
    #content .page * {
        color: #e0e0e0;
    }
    
    #content .box span,
    #content .page span {
        color: #e0e0e0 !important;
    }
    
    progress {
        background: #333;
    }
    
    progress::-webkit-progress-bar {
        background: #333;
    }
    
    .volume-control input[type="range"] {
        background: #333;
    }
    
    .volume-control input[type="range"]::-webkit-slider-thumb {
        background: #5DC8FF;
    }
    
    .volume-control input[type="range"]::-moz-range-thumb {
        background: #5DC8FF;
    }
    
    #album_picture {
        border-color: #444;
    }
}

/* Light Mode Support (explicit) */
@media (prefers-color-scheme: light) {
    body, .body {
        background-color: #F4F5FF;
        color: #333333;
    }
    
    p {
        color: #727586;
    }
    
    h1 {
        color: #333333;
    }
    
    .title {
        color: #5DC8FF;
    }
    
    .title_artist {
        color: #5DC8FF;
    }
    
    #genrename {
        color: #727586;
    }
    
    #current_time, #total_time {
        color: #333333;
    }
    
    a {
        color: #673DE6;
    }
    
    a:hover {
        color: #7a4df0;
    }
    
    a:active {
        color: #000000;
        text-shadow: 1px 1px #333333;
    }
    
    .link {
        color: #673DE6;
    }
    
    .link:hover {
        color: #7a4df0;
    }
    
    #content {
        color: #333333 !important;
        background-color: transparent;
    }
    
    .content {
        color: #333333;
    }
    
    /* Override inline black colors in light mode */
    #content span[style*="color:black"],
    #content span[style*="color: black"],
    #content span[style*="color:black;"],
    #content span[style*="color: black;"] {
        color: #333333 !important;
    }
    
    #content .box,
    #content .page {
        color: #333333;
    }
    
    #content .box span,
    #content .page span {
        color: #333333;
    }
    
    #content .box span:hover,
    #content .page span:hover {
        color: #673DE6;
    }
    
    progress {
        background: #ddd;
    }
    
    progress::-webkit-progress-bar {
        background: #ddd;
    }
    
    .volume-control input[type="range"] {
        background: #ddd;
    }
    
    .volume-control input[type="range"]::-webkit-slider-thumb {
        background: #5DC8FF;
    }
    
    .volume-control input[type="range"]::-moz-range-thumb {
        background: #5DC8FF;
    }
    
    #album_picture {
        border-color: #000000;
    }
}
