/* Korea GPS Guide STEP30_44 - DRIVE/WALKING activity UI */
.ktg-activity-panel{
  display:flex;
  align-items:stretch;
  gap:10px;
  margin:10px 0 12px;
  padding:10px;
  border:1px solid #dce3ea;
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 24px rgba(15,23,42,.05);
}
.ktg-activity-mode{
  min-width:92px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:4px;
  padding:10px 12px;
  border-radius:13px;
  background:#f3f7fb;
}
.ktg-activity-mode-icon{font-size:20px;line-height:1}
.ktg-activity-mode-name{font-size:11px;font-weight:800;letter-spacing:.05em;color:#334155}
.ktg-activity-metrics{display:grid;grid-template-columns:repeat(3,minmax(92px,1fr));gap:8px;flex:1;min-width:0}
.ktg-activity-item{min-width:0;padding:9px 11px;border-radius:12px;background:#f8fafc;border:1px solid #edf1f5}
.ktg-activity-label{display:block;font-size:10px;font-weight:700;letter-spacing:.04em;color:#64748b;margin-bottom:4px}
.ktg-activity-value{display:block;font-size:17px;font-weight:800;color:#0f172a;white-space:nowrap}
.ktg-activity-route-state{display:flex;align-items:center;gap:6px;margin-top:7px;font-size:10px;font-weight:700;color:#64748b}
.ktg-activity-route-dot{width:7px;height:7px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.12)}
.ktg-activity-walking-only{display:none!important}
html[data-travel-mode="walking"] .ktg-activity-walking-only{display:block!important}
html[data-travel-mode="walking"] .ktg-activity-drive-only{display:none!important}
html[data-travel-mode="walking"] .ktg-activity-metrics{grid-template-columns:repeat(3,minmax(92px,1fr))}
html[data-travel-mode="drive"] .ktg-activity-metrics{grid-template-columns:repeat(2,minmax(100px,1fr))}

/* Current-position presentation. These classes are applied directly by activity-tracker.js. */
.current-location-marker.ktg-walking-marker .current-location-pulse,
.current-location-marker.ktg-walking-marker .current-location-core{display:none!important}
.current-location-marker .ktg-walking-person{display:none}
.current-location-marker.ktg-walking-marker .ktg-walking-person{
  display:grid;
  place-items:center;
  position:relative;
  z-index:4;
  width:38px;
  height:38px;
  border-radius:50%;
  background:rgba(255,255,255,.96);
  border:2px solid #16a34a;
  box-shadow:0 3px 12px rgba(15,23,42,.28);
  font-size:24px;
  line-height:1;
}
.current-location-marker.ktg-drive-marker::before{
  content:'';
  position:absolute;
  z-index:1;
  left:50%;
  bottom:22px;
  transform:translateX(-50%);
  width:36px;
  height:78px;
  clip-path:polygon(43% 100%,57% 100%,100% 0,0 0);
  background:linear-gradient(to top,rgba(56,189,248,.38),rgba(125,211,252,.03));
  pointer-events:none;
  filter:blur(.4px);
}
.ktg-user-watermark{
  position:absolute;
  z-index:7;
  left:50%;
  top:43px;
  transform:translateX(-50%);
  max-width:140px;
  padding:3px 8px;
  border-radius:999px;
  background:rgba(15,23,42,.72);
  color:#fff;
  font-size:10px;
  font-weight:700;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  box-shadow:0 2px 8px rgba(15,23,42,.2);
  pointer-events:none;
}
@media (max-width:640px){
  .ktg-activity-panel{gap:7px;padding:8px;border-radius:14px}
  .ktg-activity-mode{min-width:68px;padding:8px}
  .ktg-activity-mode-icon{font-size:18px}
  .ktg-activity-mode-name{font-size:9px}
  .ktg-activity-metrics{gap:6px!important}
  .ktg-activity-item{padding:8px}
  .ktg-activity-value{font-size:14px}
  .ktg-activity-label{font-size:9px}
}

/* STEP30_45: WALKING current-position single-marker guarantee */
html[data-travel-mode="walking"] .current-location-marker.ktg-walking-marker > .current-location-pulse,
html[data-travel-mode="walking"] .current-location-marker.ktg-walking-marker > .current-location-core{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
}
html[data-travel-mode="walking"] .current-location-marker.ktg-walking-marker::before,
html[data-travel-mode="walking"] .current-location-marker.ktg-walking-marker::after{
  display:none!important;
}


/* STEP30_46: native map marker per travel mode.
   WALKING is rendered by map.js itself; activity-tracker no longer overlays a second icon. */
.current-location-marker.current-location-marker-walking{
  display:grid!important;
  place-items:center!important;
  width:38px!important;
  height:38px!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.97)!important;
  border:2px solid #16a34a!important;
  box-shadow:0 3px 12px rgba(15,23,42,.28)!important;
}
.current-location-marker.current-location-marker-walking .current-location-walker{
  display:block!important;
  font-size:24px!important;
  line-height:1!important;
  transform:translateY(-1px);
}
.current-location-marker.current-location-marker-walking .current-location-pulse,
.current-location-marker.current-location-marker-walking .current-location-core{display:none!important}
.current-location-marker.current-location-marker-drive::before{
  content:'';
  position:absolute;
  z-index:1;
  left:50%;
  bottom:22px;
  transform:translateX(-50%);
  width:36px;
  height:78px;
  clip-path:polygon(43% 100%,57% 100%,100% 0,0 0);
  background:linear-gradient(to top,rgba(56,189,248,.38),rgba(125,211,252,.03));
  pointer-events:none;
  filter:blur(.4px);
}


/* STEP30_51 - logged-in user watermark polish */
.ktg-user-watermark{
  top:46px;
  min-width:44px;
  max-width:150px;
  padding:4px 9px;
  border:1px solid rgba(255,255,255,.48);
  background:rgba(15,23,42,.76);
  -webkit-backdrop-filter:blur(7px);
  backdrop-filter:blur(7px);
  font-size:10px;
  font-weight:800;
  letter-spacing:.01em;
  text-align:center;
}
html[data-travel-mode="walking"] .ktg-user-watermark{
  background:rgba(20,83,45,.82);
}
@media (max-width:640px){
  .ktg-user-watermark{top:43px;max-width:120px;font-size:9px;padding:3px 7px}
}

/* STEP30_55 - subtle DRIVE forward guide light.
   Short, narrow cue only; WALKING has no forward light. */
html[data-travel-mode="drive"] .current-location-marker.current-location-marker-drive{
  overflow:visible!important;
  isolation:isolate;
}
html[data-travel-mode="drive"] .current-location-marker.current-location-marker-drive::before{
  content:''!important;
  display:block!important;
  position:absolute!important;
  z-index:-1!important;
  left:50%!important;
  bottom:18px!important;
  width:38px!important;
  height:76px!important;
  transform:translateX(-50%)!important;
  transform-origin:50% 100%!important;
  clip-path:polygon(42% 100%,58% 100%,88% 0,12% 0)!important;
  background:linear-gradient(to top,rgba(37,99,235,.44) 0%,rgba(59,130,246,.26) 42%,rgba(147,197,253,.10) 72%,rgba(255,255,255,0) 100%)!important;
  filter:drop-shadow(0 -4px 5px rgba(37,99,235,.12))!important;
  pointer-events:none!important;
}
html[data-travel-mode="drive"] .current-location-marker.current-location-marker-drive::after{
  content:'';
  position:absolute;
  z-index:-1;
  left:50%;
  bottom:18px;
  width:6px;
  height:54px;
  transform:translateX(-50%);
  border-radius:999px;
  background:linear-gradient(to top,rgba(255,255,255,.55),rgba(147,197,253,.20) 48%,rgba(255,255,255,0));
  filter:blur(.8px);
  pointer-events:none;
}
html[data-travel-mode="walking"] .current-location-marker.current-location-marker-walking::before,
html[data-travel-mode="walking"] .current-location-marker.current-location-marker-walking::after{
  content:none!important;
  display:none!important;
}
@media (max-width:640px){
  html[data-travel-mode="drive"] .current-location-marker.current-location-marker-drive::before{
    width:32px!important;
    height:64px!important;
  }
  html[data-travel-mode="drive"] .current-location-marker.current-location-marker-drive::after{
    width:5px;
    height:46px;
  }
}

/* STEP30_56 - final travel marker presentation.
   DRIVE: top-down car + very short forward light.
   WALKING: person only, no small surrounding ring and no light.
   Large GPS accuracy circle remains a Leaflet layer in map.js. */
html[data-travel-mode="walking"] .current-location-marker.current-location-marker-walking{
  width:32px!important;
  height:38px!important;
  display:grid!important;
  place-items:center!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
html[data-travel-mode="walking"] .current-location-marker.current-location-marker-walking .current-location-walker{
  display:block!important;
  font-size:26px!important;
  line-height:1!important;
  transform:none!important;
  filter:drop-shadow(0 2px 2px rgba(15,23,42,.22));
}
html[data-travel-mode="walking"] .current-location-marker.current-location-marker-walking::before,
html[data-travel-mode="walking"] .current-location-marker.current-location-marker-walking::after{
  content:none!important;
  display:none!important;
}

html[data-travel-mode="drive"] .current-location-marker.current-location-marker-drive{
  width:38px!important;
  height:42px!important;
  display:grid!important;
  place-items:center!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
  isolation:isolate;
}
html[data-travel-mode="drive"] .current-location-marker.current-location-marker-drive .current-location-pulse,
html[data-travel-mode="drive"] .current-location-marker.current-location-marker-drive .current-location-core{
  display:none!important;
}
html[data-travel-mode="drive"] .current-location-car{
  position:relative;
  z-index:3;
  width:25px;
  height:38px;
  display:block;
  filter:drop-shadow(0 3px 3px rgba(15,23,42,.30));
}
html[data-travel-mode="drive"] .current-location-car svg{width:100%;height:100%;display:block}
html[data-travel-mode="drive"] .ktg-car-body{fill:#f8fafc;stroke:#0f172a;stroke-width:1.35}
html[data-travel-mode="drive"] .ktg-car-glass{fill:#94a3b8;stroke:#334155;stroke-width:.65}
html[data-travel-mode="drive"] .ktg-car-window{fill:#334155;opacity:.90}
html[data-travel-mode="drive"] .ktg-car-highlight{fill:#fff;opacity:.58}
html[data-travel-mode="drive"] .ktg-car-light{fill:#ef4444}

/* Deliberately tiny heading cue: only a short glow immediately ahead of the car. */
html[data-travel-mode="drive"] .current-location-marker.current-location-marker-drive::before{
  content:''!important;
  display:block!important;
  position:absolute!important;
  z-index:1!important;
  left:50%!important;
  bottom:30px!important;
  width:20px!important;
  height:27px!important;
  transform:translateX(-50%)!important;
  clip-path:polygon(42% 100%,58% 100%,82% 0,18% 0)!important;
  background:linear-gradient(to top,rgba(37,99,235,.32),rgba(96,165,250,.13) 56%,rgba(255,255,255,0))!important;
  filter:blur(.25px)!important;
  pointer-events:none!important;
}
html[data-travel-mode="drive"] .current-location-marker.current-location-marker-drive::after{
  content:''!important;
  display:block!important;
  position:absolute!important;
  z-index:1!important;
  left:50%!important;
  bottom:30px!important;
  width:3px!important;
  height:19px!important;
  transform:translateX(-50%)!important;
  border-radius:999px!important;
  background:linear-gradient(to top,rgba(219,234,254,.62),rgba(147,197,253,.12),rgba(255,255,255,0))!important;
  filter:blur(.5px)!important;
  pointer-events:none!important;
}
@media (max-width:640px){
  html[data-travel-mode="drive"] .current-location-car{width:23px;height:35px}
  html[data-travel-mode="drive"] .current-location-marker.current-location-marker-drive::before{width:18px!important;height:23px!important;bottom:28px!important}
  html[data-travel-mode="drive"] .current-location-marker.current-location-marker-drive::after{height:16px!important;bottom:28px!important}
}


/* STEP30_57 - approved DRIVE marker visual.
   Top-down white/black car + short, slightly wide forward light.
   WALKING remains person-only with no light/ring. */
html[data-travel-mode="drive"] .current-location-car{
  width:25px!important;
  height:38px!important;
  filter:drop-shadow(0 3px 3px rgba(15,23,42,.34))!important;
}
html[data-travel-mode="drive"] .ktg-car-body{
  fill:#f8fafc!important;
  stroke:#111827!important;
  stroke-width:1.45!important;
}
html[data-travel-mode="drive"] .ktg-car-glass{
  fill:#111827!important;
  stroke:#0f172a!important;
  stroke-width:.7!important;
}
html[data-travel-mode="drive"] .ktg-car-window{
  fill:#0b0f16!important;
  opacity:.98!important;
}
html[data-travel-mode="drive"] .ktg-car-highlight{
  fill:#ffffff!important;
  opacity:.34!important;
}
html[data-travel-mode="drive"] .ktg-car-light{fill:#ef4444!important}

/* Approved beam: wider than STEP30_56, but deliberately shorter. */
html[data-travel-mode="drive"] .current-location-marker.current-location-marker-drive::before{
  bottom:30px!important;
  width:24px!important;
  height:20px!important;
  clip-path:polygon(40% 100%,60% 100%,78% 0,22% 0)!important;
  background:linear-gradient(to top,rgba(37,99,235,.34),rgba(96,165,250,.15) 55%,rgba(255,255,255,0))!important;
  filter:blur(.2px)!important;
}
html[data-travel-mode="drive"] .current-location-marker.current-location-marker-drive::after{
  bottom:30px!important;
  width:3px!important;
  height:13px!important;
  background:linear-gradient(to top,rgba(219,234,254,.62),rgba(147,197,253,.12),rgba(255,255,255,0))!important;
}
html[data-travel-mode="walking"] .current-location-marker.current-location-marker-walking::before,
html[data-travel-mode="walking"] .current-location-marker.current-location-marker-walking::after{
  content:none!important;
  display:none!important;
}
@media (max-width:640px){
  html[data-travel-mode="drive"] .current-location-car{width:23px!important;height:35px!important}
  html[data-travel-mode="drive"] .current-location-marker.current-location-marker-drive::before{
    width:22px!important;height:18px!important;bottom:28px!important;
  }
  html[data-travel-mode="drive"] .current-location-marker.current-location-marker-drive::after{
    height:12px!important;bottom:28px!important;
  }
}


/* STEP30_58 - car visibility refinement only.
   Approved beam size is intentionally unchanged. */
html[data-travel-mode="drive"] .current-location-car{
  width:29px!important;
  height:44px!important;
}
@media (max-width:640px){
  html[data-travel-mode="drive"] .current-location-car{
    width:27px!important;
    height:41px!important;
  }
}


/* STEP30_60 - compact local trip history summary */
.ktg-activity-history{
  grid-column:1/-1;
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
  padding:7px 10px;
  margin-top:2px;
  border-top:1px solid rgba(148,163,184,.22);
  font-size:11px;
  color:#475569;
}
.ktg-activity-history strong{
  color:#0f172a;
  font-size:11px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.ktg-history-label{
  color:#64748b;
  white-space:nowrap;
}
.ktg-history-count{
  margin-left:auto;
  color:#64748b;
  white-space:nowrap;
}
@media(max-width:640px){
  .ktg-activity-history{font-size:10px;padding:6px 8px;gap:6px}
  .ktg-activity-history strong{font-size:10px}
}

/* STEP30_63 - reference-inspired top-view white sedan + short fan beam */
html[data-travel-mode="drive"] .current-location-car{width:31px!important;height:49px!important}
html[data-travel-mode="drive"] .ktg-car-body{fill:#f5f1df!important;stroke:#1f2937!important;stroke-width:1.15!important}
html[data-travel-mode="drive"] .ktg-car-glass,
html[data-travel-mode="drive"] .ktg-car-window,
html[data-travel-mode="drive"] .ktg-car-rear-glass{fill:#263746!important;stroke:#111827!important;stroke-width:.55!important}
html[data-travel-mode="drive"] .ktg-car-roof{fill:#e8e4d4!important;stroke:#64748b!important;stroke-width:.45!important}
html[data-travel-mode="drive"] .ktg-car-bumper{fill:#ded9c8!important;stroke:#64748b!important;stroke-width:.4!important}
html[data-travel-mode="drive"] .ktg-car-highlight{fill:#fff!important;opacity:.38!important}
html[data-travel-mode="drive"] .current-location-marker.current-location-marker-drive::before{
  bottom:35px!important;width:34px!important;height:18px!important;
  clip-path:polygon(46% 100%,54% 100%,100% 0,0 0)!important;
  background:linear-gradient(to top,rgba(147,197,253,.34),rgba(191,219,254,.18) 58%,rgba(255,255,255,0))!important;
}
html[data-travel-mode="drive"] .current-location-marker.current-location-marker-drive::after{
  content:none!important;display:none!important;
}
@media(max-width:640px){
  html[data-travel-mode="drive"] .current-location-car{width:29px!important;height:46px!important}
  html[data-travel-mode="drive"] .current-location-marker.current-location-marker-drive::before{bottom:33px!important;width:32px!important;height:17px!important}
}

/* STEP30_64 */
.current-location-marker.current-location-marker-walking{width:44px!important;height:54px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.current-location-marker.current-location-marker-walking .current-location-walker{width:44px!important;height:54px!important;display:block!important;font-size:0!important;transform:none!important;filter:drop-shadow(0 3px 3px rgba(15,23,42,.22))}
.ktg-walker-svg{width:44px;height:54px;overflow:visible}
.ktg-walker-svg .ktg-walk-arm-a,.ktg-walker-svg .ktg-walk-arm-b,.ktg-walker-svg .ktg-walk-leg-a path,.ktg-walker-svg .ktg-walk-leg-b path,.ktg-walker-svg .ktg-walk-shoe{fill:none;stroke:#263238;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.ktg-walker-svg .ktg-walk-arm-a,.ktg-walker-svg .ktg-walk-arm-b{stroke-width:3}
.current-location-marker-walking.is-walking .ktg-walk-leg-a{transform-origin:23px 31px;animation:ktgWalkA .56s ease-in-out infinite alternate}
.current-location-marker-walking.is-walking .ktg-walk-leg-b{transform-origin:25px 31px;animation:ktgWalkB .56s ease-in-out infinite alternate}
.current-location-marker-walking.is-walking .ktg-walker-svg{animation:ktgBob .28s ease-in-out infinite alternate}
@keyframes ktgWalkA{from{transform:rotate(14deg)}to{transform:rotate(-14deg)}}
@keyframes ktgWalkB{from{transform:rotate(-14deg)}to{transform:rotate(14deg)}}
@keyframes ktgBob{from{transform:translateY(0)}to{transform:translateY(-1px)}}
@media(prefers-reduced-motion:reduce){.current-location-marker-walking.is-walking *{animation:none!important}}
html[data-travel-mode="drive"] .current-location-car{width:34px!important;height:54px!important;filter:drop-shadow(0 3px 3px rgba(15,23,42,.25))}
html[data-travel-mode="drive"] .current-location-car svg{width:34px!important;height:54px!important;display:block}


/* STEP30_65 - approved DRIVE Design 2 + movement-only short fan light */
html[data-travel-mode="drive"] .current-location-marker.current-location-marker-drive{
  width:48px!important;
  height:62px!important;
  overflow:visible!important;
}
html[data-travel-mode="drive"] .current-location-car{
  width:44px!important;
  height:62px!important;
  display:block!important;
  filter:drop-shadow(0 3px 3px rgba(15,23,42,.26))!important;
}
html[data-travel-mode="drive"] .current-location-car svg{
  width:44px!important;
  height:62px!important;
  display:block!important;
}
html[data-travel-mode="drive"] .ktg-car-shadow{fill:rgba(15,23,42,.16)}
html[data-travel-mode="drive"] .ktg-car-body{fill:#f4f0df!important;stroke:#1f2937!important;stroke-width:1.05!important}
html[data-travel-mode="drive"] .ktg-car-front-glass,
html[data-travel-mode="drive"] .ktg-car-side-window,
html[data-travel-mode="drive"] .ktg-car-rear-glass{fill:#243746!important;stroke:#111827!important;stroke-width:.5!important}
html[data-travel-mode="drive"] .ktg-car-roof{fill:#e8e3d2!important;stroke:#94a3b8!important;stroke-width:.4!important}
html[data-travel-mode="drive"] .ktg-car-hood,
html[data-travel-mode="drive"] .ktg-car-trunk{fill:#eee9d8!important;stroke:#94a3b8!important;stroke-width:.35!important}
html[data-travel-mode="drive"] .ktg-car-mirror{fill:#1f2937!important}
html[data-travel-mode="drive"] .ktg-car-highlight{fill:#fff!important;opacity:.38!important}
html[data-travel-mode="drive"] .ktg-car-rear-light{fill:#ef4444!important}

/* Hidden while stopped. Front is the top of the top-view vehicle. */
html[data-travel-mode="drive"] .current-location-marker.current-location-marker-drive::before{
  content:''!important;
  display:block!important;
  position:absolute!important;
  z-index:1!important;
  left:50%!important;
  bottom:51px!important;
  width:42px!important;
  height:19px!important;
  transform:translateX(-50%) scaleY(.2)!important;
  transform-origin:50% 100%!important;
  opacity:0!important;
  clip-path:polygon(47% 100%,53% 100%,100% 0,0 0)!important;
  background:linear-gradient(to top,rgba(96,165,250,.42),rgba(147,197,253,.19) 58%,rgba(255,255,255,0))!important;
  filter:blur(.2px)!important;
  transition:opacity .18s ease,transform .18s ease!important;
  pointer-events:none!important;
}
html[data-travel-mode="drive"] .current-location-marker.current-location-marker-drive.is-driving::before{
  opacity:.9!important;
  transform:translateX(-50%) scaleY(1)!important;
}
html[data-travel-mode="drive"] .current-location-marker.current-location-marker-drive::after{
  content:none!important;
  display:none!important;
}
html[data-travel-mode="walking"] .current-location-marker.current-location-marker-walking::before,
html[data-travel-mode="walking"] .current-location-marker.current-location-marker-walking::after{
  content:none!important;display:none!important;
}
@media(max-width:640px){
  html[data-travel-mode="drive"] .current-location-marker.current-location-marker-drive{width:44px!important;height:58px!important}
  html[data-travel-mode="drive"] .current-location-car{width:41px!important;height:58px!important}
  html[data-travel-mode="drive"] .current-location-car svg{width:41px!important;height:58px!important}
  html[data-travel-mode="drive"] .current-location-marker.current-location-marker-drive::before{bottom:48px!important;width:39px!important;height:18px!important}
}

/* STEP30_66 - exact user-approved DRIVE design 2 image.
   Do not redraw/approximate this vehicle with SVG. */
html[data-travel-mode="drive"] .current-location-marker.current-location-marker-drive{
  width:50px!important;
  height:78px!important;
  overflow:visible!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
html[data-travel-mode="drive"] .current-location-car{
  position:relative!important;
  z-index:3!important;
  width:34px!important;
  height:76px!important;
  display:block!important;
  margin:0 auto!important;
  filter:drop-shadow(0 3px 3px rgba(15,23,42,.24))!important;
}
html[data-travel-mode="drive"] .current-location-car .ktg-car-approved-image{
  width:34px!important;
  height:76px!important;
  object-fit:fill!important;
  display:block!important;
  user-select:none!important;
  pointer-events:none!important;
}

/* Front light is hidden when stopped and only appears while driving.
   Front of the approved vehicle is at the top. */
html[data-travel-mode="drive"] .current-location-marker.current-location-marker-drive::before{
  content:''!important;
  position:absolute!important;
  display:block!important;
  z-index:2!important;
  left:50%!important;
  bottom:69px!important;
  width:48px!important;
  height:20px!important;
  transform:translateX(-50%) scaleY(.18)!important;
  transform-origin:50% 100%!important;
  opacity:0!important;
  clip-path:polygon(45% 100%,55% 100%,100% 0,0 0)!important;
  background:linear-gradient(to top,
    rgba(253,230,138,.55),
    rgba(254,240,138,.30) 55%,
    rgba(255,255,255,0))!important;
  filter:blur(.15px)!important;
  transition:opacity .16s ease,transform .16s ease!important;
  pointer-events:none!important;
}
html[data-travel-mode="drive"] .current-location-marker.current-location-marker-drive.is-driving::before{
  opacity:.92!important;
  transform:translateX(-50%) scaleY(1)!important;
}
@media(max-width:640px){
  html[data-travel-mode="drive"] .current-location-marker.current-location-marker-drive{
    width:46px!important;height:72px!important;
  }
  html[data-travel-mode="drive"] .current-location-car{
    width:32px!important;height:70px!important;
  }
  html[data-travel-mode="drive"] .current-location-car .ktg-car-approved-image{
    width:32px!important;height:70px!important;
  }
  html[data-travel-mode="drive"] .current-location-marker.current-location-marker-drive::before{
    bottom:64px!important;width:44px!important;height:18px!important;
  }
}

/* STEP30_67 - exact user-selected WALKING design 2.
   Pink top, black pants, black backpack. No green stick figure. */
.current-location-marker.current-location-marker-walking{
  width:46px!important;
  height:58px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.current-location-marker.current-location-marker-walking .current-location-walker{
  width:46px!important;
  height:58px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:0!important;
  line-height:0!important;
  transform:none!important;
  filter:drop-shadow(0 2px 2px rgba(15,23,42,.18))!important;
}
.current-location-marker.current-location-marker-walking .ktg-walker-approved-image{
  width:44px!important;
  height:58px!important;
  object-fit:contain!important;
  display:block!important;
  user-select:none!important;
  pointer-events:none!important;
  transform-origin:50% 82%!important;
}
/* While real GPS movement is being visually interpolated, give the approved
   walking image a subtle natural gait motion without replacing the artwork. */
.current-location-marker.current-location-marker-walking.is-walking .ktg-walker-approved-image{
  animation:ktgApprovedWalk .42s ease-in-out infinite alternate!important;
}
@keyframes ktgApprovedWalk{
  from{transform:translateY(0) rotate(-1.2deg)}
  to{transform:translateY(-1.4px) rotate(1.2deg)}
}
@media(prefers-reduced-motion:reduce){
  .current-location-marker.current-location-marker-walking.is-walking .ktg-walker-approved-image{
    animation:none!important;
  }
}


/* STEP30_81 - approved DRIVE Design 2: size-only reduction.
   The exact approved image, heading, movement smoothing and light behavior are unchanged. */
html[data-travel-mode="drive"] .current-location-marker.current-location-marker-drive{
  width:38px!important;
  height:60px!important;
}
html[data-travel-mode="drive"] .current-location-car{
  width:27px!important;
  height:60px!important;
}
html[data-travel-mode="drive"] .current-location-car .ktg-car-approved-image{
  width:27px!important;
  height:60px!important;
}
html[data-travel-mode="drive"] .current-location-marker.current-location-marker-drive::before{
  bottom:54px!important;
  width:38px!important;
  height:16px!important;
}

@media(max-width:640px){
  html[data-travel-mode="drive"] .current-location-marker.current-location-marker-drive{
    width:36px!important;
    height:56px!important;
  }
  html[data-travel-mode="drive"] .current-location-car{
    width:25px!important;
    height:55px!important;
  }
  html[data-travel-mode="drive"] .current-location-car .ktg-car-approved-image{
    width:25px!important;
    height:55px!important;
  }
  html[data-travel-mode="drive"] .current-location-marker.current-location-marker-drive::before{
    bottom:50px!important;
    width:35px!important;
    height:15px!important;
  }
}


/* STEP30_82 - approved DRIVE Design 2: 50% smaller than STEP30_81.
   Size only. Approved car image/design and all behavior remain unchanged. */
html[data-travel-mode="drive"] .current-location-marker.current-location-marker-drive{
  width:19px!important;
  height:30px!important;
}
html[data-travel-mode="drive"] .current-location-car{
  width:13.5px!important;
  height:30px!important;
}
html[data-travel-mode="drive"] .current-location-car .ktg-car-approved-image{
  width:13.5px!important;
  height:30px!important;
}
html[data-travel-mode="drive"] .current-location-marker.current-location-marker-drive::before{
  bottom:27px!important;
  width:19px!important;
  height:8px!important;
}

@media(max-width:640px){
  html[data-travel-mode="drive"] .current-location-marker.current-location-marker-drive{
    width:18px!important;
    height:28px!important;
  }
  html[data-travel-mode="drive"] .current-location-car{
    width:12.5px!important;
    height:27.5px!important;
  }
  html[data-travel-mode="drive"] .current-location-car .ktg-car-approved-image{
    width:12.5px!important;
    height:27.5px!important;
  }
  html[data-travel-mode="drive"] .current-location-marker.current-location-marker-drive::before{
    bottom:25px!important;
    width:17.5px!important;
    height:7.5px!important;
  }
}


/* STEP30_83 - final marker centering.
   DRIVE: STEP30_82 size unchanged, center only.
   WALKING: approved design unchanged, 50% visual size, center only.
   GPS accuracy circle itself is unchanged. */

html[data-travel-mode="drive"] .current-location-marker.current-location-marker-drive{
  display:grid!important;
  place-items:center!important;
  transform:translate(-50%,-50%)!important;
}
html[data-travel-mode="drive"] .current-location-car{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  margin:0!important;
  transform:translate(-50%,-50%)!important;
  transform-origin:50% 50%!important;
}
html[data-travel-mode="drive"] .current-location-car .ktg-car-approved-image{
  display:block!important;
  margin:0!important;
  object-position:center center!important;
}

html[data-travel-mode="walking"] .current-location-marker.current-location-marker-walking{
  display:grid!important;
  place-items:center!important;
  transform:translate(-50%,-50%)!important;
}
html[data-travel-mode="walking"] .current-location-walker{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  margin:0!important;
  transform:translate(-50%,-50%) scale(.5)!important;
  transform-origin:50% 50%!important;
}
html[data-travel-mode="walking"] .current-location-walker .ktg-walking-approved-image,
html[data-travel-mode="walking"] .current-location-walker img{
  display:block!important;
  margin:0!important;
  object-position:center center!important;
}


/* STEP30_84 - requested final visual correction.
   DRIVE: size unchanged; center anchor only.
   WALKING: half of STEP30_83 visible size; center retained.
   Accuracy circle and GPS coordinates are untouched. */

html[data-travel-mode="drive"] .current-location-car{
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-36%)!important;
  transform-origin:50% 50%!important;
}

html[data-travel-mode="walking"] .current-location-walker{
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%) scale(.25)!important;
  transform-origin:50% 50%!important;
}


/* STEP30_85 - WEB + Android WebView shared final marker geometry.
   IMPORTANT:
   - Do not translate the inner marker relative to the old large Leaflet icon box.
   - map.js now makes the Leaflet icon box itself the final visible size and anchors
     its exact center to the GPS coordinate.
   - Accuracy circle remains the original Leaflet circle at the same GPS LatLng. */

/* DRIVE: keep the currently approved small size, exact center. */
html[data-travel-mode="drive"] .current-location-marker.current-location-marker-drive{
  position:relative!important;
  left:auto!important;
  top:auto!important;
  width:18px!important;
  height:28px!important;
  display:grid!important;
  place-items:center!important;
  transform:none!important;
  margin:0!important;
}
html[data-travel-mode="drive"] .current-location-car{
  position:relative!important;
  left:auto!important;
  top:auto!important;
  width:12.5px!important;
  height:27.5px!important;
  display:block!important;
  margin:0!important;
  transform:none!important;
  transform-origin:50% 50%!important;
}
html[data-travel-mode="drive"] .current-location-car .ktg-car-approved-image{
  width:12.5px!important;
  height:27.5px!important;
  margin:0!important;
  display:block!important;
  object-fit:fill!important;
}
html[data-travel-mode="drive"] .current-location-marker.current-location-marker-drive::before{
  left:50%!important;
  bottom:25px!important;
  width:17.5px!important;
  height:7.5px!important;
}

/* WALKING: approved female image, 50% of the previous real-app visual size. */
html[data-travel-mode="walking"] .current-location-marker.current-location-marker-walking{
  position:relative!important;
  left:auto!important;
  top:auto!important;
  width:22px!important;
  height:29px!important;
  display:grid!important;
  place-items:center!important;
  transform:none!important;
  margin:0!important;
}
html[data-travel-mode="walking"] .current-location-walker{
  position:relative!important;
  left:auto!important;
  top:auto!important;
  width:22px!important;
  height:29px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  transform:none!important;
  transform-origin:50% 50%!important;
}
html[data-travel-mode="walking"] .current-location-walker .ktg-walker-approved-image{
  width:22px!important;
  height:29px!important;
  display:block!important;
  margin:0!important;
  object-fit:contain!important;
  object-position:center center!important;
}

/* STEP31_12 - marker size center lock.
   Keep the Leaflet GPS anchor, visible person/car and accuracy circle on one center.
   Scale the visible artwork exactly once around its own center. */
.current-location-marker-wrapper{
  overflow:visible!important;
}
html[data-travel-mode="walking"] .current-location-marker.current-location-marker-walking,
html[data-travel-mode="drive"] .current-location-marker.current-location-marker-drive{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  margin:0!important;
  transform:translate(-50%,-50%) scale(var(--ktg-marker-scale,1))!important;
  transform-origin:50% 50%!important;
}

/* STEP31_13 - marker size: STEP30_85 center geometry + real artwork scaling.
   The Leaflet icon box is already scaled by map.js. Children fill that box,
   so 60~260% changes the person/car itself, not the GPS accuracy circle. */
.current-location-marker-wrapper{
  overflow:visible!important;
}
html[data-travel-mode="walking"] .current-location-marker.current-location-marker-walking,
html[data-travel-mode="drive"] .current-location-marker.current-location-marker-drive{
  position:relative!important;
  left:auto!important;
  top:auto!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  transform:none!important;
  transform-origin:50% 50%!important;
  display:grid!important;
  place-items:center!important;
  overflow:visible!important;
}
html[data-travel-mode="walking"] .current-location-walker{
  position:relative!important;
  left:auto!important;
  top:auto!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  transform:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
html[data-travel-mode="walking"] .current-location-walker .ktg-walker-approved-image,
html[data-travel-mode="walking"] .current-location-walker img,
html[data-travel-mode="walking"] .current-location-walker svg{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  display:block!important;
  object-fit:contain!important;
  object-position:center center!important;
}
html[data-travel-mode="drive"] .current-location-car{
  position:relative!important;
  left:auto!important;
  top:auto!important;
  width:69.444%!important;
  height:98.214%!important;
  margin:0!important;
  transform:none!important;
  display:block!important;
}
html[data-travel-mode="drive"] .current-location-car .ktg-car-approved-image,
html[data-travel-mode="drive"] .current-location-car img,
html[data-travel-mode="drive"] .current-location-car svg{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  display:block!important;
  object-fit:contain!important;
  object-position:center center!important;
}

/* STEP31_13 - compact size controls requested by user.
   Keep the original simple two-row design and leave room for the map selector. */
.ktg-marker-size-controls{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:5px 10px!important;
  align-items:center!important;
  padding:7px 10px!important;
  min-height:58px!important;
  box-sizing:border-box!important;
}
.ktg-marker-size-controls label{
  display:grid!important;
  grid-template-columns:auto minmax(72px,150px)!important;
  align-items:center!important;
  gap:7px!important;
  margin:0!important;
  padding:0!important;
  font-size:12px!important;
  font-weight:800!important;
  line-height:1.2!important;
  white-space:nowrap!important;
}
.ktg-marker-size-controls input[type="range"]{
  width:100%!important;
  min-width:72px!important;
  max-width:150px!important;
  margin:0!important;
  padding:0!important;
  height:18px!important;
}
.ktg-marker-size-controls output{
  display:none!important;
}
@media (max-width:640px){
  .ktg-marker-size-controls{
    grid-template-columns:minmax(0,1fr) 122px!important;
    padding:6px 8px!important;
    gap:4px 8px!important;
  }
  .ktg-marker-size-controls label{
    grid-template-columns:auto minmax(58px,92px)!important;
    gap:5px!important;
    font-size:11px!important;
  }
  .ktg-marker-size-controls input[type="range"]{
    min-width:58px!important;
    max-width:92px!important;
  }
}

/* STEP31_13 final compact control layout: same simple design as the user's
   reference image. The selector occupies the reserved right side, never the range. */
.ktg-marker-size-controls{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:4px!important;
  padding:6px 138px 6px 8px!important;
  min-height:58px!important;
}
.ktg-marker-size-controls label{
  display:grid!important;
  grid-template-columns:auto minmax(72px,118px) 38px!important;
  align-items:center!important;
  justify-content:start!important;
  gap:5px!important;
  font-size:11px!important;
}
.ktg-marker-size-controls input[type="range"]{
  width:100%!important;
  min-width:72px!important;
  max-width:118px!important;
  height:18px!important;
}
.ktg-marker-size-controls output{
  display:inline-block!important;
  min-width:38px!important;
  font-size:11px!important;
  font-weight:800!important;
  text-align:right!important;
  white-space:nowrap!important;
}
@media (max-width:420px){
  .ktg-marker-size-controls{padding-right:126px!important;}
  .ktg-marker-size-controls label{grid-template-columns:auto minmax(56px,86px) 34px!important;gap:4px!important;font-size:10px!important;}
  .ktg-marker-size-controls input[type="range"]{min-width:56px!important;max-width:86px!important;}
  .ktg-marker-size-controls output{min-width:34px!important;font-size:10px!important;}
}


/* STEP31_15 - show only the size control for the currently selected travel mode.
   DRIVE: vehicle only / WALKING: person only. */
.ktg-marker-size-controls .ktg-marker-size-row{display:none!important;}
html[data-travel-mode="drive"] .ktg-marker-size-controls .ktg-marker-size-row-drive{display:flex!important;}
html[data-travel-mode="walking"] .ktg-marker-size-controls .ktg-marker-size-row-walking{display:flex!important;}

/* Safe fallback before travel-mode.js has written the dataset. */
html:not([data-travel-mode]) .ktg-marker-size-controls .ktg-marker-size-row-drive{display:flex!important;}

/* STEP31_21 - mobile activity summary responsive repair.
   The history row is a direct child of .ktg-activity-panel, so the old flex layout
   squeezed DRIVE/WALKING mode + metrics + history into one horizontal row.
   Use a two-column grid on phones and place history on its own full-width row. */
@media (max-width:640px){
  .ktg-activity-panel{
    display:grid!important;
    grid-template-columns:minmax(72px,82px) minmax(0,1fr)!important;
    align-items:stretch!important;
    gap:7px!important;
    padding:8px!important;
  }
  .ktg-activity-mode{
    min-width:0!important;
    width:auto!important;
    padding:8px 7px!important;
    overflow:hidden!important;
  }
  .ktg-activity-mode-icon{font-size:17px!important;}
  .ktg-activity-mode-name{font-size:9px!important;white-space:nowrap!important;}
  .ktg-activity-route-state{
    gap:4px!important;
    margin-top:5px!important;
    font-size:8px!important;
    line-height:1.25!important;
    white-space:normal!important;
  }
  .ktg-activity-route-dot{
    flex:0 0 auto!important;
    width:6px!important;
    height:6px!important;
  }
  .ktg-activity-metrics{
    min-width:0!important;
    width:100%!important;
    gap:6px!important;
  }
  html[data-travel-mode="drive"] .ktg-activity-metrics{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  html[data-travel-mode="walking"] .ktg-activity-metrics{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .ktg-activity-item{
    min-width:0!important;
    padding:7px 6px!important;
    overflow:hidden!important;
  }
  .ktg-activity-label{
    margin-bottom:3px!important;
    font-size:8px!important;
    line-height:1.2!important;
    white-space:nowrap!important;
  }
  .ktg-activity-value{
    max-width:100%!important;
    font-size:12px!important;
    line-height:1.2!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .ktg-activity-history{
    grid-column:1 / -1!important;
    grid-row:2!important;
    width:100%!important;
    box-sizing:border-box!important;
    margin:0!important;
    padding:6px 3px 0!important;
    gap:5px!important;
    overflow:hidden!important;
  }
  .ktg-activity-history strong{
    min-width:0!important;
    flex:1 1 auto!important;
    font-size:9px!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  .ktg-history-label,
  .ktg-history-count{
    flex:0 0 auto!important;
    font-size:9px!important;
    white-space:nowrap!important;
  }
}

@media (max-width:380px){
  .ktg-activity-panel{grid-template-columns:68px minmax(0,1fr)!important;gap:5px!important;padding:7px!important;}
  .ktg-activity-mode{padding:7px 5px!important;}
  .ktg-activity-route-state{font-size:7px!important;}
  .ktg-activity-item{padding:6px 4px!important;}
  .ktg-activity-value{font-size:11px!important;}
  .ktg-history-label,.ktg-history-count,.ktg-activity-history strong{font-size:8px!important;}
}


/* STEP31_31 - BASIC MAP visible + true center lock.
   Use a real Leaflet icon box again (0x0 wrappers can disappear in some WebViews),
   but force every legacy fixed-size rule to follow the current JS-calculated size. */
#map .leaflet-marker-icon.current-location-marker-wrapper.ktg-center-sized-wrapper{
  overflow:visible!important;
  background:transparent!important;
  border:0!important;
}
#map .current-location-marker.ktg-center-locked{
  position:relative!important;
  left:auto!important;
  top:auto!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  transform:none!important;
  transform-origin:50% 50%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:visible!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
#map .current-location-marker.ktg-center-locked .current-location-walker,
#map .current-location-marker.ktg-center-locked .current-location-car{
  position:relative!important;
  left:auto!important;
  top:auto!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  transform:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
#map .current-location-marker.ktg-center-locked .ktg-walker-approved-image,
#map .current-location-marker.ktg-center-locked .ktg-car-approved-image,
#map .current-location-marker.ktg-center-locked svg{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  display:block!important;
  object-fit:contain!important;
  object-position:center center!important;
}


/* STEP32_07
   Restore the confirmed compact marker-size controls and polish the panel.
   Only the selected mode is visible: DRIVE=vehicle / WALKING=person.
   No marker geometry, GPS, route, heading or map-provider behavior is changed. */
.ktg-marker-size-controls{
  position:relative!important;
  min-height:48px!important;
  padding:7px 136px 7px 10px!important;
  border-top:1px solid rgba(148,163,184,.22)!important;
  border-bottom:1px solid rgba(148,163,184,.22)!important;
  background:linear-gradient(180deg,rgba(248,250,252,.96),rgba(241,245,249,.92))!important;
}
.ktg-marker-size-controls .ktg-marker-size-row{
  min-height:34px!important;
  align-items:center!important;
  grid-template-columns:auto minmax(110px,220px) 42px!important;
  gap:9px!important;
  font-size:12px!important;
}
.ktg-marker-size-controls input[type="range"]{
  max-width:220px!important;
}
.ktg-marker-size-controls output{
  min-width:42px!important;
  padding:2px 5px!important;
  border-radius:7px!important;
  background:#fff!important;
  border:1px solid #dbe3ec!important;
  text-align:center!important;
  font-size:10px!important;
}

/* Cumulative activity summary retained from STEP32_05. */
.ktg-activity-history{flex:1 1 100%;display:flex;flex-direction:column;gap:8px;margin-top:2px;padding-top:9px;border-top:1px solid #e7edf3}
.ktg-history-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ktg-history-label{font-size:10px;font-weight:800;color:#64748b;letter-spacing:.04em}
.ktg-history-head strong{font-size:12px;color:#0f172a}
.ktg-history-count{margin-left:auto;font-size:10px;font-weight:700;color:#64748b}
.ktg-cumulative-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;width:100%}
.ktg-cumulative-card{display:grid;gap:2px;padding:8px 10px;border:1px solid #e7edf3;border-radius:11px;background:#f8fafc}
.ktg-cumulative-card span{font-size:9px;font-weight:800;color:#64748b}
.ktg-cumulative-card strong{font-size:14px;color:#0f172a}
.ktg-cumulative-card small{font-size:9px;color:#64748b}

@media(max-width:640px){
  .ktg-marker-size-controls{
    min-height:46px!important;
    padding:6px 122px 6px 9px!important;
  }
  .ktg-marker-size-controls .ktg-marker-size-row{
    grid-template-columns:auto minmax(80px,1fr) 39px!important;
    gap:7px!important;
    font-size:11px!important;
  }
  .ktg-marker-size-controls input[type="range"]{
    min-width:80px!important;
    max-width:none!important;
  }
  .ktg-marker-size-controls output{min-width:39px!important}
  .ktg-cumulative-grid{gap:5px}
  .ktg-cumulative-card{padding:7px}
  .ktg-cumulative-card strong{font-size:12px}
  .ktg-history-count{margin-left:0}
}
@media(max-width:420px){
  .ktg-marker-size-controls{padding-right:116px!important}
  .ktg-marker-size-controls .ktg-marker-size-row{
    grid-template-columns:auto minmax(64px,1fr) 36px!important;
    gap:5px!important;
    font-size:10px!important;
  }
  .ktg-marker-size-controls input[type="range"]{min-width:64px!important}
  .ktg-marker-size-controls output{min-width:36px!important;font-size:9px!important}
}


/* STEP35_09 · Compact map toolbar cleanup
   Move map provider / fullscreen / map-style controls into the strip above the map.
   No GPS, marker, provider-sync or route behavior is changed. */
.ktg-marker-size-controls{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  padding:7px 10px!important;
  min-height:52px!important;
}
.ktg-marker-size-controls .ktg-marker-size-row{
  flex:1 1 auto!important;
  min-width:0!important;
  margin:0!important;
}
.ktg-map-toolbar-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:7px!important;
  flex:0 0 auto!important;
  margin-left:auto!important;
  white-space:nowrap!important;
}
.ktg-map-toolbar-button,
.ktg-map-toolbar-actions .ktg-map-style-toggle{
  min-height:36px!important;
  padding:0 11px!important;
  border:1px solid #d7e0ea!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#0f172a!important;
  box-shadow:0 2px 8px rgba(15,23,42,.08)!important;
  font-size:12px!important;
  font-weight:800!important;
  line-height:1!important;
  cursor:pointer!important;
}
.ktg-map-toolbar-actions .ktg-map-style-control{
  position:relative!important;
  margin:0!important;
  z-index:1300!important;
}
.ktg-map-toolbar-actions .ktg-map-style-menu{
  top:42px!important;
  right:0!important;
  z-index:1400!important;
}
.ktg-top-fullscreen-button[aria-pressed="true"]{
  background:#0f172a!important;
  color:#fff!important;
  border-color:#0f172a!important;
}
/* The old Leaflet fullscreen button is replaced by the toolbar button. */
.ktg-map-fullscreen-exit-control{display:none!important;}

.map-is-fullscreen .ktg-marker-size-controls{
  position:absolute!important;
  top:max(8px,env(safe-area-inset-top,0px))!important;
  left:max(8px,env(safe-area-inset-left,0px))!important;
  right:max(8px,env(safe-area-inset-right,0px))!important;
  z-index:2147483450!important;
  border:1px solid rgba(203,213,225,.9)!important;
  border-radius:14px!important;
  box-shadow:0 8px 24px rgba(15,23,42,.18)!important;
}
.map-is-fullscreen #map{padding-top:58px!important;}

@media(max-width:640px){
  .ktg-marker-size-controls{
    gap:6px!important;
    padding:6px 7px!important;
    min-height:48px!important;
  }
  .ktg-marker-size-controls .ktg-marker-size-row{
    grid-template-columns:auto minmax(58px,1fr)!important;
    gap:5px!important;
    font-size:10px!important;
  }
  .ktg-marker-size-controls .ktg-marker-size-row output{display:none!important;}
  .ktg-map-toolbar-actions{gap:5px!important;}
  .ktg-map-toolbar-button,
  .ktg-map-toolbar-actions .ktg-map-style-toggle{
    min-height:34px!important;
    padding:0 8px!important;
    font-size:10px!important;
    border-radius:9px!important;
  }
}
@media(max-width:420px){
  .ktg-marker-size-controls{gap:4px!important;padding:5px 6px!important;}
  .ktg-marker-size-controls .ktg-marker-size-row{font-size:9px!important;}
  .ktg-marker-size-controls input[type="range"]{min-width:52px!important;}
  .ktg-map-toolbar-button,
  .ktg-map-toolbar-actions .ktg-map-style-toggle{padding:0 6px!important;font-size:9px!important;}
}

/* 2026-10-12: Sample19 horizontal alignment only.
   Activity panel uses the same 12px outer gutter as the unified video/menu dock.
   No height, metric grid, or activity logic changes. */
@media (max-width:899px){
  #ktgActivityPanel.ktg-activity-panel{
    box-sizing:border-box!important;
    width:calc(100% - 24px)!important;
    max-width:calc(100% - 24px)!important;
    margin-left:12px!important;
    margin-right:12px!important;
  }
}
