/* CRT SCANLINE EFFECT (Эффект старого монитора) */
body::after {
    content: " ";
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background: linear-gradient(rgba(18, 16, 16, 0) 50%, rgba(0, 0, 0, 0.1) 50%), linear-gradient(90deg, rgba(255, 0, 0, 0.06), rgba(0, 255, 0, 0.02), rgba(0, 0, 255, 0.06));
    z-index: 9999;
    background-size: 100% 2px, 3px 100%;
    pointer-events: none;
    opacity: 0.6;
}

/* CUSTOM SCROLLBAR (Кастомный скроллбар) */
::-webkit-scrollbar { width: 10px; }
::-webkit-scrollbar-track { background: #050505; border-left: 1px solid #1a1a1a; }
::-webkit-scrollbar-thumb { background: #00ff41; border: 2px solid #050505; }
::-webkit-scrollbar-thumb:hover { background: #ff00ff; }

/* MATRIX CANVAS (Фон матрицы) */
#matrix-bg {
    position: fixed;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    opacity: 0.12;
}

/* SELECTION COLOR (Выделение текста) */
::selection {
    background: #ff00ff;
    color: #ffffff;
}

/* ANIMATION CLASSES (Анимации появления) */
.reveal {
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.6s cubic-bezier(0.5, 0, 0, 1);
}
.reveal.active {
    opacity: 1;
    transform: translateY(0);
}
.delay-100 { transition-delay: 100ms; }
.delay-200 { transition-delay: 200ms; }
.delay-300 { transition-delay: 300ms; }

/* Анимация мигания курсора или текста */
.blink {
    animation: blink-animation 1s steps(5, start) infinite;
}
@keyframes blink-animation {
    to { visibility: hidden; }
}


/* ========================================= */
/* CUSTOM CURSORS (СТИЛИЗАЦИЯ КУРСОРА)       */
/* ========================================= */

/* 1. Основной курсор: Стрелка с неоновой обводкой */
body {
    cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='%23050505' stroke='%2300ff41' stroke-width='1.5' d='M2,2l0,15.5l4.5-4.5l5,8.5l3-2l-5-8.5l7.5,0L2,2z'/%3E%3C/svg%3E"), default;
}

/* 2. Интерактивные элементы: Неоновый прицел */
/* Добавляем !important, чтобы перебить стили Bootstrap/Tailwind */
a,
button,
label,
select,
summary,
input[type="checkbox"],
input[type="radio"],
input[type="file"],
input[type="submit"],
input[type="button"],
input[type="reset"],
[role="button"],
.cursor-pointer {
    cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cg stroke='%2300ff41' stroke-width='2'%3E%3Cline x1='12' y1='2' x2='12' y2='8'/%3E%3Cline x1='12' y1='16' x2='12' y2='22'/%3E%3Cline x1='2' y1='12' x2='8' y2='12'/%3E%3Cline x1='16' y1='12' x2='22' y2='12'/%3E%3Crect x='11' y='11' width='2' height='2' fill='%23ff00ff' stroke='none'/%3E%3C/g%3E%3C/svg%3E") 12 12, pointer !important;
}

/* 3. Поля ввода: Зеленая мигающая каретка */
input[type="text"],
input[type="url"],
input[type="number"],
input[type="password"],
textarea {
    cursor: text;
    caret-color: #00ff41; /* Цвет курсора ввода */
}

/* Дополнительный эффект: при нажатии на кнопку курсор чуть меняет цвет (опционально) */
button:active, a:active {
    cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cg stroke='%23ff00ff' stroke-width='2'%3E%3Cline x1='12' y1='2' x2='12' y2='8'/%3E%3Cline x1='12' y1='16' x2='12' y2='22'/%3E%3Cline x1='2' y1='12' x2='8' y2='12'/%3E%3Cline x1='16' y1='12' x2='22' y2='12'/%3E%3Crect x='11' y='11' width='2' height='2' fill='%2300ff41' stroke='none'/%3E%3C/g%3E%3C/svg%3E") 12 12, pointer;
}