body {
    font-family: 'Inter', sans-serif;
    background: #070b14;
    color: #f8fafc;
    overflow-x: hidden;
    touch-action: pan-y;
}

.glass-effect {
    background: rgba(15, 23, 42, 0.6);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.05);
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
}

.checkerboard {
    background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAABMSURBVHgB7dPRCQAgDATB16ZtWqB3F/6sQERyA2bgW1iSFNnZt+vFvOQ2w1H4x2EEBwcHBwcHBwcHBwcHBwcHBwcHBwfv4OArZ2f8BhtgH0z8h9D2AAAAAElFTkSuQmCC') repeat;
    background-color: transparent;
}

.drag-active {
    border-color: #3b82f6 !important;
    background: rgba(59, 130, 246, 0.1) !important;
    transform: scale(1.02);
}

.loader {
    border-top-color: #3b82f6;
    animation: spinner 1s linear infinite;
}

@keyframes spinner {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.sidebar-open {
    transform: translateX(0);
}

.sidebar-closed {
    transform: translateX(-100%);
}

.toast-enter {
    transform: translateY(150%);
    opacity: 0;
}

.toast-visible {
    transform: translateY(0);
    opacity: 1;
}

.modal-enter {
    opacity: 0;
    pointer-events: none;
    transform: scale(0.95);
}

.modal-visible {
    opacity: 1;
    pointer-events: auto;
    transform: scale(1);
}

::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}

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

::-webkit-scrollbar-thumb {
    background: #334155;
    border-radius: 10px;
}

::-webkit-scrollbar-thumb:hover {
    background: #475569;
}

.touch-manipulation {
    touch-action: manipulation;
}


#clearProjectsModal .glass-effect{
    background: rgba(9, 14, 28, 0.82);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
}
