body {
    font-family: 'Inter', sans-serif;
    touch-action: none; /* Prevents scrolling on mobile when interacting with knobs */
}
/* Custom styles for seek bar */
input[type="range"] {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 8px;
    background: #4a5568; /* gray-700 */
    border-radius: 9999px;
    outline: none;
    opacity: 0.7;
    transition: opacity .2s;
    cursor: pointer;
}
input[type="range"]:hover {
    opacity: 1;
}
input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 20px;
    height: 20px;
    background: #a0aec0; /* gray-400 */
    cursor: pointer;
    border-radius: 9999px;
    border: 2px solid #1a202c; /* gray-900 */
}
input[type="range"]::-moz-range-thumb {
    width: 20px;
    height: 20px;
    background: #a0aec0; /* gray-400 */
    cursor: pointer;
    border-radius: 9999px;
    border: 2px solid #1a202c; /* gray-900 */
}
/* Style for clickable title */
#songTitle.clickable:hover {
    cursor: pointer;
    color: #63b3ed; /* blue-400 */
}
.icon-btn.active {
    color: #63b3ed; /* blue-400 */
}
.material-symbols-outlined {
  font-variation-settings:
  'FILL' 1,
  'wght' 400,
  'GRAD' 0,
  'opsz' 24
}

/* Lyrics styles */
#lyrics-container {
    height: 150px;
    background-color: #2d3748; /* gray-800 */
    border-radius: 0.5rem;
    overflow-y: auto;
    scroll-behavior: smooth;
}
#lyrics-display p {
    padding: 0.5rem 1rem;
    transition: all 0.3s ease;
    opacity: 0.6;
}
#lyrics-display p.active {
    color: #63b3ed; /* blue-400 */
    opacity: 1;
    font-weight: 600;
    transform: scale(1.05);
}

/* New Knob styles based on user's code */
.knob-wrapper {
    position: relative;
}
.knob {
    position: relative;
    width: 100px;
    height: 100px;
    margin: 0 auto;
    cursor: ns-resize;
    display: flex;
    align-items: center;
    justify-content: center;
}
.knob_inner {
    position: absolute;
    overflow: hidden;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    border: 2px solid #4a5568; /* gray-700 */
    outline: 3px solid #1a202c; /* gray-900 */
    background-color: #2d3748; /* gray-800 */
    box-shadow: 0px 0px 8px rgba(0,0,0,0.5);
    transition: transform 0.1s linear;
}
.knob_inner_pointer {
    position: absolute;
    width: 16px;
    height: 16px;
    top: 6px;
    border-radius: 50%;
    background-color: #63b3ed; /* blue-400 */
    left: 50%;
    transform: translateX(-50%);
    box-shadow: 0px 0px 2px inset;
}
.knob-value-display {
    position: relative; /* To be on top of the knob */
    user-select: none;
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: 1.25rem; /* text-xl */
    color: #e2e8f0; /* gray-200 */
}
.knob-label {
    margin-top: 0.75rem;
    user-select: none;
    font-family: 'Inter', sans-serif;
    text-transform: lowercase;
    font-size: 0.875rem; /* text-sm */
    color: #a0aec0; /* gray-400 */
    font-weight: 500;
}

#visualizer-canvas {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: -1; /* Ensure it's behind other content */
    background-color: #000; /* Optional: a fallback background color */
}
