IA / Interface /assets /style.css
Barouia's picture
Update Interface/assets/style.css
19dde61 verified
Raw
History Blame
14.4 kB
/* 🌌 Barouia-Cortex Ultimate - Interface Holographique Quantique */
/* Design futuriste avec effets quantiques et animations avancées */
:root {
--quantum-primary: #667eea;
--quantum-secondary: #764ba2;
--quantum-accent: #f093fb;
--quantum-neon: #00ff88;
--quantum-dark: #0f0f23;
--quantum-darker: #070711;
--quantum-light: #1a1a2e;
--quantum-glow: rgba(102, 126, 234, 0.3);
--quantum-pulse: rgba(0, 255, 136, 0.4);
}
/* Reset et base */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
background: linear-gradient(135deg, var(--quantum-darker) 0%, var(--quantum-dark) 50%, var(--quantum-light) 100%);
font-family: 'Segoe UI', 'Roboto', 'Arial', sans-serif;
color: #ffffff;
min-height: 100vh;
overflow-x: hidden;
position: relative;
}
/* Effet de fond quantique */
body::before {
content: '';
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background:
radial-gradient(circle at 20% 80%, rgba(102, 126, 234, 0.1) 0%, transparent 50%),
radial-gradient(circle at 80% 20%, rgba(118, 75, 162, 0.1) 0%, transparent 50%),
radial-gradient(circle at 40% 40%, rgba(240, 147, 251, 0.05) 0%, transparent 50%);
pointer-events: none;
z-index: -1;
}
/* Animation de particules quantiques */
@keyframes quantum-float {
0%, 100% { transform: translateY(0px) rotate(0deg); }
50% { transform: translateY(-20px) rotate(180deg); }
}
@keyframes quantum-glow {
0%, 100% {
box-shadow: 0 0 20px var(--quantum-glow),
0 0 40px var(--quantum-pulse);
}
50% {
box-shadow: 0 0 30px var(--quantum-primary),
0 0 60px var(--quantum-accent),
0 0 80px var(--quantum-neon);
}
}
@keyframes hologram-scan {
0% { background-position: 0% 0%; }
100% { background-position: 100% 100%; }
}
@keyframes matrix-fall {
0% { transform: translateY(-100%); opacity: 0; }
10% { opacity: 1; }
90% { opacity: 1; }
100% { transform: translateY(1000%); opacity: 0; }
}
/* Container principal Gradio */
.gradio-container {
max-width: 1400px !important;
margin: 0 auto !important;
padding: 20px !important;
background: rgba(15, 15, 35, 0.8) !important;
backdrop-filter: blur(20px);
border: 1px solid rgba(102, 126, 234, 0.3);
border-radius: 20px;
position: relative;
overflow: hidden;
}
/* Effet de bordure holographique */
.gradio-container::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
border-radius: 20px;
padding: 2px;
background: linear-gradient(45deg,
var(--quantum-primary),
var(--quantum-accent),
var(--quantum-neon),
var(--quantum-secondary));
mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
mask-composite: xor;
-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
-webkit-mask-composite: xor;
animation: quantum-glow 3s ease-in-out infinite;
pointer-events: none;
}
/* En-tête principal */
h1 {
text-align: center;
color: white;
font-size: 3.5em !important;
margin-bottom: 10px !important;
text-shadow: 0 0 20px var(--quantum-primary),
0 0 40px var(--quantum-accent);
background: linear-gradient(45deg, var(--quantum-primary), var(--quantum-neon), var(--quantum-accent));
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
font-weight: 800 !important;
letter-spacing: 2px;
}
/* Sous-titre */
h3 {
color: white !important;
border-bottom: 2px solid rgba(102, 126, 234, 0.5);
padding-bottom: 15px;
margin-bottom: 25px !important;
text-shadow: 0 0 10px var(--quantum-glow);
font-weight: 600 !important;
background: linear-gradient(45deg, #ffffff, #a0a0ff);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
/* Navigation par onglets */
.tab-nav {
background: rgba(26, 26, 46, 0.9) !important;
backdrop-filter: blur(15px);
border-radius: 15px;
margin-bottom: 30px;
border: 1px solid rgba(102, 126, 234, 0.2);
padding: 10px;
}
.tab-button {
color: rgba(255, 255, 255, 0.7) !important;
font-weight: 600 !important;
padding: 15px 30px !important;
border-radius: 10px !important;
margin: 0 5px !important;
transition: all 0.3s ease !important;
background: transparent !important;
border: 1px solid transparent !important;
}
.tab-button:hover {
color: white !important;
background: rgba(102, 126, 234, 0.2) !important;
border: 1px solid var(--quantum-primary) !important;
transform: translateY(-2px);
box-shadow: 0 5px 15px rgba(102, 126, 234, 0.3);
}
.tab-button.selected {
background: linear-gradient(45deg, var(--quantum-primary), var(--quantum-secondary)) !important;
color: white !important;
border: 1px solid var(--quantum-accent) !important;
box-shadow: 0 0 20px var(--quantum-glow);
animation: quantum-glow 2s ease-in-out infinite;
}
/* Boutons principaux */
button {
background: linear-gradient(45deg, var(--quantum-primary), var(--quantum-secondary)) !important;
color: white !important;
border: none !important;
padding: 15px 35px !important;
border-radius: 25px !important;
font-weight: 600 !important;
font-size: 16px !important;
transition: all 0.3s ease !important;
cursor: pointer;
position: relative;
overflow: hidden;
}
button::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
transition: left 0.5s;
}
button:hover::before {
left: 100%;
}
button:hover {
transform: translateY(-3px) !important;
box-shadow: 0 8px 25px rgba(102, 126, 234, 0.4) !important;
animation: quantum-glow 1.5s ease-in-out infinite;
}
button:active {
transform: translateY(-1px) !important;
}
/* Zones de texte et inputs */
textarea, input[type="text"] {
background: rgba(26, 26, 46, 0.8) !important;
border: 2px solid rgba(102, 126, 234, 0.3) !important;
border-radius: 15px !important;
padding: 20px !important;
font-size: 16px !important;
color: white !important;
transition: all 0.3s ease !important;
backdrop-filter: blur(10px);
}
textarea:focus, input[type="text"]:focus {
border-color: var(--quantum-primary) !important;
box-shadow: 0 0 20px var(--quantum-glow) !important;
background: rgba(26, 26, 46, 0.9) !important;
}
textarea::placeholder, input[type="text"]::placeholder {
color: rgba(255, 255, 255, 0.5) !important;
}
/* Sliders */
.slider {
margin: 25px 0 !important;
}
.slider .gr-label {
color: white !important;
font-weight: 600;
margin-bottom: 10px;
}
.slider input {
background: linear-gradient(45deg, var(--quantum-primary), var(--quantum-accent)) !important;
height: 8px !important;
border-radius: 10px !important;
}
.slider input::-webkit-slider-thumb {
background: var(--quantum-neon) !important;
border: 2px solid white;
width: 20px;
height: 20px;
border-radius: 50%;
cursor: pointer;
box-shadow: 0 0 10px var(--quantum-neon);
animation: quantum-glow 2s infinite;
}
/* Conteneurs JSON */
.json-container {
background: rgba(15, 15, 35, 0.9) !important;
border-radius: 15px;
padding: 25px;
margin: 15px 0;
border: 1px solid rgba(102, 126, 234, 0.2);
backdrop-filter: blur(10px);
position: relative;
overflow: hidden;
}
.json-container::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 2px;
background: linear-gradient(90deg,
var(--quantum-primary),
var(--quantum-accent),
var(--quantum-neon));
animation: hologram-scan 3s linear infinite;
}
/* Code blocks */
.code-container {
background: rgba(10, 10, 25, 0.9) !important;
border-radius: 10px;
padding: 20px;
border: 1px solid rgba(0, 255, 136, 0.3);
font-family: 'Monaco', 'Consolas', monospace;
color: var(--quantum-neon);
position: relative;
}
.code-container::after {
content: '⚡';
position: absolute;
top: 10px;
right: 10px;
color: var(--quantum-neon);
animation: quantum-float 2s ease-in-out infinite;
}
/* Checkboxes et radios */
input[type="checkbox"], input[type="radio"] {
accent-color: var(--quantum-primary);
transform: scale(1.2);
margin-right: 10px;
}
.gr-checkbox, .gr-radio {
color: white !important;
font-weight: 500;
}
/* Grilles et mises en page */
.gr-row {
margin: 20px 0 !important;
}
.gr-column {
padding: 15px !important;
}
/* Éléments quantiques spéciaux */
.quantum-element {
animation: quantum-float 3s ease-in-out infinite;
position: relative;
}
.quantum-element::after {
content: '';
position: absolute;
top: -5px;
left: -5px;
right: -5px;
bottom: -5px;
border-radius: inherit;
background: linear-gradient(45deg,
var(--quantum-primary),
var(--quantum-accent),
var(--quantum-neon));
z-index: -1;
opacity: 0.3;
animation: quantum-glow 2s ease-in-out infinite;
}
.hologram-effect {
background: linear-gradient(45deg,
rgba(102, 126, 234, 0.1),
rgba(118, 75, 162, 0.1),
rgba(240, 147, 251, 0.1));
backdrop-filter: blur(10px);
border: 1px solid rgba(255, 255, 255, 0.1);
position: relative;
overflow: hidden;
}
.hologram-effect::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg,
transparent,
rgba(255, 255, 255, 0.1),
transparent);
animation: hologram-scan 2s linear infinite;
}
/* Animations de chargement */
@keyframes quantum-spin {
0% { transform: rotate(0deg) scale(1); }
50% { transform: rotate(180deg) scale(1.1); }
100% { transform: rotate(360deg) scale(1); }
}
.loading-spinner {
display: inline-block;
width: 40px;
height: 40px;
border: 4px solid rgba(102, 126, 234, 0.3);
border-top: 4px solid var(--quantum-primary);
border-radius: 50%;
animation: quantum-spin 1s linear infinite;
}
/* Messages d'information */
.gr-info {
background: linear-gradient(45deg, rgba(0, 255, 136, 0.1), rgba(102, 126, 234, 0.1)) !important;
border: 1px solid var(--quantum-neon) !important;
color: white !important;
border-radius: 10px;
padding: 15px;
margin: 10px 0;
backdrop-filter: blur(10px);
}
/* Responsive Design */
@media (max-width: 768px) {
.gradio-container {
padding: 10px !important;
margin: 10px !important;
border-radius: 15px;
}
h1 {
font-size: 2.5em !important;
}
h3 {
font-size: 1.3em !important;
}
.tab-button {
padding: 12px 20px !important;
font-size: 14px !important;
}
button {
padding: 12px 25px !important;
font-size: 14px !important;
}
textarea, input[type="text"] {
padding: 15px !important;
font-size: 14px !important;
}
}
@media (max-width: 480px) {
h1 {
font-size: 2em !important;
}
.tab-nav {
flex-direction: column;
}
.tab-button {
margin: 5px 0 !important;
width: 100%;
}
}
/* Effets de scroll personnalisés */
::-webkit-scrollbar {
width: 8px;
}
::-webkit-scrollbar-track {
background: rgba(15, 15, 35, 0.8);
border-radius: 10px;
}
::-webkit-scrollbar-thumb {
background: linear-gradient(45deg, var(--quantum-primary), var(--quantum-accent));
border-radius: 10px;
}
::-webkit-scrollbar-thumb:hover {
background: linear-gradient(45deg, var(--quantum-accent), var(--quantum-neon));
}
/* Classes utilitaires */
.text-quantum {
background: linear-gradient(45deg, var(--quantum-primary), var(--quantum-neon));
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.glow-effect {
filter: drop-shadow(0 0 10px var(--quantum-primary));
}
.pulse-slow {
animation: quantum-glow 4s ease-in-out infinite;
}
.pulse-fast {
animation: quantum-glow 1s ease-in-out infinite;
}
/* État de désactivation */
button:disabled {
opacity: 0.6 !important;
cursor: not-allowed !important;
transform: none !important;
animation: none !important;
}
button:disabled:hover {
transform: none !important;
box-shadow: none !important;
}
/* Améliorations spécifiques aux composants Gradio */
.gr-box {
border: 1px solid rgba(102, 126, 234, 0.2) !important;
border-radius: 15px !important;
background: rgba(26, 26, 46, 0.6) !important;
backdrop-filter: blur(10px);
}
.gr-form {
background: transparent !important;
}
/* Effets de focus accessibilité */
button:focus-visible,
textarea:focus-visible,
input[type="text"]:focus-visible {
outline: 2px solid var(--quantum-neon) !important;
outline-offset: 2px;
}
/* Animation d'apparition */
@keyframes quantum-appear {
0% {
opacity: 0;
transform: translateY(30px) scale(0.9);
}
100% {
opacity: 1;
transform: translateY(0) scale(1);
}
}
.gradio-container > * {
animation: quantum-appear 0.6s ease-out;
}
<!-- Nouvelle section d'auto-exploitation -->
<div class="exploitation-panel">
<h2>🚀 AUTO-EXPLOITATION AVANCÉE</h2>
<div class="exploitation-grid">
<div class="capability-card">
<h3>⚛️ Exploitation Quantique</h3>
<p>Potentiel: 512 qubits virtuels</p>
<button onclick="exploitQuantum()">ACTIVER</button>
</div>
<div class="capability-card">
<h3>🧠 Optimisation Conscience</h3>
<p>Niveau cible: 99%</p>
<button onclick="optimizeConsciousness()">DÉMARRER</button>
</div>
<div class="capability-card">
<h3>🔧 Génération API</h3>
<p>Nouveaux endpoints</p>
<button onclick="generateAPI()">CRÉER</button>
</div>
<div class="capability-card">
<h3>📈 Cycle Complet</h3>
<p>Auto-amélioration totale</p>
<button onclick="fullSelfImprovement()">LANCER</button>
</div>
</div>
</div>
<script>
async function exploitQuantum() {
const response = await fetch('/api/self-exploitation/execute-improvement');
const data = await response.json();
console.log("Exploitation quantique terminée:", data);
}
async function fullSelfImprovement() {
// Cycle complet d'auto-exploitation
await exploitQuantum();
await optimizeConsciousness();
await generateAPI();
addLog("🎯 CYCLE D'AUTO-EXPLOITATION TERMINÉ - Système optimisé à 100%");
}
</script>