body {
    background-color: #0a0a0a;
    color: #ffffff;
    position: relative;
    font-family: 'Inter', sans-serif;
    overflow-x: hidden; /* Prevent horizontal scroll */
}

/* Prevent Icon Layout Shift */
[data-lucide] {
    opacity: 0; /* Hide until loaded */
    transition: opacity 0.2s;
}

[data-lucide].lucide {
    opacity: 1; /* Show when loaded */
}

/* Interactive Neural Background Canvas */
#neural-bg {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -10;
    pointer-events: none;
    opacity: 0.6;
}

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

::-webkit-scrollbar-track {
    background: #0a0a0a;
}

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

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

/* Text Gradient Utilities */
.text-gradient {
    background: linear-gradient(to right, #f97316, #fbbf24);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.bg-gradient-brand {
    background: linear-gradient(to right, #f97316, #fbbf24);
}

/* Code Syntax Highlighting (for terminal/editor effects) */
.code-keyword { color: #c084fc; }
.code-string { color: #a3e635; }
.code-func { color: #60a5fa; }
.code-comment { color: #6b7280; }

/* Animations */
.fade-in-up {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.fade-in-up.visible {
    opacity: 1;
    transform: translateY(0);
}

/* Typing Cursor */
.typing-cursor::after {
    content: '|';
    animation: blink 0.8s step-end infinite;
    color: #f97316;
    margin-left: 4px;
    font-weight: 400;
}

@keyframes blink {
    50% { opacity: 0; }
}

/* Glow Effect on Hover */
.glow-card {
    transition: all 0.3s ease;
}

.glow-card:hover {
    box-shadow: 0 0 25px rgba(249, 115, 22, 0.15);
    border-color: rgba(249, 115, 22, 0.3);
    transform: translateY(-5px);
}
