/* Inner hulls turn and bank; the existing world anchor and target remain fixed. */
.npc.ndpActive .ndpVisual{position:absolute;left:50%;top:-16px;width:88px;height:66px;transform:translateX(-50%) rotate(var(--ndp-heading,0deg));transform-origin:center;transition:transform .75s ease;pointer-events:none;z-index:4}
.npc.ndpActive .npcSectorRaider{top:-34px}
.npc.ndpActive .ndpHull{display:block;position:relative;width:100%;height:100%;transform:perspective(600px) rotateX(14deg) rotateY(var(--ndp-bank,0deg));pointer-events:none}
.npc.ndpActive .ndpHull>.npcSprite{left:0!important;top:0!important;width:100%!important;height:100%!important;transform:none!important;object-fit:contain!important;filter:brightness(1.14) contrast(1.04) drop-shadow(0 5px 2px #000b)!important;animation:none!important;transition:none!important}
.npc.ndpActive.selected .ndpHull>.npcSprite,.npc.ndpActive.inBattle .ndpHull>.npcSprite{filter:brightness(1.22) contrast(1.04) drop-shadow(0 4px 2px #000c) drop-shadow(0 0 2px currentColor)!important}
.npc.ndpActive[data-ndp-template="7"] .npcSprite{-webkit-mask:url('/assets/hostile-npcs-v6202/sovereign-hull-mask.svg') center/contain no-repeat;mask:url('/assets/hostile-npcs-v6202/sovereign-hull-mask.svg') center/contain no-repeat}
.ndpHardware{position:absolute;inset:0;width:100%;height:100%;z-index:5;pointer-events:none;overflow:visible}
.ndpFacetLight{fill:#d9f5ff;opacity:.13}.ndpFacetShade{fill:#010308;opacity:.22}
.ndpCoreHalo{fill:#ff491f;opacity:.22}.ndpCore{fill:#fff4bd}.ndpPort{fill:#ffe9bc}.ndpExhaust{fill:#ff542c;opacity:.75}.ndpHotExhaust{fill:#fff0b5}
.ndpReactor{animation:ndpCoreGlow 3.2s ease-in-out var(--ndp-phase,0s) infinite}
.ndpThrust{display:none;animation:ndpJetPulse .46s ease-in-out var(--ndp-phase,0s) infinite alternate}
.npc.ndpActive[data-npc-patrol-moving="true"] .ndpThrust{display:block}
.npc.ndpActive[data-ndp-paused="true"] .ndpReactor,.npc.ndpActive[data-ndp-paused="true"] .ndpThrust{animation:none}
.npc.ndpActive[data-ndp-paused="true"] .ndpThrust,.npc.ndpActive.destroyed .ndpHardware{display:none!important}
.npc.ndpActive[data-ndp-paused="true"] .ndpVisual{transition:none}
@keyframes ndpCoreGlow{0%,100%{opacity:.48}45%{opacity:1}}
@keyframes ndpJetPulse{from{opacity:.44}to{opacity:.92}}
@media(max-width:500px){.npc.ndpActive .ndpVisual{width:78px;height:58px;top:-16px}}
@media(prefers-reduced-motion:reduce){.npc.ndpActive .ndpVisual{transition:none}.ndpReactor,.ndpThrust{animation:none!important}.npc.ndpActive .ndpThrust{display:none!important}}
