/* Left tool rail keeps the map centre clear; names appear on hover or focus. */
.map-tools{left:0!important;right:auto!important;top:108px!important;border-radius:0 12px 12px 0;z-index:35}
.map-tools .toolbar-popover{left:58px!important;right:auto!important;z-index:36}
.map-tools summary:hover .tool-label,.map-tools summary:focus-visible .tool-label{clip-path:none;width:max-content;height:auto;overflow:visible;left:58px;top:5px;padding:6px 10px;border-radius:6px;background:#252525;color:#fff;font-size:13px;pointer-events:none;z-index:40}
.map-tools details[open] .tool-label{display:none}
#sidebar{left:76px}.expand{left:76px}
.map-scale{opacity:.5!important;padding:4px 7px!important;font-size:10px!important;box-shadow:none!important;border:0!important;background:#20262655!important;pointer-events:none}
.map-scale small{display:none}.map-scale output{font-size:10px!important}#scale-bar{border-width:1px!important}
#route-plan{position:fixed;right:16px;top:100px;width:306px;max-height:calc(100dvh - 255px);z-index:20;border-radius:14px;overflow:auto;padding:16px;color:#fff8f1;scrollbar-width:thin;box-sizing:border-box}
.plan-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.plan-head h2{font-size:20px;margin:0}.plan-head button{width:36px;min-height:36px;font-size:24px;border:1px solid #fff3;border-radius:8px}
#route-plan.collapsed #plan-body{display:none}.plan-help,.plan-foot{font-size:12px;line-height:1.55;opacity:.8;margin:13px 0}.plan-help kbd{background:#fff2;padding:2px 5px;border-radius:4px}
#plan-mode{font-size:12px;min-height:38px;padding:8px;border:1px solid #fff4;border-radius:8px;width:100%}#plan-mode[aria-pressed=true]{background:#df252f;color:white;border-color:#df252f}
#plan-totals{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 15px;padding:14px 0;border-bottom:1px solid #fff2}#plan-totals strong{font-size:32px;letter-spacing:-1px;color:#ffaca5}#plan-totals strong small{font-size:16px}#plan-totals span{font-size:12px}
#plan-gaps{font-size:12px;color:#ffd2aa;line-height:1.5}#plan-gaps:empty{display:none}
#plan-items{list-style:none;padding:0;margin:12px 0;max-height:270px;overflow:auto}#plan-items li{display:flex;gap:9px;margin:0 0 14px;font-size:12px;line-height:1.4}#plan-items li>div{min-width:0}#plan-items strong{display:block;overflow-wrap:anywhere}#plan-items small{display:block;opacity:.65;margin:4px 0}.plan-number{width:21px;height:21px;flex-shrink:0;background:#d82e37;border-radius:50%;display:grid;place-items:center;font-size:11px}.plan-item-tools{display:flex;flex-wrap:wrap;gap:3px}.plan-item-tools button{font-size:11px;padding:4px 6px;min-height:30px;border:1px solid #fff3;border-radius:5px}
.plan-actions,.plan-export{display:flex;gap:7px;margin:9px 0}.plan-actions button,.plan-export button{flex:1;font-size:12px;padding:9px 6px;min-height:38px;border:1px solid #fff3;border-radius:8px}.plan-export button{background:#d82e37;color:white;border:0}#route-plan button:disabled{opacity:.35;cursor:default}#plan-message{font-size:12px}#plan-message:empty{display:none}
.detail{right:338px;max-height:calc(100dvh - 270px)}.ortho-credit{position:fixed;right:16px;bottom:27px;font-size:9px;z-index:10;color:#fff9;background:#1823219c;padding:3px 6px;border-radius:4px}.ortho-credit a{color:inherit;text-decoration:none}.ortho-credit a:hover{text-decoration:underline}#ortho-status{font-size:11px;opacity:.7}
@media(min-width:901px) and (max-width:1200px){#sidebar{width:270px}.detail{right:338px;width:270px}}
@media(max-width:900px){
 .map-tools{left:0!important;right:auto!important;top:125px!important}.map-tools .toolbar-popover{left:54px!important;right:auto!important;width:calc(100vw - 70px);max-height:calc(100dvh - 220px)}
 #route-plan{top:125px;right:9px;width:min(300px,calc(100vw - 74px));max-height:calc(100dvh - 220px);padding:12px}.plan-head h2{font-size:17px}#plan-items{max-height:24dvh}
 #route-plan:not(.collapsed){z-index:28}.map-sheet-open #route-plan{display:none}#sidebar{left:12px}.detail{right:12px!important;z-index:32}.ortho-credit{bottom:68px;font-size:8px;right:8px}.ortho-credit span{display:none}.map-scale{left:8px!important;bottom:86px!important;opacity:.35!important}
}
@media(min-width:901px){.map-compass{left:0;right:auto;top:420px;transform:scale(.65);transform-origin:top left;opacity:.75}}

#scene canvas.space-pan{cursor:grab!important}#scene canvas.space-panning{cursor:grabbing!important}
