/* style.css - Enhanced Portfolio Styles */

/* Selection */
::selection {
    background-color: #2563eb;
    color: #ffffff;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: #f8fafc;
}

::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;
}

/* Scroll Animation Reveal Classes */
.reveal {
    opacity: 0;
    transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.8s ease-out;
}

.fade-up {
    transform: translateY(30px);
}

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

.delay-100 {
    transition-delay: 100ms;
}

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

/* Active navigation link states */
.active-link {
    color: #2563eb !important;
}

/* ========== Gradient Text ========== */
.gradient-text {
    background: linear-gradient(135deg, #2563eb 0%, #7c3aed 50%, #2563eb 100%);
    background-size: 200% 200%;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    animation: gradient-shift 4s ease-in-out infinite;
}

@keyframes gradient-shift {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}

/* ========== Floating Blobs ========== */
.animate-float {
    animation: float 8s ease-in-out infinite;
}

.animate-float-delay {
    animation: float 8s ease-in-out infinite;
    animation-delay: 4s;
}

@keyframes float {
    0%, 100% { transform: translateY(0px) translateX(0px); }
    33% { transform: translateY(-20px) translateX(10px); }
    66% { transform: translateY(10px) translateX(-10px); }
}

/* ========== Skill Cards ========== */
.skill-card {
    position: relative;
    overflow: hidden;
}

.skill-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #2563eb, #7c3aed);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.4s ease;
}

.skill-card:hover::before {
    transform: scaleX(1);
}

.skill-pill {
    padding: 0.375rem 0.875rem;
    background-color: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 9999px;
    font-size: 0.8125rem;
    font-weight: 600;
    color: #334155;
    transition: all 0.2s ease;
}

.skill-pill:hover {
    background-color: #dbeafe;
    border-color: #93c5fd;
    color: #1d4ed8;
}

/* ========== Project Cards ========== */
.project-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.project-card:hover {
    transform: translateY(-4px);
}

.tech-badge {
    padding: 0.25rem 0.625rem;
    background-color: #f1f5f9;
    border: 1px solid #e2e8f0;
    border-radius: 0.375rem;
    font-size: 0.75rem;
    font-weight: 600;
    color: #475569;
    letter-spacing: 0.025em;
}

/* ========== Chatbot Styles ========== */
#chat-messages::-webkit-scrollbar {
    width: 6px;
}
#chat-messages::-webkit-scrollbar-track {
    background: transparent;
}
#chat-messages::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 10px;
}
#chat-messages::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;
}

.chat-bubble-user {
    background-color: #2563eb;
    color: white;
    border-radius: 1rem 1rem 0 1rem;
}

.typing-dot {
    animation: typing-bounce 1.4s infinite ease-in-out both;
}
.typing-dot:nth-child(1) { animation-delay: -0.32s; }
.typing-dot:nth-child(2) { animation-delay: -0.16s; }

@keyframes typing-bounce {
    0%, 80%, 100% { transform: scale(0); }
    40% { transform: scale(1); }
}

/* Chatbot Markdown Styles */
.markdown-body p { margin-bottom: 0.5em; }
.markdown-body p:last-child { margin-bottom: 0; }
.markdown-body code { background-color: #f1f5f9; padding: 0.1em 0.3em; border-radius: 0.25rem; font-size: 0.85em; font-family: monospace; color: #ef4444; }
.markdown-body pre { background-color: #1e293b; color: #f8fafc; padding: 0.75rem; border-radius: 0.5rem; overflow-x: auto; margin-bottom: 0.5em; font-size: 0.85em; }
.markdown-body pre code { background-color: transparent; padding: 0; color: inherit; }
.markdown-body ul { list-style-type: disc; padding-left: 1.5em; margin-bottom: 0.5em; }
.markdown-body ol { list-style-type: decimal; padding-left: 1.5em; margin-bottom: 0.5em; }
.markdown-body strong { font-weight: 600; color: #1e293b; }