/* Reset & Base */
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: Arial, sans-serif; background: #f5f5f5; }
#app { display: flex; height: 100vh; }

/* Log Panel on Left */
#log-panel {
  width: 250px;
  background: #fff;
  border-right: 1px solid #ddd;
  padding: 16px;
  overflow-y: auto;
  font-size: 13px;
}
.log-entry { margin-bottom: 8px; color: #000; }

/* Canvas Panel in Center */
#canvas-panel {
  flex: 1;
  position: relative;
  background: #272822;
  display: flex;
  flex-direction: column;
}
#sim-canvas {
  flex: 1;
  width: 100%;
  display: block;
}

/* Context Menu */
.context-menu {
  position: absolute;
  background: #fff;
  border: 1px solid #ccc;
  box-shadow: 0 2px 6px rgba(0,0,0,0.2);
  list-style: none;
  padding: 8px 0;
  display: none;
  z-index: 1000;
}
.context-menu li {
  padding: 8px 16px;
  cursor: pointer;
  white-space: nowrap;
}
.context-menu li:hover { background: #f0f0f0; }

/* Right Panel: Controls & State */
#right-panel {
  width: 300px;
  background: #fafafa;
  border-left: 1px solid #ddd;
  display: flex;
  flex-direction: column;
}
#control-panel {
  padding: 16px;
  border-bottom: 1px solid #ddd;
}
#control-panel button,
#control-panel select,
#control-panel input[type="checkbox"] {
  margin: 6px 0;
  width: 100%;
  padding: 8px;
  font-size: 14px;
}
#control-panel label { display: flex; align-items: center; font-size: 14px; }
#control-panel label input { margin-right: 8px; }
#control-panel label input[type="checkbox"] { width: 2rem; }

#state-panel {
  flex: 1;
  padding: 16px;
  overflow-y: auto;
  background: #fff;
  font-size: 13px;
  border-bottom: 1px solid #ddd;
}
