:root{
  --kp-hilite-eligible:#1E90FF;
  --kp-hilite-ineligible:#FF8C00;
}

/* Apply position only when highlighted so we don't affect tiles without styles */
.kp-eligible-now, .kp-ineligible-now {
  position: relative;
  border-radius: var(--kp-hilite-radius, 14px);
}

/* Show outlines ONLY when Border is ON */
body.kp-hilite-border-on .kp-eligible-now   { outline: var(--kp-hilite-width,2px) solid  var(--kp-hilite-eligible); outline-offset: 2px; }
body.kp-hilite-border-on .kp-ineligible-now { outline: var(--kp-hilite-width,2px) dashed var(--kp-hilite-ineligible); outline-offset: 2px; }

/* Optional border inset */
body.kp-hilite-border-on .kp-eligible-now {
  box-shadow: 0 0 0 3px rgba(30, 144, 255, 0.25) inset;
}
/* Optional glow */
body.kp-hilite-glow-on .kp-eligible-now {
  filter: drop-shadow(0 0 8px rgba(30, 144, 255, 0.75));
}
/* Optional rings */
body.kp-hilite-rings-on .kp-eligible-now::before {
  content:""; position:absolute; inset:-4px; border-radius:inherit;
  border:2px solid rgba(30,144,255,.35); pointer-events:none;
}

/* Ticks/X badges (compact, top-right) */
body.kp-hilite-ticks-on .kp-eligible-now::after,
body.kp-hilite-ticks-on .kp-ineligible-now::after{
  position:absolute; top:6px; right:8px; font-weight:700; padding:2px 6px; border-radius:10px; font-size:13px; line-height:1;
  color:#fff;
  z-index: 1; /* beneath any higher z-index shooter overlay */
}
body.kp-hilite-ticks-on .kp-eligible-now::after   { content:"✓"; background:#10b981; }
body.kp-hilite-ticks-on .kp-ineligible-now::after { content:"✕"; background:#f97316; }

/* Light sweep for newly eligible */
.kp-sweep { animation: kpSweep var(--kp-hilite-sweep-ms,900ms) ease-out; }
@keyframes kpSweep { 0%{ transform: scale(1.02);} 100%{ transform: scale(1);} }

/* Optional debug watermark */
.kp-hilite-watermark {
  position: fixed; bottom: 6px; left: 6px; font: 12px/1.2 system-ui, sans-serif;
  opacity: .35; pointer-events: none;
}
