/* CSS Document */
body {
  margin: 0;
  background: #000;
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
}

.player-container {
  width: 300px;
  margin: 20px auto;
  padding: 14px;
  background: #1f140a;
  text-align: center;
  box-sizing: border-box;
}

.player-header h1 {
  margin: 8px 0;
  font-size: 26px;
}

.player-header h2 {
  margin: 6px 0;
  font-size: 18px;
}

.album-subtitle {
  margin-bottom: 8px;
  font-size: 12px;
}

.artwork-section {
    margin: 10px 0 12px;
    padding: 6px 0;
}

.cover-wrapper {

    width:245px;
    height:230px;
}

.album-cover{

    width:190px;
    height:190px;

    object-fit:cover;

    position:absolute;

    left:0;

    top:35px;

    z-index:5;

    border-radius:3px;

    box-shadow:

        12px 0 18px rgba(0,0,0,.55),

        0 10px 18px rgba(0,0,0,.45),

        inset 0 0 1px rgba(255,255,255,.25);

}

.cd-art{

    width:190px;
    height:190px;

    position:absolute;

    left:70px;

    top:35px;

    z-index:1;

    border-radius:50%;

    transition:

        left .65s ease,

        filter .4s ease,

        transform .3s ease;

    filter:

        drop-shadow(0 8px 12px rgba(0,0,0,.35));

}

.cd-art.cd-out {
  left: 105px;
}

.cd-art.spinning{

    animation:

        cdSpin 5s linear infinite;

    filter:

        drop-shadow(0 0 12px rgba(255,215,120,.30))

        drop-shadow(0 8px 14px rgba(0,0,0,.40));

}

@keyframes cdSpin {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}
.now-playing {
  margin-top: 10px;
}

.label,
.track-title {
  font-size: 14px;
  text-transform: uppercase;
}

.current-track {
  font-size: 14px;
  margin-bottom: 8px;
}

.progress-row {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 8px 0;
  font-size: 12px;
}

#progressBar {
  flex: 1;
}

.controls {
  margin: 8px 0;
}

.controls button {
  cursor: pointer;
  margin: 0 3px;
}

.track-section {
  margin-top: 8px;
}

#trackList {
  padding-left: 24px;
  margin: 8px 0;
  text-align: left;
}

#trackList li {
  cursor: pointer;
  padding: 2px 0;
  font-size: 13px;
}

#trackList li.active {
  color: #f4d27a;
  font-weight: bold;
}

.player-footer {
  margin-top: 12px;
  font-size: 13px;
}

.icon-btn {
  width: 42px;
  height: 34px;
  border: none;
  border-radius: 8px;
  background: #f4d27a;
  cursor: pointer;
  margin: 0 4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.icon-btn svg {
  width: 20px;
  height: 20px;
  fill: #1f140a;
}

.play-icon {
  width: 46px;
}

#trackList{
    list-style:none;
    padding:0;
    margin:0;
}

#trackList li{
    list-style:none;
}

/*========================================
  BUILD 0.7 - CD SPIN ANIMATION
========================================*/

.cd-art {
  transition: transform 0.3s ease;
  transform-origin: center center;
}

.cd-art.spinning {
  animation: cdSpin 5s linear infinite;
}

@keyframes cdSpin {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

/*========================================
  BUILD 0.7 - PHASE 2 CD SLIDE
========================================*/

.cd-art {
  transition:
    transform 0.3s ease,
    margin-left 0.6s ease;
}

.cd-art.cd-out {
  margin-left: 22px;
}

/*========================================
  BUILD 0.8 - PHASE 1
  VICTORIAN OUTER FRAME
========================================*/

.player-container {
  border: 2px solid #b88a3b;
  border-radius: 18px;
  background:
linear-gradient(
180deg,
#183d7c 0%,
#102f67 40%,
#0b234e 100%);
  box-shadow:
    0 0 22px rgba(0, 0, 0, 0.8),
    inset 0 0 18px rgba(255, 210, 120, 0.08);
}

.player-container::before {
  content: "SE PLAYER PRO";
  display: block;
  margin-bottom: 10px;
  padding-bottom: 8px;
  color: #f4d27a;
  font-size: 13px;
  letter-spacing: 2px;
  border-bottom: 1px solid rgba(244, 210, 122, 0.35);
}

/*========================================
  BUILD 0.8 - PHASE 2
  GOLD PROGRESS + VOLUME SLIDERS
========================================*/

#progressBar,
#volumeBar {
  height: 8px;
  border-radius: 999px;
  cursor: pointer;
  accent-color: #f4d27a;
}

/* Firefox */
#progressBar::-moz-range-track,
#volumeBar::-moz-range-track {
  height: 8px;
  border-radius: 999px;
  background: #3a2814;
  border: 1px solid rgba(244, 210, 122, 0.45);
}

#progressBar::-moz-range-progress,
#volumeBar::-moz-range-progress {
  height: 8px;
  border-radius: 999px;
  background: linear-gradient(90deg, #9d6b22, #f4d27a);
}

#progressBar::-moz-range-thumb,
#volumeBar::-moz-range-thumb {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 2px solid #fff2c7;
  background: radial-gradient(circle at 35% 30%, #fff0b8, #c9912f 55%, #5c3b12);
  box-shadow: 0 0 8px rgba(244, 210, 122, 0.65);
}

/* Chrome / Edge / Safari */
#progressBar::-webkit-slider-runnable-track,
#volumeBar::-webkit-slider-runnable-track {
  height: 8px;
  border-radius: 999px;
  background: #3a2814;
  border: 1px solid rgba(244, 210, 122, 0.45);
}

#progressBar::-webkit-slider-thumb,
#volumeBar::-webkit-slider-thumb {
  appearance: none;
  -webkit-appearance: none;
  width: 18px;
  height: 18px;
  margin-top: -6px;
  border-radius: 50%;
  border: 2px solid #fff2c7;
  background: radial-gradient(circle at 35% 30%, #fff0b8, #c9912f 55%, #5c3b12);
  box-shadow: 0 0 8px rgba(244, 210, 122, 0.65);
}

/*========================================
  BUILD 0.8 - PHASE 3
  TRACK LIST PANEL
========================================*/

.track-list-panel{

    margin-top:18px;
    padding:16px;

    border:1px solid rgba(244,210,122,.45);
    border-radius:14px;

    background:
        linear-gradient(
            180deg,
            rgba(255,235,180,.05),
            rgba(0,0,0,.18)
        );

    box-shadow:
        inset 0 0 14px rgba(255,220,140,.06);

}

.track-list-title{

    color:#f4d27a;

    font-size:22px;

    letter-spacing:2px;

    text-align:center;

    margin-bottom:14px;

    text-shadow:
        0 0 8px rgba(255,210,122,.35);

}

#trackList{

    margin:0;
    padding:0;

    list-style:none;

}

#trackList li{

    list-style:none;

    padding:8px 10px;

    border-bottom:1px solid rgba(255,210,122,.12);

    transition:.25s;

    cursor:pointer;

}

#trackList li:last-child{

    border-bottom:none;

}

#trackList li:hover{

    background:rgba(255,220,140,.08);

}

#trackList li.active{

    color:#ffd46a;

    font-weight:bold;

    background:rgba(255,220,140,.10);

    text-shadow:
        0 0 6px rgba(255,210,122,.35);

}

/*========================================
  BUILD 0.8 - PHASE 4
  BRONZE / GOLD CONTROL BUTTONS
========================================*/

.icon-btn {
  width: 46px;
  height: 40px;

  border: 1px solid #ffe6a3;
  border-radius: 10px;

  background:
    radial-gradient(circle at 35% 25%, #fff0b8 0%, #e0ad4c 28%, #9a651f 62%, #3b240b 100%);

  box-shadow:
    0 0 10px rgba(244, 210, 122, 0.35),
    inset 0 2px 3px rgba(255, 255, 255, 0.35),
    inset 0 -3px 5px rgba(0, 0, 0, 0.45);

  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    filter 0.18s ease;
}

.icon-btn svg {
  width: 20px;
  height: 20px;
  fill: #1f140a;

  filter:
    drop-shadow(0 1px 0 rgba(255, 255, 255, 0.35));
}

.icon-btn:hover{

    transform:
        translateY(-2px)
        scale(1.03);

    box-shadow:

        0 0 18px rgba(244,210,122,.70),

        inset 0 2px 3px rgba(255,255,255,.50),

        inset 0 -4px 6px rgba(0,0,0,.55);

}

.icon-btn:active{

    transform:
        translateY(1px)
        scale(.96);

}


.play-icon {
  width: 54px;
  height: 44px;
}

.track-list-panel{

    transition:
        box-shadow .25s ease;

}

.track-list-panel:hover{

    box-shadow:

        inset 0 0 14px rgba(255,220,140,.06),

        0 0 18px rgba(255,210,122,.12);

}
/*========================================
  BUILD 0.9 - PHASE 1
  MUSEUM ALBUM PRESENTATION
========================================*/

.artwork-section {
  margin: 14px 0 16px;
  padding: 12px 0;
  border-radius: 14px;
  background:
    radial-gradient(circle at 38% 45%, rgba(255, 220, 140, 0.16), transparent 46%),
    linear-gradient(180deg, rgba(255, 235, 180, 0.05), rgba(0, 0, 0, 0.18));
  box-shadow:
    inset 0 0 18px rgba(255, 220, 140, 0.06),
    0 8px 18px rgba(0, 0, 0, 0.28);
}

.cover-wrapper {
  filter:
    drop-shadow(0 0 10px rgba(255, 210, 122, 0.18))
    drop-shadow(0 12px 16px rgba(0, 0, 0, 0.38));
}

.album-cover {
  border: 2px solid #d2a44d;
  box-shadow:
    12px 0 18px rgba(0, 0, 0, 0.58),
    0 10px 18px rgba(0, 0, 0, 0.48),
    0 0 0 4px rgba(70, 42, 14, 0.85),
    0 0 0 5px rgba(244, 210, 122, 0.38);
}

/*========================================
  BUILD 0.9 - PHASE 2
  MICRO INTERACTIONS
========================================*/

.album-cover{
    transition:
        transform .22s ease,
        box-shadow .22s ease;
}

.album-cover:hover{

    transform:
        translateY(-2px);

    box-shadow:

        14px 0 22px rgba(0,0,0,.60),

        0 16px 24px rgba(0,0,0,.50),

        0 0 0 4px rgba(70,42,14,.90),

        0 0 0 5px rgba(255,220,140,.55),

        0 0 18px rgba(255,215,120,.20);

}

/*========================================
  BUILD 0.9 - PHASE 3
  VICTORIAN CORNER FILIGREE
========================================*/

.player-container {
  position: relative;
  overflow: hidden;
}

.player-container::after {
  content: "";
  pointer-events: none;
  position: absolute;
  inset: 9px;
  border-radius: 14px;

  background:
    radial-gradient(circle at 18px 18px, transparent 0 9px, rgba(244,210,122,.65) 10px, transparent 11px),
    radial-gradient(circle at calc(100% - 18px) 18px, transparent 0 9px, rgba(244,210,122,.65) 10px, transparent 11px),
    radial-gradient(circle at 18px calc(100% - 18px), transparent 0 9px, rgba(244,210,122,.65) 10px, transparent 11px),
    radial-gradient(circle at calc(100% - 18px) calc(100% - 18px), transparent 0 9px, rgba(244,210,122,.65) 10px, transparent 11px);

  box-shadow:
    inset 0 0 0 1px rgba(244,210,122,.18);

  opacity: .85;
}

.player-container .corner-mark {
  display: none;
}

/*====================================================
  SE PLAYER PRO 2.0
  PHASE 1 — DESKTOP SIDE-BY-SIDE LAYOUT
====================================================*/

/* Prevent the old HTML table from squeezing the player */
body > table {
  width: auto !important;
  height: auto !important;
  margin: 0 auto;
}

body > table td {
  height: auto !important;
}

/* Main desktop player */
.player-container {
  width: 860px;
  max-width: calc(100vw - 40px);

  display: grid;

  grid-template-columns:
    330px
    minmax(0, 1fr);

  grid-template-areas:
    "header   header"
    "artwork  tracks"
    "now      tracks"
    "progress tracks"
    "controls tracks"
    "volume   tracks"
    "footer   footer";

  column-gap: 24px;
  row-gap: 8px;

  align-items: start;

  padding: 20px;
}

/* Assign each existing section to the desktop grid */

.player-header {
  grid-area: header;
}

.artwork-section {
  grid-area: artwork;
  width: 100%;
  box-sizing: border-box;
}

.now-playing {
  grid-area: now;
}

#audioPlayer {
  display: none;
}

.progress-row {
  grid-area: progress;
  width: 100%;
  box-sizing: border-box;
}

.controls {
  grid-area: controls;
}

.volume-row {
  grid-area: volume;
}

.track-section {
  grid-area: tracks;
  margin-top: 0;
  align-self: stretch;
}

.player-footer {
  grid-area: footer;

  margin-top: 12px;
  padding-top: 12px;

  border-top:
    1px solid rgba(244, 210, 122, 0.25);
}

/* Make the playlist fill the right side cleanly */

.track-list-panel {
  height: 100%;
  min-height: 500px;

  margin-top: 0;

  box-sizing: border-box;
}

/* Center the album presentation inside the left column */

.cover-wrapper {
  margin-left: auto;
  margin-right: auto;
}

/* Keep controls tidy in the wider layout */

.controls,
.volume-row,
.now-playing {
  text-align: center;
}

/* Mobile fallback keeps Version 1.0-style stacking */

@media (max-width: 760px) {

  .player-container {
    width: 300px;
    max-width: calc(100vw - 24px);

    display: block;

    padding: 14px;
  }

  .track-section {
    margin-top: 8px;
  }

  .track-list-panel {
    min-height: 0;
    height: auto;
    margin-top: 18px;
  }
}