.cr-stage { cursor: crosshair; background: #000; }
.cr-stage:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
.cr-try { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); margin: 0; padding: 9px 16px; border-radius: 999px;
  background: rgba(20, 22, 28, .72); color: #fff; font-weight: 600; font-size: .95rem; white-space: nowrap; pointer-events: none; transition: opacity .3s; }
.cr-try.off, .is-full .cr-try { opacity: 0; }
.cr-sub { display: flex; align-items: center; gap: 10px; margin-top: 10px; font-size: .92rem; }
.cr-sub input[type="color"] { width: 52px; height: 36px; padding: 0; border: 1px solid var(--line); border-radius: 8px; background: none; }
.cr-sub input[type="file"] { font: inherit; font-size: .85rem; max-width: 100%; }
.panel select { width: 100%; margin-top: 6px; }
.px-under { margin-top: 12px; }
/* prank exit control: hidden in the preview, faint in full screen, gone while the pointer is idle */
.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; }
.cr-sub[hidden], .panel [hidden] { display: none !important; }
.cr-stage.is-full { cursor: default; }
