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

::-webkit-scrollbar-track {
    background: #1e293b;
}

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

::-webkit-scrollbar-thumb:hover {
    background: #10b981;
}

/* General Styling */
body {
    font-feature-settings: "ss01", "ss03", "cv01";
}

/* Fixed Cursor: Blinks only on the ACTIVE line */
.cursor {
    display: inline-block;
    width: 8px;
    height: 16px;
    background-color: #00ff41;
    animation: blink 1s step-end infinite;
}

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

/* Terminal Text Styling */
.glow-text-green {
    text-shadow: 0 0 8px rgba(0, 255, 65, 0.8);
}

.glow-text-red {
    text-shadow: 0 0 8px rgba(239, 68, 68, 0.8);
    color: #f87171;
}

.text-gray-dim {
    color: #64748b;
}

/* Particle Background Canvas */
#particle-canvas {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -10;
    opacity: 0.15;
    transition: opacity 0.5s ease;
}

.dark #particle-canvas {
    opacity: 0.25;
}

/* Diagonal lines overlay */
.bg-lines {
    background-image: linear-gradient(135deg, rgba(14, 165, 233, 0.05) 25%, transparent 25%),
        linear-gradient(225deg, rgba(14, 165, 233, 0.05) 25%, transparent 25%),
        linear-gradient(45deg, rgba(14, 165, 233, 0.05) 25%, transparent 25%),
        linear-gradient(315deg, rgba(14, 165, 233, 0.05) 25%, transparent 25%);
    background-position: 10px 0, 10px 0, 0 0, 0 0;
    background-size: 20px 20px;
    background-repeat: repeat;
}

.dark .bg-lines {
    background-image: linear-gradient(135deg, rgba(16, 185, 129, 0.05) 25%, transparent 25%),
        linear-gradient(225deg, rgba(16, 185, 129, 0.05) 25%, transparent 25%),
        linear-gradient(45deg, rgba(16, 185, 129, 0.05) 25%, transparent 25%),
        linear-gradient(315deg, rgba(16, 185, 129, 0.05) 25%, transparent 25%);
}

button:hover {
    transform: translateY(-2px);
}

button:active {
    transform: translateY(0);
    color: #64748b;
    background-color: #1e293b;
}