[hidden] { display: none !important; }
html, body { margin: 0; height: 100%; background: #000; overflow: hidden; color: #fff;
  font: 14px/1.4 -apple-system, "PingFang SC", system-ui, sans-serif; }
#cam { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
/* 画布保持原始比例铺满（contain：录屏时不裁掉画面边缘的手） */
#stage { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
#status { position: absolute; inset: 0; display: grid; place-items: center; font-size: 18px; color: #ccc; }
#hud { position: absolute; left: 12px; top: 12px; margin: 0; padding: 8px 10px; background: rgba(0,0,0,.55);
  border-radius: 8px; font: 12px/1.5 ui-monospace, Menlo, monospace; white-space: pre; }
/* 提词条：只给表演者看，不进录制（录制录的是画布） */
#cue { position: absolute; left: 50%; bottom: 18px; transform: translateX(-50%); padding: 6px 14px;
  background: rgba(0,0,0,.5); border-radius: 999px; font-size: 15px; white-space: nowrap; max-width: calc(100% - 32px);
  overflow: hidden; text-overflow: ellipsis; }
#rec { position: absolute; right: 16px; top: 12px; color: #ff4d4f; font-weight: 600; letter-spacing: 1px; }
#dev { position: absolute; right: 16px; bottom: 12px; font-size: 11px; color: rgba(255,255,255,.35); }
/* 声音解锁提示：不进录制（录的是画布） */
#sound { position: absolute; left: 50%; top: 14px; transform: translateX(-50%); padding: 6px 14px;
  background: rgba(0,0,0,.6); border-radius: 999px; font-size: 14px; white-space: nowrap; pointer-events: none; }
