.cw-ad-scene {
  position: fixed;
  inset: 0;
  z-index: 2147483400;
  pointer-events: none;
  font-family: Sora, system-ui, sans-serif;
  color: #30243e;
  contain: layout style;
  overflow: hidden;
}
.cw-ad-scene * {
  box-sizing: border-box;
}
.cw-ad-scene [hidden] {
  display: none !important;
}
.cw-ad-board {
  position: absolute;
  margin: 0;
  border: 2px solid #a38cbd;
  border-radius: 16px;
  background: #f7f3e9;
  box-shadow:
    0 5px 0 #493454,
    0 10px 24px #15102026;
  transform-origin: 14px calc(100% - 12px);
  overflow: visible;
}
.cw-ad-poster {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 13px;
}
.cw-ad-nail {
  position: absolute;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #f7f3e9;
  border: 1px solid #6b567d;
  box-shadow: inset 0 1px 1px white;
  opacity: 0.3;
}
.cw-ad-nail[data-fastened="true"] {
  background: #b9dca5;
  opacity: 1;
}
.cw-ad-nail[data-corner^="top"] {
  top: 7px;
}
.cw-ad-nail[data-corner^="bottom"] {
  bottom: 7px;
}
.cw-ad-nail[data-corner$="left"] {
  left: 8px;
}
.cw-ad-nail[data-corner$="right"] {
  right: 8px;
}
.cw-ad-ladder {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
}
.cw-ad-ladder-frame {
  fill: none;
  stroke-linecap: round;
  filter: drop-shadow(0 2px 1px #24172e55);
}
.cw-ad-ladder-rails {
  stroke: #aa8fc7;
  stroke-width: 7;
}
.cw-ad-ladder-rungs {
  stroke: #e0d4ee;
  stroke-width: 5;
}
.cw-ad-ladder-feet {
  stroke: #bce3a4;
  stroke-width: 8;
}
.cw-ad-actor {
  position: absolute;
  width: 146px;
  height: 146px;
  transform-origin: 50% 90%;
}
.cw-ad-scene:not([data-phase="idle"]) .cw-ad-actor {
  will-change: transform;
}
.cw-ad-figure {
  position: relative;
  width: 100%;
  height: 100%;
}
.cw-ad-body {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  transform-origin: 50% 92%;
  filter: drop-shadow(0 4px 2px #21112b35);
}
.cw-ad-mallet {
  position: absolute;
  inset: 0;
  opacity: 0;
}
.cw-ad-mallet svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}
.cw-ad-spark {
  position: absolute;
  width: 40px;
  height: 40px;
  opacity: 0;
}
.cw-ad-spark svg {
  display: block;
  width: 100%;
  height: 100%;
}
.cw-ad-nail::after {
  content: "";
  position: absolute;
  width: 4px;
  height: 1px;
  top: 2.5px;
  left: 1px;
  background: #6b567d;
  transform: rotate(-35deg);
  opacity: 0.6;
}
@media (prefers-reduced-motion: reduce) {
  .cw-ad-scene * {
    animation: none !important;
    transition: none !important;
  }
}
.cw-ad-label {
  position: absolute;
  top: 12px;
  left: 16px;
  padding: 3px 7px;
  border-radius: 9px;
  background: #30243e;
  color: #f7f3e9;
  font-size: 10px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.embedded[data-ad-space="true"] #app.is-expanded {
  height: min(680px, calc(100dvh - 24px - var(--ad-reserve, 0px)));
  width: min(440px, 100vw);
}

.cw-ad-ladder-small .cw-ad-ladder-rails {
  stroke: #c4aedb;
  stroke-width: 5;
}
.cw-ad-ladder-small .cw-ad-ladder-rungs {
  stroke-width: 4;
}
.cw-ad-ladder-small .cw-ad-ladder-feet {
  stroke-width: 6;
}
