/* Shared presenter-shell bits (launcher, control, stage): confirm dialog, keycaps, glass. */

kbd {
  display: inline-grid; place-items: center;
  min-width: 22px; height: 22px; padding: 0 6px;
  border-radius: 6px;
  background: color-mix(in srgb, var(--fg) 8%, transparent);
  box-shadow: inset 0 -1px 0 color-mix(in srgb, var(--fg) 18%, transparent), inset 0 0 0 1px color-mix(in srgb, var(--fg) 12%, transparent);
  color: inherit;
  font: 700 11px/1 var(--font-inter);
  letter-spacing: 0;
  font-variant-numeric: tabular-nums;
}
.btn kbd { opacity: .7; height: 20px; min-width: 20px; font-size: 10.5px; margin-left: 2px; }
.btn-danger kbd, .btn-primary kbd { background: rgba(255, 255, 255, .18); box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .2); }

/* ── Confirm dialog ─────────────────────────────────────────────────── */
.sh-dialog-back {
  position: fixed; inset: 0; z-index: var(--z-modal);
  display: grid; place-items: center; padding: 16px;
  background: rgba(5, 6, 9, .58);
  backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
  opacity: 0; transition: opacity var(--dur-base) var(--ease-out);
}
.sh-dialog-back.is-open { opacity: 1; }
.sh-dialog {
  width: min(440px, 100%);
  padding: 26px 26px 22px;
  border-radius: 22px;
  background: var(--surface);
  color: var(--fg);
  border: 1px solid var(--border);
  box-shadow: 0 30px 80px rgba(0, 0, 0, .45);
  transform: translateY(8px) scale(.98);
  transition: transform var(--dur-slow) var(--ease-spring);
}
.sh-dialog-back.is-open .sh-dialog { transform: none; }
.sh-dialog-icon {
  display: grid; place-items: center; width: 46px; height: 46px; border-radius: 14px; margin-bottom: 16px;
  background: var(--brand-primary-soft); color: var(--brand-primary);
}
.sh-dialog-icon.is-danger { background: color-mix(in srgb, var(--danger) 16%, transparent); color: #F87171; }
.sh-dialog h3 { font-size: 20px; margin-bottom: 8px; }
.sh-dialog p { color: var(--fg-muted); font-size: 14.5px; line-height: 1.55; }
.sh-dialog-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 22px; }
.sh-dialog-actions .btn { --btn-h: 44px; font-size: 14px; }

/* Toasts sit top-right on the desktop consoles. */
.toast-stack { left: auto; right: 20px; bottom: 20px; transform: none; width: min(380px, calc(100% - 32px)); justify-items: end; }
