.reunion-canvas{width:100%;height:100%;display:block;border-radius:inherit}
.reunion-world{overflow:hidden;border-radius:inherit;background:#ece8d6}
.reunion-focus{position:absolute;pointer-events:none;border-radius:20px;z-index:45}
#garden-scene .reunion-focus.reward-highlight{outline:none;box-shadow:none;background:none;border:0;overflow:visible}
.reunion-reward-outline{display:none;position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;filter:drop-shadow(0 0 3px #ffcd58)}
.reunion-reward-outline path{fill:none;stroke:#ffdb73;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.reunion-focus.reward-highlight .reunion-reward-outline{display:block}
.reunion-focus.reward-settled .reunion-reward-outline{opacity:.82;filter:drop-shadow(0 0 2px #ffdd88)}
.reunion-focus.reward-settled .reunion-reward-outline path{stroke-width:1.5}
.reunion-reward-arrival{position:absolute;display:block;pointer-events:none;z-index:65;transform-origin:center;filter:drop-shadow(0 0 5px #ffe6a7)}
.is-reunion-arriving .reunion-friend{pointer-events:none!important}
#garden-pets .reunion-friend{position:absolute;border:0;background:none;box-shadow:none;padding:0;color:#fff4e2;font-size:32px;text-shadow:0 2px 4px #95586b;border-radius:40%;pointer-events:auto;z-index:46;min-height:44px;min-width:44px}
#garden-pets .reunion-friend:focus-visible{outline:2px solid #fff3c0}
#garden-pets .reunion-friend:disabled{opacity:1}
.reunion-friend.is-greeting{color:transparent!important;text-shadow:none!important}
.reunion-friend.is-greeting::after{content:'♥';position:absolute;right:15%;top:-10px;font-size:16px;color:#df819c;text-shadow:0 1px 3px #fff4e2;pointer-events:none;animation:reunion-heart 1.5s ease-out both}
@keyframes reunion-heart{0%{opacity:0;transform:translateY(4px) scale(.75)}25%{opacity:1}100%{opacity:0;transform:translateY(-13px) scale(1.05)}}
html[data-motion="gentle"] .reunion-friend.is-greeting::after{animation:none;opacity:.8}
#choice-options .choice-art:has(canvas){width:64px;height:44px;flex-shrink:0;border-radius:7px;overflow:hidden}
.choice-art canvas{width:100%;height:100%;object-fit:cover}
[data-campaign="3"] #story-space{border-block:1px solid #ceb7b13d;position:relative}
[data-campaign="3"] #theme-progress{color:#896b80}
