.pl-theme-stage {
  margin-top: 48px;
  display: grid;
  grid-template-columns: minmax(0, 62fr) minmax(0, 38fr);
  column-gap: 64px;
  row-gap: 40px;
  align-items: center;
}
.pl-theme-side {
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-width: 0;
  width: 100%;
}
.pl-theme-caption {
  margin: 0;
  font: 500 15px/1.4 var(--font-sans);
  letter-spacing: -0.01em;
  color: #000;
}
.pl-theme-window {
  position: relative;
  width: 100%;
}
.pl-theme-editor {
  position: relative;
  width: 100%;
  container-type: inline-size;
}
.pl-theme-slot {
  position: relative;
  width: 100%;
}
.pl-theme-layer {
  display: block;
  width: 100%;
  height: auto;
  opacity: 1;
}
.pl-theme-layer + .pl-theme-layer {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  opacity: 0;
  transition: opacity 0.45s ease;
}
[data-pl-theme-state="colors"] .pl-theme-layer--colors,
[data-pl-theme-state="font"] .pl-theme-layer--colors,
[data-pl-theme-state="font"] .pl-theme-layer--font { opacity: 1; }

.pl-theme-ring {
  position: absolute;
  box-sizing: border-box;
  border: 2px solid var(--orange-500);
  border-radius: 10px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease;
}
.pl-theme-ring--colors {
  left: 2.195cqw;
  top: 10.528cqw;
  width: 47.398cqw;
  height: 5.61cqw;
}
.pl-theme-ring--font {
  left: 2.195cqw;
  top: 47.967cqw;
  width: 95.569cqw;
  height: 6.585cqw;
}
[data-pl-theme-ring="colors"] .pl-theme-ring--colors,
[data-pl-theme-ring="font"] .pl-theme-ring--font { opacity: 1; }

.pl-theme-pointer {
  position: absolute;
  top: -1px;
  left: -1px;
  width: 21px;
  height: 28px;
  transform-origin: 1px 1px;
  --pl-theme-px: 61.79cqw;
  --pl-theme-py: 56.91cqw;
  --pl-theme-ps: 1;
  transform: translate(var(--pl-theme-px), var(--pl-theme-py)) scale(var(--pl-theme-ps));
  opacity: 0;
  pointer-events: none;
  transition: transform 0.7s cubic-bezier(0.22, 0.61, 0.36, 1), opacity 0.3s ease;
}
[data-pl-theme-pointer="colors"] .pl-theme-pointer {
  --pl-theme-px: 18.943cqw;
  --pl-theme-py: 14.228cqw;
  opacity: 1;
}
[data-pl-theme-pointer="font"] .pl-theme-pointer {
  --pl-theme-px: 20.569cqw;
  --pl-theme-py: 52.033cqw;
  opacity: 1;
}
[data-pl-theme-press="1"] .pl-theme-pointer {
  --pl-theme-ps: 0.86;
  transition-duration: 0.2s, 0.3s;
}

@media (max-width: 1199px) {
  .pl-theme-stage {
    grid-template-columns: minmax(0, 1fr);
    justify-items: start;
  }
  .pl-theme-side--editor { max-width: 760px; }
  .pl-theme-side--page { max-width: 480px; }
}
@media (max-width: 760px) {
  .pl-theme-stage { margin-top: 36px; }
}
@media (max-width: 639px) {
  .pl-theme-window {
    overflow: hidden;
    aspect-ratio: 1230 / 1462;
  }
  .pl-theme-editor { width: 200%; }
  .pl-theme-side--editor { max-width: 440px; }
  .pl-theme-ring { border-width: 2px; border-radius: 12px; }
  .pl-theme-pointer { width: 18px; height: 24px; }
}

@supports not (width: 1cqw) {
  .pl-theme-ring,
  .pl-theme-pointer { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .pl-theme-layer + .pl-theme-layer,
  .pl-theme-ring,
  .pl-theme-pointer { transition: none; }
  .pl-theme-slot .pl-theme-layer--colors,
  .pl-theme-slot .pl-theme-layer--font { opacity: 1; }
  .pl-theme-ring,
  .pl-theme-pointer { display: none; }
}
