:root {
  --fp-width: 200px;
  --fp-collapsed-size: 60px;
  --fp-bg: rgba(17, 250, 29, 0.781);
  --fp-accent: #113fd69a;
  --fp-text: #ff0000;
  --fp-muted: #443f3f;
  --fp-radius: 20px;
  --fp-shadow: 0 12px 40px rgba(7, 5, 122, 0.6);
  --transition: all 0.4s cubic-bezier(0.23, 1, 0.32, 1);
}

body {
 
  margin: 0;
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
  color: var(--fp-text);
}

/* Container */
#floating-player {
  position: fixed;
  z-index: 1000000;
  width: var(--fp-width);
  background: var(--fp-bg);
  backdrop-filter: blur(15px);
  border: 1px solid rgba(223, 96, 12, 0.39);
  border-radius: var(--fp-radius);
  box-shadow: var(--fp-shadow);
  overflow: hidden;
  touch-action: none;
  display: flex;
  flex-direction: column;
  transition: width 0.5s var(--transition), height 0.5s var(--transition), border-radius 0.5s var(--transition);
  right: 20px;
  top: 20px;
}

#floating-player.collapsed {
  width: var(--fp-collapsed-size);
  height: var(--fp-collapsed-size) !important;
  border-radius: 50%;
}

/* Handle / Header */
#fp-handle {
  display: flex;
  align-items: center;
  padding: 14px;
  cursor: grab;
  background: rgba(199, 26, 26, 0.781);
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

#fp-handle:active {
  cursor: grabbing;
}

#fp-logo {
  width: 32px;
  height: 32px;
  background: var(--fp-accent);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #f0047a;
  flex-shrink: 0;
}

#fp-info {
  flex: 1;
  margin: 0 12px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

#fp-current-title {
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

#fp-status-text {
  font-size: 10px;
  color: var(--fp-muted);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

#btn-toggle {
  background: transparent;
  border: none;
  color: var(--fp-muted);
  cursor: pointer;
  padding: 4px;
  display: flex;
}

/* Body & List */
#fp-body {
  padding: 8px;
  max-height: 180px;
  overflow-y: auto;
  scrollbar-width: none;
}

#fp-body::-webkit-scrollbar {
  display: none;
}

.track-item {
  display: flex;
  align-items: center;
  padding: 10px;
  border-radius: 12px;
  margin-bottom: 4px;
  cursor: pointer;
  transition: background 0.2s;
  gap: 12px;
}

.track-item:hover {
  background: rgba(9, 172, 236, 0.555);
}

.track-item.active {
  background: rgba(5, 236, 5, 0.774);
}

.track-item.active .track-name {
  color: var(--fp-accent);
}

.track-icon {
  width: 36px;
  height: 36px;
  border-radius: 6px;
  background: rgba(4, 114, 19, 0.411);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.track-detail {
  flex: 1;
  min-width: 0;
}

.track-name {
  font-size: 13px;
  font-weight: 500;
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.track-meta {
  font-size: 11px;
  color: var(--fp-muted);
}

/* Progress Area */
#fp-footer {
  padding: 12px 16px 16px;
  background: rgba(30, 9, 126, 0.37);
}

.progress-container {
  height: 4px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 2px;
  width: 100%;
  margin-bottom: 8px;
  position: relative;
  cursor: pointer;
}

#progress-fill {
  height: 100%;
  background: var(--fp-accent);
  border-radius: 2px;
  width: 0%;
}

.controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
}

.ctrl-btn {
  background: transparent;
  border: none;
  color: white;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4px;
  border-radius: 50%;
  transition: scale 0.2s;
}

.ctrl-btn:hover {
  scale: 1.1;
  color: var(--fp-accent);
}

.ctrl-btn:active {
  scale: 0.9;
}

.play-main {
  background: white;
  color: black;
  width: 40px;
  height: 40px;
}

.play-main:hover {
  color: black;
  background: var(--fp-accent);
}

/* Loader */
.loader {
  text-align: center;
  padding: 20px;
  font-size: 12px;
  color: var(--fp-muted);
}

@media (max-width: 480px) {
  :root {
    --fp-width: 88vw;
  }
}