/* Finite character encounters. All extra artwork occupies existing illustration space. */
.delight-crew-card,.delight-flow-step,.delight-curtain {
  --character-cue-tone:var(--hero-tone,#15469c);
  --character-cue-accent:var(--hero-accent,#e4ba5a);
  --character-cue-paper:var(--hero-paper,#fffdf8);
  --character-cue-ink:var(--hero-ink,#183764);
}
.delight-crew-halo,.delight-crew-line,.delight-crew-reply,.delight-crew-star,
.delight-flow-guide,.delight-flow-ring,.delight-flow-path,
.delight-curtain-cast,.delight-curtain-light { pointer-events:none; }
.delight-crew-card > [class^="delight-"][hidden],
.delight-flow-step > [class^="delight-"][hidden],
.delight-curtain > [class^="delight-"][hidden] { display:none!important; }
.delight-crew-halo { position:absolute;inset:5px;border:2px solid var(--character-cue-accent);border-radius:inherit;opacity:0;z-index:3;box-shadow:inset 0 0 16px color-mix(in srgb,var(--character-cue-accent) 16%,transparent); }
.delight-crew-line { position:absolute;left:10px;right:10px;bottom:6px;height:3px;border-radius:6px;opacity:0;z-index:4;transform-origin:left center;background:linear-gradient(90deg,var(--character-cue-tone),var(--character-cue-accent),transparent); }
.delight-crew-reply { position:absolute;left:7px;right:7px;bottom:72px;z-index:4;padding:6px 5px;border:1px solid var(--character-cue-accent);border-radius:8px 8px 8px 2px;background:var(--character-cue-paper);color:var(--character-cue-ink);box-shadow:0 3px 9px #14254118;opacity:0;font:800 11px/1.5 var(--sans,sans-serif);text-align:center;letter-spacing:0;text-wrap:balance; }
.delight-crew-star { position:absolute;z-index:4;font:18px/1 serif;color:var(--character-cue-accent);opacity:0; }
.delight-crew-star-0 { right:12px;top:47px; }
.delight-crew-star-1 { left:10px;top:65px;font-size:12px;color:var(--character-cue-tone); }
body[data-vertical=cabaret] .delight-crew-reply { border-radius:12px 12px 3px 3px;background:#fff7e9; }
body[data-vertical=host] .delight-crew-reply { border-radius:2px;border-color:#abb6c5;background:#f7f9fc;color:#303a47; }
body[data-vertical=host] .delight-crew-halo { border-width:1px;border-color:#c8d2df;box-shadow:none; }
body[data-vertical=girlsbar] .delight-crew-reply { border-radius:3px 10px 10px 3px;background:#fff7ed; }

.delight-flow-step > span:first-child { position:relative;z-index:1; }
.delight-flow-guide { position:absolute;left:5px;top:54px;display:block;width:38px;height:38px;font-style:normal;opacity:0;z-index:2; }
.delight-flow-guide > .crew-sprite { width:100%;height:100%;filter:drop-shadow(0 2px 2px #10294c20); }
.delight-flow-ring { position:absolute;left:-3px;top:-3px;width:54px;height:54px;border:1.5px solid var(--character-cue-accent);border-radius:50%;opacity:0;z-index:2; }
.delight-flow-path { position:absolute;left:22px;top:48px;bottom:-31px;width:3px;border-radius:6px;background:linear-gradient(var(--character-cue-accent),var(--character-cue-tone));transform-origin:center top;opacity:0;z-index:0; }
body[data-vertical=host] .delight-flow-ring { border-radius:4px; }

.delight-curtain-cast { position:absolute;left:0;bottom:0;display:flex;align-items:flex-end;width:158px;height:78px;z-index:2; }
.delight-curtain .delight-curtain-cast > .crew-sprite { position:relative;inset:auto;flex:0 0 62px;width:62px;height:62px;margin:0 -14px 0 0;opacity:0;animation:none!important;transform-origin:50% 95%;filter:drop-shadow(0 3px 3px #0003); }
.delight-curtain-light { position:absolute;left:4px;right:5px;bottom:4px;height:2px;border-radius:50%;background:linear-gradient(90deg,transparent,var(--character-cue-accent),transparent);opacity:0;transform-origin:center;z-index:1; }
.delight-curtain .contact-bubble { z-index:4; }
@media(max-width:370px) {
  .delight-crew-reply { left:5px;right:5px;padding:5px 3px;font-size:11px; }
  .delight-curtain-cast { width:143px; }
  .delight-curtain .delight-curtain-cast > .crew-sprite { flex-basis:57px;width:57px;height:57px; }
}
@media(prefers-reduced-motion:reduce) {
  .delight-crew-halo,.delight-crew-line,.delight-crew-reply,.delight-crew-star,
  .delight-flow-guide,.delight-flow-ring,.delight-flow-path,
  .delight-curtain-cast,.delight-curtain-light { display:none!important; }
}
body.motion-off :is(.delight-crew-halo,.delight-crew-line,.delight-crew-reply,.delight-crew-star,.delight-flow-guide,.delight-flow-ring,.delight-flow-path,.delight-curtain-cast,.delight-curtain-light),
html[data-motion=off] :is(.delight-crew-halo,.delight-crew-line,.delight-crew-reply,.delight-crew-star,.delight-flow-guide,.delight-flow-ring,.delight-flow-path,.delight-curtain-cast,.delight-curtain-light) { display:none!important; }
