/* SamiMap R97 - one native-feeling route sheet. Uses existing steps and HUD. */
#bx97HudArrow{
 position:fixed;z-index:2147483000;box-sizing:border-box;
 width:48px;height:27px;padding:0;display:grid;place-items:center;
 border-radius:13px 13px 5px 5px;border:1px solid rgba(68,169,252,.52);
 background:rgba(5,28,52,.98);color:#96d6ff;box-shadow:0 -4px 14px rgba(1,12,26,.3);
 cursor:pointer;touch-action:manipulation;transition:background .18s ease;
}
#bx97HudArrow[hidden]{display:none!important}
#bx97HudArrow svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
#bx97RouteSheet{
 position:fixed;z-index:2147483050;
 left:50%;bottom:var(--bx97-hud-offset,120px);
 width:min(670px,calc(100vw - 140px));max-height:min(48dvh,430px);
 display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box;
 background:rgba(4,17,30,.985);color:#eaf4ff;
 border:1px solid rgba(74,167,239,.44);border-radius:22px 22px 14px 14px;
 box-shadow:0 -12px 52px rgba(0,0,0,.48);
 transform:translate(-50%,calc(100% + 30px));opacity:0;visibility:hidden;
 pointer-events:none;transition:transform .32s cubic-bezier(.2,.72,.25,1),opacity .25s ease,visibility .32s;
 font:inherit;
}
#bx97RouteSheet[data-state="peek"],#bx97RouteSheet[data-state="full"]{
 transform:translate(-50%,0);opacity:1;visibility:visible;pointer-events:auto;
}
#bx97RouteSheet[data-state="full"]{
 top:0;bottom:0;left:0;right:0;width:100%;max-height:none;
 transform:none;border-radius:0;border:0;z-index:2147483500;
 padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);
}
#bx97RouteSheet *{box-sizing:border-box}
#bx97RouteSheet .bx97-handle{
 width:100%;height:35px;min-height:35px;border:0;background:transparent;display:grid;place-items:center;
 color:#b8dcff;cursor:pointer;
}
#bx97RouteSheet .bx97-grip{width:42px;height:5px;border-radius:9px;background:#668aa8}
#bx97RouteSheet .bx97-header{
 display:flex;align-items:center;gap:10px;padding:0 15px 11px;border-bottom:1px solid rgba(141,185,219,.15);
}
#bx97RouteSheet .bx97-copy{min-width:0;flex:1}
#bx97RouteSheet .bx97-copy strong{display:block;font-size:16px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#bx97RouteSheet .bx97-copy small{display:block;font-size:11px;color:#a0bed6;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#bx97RouteSheet .bx97-icon-button{
 flex:0 0 36px;width:36px;height:36px;border-radius:11px;display:grid;place-items:center;
 border:1px solid rgba(100,171,232,.33);background:rgba(40,86,121,.25);color:#f3f9ff;cursor:pointer;
}
#bx97RouteSheet .bx97-icon-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#bx97RouteSheet .bx97-full-label{font-size:11px;font-weight:800}
#bx97RouteSheet .bx97-steps{
 flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;
 padding:10px 13px 15px;scrollbar-color:#3279ae transparent;scrollbar-width:thin;
}
#bx97RouteSheet .route-step{
 display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:center;
 padding:12px 8px;border-bottom:1px solid rgba(121,182,221,.16);color:#eff7ff;
}
#bx97RouteSheet .route-step:first-child{background:rgba(13,110,203,.2);border:1px solid rgba(42,150,246,.34);border-radius:13px}
#bx97RouteSheet .route-step-icon{font-weight:800;font-size:27px;text-align:center}
#bx97RouteSheet .route-step strong{font-size:13px;line-height:1.25;overflow-wrap:anywhere}
#bx97RouteSheet .route-step small{display:block;color:#9ab8d2;font-size:11px;margin-top:5px;overflow-wrap:anywhere}
#bx97RouteSheet .route-step-distance{font-size:12px;font-weight:800;white-space:nowrap;color:#c9e8ff}
#bx97RouteSheet .bx97-empty{padding:17px 12px;font-size:13px;color:#bdd3e7}
#bx97RouteSheet[data-state="full"] .bx97-handle{height:45px;min-height:45px}
#bx97RouteSheet[data-state="full"] .bx97-header{padding:0 21px 20px}
#bx97RouteSheet[data-state="full"] .bx97-copy strong{font-size:20px}
#bx97RouteSheet[data-state="full"] .bx97-copy small{font-size:13px}
#bx97RouteSheet[data-state="full"] .bx97-steps{max-width:850px;width:100%;margin:0 auto;padding:18px 22px 30px}
#bx97RouteSheet[data-state="full"] .route-step{padding:17px 11px}
#bx97RouteSheet[data-state="full"] .route-step strong{font-size:16px}
#bx97RouteSheet[data-state="full"] .route-step small{font-size:13px}
#bx97RouteSheet[data-state="full"] .route-step-distance{font-size:14px}
#bx97RouteSheet[data-state="full"] .bx97-handle .bx97-grip{background:#95bad6}
body.bx97-route-full{overflow:hidden!important}
@media(max-width:760px){
 #bx97RouteSheet[data-state="peek"]{
  left:7px;right:7px;width:auto;transform:translateY(0);
  max-height:min(50dvh,390px);border-radius:19px;
 }
 #bx97RouteSheet[data-state="collapsed"]{left:7px;right:7px;width:auto;transform:translateY(calc(100% + 35px))}
 #bx97RouteSheet .bx97-header{padding:0 10px 8px;gap:6px}
 #bx97RouteSheet .bx97-copy strong{font-size:14px}
 #bx97RouteSheet .bx97-copy small{font-size:10px}
 #bx97RouteSheet .bx97-steps{padding:7px 7px 12px}
 #bx97RouteSheet .route-step{grid-template-columns:34px minmax(0,1fr) auto;gap:6px;padding:10px 4px}
 #bx97RouteSheet .route-step-icon{font-size:22px}
 #bx97RouteSheet .route-step strong{font-size:12px}
 #bx97RouteSheet .route-step-distance{font-size:11px}
 #bx97RouteSheet[data-state="full"]{left:0;right:0;width:100%;max-height:none}
 #bx97RouteSheet[data-state="full"] .bx97-steps{padding:10px 12px 24px}
 #bx97RouteSheet[data-state="full"] .route-step strong{font-size:14px}
 #bx97RouteSheet[data-state="full"] .route-step small{font-size:12px}
}
@media(prefers-reduced-motion:reduce){
 #bx97RouteSheet{transition:none!important}
 #bx97HudArrow{transition:none!important}
}