/* Scrollbar masquée */
::-webkit-scrollbar { display: none; }
* { scrollbar-width: none; }

/* --- EFFET DE BALAYAGE (SCANLINE) --- */
.scanline {
    width: 100%;
    height: 100px;
    z-index: 10;
    background: linear-gradient(0deg, rgba(0, 0, 0, 0) 0%, rgba(0, 242, 255, 0.05) 50%, rgba(0, 0, 0, 0) 100%);
    opacity: 0.1;
    position: absolute;
    bottom: 100%;
    animation: scanline 4s linear infinite;
    pointer-events: none;
}

@keyframes scanline {
    0% { bottom: 100%; }
    100% { bottom: -100px; }
}

/* --- THEME PAR DÉFAUT (CYAN) --- */
#ascii-logo {
    filter: drop-shadow(0 0 5px currentColor);
    transition: all 0.5s ease;
}

body {
    transition: filter 0.5s ease, background-color 0.8s ease;
    background-color: #050505;
}

/* --- MODE OMEGA (ROUGE) --- */
/* Appliqué quand le JS ajoute la classe .omega-boot au body */
body.omega-boot {
    color: #ff0000;
    background-color: #0d0000;
}

body.omega-boot .scanline {
    background: linear-gradient(0deg, rgba(0, 0, 0, 0) 0%, rgba(255, 0, 0, 0.1) 50%, rgba(0, 0, 0, 0) 100%);
}

body.omega-boot #boot-progress {
    background-color: #ff0000;
    box-shadow: 0 0 15px #ff0000;
}

body.omega-boot #boot-logs, 
body.omega-boot .text-cyan-500\/70 {
    color: rgba(255, 0, 0, 0.6) !important;
}

body.omega-boot .border-cyan-900\/50 {
    border-color: rgba(255, 0, 0, 0.3) !important;
}

/* --- EFFETS DE GLITCH OMEGA --- */
.omega-glitch {
    animation: omega-vibration 0.1s infinite;
    text-shadow: 0 0 8px #ff0000;
}

@keyframes omega-vibration {
    0% { transform: translate(0,0); }
    25% { transform: translate(-1px, 1px); }
    75% { transform: translate(1px, -1px); }
    100% { transform: translate(0,0); }
}

/* --- SÉLECTION DE TEXTE --- */
body.omega-boot::selection {
    background: #ff0000;
    color: #000;
}

::selection {
    background: #00f2ff;
    color: #000;
}

/* --- MODE CRASH RECOVERY (ORANGE) --- */
body.crash-boot {
    background-color: #0d0800;
}

body.crash-boot .scanline {
    background: linear-gradient(0deg, rgba(0, 0, 0, 0) 0%, rgba(255, 136, 0, 0.08) 50%, rgba(0, 0, 0, 0) 100%);
}

body.crash-boot #boot-progress {
    background-color: #ff8800;
    box-shadow: 0 0 15px #ff8800;
}

body.crash-boot #boot-logs {
    color: rgba(255, 136, 0, 0.6) !important;
}

/* --- MODE WEBAI (VERT MATRIX) --- */
body.webai-boot {
    color: #00ff41;
    background-color: #000a02;
}

body.webai-boot .scanline {
    background: linear-gradient(0deg, rgba(0, 0, 0, 0) 0%, rgba(0, 255, 65, 0.08) 50%, rgba(0, 0, 0, 0) 100%);
}

body.webai-boot #boot-progress {
    background-color: #00ff41;
    box-shadow: 0 0 15px rgba(0, 255, 65, 0.5);
}

body.webai-boot #boot-logs,
body.webai-boot .text-cyan-500\/70 {
    color: rgba(0, 255, 65, 0.5) !important;
}

body.webai-boot .border-cyan-900\/50 {
    border-color: rgba(0, 255, 65, 0.15) !important;
}

body.webai-boot #boot-status {
    color: #00ff41 !important;
}

body.webai-boot #ascii-logo {
    text-shadow: 0 0 10px rgba(0, 255, 65, 0.4);
    animation: webai-pulse 2s infinite alternate;
}

@keyframes webai-pulse {
    0%   { filter: drop-shadow(0 0 5px rgba(0, 255, 65, 0.3)); opacity: 0.8; }
    100% { filter: drop-shadow(0 0 12px rgba(0, 255, 65, 0.6)); opacity: 1; }
}

body.webai-boot::selection {
    background: #00ff41;
    color: #000;
}