/* V33.4: one screen-sized background; camera and transitions affect objects only. */
html[data-screen="map"] #scene-root{background:#060d18}
html[data-screen="map"] #scene-root:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 55% 48%,#06101cb8,#030913dc),url('assets/star_map.webp') center/cover no-repeat;transform:none;animation:none}
html[data-screen="map"] #scene-root>.system-scene,
html[data-screen="map"] #scene-root>.region-scene{position:absolute;inset:0;width:100%;height:100%;min-width:0;min-height:0;margin:0;border:0;border-radius:0;box-shadow:none;background:transparent;overflow:hidden;transform:none;animation:none;isolation:auto}
html[data-screen="map"] .system-scene:before,
html[data-screen="map"] .region-scene:before{content:none}
html[data-screen="map"] #scene-root .scene-objects{position:absolute;inset:auto;min-width:0;min-height:0;max-width:none;display:block;overflow:visible;background:transparent;transform-origin:50% 50%;transition:none}
html[data-screen="map"] .scene-heading{max-width:calc(100vw - 180px)}
@media(max-width:760px){html[data-screen="map"] .scene-heading{max-width:calc(100vw - 36px)}}

/* V33.7: camera projection, travel and heading have separate compositor layers. */
.pirate-patrol-layer{position:absolute;left:0;top:0;width:0;height:0;z-index:3;transform-origin:0 0;pointer-events:none;will-change:transform;transition:none}
.pirate-marker{position:absolute;left:0;top:0;z-index:3;width:96px;height:106px;margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;color:#d8e6f0;transform-origin:0 0;will-change:transform;cursor:pointer;text-align:center;overflow:visible;pointer-events:auto;transition:none}
.pirate-marker:hover{background:none}
.pirate-marker-ring{position:absolute;left:16px;top:6px;width:64px;height:64px;border:1px dashed #b5765555;border-radius:50%;pointer-events:none}
.pirate-marker:hover .pirate-marker-ring,.pirate-marker.selected .pirate-marker-ring,.pirate-marker:focus-visible .pirate-marker-ring{border-color:#ffc38d;box-shadow:0 0 12px #db804533}
.pirate-raider{position:absolute;left:18px;top:8px;width:60px;height:60px;object-fit:contain;pointer-events:none;will-change:transform;transform-origin:50% 50%;transition:none}
.pirate-raider.raid-inactive{opacity:.35;filter:grayscale(1)}
.pirate-marker-name,.pirate-marker-status{position:absolute;left:50%;transform:translateX(-50%);white-space:nowrap;pointer-events:none;text-shadow:0 1px 4px #02060b,0 0 4px #02060b}
.pirate-marker-name{top:76px;font:10px system-ui}
.pirate-marker-status{top:92px;font:8px system-ui;letter-spacing:.1em;color:#afbdc8}
html[data-labels-state="off"] .pirate-marker-name,html[data-labels-state="off"] .pirate-marker-status{opacity:0}
html[data-labels-state="off"] .pirate-marker:is(:hover,:focus-visible,.selected) .pirate-marker-name,
html[data-labels-state="off"] .pirate-marker:is(:hover,:focus-visible,.selected) .pirate-marker-status{opacity:1}
html[data-hud="hidden"] .pirate-marker-name,html[data-hud="hidden"] .pirate-marker-status{visibility:hidden}
/* Keep decorative SVG paint static while the pirate marker animates on its own layer. */
.system-scene .solar-glow,.system-scene .flight-path{animation:none}
.system-scene .planet-sprite,.system-scene .space-sprite,
html[data-screen="map"] .res-icon{filter:none}
html[data-screen="map"] .panel,html[data-screen="map"] .command-toggle,
html[data-screen="map"] .context-panel,html[data-screen="map"] .context-cap,
html[data-screen="map"] .movement-row{backdrop-filter:none;-webkit-backdrop-filter:none}

/* V39.18: racial movement sprites; heading is computed from the same route as position. */
.fleet-movement-sprite{pointer-events:none}
.movement-ship-art{filter:drop-shadow(0 1px 2px #000c);image-rendering:auto}
