.resident{position:absolute;left:0;top:0;z-index:4;width:0;height:0;will-change:transform;pointer-events:none}
.resident-hit{position:absolute;left:calc(var(--size)*-.5);bottom:0;width:var(--size);height:calc(var(--size)*.701754);border:0;padding:0;background:transparent;pointer-events:auto;cursor:pointer;isolation:isolate}
.resident-facing,.resident-pose{display:block;width:100%;height:100%;transform-origin:50% 94%}
.resident-facing{transform:scaleX(var(--facing,1))}
.resident-pose{filter:brightness(var(--scene-light,1)) saturate(.9)}
.resident-art{display:block;width:100%;height:100%;overflow:hidden;stroke:none;fill:none}
.resident-shadow{position:absolute;width:calc(var(--size)*.54);height:9px;left:calc(var(--size)*-.21);top:-5px;border-radius:50%;background:radial-gradient(ellipse,#39452950 0%,#44523024 45%,transparent 73%);transform:rotate(-7deg);filter:blur(1px)}
.resident-hit:hover .resident-pose,.resident-hit:focus-visible .resident-pose{filter:drop-shadow(0 0 2px #fff2c86b)}
.resident-hit:focus-visible{outline:1px dashed #fff6ca;outline-offset:2px;border-radius:50%}
.resident-butterfly{position:absolute;left:20px;bottom:50px;width:23px;height:20px;animation:resident-flutter 5.7s ease-in-out infinite;pointer-events:none}
.resident-butterfly svg{width:100%;height:100%;overflow:visible;fill:#ffe197;stroke:#886e40;stroke-width:.8}
.resident-active .resident-butterfly{animation-play-state:paused}
@keyframes resident-flutter{0%,100%{transform:translate(8px,-4px) rotate(-12deg)}25%{transform:translate(32px,-22px) rotate(14deg)}55%{transform:translate(-20px,-8px) rotate(-10deg)}80%{transform:translate(4px,-32px) rotate(18deg)}}
.resident-tip{position:fixed;z-index:12;width:260px;background:#fffbedf7;border:1px solid #fff;border-radius:14px;padding:16px 18px;box-shadow:0 7px 26px #263e3936;color:#354c36;backdrop-filter:blur(8px);pointer-events:auto}.resident-tip[hidden]{display:none}.resident-tip-kicker{display:block;color:#7e8c6a;font-size:9px;line-height:1.7;letter-spacing:.5px}.resident-tip h3{margin:9px 0;font-size:20px;font-weight:600;letter-spacing:1px}.resident-tip p{font-size:11px;line-height:1.9;margin:0 0 10px}.resident-tip small{font-size:9px;color:#8a916f}.map-place:hover .place-area{background:none}.world-effects .sleep{display:none}

@media(max-width:600px){.resident-tip{width:235px;padding:14px 16px}}
.place-journal .place-sign{margin-top:-45px}

.scene-foreground{position:absolute;inset:0;width:1536px;height:1024px;pointer-events:none;fill:none;stroke:none;overflow:visible}
.resident-cast{position:absolute;left:0;top:-9px;width:calc(var(--size)*.5);height:19px;background:radial-gradient(ellipse,#35452932,transparent 72%);border-radius:50%;transform:rotate(19deg) skewX(-22deg);mix-blend-mode:multiply;pointer-events:none}
.resident-shadow{background:radial-gradient(ellipse,#38402270 0%,#44523035 43%,transparent 72%);mix-blend-mode:multiply;height:8px;top:-4px}

.resident[data-terrain="blanket"] .resident-cast{opacity:.38}.resident[data-terrain="blanket"] .resident-shadow{width:calc(var(--size)*.67);left:calc(var(--size)*-.32);height:10px;background:radial-gradient(ellipse,#7651376b,transparent 70%)}
.compact-scene .water-surface,.compact-scene .cloud,.compact-scene .house-puff,.compact-scene .floating-leaf{display:none}
.compact-scene .resident-pose,.compact-scene .resident-shadow{filter:none!important}
.compact-scene .destination-dock,.compact-scene .resident-tip{backdrop-filter:none}
.compact-scene .river-currents .current:nth-child(2n),.compact-scene .splash.side{display:none}
.scene-foreground{overflow:hidden;contain:strict}
