.renderer-section { flex: 1; min-width: 300px; display: flex; } .renderer-container { width: 100%; height: 400px; border: 1px solid #ccc; border-radius: 4px; overflow: hidden; background-color: #f0f0f0; } .plane-controls { margin-top: 10px; padding: 10px; background-color: #f5f5f5; border-radius: 4px; display: flex; align-items: center; gap: 10px; } .plane-controls mat-slider { flex: 1; } .controls-section { flex: 1; min-width: 300px; gap: 20px; } .form-row { margin-bottom: 15px; } mat-form-field { width: 100%; } .color-picker-card { margin-top: 20px; } .color-picker { display: flex; align-items: center; gap: 15px; } .color-picker input[type="color"] { width: 50px; height: 50px; border: none; border-radius: 4px; cursor: pointer; } .frames-section { margin-bottom: 20px; } .frames-container { margin-top: 10px; } .frame-content { padding: 15px; } .particles-list { max-height: 300px; overflow-y: auto; border: 1px solid #eee; border-radius: 4px; padding: 10px; margin-bottom: 15px; } .particle-item { display: flex; justify-content: space-between; align-items: center; padding: 8px; border-bottom: 1px solid #eee; } .particle-item:last-child { border-bottom: none; } .no-particles { padding: 20px; text-align: center; color: #888; } .frame-actions { display: flex; justify-content: flex-end; margin-top: 10px; } .add-frame { margin-top: 15px; display: flex; justify-content: center; } .json-output { margin-top: 20px; } .json-output pre { background-color: #f5f5f5; padding: 15px; border-radius: 4px; overflow-x: auto; max-height: 300px; font-family: monospace; white-space: pre-wrap; }