Trivia_model / templates /circuit_simulation.html
Lennox Kanyoe Kahati
Initial clean deployment (no binaries)
72996f3
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CircuitMaster Pro - Adaptive Diagnostic System</title>
<link href="https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700;900&family=Roboto+Mono:wght@300;400;500&display=swap" rel="stylesheet">
<style>
:root {
--primary: #00d4ff;
--secondary: #ff00ff;
--success: #00ff88;
--danger: #ff4444;
--warning: #ed8936;
--dark: #1a1a2e;
--darker: #0f0f1a;
--light: #e6e6ff;
--current-flow: #00ff88;
--electron-flow: #ff00ff;
}
* { box-sizing: border-box; }
body {
font-family: 'Roboto Mono', 'Segoe UI', monospace;
margin: 0;
padding: 20px;
background: linear-gradient(135deg, var(--darker) 0%, var(--dark) 100%);
color: var(--light);
overflow-x: hidden;
}
.game-container {
max-width: 1600px;
margin: 0 auto;
background: linear-gradient(180deg, #16213e 0%, #0f1b2e 100%);
border-radius: 20px;
padding: 30px;
box-shadow: 0 20px 60px rgba(0, 212, 255, 0.2);
border: 2px solid rgba(0, 212, 255, 0.3);
}
.game-header {
text-align: center;
margin-bottom: 30px;
}
.game-title {
font-size: 3em;
background: linear-gradient(135deg, var(--primary), var(--secondary));
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
animation: neon-pulse 2s infinite alternate;
font-family: 'Orbitron', monospace;
}
@keyframes neon-pulse {
0% { filter: drop-shadow(0 0 20px var(--primary)); }
100% { filter: drop-shadow(0 0 40px var(--primary)); }
}
.game-card {
background: linear-gradient(180deg, #1e2a47 0%, #152238 100%);
border-radius: 15px;
padding: 25px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
border: 1px solid rgba(0, 212, 255, 0.2);
margin-bottom: 30px;
position: relative;
}
.simulation-area {
position: relative;
width: 100%;
height: 500px;
background: #0a0a0a;
border-radius: 15px;
overflow: hidden;
margin: 20px 0;
box-shadow: inset 0 0 30px rgba(0, 0, 0, 0.8);
}
#circuit-canvas {
display: block;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.current-flow-overlay {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none;
z-index: 2;
}
.component-panel {
display: flex;
justify-content: center;
gap: 15px;
margin: 25px 0;
flex-wrap: wrap;
}
.component-item {
background: linear-gradient(135deg, #2a2a3e 0%, #1f1f33 100%);
border-radius: 10px;
padding: 12px 15px;
border: 2px solid rgba(0, 212, 255, 0.3);
transition: all 0.3s;
min-width: 120px;
text-align: center;
cursor: pointer;
}
.component-item.active {
border-color: var(--success);
box-shadow: 0 0 20px rgba(0, 255, 136, 0.4);
transform: translateY(-2px);
}
.component-item:hover:not(.active) {
border-color: var(--primary);
box-shadow: 0 0 10px rgba(0, 212, 255, 0.3);
}
.component-icon {
font-size: 2em;
margin-bottom: 5px;
display: block;
}
.slider-wrapper {
margin: 20px 0;
background: linear-gradient(135deg, #2a2a3e 0%, #1f1f33 100%);
padding: 15px 20px;
border-radius: 10px;
border: 1px solid rgba(0, 212, 255, 0.2);
}
.slider {
width: 100%;
height: 8px;
border-radius: 4px;
background: linear-gradient(90deg, var(--danger) 0%, var(--warning) 50%, var(--success) 100%);
outline: none;
-webkit-appearance: none;
appearance: none;
cursor: pointer;
}
.slider::-webkit-slider-thumb {
-webkit-appearance: none;
width: 24px;
height: 24px;
border-radius: 50%;
background: radial-gradient(circle, var(--primary) 0%, var(--secondary) 100%);
cursor: pointer;
box-shadow: 0 0 15px var(--primary);
transition: all 0.2s;
border: 2px solid white;
}
.meter-display {
background: linear-gradient(135deg, #00d4ff20, #ff00ff20);
border: 3px solid var(--primary);
</body>
<script src="/static/js/engines/engine_category_a.js"></script>
</html>