:root {
    --green-fosforo: #00FF00;
    --green-dark: #002200;
    --red-market: #FF3131;
    --yellow-stable: #FFFF00;
}

body { background-color: black; color: var(--green-fosforo); text-shadow: 0 0 5px rgba(0, 255, 0, 0.5); }
.terminal-border { border-color: var(--green-fosforo); box-shadow: 0 0 10px rgba(0, 255, 0, 0.2); }
.glow { text-shadow: 0 0 10px var(--green-fosforo); }

.radar-grid {
    background-image: 
        linear-gradient(rgba(0, 255, 0, 0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 255, 0, 0.05) 1px, transparent 1px);
    background-size: 30px 30px;
}

.custom-scrollbar::-webkit-scrollbar { width: 4px; }
.custom-scrollbar::-webkit-scrollbar-track { background: #000; }
.custom-scrollbar::-webkit-scrollbar-thumb { background: var(--green-dark); border: 1px solid var(--green-fosforo); }

.blink { animation: blinker 1.5s linear infinite; }
@keyframes blinker { 50% { opacity: 0; } }

.price-up { color: var(--green-fosforo); }
.price-down { color: var(--red-market); text-shadow: 0 0 5px var(--red-market); }
.price-stable { color: var(--yellow-stable); text-shadow: 0 0 5px var(--yellow-stable); }

.stock-card {
    border-left: 2px solid var(--green-fosforo);
    background: rgba(0, 255, 0, 0.05);
    padding: 10px;
    margin-bottom: 10px;
    transition: all 0.3s ease;
}
.stock-card:hover { background: rgba(0, 255, 0, 0.2); border-color: #fff; }

/* ANIMACIÓN DE TICKER LENTA (80s) */
.ticker-wrap { width: 100%; box-sizing: border-box; }
.ticker-move {
    display: inline-block;
    padding-left: 100%;
    animation: ticker 80s linear infinite;
}
.ticker-move:hover { animation-play-state: paused; cursor: crosshair; }
@keyframes ticker {
    0% { transform: translate3d(0, 0, 0); }
    100% { transform: translate3d(-100%, 0, 0); }
}

/* GRÁFICO Y ALERTAS */
#canvas-wrapper {
    background: rgba(0, 10, 0, 0.8);
    border: 1px solid var(--green-dark);
    margin-bottom: 10px;
    position: relative;
}
.viral-alert {
    animation: alert-flash 0.8s infinite;
    border-color: var(--red-market) !important;
}
@keyframes alert-flash {
    0% { background: rgba(255, 49, 49, 0.1); }
    50% { background: rgba(255, 49, 49, 0.4); }
}

/* CAJAS DE PULSO DE MERCADO */
.pulse-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 6px;
    border: 1px solid;
    width: 32%;
    text-align: center;
    background: rgba(0, 0, 0, 0.8);
}
.pulse-up { border-color: var(--green-fosforo); box-shadow: inset 0 0 5px rgba(0,255,0,0.2); }
.pulse-stable { border-color: var(--yellow-stable); box-shadow: inset 0 0 5px rgba(255,255,0,0.2); }
.pulse-down { border-color: var(--red-market); box-shadow: inset 0 0 5px rgba(255,49,49,0.2); }