/* Custom CSS utilities to replace Tailwind classes */

/* Layout utilities */
.flex {
    display: flex;
}

.flex-col {
    flex-direction: column;
}

.items-center {
    align-items: center;
}

/* Sizing utilities */
.w-screen {
    width: 100vw;
}

.w-full {
    width: 100%;
}

.h-screen {
    height: 100vh;
}

.h-full {
    height: 100%;
}

/* Overflow utilities */
.overflow-hidden {
    overflow: hidden;
}

/* Background utilities */
.bg-black {
    background-color: #000000;
}

.bg-white {
    background-color: #ffffff;
}

.bg-opacity-50 {
    background-color: rgba(255, 255, 255, 0.5);
}

/* Positioning utilities */
.relative {
    position: relative;
}

.absolute {
    position: absolute;
}

.top-2 {
    top: 0.5rem;
}

.left-2 {
    left: 0.5rem;
}

.right-2 {
    right: 0.5rem;
}

/* Spacing utilities */
.p-2 {
    padding: 0.5rem;
}

/* Border utilities */
.rounded {
    border-radius: 0.25rem;
}

/* Shadow utilities */
.shadow-md {
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
}

/* Z-index utilities */
.z-30 {
    z-index: 30;
}

/* Transition utilities */
.transition-opacity {
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}

/* Opacity utilities */
.opacity-50 {
    opacity: 0.5;
}

/* Hover states */
.hover\:opacity-100:hover {
    opacity: 1;
}

/* Focus states */
.focus\:opacity-100:focus {
    opacity: 1;
}

/* Text utilities */
.text-gray-400 {
    color: #9ca3af;
}

.text-sm {
    font-size: 0.875rem;
    line-height: 1.25rem;
}

/* Touch utilities */
.touch-none {
    touch-action: none;
}
