/* Native Grove layers: complete, opaque art behind matching physical scenery.
   Intentionally uses new classes so obsolete thicket/mask/actor CSS cannot leak in.
   Load after legacy release/habitat CSS. No product availability is changed. */
/* The legacy bird group creates its own stacking context. Keep its complete
   habitat ABOVE the separate z3 moving source-copy bough, which otherwise paints
   the entire Raven away. Each habitat's own real tree remains in front of art. */
#outside-world>.fork-friends:has(>.character-habitat-v1210){z-index:4!important}
#scene-camera .character-habitat-v1210{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;overflow:visible!important;isolation:isolate;transform:none!important;opacity:1!important;pointer-events:none!important;z-index:6}
#scene-camera .character-habitat-v1210[hidden]{display:none!important}
#scene-camera .character-habitat-v1210:before,#scene-camera .character-habitat-v1210:after{display:none!important;content:none!important}
#scene-camera .character-habitat-v1210>.habitat-actor-plane-v1210{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;z-index:1;overflow:visible!important;pointer-events:none!important;translate:0 0;transform:none!important;transition:translate .34s cubic-bezier(.22,.66,.26,1);opacity:1!important;clip-path:none!important;mask:none!important}
#scene-camera .character-habitat-v1210.is-habitat-peek>.habitat-actor-plane-v1210{translate:var(--habitat-peek-x,0%) var(--habitat-peek-y,0%)}
#scene-camera .character-habitat-v1210 .habitat-actor-v1210{position:absolute!important;display:block!important;left:var(--habitat-actor-x)!important;top:var(--habitat-actor-y)!important;width:var(--habitat-actor-w)!important;height:var(--habitat-actor-h)!important;right:auto!important;bottom:auto!important;max-width:none!important;max-height:none!important;object-fit:fill!important;object-position:center!important;transform:rotate(var(--habitat-angle,0deg)) scaleX(var(--habitat-mirror,1))!important;transform-origin:50% 100%!important;translate:none!important;rotate:0deg!important;scale:none!important;opacity:1!important;visibility:visible!important;filter:brightness(var(--habitat-brightness,.85)) saturate(var(--habitat-saturation,.9))!important;clip-path:none!important;mask:none!important;-webkit-mask:none!important;animation:none!important;transition:none!important;pointer-events:none!important;user-select:none}
#scene-camera .character-habitat-v1210>.habitat-foreground-v1210{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;display:block!important;overflow:visible!important;z-index:2;opacity:1!important;transform:none!important;translate:none!important;rotate:0deg!important;filter:none!important;pointer-events:none!important;animation:none!important;transition:none!important}
#scene-camera .character-habitat-v1210 .habitat-foreground-v1210 *{pointer-events:none!important}
/* The 55px projected cue sits ON the physical hiding place, not around a sprite.
   No icon/glow/character label spoils the hiding place at rest. A small dashed
   ring appears only on deliberate hover/focus, never across the full habitat. */
#scene-camera .character-habitat-v1210>.habitat-cue-v1210{position:absolute!important;left:var(--habitat-cue-x)!important;top:var(--habitat-cue-y)!important;right:auto!important;bottom:auto!important;width:var(--habitat-cue-size,55px)!important;height:var(--habitat-cue-size,55px)!important;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;box-sizing:border-box!important;margin:0!important;padding:0!important;border:0!important;border-radius:50%!important;transform:none!important;translate:-50% -50%!important;rotate:0deg!important;scale:1!important;opacity:1!important;background:none!important;box-shadow:none!important;filter:none!important;z-index:4;pointer-events:auto!important;touch-action:manipulation;cursor:pointer;outline:0!important;overflow:visible!important}
#scene-camera .habitat-cue-v1210:before,#scene-camera .habitat-cue-v1210:after{content:none!important;display:none!important}
#scene-camera .habitat-cue-v1210>.habitat-cue-mark-v1210{position:absolute;inset:12%;border:var(--habitat-ring-size,1.5px) dashed #f5e7b3b0;border-radius:50%;opacity:0;pointer-events:none!important;transition:opacity .14s ease}
@media(hover:hover){#scene-camera .habitat-cue-v1210:hover>.habitat-cue-mark-v1210{opacity:1}}
#scene-camera .habitat-cue-v1210:focus-visible>.habitat-cue-mark-v1210{inset:0;border-color:#fff4ca;opacity:1;background:#e4c5720c}
#journey-app[data-motion=still] .character-habitat-v1210 .habitat-actor-plane-v1210,#journey-app[data-motion=still] .habitat-cue-mark-v1210{transition:none!important;animation:none!important}
@media(prefers-reduced-motion:reduce){#scene-camera .character-habitat-v1210 .habitat-actor-plane-v1210,#scene-camera .habitat-cue-mark-v1210{transition:none!important;animation:none!important}}

/* A deliberate interaction is a genuine emerge pose, not another cropped glimpse.
   One complete original image moves from its resting habitat to real support.
   Ogre/Gnome step in front of their hiding bank/root; the source objects stay put.
   Hover keeps the old discreet peek. No actor opacity or clipping is animated. */
#scene-camera .character-habitat-v1210.is-habitat-revealed>.habitat-actor-plane-v1210{translate:0 0;z-index:var(--habitat-reveal-layer,1)}
#scene-camera .character-habitat-v1210.is-habitat-revealed .habitat-actor-v1210{left:var(--habitat-reveal-x)!important;top:var(--habitat-reveal-y)!important;width:var(--habitat-reveal-w)!important;height:var(--habitat-reveal-h)!important;transform:rotate(var(--habitat-reveal-angle,0deg)) scaleX(var(--habitat-mirror,1))!important;filter:brightness(var(--habitat-reveal-brightness,.9)) saturate(var(--habitat-saturation,.9))!important}
#scene-camera .character-habitat-v1210 .habitat-actor-v1210{transition:left .5s ease,top .5s ease,width .5s ease,height .5s ease,transform .5s ease,filter .5s ease!important}
#scene-camera .character-habitat-v1210 .habitat-contact-v1211{display:none;position:absolute;left:var(--habitat-shadow-x);top:var(--habitat-shadow-y);width:var(--habitat-shadow-w);height:var(--habitat-shadow-h);translate:-50% -50%;border-radius:50%;background:radial-gradient(ellipse,#14231866,transparent 72%);pointer-events:none!important}
#scene-camera .character-habitat-v1210.is-habitat-revealed .habitat-contact-v1211{display:block}
#journey-app[data-motion=still] .character-habitat-v1210 .habitat-actor-v1210{transition:none!important;animation:none!important}
@media(prefers-reduced-motion:reduce){#scene-camera .character-habitat-v1210 .habitat-actor-v1210{transition:none!important;animation:none!important}}
