:root[data-theme="light"] .combo-warning { --addon-ink: var(--text-strong); }
* { box-sizing: border-box; }
html, body {
  margin: 0;
  height: 100%;
  overflow: hidden;
  background: var(--page-bg);
  color: var(--text);
  font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  /* Let OrbitControls handle all touch gestures instead of the browser. */
  touch-action: none;
}
#scene { display: block; width: 100vw; height: 100vh; }

.panel {
  position: fixed;
  /* Above the CSS2D label overlay so corner controls stay clickable and
     are never visually covered by a structure label. */
  z-index: 5;
  background: var(--panel-bg);
  backdrop-filter: blur(6px);
  border: 1px solid rgba(var(--ink), 0.08);
  border-radius: 12px;
  padding: 14px 16px;
  font-size: 14px;
  user-select: none;
}

/* "beta" beside a feature's name (the Simulation section, the drugs map): a quiet
   qualifier, not a badge that competes with the name it qualifies. Here rather than
   in a feature's sheet because both pages (index.html, drugs-map.html) load base.css. */
.beta-tag {
  margin-left: 6px;
  padding: 1px 4px;
  font-size: 9px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--sem-caution);
  border: 1px solid var(--sem-caution);
  border-radius: 3px;
}
