.px-dialog {
  width: 100%;
  height: 100%;
  transition: 0.25s;
}
.px-dialog-container {
  width: calc(520px - var(--px-bit) * 2);
  max-height: calc(100vh - var(--px-bit) * 2);
  z-index: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.25s;
  background-color: var(--px-neutral-1);
  box-sizing: border-box;
  font-size: var(--px-neutral-9);
  display: flex;
  flex-direction: column;
  font-size: 14px;
}
.px-dialog-header {
  box-sizing: content-box;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 28px;
  padding: 8px;
  border-bottom: 2px solid var(--px-neutral-6);
  flex-shrink: 0;
}
.px-dialog-icon-wrapper {
  display: flex;
  align-items: center;
}
.px-dialog-header-icon-wrapper {
  margin-right: 8px;
}
.px-dialog-header-icon-wrapper__last {
  margin-right: 0;
}
.px-dialog-header-icon-wrapper svg {
  width: 14px;
  height: 14px;
}
.px-dialog-close-icon-wrapper {
  width: 10px;
  height: 10px;
  font-size: 10px;
  position: absolute;
  top: 50%;
  right: 8px;
  transform: translateY(-50%);
}
.px-dialog-close-icon {
  transition: 0.25s;
  cursor: pointer;
  fill: var(--px-neutral-8);
}
.px-dialog-close-icon:focus {
  outline: none;
}
.px-dialog-close-icon:hover,
.px-dialog-close-icon:focus {
  fill: var(--px-neutral-7);
}
.px-dialog-close-icon:active {
  fill: var(--px-neutral-9);
}
.px-dialog-body {
  box-sizing: content-box;
  padding: 12px 8px;
  min-height: 28px;
  overflow: auto;
}
.px-dialog-footer {
  box-sizing: content-box;
  padding: 8px 8px;
  min-height: 28px;
  border-top: 2px solid var(--px-neutral-6);
  flex-shrink: 0;
}
.px-dialog-button {
  display: flex;
  justify-content: flex-end;
}
.px-dialog-mask {
  transition: 0.25s;
  opacity: 1;
}
.px-dialog-fade-enter-to,
.px-dialog-fade-leave-from {
  opacity: 1;
}
.px-dialog-fade-enter-to .px-dialog-container,
.px-dialog-fade-leave-from .px-dialog-container {
  transform: translate(-50%, -50%) scale(1);
}
.px-dialog-fade-enter-to .px-dialog-mask,
.px-dialog-fade-leave-from .px-dialog-mask {
  opacity: 1;
}
.px-dialog-fade-enter-from,
.px-dialog-fade-leave-to {
  opacity: 0;
}
.px-dialog-fade-enter-from .px-dialog-container,
.px-dialog-fade-leave-to .px-dialog-container {
  transform: translate(-50%, -50%) scale(0.2);
}
.px-dialog-fade-enter-from .px-dialog-mask,
.px-dialog-fade-leave-to .px-dialog-mask {
  opacity: 0;
}
.px-dialog-confirm-button {
  margin-left: 8px;
}
.corner-gradient::after {
  width: calc(var(--px-bit) * 2 + 100%);
  height: calc(var(--px-bit) * 2 + 100%);
  z-index: 0;
  content: '';
  display: block;
  position: absolute;
  left: calc(var(--px-bit) * -1);
  top: calc(var(--px-bit) * -1);
  pointer-events: none;
  background: linear-gradient(to right, transparent 0, transparent var(--px-bit), var(--px-neutral-10) var(--px-bit), var(--px-neutral-10) calc(100% - var(--px-bit)), transparent calc(100% - var(--px-bit)), transparent 100%) top left / 100% var(--px-bit) no-repeat, linear-gradient(to right, transparent 0, transparent var(--px-bit), var(--px-neutral-10) var(--px-bit), var(--px-neutral-10) calc(100% - var(--px-bit)), transparent calc(100% - var(--px-bit)), transparent 100%) bottom left / 100% var(--px-bit) no-repeat, linear-gradient(to bottom, transparent 0, transparent var(--px-bit), var(--px-neutral-10) var(--px-bit), var(--px-neutral-10) calc(100% - var(--px-bit)), transparent calc(100% - var(--px-bit)), transparent 100%) top left / var(--px-bit) 100% no-repeat, linear-gradient(to bottom, transparent 0, transparent var(--px-bit), var(--px-neutral-10) var(--px-bit), var(--px-neutral-10) calc(100% - var(--px-bit)), transparent calc(100% - var(--px-bit)), transparent 100%) top right / var(--px-bit) 100% no-repeat;
}
