/* The page is the village. The only surrounding elements are its signature and controls. */
html{scroll-behavior:auto;scroll-padding:0;height:100%;overflow-x:hidden}
body{min-height:100%;margin:0;background:#fff;overflow-x:hidden}
main{min-height:100svh;display:flex;align-items:center;justify-content:center}
.village{position:relative;width:min(100vw,150svh);max-width:1600px;margin:0;padding:0;isolation:isolate}
.world-viewport{width:100%;max-width:none;margin:0}
.village-scene{width:100%;max-width:none}
.village-title{position:absolute;top:1%;left:50%;transform:translateX(-50%);width:42%;max-width:620px;margin:0;padding:0;z-index:7;line-height:0;pointer-events:none}
.village-title img{display:block;width:100%;height:auto}
.world-controls{position:absolute;bottom:2.8%;right:4.5%;left:auto;margin:0;padding:0;max-width:none;gap:1px;background:#ffffffb3;border-radius:30px;z-index:8}
.world-controls button,.world-controls #zoom-in,.world-controls #zoom-out,.world-controls #zoom-reset,.world-controls .motion-toggle{border:0;background:none;color:#8c968b;padding:8px;width:38px;min-width:38px;min-height:38px;height:38px;display:flex;align-items:center;justify-content:center;font:19px Georgia,serif;border-radius:50%;letter-spacing:0}
.world-controls #time-toggle{gap:0}.world-controls #time-toggle>span:first-child{font-size:21px;color:#a99783}
.world-controls button:hover{color:#e7217b;background:#fff3f7}.world-controls .motion-icon{font-size:14px}
.world-controls button:focus-visible{outline:1px solid #e2a6bd;outline-offset:1px}
.world-controls #zoom-reset{font-size:22px}
.world-status{position:absolute;bottom:10.5%;left:50%;transform:translateX(-50%);margin:0;max-width:85%;min-height:0;text-align:center;z-index:8;pointer-events:none;opacity:0;transition:opacity .3s;font-size:11px;line-height:1.5;padding:0}
.world-status.surprise{padding:9px 15px;opacity:1;background:#fffdf8e8;color:#ac6480;border-radius:20px;box-shadow:0 2px 18px #425b4b08}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.place-dialog .dialog-footnote{display:none}
@media(max-width:640px){
  .village{width:100%;max-width:none;margin:0;transform:translateY(-3svh)}
  .village-title{top:-24%;width:70%;max-width:360px}
  .world-controls{bottom:-21%;left:50%;right:auto;transform:translateX(-50%);gap:2px;background:transparent}
  .world-controls button,.world-controls #zoom-in,.world-controls #zoom-out,.world-controls #zoom-reset,.world-controls .motion-toggle{width:40px;height:44px;min-width:40px;min-height:44px}
  .world-status{bottom:-4%;width:max-content;max-width:90%;font-size:9px}
  .world-status.surprise{padding:6px 11px}
}
@media(max-height:500px) and (min-width:641px){.village-title{width:36%;top:1%}.world-controls{bottom:1%;right:2%}}
