/* the ⌖ locate icon on the rail's layer rows and its orange pointer – kg-locate.js (owner 2026-11-04) */
.kgloc { display:inline-flex; align-items:center; justify-content:center; width:22px; height:22px; margin:0 0 0 6px; padding:0;
  border:0; border-radius:50%; background:transparent; color:#9aa5b0; cursor:pointer; vertical-align:middle; flex:none; }
.kgloc:hover, .kgloc:focus-visible { color:#ff8a00; background:#fff3e3; outline:none; }
.kgrm-r > span > b + .kgloc { align-self:flex-start; margin:2px 0 0; }
.kgrm-r > span:has(> .kgloc) { flex-direction:row; flex-wrap:wrap; align-items:center; column-gap:6px; }
.kgrm-r > span:has(> .kgloc) > small { flex-basis:100%; }
.kst-r.l2 > .nm + .kgloc { width:20px; height:20px; margin:0 2px 0 0; }
.kst-tk .kgloc { width:18px; height:18px; margin-left:2px; }
.kst-tk .kgloc svg { width:13px; height:13px; }
body.v3d .kgloc, body.v1d .kgloc, body.vgeol .kgloc { display:none; }

.kgloc-svg { position:fixed; inset:0; width:100vw; height:100vh; pointer-events:none; z-index:2147482000; display:none; overflow:visible; }
.kgloc-svg.on { display:block; }
.kgloc-halo { stroke:#fff; stroke-width:8; stroke-linecap:round; opacity:.8; stroke-dasharray:.1 10; animation:kgloc-march .6s linear infinite; }
.kgloc-line { stroke:#ff8a00; stroke-width:4; stroke-linecap:round; stroke-dasharray:.1 10; animation:kgloc-march .6s linear infinite; }
.kgloc-ring { fill:none; stroke:#ff8a00; stroke-width:3; transition:opacity .25s; transform-box:fill-box; transform-origin:center; animation:kgloc-pulse 1.2s ease-out infinite; }
@keyframes kgloc-march { to { stroke-dashoffset:-10.1; } }
@keyframes kgloc-pulse { 0% { transform:scale(.6); stroke-opacity:1; } 100% { transform:scale(1.6); stroke-opacity:.15; } }
@media (prefers-reduced-motion: reduce) { .kgloc-halo, .kgloc-line, .kgloc-ring { animation:none; } }
