.shadow-encounter{position:relative;isolation:isolate;min-height:220px;margin:24px 0 20px;overflow:hidden;overflow:clip}
.shadow-copy{position:relative;margin-left:165px;padding-top:14px;transition:opacity .15s;pointer-events:none}
.shadow-copy .about-lead{font-size:22px;line-height:1.4;margin:0;color:var(--text)}
.shadow-runway{position:absolute;inset:0 0 30px;border-bottom:2px solid #53232e}
.shadow-runway::after{content:"";position:absolute;bottom:-5px;left:0;right:0;height:3px;background:repeating-linear-gradient(90deg,#a12a42 0 14px,transparent 14px 28px);opacity:.5}
.shadow-companion{position:absolute;bottom:0;left:0;width:150px;height:170px;padding:0;border:0;background:transparent;z-index:2;cursor:pointer;touch-action:manipulation;transform-origin:50% 100%;-webkit-tap-highlight-color:transparent}
.shadow-companion:focus-visible{outline:2px dashed #ff6879;outline-offset:-3px}
.shadow-companion:hover .shadow-idle{filter:drop-shadow(3px 0 0 #9f203b) drop-shadow(-3px 0 0 #9f203b)}
.shadow-companion[aria-disabled=true]{cursor:default}
.shadow-sprite-stack{position:absolute;inset:0;display:block;transform-origin:50% 100%}
.shadow-sprite-stack img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:50% 100%;image-rendering:pixelated;pointer-events:none;user-select:none}
.shadow-running{visibility:hidden}
.shadow-sprite-stack canvas.shadow-running{position:absolute;left:-50%;bottom:0;width:150%;height:auto;aspect-ratio:3 / 2;image-rendering:pixelated;pointer-events:none}
.shadow-encounter.is-running .shadow-idle{visibility:hidden}
.shadow-encounter.is-running .shadow-running{visibility:visible}
.shadow-encounter.is-running .shadow-copy{opacity:.25}
.shadow-encounter.is-running .shadow-companion::before{content:"";position:absolute;left:-25px;bottom:16px;width:65px;height:24px;background:repeating-linear-gradient(0deg,transparent 0 5px,#f02e4377 5px 8px);z-index:-1}
.shadow-hint{position:absolute;bottom:0;left:0;margin:0;color:#c7919c;font-size:11px;line-height:1.7;letter-spacing:.04em;pointer-events:none}
.shadow-encounter--signoff{margin:48px 0 0;min-height:200px}
.shadow-encounter--signoff .shadow-copy{padding-top:10px;margin-left:180px}
.shadow-signoff{font-family:var(--heading);font-size:39px;line-height:1.05;margin:0;letter-spacing:-.04em}
.shadow-encounter--signoff .shadow-runway{border-bottom-color:#39242d}
.shadow-encounter--signoff.is-running .shadow-copy{opacity:.25}
.shadow-encounter.reduced-run .shadow-copy{opacity:1}
.shadow-encounter.reduced-run .shadow-companion::before{display:none}
.shadow-encounter.is-endless.is-running .shadow-copy{opacity:1}
.shadow-encounter.is-endless.is-running:not(.reduced-run) .shadow-runway::after{right:-28px;animation:shadow-endless-road 180ms linear infinite}
@keyframes shadow-endless-road{from{transform:translateX(0)}to{transform:translateX(-28px)}}
@media(max-width:1100px) and (min-width:761px){.shadow-companion{width:125px;height:155px}.shadow-copy{margin-left:130px}.shadow-copy .about-lead{font-size:20px}.shadow-encounter{min-height:210px}}
@media(max-width:480px){.shadow-companion{width:120px;height:155px}.shadow-copy{margin-left:125px;padding-top:20px}.shadow-copy .about-lead{font-size:20px}.shadow-encounter{min-height:220px}.shadow-encounter--signoff{min-height:190px}.shadow-encounter--signoff .shadow-copy{margin-left:140px;padding-top:12px}.shadow-signoff{font-size:33px}.shadow-hint{font-size:10px}}
@media(prefers-reduced-motion:reduce){.shadow-copy{transition:none}}
