* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

:root {
  --bg: #111;
  --text: #eee;
  --accent: #4a9eff;
  --panel-bg: rgba(20, 20, 20, 0.95);
}

html, body {
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: var(--bg);
  color: var(--text);
  font-family: system-ui, -apple-system, sans-serif;
}

#canvas-container {
  position: fixed;
  inset: 0;
  z-index: 0;
}

#canvas-container canvas {
  display: block;
  width: 100%;
  height: 100%;
}

#loading-overlay {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--bg);
  transition: opacity 0.5s;
}

#loading-overlay.hidden {
  opacity: 0;
  pointer-events: none;
}

.loading-text {
  font-size: 1.2rem;
  opacity: 0.6;
}

#info-overlay {
  position: fixed;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
  font-size: 0.85rem;
  opacity: 0.7;
  pointer-events: none;
}

/* Tweakpane positioning */
.tp-dfwv {
  position: fixed !important;
  top: 10px !important;
  right: 10px !important;
  z-index: 100 !important;
  max-height: calc(100vh - 20px) !important;
  overflow-y: auto !important;
}
