:root {
  --heart-loop: url("data:image/gif;base64,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");
  color-scheme: dark;
  font-family: system-ui, sans-serif;
  background: #190e20;
  color: #fff1f8;
  --pink: #ff8dc6;
  --bright: #ffc1e3;
  --panel: #28132d;
  --border: #935283;
}
* { box-sizing: border-box }
body { margin: 0; min-width: 280px; -webkit-text-size-adjust: 100%; text-size-adjust: 100% }
button, input, textarea { font: inherit }
button, summary { cursor: pointer }
button:disabled { cursor: default }
button:focus-visible, summary:focus-visible, input:focus-visible, textarea:focus-visible {
  outline: 2px solid #ffb8df;
  outline-offset: 3px;
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.layout { max-width: 1680px; margin: auto }
.witch-theatre {
  position: relative;
  isolation: isolate;
  overflow-x: clip;
  width: 100%;
  container-type: inline-size;
  --u: calc(100cqw / 1536);
}
.witch-theatre::before {
  content: "";
  display: block;
  position: relative;
  z-index: -2;
  aspect-ratio: 1536 / 820;
  background:
    radial-gradient(ellipse at 24% 45%, #3d2147 0, transparent 27%),
    radial-gradient(ellipse at 88% 93%, #59243f 0, transparent 19%),
    radial-gradient(ellipse at 10% 85%, #502942 0, transparent 20%),
    linear-gradient(#180e20 54%, #25142b 76%, #3c203e);
}
.theatre-art {
  position: absolute;
  inset: 0;
  z-index: -1;
  width: 100%;
  height: calc(820 * var(--u));
  pointer-events: none;
}
.stage-air {
  position: absolute;
  inset: 0 0 auto;
  height: calc(820 * var(--u));
  overflow: clip;
  pointer-events: none;
}
.stage-flame, .stage-ember { position: absolute; pointer-events: none }
.stage-flame {
  width: calc(44 * var(--u));
  aspect-ratio: 1;
  background: radial-gradient(closest-side, #ffce8f99, #ff80382e 56%, transparent);
  animation: candle-flicker 2.7s ease-in-out infinite;
}
.flame-left { left: 0; top: 57% }
.flame-right { left: 2.8%; top: 59%; animation-delay: -.87s }
.stage-ember {
  color: #ffb8e1;
  text-shadow: 0 0 9px #fa4cae;
  font-size: clamp(10px, 1.55vw, 22px);
  opacity: 0;
  animation: ember-drift 6.6s linear infinite;
}
.ember-one { left: 42%; top: 81% }
.ember-two { left: 71%; top: 53%; animation-delay: -3.3s }
@keyframes candle-flicker {
  0%, 37%, 100% { opacity: .23; transform: scale(.82) }
  15%, 58%, 78% { opacity: .88; transform: scale(1.27) }
}
@keyframes ember-drift {
  0%, 100% { opacity: 0; transform: translateY(15px) scale(.72) }
  28%, 65% { opacity: .75 }
  90% { opacity: 0; transform: translate(12px,-47px) scale(.9) }
}
.scene-title {
  position: absolute;
  left: calc(582 * var(--u));
  top: 0;
  width: calc(511 * var(--u));
  height: calc(179 * var(--u));
}
.scene-title::after {
  content: "";
  position: absolute;
  inset: 5% -4% 0;
  pointer-events: none;
  background: radial-gradient(ellipse at 52% 36%, #ff65b633, transparent 69%);
  mix-blend-mode: screen;
  animation: neon-breathe 5s ease-in-out infinite alternate;
}
@keyframes neon-breathe { from { opacity: .18 } to { opacity: .92 } }
.topbar {
  position: absolute;
  z-index: 20;
  display: flex;
  gap: calc(7 * var(--u));
  top: calc(3 * var(--u));
  right: calc(7 * var(--u));
}
.scene-button {
  display: block;
  position: absolute;
  border: 0;
  padding: 0;
  border-radius: 14%;
  color: inherit;
  background: transparent;
  -webkit-tap-highlight-color: transparent;
}
.scene-button:not(:disabled):hover { box-shadow: inset 0 0 0 1px #ffc1e38c, 0 0 15px #fb75bd77 }
.scene-button:not(:disabled):active { background-color: #ff78bd38 }
.topbar .scene-button { position: relative; width: calc(60 * var(--u)); aspect-ratio: 1; list-style: none }
.topbar .scene-button::-webkit-details-marker { display: none }
.settings-content {
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  width: min(300px, 92vw);
  padding: 15px 16px;
  border: 1px solid var(--border);
  border-radius: 13px;
  background: #1e1127;
  box-shadow: 0 10px 28px #08040be6;
}
.settings-content h2, .editor-top h2 { margin: 0 0 10px; font-size: 1.2rem }
.toggle-row, .sound-row { display: flex; justify-content: space-between; align-items: center; gap: 14px }
.toggle-row { cursor: pointer }
.toggle-row small { display: block; margin-top: 4px; color: #dbc2d7; font-size: .83rem }
.toggle-row input { flex: 0 0 auto; width: 22px; height: 22px; accent-color: #d64992 }
.sound-row { margin-top: 12px }
.icon-btn, .secondary-btn, .save-btn {
  color: #fff1f8;
  background: #381d3f;
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 7px 12px;
}
.icon-btn { min-width: 40px; min-height: 40px; font-size: 1.15rem }
.save-btn { background: #8e2864; border-color: #f383bd; font-weight: 700 }
.icon-btn:hover, .secondary-btn:hover, .save-btn:hover { background: #65244c }

.devil-hall { position: absolute; inset: 0; height: calc(820 * var(--u)); pointer-events: none }
.kuromi-actor {
  position: absolute;
  left: calc(90 * var(--u));
  top: calc(42 * var(--u));
  width: calc(531 * var(--u));
  aspect-ratio: 531 / 594;
  transform-origin: 59% 92%;
}
.actor-portrait, .actor-portrait picture, .actor-portrait img { display: block; width: 100%; height: 100% }
.actor-portrait {
  position: relative;
  --idle-lift: -1%;
  --idle-angle: .65deg;
  animation: actor-idle 5.2s ease-in-out infinite;
}
.actor-portrait img { object-fit: contain }
.actor-features, .actor-motes { position: absolute; inset: 0; pointer-events: none }
.actor-eye {
  position: absolute;
  left: var(--eye-x);
  top: var(--eye-y);
  width: var(--eye-w);
  height: var(--eye-h);
  border-radius: 25% 26% 65% 55%;
  background: linear-gradient(150deg, #f3dce9, #e6bdcf);
  border-bottom: max(1px, .18vw) solid #291628;
  opacity: 0;
  transform-origin: 50% 8%;
  animation: actor-blink 7.8s linear infinite;
}
.eye-left { --eye-x: 36.7%; --eye-y: 42%; --eye-w: 8.8%; --eye-h: 9.3%; --eye-tilt: 22deg }
.eye-right { --eye-x: 61%; --eye-y: 50.8%; --eye-w: 6.8%; --eye-h: 7%; --eye-tilt: -13deg }
.actor-trident {
  position: absolute;
  left: 70%;
  top: 32%;
  width: 29%;
  height: 36%;
  background: radial-gradient(ellipse at 58% 40%, #ff6ac959, #fa56b526 47%, transparent 70%);
  mix-blend-mode: screen;
  animation: neon-breathe 2.9s ease-in-out infinite alternate;
}
.actor-motes i {
  position: absolute;
  left: 8%;
  top: 35%;
  width: 11%;
  aspect-ratio: 1;
  background: var(--heart-loop) center / contain no-repeat;
  animation: mote-rise 5.8s ease-in-out infinite;
}
.actor-motes i+i { left: 85%; top: 51%; width: 8%; animation-delay: -2.8s }
@keyframes actor-idle {
  0%, 100% { transform: none }
  48% { transform: translateY(var(--idle-lift)) rotate(var(--idle-angle)) scale(1.012) }
  72% { transform: translateY(-.35%) rotate(calc(-.5 * var(--idle-angle))) }
}
@keyframes actor-blink {
  0%, 29%, 33%, 78%, 82%, 100% { opacity: 0; transform: rotate(var(--eye-tilt)) scaleY(.05) }
  30.6%, 31.4%, 79.6%, 80.4% { opacity: 1; transform: rotate(var(--eye-tilt)) scaleY(1) }
}
@keyframes mote-rise {
  0%, 100% { opacity: 0; transform: translateY(35%) rotate(-14deg) }
  24%, 64% { opacity: .86 }
  78% { opacity: 0; transform: translate(25%,-73%) rotate(14deg) }
}
.actor-pose {
  display: none;
  position: absolute;
  right: -1%;
  bottom: 8%;
  width: 32%;
  aspect-ratio: 1.12;
  background: var(--pose) center / contain no-repeat;
  filter: drop-shadow(0 0 9px #d84f9ca8);
}
.kuromi-actor[data-motion] .actor-portrait { animation: var(--motion) var(--move-duration, 1150ms) both }
.kuromi-actor[data-pose] .actor-pose { display: block; animation: pose-pop var(--move-duration, 1150ms) both }
.kuromi-actor[data-motion="dash"] { --motion: ready }
.kuromi-actor[data-motion="kick"] { --motion: strike }
.kuromi-actor[data-motion="cheer"] { --motion: leap; --pose: var(--art-leap, none) }
.kuromi-actor[data-motion="dance"] { --motion: dance; --pose: var(--art-dance, none) }
.kuromi-actor[data-motion="cackle"] { --motion: cackle; --pose: var(--art-laugh, none) }
.kuromi-actor[data-motion="twirl"] { --motion: twirl; --pose: var(--art-twirl, none) }
.kuromi-actor[data-motion="cheeky"] { --motion: cackle; --pose: none }
.kuromi-actor[data-motion="countdown"] { --motion: ready; --pose: var(--art-countdown, none) }
.actor-rear { display: none }
html[data-art-ready][data-art-rear] .kuromi-actor[data-motion="cheeky"] { --motion: cheeky-turn }
html[data-art-ready][data-art-rear] .kuromi-actor[data-motion="cheeky"] .actor-pose {
  left: 2%;
  right: auto;
  bottom: 6%;
  width: 96%;
  aspect-ratio: 1;
  animation: none;
}
html[data-art-ready][data-art-rear] .kuromi-actor[data-motion="cheeky"] .actor-rear {
  display: block;
  position: absolute;
  inset: 0;
  background: var(--art-rear) center / contain no-repeat;
  transform-origin: 50% 86%;
  animation: cheeky-rear var(--move-duration) both;
}
.actor-tap {
  position: absolute;
  top: 55%;
  left: 38%;
  z-index: 1;
  width: 28%;
  transform-origin: 55% 70%;
  filter: drop-shadow(0 0 .22rem #ff90d9);
  animation: cheeky-tap var(--move-duration) both;
}
.actor-tap-flash {
  position: absolute;
  top: 68%;
  left: 62%;
  padding: .24em .4em;
  border: 1px solid #ffc0e2;
  border-radius: .4em;
  color: #fff4fc;
  background: #501d4c;
  box-shadow: 0 0 .6em #ff64ba;
  font-size: clamp(12px, 2.25cqw, 32px);
  font-weight: 900;
  line-height: 1;
  transform-origin: 0 50%;
  animation: cheeky-flash var(--move-duration) both;
}
.actor-tap-flash::before {
  content: "✦";
  position: absolute;
  right: 97%;
  top: 50%;
  translate: 0 -50%;
  color: #fff1a8;
  font-size: 1.65em;
  text-shadow: 0 0 .3em #ff84c6;
}
.actor-portrait { transform-origin: 59% 92% }
@keyframes ready {
  0%, 100% { transform: none }
  35% { transform: translate(2%, -2%) rotate(-2deg) }
  65% { transform: translate(3%, 0) rotate(3deg) }
}
@keyframes strike {
  0%, 100% { transform: none }
  27% { transform: translate(-2%, 0) rotate(-3deg) }
  61% { transform: translate(5%, -3%) rotate(5deg) }
  79% { transform: translate(-1%, 0) rotate(-2deg) }
}
@keyframes leap {
  0%, 46%, 100% { transform: none }
  25% { transform: translateY(-8%) rotate(-3deg) }
  69% { transform: translateY(-4%) rotate(2deg) }
}
@keyframes dance {
  0%, 100% { transform: none }
  24%, 72% { transform: translateY(-3%) rotate(-3deg) }
  48% { transform: translateY(-4%) rotate(4deg) }
}
@keyframes cackle {
  0%, 100% { transform: none }
  13%, 36%, 60%, 79% { transform: translateY(-3.5%) rotate(-3.8deg) }
  24%, 48%, 70%, 88% { transform: translateY(1.5%) rotate(2deg) }
}
@keyframes twirl {
  0%, 100% { transform: none }
  35% { transform: translateY(-5%) rotate(-5deg) }
  65% { transform: translateY(-2%) rotate(5deg) }
}
@keyframes cheeky-turn {
  0%, 100% { opacity: 1; transform: none }
  10% { opacity: 1; transform: rotate(-5deg) }
  22%, 83% { opacity: 0; transform: scaleX(.14) rotate(4deg) }
  95% { opacity: 1; transform: translateY(-1%) rotate(2deg) }
}
@keyframes cheeky-rear {
  0%, 18%, 89%, 100% { opacity: 0; transform: scaleX(.14) }
  26%, 44%, 54%, 64%, 75%, 82% { opacity: 1; transform: none }
  46% { opacity: 1; transform: translateX(-2%) rotate(-3deg) }
  66% { opacity: 1; transform: translateX(2%) rotate(3deg) }
}
@keyframes cheeky-tap {
  0%, 25%, 83%, 100% { opacity: 0; transform: translate(108%, -88%) rotate(24deg) }
  33%, 41%, 59%, 62% { opacity: 1; transform: translate(108%, -88%) rotate(24deg) }
  46% { opacity: 1; transform: translateX(-20%) rotate(-15deg) }
  66% { opacity: 1; transform: translateX(16%) rotate(-6deg) }
  50%, 70% { opacity: 1; transform: translate(29%, -22%) rotate(8deg) }
  77% { opacity: 1; transform: translate(82%, -65%) rotate(19deg) }
}
@keyframes cheeky-flash {
  0%, 45%, 59%, 65%, 81%, 100% { opacity: 0; transform: scale(.75) }
  46%, 66% { opacity: 1; transform: scale(1.12) }
  53%, 74% { opacity: 1; transform: scale(1) }
}
@keyframes pose-pop {
  0%, 100% { opacity: 0; transform: translateY(13%) scale(.8) }
  25%, 66% { opacity: 1; transform: none }
}
.speech {
  position: absolute;
  left: calc(309 * var(--u));
  top: calc(19 * var(--u));
  width: calc(274 * var(--u));
  aspect-ratio: 274 / 199;
  background: var(--art-speech-idle, none) center / 100% 100% no-repeat;
}
.speech.is-speaking { background-image: var(--art-speech, none) }
.speech.speech-pop { animation: speech-pop .27s ease-out both; transform-origin: 52% 83% }
@keyframes speech-pop { from { transform: scale(.95); opacity: .78 } to { transform: none; opacity: 1 } }
.speech p {
  position: absolute;
  display: grid;
  place-items: center;
  inset: 15% 13% 23%;
  margin: 0;
  padding: 0 4%;
  text-align: center;
  text-wrap: balance;
  overflow-wrap: anywhere;
  transform: rotate(-8deg);
  color: transparent;
  font: 700 calc(28 * var(--u)) / 1.1 "Trebuchet MS", system-ui, sans-serif;
}
.speech.is-speaking p { color: #fff4fa; text-shadow: 0 0 .35em #ff62b6 }
.speech.is-speaking p.long { font-size: calc(22 * var(--u)) }
html:not([data-art-ready]) .speech p, .speech-echo {
  border: 1px solid #ffa4d1;
  border-radius: 1.1em;
  background: #32132f;
  box-shadow: 0 0 .6em #ff57af80;
  color: #fff2fa;
}
html:not([data-art-ready]) .speech p {
  inset: 12% 7% 26%;
  transform: none;
}
html:not([data-art-ready]) .speech p::after, .speech-echo::after {
  content: "";
  position: absolute;
  left: 15%;
  bottom: -.36em;
  width: .6em;
  height: .6em;
  border: solid #ffa4d1;
  border-width: 0 1px 1px 0;
  background: inherit;
  transform: rotate(45deg);
}
.speech-echo {
  display: none;
  position: fixed;
  z-index: 19;
  top: max(.8rem, calc(env(safe-area-inset-top) + .35rem));
  right: max(.8rem, calc(env(safe-area-inset-right) + .35rem));
  max-width: min(16rem, calc(100% - 1.6rem));
  margin: 0;
  padding: .5rem .85rem;
  font: 700 .9rem / 1.3 "Trebuchet MS", system-ui, sans-serif;
  text-align: center;
  text-wrap: balance;
  animation: speech-pop .27s ease-out both;
  pointer-events: none;
}

.wheel-card {
  position: absolute;
  z-index: 2;
  left: calc(562 * var(--u));
  top: calc(145 * var(--u));
  width: calc(560 * var(--u));
  aspect-ratio: 560 / 509;
}
.wheel-stage { position: absolute; left: 12.5%; top: 10.413%; width: 75.357%; aspect-ratio: 1 }
#wheel { position: absolute; inset: 0; width: 100%; height: 100%; transform-origin: center }
#wheel text { filter: drop-shadow(0 0 4px #ff73c5) drop-shadow(0 0 9px #d92889) }
.wheel-halo {
  position: absolute;
  inset: 1.35%;
  z-index: 1;
  border-radius: 50%;
  pointer-events: none;
  animation: rim-travel 13s linear infinite;
}
.wheel-halo::after {
  content: "";
  position: absolute;
  left: 4%;
  top: 27%;
  width: 1.7%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #fff0fb;
  box-shadow: 0 0 5px 2px #ffc4ed, 0 0 12px 4px #ff47ae;
}
.wheel-stage.is-spinning .wheel-halo { animation-duration: 2.2s }
@keyframes rim-travel { to { transform: rotate(1turn) } }
.pointer, .wheel-center { position: absolute; z-index: 2; pointer-events: none; background: center / 100% 100% no-repeat }
.pointer {
  left: 35.545%;
  top: -13.27%;
  width: 28.91%;
  aspect-ratio: 122 / 98;
  background-image: var(--art-pointer, none);
  transform-origin: 50% 58%;
  animation: pointer-heartbeat 4.9s ease-in-out infinite;
}
@keyframes pointer-heartbeat {
  0%, 25%, 100% { transform: none }
  12% { transform: scale(1.047) }
}
.wheel-center {
  left: 33.649%;
  top: 38.389%;
  width: 32.702%;
  aspect-ratio: 138 / 121;
  background-image: var(--art-hub, none);
  animation: hub-heartbeat 5.4s ease-in-out infinite;
}
@keyframes hub-heartbeat {
  0%, 31%, 100% { transform: none }
  13% { transform: scale(1.032) }
  23% { transform: scale(1.018) }
}
.spin-btn {
  z-index: 4;
  left: calc(688 * var(--u));
  top: calc(684 * var(--u));
  width: calc(273 * var(--u));
  aspect-ratio: 273 / 82;
  border-radius: 999px;
}
.spin-btn::after {
  content: "";
  position: absolute;
  inset: 2px;
  border-radius: inherit;
  pointer-events: none;
  box-shadow: 0 0 17px 2px #ff79be88, inset 0 0 14px #ff89cc96;
  animation: neon-breathe 2.5s ease-in-out infinite alternate;
}
.spin-btn:disabled::after { animation-duration: .58s }
@keyframes timer-beat {
  0% { transform: scale(1.08); color: #fff5fb }
  100% { transform: none; color: #ffb3da }
}
.sparkles { position: absolute; inset: 0; z-index: 3; pointer-events: none }
.spark {
  position: absolute;
  top: 50%;
  left: 50%;
  color: #ffd3eb;
  text-shadow: 0 0 8px #ff5eba, 0 0 13px #ff5eba;
  font-size: clamp(12px, 2vw, 25px);
  animation: scatter .86s ease-out both;
}
.sparkles.at-rim .spark { top: 53%; left: 1% }
@keyframes scatter { to { opacity: 0; transform: translate(var(--tx), var(--ty)) scale(.3) } }

.chance-card {
  position: absolute;
  z-index: 5;
  top: calc(620 * var(--u));
  width: calc(var(--card-w) * var(--u));
  aspect-ratio: var(--card-w) / 190;
  font-size: calc(34 * var(--u));
}
.count-card { --card-w: 411; left: calc(241 * var(--u)) }
.time-card { --card-w: 397; left: calc(969 * var(--u)) }
.chance-card > .scene-button, .chance-value, .timer-buttons > .scene-button {
  left: calc(var(--x) / var(--card-w) * 100%);
  top: calc(var(--y) / 190 * 100%);
  width: calc(var(--w) / var(--card-w) * 100%);
  height: calc(var(--h) / 190 * 100%);
}
.count-card .minus { --x:45; --y:73; --w:55; --h:59 }
.count-card .plus { --x:245; --y:73; --w:58; --h:59 }
.count-card .chance-button { --x:316; --y:71; --w:89; --h:104 }
.count-card .chance-value { --x:106; --y:74; --w:135; --h:61 }
.time-card .minus { --x:43; --y:60; --w:57; --h:57 }
.time-card .plus { --x:240; --y:60; --w:56; --h:58 }
.time-card .chance-button { --x:297; --y:60; --w:87; --h:101 }
.time-card .chance-value { --x:106; --y:61; --w:129; --h:59 }
.chance-value {
  position: absolute;
  display: grid;
  place-items: center;
  border-radius: .29em;
  background: linear-gradient(#160b18, #1c0d20);
  color: #fff7fb;
  font-size: 1.45em;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  text-shadow: 0 0 .16em #ff79b9, 0 0 .42em #ed2c8f;
}
.chance-value[data-reference-value] { background: transparent; color: transparent; text-shadow: none }
.chance-card[aria-busy="true"] .chance-value::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  box-shadow: inset 0 0 12px #fb59b0a8;
  animation: neon-breathe .33s alternate infinite;
}
.timer-buttons { position: absolute; inset: 0; pointer-events: none }
.timer-buttons button { pointer-events: auto }
#timerStart { --x:27; --y:134; --w:85; --h:41 }
#timerPause { --x:116; --y:134; --w:87; --h:41 }
#timerReset { --x:208; --y:134; --w:87; --h:41 }
#timerStart:disabled, #timerReset:disabled { background-color: #180e2380 }
#timerPause:not(:disabled) { box-shadow: inset 0 0 0 1px #f481c4b3 }
#timerStart[data-paused] {
  background: linear-gradient(#a33b71, #451f43);
  border: 1px solid #f37fbf;
}
#timerStart[data-paused]::after { content: "▶ Weiter"; font-size: .48em; font-weight: 700 }
.timer-readout { position: absolute; top: 100%; left: 6%; width: 69%; text-align: center }
.timer-clock {
  color: #ffe1f4;
  font: 700 .65em / 1.45 system-ui, sans-serif;
  font-variant-numeric: tabular-nums;
  text-shadow: 0 0 .55em #f947aa;
}
.timer-ending { color: #ffb3da }
.timer-ending.timer-beat { animation: timer-beat .38s ease-out }
.timer-done { color: #ff91c5 }
.clock-track {
  height: 3px;
  width: 69%;
  margin: 1px auto 0;
  border-radius: 999px;
  background: #5f315a;
  overflow: hidden;
}
.clock-track span {
  display: block;
  height: 100%;
  background: #ffa5d2;
  transform-origin: left center;
  transform: scaleX(var(--time-ratio,1));
  transition: transform .28s linear;
}

.kick-sprite {
  position: absolute;
  z-index: 7;
  visibility: hidden;
  pointer-events: none;
  background: var(--art-kick-count, none) center / contain no-repeat;
  aspect-ratio: 268 / 279;
}
.kick-sprite.is-charging { visibility: visible }
.wheel-kicker { left: -43%; top: 17%; width: 52% }
.counter-kicker {
  --companion-visibility: visible;
  --companion-motion: companion-count-idle 5.8s ease-in-out infinite;
  --companion-direction: 1;
  left: -56.204%;
  top: -41.053%;
  width: 65.207%;
  visibility: var(--companion-visibility);
  transform-origin: center 91%;
}
.counter-kicker:not(.is-charging) { animation: var(--companion-motion) }
.time-card .counter-kicker {
  --companion-motion: companion-time-idle 7.4s ease-in-out -2.3s infinite;
  --companion-direction: -1;
  left: 89.673%;
  top: -44.737%;
  width: 53.149%;
  aspect-ratio: 211 / 287;
  background-image: var(--art-kick-time, none);
}
html[data-art-ready][data-art-idle-kicker] .counter-kicker:not(.is-charging) { background-image: none }
html[data-art-ready][data-art-idle-kicker] .counter-kicker:not(.is-charging)::before {
  content: "";
  position: absolute;
  inset: 18% 9% 4%;
  background: var(--art-kick-idle) center bottom / contain no-repeat;
}
.time-card .counter-kicker::before { scale: -1 1 }
.counter-kicker[data-reaction] { --companion-motion: companion-react .56s ease-out both }
.counter-kicker[data-reaction="curious"] {
  --companion-mark: "?";
  --companion-color: #ffdea5;
  --companion-lift: -4%;
  --companion-tilt: 9deg;
}
.counter-kicker[data-reaction="glee"] {
  --companion-mark: "♥";
  --companion-color: #ffc2eb;
  --companion-lift: -15%;
  --companion-tilt: -6deg;
}
.counter-kicker[data-reaction="sulk"] {
  --companion-mark: "…";
  --companion-color: #ddc5ff;
  --companion-lift: 3%;
  --companion-tilt: -10deg;
}
.counter-kicker[data-reaction="alarm"] {
  --companion-mark: "!";
  --companion-color: #ffdc92;
  --companion-lift: -12%;
  --companion-tilt: 7deg;
}
html[data-art-ready][data-art-idle-kicker] .counter-kicker[data-reaction]:not(.is-charging)::after {
  content: var(--companion-mark);
  position: absolute;
  top: 17%;
  left: 69%;
  display: grid;
  place-items: center;
  width: 1.55em;
  height: 1.55em;
  border: 1px solid currentColor;
  border-radius: 50%;
  background: #381938;
  color: var(--companion-color);
  box-shadow: 0 0 .55em #f254ab7d;
  font: 800 clamp(13px, 1.8cqw, 26px) / 1 system-ui, sans-serif;
}
html[data-art-ready][data-art-idle-kicker] .time-card .counter-kicker[data-reaction]:not(.is-charging)::after {
  left: auto;
  right: 69%;
}
@keyframes companion-count-idle {
  0%, 46%, 85%, 100% { transform: none }
  53%, 68% { transform: translateY(-9%) rotate(-4deg) }
  60%, 76% { transform: translateY(-1%) rotate(3deg) }
}
@keyframes companion-time-idle {
  0%, 18%, 100% { transform: none }
  46%, 61% { transform: translate(-2%, -3%) rotate(-7deg) }
  78% { transform: translateY(1%) rotate(2deg) }
}
@keyframes companion-react {
  0%, 100% { transform: none }
  40% { transform: translateY(var(--companion-lift)) rotate(calc(var(--companion-direction) * var(--companion-tilt))) }
}
.impact-flash {
  position: absolute;
  pointer-events: none;
  visibility: hidden;
  z-index: 8;
  top: 21%;
  left: 0;
  width: 22%;
  aspect-ratio: 1;
  background: radial-gradient(closest-side, #fff8dc, #ffad72 35%, #e6458b7d 68%, transparent);
  clip-path: polygon(50% 0, 57% 34%, 79% 10%, 74% 39%, 100% 34%, 80% 53%, 100% 72%, 70% 67%, 77% 100%, 54% 77%, 40% 100%, 35% 74%, 0 86%, 20% 59%, 0 45%, 32% 41%, 19% 12%, 44% 34%);
}
.time-card .impact-flash { left: 70% }
.devil-impact .impact-flash { visibility: visible; animation: flash .48s ease-out both }
.devil-impact .chance-value { animation: shake .32s both }
@keyframes flash { from { opacity: 1; transform: scale(.6) } to { opacity: 0; transform: scale(1.65) } }
@keyframes shake {
  20% { transform: translateX(-6%) }
  50% { transform: translateX(5%) }
  76% { transform: translateX(-3%) }
}
.kuromi-boost {
  position: absolute;
  z-index: 9;
  top: -32%;
  left: -7.1%;
  display: grid;
  place-items: center;
  width: 29%;
  height: 40%;
  color: #ffc2e1;
  text-shadow: 0 0 .2em #ff82bd, 0 0 .48em #f24aa4;
  font-size: 1.02em;
  font-weight: 800;
  transform: rotate(-8deg);
  pointer-events: none;
}
.time-card .kuromi-boost { left: 49.5%; top: -40%; transform: rotate(-7deg) }
.kuromi-boost.burst { color: #fff4fb; animation: boost 1.8s ease-out both }
@keyframes boost { 0% { opacity: .6; scale: .76 } 18% { opacity: 1; scale: 1.16 } 72%, 100% { opacity: 1; scale: 1 } }

.control-panel, .history, .assignments { width: min(92%, 940px); margin: 20px auto }
.control-panel { margin-top: 37px }
.result[aria-busy="true"] .result-number { animation: neon-breathe .53s alternate infinite }
.result {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 12px 16px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: linear-gradient(120deg, #361e3c, #211126);
}
.result-number {
  flex: 0 0 1.5em;
  text-align: center;
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1;
  font-weight: 800;
  color: var(--bright);
  text-shadow: 0 0 .4em #f44bb2;
}
.result.reveal .result-number { animation: shake .25s }
.result-text, .result-description { margin: 0; overflow-wrap: anywhere }
.result-description { margin-top: 4px; color: #e2c4da; white-space: pre-wrap }
.result-description:empty { display: none }
.round-status, .history-empty { color: #d9bad2; font-size: .85rem }
.round-status { margin: 10px 0 0; text-align: center }
.history-head, .editor-top, .editor-actions { display: flex; justify-content: space-between; align-items: center; gap: 12px }
.history-head h2, .assignments h2 { margin: 0; font-size: 1.15rem }
.history-list { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 8px }
.history-number {
  display: grid; place-items: center;
  width: 32px; height: 32px;
  border: 1px solid var(--border);
  border-radius: 8px;
  color: var(--bright);
  background: var(--panel);
  font-weight: 700;
}
.assignment-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr)); gap: 10px; margin-top: 10px }
.assignment {
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--panel);
  overflow-wrap: anywhere;
}
.assignment.selected { border-color: var(--pink); box-shadow: 0 0 11px #ed67b680 }
.assignment .num { color: var(--pink); font-weight: 800 }
.assignment-detail { margin-top: 6px; color: #e2c4da; font-size: .9rem; white-space: pre-wrap }
.assignments { margin-bottom: max(35px, calc(22px + env(safe-area-inset-bottom))) }
html[data-page-hidden] .ambient, [data-ambient-paused] .ambient,
html[data-page-hidden] .scene-title::after, [data-ambient-paused].scene-title::after,
html[data-page-hidden] .spin-btn::after, [data-ambient-paused].spin-btn::after {
  animation-play-state: paused;
}
html[data-page-hidden] .actor-motes, [data-ambient-paused] .actor-motes { visibility: hidden }
dialog {
  width: min(740px, 94vw);
  max-height: 88dvh;
  padding: 0;
  border: 1px solid var(--border);
  border-radius: 15px;
  background: #211127;
  color: #fff1f8;
  box-shadow: 0 0 30px #f066af5c;
}
dialog::backdrop { background: #08040bdc }
.editor-shell { padding: 18px; margin: 0 }
.editor-top h2 { margin: 0 }
.editor-desc { color: #e2c4da }
.editor-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px }
.editor-field { display: grid; gap: 5px; padding: 9px; border: 1px solid #633752; border-radius: 8px }
.editor-field label { color: var(--bright); font-size: .77rem; font-weight: 700 }
.editor-field input, .editor-field textarea { width: 100%; border: 1px solid #73456b; border-radius: 5px; padding: 6px; color: inherit; background: #140c1a }
.editor-field textarea { resize: vertical }
.editor-status { margin-top: 10px; color: var(--bright) }
.editor-actions { justify-content: end; flex-wrap: wrap; margin-top: 13px }

@media (max-width: 859px), (max-width: 1024px) and (max-height: 500px) {
  .witch-theatre {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: max(32px, calc(12px + env(safe-area-inset-top))) max(8px, env(safe-area-inset-right)) 23px max(8px, env(safe-area-inset-left));
    background: radial-gradient(ellipse at 50% 37%, #492048, #1a0e22 64%, #28162c);
    overflow: clip;
  }
  .witch-theatre::before, .theatre-art { display: none }
  .stage-air { height: 100% }
  .stage-flame { display: none }
  .ember-one { left: 13%; top: 34% }
  .ember-two { left: 85%; top: 25% }
  .scene-title {
    position: relative;
    left: auto;
    width: min(100%, 450px);
    height: auto;
    aspect-ratio: 511 / 181;
    background: var(--art-title, none) center top / 100% auto no-repeat;
  }
  .topbar { top: max(3px, env(safe-area-inset-top)); right: max(6px, env(safe-area-inset-right)); gap: 4px }
  .topbar .scene-button { width: 44px; background-position: center; background-size: 100% 100% }
  .settings-button { background-image: var(--art-settings, none) }
  .admin-button { background-image: var(--art-admin, none) }
  .devil-hall { position: relative; inset: auto; width: min(100%, 465px); height: auto; aspect-ratio: 2.95; margin-top: -13px }
  .kuromi-actor { top: -6%; left: 3%; width: 39%; aspect-ratio: 1 }
  .actor-portrait { --idle-lift: -3.4%; --idle-angle: -1.85deg }
  .eye-left { --eye-x: 37.1%; --eye-y: 37%; --eye-w: 7.4%; --eye-h: 7.7%; --eye-tilt: 20deg }
  .eye-right { --eye-x: 58.7%; --eye-y: 43%; --eye-w: 6.8%; --eye-h: 6.2%; --eye-tilt: -11deg }
  .actor-trident { left: 69%; top: 23%; width: 31%; height: 40% }
  .actor-pose { width: 43%; right: -6%; bottom: 0 }
  .speech { top: -2%; left: 45%; width: 51% }
  .speech p { font-size: clamp(12px, 4vw, 23px) }
  .speech.is-speaking p.long { font-size: clamp(10px, 3.2vw, 18px); line-height: 1.05 }
  .speech-echo.is-speaking[data-out-of-view] { display: block }
  .wheel-card {
    position: relative;
    left: auto;
    top: auto;
    width: min(100%, 360px);
    margin-top: 7px;
    background: var(--art-wheel-frame, none) center / 100% 100% no-repeat;
  }
  .spin-btn {
    position: relative;
    left: auto;
    top: auto;
    width: min(67%, 258px);
    min-height: 48px;
    background: var(--art-spin, none) center / 110% 126% no-repeat;
    margin: -1px 0 3px;
  }
  .chance-card {
    position: relative;
    top: auto;
    left: auto;
    width: min(100%, 411px);
    margin: 8px auto 0;
    font-size: clamp(24px, 7vw, 34px);
    background-size: 100% 100%;
    background-position: center;
  }
  .count-card { background-image: var(--art-count-card, none) }
  .time-card { background-image: var(--art-time-card, none) }
  .chance-card > .scene-button { min-width: 44px; min-height: 44px }
  .timer-buttons > .scene-button { min-width: 44px; min-height: 44px; translate: 0 -5px }
  .timer-readout { top: 97%; width: 70% }
  .timer-clock { font-size: .75em }
  .wheel-kicker { left: -17%; top: 21%; width: 40% }
  html[data-art-ready] .chance-card { margin-top: clamp(42px, 11vw, 54px) }
  .counter-kicker { left: 1%; top: -22%; width: 24% }
  .time-card .counter-kicker { left: auto; right: 1%; top: -29%; width: 20% }
  .kuromi-boost, .time-card .kuromi-boost {
    visibility: hidden;
    top: -20%;
    left: 15%;
    width: 24%;
    height: 34%;
    border: 2px solid #ff9ad0;
    border-radius: 44%;
    background: #38142d;
    box-shadow: 0 0 10px #ff52a4, inset 0 0 7px #ff52a4;
  }
  .time-card .kuromi-boost { left: 62% }
  .kuromi-boost.burst { visibility: visible }
  .control-panel { width: min(100%, 411px); margin: 4px auto 3px }
  .result { gap: 9px; padding: 8px 10px; min-height: 51px }
  .result-number { font-size: 1.86rem }
  .result-text, .result-description { font-size: .89rem }
  .round-status { margin-top: 5px; font-size: .75rem }
  .time-card { margin-bottom: 16px }
}
@media (min-width: 640px) and (max-width: 859px) and (orientation: landscape),
       (min-width: 640px) and (max-width: 1024px) and (max-height: 500px) and (orientation: landscape) {
  .witch-theatre {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    grid-template-areas: "mast count" "wheel count" "wheel time" "spin time" "result time";
    align-items: center;
    justify-items: center;
    gap: 4px 12px;
    padding-top: max(30px, env(safe-area-inset-top));
  }
  .scene-title { grid-area: mast; justify-self: start; width: 57% }
  .devil-hall { grid-area: mast; justify-self: end; width: 47%; margin: 0 }
  .speech { top: -21%; left: 40%; width: 58% }
  .speech p { font-size: 11px }
  .speech.is-speaking p.long { font-size: 9px }
  .wheel-card { grid-area: wheel; width: min(100%, 222px, 52svh); margin: 0 }
  .spin-btn { grid-area: spin; width: min(78%, 224px) }
  .count-card { grid-area: count }
  .time-card { grid-area: time; align-self: start; margin-block: 0 8px }
  .chance-card { width: min(100%, 330px, 78svh); font-size: clamp(22px,6.55svh,27px) }
  .control-panel { grid-area: result }
}
@media (max-width: 430px) and (max-height: 720px) and (orientation: portrait) {
  .devil-hall { aspect-ratio: 3.25 }
  .wheel-card { width: min(100%,45svh) }
  .spin-btn { width: min(64%,245px) }
  .result { min-height: 47px; padding-block: 6px }
}
@media (max-width: 430px) { .editor-fields { grid-template-columns: 1fr } }
@media (prefers-reduced-motion: reduce) {
  .ambient, .scene-title::after, .spin-btn::after, .speech.speech-pop, .speech-echo,
  .kuromi-actor[data-motion] .actor-portrait, .kuromi-actor[data-pose] .actor-pose,
  .counter-kicker:not(.is-charging), .result.reveal .result-number,
  .result[aria-busy="true"] .result-number, .devil-impact .chance-value, .timer-ending.timer-beat,
  .chance-card[aria-busy="true"] .chance-value::after, .devil-impact .impact-flash,
  .kuromi-boost.burst, .spark {
    animation: none;
  }
  .actor-motes, .wheel-halo { display: none }
  .clock-track span { transition: none }
  html[data-art-ready][data-art-rear] .kuromi-actor[data-motion="cheeky"] .actor-portrait { opacity: 0 }
  html[data-art-ready][data-art-rear] .kuromi-actor[data-motion="cheeky"] .actor-rear,
  .actor-tap, .actor-tap-flash { animation: none }
}

/* These text controls are usable while the original artwork downloads. */
html:not([data-art-ready]) .actor-portrait,
html:not([data-art-ready]) .actor-motes,
html:not([data-art-ready]) .theatre-art { visibility: hidden }
html:not([data-art-ready]) .scene-title h1,
html:not([data-art-ready]) .spin-btn .sr-only,
html:not([data-art-ready]) .timer-buttons .sr-only,
html:not([data-art-ready]) .chance-card h2 {
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip-path: none;
  white-space: normal;
}
html:not([data-art-ready]) .scene-title h1 {
  position: static;
  padding: 14px 5px 0;
  color: #ffd8ef;
  font: italic 700 clamp(1.22rem,4vw,3.2rem) / 1.05 Georgia,serif;
  text-align: center;
  text-shadow: 0 0 12px #ed399e;
}
html:not([data-art-ready]) .scene-button {
  display: grid;
  place-items: center;
  border: 1px solid #ac6c9a;
  color: #fff4fa;
  background-color: #432347;
}
html:not([data-art-ready]) .scene-button:disabled { color: #ccb1c7; background-color: #281529 }
html:not([data-art-ready]) .spin-btn {
  font-size: clamp(.92rem,2.15vw,1.5rem);
  font-weight: 800;
  background-color: #8e2864;
}
html:not([data-art-ready]) .spin-btn .sr-only,
html:not([data-art-ready]) .timer-buttons .sr-only { position: static; padding: 0 4px }
html:not([data-art-ready]) .timer-buttons .scene-button { font-size: clamp(.74rem,1.2vw,1rem); font-weight: 700 }
html:not([data-art-ready]) #timerStart[data-paused]::after { content: none }
html:not([data-art-ready]) .settings-button::before { content: "⚙" }
html:not([data-art-ready]) .admin-button::before { content: "♛" }
html:not([data-art-ready]) .number-adjust { font-size: 1.35rem; font-weight: 750 }
html:not([data-art-ready]) .number-adjust.minus::before { content: "−" }
html:not([data-art-ready]) .number-adjust.plus::before { content: "+" }
html:not([data-art-ready]) .chance-button::before { content: "Zufall"; font-size: clamp(.72rem,1.2vw,1rem); font-weight: 700 }
html:not([data-art-ready]) .chance-card {
  border-radius: 18px;
  background-color: #28152e;
  box-shadow: inset 0 0 0 1px #8c527f;
}
html:not([data-art-ready]) .chance-card h2 {
  inset: 10% 17% auto 4%;
  font-size: .76em;
  text-align: center;
}
html:not([data-art-ready]) .chance-value { color: #fff4fa; background-color: #190e1d; text-shadow: 0 0 8px #f33c9b }
html:not([data-art-ready]) .pointer::after {
  content: "";
  position: absolute;
  inset: 24% 27% 0;
  clip-path: polygon(0 0,100% 0,50% 100%);
  background: linear-gradient(#fff2f9,#e6449a);
}
html:not([data-art-ready]) .wheel-center::after {
  content: "♥";
  position: absolute;
  inset: 11% 14% 8%;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #ffc3e4;
  background: #401b3e;
  font-size: clamp(1.1rem,3.6vw,2.8rem);
}

html[data-art-ready][data-art-kick-count] { --art-kick-count: url("/witch-girls/art/kick-count-52ac6e4b7fac.webp") }
html[data-art-ready][data-art-kick-time] { --art-kick-time: url("/witch-girls/art/kick-time-42c7401d869e.webp") }
html[data-art-ready][data-art-idle-kicker] { --art-kick-idle: url("/witch-girls/art/kick-count-fdad5b2dcc95.webp") }
html[data-art-ready][data-art-rear] { --art-rear: url("/witch-girls/art/twirl-bc1db896f6ca.webp") }
html[data-art-ready] {
  --art-admin: url("/witch-girls/art/admin-53249d44b991.webp");
  --art-count-card: url("/witch-girls/art/count-card-e6e390ce8c6e.webp");
  --art-countdown: url("/witch-girls/art/countdown-2f8797fb36bf.webp");
  --art-dance: url("/witch-girls/art/dance-5fd6aa261c9d.webp");
  --art-hub: url("/witch-girls/art/hub-5818670ba511.webp");
  --art-laugh: url("/witch-girls/art/laugh-8ae0d74af477.webp");
  --art-leap: url("/witch-girls/art/leap-cff9bdb0cda6.webp");
  --art-pointer: url("/witch-girls/art/pointer-64bd44e61aa9.webp");
  --art-settings: url("/witch-girls/art/settings-25d7be35d0ec.webp");
  --art-speech-idle: url("/witch-girls/art/speech-idle-41862f742c66.webp");
  --art-speech: url("/witch-girls/art/speech-6bdf2a1bb3e7.webp");
  --art-spin: url("/witch-girls/art/spin-1cc530f0b8a5.webp");
  --art-time-card: url("/witch-girls/art/time-card-9a757587ab4e.webp");
  --art-title: url("/witch-girls/art/title-8b627d68b025.webp");
  --art-twirl: url("/witch-girls/art/twirl-4d6ac90422e7.webp");
  --art-wheel-frame: url("/witch-girls/art/wheel-frame-801f3ad38aca.webp");
}

html[data-art-lite] .stage-air,
html[data-art-lite] .wheel-halo { display: none }
html[data-art-lite] .ambient,
html[data-art-lite] .scene-title::after,
html[data-art-lite] .spin-btn::after { animation: none }
html[data-art-lite] #wheel text { filter: none }

/* Aktionsblase: keine staendig sichtbare Beschriftung. */
.speech { opacity:0;visibility:hidden;transition:opacity .18s ease-out,visibility .18s; }
.speech.is-speaking {opacity:1;visibility:visible;}
.speech-echo:not(.is-speaking) {display:none!important;}
/* Die letzten drei echten Zuege, dunkles Metall und pinkes Neon. */
.history-list {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px;}
.history-empty {grid-column:1/-1;margin:0;padding:16px;border:1px dashed #92567e;border-radius:14px;text-align:center;}
.history-turn {min-width:0;padding:12px 13px;border:1px solid #8b4a7d;border-radius:15px;
  background:linear-gradient(148deg,#3f2047,#27142b 58%,#1c1024);
  box-shadow:inset 0 1px 0 #ffbce241,0 5px 17px #09020b72;display:flex;flex-direction:column;gap:8px;}
.history-newest {border-color:#ec88c8;box-shadow:0 0 15px #f954ae3c,inset 0 1px 0 #ffd5ec80;}
.history-turn-head {display:flex;justify-content:space-between;align-items:center;gap:8px;}
.history-turn-index {font-size:.75rem;text-transform:uppercase;letter-spacing:.07em;color:#ffc6e5;font-weight:800;}
.history-turn-time {font-size:.75rem;color:#cdaac4;font-variant-numeric:tabular-nums;}
.history-turn-result {display:flex;align-items:center;gap:12px;min-width:0;}
.history-turn-number {width:46px;height:46px;flex:none;display:grid;place-items:center;border-radius:50%;
  font-size:1.55rem;color:#fff4fa;border:2px solid #ffb2de;background:radial-gradient(circle at 30% 25%,#8e3a70,#35182e);
  text-shadow:0 0 10px #fd65b7;}
.history-turn-label {font-size:.9rem;font-weight:700;min-width:0;overflow-wrap:anywhere;line-height:1.25;}
.history-wheel-kick {font-size:.77rem;color:#ffbde2;margin:0;padding:5px 7px;background:#9b47814f;border-radius:8px;}
.history-events {display:flex;flex-direction:column;gap:6px;}
.history-no-bonus {font-size:.77rem;color:#cba8c1;margin:2px 0;}
.history-event {display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:4px 8px;
  padding:7px 9px;border:1px solid #643e61;border-radius:9px;background:#170d1a;}
.history-event-name {font-size:.78rem;color:#ebc4dc;overflow-wrap:anywhere;}
.history-event-value {font-size:.83rem;font-variant-numeric:tabular-nums;color:#ffe7f4;text-align:right;}
.history-event-note {grid-column:1/-1;color:#e5add0;font-size:.75rem;}
.history-event-kick {border-color:#e36bb2;box-shadow:inset 3px 0 0 #fa66ae;}
.history-event-kick .history-event-value {color:#ffacd8;text-shadow:0 0 8px #f34aa4;font-size:1.05rem;}
@media(max-width:750px){.history-list{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:530px){.history-list{grid-template-columns:1fr;gap:9px;}.history-turn{padding:11px;}}

/* Mehrstufige Posen mit vorhandenen Original-WebP-Illustrationen.
   Nur transform und opacity animieren: kein Canvas/Video, kein Neuzeichnen. */
.kuromi-actor[data-motion] .actor-pose {will-change:transform,opacity;}
.kuromi-actor[data-motion="dash"] {--pose:var(--art-dance,none);}
.kuromi-actor[data-motion="kick"] {--pose:var(--art-leap,none);}
.kuromi-actor[data-motion="cheer"] .actor-pose {animation:witch-jump var(--move-duration,2100ms) ease-in-out both;}
.kuromi-actor[data-motion="dance"] .actor-pose {animation:witch-dance var(--move-duration,2100ms) ease-in-out both;}
.kuromi-actor[data-motion="cackle"] .actor-pose {animation:witch-cackle var(--move-duration,2900ms) ease-in-out both;}
.kuromi-actor[data-motion="twirl"] .actor-pose {animation:witch-twirl var(--move-duration,2300ms) ease-in-out both;}
.kuromi-actor[data-motion="kick"] .actor-pose {animation:witch-kick var(--move-duration,1300ms) ease-out both;}
.kuromi-actor[data-motion="countdown"] .actor-pose {animation:witch-countdown var(--move-duration,2300ms) ease-in-out both;}
@keyframes witch-jump {
  0%,100% {opacity:0;transform:translateY(14%) scale(.78)}
  20% {opacity:1;transform:translateY(-13%) rotate(-8deg) scale(1.12)}
  45% {opacity:1;transform:translateY(3%) scale(.95)}
  67% {opacity:1;transform:translateY(-9%) rotate(6deg) scale(1.08)}
  84% {opacity:1;transform:translateY(0) scale(1)}
}
@keyframes witch-dance {
  0%,100% {opacity:0;transform:scale(.8)}
  12%,86% {opacity:1}
  22%,58% {transform:translateY(-9%) rotate(-13deg)}
  41%,77% {transform:translateY(2%) rotate(13deg)}
}
@keyframes witch-cackle {
  0%,100% {opacity:0;transform:scale(.85)}
  14%,87% {opacity:1}
  23%,51%,75% {transform:translateY(-6%) rotate(-6deg)}
  35%,62% {transform:translateY(3%) rotate(8deg)}
}
@keyframes witch-twirl {
  0%,100% {opacity:0;transform:scaleX(.3) translateY(13%)}
  15%,86% {opacity:1}
  36% {transform:rotate(-12deg) scaleX(.52)}
  55% {transform:rotate(8deg) scaleX(-1)}
  77% {transform:rotate(-5deg) scaleX(1)}
}
@keyframes witch-kick {
  0%,100% {opacity:0;transform:translate(-8%,12%) rotate(-8deg)}
  24% {opacity:1;transform:translate(-14%,-5%) rotate(-13deg)}
  54% {opacity:1;transform:translate(18%,-10%) rotate(13deg)}
  76% {opacity:1;transform:translate(4%,2%) rotate(3deg)}
}
@keyframes witch-countdown {
  0%,100% {opacity:0;transform:translateY(9%) scale(.8)}
  18%,86% {opacity:1}
  27%,60% {transform:translateY(-3%) rotate(-6deg)}
  44%,75% {transform:translateY(1%) rotate(6deg)}
}
/* Der Treffer kommt nur beim echten Buchen eines Boni. */
.chance-card.devil-impact::after {
  content:"KLONG!";position:absolute;z-index:10;left:15%;top:-4%;
  font-size:clamp(13px,1.7vw,20px);font-weight:900;color:#fff5fc;
  text-shadow:0 0 7px #fd61ba,0 0 14px #f4289c;
  pointer-events:none;animation:witch-hit .65s cubic-bezier(.2,.8,.3,1) both;
}
.time-card.devil-impact::after {left:auto;right:18%;}
@keyframes witch-hit {
  0% {opacity:0;transform:translateY(16%) rotate(-12deg) scale(.6)}
  25% {opacity:1;transform:translateY(-16%) rotate(-8deg) scale(1.15)}
  65% {opacity:1}
  100% {opacity:0;transform:translateY(-32%) rotate(-5deg)}
}
@media (prefers-reduced-motion:reduce) {
  .kuromi-actor[data-motion] .actor-pose,
  .chance-card.devil-impact::after {animation:none!important;}
}

/* Schwache mobile Browser: statische Originalpixel, aber weniger endlose Arbeit. */
html[data-low-power] .actor-motes,
html[data-low-power] .stage-air,
html[data-low-power] .wheel-halo {display:none;}
html[data-low-power] .kuromi-actor:not([data-motion]) .actor-portrait,
html[data-low-power] .counter-kicker:not(.is-charging):not([data-reaction]),
html[data-low-power] .scene-title::after,
html[data-low-power] .spin-btn::after {animation:none;}
html[data-low-power] #wheel text {filter:none;}
html[data-low-power] .actor-features .actor-eye,
html[data-low-power] .actor-features .actor-trident {animation:none;}
/* Keine dauerhafte layer reservation; aktive 2D-Posen bleiben GPU-freundlich. */
html[data-low-power] .kuromi-actor:not([data-motion]) .actor-pose {will-change:auto;}
@media (prefers-reduced-motion: reduce) {
  .speech {transition:none;}
  .chance-card.devil-impact::after {animation:none;}
}

/* Golden invitation: CSS paper, no additional image transfer. */
.sidequest-envelope {
  position:absolute;z-index:16;right:-20%;top:31%;
  width:clamp(54px,33%,126px);aspect-ratio:1.42;
  border:2px solid #ffe6a2;border-radius:8px;
  cursor:pointer;color:#4e2c0b;
  background:linear-gradient(145deg,#fff2c0 0%,#ffd46d 24%,#c88e27 64%,#8a4c0a 100%);
  box-shadow:0 0 0 2px #542c07,0 0 17px 5px #ffcb4780,0 0 40px 8px #ffb31a46,
    inset 0 2px 8px #fff4c6, inset 0 -3px 11px #7d440c;
  transform-origin:50% 65%;
  animation:quest-hover 3.3s ease-in-out infinite;
  filter:drop-shadow(0 5px 2px #21071699);
}
.sidequest-envelope::before {
  content:"";position:absolute;inset:1px 0 26%;
  clip-path:polygon(0 0,100% 0,50% 90%);
  background:linear-gradient(135deg,#fffad7,#ffd77f 45%,#ad741b 95%);
  filter:drop-shadow(0 2px 2px #75400c);
  pointer-events:none;
}
.sidequest-envelope::after {
  content:"✦";position:absolute;left:50%;top:56%;translate:-50% -50%;
  display:grid;place-items:center;width:25%;aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle at 30% 30%,#f7b75d,#aa3519 56%,#5f0d1c);
  border:1px solid #ffdb83;color:#fff0b4;font-size:clamp(9px,1.8vw,15px);
  text-shadow:0 0 4px #fff,0 0 10px #ffc36a;
  box-shadow:0 2px 5px #462b12bb;
}
.envelope-mark{position:absolute;font-size:0;}
.envelope-lettering {
  position:absolute;z-index:2;left:-8%;right:-8%;bottom:-24%;
  padding:2px 3px;border:1px solid #fff1b5;border-radius:20px;
  background:linear-gradient(90deg,#3a1b09,#925c1e 40%,#41210b);
  color:#fff0ae;font:bold clamp(9px,1.35vw,15px)/1.4 Georgia,serif;
  letter-spacing:.08em;text-shadow:0 0 3px #ffefad,0 0 8px #ffb826;
  box-shadow:0 0 8px 3px #e8b13a8a;
}
.sidequest-envelope:hover,.sidequest-envelope:focus-visible{
  box-shadow:0 0 0 3px #fff5ba,0 0 25px 9px #ffcd3b,0 0 50px 15px #e9a52266;
}
@keyframes quest-hover{
  0%,100%{transform:translateY(0) rotate(-5deg) scale(1)}
  50%{transform:translateY(-10px) rotate(5deg) scale(1.045)}
}
.sidequest-envelope[hidden],.active-quest[hidden],
#sidequestOffer[hidden],#sidequestReveal[hidden],#sidequestOutcome[hidden],
#sidequestImpossiblePanel[hidden]{display:none!important}

/* A gilded parchment reveal, isolated from main countdown. */
.sidequest-dialog {
  width:min(540px,calc(100vw - 24px));max-height:calc(100dvh - 32px);
  overflow:auto;padding:0;border:2px solid #ecc06d;border-radius:24px;
  background:radial-gradient(ellipse at 50% 0,#69421b 0%,#33201b 46%,#160d19 100%);
  color:#fff0cd;box-shadow:0 0 0 1px #3b2005,0 0 48px #efb45560,
    inset 0 0 24px #eab75730;
}
.sidequest-dialog::backdrop{background:#09040be8;backdrop-filter:blur(5px)}
.sidequest-modal{position:relative;padding:clamp(18px,4vw,32px);
  display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px}
.sidequest-modal::before{
  content:"";pointer-events:none;position:absolute;inset:9px;
  border:1px solid #f5cc7650;border-radius:17px;
}
.sidequest-modal header {width:100%;display:flex;gap:14px;align-items:center;justify-content:center;}
.sidequest-modal h2 {
  font:700 clamp(23px,5vw,38px)/1.1 Georgia,serif;letter-spacing:.045em;
  background:linear-gradient(180deg,#fffbd4,#f3c567 42%,#b97629);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 3px 6px #e5a32e80);margin:0;
}
.sidequest-modal .gold-star{color:#ffdc80;filter:drop-shadow(0 0 6px #ffce37)}
.sidequest-modal h3{margin:5px 0 9px;font:700 1.25rem Georgia,serif;color:#ffe4a0}
.sidequest-modal p{line-height:1.55;overflow-wrap:anywhere;}
#sidequestOffer,#sidequestReveal,#sidequestOutcome{width:100%;}
#sidequestOfferBase {
  font-size:.9rem;font-weight:700;color:#ffe08f;
  padding:10px;border:1px solid #b27d3b;border-radius:10px;
  background:#49291488;
}
.sidequest-dialog-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:17px;}
.sidequest-modal button{position:relative;cursor:pointer;border-radius:13px;
  padding:12px 18px;border:1px solid #af875e;background:linear-gradient(#3e2a30,#201525);
  color:#f5dcc4;font-weight:700;}
.sidequest-modal .gold-action{
  border:2px solid #ffe39c;color:#3d210b;
  background:linear-gradient(155deg,#fff2b7,#ffd16b 44%,#d99a37 76%,#a56622);
  box-shadow:0 0 22px #f4c35083,inset 0 1px 0 #fffad9;
}
.sidequest-modal button:hover,.sidequest-modal button:focus-visible{outline:2px solid #ffdc88;outline-offset:2px;}
.quest-reveal-envelope{
  position:relative;width:min(220px,51vw);height:clamp(110px,28vw,154px);
  margin:12px auto 4px;border:3px solid #fce4a2;border-radius:12px;
  background:linear-gradient(155deg,#fff5b6 0%,#eabb59 42%,#b67f25 78%,#7d4914);
  box-shadow:0 0 30px #f7c64d80,0 12px 17px #14070c;
  transform-origin:center;display:grid;place-items:center;isolation:isolate;
}
.quest-reveal-envelope::before{
  content:"";position:absolute;inset:0;
  clip-path:polygon(0 0,100% 0,50% 68%);
  background:linear-gradient(140deg,#fff7cf,#f5d37e 49%,#bc8834);
  z-index:1;
}
.quest-reveal-envelope::after{
  content:"✦";position:absolute;z-index:2;top:48%;left:50%;translate:-50% -50%;
  width:40px;height:40px;display:grid;place-items:center;
  border-radius:50%;border:2px solid #f6d686;
  background:radial-gradient(circle at 25% 25%,#f6a36e,#922e2b 65%,#60211d);
  color:#fff2b9;box-shadow:0 2px 9px #673121;
}
.quest-reveal-lettering{position:absolute;z-index:3;bottom:7%;font:800 1.05rem Georgia,serif;
  letter-spacing:.11em;color:#fff1ac;text-shadow:0 1px #573311,0 0 6px #a76713;}
.quest-paper-half{display:none;position:absolute;inset:0;z-index:6;
  background:linear-gradient(135deg,#fff2b4,#e9b95c 60%,#a66b21);
  color:transparent;border:2px solid #fff0ad;}

.quest-shaking{animation:quest-shake 8s linear 1 both;will-change:transform;}
@keyframes quest-shake{
  0%,3%,7%{transform:rotate(0) translateX(0)}
  5%{transform:rotate(1deg) translateX(1px)}
  10%{transform:rotate(-1deg) translateX(-1px)}
  16%{transform:rotate(2deg) translateX(2px)}
  21%{transform:rotate(-2deg) translateX(-2px)}
  27%{transform:rotate(3deg) translateX(3px)}
  32%{transform:rotate(-3deg) translateX(-4px)}
  38%{transform:rotate(5deg) translateX(5px)}
  44%{transform:rotate(-5deg) translateX(-6px)}
  50%{transform:rotate(6deg) translateX(7px)}
  56%{transform:rotate(-7deg) translateX(-8px)}
  62%{transform:rotate(8deg) translateX(9px)}
  68%{transform:rotate(-9deg) translateX(-10px)}
  74%{transform:rotate(11deg) translateX(12px)}
  79%{transform:rotate(-12deg) translateX(-13px)}
  84%{transform:rotate(14deg) translateX(15px)}
  89%{transform:rotate(-16deg) translateX(-16px)}
  93%{transform:rotate(18deg) translateX(19px) scale(1.08)}
  96%{transform:rotate(-21deg) translateX(-19px) scale(1.11)}
  99%{transform:rotate(24deg) translateX(20px) scale(1.13)}
  100%{transform:rotate(0) translateX(0) scale(1.18)}
}
.quest-torn{border-color:transparent;background:transparent;box-shadow:none;}
.quest-torn::before,.quest-torn::after,.quest-torn .quest-reveal-lettering{display:none;}
.quest-torn .quest-paper-half{display:block;}
.quest-torn .quest-paper-top{
  clip-path:polygon(0 0,100% 0,100% 18%,68% 40%,52% 21%,30% 44%,0 19%);
  animation:quest-frag-top 1.7s cubic-bezier(.22,.8,.45,1) both;}
.quest-torn .quest-paper-bottom{
  clip-path:polygon(0 21%,30% 46%,52% 23%,68% 42%,100% 20%,100% 100%,0 100%);
  animation:quest-frag-bottom 1.7s cubic-bezier(.22,.8,.45,1) both;}
@keyframes quest-frag-top{
  0%{opacity:1;transform:translate(0,0) rotate(0) scale(1)}
  35%{opacity:1;transform:translate(-18%,-28%) rotate(-14deg) scale(1.1)}
  100%{opacity:0;transform:translate(-65%,-95%) rotate(-49deg) scale(.7)}
}
@keyframes quest-frag-bottom{
  0%{opacity:1;transform:translate(0,0) rotate(0) scale(1)}
  35%{opacity:1;transform:translate(20%,18%) rotate(12deg) scale(1.1)}
  100%{opacity:0;transform:translate(75%,100%) rotate(42deg) scale(.65)}
}
.quest-reveal-count{font:900 3.8rem Georgia,serif;color:#ffecaa;
  text-shadow:0 0 12px #f9cf63,0 0 32px #e6b04b;margin-top:8px;}
#sidequestOutcome{animation:quest-result-in .55s ease-out both;}
@keyframes quest-result-in{
  from{opacity:0;transform:translateY(14px) scale(.95)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
@media(prefers-reduced-motion:reduce){
 .quest-shaking{animation:none!important}
 .quest-torn .quest-paper-half{animation:none!important;opacity:0}
 .sidequest-envelope{animation:none}
}

/* Quest progress remains separate from the existing main timer. */
.active-quest,.game-log,.sidequest-admin{
  margin:16px auto;padding:19px;border-radius:17px;
  border:1px solid #a77b37;
  background:linear-gradient(135deg,#302321,#1b101e 67%,#2a182b);
  box-shadow:inset 0 1px 0 #fff0ac21,0 8px 24px #07030a66;
}
.active-quest{max-width:1050px;color:#fce8bc}
.active-quest-head{display:flex;justify-content:space-between;align-items:center;
  gap:14px;font-family:Georgia,serif;color:#f8ca68;font-weight:700;}
.active-quest-head span{font-size:1.15rem}
.active-quest>strong{display:block;font:700 1.55rem Georgia,serif;margin:12px 0 5px;
  color:#ffe7aa;text-shadow:0 0 13px #e9b56066;}
.active-quest p{margin:6px 0 16px;line-height:1.55;overflow-wrap:anywhere;}
.quest-progress{display:flex;align-items:center;gap:14px;font-variant-numeric:tabular-nums}
.quest-progress>span{min-width:92px;font-weight:900;text-align:center;color:#ffda78}
.quest-progress-track{flex:1;height:12px;border-radius:20px;overflow:hidden;
  border:1px solid #c89c52;background:#180c14;box-shadow:inset 0 1px 5px #050205}
.quest-progress-track i{display:block;height:100%;width:0;border-radius:inherit;
  background:linear-gradient(90deg,#bd7135,#f0bc53,#fff3ae);transition:width .22s ease-out;}
.quest-progress-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:15px}
.quest-progress-actions button,#sidequestImpossiblePanel button {
  border:1px solid #bc9356;border-radius:10px;padding:10px 14px;
  color:#ffe9b0;background:linear-gradient(#58352b,#2a1c24);
  font-weight:700;cursor:pointer;
}
.quest-progress-actions button:disabled{opacity:.35;cursor:not-allowed;}
.quest-progress-actions button:hover:enabled{background:#875832;}
#sidequestComplete{background:linear-gradient(#7e582c,#443019);border-color:#f5cd75}
#sidequestImpossiblePanel{margin-top:14px;padding:12px;border:1px solid #bb8a64;
  border-radius:11px;background:#160e19;}
#sidequestImpossiblePanel label{display:block;margin-bottom:8px;color:#ffe3ba}
#sidequestImpossibleReason{width:100%;padding:9px;margin-bottom:8px;
  border-radius:7px;color:#fff;background:#221322;border:1px solid #956b69;resize:vertical;}
@media(max-width:560px){
  .active-quest{padding:13px;margin:12px 8px}
  .quest-progress-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .quest-progress-actions button{padding:11px 6px;font-size:.82rem}
  .active-quest-head span{font-size:1rem}
}

/* Scrollable, timestamped game audit window. */
.game-log{max-width:1050px;border-color:#8c5680;color:#f8dfeb}
.game-log summary{display:flex;justify-content:space-between;gap:12px;align-items:center;
  cursor:pointer;color:#ffbfe6;font:700 1.12rem Georgia,serif;list-style:none;}
.game-log summary::-webkit-details-marker{display:none;}
.game-log summary::before{content:"▸";margin-right:6px;transition:transform .2s}
.game-log[open] summary::before{transform:rotate(90deg)}
.game-log summary span:first-child{flex:1}
.game-log summary span:last-child{font:500 .78rem system-ui;color:#d0a9c9}
.game-log-body{padding-top:10px;}
.game-log ol{display:flex;flex-direction:column;gap:5px;
  height:clamp(130px,30vh,310px);margin:0 0 13px;padding:9px;
  overflow:auto;overscroll-behavior:contain;border-radius:11px;
  border:1px solid #593152;background:#100817;}
.game-log li{display:flex;gap:11px;padding:6px 9px;
  border-left:3px solid #a54d8a;background:#25142980;
  border-radius:4px;font-size:.85rem;line-height:1.4;overflow-wrap:anywhere;}
.game-log li time{flex:0 0 auto;font-size:.76rem;color:#d6abc8;
  font-variant-numeric:tabular-nums;}
.game-log li:nth-child(4n){border-left-color:#edb755}
.game-log button{margin-right:8px;margin-bottom:4px;}
@media(max-width:560px){.game-log{padding:13px;margin:12px 8px}
  .game-log li{flex-wrap:wrap;gap:4px;font-size:.79rem}}
/* Separate quest editor in the existing protected admin dialog. */
.sidequest-admin{margin:22px 0 5px;padding:16px;border-color:#a1763d;}
.sidequest-admin-heading{display:flex;justify-content:space-between;
  align-items:center;gap:12px;flex-wrap:wrap;}
.sidequest-admin h3{font:700 1.4rem Georgia,serif;color:#ffde93;margin:0}
.sidequest-admin p{margin:8px 0 12px;font-size:.86rem;color:#ead5ba;}
.sidequest-editor-fields{display:grid;gap:12px;}
.sidequest-editor-row{padding:13px;border-radius:12px;border:1px solid #b88d4d;
  background:linear-gradient(128deg,#3a2828,#21141f);
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:12px;align-items:end;}
.sidequest-editor-row label{display:grid;gap:6px;color:#ffd894;
  font-size:.78rem;font-weight:700;min-width:0;}
.sidequest-editor-row label:nth-child(2){grid-column:1/-1}
.sidequest-editor-row input,.sidequest-editor-row select,.sidequest-editor-row textarea{
  width:100%;min-width:0;padding:9px;color:#fff1d4;
  background:#1b111b;border:1px solid #ae8851;border-radius:7px;}
.sidequest-editor-row textarea{resize:vertical;}
.sidequest-editor-row input[type=checkbox]{width:20px;height:20px;accent-color:#e5b14f;}
.sidequest-editor-row>button{grid-column:2;justify-self:end;}
@media(max-width:520px){.sidequest-editor-row{grid-template-columns:1fr}
  .sidequest-editor-row label:nth-child(2){grid-column:1}
  .sidequest-editor-row>button{grid-column:1}}

/* Quest invitation rests beside, not above, wheel numbers. */
.sidequest-envelope{width:clamp(54px,24%,112px);right:-22%}

/* Akkinator uses the same golden Sidequest panel and controls. */
.akkinator-entry{display:flex;justify-content:center}
.akkinator-entry button,.akkinator-guess button,#akkinatorDismiss{min-height:44px}
.akkinator-toggle{display:flex;align-items:center;gap:8px;margin:12px 0;color:#ffe5ab}
.akkinator-toggle input{accent-color:#eac161}
.akkinator-score{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 12px;
  color:#ffe8a1;font-variant-numeric:tabular-nums}
.akkinator-pins{display:grid;grid-template-columns:repeat(22,minmax(0,1fr));gap:5px;
  max-width:530px;margin:9px 0 14px;padding:9px 10px;border:1px solid #a77b3777;
  border-radius:9px;background:#180e18}
.akkinator-pins i{height:22px;width:min(100%,14px);justify-self:center;
  background:#f5c668;opacity:.22;translate:0 2px;transition:opacity .65s,translate .65s;
  clip-path:polygon(14% 0,43% 0,50% 24%,57% 0,86% 0,69% 44%,75% 100%,53% 100%,50% 67%,47% 100%,25% 100%,31% 44%)}
.akkinator-pins i.is-on{opacity:1;translate:0 0}
.akkinator-pins i:last-child.is-on{background:#ffa8bd}
.akkinator-guess{margin-top:15px;max-width:560px}
.akkinator-guess label{display:block;margin-bottom:5px;font-weight:700}
.akkinator-guess-row{display:flex;flex-wrap:wrap;gap:8px}
.akkinator-guess-row input{flex:1 1 180px;min-width:0;min-height:44px;padding:8px 12px;
  border:1px solid #bd9459;border-radius:9px;background:#170e1a;color:#fff1d6;font:inherit}
.akkinator-guess-row button,#akkinatorDismiss{padding:9px 15px;border-radius:9px;
  border:1px solid #e9bc69;background:#f4ce7d;color:#2d1621;font:inherit;font-weight:800;cursor:pointer}
.akkinator-guess-row :focus-visible,#akkinatorDismiss:focus-visible{outline:3px solid #ffd5ee;outline-offset:2px}
.active-quest .akkinator-feedback:empty{display:none}
.active-quest .akkinator-feedback{margin:11px 0 10px;color:#ffdf92;font-weight:700}
.akkinator-secret{color:#ffe198;font:700 clamp(1.35rem,5vw,2.35rem) Georgia,serif;overflow-wrap:anywhere}
#akkinatorPlay[hidden],#akkinatorControls[hidden],#akkinatorDismiss[hidden],
#ordinaryQuestProgress[hidden],#sidequestProgressActions[hidden]{display:none}
@media(max-width:560px){
  .akkinator-pins{grid-template-columns:repeat(11,minmax(0,1fr))}
  #akkinatorControls button{min-height:44px}
}
@media(prefers-reduced-motion:reduce){.akkinator-pins i{transition:none}}

/* Quiz room uses the original portrait with a separate costume and effects layer. */
.qwd-entry { display:flex; justify-content:center; padding:14px 12px 3px }
.qwd-entry button { border-color:#efb1e2; color:#ffe5f6; box-shadow:0 0 13px #ee73cf36 }
.qwd-dialog {
  box-sizing:border-box; width:min(960px,calc(100% - 20px)); max-width:calc(100% - 20px); max-height:calc(100dvh - 20px);
  padding:0; margin:auto; border:2px solid #bb67a7; border-radius:21px; overflow:auto;
  color:#fff2fb; background:radial-gradient(ellipse at 35% 5%,#4e235a,#20102f 52%,#100a1b);
  box-shadow:0 0 0 2px #fa75dc36,0 24px 80px #000c; overscroll-behavior:contain;
}
.qwd-dialog::backdrop { background:#08040ee6 }
.qwd-dialog [hidden], .qwd-entry [hidden] { display:none!important }
.qwd-shell { padding:clamp(11px,2.7vw,25px) }
.qwd-header { display:flex; justify-content:space-between; align-items:flex-start; gap:10px;
  border-bottom:1px solid #f49cd350; padding-bottom:12px }
.qwd-eyebrow { margin:0 0 5px; color:#f0acd9; font-size:.7rem; font-weight:800; letter-spacing:.12em }
.qwd-header h2 { margin:0 0 4px; color:#ffe2ef; font-size:clamp(1.3rem,3.3vw,2.3rem); line-height:1.1 }
.qwd-subhead { margin:0; color:#ead1e7; font-size:.84rem; line-height:1.3 }
.qwd-header-actions { display:flex; gap:6px; align-items:center; flex-shrink:0 }
.qwd-header-actions button {
  min-height:44px; padding:0 9px; background:#5e2453; border:1px solid #ffb3e0;
  border-radius:10px; color:#fff; font:700 .78rem/1.1 system-ui,sans-serif; cursor:pointer;
}
.qwd-header-actions .qwd-close { width:44px; padding:0; font-size:1.55rem }
.qwd-dialog :focus-visible { outline:2px solid #fff0bf; outline-offset:3px }
.qwd-grid { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); align-items:start;
  gap:clamp(14px,3.3vw,30px); padding-top:13px }
.qwd-character-column { min-width:0; text-align:center }
.qwd-stage { position:relative; width:min(100%,325px); aspect-ratio:1.08; margin:0 auto; isolation:isolate;
  display:grid; place-items:center; overflow:hidden; border-radius:22px;
  background:radial-gradient(ellipse at 52% 43%,#962e84,#482057 50%,#1e1429 82%);
  box-shadow:inset 0 0 42px #140721,0 0 22px #cf55b95c;
}
.qwd-spotlight { position:absolute; inset:0; background:radial-gradient(ellipse at 53% 50%,#ffe19945,transparent 68%);
  opacity:.65; transition:opacity .2s }
.qwd-rig { position:relative; width:89%; aspect-ratio:1; transform-origin:50% 77%;
  animation:qwd-idle 4.5s ease-in-out infinite }
.qwd-portrait, .qwd-costume, .qwd-whip { position:absolute; inset:0; width:100%; height:100%; pointer-events:none }
.qwd-portrait { object-fit:contain; filter:drop-shadow(0 9px 12px #0a021d9a) }
.qwd-costume [data-slot].is-removed, .qwd-costume [data-slot].is-arriving { visibility:hidden }
.qwd-costume [data-slot] { filter:drop-shadow(0 0 2px #f9bad5) }
.qwd-rose { opacity:0; transition:opacity .18s }
.qwd-stage[data-costume="1"] .qwd-rose { opacity:.65 }
.qwd-stage[data-costume="0"] .qwd-rose { opacity:1 }
.qwd-stage[data-emote="remove"] .qwd-rig, .qwd-stage[data-emote="shy"] .qwd-rig { animation:qwd-flinch .68s both }
.qwd-stage[data-emote="restore"] .qwd-rig, .qwd-stage[data-emote="snap"] .qwd-rig { animation:qwd-triumph .76s both }
.qwd-stage[data-emote="duck"] .qwd-rig { animation:qwd-duck .84s both }
.qwd-stage[data-emote="spotlight"] .qwd-spotlight { background:radial-gradient(ellipse,#ff5d738c,transparent 68%); opacity:1 }
.qwd-prop-flight { transform-box:fill-box; transform-origin:center; animation:qwd-prop-flight .64s ease-out both }
.qwd-prop-flight.is-returning { animation-direction:reverse; animation-timing-function:ease-in }
.qwd-shy { display:none; position:absolute; top:16%; left:13%; color:#fff5c7; font-size:1.45rem; text-shadow:0 0 9px #fca0dd }
.qwd-stage[data-costume="0"] .qwd-shy, .qwd-stage[data-emote="snap"] .qwd-shy { display:block }
.qwd-whip { display:none; transform-origin:72.4% 60%; filter:drop-shadow(0 0 5px #ff87dc) }
.qwd-stage[data-emote="whip"] .qwd-rig { animation:none }
.qwd-stage[data-emote="whip"] .qwd-whip { display:block; animation:qwd-windup .42s ease-in both }
.qwd-stage[data-hit] .qwd-whip { animation:qwd-recoil .56s ease-out both }
.qwd-crack { display:none; position:absolute; z-index:2; right:6%; top:11%; color:#fff3b7;
  font-size:clamp(.78rem,2.7vw,1.45rem); font-weight:1000; letter-spacing:.08em; text-shadow:0 0 10px #ff92df }
.qwd-stage[data-hit] .qwd-crack { display:block; animation:qwd-crack .55s ease-out both }
.qwd-snap { display:none; position:absolute; width:25%; left:66%; top:37%; transform-origin:19% 88%;
  filter:drop-shadow(0 0 5px #ff86d5); pointer-events:none }
.qwd-stage[data-emote="snap"] .qwd-snap { display:block; animation:qwd-snap .72s ease-out both }
.qwd-speech { min-height:3em; margin:8px auto 3px; padding:8px 11px; border:1px solid #f28fc8;
  border-radius:12px; background:#5d2255; color:#fff1f9; font-size:.88rem; font-weight:700; line-height:1.3 }
.qwd-wardrobe-label { margin:8px 0 6px; color:#f6d2ed; font-size:.83rem }
.qwd-wardrobe { margin:0; padding:0; list-style:none; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:4px }
.qwd-wardrobe li { padding:6px 3px; border:1px solid #f7a1d9a0; border-radius:7px; background:#5d2a61;
  color:#ffdef0; font-size:.71rem; line-height:1.1; overflow-wrap:anywhere; transition:opacity .18s }
.qwd-wardrobe li.is-removed { opacity:.52; text-decoration:line-through }
.qwd-stats { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:6px 10px;
  padding:9px 11px; border:1px solid #f18fc466; border-radius:11px; background:#3a1b46; font-weight:800 }
.qwd-stats strong { color:#ffbdca; font-variant-numeric:tabular-nums }
#qwdClock { color:#ffdfa4; font-size:.79rem; font-variant-numeric:tabular-nums }
.qwd-quiz-card { margin-top:9px; border:1px solid #d171bf7a; border-radius:14px;
  padding:clamp(12px,2.1vw,23px); background:linear-gradient(145deg,#522653,#25152e); transition:background .2s }
.qwd-quiz-card.is-correct { border-color:#8be4b3; background:linear-gradient(145deg,#1c6045,#1c2c35) }
.qwd-quiz-card.is-wrong { border-color:#ff7387; background:linear-gradient(145deg,#713143,#321b37) }
.qwd-label { margin:0 0 8px; color:#ffd2e6; font-size:.74rem; font-weight:900; text-transform:uppercase; letter-spacing:.09em }
.qwd-quiz-card h3 { margin:0 0 9px; color:#fff3fb; font-size:clamp(1.05rem,2.2vw,1.49rem); line-height:1.3 }
.qwd-benchmark { margin:0 0 12px; color:#ffe3ac; font-size:.99rem; font-weight:800 }
.qwd-answers { display:grid; grid-template-columns:1fr 1fr; gap:8px }
.qwd-answers button, .qwd-next {
  min-height:46px; padding:8px 10px; color:#fff; border:1px solid #ffbfeb; border-radius:10px;
  background:linear-gradient(160deg,#ad398b,#6c277e); font:800 .93rem/1.15 system-ui,sans-serif; cursor:pointer;
}
.qwd-answers button:disabled, .qwd-next:disabled { opacity:.65; cursor:default }
.qwd-feedback { margin:10px 0 2px; color:#fff1f9; line-height:1.35 }
.qwd-source { color:#ffdfab; font-size:.77rem; display:inline-block; padding:6px 0 }
.qwd-event { margin:5px 0; color:#ffe1b5; font-size:.82rem }
.qwd-result-actions { display:flex; flex-wrap:wrap; align-items:center; gap:4px 11px }
.qwd-next { margin-top:6px; border-color:#ffe7ba; background:#e9b9e5; color:#28142c }
.qwd-foot { margin-top:8px; font-size:.84rem }
.qwd-foot .secondary-btn { min-height:44px }
.qwd-foot details summary { min-height:44px; display:list-item; padding:12px 0; cursor:pointer; color:#f1cae8 }
.qwd-foot form { display:grid; gap:5px; justify-items:start }
.qwd-foot textarea { width:100%; padding:7px; color:inherit; background:#29172f; border:1px solid #d792c8; border-radius:6px; font:inherit }
.quiz-admin label { display:flex; align-items:center; gap:9px; margin:8px 0 }
.quiz-admin input { accent-color:#f3a8d8 }
.quiz-sound-volume { display:grid; gap:5px; padding-block:6px }
.quiz-sound-volume input { width:100%; accent-color:#e783c9 }

@keyframes qwd-idle { 0%,100%{transform:none} 45%{transform:translateY(-1.4%) rotate(-.65deg)} }
@keyframes qwd-flinch { 0%,100%{transform:none} 28%{transform:translate(-3%,-2%) rotate(-7deg)} 65%{transform:translateY(2%) rotate(3deg)} }
@keyframes qwd-triumph { 0%,100%{transform:none} 32%{transform:translateY(-5%) rotate(5deg)} 63%{transform:translateY(1%) rotate(-3deg)} }
@keyframes qwd-duck { 0%,100%{transform:none} 45%,60%{transform:translateY(11%) scale(.88) rotate(9deg)} }
@keyframes qwd-prop-flight {
  from{opacity:1;transform:none} 66%{opacity:1} to{opacity:0;transform:translate(36px,-67px) rotate(62deg) scale(.65)}
}
@keyframes qwd-windup { from{transform:rotate(-42deg);opacity:0} 65%{transform:rotate(-51deg);opacity:1} to{transform:rotate(17deg);opacity:1} }
@keyframes qwd-recoil { from{transform:rotate(17deg);opacity:1} 35%{transform:rotate(-7deg);opacity:.8} to{transform:rotate(-17deg);opacity:0} }
@keyframes qwd-crack { from{opacity:1;transform:scale(1.16) rotate(8deg)} 70%{opacity:1} to{opacity:0;transform:rotate(1deg)} }
@keyframes qwd-snap { 0%,100%{opacity:0;transform:rotate(-39deg) scale(.82)} 32%{opacity:1;transform:rotate(-17deg)} 55%,70%{opacity:1;transform:rotate(13deg)} }

@media (max-width:670px) {
  .qwd-grid { grid-template-columns:1fr; gap:9px }
  .qwd-character-column { display:grid; grid-template-columns:minmax(95px,38%) minmax(0,1fr); align-items:center; gap:8px }
  .qwd-stage { width:100% }
  .qwd-speech { margin-top:0; font-size:.81rem; padding:6px }
  .qwd-wardrobe { grid-template-columns:repeat(2,minmax(0,1fr)) }
}
@media (max-width:370px) {
  .qwd-dialog { width:calc(100% - 12px); max-width:calc(100% - 12px); max-height:calc(100dvh - 12px) }
  .qwd-header { gap:5px }
  .qwd-header-actions button { padding-inline:6px }
  .qwd-header-actions .qwd-close { padding:0 }
}
@media (max-height:520px) and (min-width:671px) {
  .qwd-stage { width:min(100%,190px) }
  .qwd-grid { padding-top:7px }
  .qwd-speech { min-height:0 }
}
html[data-art-lite] .qwd-rig, .qwd-stage[data-fallback] .qwd-rig { visibility:hidden; animation:none }
html[data-art-lite] .qwd-stage::before, .qwd-stage[data-fallback]::before { content:'✦'; color:#ffd598; font-size:3rem; position:absolute }
@media (prefers-reduced-motion:reduce) {
  .qwd-dialog *, .qwd-dialog *::before, .qwd-dialog *::after { animation:none!important; transition:none!important }
  .qwd-stage[data-emote="whip"] .qwd-whip, .qwd-prop-flight { display:none }
}
