bear-bird{--bird-size: 24px;--bird-trip: .9s;position:absolute;display:block;width:var(--bird-size);height:var(--bird-size);z-index:5}bear-bird[hidden]{display:none!important}bear-bird[data-place=window]{left:80%;top:41%}bear-bird[data-place=garden]{--bird-size: 28px;left:68%;top:26%}bear-bird button{position:absolute;left:calc((var(--bird-size) - 44px) / 2);top:calc((var(--bird-size) - 44px) / 2);width:44px;height:44px;padding:0;border:0;background:transparent;cursor:pointer;touch-action:manipulation}bear-bird button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.bear-bird-flight,.bear-bird-sprite{display:block;width:var(--bird-size);height:var(--bird-size);pointer-events:none}.bear-bird-flight{margin:auto}.bear-bird-sprite{background-image:url(/bear-visitors/bird.webp);background-size:300% 100%;background-repeat:no-repeat;image-rendering:pixelated;transform-origin:50% 90%}bear-bird[data-state=landing] .bear-bird-flight{animation:bird-land var(--bird-trip) cubic-bezier(.2,.8,.2,1) both}bear-bird[data-state=leaving] .bear-bird-flight{animation:bird-leave var(--bird-trip) ease-in both}bear-bird:is([data-state=landing],[data-state=leaving]) .bear-bird-sprite{animation:bird-wings .2s steps(1) infinite}bear-bird[data-state=peck] .bear-bird-sprite{animation:bird-peck .65s steps(3) both}bear-bird[data-state=hop] .bear-bird-sprite{background-position:50% 0;animation:bird-hop .7s steps(5) both}@keyframes bird-land{0%{opacity:0;transform:translate(32px,-32px)}25%{opacity:1}to{opacity:1;transform:none}}@keyframes bird-leave{0%{opacity:1;transform:none}to{opacity:0;transform:translate(32px,-40px)}}@keyframes bird-wings{0%,to{background-position:100% 0}50%{background-position:0 0}}@keyframes bird-peck{0%,to{transform:none}35%,65%{transform:translate(-2px) rotate(-9deg)}}@keyframes bird-hop{0%,to{transform:none}22%{transform:translate(-3px,-4px)}45%{transform:translate(-4px)}70%{transform:translate(-2px,-4px)}}@media(prefers-reduced-motion:reduce){bear-bird .bear-bird-flight,bear-bird .bear-bird-sprite{animation:none!important}}.bear-footer-scene{--footer-scene-width: 340px;display:block;position:relative;width:min(100%,var(--footer-scene-width));aspect-ratio:17 / 12;flex-shrink:0;isolation:isolate}.bear-footer-scene>img,.bear-footer-scene>canvas{display:block;position:absolute;inset:0;width:100%;height:100%;image-rendering:pixelated;pointer-events:none}.bear-footer-scene>[hidden]{display:none}.bear-footer-hotspot{position:absolute;border:0;padding:0;background:transparent;cursor:pointer;border-radius:10%;min-width:44px;min-height:44px;-webkit-tap-highlight-color:transparent}.bear-footer-hotspot:focus-visible{outline:2px solid var(--accent);outline-offset:3px;background:rgba(var(--accent-rgb),.08)}.bear-footer-head{left:41%;top:51%;width:23%;height:21%}.bear-footer-book{left:45%;top:72%;width:19%;height:19%}.bear-footer-mail{left:8%;top:61%;width:17%;height:30%}.bear-mailbox{--mailbox-outline: #48382d;--mailbox-sage: #91ac89;--mailbox-cream: #f4e2b9;position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:0;transition:opacity .24s;filter:brightness(.8) saturate(.84)}[data-mode=light] .bear-mailbox{filter:none}[data-mailbox-open=true] .bear-mailbox{opacity:1}.bear-mailbox-mouth{fill:var(--mailbox-outline)}.bear-mailbox-lid{fill:var(--mailbox-sage);transform-box:fill-box;transform-origin:center bottom;transition:transform .32s cubic-bezier(.2,.8,.2,1)}[data-mailbox-open=true] .bear-mailbox-lid{transform:translateY(6px) scaleY(.32)}.bear-mailbox-trim{fill:var(--mailbox-cream);opacity:.5}.bear-mailbox-slot{fill:var(--mailbox-outline)}.bear-mailbox-letter{fill:var(--mailbox-cream);stroke:var(--mailbox-outline);stroke-width:1;opacity:0;transform-box:fill-box;transform-origin:center}.bear-mailbox-fold{fill:none;stroke:var(--mailbox-sage)}[data-mail-state=sending] .bear-mailbox-letter{opacity:1;animation:bear-letter-ready .24s ease-out}[data-mail-state=sent] .bear-mailbox-letter{animation:bear-letter-delivered .6s cubic-bezier(.2,.8,.2,1) both}@keyframes bear-letter-ready{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@keyframes bear-letter-delivered{0%,20%{opacity:1;transform:none}75%{opacity:1;transform:translateY(21px) scale(.75)}to{opacity:0;transform:translateY(24px) scale(.65)}}@media(prefers-reduced-motion:reduce){.bear-mailbox,.bear-mailbox-lid{transition:none}[data-mail-state] .bear-mailbox-letter{animation:none}}.bear-footer-scene>img,.bear-footer-scene>canvas{filter:brightness(.8) saturate(.84)}[data-mode=light] .bear-footer-scene>img,[data-mode=light] .bear-footer-scene>canvas{filter:none}@media(max-width:600px){.bear-footer-scene{--footer-scene-width: 300px}}@media(forced-colors:active){.bear-footer-hotspot:focus-visible{outline-color:Highlight}}
