/* 
   Main Stylesheet for Portfolio
   Allows for custom animations and Tailwind overrides 
*/

.glass-effect {
    background: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

/* Scroll Reveal Animations: Elements fade in and move up */
.reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: all 1s cubic-bezier(0.5, 0, 0, 1);
}

.reveal.active {
    opacity: 1;
    transform: translateY(0);
}

/* Staggered Animation Delays for sequential revealing */
.reveal-delay-100 {
    transition-delay: 100ms;
}

.reveal-delay-200 {
    transition-delay: 200ms;
}

.reveal-delay-300 {
    transition-delay: 300ms;
}

/* Custom Cursor Styling: Hides default cursor and styles custom dot/ring */
body {
    cursor: none;
}

/* Disable custom cursor on touch devices */
@media (pointer: coarse) {
    body {
        cursor: auto;
    }

    #custom-cursor {
        display: none;
    }
}

/* Cursor Hover State: Expands when hovering interactive elements */
.cursor-hover .cursor-dot {
    transform: scale(1.5);
    background-color: transparent;
    border: 2px solid #0ea5e9;
    opacity: 1;
}

.cursor-hover .cursor-ring {
    transform: scale(0);
    opacity: 0;
}