.bg-stage { background: #fff; cursor: default; }
.bg-stage:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
.bg-hud { position: absolute; left: 12px; top: max(10px, env(safe-area-inset-top)); z-index: 5; display: flex; gap: 14px; padding: 7px 14px; border-radius: 999px;
  background: rgba(20, 22, 28, .78); color: #fff; font: 600 15px/1.2 system-ui, sans-serif; font-variant-numeric: tabular-nums; pointer-events: none; }
.bg-hud[hidden], .bg-card[hidden] { display: none; }
.bg-card { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); z-index: 6; width: min(88%, 380px); text-align: center; padding: 18px 18px 20px;
  border-radius: 18px; background: rgba(20, 22, 28, .88); color: #fff; box-shadow: 0 10px 40px rgba(0, 0, 0, .35); }
.bg-card p { margin: 0 0 12px; }
.bg-card-h { font-size: 1.5rem; font-weight: 800; }
.bg-card-p { font-size: .95rem; opacity: .9; }
.bg-card .btn.primary { background: #ffc83d; color: #16181d; border-color: #ffc83d; }
.bg-count { position: absolute; left: 12px; bottom: 12px; margin: 0; z-index: 4; padding: 6px 12px; border-radius: 999px; background: rgba(20, 22, 28, .6);
  color: #fff; font-size: .82rem; pointer-events: none; }
.bg-count:empty, .is-full .bg-count { display: none; }
.bg-sub { display: flex; align-items: center; gap: 10px; margin-top: 10px; font-size: .92rem; }
.bg-sub[hidden], .panel [hidden] { display: none !important; }
.bg-sub input[type="color"] { width: 52px; height: 36px; padding: 0; border: 1px solid var(--line); border-radius: 8px; background: none; }
.bg-sub input[type="file"] { font: inherit; font-size: .85rem; max-width: 100%; }
.bg-l2 { margin-top: 10px; }
.panel select { width: 100%; margin-top: 6px; }
.px-under { margin-top: 12px; }
.px-exit { position: absolute; top: max(10px, env(safe-area-inset-top)); right: 10px; z-index: 7; display: none; align-items: center; gap: 4px;
  font: 600 13px/1 system-ui, sans-serif; padding: 8px 12px; border-radius: 999px; border: 0; background: rgba(0, 0, 0, .45); color: #fff;
  opacity: .6; cursor: pointer; transition: opacity .3s; }
.px-exit span { font-size: 17px; line-height: 13px; }
.is-full .px-exit { display: inline-flex; }
.is-full.st-idle:not(.px-show) .px-exit { opacity: 0; pointer-events: none; }
.tool-stage.is-full .fs-btn { display: none; }
