/* ============================================================
   Chaoregon Trail panel normalization + live map square-grid fix
   Loaded last so legacy Trail CSS cannot re-harden old chrome.
   ============================================================ */

:is(#trail-screen-panel,
    #repair-panel,
    #tree-shake-panel,
    #trail-branch-panel,
    #river-panel,
    #chaoregon-camp-panel,
    #bubble-pop-panel,
    #toy-hunt-panel,
    #fishing-panel,
    #trail-mp-decision-panel) {
  color: #eef6ff !important;
  border: 2px solid var(--panel-shell-border) !important;
  border-radius: var(--panel-shell-radius) !important;
  box-shadow: var(--panel-shell-shadow) !important;
  padding: 0 !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,calc(var(--panel-shell-alpha, 1) * 0.045)) 0%, rgba(255,255,255,calc(var(--panel-shell-alpha, 1) * 0.018)) 9%, rgba(255,255,255,0.00) 16%),
    var(--panel-pattern-layer),
    linear-gradient(180deg, rgba(var(--panel-shell-rgb, 16,26,40),calc(var(--panel-shell-alpha, 1) * 0.98)) 0%, rgba(var(--panel-shell-rgb-deep, 11,19,31),calc(var(--panel-shell-alpha, 1) * 0.98)) 100%) !important;
  background-repeat: no-repeat, repeat, no-repeat !important;
  background-position: 0 0, left top, 0 0 !important;
  background-size: auto, 256px 256px, auto !important;
  overflow: hidden !important;
}

:is(#trail-screen-panel,
    #repair-panel,
    #tree-shake-panel,
    #trail-branch-panel,
    #river-panel,
    #chaoregon-camp-panel,
    #bubble-pop-panel,
    #toy-hunt-panel,
    #fishing-panel,
    #trail-mp-decision-panel) > .panel-header {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  min-height: var(--panel-header-h, 52px) !important;
  height: var(--panel-header-h, 52px) !important;
  padding: 0 var(--panel-header-pad-x, 14px) !important;
  gap: var(--panel-header-gap, 12px) !important;
  border-bottom: 1px solid var(--panel-header-divider, rgba(131, 182, 232, 0.38)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.10), inset 0 -1px 0 rgba(0,0,0,0.22) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,calc(var(--panel-header-alpha, 1) * 0.12)) 0%, rgba(255,255,255,calc(var(--panel-header-alpha, 1) * 0.03)) 12%, rgba(255,255,255,0.00) 100%),
    var(--panel-header-pattern-layer),
    linear-gradient(180deg, rgba(var(--panel-header-rgb, 70,103,137),var(--panel-header-alpha, 1)) 0%, rgba(var(--panel-header-rgb-deep, 34,56,79),var(--panel-header-alpha, 1)) 100%) !important;
  background-repeat: no-repeat, repeat, no-repeat !important;
  background-position: 0 0, left top, 0 0 !important;
  background-size: auto, 256px 256px, auto !important;
}

:is(#trail-screen-panel,
    #repair-panel,
    #tree-shake-panel,
    #trail-branch-panel,
    #river-panel,
    #chaoregon-camp-panel,
    #bubble-pop-panel,
    #toy-hunt-panel,
    #fishing-panel,
    #trail-mp-decision-panel) > .panel-header .panel-title {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  color: #eef6ff !important;
  font-weight: 900 !important;
  letter-spacing: 0.25px !important;
  text-shadow: 0 1px 0 rgba(0,0,0,0.35) !important;
}

:is(#trail-screen-panel,
    #repair-panel,
    #tree-shake-panel,
    #trail-branch-panel,
    #river-panel,
    #chaoregon-camp-panel,
    #bubble-pop-panel,
    #toy-hunt-panel,
    #fishing-panel,
    #trail-mp-decision-panel) > .panel-header > .panel-header-controls {
  position: static !important;
  transform: none !important;
  margin-left: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  min-width: max-content !important;
}

:is(#trail-screen-panel,
    #repair-panel,
    #tree-shake-panel,
    #trail-branch-panel,
    #river-panel,
    #chaoregon-camp-panel,
    #bubble-pop-panel,
    #toy-hunt-panel,
    #fishing-panel,
    #trail-mp-decision-panel) > .panel-body {
  position: relative !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,calc(var(--panel-body-alpha, 1) * 0.05)) 0%, rgba(255,255,255,0.00) 18%),
    var(--panel-pattern-layer),
    linear-gradient(180deg, rgba(8,12,19,calc(var(--panel-body-alpha, 1) * 0.36)) 0%, rgba(8,12,19,calc(var(--panel-body-alpha, 1) * 0.18)) 100%) !important;
  background-repeat: no-repeat, repeat, no-repeat !important;
  background-position: 0 0, left top, 0 0 !important;
  background-size: auto, 256px 256px, auto !important;
}

/* Trail screen custom map must mirror the editor: square cells and connected roads. */
.trail-map-area.trail-map-area-customized,
#chaoregon-map-panel .map-area.trail-map-area-customized {
  position: relative !important;
  background: linear-gradient(180deg, rgba(16, 36, 58, 0.96), rgba(7, 17, 30, 0.98)) !important;
  overflow: hidden !important;
}

.trail-custom-map {
  position: absolute !important;
  inset: auto !important;
  display: grid !important;
  grid-auto-flow: row !important;
  align-content: start !important;
  justify-content: start !important;
  padding: 2px !important;
  border: 2px solid rgba(255,255,255,0.28) !important;
  border-radius: 8px !important;
  background: rgba(0,0,0,0.30) !important;
  box-sizing: border-box !important;
  image-rendering: pixelated !important;
  z-index: 1 !important;
}

.trail-custom-map-cell {
  aspect-ratio: 1 / 1 !important;
  border-radius: 2px !important;
  overflow: hidden !important;
}

.trail-custom-map-cell::before,
.trail-custom-map-cell::after {
  content: none !important;
}

.trail-custom-map-cell.route-cell::before,
.trail-custom-map-cell.route-cell::after {
  content: '' !important;
  position: absolute !important;
  background: rgba(210, 164, 86, 0.92) !important;
  box-shadow: 0 1px 0 rgba(80,44,16,0.75), 0 -1px 0 rgba(255,230,156,0.42) !important;
  z-index: 1 !important;
  display: none !important;
}

.trail-custom-map-cell.route-cell.conn-w::after,
.trail-custom-map-cell.route-cell.conn-e::after {
  display: block !important;
  left: 0 !important;
  right: 0 !important;
  top: calc(50% - max(2px, calc(var(--trail-live-cell-size, 14px) * 0.16))) !important;
  height: max(4px, calc(var(--trail-live-cell-size, 14px) * 0.32)) !important;
}

.trail-custom-map-cell.route-cell.conn-n::before,
.trail-custom-map-cell.route-cell.conn-s::before {
  display: block !important;
  top: 0 !important;
  bottom: 0 !important;
  left: calc(50% - max(2px, calc(var(--trail-live-cell-size, 14px) * 0.16))) !important;
  width: max(4px, calc(var(--trail-live-cell-size, 14px) * 0.32)) !important;
}

.trail-custom-map-cell.route-cell:not(.conn-n):not(.conn-s):not(.conn-e):not(.conn-w)::after {
  display: block !important;
  left: 28% !important;
  right: 28% !important;
  top: 36% !important;
  bottom: 36% !important;
  height: auto !important;
  border-radius: 999px !important;
}

.trail-custom-map-cell-label {
  position: relative !important;
  z-index: 3 !important;
  pointer-events: none !important;
}

.trail-custom-map-cell.placeable-start,
.trail-custom-map-cell.placeable-end,
.trail-custom-map-cell.placeable-fork,
.trail-custom-map-cell.placeable-outpost,
.trail-custom-map-cell.placeable-monument,
.trail-custom-map-cell.placeable-event,
.trail-custom-map-cell.placeable-river {
  z-index: 2 !important;
}

.trail-custom-map-marker,
#chaoregon-party-icon {
  z-index: 8 !important;
}

#tree-shake-panel #treeGameZone {
  background: url("../assets/camp/forest.png") center / cover no-repeat, #1b263b !important;
}

/* Trail Setup custom map loader. Route dropdown remains the source of truth. */
.trail-setup-custom-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 8px 0 10px;
}

.trail-setup-load-custom-btn {
  appearance: none;
  border: 1px solid rgba(184, 222, 255, 0.34);
  border-radius: 10px;
  padding: 8px 12px;
  background: linear-gradient(180deg, rgba(58, 88, 124, 0.95), rgba(26, 44, 68, 0.95));
  color: #eef6ff;
  font-weight: 900;
  cursor: pointer;
}

.trail-setup-load-custom-btn:hover {
  border-color: rgba(255, 214, 10, 0.62);
  transform: translateY(-1px);
}

/* Pass 58em follow-up: remove Trail-specific window-control styling leaks.
   Let the global .std-panel-controls contract own Pin/X sizing and placement. */
#chaoregon-setup-panel > .panel-header > .panel-header-controls,
:is(#trail-screen-panel,
    #repair-panel,
    #tree-shake-panel,
    #trail-branch-panel,
    #river-panel,
    #chaoregon-camp-panel,
    #bubble-pop-panel,
    #toy-hunt-panel,
    #fishing-panel,
    #trail-mp-decision-panel) > .panel-header > .panel-header-controls {
  position: absolute !important;
  right: 12px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  margin-left: 0 !important;
  min-width: max-content !important;
  pointer-events: auto !important;
}

#chaoregon-setup-panel > .panel-header .panel-pin-btn,
#chaoregon-setup-panel > .panel-header .panel-close-x,
:is(#trail-screen-panel,
    #repair-panel,
    #tree-shake-panel,
    #trail-branch-panel,
    #river-panel,
    #chaoregon-camp-panel,
    #bubble-pop-panel,
    #toy-hunt-panel,
    #fishing-panel,
    #trail-mp-decision-panel) > .panel-header .panel-pin-btn,
:is(#trail-screen-panel,
    #repair-panel,
    #tree-shake-panel,
    #trail-branch-panel,
    #river-panel,
    #chaoregon-camp-panel,
    #bubble-pop-panel,
    #toy-hunt-panel,
    #fishing-panel,
    #trail-mp-decision-panel) > .panel-header .panel-close-x {
  position: static !important;
  top: auto !important;
  right: auto !important;
  width: auto !important;
  min-width: 66px !important;
  height: 38px !important;
  padding: 0 12px !important;
  border-radius: 12px !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 36px !important;
  transform: none !important;
}

#chaoregon-setup-panel > .panel-header .panel-close-x,
:is(#trail-screen-panel,
    #repair-panel,
    #tree-shake-panel,
    #trail-branch-panel,
    #river-panel,
    #chaoregon-camp-panel,
    #bubble-pop-panel,
    #toy-hunt-panel,
    #fishing-panel,
    #trail-mp-decision-panel) > .panel-header .panel-close-x {
  min-width: 38px !important;
  width: 38px !important;
  padding: 0 !important;
  font-size: 18px !important;
}

#chaoregon-setup-panel > .panel-header button.panel-pin-btn,
#chaoregon-setup-panel > .panel-header button.panel-close-x {
  background: linear-gradient(180deg, rgba(50, 74, 102, 0.98) 0%, rgba(28, 44, 63, 0.98) 100%) !important;
  border: 1px solid rgba(181, 212, 242, 0.28) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.08), 0 2px 6px rgba(0,0,0,0.22) !important;
  color: #f6fbff !important;
}

/* Restore full gameplay areas for Trail subgames touched by normalization. */
#bubble-pop-panel,
#tree-shake-panel,
#fishing-panel {
  width: 1160px !important;
  height: 740px !important;
}

#bubble-pop-panel > .panel-body.bubble-pop-body,
#tree-shake-panel > .panel-body.tree-shake-body,
#fishing-panel > .panel-body.fishing-panel-body {
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
  height: calc(100% - var(--panel-header-h, 52px)) !important;
  padding: 12px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

#bubble-pop-panel #bubbleZone,
#tree-shake-panel #treeGameZone {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  width: 100% !important;
  height: auto !important;
  position: relative !important;
  overflow: hidden !important;
}

#bubble-pop-panel #bubbleCanvas {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  box-sizing: border-box !important;
}

#fishing-panel #fishing-scene {
  flex: 1 1 auto !important;
  min-height: 420px !important;
  height: auto !important;
  width: 100% !important;
  position: relative !important;
  overflow: hidden !important;
}

#fishing-panel #fishing-ui,
#fishing-panel #fishing-results {
  flex: 0 0 130px !important;
}

#toy-hunt-panel,
#repair-panel {
  width: 400px !important;
  height: 500px !important;
}

#toy-hunt-panel #bushGrid {
  grid-template-columns: repeat(5, 1fr) !important;
}

/* Custom Trail live map zoom controls. */
.trail-custom-map-zoom-controls {
  position: absolute !important;
  top: 8px !important;
  right: 8px !important;
  z-index: 12 !important;
  display: flex !important;
  gap: 6px !important;
  pointer-events: auto !important;
}

.trail-custom-map-zoom-controls button {
  width: 30px !important;
  height: 30px !important;
  border-radius: 9px !important;
  border: 1px solid rgba(181, 212, 242, 0.42) !important;
  background: linear-gradient(180deg, rgba(38, 58, 82, 0.96), rgba(18, 31, 48, 0.96)) !important;
  color: #f7fbff !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  line-height: 26px !important;
  cursor: pointer !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.35), inset 0 1px 0 rgba(255,255,255,0.08) !important;
}

.trail-custom-map-marker,
#chaoregon-party-icon {
  transform: translate(-50%, -78%) !important;
  pointer-events: none !important;
}

/* Pass 58em follow-up — Trail Screen 60/40 content split.
   Top row: route map + moving wagon canvas.
   Bottom row: party, inventory/UI, and trail log HUD. */
#trail-screen-panel > .panel-body.trail-screen-panel-body {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  padding: 10px !important;
}

#trail-screen-panel .trail-screen-top-row {
  display: grid !important;
  grid-template-columns: minmax(360px, 1fr) minmax(420px, 1.08fr) !important;
  gap: 10px !important;
  flex: 0 0 calc(60% - 5px) !important;
  height: calc(60% - 5px) !important;
  max-height: calc(60% - 5px) !important;
  min-height: 0 !important;
  overflow: hidden !important;
  align-items: stretch !important;
}

#trail-screen-panel .trail-embedded-map,
#trail-screen-panel .trail-screen-main-view {
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

#trail-screen-panel .trail-embedded-map {
  display: flex !important;
  flex-direction: column !important;
}

#trail-screen-panel .trail-embedded-map-header {
  flex: 0 0 auto !important;
}

#trail-screen-panel .trail-embedded-map .trail-map-area,
#trail-screen-panel .trail-embedded-map .map-area {
  flex: 1 1 auto !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
}

#trail-screen-panel .trail-screen-main-view {
  display: flex !important;
  align-items: stretch !important;
  justify-content: stretch !important;
}

#trail-screen-panel #trail-canvas {
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: fill !important;
}

#trail-screen-panel #trail-hud {
  flex: 0 0 calc(40% - 5px) !important;
  height: calc(40% - 5px) !important;
  max-height: calc(40% - 5px) !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.2fr) minmax(240px, 0.8fr) !important;
  gap: 10px !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

#trail-screen-panel #trail-hud-left,
#trail-screen-panel #trail-hud-right {
  min-height: 0 !important;
  overflow: auto !important;
  box-sizing: border-box !important;
}

#trail-screen-panel #trail-log-output {
  min-height: 72px !important;
  max-height: none !important;
  overflow: auto !important;
}

/* Pass 58em follow-up hard fix: River Crossing uses the global panel contract. */
#river-panel.std-panel-controls {
  border: 2px solid var(--panel-shell-border) !important;
  border-radius: var(--panel-shell-radius) !important;
  box-shadow: var(--panel-shell-shadow) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,calc(var(--panel-shell-alpha, 1) * 0.045)) 0%, rgba(255,255,255,0.00) 16%),
    var(--panel-pattern-layer),
    linear-gradient(180deg, rgba(var(--panel-shell-rgb, 16,26,40),calc(var(--panel-shell-alpha, 1) * 0.98)) 0%, rgba(var(--panel-shell-rgb-deep, 11,19,31),calc(var(--panel-shell-alpha, 1) * 0.98)) 100%) !important;
  background-repeat: no-repeat, repeat, no-repeat !important;
  background-position: 0 0, left top, 0 0 !important;
  background-size: auto, 256px 256px, auto !important;
}

#river-panel.std-panel-controls > .panel-header {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  height: var(--panel-header-h, 52px) !important;
  min-height: var(--panel-header-h, 52px) !important;
  padding: 0 var(--panel-header-pad-x, 14px) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,calc(var(--panel-header-alpha, 1) * 0.12)) 0%, rgba(255,255,255,0.00) 100%),
    var(--panel-header-pattern-layer),
    linear-gradient(180deg, rgba(var(--panel-header-rgb, 70,103,137),var(--panel-header-alpha, 1)) 0%, rgba(var(--panel-header-rgb-deep, 34,56,79),var(--panel-header-alpha, 1)) 100%) !important;
  background-repeat: no-repeat, repeat, no-repeat !important;
  background-position: 0 0, left top, 0 0 !important;
  background-size: auto, 256px 256px, auto !important;
}

#river-panel.std-panel-controls > .panel-header .panel-title {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  color: #eef6ff !important;
  font-weight: 900 !important;
  text-shadow: 0 1px 0 rgba(0,0,0,0.35) !important;
}

#river-panel.std-panel-controls > .panel-header .panel-header-controls,
#river-panel.std-panel-controls > .panel-header > .panel-header-controls {
  position: static !important;
  transform: none !important;
  margin-left: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
}

#river-panel.std-panel-controls > .panel-body.river-panel-body,
#river-panel.std-panel-controls > .panel-body {
  background:
    linear-gradient(180deg, rgba(255,255,255,calc(var(--panel-body-alpha, 1) * 0.05)) 0%, rgba(255,255,255,0.00) 18%),
    var(--panel-pattern-layer),
    linear-gradient(180deg, rgba(8,12,19,calc(var(--panel-body-alpha, 1) * 0.36)) 0%, rgba(8,12,19,calc(var(--panel-body-alpha, 1) * 0.18)) 100%) !important;
  background-repeat: no-repeat, repeat, no-repeat !important;
  background-position: 0 0, left top, 0 0 !important;
  background-size: auto, 256px 256px, auto !important;
}

/* Canonical custom Chaoregon Trail Map interaction.
   The live grid itself owns pan/zoom. Shift + LMB drag updates host pan state;
   no marker drag, no overlay hitbox, no right-button drag fallback. */
.trail-map-area.trail-map-area-customized,
#chaoregon-map-panel .map-area.trail-map-area-customized {
  position: relative !important;
  overflow: hidden !important;
  user-select: none !important;
  -webkit-user-select: none !important;
  -webkit-touch-callout: none !important;
  touch-action: none !important;
  cursor: none !important;
}

.trail-map-area.trail-map-area-customized *,
#chaoregon-map-panel .map-area.trail-map-area-customized *,
body.trail-map-pan-active,
body.trail-map-pan-active * {
  cursor: none !important;
}

.trail-map-area.trail-map-area-customized.trail-map-area-panning,
#chaoregon-map-panel .map-area.trail-map-area-customized.trail-map-area-panning {
  touch-action: none !important;
}

.trail-map-area.trail-map-area-customized > #chaoregon-party-icon,
#chaoregon-map-panel .map-area.trail-map-area-customized > #chaoregon-party-icon {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.trail-map-area.trail-map-area-customized .trail-custom-map,
#chaoregon-map-panel .map-area.trail-map-area-customized .trail-custom-map {
  position: absolute !important;
  overflow: visible !important;
  pointer-events: auto !important;
  user-select: none !important;
  -webkit-user-select: none !important;
  -webkit-user-drag: none !important;
  touch-action: none !important;
  will-change: transform, width, height !important;
}

.trail-map-area.trail-map-area-customized .trail-custom-map-cell,
#chaoregon-map-panel .map-area.trail-map-area-customized .trail-custom-map-cell {
  pointer-events: auto !important;
  user-select: none !important;
  -webkit-user-select: none !important;
  -webkit-user-drag: none !important;
}

.trail-map-area.trail-map-area-customized .trail-custom-map-cell *,
#chaoregon-map-panel .map-area.trail-map-area-customized .trail-custom-map-cell * {
  pointer-events: none !important;
  user-select: none !important;
  -webkit-user-select: none !important;
  -webkit-user-drag: none !important;
}

.trail-map-area.trail-map-area-customized .trail-custom-map > .trail-custom-map-marker,
#chaoregon-map-panel .map-area.trail-map-area-customized .trail-custom-map > .trail-custom-map-marker {
  position: absolute !important;
  width: var(--trail-live-cell-size, 18px) !important;
  height: var(--trail-live-cell-size, 18px) !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: none !important;
  max-height: none !important;
  aspect-ratio: 1 / 1 !important;
  left: 4px;
  top: 4px;
  right: auto !important;
  bottom: auto !important;
  transform: none !important;
  transform-origin: 0 0 !important;
  pointer-events: none !important;
  user-select: none !important;
  -webkit-user-select: none !important;
  -webkit-user-drag: none !important;
  z-index: 50 !important;
  background-image: url("../assets/ui/cgparty.png") !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: 100% 100% !important;
  image-rendering: pixelated !important;
  border: 0 !important;
  box-shadow: none !important;
  transition: none !important;
}

.trail-map-area.trail-map-area-customized .trail-custom-map > .trail-custom-map-marker::before,
.trail-map-area.trail-map-area-customized .trail-custom-map > .trail-custom-map-marker::after,
#chaoregon-map-panel .map-area.trail-map-area-customized .trail-custom-map > .trail-custom-map-marker::before,
#chaoregon-map-panel .map-area.trail-map-area-customized .trail-custom-map > .trail-custom-map-marker::after {
  content: none !important;
}

.trail-map-area.trail-map-area-customized .trail-custom-map-zoom-controls,
#chaoregon-map-panel .map-area.trail-map-area-customized .trail-custom-map-zoom-controls {
  z-index: 100 !important;
  pointer-events: auto !important;
}

.trail-map-area.trail-map-area-customized .trail-custom-map-zoom-controls *,
#chaoregon-map-panel .map-area.trail-map-area-customized .trail-custom-map-zoom-controls * {
  pointer-events: auto !important;
  cursor: none !important;
}

