/* Patio and fence door belong to the shared camera world. */
:root{--village-scene:url('assets/patio-v10.3/patio-v10.3-inked.webp')}
#journey-viewport[data-stop=glade] .village-gate{visibility:visible;opacity:1;transform:translateZ(-65px);pointer-events:auto}
#scene-camera .village-gate{left:calc(54% - 175px);bottom:44%;width:350px;height:155px;cursor:pointer;filter:drop-shadow(0 9px 5px #24382b80);outline-offset:5px}
#scene-camera .village-gate .gate-post{display:none}
#scene-camera .village-gate .gate-left{left:0;right:0;width:auto;height:134px;bottom:0;gap:5px;transform-origin:left center}
#scene-camera .village-gate .gate-left i{border-radius:0;clip-path:polygon(50% 0,100% 9%,100% 100%,0 100%,0 9%);background:linear-gradient(90deg,#b5ad90,#fffae4 35%,#fff2cf 75%,#baaf8d)}
#scene-camera .village-gate .gate-left:before{top:31px;height:13px;background:linear-gradient(#fff8dd,#cabd98)}
#scene-camera .village-gate .gate-left:after{top:83px;height:13px;background:linear-gradient(#fff8dd,#cabd98)}
#scene-camera .village-gate .gate-right{display:none}
#scene-camera .village-gate .garden-gate-touch{position:absolute;z-index:4;left:19%;top:0;width:62%;height:82px;min-height:54px;border:0;border-radius:5px;padding:0;background:transparent;cursor:pointer;pointer-events:auto!important}
#scene-camera .village-gate .garden-gate-touch:focus-visible{outline:3px dashed #ffe791;outline-offset:4px;background:#ffe9a51a}
#scene-camera .village-gate .gate-invitation{left:72%;top:65px;min-width:22px;width:26px;height:12px;padding:0;font-size:0;background:linear-gradient(#7f6b4e,#322f2b);border:1px solid #eee0ad;border-radius:4px;box-shadow:0 2px 2px #4b4338;opacity:1;pointer-events:none}
#scene-camera .village-gate:hover .gate-invitation,#scene-camera .village-gate:focus-visible .gate-invitation{background:#e3ad50;box-shadow:0 0 12px #ffedb6}
#journey-viewport[data-gate=open] .village-gate .gate-invitation{opacity:0}
#journey-viewport[data-stop=gate] .village-gate{visibility:visible;opacity:1;transform:translateZ(-70px) scale(1.1)}
#journey-viewport[data-stop=glade] .village-friends>.world-friend{bottom:29%;height:205px;width:190px}
#journey-viewport[data-stop=glade] .friend-kitten{left:22%}
#journey-viewport[data-stop=glade] .friend-puppy{right:21%;width:200px}
#journey-viewport[data-stop=glade] .play-leaf{bottom:37%}
@media(min-width:601px) and (max-width:1050px){
 #scene-camera .village-gate{width:310px;height:140px;left:calc(54% - 155px)}
 #scene-camera .village-gate .gate-left{height:120px}
 #journey-viewport[data-stop=glade] .village-friends>.world-friend{bottom:31%;height:175px;width:155px}
 #journey-viewport[data-stop=glade] .friend-kitten{left:18%}
 #journey-viewport[data-stop=glade] .friend-puppy{right:15%;width:165px}
}
@media(max-width:600px){
 #scene-camera .village-gate{width:min(calc(100vw - 50px),40svh);height:105px;left:54%;translate:-50% 0;bottom:48%}
 #scene-camera .village-gate .gate-left{left:0;right:0;height:95px;gap:4px;bottom:0}
 #scene-camera .village-gate .gate-left:before{top:26px;height:10px}
 #scene-camera .village-gate .gate-left:after{top:64px;height:10px}
 #scene-camera .village-gate .gate-invitation{top:53px;width:21px;height:10px}
 #scene-camera .village-gate .garden-gate-touch{height:58px}
 #journey-viewport[data-stop=glade] .village-friends>.world-friend{bottom:38%;height:140px;width:130px}
 #journey-viewport[data-stop=glade] .friend-kitten{left:13%}
 #journey-viewport[data-stop=glade] .friend-puppy{right:10%;width:138px}
}
@media(max-width:350px){
 #journey-viewport[data-stop=glade] .village-friends>.friend-kitten{left:8%;width:110px;height:110px;bottom:37%}
 #journey-viewport[data-stop=glade] .village-friends>.friend-puppy{right:7%;width:116px;height:110px;bottom:37%}
 #journey-viewport[data-stop=glade] .world-friend>span{display:none}
}
