html,body{height:100%;overflow:hidden}canvas.map{cursor:grab;touch-action:none;width:100%;height:100%;display:block;position:fixed;inset:0}canvas.map:active{cursor:grabbing}.places{z-index:5;width:min(22rem,100vw - 2rem);max-height:calc(100svh - 8rem);position:fixed;bottom:clamp(1rem,3vw,2.5rem);left:clamp(1rem,3vw,2.5rem);overflow-y:auto}.places h1{font:700 clamp(2.6rem, 5vw, 4rem)/.9 var(--goth);margin:0 0 1rem}.places ul{border-top:1px solid #ffffff1f;margin:0;padding:0;list-style:none}.places li button{text-align:left;border-bottom:1px solid #ffffff1f;gap:.25rem;width:100%;padding:.8rem 0;display:grid}.places li button b{font:600 1.05rem/1.2 var(--ui);color:#ffffffb3;transition:color .2s, transform .5s var(--spring)}.places li button span{font:500 .88rem/1.35 var(--ui);color:#ffffff73;display:none}.places li button:hover b,.places li button[aria-current=true] b{color:#fff;transform:translate(.4rem)}.places li button[aria-current=true] span{animation:placeIn .5s var(--spring-soft);display:block}@keyframes placeIn{0%{opacity:0;transform:translateY(-.4rem)}}@media (prefers-reduced-motion:reduce){.places li button b{transition:color .2s;transform:none!important}.places li button span{animation:none!important}}.places li button[aria-current=true] b{color:var(--red)}.shade{pointer-events:none;background:linear-gradient(90deg,#050505bf,#0000 38%),linear-gradient(#0000 70%,#05050599),linear-gradient(#05050580,#0000 18%);position:fixed;inset:0}.hint{z-index:5;font:500 .85rem/1.4 var(--ui);color:#ffffff80;text-align:right;transition:opacity .6s;position:fixed;bottom:clamp(1rem,3vw,2.5rem);right:clamp(1rem,3vw,2.5rem)}@media (width<=40rem){.places{bottom:1rem}.places h1{font-size:2.4rem}.hint{display:none}}
