/* Custom Dark Scrollbar */
.custom-scrollbar::-webkit-scrollbar, 
textarea::-webkit-scrollbar, 
input::-webkit-scrollbar {
	width: 8px;
	height: 8px;
}
.custom-scrollbar::-webkit-scrollbar-track, 
textarea::-webkit-scrollbar-track, 
input::-webkit-scrollbar-track {
	background: #0f172a; /* slate-950 */
	border-radius: 4px;
}
.custom-scrollbar::-webkit-scrollbar-thumb, 
textarea::-webkit-scrollbar-thumb, 
input::-webkit-scrollbar-thumb {
	background: #334155; /* slate-700 */
	border-radius: 4px;
}
.custom-scrollbar::-webkit-scrollbar-thumb:hover, 
textarea::-webkit-scrollbar-thumb:hover, 
input::-webkit-scrollbar-thumb:hover {
	background: #475569; /* slate-600 */
}

/* Hide native details arrow to use the Phosphor icon */
details > summary { 
	list-style: none; 
}
details > summary::-webkit-details-marker { 
	display: none; 
}

/* Custom Checkbox override for Tailwind */
input[type="checkbox"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: #1e293b; /* slate-800 */
    margin: 0;
    font: inherit;
    color: currentColor;
    width: 1.25em;
    height: 1.25em;
    border: 1px solid #334155; /* slate-700 */
    border-radius: 0.25em;
    display: grid;
    place-content: center;
}

input[type="checkbox"]::before {
    content: "";
    width: 0.65em;
    height: 0.65em;
    transform: scale(0);
    transition: 120ms transform ease-in-out;
    box-shadow: inset 1em 1em #10b981; /* emerald-500 */
    background-color: transform;
    transform-origin: bottom left;
    clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
}

input[type="checkbox"]:checked::before {
    transform: scale(1);
}

/* Custom Range Slider override for Dark Theme */
.custom-range {
	-webkit-appearance: none;
	width: 100%;
	background: transparent;
}
.custom-range::-webkit-slider-thumb {
	-webkit-appearance: none;
	height: 16px;
	width: 16px;
	border-radius: 50%;
	background: #10b981; /* emerald-500 */
	cursor: pointer;
	margin-top: -6px;
	box-shadow: 0 0 10px rgba(16, 185, 129, 0.4);
}
.custom-range::-webkit-slider-runnable-track {
	width: 100%;
	height: 4px;
	cursor: pointer;
	background: #334155; /* slate-700 */
	border-radius: 2px;
}
.custom-range:focus {
	outline: none;
}
.custom-range::-moz-range-track {
	width: 100%;
	height: 4px;
	cursor: pointer;
	background: #334155;
	border-radius: 2px;
}
.custom-range::-moz-range-thumb {
	height: 16px;
	width: 16px;
	border-radius: 50%;
	background: #10b981;
	cursor: pointer;
	border: none;
	box-shadow: 0 0 10px rgba(16, 185, 129, 0.4);
}