/* One persistent companion, tucked above the existing bottom controls. */
#companionGuide{
 position:fixed;right:calc(16px + env(safe-area-inset-right,0px));
 bottom:calc(16px + var(--hostbar-height,0px) + env(safe-area-inset-bottom,0px));
 width:100px;height:82px;z-index:65;pointer-events:none;
}
#companionGuide[hidden]{display:none!important}
body #companionGuide #hostVisitor{
 position:absolute!important;inset:0!important;top:0!important;left:0!important;right:0!important;bottom:0!important;
 display:grid!important;place-items:center;width:100%!important;height:100%!important;
 min-width:44px;min-height:44px;margin:0;padding:6px!important;border:0!important;
 border-radius:18px;background:transparent!important;transform:none;filter:none;
 cursor:pointer;pointer-events:auto;touch-action:manipulation;
}
body #companionGuide #hostVisitor img{
 display:block;width:100%!important;height:100%!important;max-height:76px;object-fit:contain;
 filter:drop-shadow(0 4px 4px #102b2436);transform:none;
 animation:companion-breathe 4.6s ease-in-out infinite;
}
body #companionGuide #hostVisitor small{display:none!important}
body #companionGuide #hostVisitor:focus-visible{outline:2px solid #d9c38a!important;outline-offset:3px}
@keyframes companion-breathe{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
#companionGuide .companion-bubble{
 position:absolute;right:0;bottom:calc(100% + 12px);width:246px;
 max-width:calc(100vw - 32px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px));
 box-sizing:border-box;padding:16px 19px;border:1px solid #cbb57fa6;border-radius:16px;
 background:#20392e;color:#f7edd8;box-shadow:0 8px 26px #08130d33;
 font:400 16px/1.5 Georgia,'Times New Roman',serif;text-align:center;
 opacity:0;visibility:hidden;transform:translateY(6px);pointer-events:none;
 transition:opacity 220ms ease,transform 220ms ease,visibility 220ms;
}
#companionGuide .companion-bubble::after{
 content:'';position:absolute;right:42px;bottom:-6px;width:10px;height:10px;
 background:#20392e;border-right:1px solid #cbb57fa6;border-bottom:1px solid #cbb57fa6;transform:rotate(45deg);
}
#companionGuide.is-open .companion-bubble{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
body #birdGestureHint{display:none}
/* Keep the selected companion clear of the garden's path and assistant. */
.in-oak-garden.has-brand-guide #courtyardApproach{right:128px;max-width:calc(100vw - 146px)}
.in-oak-garden.has-brand-guide:not(.garden-introducing) #journeyMedallion{top:18px!important;bottom:auto!important}
/* The map is a modal top layer, with space reserved around its actions. */
#houseMap #companionGuide{bottom:calc(12px + env(safe-area-inset-bottom,0px));--hostbar-height:0px}
.has-brand-guide #houseMap .h-map-choice{padding-right:108px}
@media(orientation:landscape) and (min-width:651px){
 .has-brand-guide #houseMap .h-map-choice{padding-right:0}
 .has-brand-guide #houseMap .hm-bottom{padding-bottom:106px}
}
body.quiet-birds #companionGuide #hostVisitor img{animation:none}
@media(prefers-reduced-motion:reduce){
 body #companionGuide #hostVisitor img{animation:none}
 #companionGuide .companion-bubble{transition:opacity 100ms ease,visibility 100ms;transform:none}
}
@media(forced-colors:active){
 #companionGuide .companion-bubble,#companionGuide .companion-bubble::after{background:Canvas;color:CanvasText;border-color:CanvasText}
}
