@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@400..700&family=Inter:wght@300;400;700;900&display=swap');

html { scroll-behavior: smooth; }

body {
    font-family: 'Inter', sans-serif;
    cursor: auto;
    background-color: #050505;
    background-image: 
        linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
    background-size: 60px 60px;
    background-position: center center;
}

#colorful-blob {
    position: fixed;
    top: 0; left: 0;
    width: 600px; height: 600px;
    background: radial-gradient(circle, rgba(59, 130, 246, 0.15) 0%, rgba(168, 85, 247, 0.1) 40%, rgba(236, 72, 153, 0) 70%);
    border-radius: 50%;
    pointer-events: none;
    z-index: 1;
    filter: blur(120px);
    opacity: 0;
    transition: opacity 2s ease;
}

#tech-canvas { opacity: 0.8; }
.handwriting { font-family: 'Caveat', cursive; }
.hero-title, .section-title { clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%); position: relative; z-index: 10; }

.marquee-content { animation: scrollMarquee 20s linear infinite; min-width: 200%; }
@keyframes scrollMarquee { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }

.cursor-blink { animation: blinkCursor 1s infinite step-end; }
@keyframes blinkCursor { 0%, 100% { opacity: 1; } 50% { opacity: 0; } }

.hide-scrollbar::-webkit-scrollbar { display: none; }
.hide-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

::-webkit-scrollbar { width: 8px; background: #050505; }
::-webkit-scrollbar-thumb { background: #333; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #555; }

/* Draggable AI Window Utility */
.dragging {
    opacity: 0.8;
    transform: scale(0.98);
}