.screen-stage-wrap {
  position: relative;
  background: #000;
  border: 1px solid var(--border-2);
  border-radius: var(--r);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.04);
  overflow: hidden;
  margin: 0 0 16px;
  height: min(56vh, 420px);
}

.screen-stage-wrap:fullscreen,
.screen-stage-wrap:-webkit-full-screen,
.screen-stage-wrap:-moz-full-screen {
  border-radius: 0;
  border: none;
  height: 100vh;
  width: 100vw;
}

.screen-stage-wrap:fullscreen #screenStage,
.screen-stage-wrap:-webkit-full-screen #screenStage,
.screen-stage-wrap:-moz-full-screen #screenStage {
  width: 100%;
  height: 100%;
}

#screenStage {
  display: block;
  width: 100%;
  height: 100%;
  cursor: crosshair;
  touch-action: none;
}

/* control bar */
.screen-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  align-items: center;
}

.screen-swatches {
  display: inline-flex;
  gap: 7px;
  flex-wrap: wrap;
  padding: 5px 8px 5px 6px;
  background: var(--surface-2);
  border: 1px solid var(--border);
  border-radius: var(--r-sm);
  margin-right: 4px;
}

.screen-swatch {
  width: 30px;
  height: 30px;
  border-radius: 7px;
  border: 2px solid var(--border-2);
  cursor: pointer;
  padding: 0;
  transition: transform .12s var(--ease-out), box-shadow .12s, border-color .12s;
  flex: none;
}
.screen-swatch:active { transform: scale(.94); }
@media (hover:hover) and (pointer:fine){ .screen-swatch:hover { transform: scale(1.12); } }
.screen-swatch:focus-visible { outline: none; box-shadow: var(--ring); }
.screen-swatch.current {
  border-color: var(--accent);
  box-shadow: var(--ring);
}

.screen-pointer-count {
  font-size: 13px;
  color: var(--text-2);
  font-weight: 550;
  margin-left: 4px;
}

.btn.screen-touch.active {
  background: var(--accent);
  color: #fff;
  border-color: transparent;
}
[data-theme="dark"] .btn.screen-touch.active { color: #08130d; }
