visualiser2 / src /components /visualization /VisualizationControls.module.css
Vishalpainjane's picture
added files
8a01471
/* ============================================
VISUALIZATION CONTROLS - WIREFRAME AESTHETIC
============================================ */
.controls {
position: absolute;
top: 20px;
left: 20px;
width: 220px;
background: var(--bg-secondary, #0f0f0f);
border: 1px solid var(--border-primary, rgba(180, 255, 57, 0.3));
padding: 12px;
color: var(--text-primary, #e0e0e0);
font-family: var(--font-mono, 'JetBrains Mono', monospace);
font-size: 11px;
max-height: calc(100vh - 40px);
overflow-y: auto;
z-index: 100;
}
.section {
margin-bottom: 14px;
padding-bottom: 14px;
border-bottom: 1px dashed var(--border-primary, rgba(180, 255, 57, 0.2));
}
.section:last-child {
margin-bottom: 0;
padding-bottom: 0;
border-bottom: none;
}
.sectionTitle {
font-size: 10px;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.1em;
color: var(--accent-primary, #b4ff39);
margin: 0 0 10px 0;
}
.sectionTitle::before {
content: "// ";
opacity: 0.5;
}
/* Model Info */
.modelInfo {
display: flex;
flex-direction: column;
gap: 4px;
}
.modelName {
font-weight: 600;
font-size: 12px;
color: var(--text-primary, #e0e0e0);
word-break: break-all;
text-transform: uppercase;
}
.stats {
display: flex;
gap: 10px;
font-size: 10px;
color: var(--text-primary, #e0e0e0);
}
/* Level Buttons */
.levelButtons {
display: flex;
gap: 4px;
}
.levelButton {
flex: 1;
display: flex;
flex-direction: column;
align-items: center;
gap: 4px;
padding: 8px 6px;
background: transparent;
border: 1px dashed var(--border-primary, rgba(180, 255, 57, 0.3));
color: var(--text-primary, #e0e0e0);
cursor: pointer;
transition: all 0.2s ease;
font-size: 9px;
font-family: var(--font-mono, 'JetBrains Mono', monospace);
text-transform: uppercase;
letter-spacing: 0.05em;
}
.levelButton:hover {
border-color: var(--accent-primary, #b4ff39);
color: var(--text-primary, #e0e0e0);
}
.levelButton.active {
background: rgba(180, 255, 57, 0.1);
border: 1px solid var(--accent-primary, #b4ff39);
color: var(--accent-primary, #b4ff39);
}
.levelIcon {
font-size: 12px;
font-weight: 700;
}
/* Toggles */
.toggles {
display: flex;
flex-direction: column;
gap: 6px;
}
.toggle {
display: flex;
align-items: center;
gap: 10px;
cursor: pointer;
}
.toggle input[type="checkbox"] {
appearance: none;
width: 14px;
height: 14px;
background: transparent;
border: 1px solid var(--border-primary, rgba(180, 255, 57, 0.3));
position: relative;
cursor: pointer;
transition: all 0.2s ease;
}
.toggle input[type="checkbox"]:checked {
background: var(--accent-primary, #b4ff39);
border-color: var(--accent-primary, #b4ff39);
}
.toggle input[type="checkbox"]:checked::before {
content: '';
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 6px;
height: 6px;
background: var(--bg-primary, #0a0a0a);
}
.toggleLabel {
color: var(--text-primary, #e0e0e0);
font-size: 10px;
text-transform: uppercase;
letter-spacing: 0.05em;
}
/* Actions */
.actions {
display: flex;
flex-direction: column;
gap: 4px;
}
.actionButton {
display: flex;
align-items: center;
justify-content: center;
gap: 6px;
padding: 8px;
background: transparent;
border: 1px dashed var(--border-primary, rgba(180, 255, 57, 0.3));
color: var(--text-primary, #e0e0e0);
cursor: pointer;
transition: all 0.2s ease;
font-size: 10px;
font-family: var(--font-mono, 'JetBrains Mono', monospace);
text-transform: uppercase;
letter-spacing: 0.05em;
}
.actionButton:hover {
border-color: var(--accent-primary, #b4ff39);
color: var(--accent-primary, #b4ff39);
}
/* Legend */
.legend {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 4px;
}
.legendItem {
display: flex;
align-items: center;
gap: 6px;
}
.legendColor {
width: 8px;
height: 8px;
flex-shrink: 0;
}
.legendLabel {
font-size: 9px;
color: var(--text-primary, #e0e0e0);
text-transform: uppercase;
letter-spacing: 0.05em;
}
/* Shortcuts */
.shortcuts {
display: flex;
flex-direction: column;
gap: 4px;
}
.shortcut {
display: flex;
align-items: center;
gap: 6px;
}
.shortcut kbd {
display: inline-flex;
align-items: center;
justify-content: center;
min-width: 18px;
height: 18px;
padding: 0 4px;
background: transparent;
border: 1px solid var(--border-primary, rgba(180, 255, 57, 0.3));
font-family: var(--font-mono, 'JetBrains Mono', monospace);
font-size: 9px;
color: var(--accent-primary, #b4ff39);
}
.shortcut span {
font-size: 9px;
color: var(--text-primary, #e0e0e0);
margin-left: 4px;
text-transform: uppercase;
}
/* Scrollbar */
.controls::-webkit-scrollbar {
width: 4px;
}
.controls::-webkit-scrollbar-track {
background: transparent;
}
.controls::-webkit-scrollbar-thumb {
background: var(--border-primary, rgba(180, 255, 57, 0.3));
}
.controls::-webkit-scrollbar-thumb:hover {
background: var(--accent-primary, #b4ff39);
}