.bird-companion{position:fixed;inset:0;pointer-events:none;z-index:35;overflow:hidden;contain:layout style}.bird-trail{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.bird-anchor{position:absolute;left:0;top:0;width:92px;height:116px;will-change:transform;pointer-events:none}.bird-button{pointer-events:auto;display:block;padding:0;border:0;background:none;width:92px;position:relative;transform-origin:50% 65%;touch-action:manipulation}.bird-sprite{display:block;position:relative;width:92px;height:86px;transform:rotate(var(--bird-bank,0deg));transition:transform .35s ease}.bird-sprite img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 5px 6px #254d7420);transition:opacity .28s ease,transform .4s ease;pointer-events:none}.bird-flying{opacity:0}.bird-caption{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;background:#ffffffef;border:1px solid #d9e8fa;box-shadow:0 3px 12px #345e9210;border-radius:20px;padding:4px 8px;font-size:10px;color:#517499;transition:opacity .4s;max-width:125px;position:relative;left:50%;transform:translateX(-50%);width:max-content}.bird-companion[data-state=flying] .bird-flying{opacity:1;animation:wing-beat .4s ease-in-out infinite alternate}.bird-companion[data-state=flying] .bird-perched{opacity:0}.bird-companion[data-state=flying] .bird-caption{opacity:0}.bird-companion[data-state=perched] .bird-perched{animation:bird-breathe 4s ease-in-out infinite}.bird-panel{pointer-events:auto;position:absolute;bottom:115px;right:0;width:265px;background:#fff;border:1px solid #dce8f6;border-radius:17px;padding:20px;box-shadow:0 15px 50px #1d46712b;color:#17315a}.bird-anchor.panel-below .bird-panel{top:112px;bottom:auto}.bird-anchor.panel-left .bird-panel{left:0;right:auto}.bird-panel-heading{display:flex;justify-content:space-between;align-items:center;font-size:14px}.bird-panel-heading button{background:none;border:0;color:#728caa;font-size:22px;padding:0 3px}.bird-panel p{font-size:12px;line-height:1.85;margin:10px 0 14px}.bird-panel>a{display:block;font-size:13px;color:#2468e8;padding:8px 0;border-top:1px solid #edf2f9}.bird-panel>button{background:#f2f7fd;border:0;border-radius:6px;padding:6px 9px;font-size:10px;color:#6686a8;margin:12px 8px 0 0}.bird-reading-focus{position:relative}.bird-reading-focus:after{content:'';display:block;position:absolute;bottom:-7px;left:0;width:min(65px,30%);height:3px;background:linear-gradient(90deg,#78b2ed,#f3b27d);border-radius:5px;animation:perch-highlight .7s ease-out}.bird-companion[hidden]{display:none}.bird-button:focus-visible{outline:3px solid #ffb36a;outline-offset:2px;border-radius:20px}@keyframes wing-beat{from{transform:scaleY(.92) rotate(-3deg)}to{transform:scaleY(1.04) rotate(3deg)}}@keyframes bird-breathe{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-2px) rotate(1deg)}}@keyframes perch-highlight{from{transform:scaleX(.2);opacity:0}to{transform:scaleX(1);opacity:1}}@media(max-width:600px){.bird-anchor,.bird-button{width:68px}.bird-anchor{height:88px}.bird-sprite{width:68px;height:62px}.bird-caption{font-size:8px;max-width:105px;padding:3px 7px}.bird-panel{width:245px;bottom:90px}.bird-anchor.panel-below .bird-panel{top:90px}}@media(prefers-reduced-motion:reduce){.bird-trail{display:none}.bird-companion *{animation:none!important;transition:none!important}.bird-reading-focus:after{display:none}}
.bird-caption{opacity:0}.bird-button:hover .bird-caption,.bird-button:focus-visible .bird-caption{opacity:1}.bird-companion[data-state=flying] .bird-caption{opacity:0}.bird-companion[data-focus=form] .bird-anchor{opacity:0;pointer-events:none}.bird-companion[data-focus=form] .bird-button{pointer-events:none}@keyframes wing-beat{from{transform:scaleX(var(--bird-facing,1)) scaleY(.94) rotate(-2deg)}to{transform:scaleX(var(--bird-facing,1)) scaleY(1.03) rotate(2deg)}}.brand img{transition:transform .6s cubic-bezier(.2,.7,.2,1),filter .6s;filter:drop-shadow(0 2px 2px #23589b18)}.brand:hover img{transform:perspective(240px) rotateY(-18deg) rotateZ(-5deg) translateY(-1px);filter:drop-shadow(2px 5px 5px #23589b30)}
