/* Custom Fonts & Styling */
body {
    background-color: #020617; /* slate-950 */
}

/* Custom Scrollbar for list container */
.custom-scrollbar::-webkit-scrollbar {
    width: 6px;
}

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

.custom-scrollbar::-webkit-scrollbar-thumb {
    background: #1e293b; /* slate-800 */
    border-radius: 4px;
}

.custom-scrollbar::-webkit-scrollbar-thumb:hover {
    background: #334155; /* slate-700 */
}

/* Category Filter Buttons */
.cat-btn {
    background-color: #0f172a; /* slate-900 */
    color: #94a3b8; /* slate-400 */
    border: 1px solid #1e293b; /* slate-800 */
}

.cat-btn:hover {
    color: #f1f5f9; /* slate-100 */
    background-color: #1e293b; /* slate-800 */
    border-color: #334155; /* slate-700 */
}

.cat-btn.active {
    background-color: rgba(16, 185, 129, 0.15); /* emerald-500/15 */
    color: #10b981; /* emerald-500 */
    border-color: rgba(16, 185, 129, 0.3); /* emerald-500/30 */
    box-shadow: 0 4px 12px -2px rgba(16, 185, 129, 0.1);
}

/* App Cards Styling */
.app-card {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.app-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 20px -8px rgba(16, 185, 129, 0.15);
}

/* Terminal Animation Simulation */
.cursor-typing::after {
    content: '|';
    animation: blink 1s infinite;
}

@keyframes blink {
    0%, 100% { opacity: 1; }
    50% { opacity: 0; }
}

/* Visual mouse pointer animation */
.mouse-pointer {
    top: 90%;
    left: 80%;
    transition: all 1.2s cubic-bezier(0.25, 1, 0.5, 1);
    z-index: 40;
}

/* CSS Toast Animations */
.toast-enter {
    animation: slide-in 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes slide-in {
    from {
        transform: translateY(1rem);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

/* Smooth Fade in for Views */
#search-view, #download-view {
    animation: fade-in 0.4s ease-out forwards;
}

@keyframes fade-in {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* CSS Terminal Mock Animation Keyframe Helpers */
.step-terminal-output, 
.step-terminal-output-2, 
.step-terminal-output-3, 
.step-terminal-output-4, 
.step-terminal-output-5, 
.step-terminal-output-6, 
.step-terminal-output-done {
    opacity: 0;
    transform: translateY(2px);
    transition: all 0.4s ease;
}

.step-terminal-output.show, 
.step-terminal-output-2.show, 
.step-terminal-output-3.show, 
.step-terminal-output-4.show, 
.step-terminal-output-5.show, 
.step-terminal-output-6.show, 
.step-terminal-output-done.show {
    opacity: 1;
    transform: translateY(0);
}
