/* Keep map marker positioning and drag gestures intact. */
button,a[href],[role="button"],summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
button:not(.sheet-handle),a[href],[role="button"],summary{transition:filter 90ms ease,box-shadow 90ms ease}
.salgo-pressed,button:active,a[href]:active,[role="button"]:active,summary:active{filter:brightness(.83)!important}
.salgo-tapped{animation:salgo-touch-flash 180ms ease-out}
.salgo-working{cursor:progress}
/* Low specificity preserves positioned map markers and icon controls. */
:where(.salgo-working,button[aria-busy="true"],form[aria-busy="true"] button[type="submit"]){position:relative}
.salgo-working::after,button[aria-busy="true"]::after,form[aria-busy="true"] button[type="submit"]::after{content:'';position:absolute;pointer-events:none;left:12%;right:12%;bottom:4px;height:2px;border-radius:99px;background:linear-gradient(90deg,transparent 30%,currentColor 48%,currentColor 52%,transparent 70%) 180% 0/250% 100% no-repeat;background-color:color-mix(in srgb,currentColor 12%,transparent);opacity:.6;animation:salgo-button-progress 1.45s ease-in-out infinite}
@keyframes salgo-button-progress{from{background-position:180% 0}to{background-position:-80% 0}}
#touch-progress{position:fixed;z-index:11000;top:calc(env(safe-area-inset-top,0px) + 68px);left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:9px;max-width:calc(100vw - 32px);width:max-content;padding:10px 14px;border:1px solid #b9ff4355;border-radius:24px;background:#252d29;color:#fff;font:500 12px/1.4 Roboto,Arial,sans-serif;box-shadow:0 4px 18px #0003;pointer-events:none}
#touch-progress[hidden]{display:none}
#touch-progress::before{content:'';flex:none;width:13px;height:13px;border:2px solid #b9ff4344;border-top-color:#b9ff43;border-radius:50%;animation:salgo-work-spin .8s linear infinite}
@keyframes salgo-touch-flash{from{filter:brightness(.83)}to{filter:brightness(1)}}

@keyframes salgo-work-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.salgo-tapped,.salgo-working,#touch-progress::before{animation:none}button,a[href],[role="button"],summary{transition:none}}

@media(prefers-reduced-motion:reduce){.salgo-working::after,button[aria-busy="true"]::after,form[aria-busy="true"] button[type="submit"]::after{animation:none;background-position:50% 0}}
