/* Glass Panels */
.glass-panel {
    background-color: rgba(17, 24, 39, 0.7);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid #1E293B;
    border-radius: 9999px;
    /* Pill shape for controls */
}

/* Scrollbar */
.custom-scrollbar::-webkit-scrollbar {
    width: 6px;
}

.custom-scrollbar::-webkit-scrollbar-track {
    background: transparent;
}

.custom-scrollbar::-webkit-scrollbar-thumb {
    background: #1E293B;
    border-radius: 3px;
}

.custom-scrollbar::-webkit-scrollbar-thumb:hover {
    background: #334155;
}

/* Range Inputs */
input[type=range] {
    -webkit-appearance: none;
    width: 100%;
    background: transparent;
}

input[type=range]::-webkit-slider-runnable-track {
    width: 100%;
    height: 4px;
    background: #1E293B;
    border-radius: 2px;
}

input[type=range]::-webkit-slider-thumb {
    -webkit-appearance: none;
    border: none;
    height: 12px;
    width: 12px;
    border-radius: 50%;
    background: #3B82F6;
    cursor: pointer;
    margin-top: -4px;
    transition: transform 0.1s;
}

input[type=range]:focus {
    outline: none;
}

input[type=range]:focus::-webkit-slider-thumb {
    transform: scale(1.2);
}

/* Number inputs */
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

input[type=number] {
    -moz-appearance: textfield;
}

/* Safe Area */
.pt-safe {
    padding-top: env(safe-area-inset-top);
}

/* Checker Background for transparent context */
.checker-bg {
    background-image:
        linear-gradient(45deg, #0f141f 25%, transparent 25%),
        linear-gradient(-45deg, #0f141f 25%, transparent 25%),
        linear-gradient(45deg, transparent 75%, #0f141f 75%),
        linear-gradient(-45deg, transparent 75%, #0f141f 75%);
    background-size: 20px 20px;
    background-position: 0 0, 0 10px, 10px -10px, -10px 0px;
}

/* Animations class hook */
.animated-element {
    animation-name: customAnim;
}