/* The Village crossing remains a shared source view. Level4 endpoints live beyond the Grove fork. */
#journey-viewport:is([data-stop=glade],[data-stop=village],[data-stop=crossing]){--cam-z:var(--entry-z,-90px);--cam-x:0px;--cam-y:0px;--cam-yaw:0deg;--cam-tilt:0deg;--trail-magic:0}
#journey-viewport:is([data-stop=bridge],[data-stop=garden]){--cam-z:2250px;--cam-x:0px;--cam-y:0px;--cam-yaw:0deg;--cam-tilt:0deg;--trail-magic:1}
#journey-viewport:is([data-stop=glade],[data-stop=village],[data-stop=crossing]) .outside-world{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
#journey-viewport:is([data-stop=glade],[data-stop=village],[data-stop=crossing]) .hub-world-v127{opacity:1!important;visibility:visible!important}
#journey-viewport:is([data-stop=trail],[data-stop=fork],[data-stop=bridge],[data-stop=garden]) .outside-world{opacity:1!important;visibility:visible!important}
#journey-viewport:is([data-stop=trail],[data-stop=fork],[data-stop=bridge],[data-stop=garden]) .hub-world-v127{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
#journey-viewport[data-stop=crossing] .country-gate-leaf-v127{transform:rotateY(-100deg)}
#journey-viewport[data-stop=crossing] .journey-reading-dock{bottom:70px}
#journey-viewport{background-image:url('assets/grove-v12.8/grove-fork-v12.8.webp')}
.outside-world .natural-habitat-cover{background-image:url('assets/grove-v12.8/grove-fork-v12.8.webp')!important}
/* Retire old free-standing fern cutouts; the new banks, roots and mushrooms hide the finds. */
#outside-world .wind-plant[data-wind-kind=fern],#outside-world .wind-garden-bough{display:none!important}
/* Two small directional boards share a grounded short post at the actual path fork. */
#outside-world>#fork-signs{position:absolute;display:flex!important;flex-direction:column;left:62.37%!important;top:43.36%!important;translate:-50% -50%;width:calc(var(--world-w)*90/1536)!important;gap:calc(var(--world-h)*3/1024)!important;padding:0 0 calc(var(--world-h)*19/1024);z-index:10;isolation:isolate;pointer-events:none!important;filter:drop-shadow(0 1px 1px #2c382c55)}
#outside-world>#fork-signs[hidden]{display:none!important}
#outside-world>#fork-signs:before{content:"";position:absolute;top:12%;bottom:0;left:47%;height:auto;width:6%;border:0;background:linear-gradient(90deg,#755133,#b58b56,#68482d);z-index:-1}
#outside-world>#fork-signs:after{content:"";position:absolute;left:28%;right:28%;bottom:-3%;height:7%;border-radius:50%;background:#273f2744;filter:blur(1px);z-index:-2}
#outside-world>#fork-signs>button{display:block;box-sizing:border-box;width:100%;min-width:0!important;height:calc(var(--world-h)*27/1024)!important;min-height:0!important;padding:calc(var(--world-h)*3/1024) calc(var(--world-w)*4/1536)!important;border:1px solid #805e38;border-radius:2px 5px;background:linear-gradient(8deg,#bb8e53,#efdab3 24%,#d9b77c 90%,#aa7b42);box-shadow:0 1px 1px #24322655;color:#49312e;font:400 calc(var(--world-w)*10.5/1536)/1 "Quest Display",sans-serif!important;rotate:-3deg;pointer-events:auto!important;touch-action:manipulation}
#outside-world>#fork-signs>button+button{rotate:3deg}
#outside-world>#fork-signs>button:focus-visible{outline:2px solid #fff0a8;outline-offset:3px}
/* Pets stand on the square's paving and move with its camera, not the screen edges. */
#hub-source-plane-v127>.village-friends{position:absolute;inset:0;width:1536px;height:1024px;transform:none;z-index:8;pointer-events:none!important}
#journey-viewport[data-stop=glade] #hub-source-plane-v127>.village-friends>.world-friend{top:704px!important;bottom:auto!important;right:auto!important;width:270px!important;height:210px!important;translate:-50% -100%!important;transform:none!important;--actor-body-width:170px;--actor-body-height:175px;pointer-events:auto!important}
#journey-viewport[data-stop=glade] #hub-source-plane-v127>.village-friends>.friend-kitten{left:730px!important}
#journey-viewport[data-stop=glade] #hub-source-plane-v127>.village-friends>.friend-puppy{left:965px!important}
@media(max-width:600px){#journey-viewport[data-stop=glade] #hub-source-plane-v127>.village-friends>.world-friend{top:684px!important;width:165px!important;height:160px!important;--actor-body-width:125px;--actor-body-height:130px}#journey-viewport[data-stop=glade] #hub-source-plane-v127>.village-friends>.friend-kitten{left:680px!important}#journey-viewport[data-stop=glade] #hub-source-plane-v127>.village-friends>.friend-puppy{left:860px!important}}
.country-boundary-v127{left:315px;top:383px;width:270px;height:120px}
.village-map.village-map-v128-fork>.village-map-sheet{max-height:calc(100svh - 220px)}
@media(max-width:600px){.village-map.village-map-v128-fork>.village-map-sheet{max-height:calc(100svh - 280px)}}
