/* A single flowing rail keeps map tools and menu buttons apart. */
.side-controls{position:fixed;right:max(12px,env(safe-area-inset-right));top:calc(max(12px,env(safe-area-inset-top)) + 55px);bottom:max(180px,calc(env(safe-area-inset-bottom) + 166px));display:flex;flex-direction:column;align-items:center;gap:10px;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;z-index:4;padding:2px 3px;width:62px}
.side-controls::-webkit-scrollbar{display:none}
.side-controls .maptools,.side-controls .right-menu{position:static;display:flex;flex-direction:column;align-items:center;gap:8px;flex:none}
.side-controls .maptools .round{width:44px;height:44px;flex:none}
.side-controls .right-menu button{width:55px;height:57px;flex:none}
.left-menu{top:calc(max(12px,env(safe-area-inset-top)) + 55px);gap:10px}
@media(max-height:500px){
 .side-controls{width:110px;bottom:max(82px,calc(env(safe-area-inset-bottom) + 70px));gap:8px}
 .side-controls .maptools,.side-controls .right-menu{display:grid;grid-template-columns:repeat(2,44px);gap:8px}
 .side-controls .right-menu button{width:44px;height:48px;border-radius:13px}
 .side-controls .right-menu button span{font-size:21px}
 .side-controls .right-menu button small{font-size:9px}
 .left-menu button{min-height:44px}
}
