tests / style.css
Lukeetah's picture
Update style.css
3b58d13 verified
/* style.css */
:root {
--matrix-green-bright: #33FF33;
--matrix-green-std: #00D000;
--matrix-green-dark: #008F11;
--matrix-bg-dark: #050505;
--matrix-bg-med: #0a0a0a;
--matrix-bg-light: #101010;
--matrix-yellow-warn: #FFFF00;
--matrix-red-error: #FF3333;
--matrix-red-feedback: #FF6666;
--matrix-cyan-info: #33CCFF;
--matrix-orange-exit: #FFAA00;
--matrix-white-text: #E0E0E0;
--matrix-font: 'Courier Prime', 'Courier New', Courier, monospace;
}
/* --- Base y Contenedor --- */
body, .gradio-container {
background: radial-gradient(ellipse at bottom, var(--matrix-bg-light) 0%, var(--matrix-bg-dark) 100%);
color: var(--matrix-green-std) !important;
font-family: var(--matrix-font) !important;
margin: 0;
padding: 10px !important;
box-sizing: border-box;
min-height: 100vh; /* Asegurar altura completa */
}
.gradio-container .gap, .gradio-container .gap > .gr-column {
gap: 15px !important;
}
/* --- Bloques Principales --- */
.main-content-box {
background-color: rgba(10, 10, 10, 0.85); /* Más opaco */
border: 1px solid var(--matrix-green-dark);
padding: clamp(15px, 4vw, 30px); /* Padding adaptable */
margin-top: clamp(10px, 3vh, 20px);
max-width: 750px;
margin-left: auto;
margin-right: auto;
box-shadow: 0 0 15px rgba(0, 255, 0, 0.2); /* Sombra más pronunciada */
border-radius: 2px; /* Ligero redondeo */
}
/* --- Títulos y Texto --- */
.gradio-container h1, .gradio-container h2, .gradio-container h3, .gradio-container h4 { /* Target más específico */
color: var(--matrix-green-bright) !important;
text-shadow: 0 0 8px var(--matrix-green-std), 0 0 15px var(--matrix-green-dark); /* Más sombra */
border-bottom: 1px solid var(--matrix-green-dark);
padding-bottom: 10px;
margin-bottom: 25px;
text-align: center;
letter-spacing: 1.5px;
font-weight: bold;
}
.gradio-container h5 { color: var(--matrix-white-text) !important; text-align: center; margin: 15px 0; font-weight: normal;}
.gradio-container p { color: var(--matrix-green-std) !important; line-height: 1.7; font-size: clamp(1em, 2.5vw, 1.1em); }
.gradio-container strong, .gradio-container b { color: var(--matrix-green-bright) !important; font-weight: bold; text-shadow: 0 0 3px var(--matrix-green-bright);}
.gradio-container code { background-color: var(--matrix-bg-light); border: 1px solid var(--matrix-green-dark); padding: 2px 6px; border-radius: 3px; color: var(--matrix-green-bright); font-weight: bold; }
.gradio-container hr, hr.matrix-hr { border: 0 !important; height: 1px !important; background-image: linear-gradient(to right, rgba(0, 143, 17, 0), rgba(0, 143, 17, 0.85), rgba(0, 143, 17, 0)) !important; margin: 25px 0 !important; }
/* --- Advertencia --- */
.warning-text { border: 1px dashed var(--matrix-yellow-warn); padding: 15px; margin: 20px 0; background-color: rgba(80, 80, 0, 0.25); box-shadow: 0 0 8px rgba(255, 255, 0, 0.2); }
.warning-text p { color: var(--matrix-yellow-warn) !important; margin-bottom: 8px; font-size: 0.95em;}
.warning-text strong { color: var(--matrix-yellow-warn) !important; }
/* --- Errores --- */
.error-text p { color: var(--matrix-red-error) !important; font-weight: bold; text-align: center; }
#alias_feedback p { text-align: center; font-weight: bold;}
/* --- Botones Estilo Matrix --- */
.gr-button {
background: linear-gradient(to bottom, var(--matrix-bg-light) 0%, var(--matrix-bg-med) 100%) !important; /* Gradiente sutil */
border: 1px solid var(--matrix-green-std) !important;
color: var(--matrix-green-std) !important;
margin: 5px !important;
transition: all 0.2s ease-in-out;
font-family: var(--matrix-font) !important;
border-radius: 0 !important;
padding: 12px 18px !important;
font-size: 1em !important;
text-align: center;
cursor: pointer;
text-shadow: 0 0 2px rgba(0, 255, 0, 0.5); /* Sombra texto botón */
}
.gr-button:hover {
background: var(--matrix-green-std) !important;
color: var(--matrix-bg-dark) !important;
box-shadow: 0 0 18px var(--matrix-green-std) !important; /* Más glow */
border-color: var(--matrix-green-bright) !important;
transform: scale(1.03);
text-shadow: none;
}
.gr-button:active { transform: scale(0.97); }
/* Botones Específicos */
.btn-matrix-accept { border-color: var(--matrix-green-bright) !important; color: var(--matrix-green-bright) !important; font-weight: bold; }
.btn-matrix-accept:hover { background-color: var(--matrix-green-bright) !important; box-shadow: 0 0 18px var(--matrix-green-bright) !important; color: var(--matrix-bg-dark) !important; }
.btn-menu { min-width: 220px !important; width: 90% !important; max-width: 450px !important; margin-left: auto !important; margin-right: auto !important; display: block !important; font-size: 1.1em !important;}
.btn-exit { border-color: var(--matrix-orange-exit) !important; color: var(--matrix-orange-exit) !important; }
.btn-exit:hover { background-color: var(--matrix-orange-exit) !important; box-shadow: 0 0 18px var(--matrix-orange-exit) !important; color: var(--matrix-bg-dark) !important; }
.btn-red { border-color: var(--matrix-red-error) !important; color: var(--matrix-red-error) !important; }
.btn-red:hover { background-color: var(--matrix-red-error) !important; box-shadow: 0 0 18px var(--matrix-red-error) !important; color: var(--matrix-bg-dark) !important; }
.btn-matrix-response { min-width: 90px !important; padding: 12px 18px !important; font-size: 1.4em !important; font-weight: bold; flex-grow: 1; /* Ocupar espacio en fila */}
/* --- Input de Texto --- */
.gradio-container .gr-textbox textarea, .gradio-container .gr-textbox input[type=text] {
background-color: var(--matrix-bg-light) !important;
border: 1px solid var(--matrix-green-std) !important;
color: var(--matrix-green-std) !important;
padding: 12px !important;
font-family: var(--matrix-font) !important;
border-radius: 0 !important;
line-height: 1.5;
font-size: 1.1em;
}
.gradio-container .gr-textbox textarea::placeholder, .gradio-container .gr-textbox input[type=text]::placeholder { color: var(--matrix-green-dark) !important; opacity: 0.6; }
.gradio-container .gr-row { align-items: stretch; /* Alinear botones en fila */ } /* Mejorar alineación en Row */
/* --- Contenido Específico del Juego --- */
.progress-indicator { color: grey !important; font-size: 0.9em; text-align: right; padding-right: 10px; min-height: 1.2em; }
.stimulus-display {
font-size: clamp(4.5em, 18vw, 8em) !important; /* Tamaño muy grande y responsivo */
font-weight: bold;
text-align: center;
min-height: 160px; /* Más alto aún */
display: flex;
align-items: center;
justify-content: center;
padding: 10px;
line-height: 1;
text-shadow: 0 0 15px currentColor; /* Más sombra */
letter-spacing: 3px;
font-family: 'Orbitron', var(--matrix-font);
opacity: 1;
transition: opacity 0.15s ease-in-out; /* Transición rápida */
overflow: hidden; /* Evitar que texto grande desborde */
word-break: break-all; /* Romper si es muy largo (poco probable aquí) */
}
.stimulus-display:empty { opacity: 0; } /* Ocultar si está vacío */
#feedback-display p { text-align: center; min-height: 30px; margin-top: 15px; font-size: 1.25em; font-weight: bold; letter-spacing: 1px; }
.feedback-correct { color: var(--matrix-green-bright) !important; text-shadow: 0 0 8px var(--matrix-green-bright); }
.feedback-incorrect { color: var(--matrix-red-feedback) !important; text-shadow: 0 0 8px var(--matrix-red-feedback);}
.results-list { list-style-type: none; padding-left: 0; margin: 20px 0 20px 10px; }
.results-list li { margin-bottom: 12px; color: var(--matrix-green-std); font-size: 1.2em; }
.history-list li { margin-bottom: 5px; font-size: 0.9em; color: #00C000;}
#agent-info-menu { text-align: center; color: var(--matrix-white-text) !important; margin-bottom: 25px; font-size: 1.2em; font-weight: bold;}
/* --- Estilo para Dataframe (Historial) --- */
.gradio-container .gr-dataframe { background-color: transparent !important; border: none !important; }
.gradio-container .gr-dataframe table.dataframe { width: 100% !important; border-collapse: collapse !important; background-color: transparent !important; margin-top: 15px;}
.gradio-container .gr-dataframe table.dataframe th {
background-color: var(--matrix-bg-light) !important;
color: var(--matrix-green-bright) !important;
border: 1px solid var(--matrix-green-dark) !important; /* Bordes también en header */
text-align: left; padding: 12px;
text-shadow: 0 0 3px var(--matrix-green-std);
}
.gradio-container .gr-dataframe table.dataframe tr:nth-child(even) td { background-color: rgba(0, 50, 0, 0.2) !important; }
.gradio-container .gr-dataframe table.dataframe tr:hover td { background-color: rgba(0, 255, 0, 0.25) !important; }
.gradio-container .gr-dataframe table.dataframe td {
color: var(--matrix-green-std) !important;
border: 1px solid var(--matrix-green-dark) !important; /* Bordes en celdas */
border-top: none; /* Evitar doble borde */
padding: 12px;
vertical-align: middle;
font-size: 0.95em;
}
/* Estilo de Paginación si existe */
.gradio-container .pagination { filter: grayscale(100%) brightness(1.5); } /* Blanco/Negro */