/* Presentation is raster Pixi; native targets, focus and HP pips retain input authority. */
.native-scene-surface,
.native-scene-canvas {
  pointer-events: none;
  filter: none;
}
.native-scene-canvas { display: block; width: 100%; height: 100%; }
#board .token.native-scene-token { animation: none; filter: none; }
#board .native-scene-token .token__sprite,
#board .native-scene-base .skin-cannon-sprite { opacity: 0; animation: none; filter: none; pointer-events: none; }
#board .native-scene-token .token__hitbox,
#board .native-scene-base .native-scene-base-hit { filter: none; }
#board .native-scene-base > .skin-base-cover,
#board .native-scene-base > circle,
#board .native-scene-base .skin-energy-fence,
#board .native-scene-hidden { display: none; }
.native-scene-base-hit { fill: transparent; stroke: none; pointer-events: all; }
.base-cannon:focus-visible .native-scene-base-hit { stroke: #e8dfbe; stroke-width: 1.2; }

/* Preserve the authored bounds proxy, input and HP; Pixi owns the visible art.
   A resolved, destroyed terrain target can still use its legacy combat clone. */
#board .native-scene-terrain:not(.terrain-object--stationary-clone) .terrain-object__render { opacity: 0; filter: none; animation: none; }
#board .native-scene-terrain:not(.terrain-object--stationary-clone) .terrain-object__flame-object,
#board .native-scene-terrain:not(.terrain-object--stationary-clone) .terrain-object__flame-glow { display: none; }
#board .native-scene-terrain .terrain-object__health .is-risk { animation: none; }
#board .native-scene-terrain.terrain-object--targetable:is(:hover, :focus) .terrain-object__focus-ring,
#board .native-scene-terrain.terrain-object--pending-target .terrain-object__focus-ring { stroke: #e4c989; }

.native-encounter-hud { position: fixed; inset: 0; z-index: 185; pointer-events: none; }
#recon-panel.native-encounter-obscured { visibility: hidden; }
.native-encounter-panel { position: absolute; box-sizing: border-box; padding: 10px 12px; border: 1px solid #969580; background: #152527; color: #e8dfbe; font-family: var(--font-data); font-size: clamp(10px, 1vw, 14px); line-height: 1.4; }
.native-encounter-panel[data-active="true"] { border-color: #e4c989; }
.native-encounter-panel strong { display: block; font-family: var(--font-label); font-size: clamp(11px, 1.2vw, 17px); margin: 5px 0 8px; }
.native-encounter-hp { display: flex; gap: 3px; margin: 6px 0; }
.native-encounter-hp i { flex: 1; height: 7px; background: #374742; border: 1px solid #66726a; }
.native-encounter-hp .is-full { background: #aebe84; }
.native-encounter-hp .is-lost { background: #c66b52; }
.native-encounter-callout { position: absolute; margin: 0; padding: 5px 11px; border: 1px solid #989b83; background: #152527; color: #eee0ac; font-family: var(--font-label); font-size: clamp(14px, 2vw, 27px); line-height: 1.25; text-align: center; white-space: nowrap; }
.native-encounter-callout[data-kind="damage"] { color: #efab82; }
.native-encounter-callout[data-kind="shield"] { color: #a7d5de; }
.native-encounter-callout[data-kind="score"] { color: #d8d898; }
.native-encounter-skip { position: absolute; right: 12px; top: 12px; min-width: 44px; min-height: 44px; padding: 7px 10px; border: 1px solid #989b83; background: #152527; color: #e8dfbe; font: 12px var(--font-label); pointer-events: auto; cursor: pointer; }
.native-encounter-skip:focus-visible { outline: 2px solid #e4c989; outline-offset: 3px; }
.native-encounter-card { position: fixed; z-index: 184; pointer-events: none; margin: 0; transform-origin: 50% 50%; outline: 2px solid #e4c989; outline-offset: 2px; }
.native-encounter-card,
.native-encounter-card *,
.native-encounter-card::before,
.native-encounter-card::after,
.native-encounter-card *::before,
.native-encounter-card *::after,
.native-encounter-hud button,
.native-encounter-hud button::before,
.native-encounter-hud button::after { text-shadow: none !important; box-shadow: none !important; filter: none !important; backdrop-filter: none !important; background-image: none !important; animation: none !important; transition: none !important; }
.native-encounter-hud [hidden] { display: none; }
@media (max-height: 450px) { .native-encounter-panel { padding: 5px 7px; } .native-encounter-panel strong { margin: 2px 0; } .native-encounter-hp { margin: 3px 0; } }
