/* Bait station scanner (draft). Neon HUD on #0C0D0B / #070806 with #D4FF3A. */
.bm-map-actions{
  position:absolute;left:10px;right:10px;bottom:28px;z-index:500;
  display:flex;gap:8px;justify-content:flex-end;align-items:stretch;
  pointer-events:none
}
.bm-map-actions .btn{
  pointer-events:auto;position:static;margin:0;flex:1 1 0;max-width:none;
  padding:10px 10px;font-size:12px;box-shadow:3px 3px 0 var(--ink);white-space:nowrap
}
.bm-map-scan-btn{background:var(--lime);color:var(--ink)}
.bm-map-scan-btn.is-on{outline:3px solid var(--ink)}
.bm-is-trusted .bm-map-actions{bottom:28px}
.bm-map-shell .bm-toast{right:10px;bottom:86px}
.bm-is-trusted .bm-map-shell .bm-toast{bottom:92px}

.bm-map-actions{flex-wrap:wrap}
.bm-map-actions .bm-partner-ask{
  pointer-events:auto;flex:1 1 100%;max-width:none;margin:0;
  border:2px solid var(--ink);background:var(--paper);color:var(--ink);
  box-shadow:2px 2px 0 var(--ink);
  font:650 13px/1.2 var(--sans),system-ui,sans-serif;
  padding:8px 10px;min-height:36px;cursor:pointer;text-align:center
}
.bm-map-shell .bm-toast{bottom:130px}
.bm-is-trusted .bm-map-shell .bm-toast{bottom:86px}
.bm-is-trusted .bm-partner-ask,
.bm-is-trusted .bm-partner-ask-wrap{display:none!important}

.bm-scanner{
  position:fixed;inset:0;z-index:8000;
  background:#070806;color:#D4FF3A;
  font-family:var(--sans),system-ui,sans-serif;
  overflow:hidden;
  touch-action:manipulation
}
.bm-scanner button{
  touch-action:manipulation
}
.bm-scanner[hidden]{display:none!important}
.bm-scanner-stage, .bm-scanner-sticker-step{
  position:absolute;inset:0
}
.bm-scanner-video{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;background:#070806;z-index:0
}
#bm-scanner-still[hidden]{display:none!important}
#bm-scanner-still{z-index:0}
.bm-scanner-fx{
  position:absolute;inset:0;width:100%;height:100%;
  pointer-events:none;z-index:1;background:transparent
}
.bm-scanner-hud{
  position:absolute;inset:0;z-index:2;pointer-events:none;
  display:flex;flex-direction:column;
  padding:calc(12px + env(safe-area-inset-top,0px)) 16px calc(16px + env(safe-area-inset-bottom,0px))
}
.bm-scanner-top{
  display:flex;align-items:center;gap:8px;pointer-events:auto
}
.bm-scanner-trusted{
  display:inline-flex;align-items:center;
  border:2px solid #D4FF3A;color:#D4FF3A;background:rgba(12,13,11,.72);
  font:800 11px/1 var(--serif),Georgia,serif;font-stretch:115%;
  text-transform:uppercase;letter-spacing:.12em;
  padding:6px 8px;
  box-shadow:0 0 12px rgba(212,255,58,.35)
}
.bm-scanner-trusted[hidden],
.bm-scanner-tally[hidden],
.bm-scanner-queue[hidden],
.bm-scanner-nearby[hidden]{display:none!important}
.bm-scanner-tally,
.bm-scanner-queue{
  margin-left:auto;
  border:2px solid #D4FF3A;color:#0C0D0B;background:#D4FF3A;
  font:800 11px/1 var(--serif),Georgia,serif;font-stretch:115%;
  text-transform:uppercase;letter-spacing:.08em;
  padding:6px 8px
}
.bm-scanner-queue{background:transparent;color:#D4FF3A}
.bm-scanner-close{
  appearance:none;margin-left:auto;cursor:pointer;
  background:rgba(12,13,11,.72);color:#D4FF3A;border:2px solid #D4FF3A;
  font:800 11px/1 var(--serif),Georgia,serif;font-stretch:115%;
  text-transform:uppercase;letter-spacing:.1em;
  padding:8px 12px;pointer-events:auto
}
.bm-scanner-frame{
  position:relative;flex:1;margin:18px 8px;pointer-events:none
}
.bm-scanner-frame i{
  position:absolute;width:44px;height:44px;border:3px solid #D4FF3A;
  box-shadow:0 0 14px rgba(212,255,58,.55)
}
.bm-scanner-frame .c-tl{top:0;left:0;border-right:0;border-bottom:0}
.bm-scanner-frame .c-tr{top:0;right:0;border-left:0;border-bottom:0}
.bm-scanner-frame .c-bl{bottom:0;left:0;border-right:0;border-top:0}
.bm-scanner-frame .c-br{bottom:0;right:0;border-left:0;border-top:0}
.bm-scanner-scanline{
  position:absolute;left:8px;right:8px;top:0;height:3px;
  background:linear-gradient(90deg,transparent,#D4FF3A 15%,#fff 50%,#D4FF3A 85%,transparent);
  box-shadow:0 0 16px 4px rgba(212,255,58,.65);
  animation:bm-scan-sweep 2.2s linear infinite;
  will-change:top
}
.bm-scanner-reticle{
  position:absolute;left:50%;top:50%;width:28px;height:28px;
  margin:-14px 0 0 -14px;
  border:2px solid #D4FF3A;border-radius:50%;
  box-shadow:0 0 12px rgba(212,255,58,.7);
  animation:bm-scan-pulse 1.6s ease-in-out infinite
}
.bm-scanner-reticle::before,
.bm-scanner-reticle::after{
  content:"";position:absolute;background:#D4FF3A;left:50%;top:50%
}
.bm-scanner-reticle::before{width:2px;height:16px;margin:-8px 0 0 -1px}
.bm-scanner-reticle::after{width:16px;height:2px;margin:-1px 0 0 -8px}
.bm-scanner-hint,
.bm-scanner-status{
  margin:0 0 8px;text-align:center;
  font:700 14px/1.3 var(--sans),system-ui,sans-serif;
  color:#D4FF3A;text-shadow:0 0 10px rgba(212,255,58,.45)
}
.bm-scanner-status:empty{display:none}
.bm-scanner-actions{
  display:flex;gap:8px;justify-content:center;pointer-events:auto
}
.bm-scanner-shutter,
.bm-scanner-another,
.bm-scanner-try-sticker,
.bm-scanner-done{
  appearance:none;cursor:pointer;
  border:2px solid #D4FF3A;
  font:800 13px/1 var(--serif),Georgia,serif;font-stretch:115%;
  text-transform:uppercase;letter-spacing:.08em;
  padding:14px 18px;min-width:44px
}
.bm-scanner-shutter{background:#D4FF3A;color:#0C0D0B;box-shadow:0 0 18px rgba(212,255,58,.45)}
.bm-scanner-another,
.bm-scanner-try-sticker,
.bm-scanner-done{background:rgba(12,13,11,.8);color:#D4FF3A}
.bm-scanner-shutter[hidden],
.bm-scanner-another[hidden],
.bm-scanner-try-sticker[hidden],
.bm-scanner-done[hidden]{display:none!important}
.bm-scanner-try-sticker{flex:1 1 100%}
.bm-scanner-complete{
  position:absolute;inset:0;z-index:3;pointer-events:none;
  display:flex;align-items:center;justify-content:center;
  background:rgba(7,8,6,.28);
  animation:bm-scan-flash .7s ease-out
}
.bm-scanner-complete[hidden]{display:none!important}
.bm-scanner-complete p{
  margin:0;padding:14px 18px;
  border:2px solid #D4FF3A;background:rgba(12,13,11,.86);color:#D4FF3A;
  font:800 22px/1 var(--serif),Georgia,serif;font-stretch:115%;
  text-transform:uppercase;letter-spacing:.1em;
  box-shadow:0 0 24px rgba(212,255,58,.7)
}

@keyframes bm-scan-sweep{
  0%{top:0}
  100%{top:calc(100% - 3px)}
}
@keyframes bm-scan-pulse{
  0%,100%{transform:scale(1);opacity:1}
  50%{transform:scale(1.28);opacity:.55}
}
@keyframes bm-scan-flash{
  0%{background:rgba(212,255,58,.45)}
  100%{background:rgba(7,8,6,.28)}
}

.bm-scanner-sticker-step{
  z-index:4;background:#070806;
  display:flex;flex-direction:column;
  padding:calc(12px + env(safe-area-inset-top,0px)) 16px calc(16px + env(safe-area-inset-bottom,0px))
}
.bm-scanner-sticker-step[hidden]{display:none!important}
.bm-scanner-sticker-copy{margin:0 0 10px;color:#D4FF3A}
.bm-scanner-sticker-copy h2{
  margin:0 0 6px;
  font:800 18px/1.15 var(--serif),Georgia,serif;font-stretch:112%;
  text-transform:uppercase;letter-spacing:.06em
}
.bm-scanner-sticker-copy p{margin:0 0 4px;font:650 14px/1.35 var(--sans),system-ui,sans-serif;color:#F2F2EC}
.bm-scanner-board{
  position:relative;flex:1;min-height:220px;overflow:hidden;
  background:#0C0D0B;border:2px solid #D4FF3A;touch-action:none;
  display:flex;align-items:center;justify-content:center
}
.bm-scanner-fit{
  position:relative;max-width:100%;max-height:100%;line-height:0;
  touch-action:none
}
.bm-scanner-board img.bm-scanner-shot{
  display:block;width:auto;height:auto;max-width:100%;max-height:100%;
  object-fit:contain;pointer-events:none
}
.bm-scanner-decal{
  position:absolute;left:50%;top:50%;width:36%;
  transform:translate(-50%,-50%);
  touch-action:none;cursor:grab;
  outline:2px solid #D4FF3A;
  box-shadow:0 0 16px rgba(212,255,58,.7);
  user-select:none
}
.bm-scanner-decal:active{cursor:grabbing}
.bm-scanner-decal img{display:block;width:100%;height:auto;pointer-events:none}
.bm-scanner-sticker-actions{
  display:flex;gap:8px;margin-top:12px;flex-wrap:wrap
}
.bm-scanner-sticker-actions button{
  appearance:none;cursor:pointer;flex:1 1 auto;
  border:2px solid #D4FF3A;
  font:800 12px/1 var(--serif),Georgia,serif;font-stretch:115%;
  text-transform:uppercase;letter-spacing:.08em;
  padding:12px 14px
}
.bm-scanner-save{background:#D4FF3A;color:#0C0D0B}
.bm-scanner-skip,
.bm-scanner-size{background:transparent;color:#D4FF3A}
.bm-scanner-sticker-status{margin:8px 0 0;min-height:1.2em;font:650 13px/1.3 var(--sans),system-ui,sans-serif;color:#D4FF3A}

@media (prefers-reduced-motion:reduce){
  .bm-scanner-scanline,
  .bm-scanner-reticle,
  .bm-scanner-complete{animation:none}
  .bm-scanner-scanline{display:none}
  .bm-scanner-reticle{opacity:1;transform:none}
}


.bm-scanner-nearby{
  pointer-events:auto;margin:0 0 10px;padding:12px;
  border:2px solid #D4FF3A;background:rgba(12,13,11,.88);
  box-shadow:0 0 16px rgba(212,255,58,.35)
}
.bm-scanner-nearby-note{margin:0 0 10px;font:700 15px/1.35 var(--sans),system-ui,sans-serif;color:#D4FF3A;text-align:center}
.bm-scanner-nearby-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.bm-scanner-send-anyway,
.bm-scanner-nearby-back,
.bm-scanner-near-update,
.bm-scanner-near-new{
  appearance:none;cursor:pointer;flex:1 1 40%;
  border:2px solid #D4FF3A;
  font:800 13px/1 var(--serif),Georgia,serif;font-stretch:115%;
  text-transform:uppercase;letter-spacing:.08em;
  padding:16px 14px;min-height:56px
}
.bm-scanner-send-anyway,
.bm-scanner-near-update{background:#D4FF3A;color:#0C0D0B}
.bm-scanner-nearby-back,
.bm-scanner-near-new{background:rgba(12,13,11,.8);color:#D4FF3A}
.bm-scanner-send-anyway[hidden],
.bm-scanner-nearby-back[hidden],
.bm-scanner-near-update[hidden],
.bm-scanner-near-new[hidden]{display:none!important}

@media (max-width:720px){
  .bm-map-actions .btn{
    min-height:56px;padding:16px 12px;font-size:14px
  }
  .bm-map-actions .bm-partner-ask{min-height:44px;padding:10px 12px;font-size:14px}
  .bm-map-shell .bm-toast{bottom:152px}
  .bm-is-trusted .bm-map-shell .bm-toast{bottom:100px}
  .bm-scanner-shutter,
  .bm-scanner-another,
  .bm-scanner-done{
    min-height:56px;padding:16px 18px;font-size:15px;flex:1 1 0
  }
  .bm-scanner-actions{gap:10px}
}
